From cd30cdb18cadc2525618a111ca657d2ed18bc3f3 Mon Sep 17 00:00:00 2001 From: Tobias <tm@tm3d.de> Date: Thu, 15 Oct 2015 15:31:17 +0200 Subject: [PATCH] same .S files for same device in common folder --- DS18B20_BMP280/DS18B20_BMP280.cproj | 127 +++---- DS18B20_BMP280/OWDS18B20.S | 241 ------------ .../DS18B20_BMP280_DS2438_SHT.cproj | 5 +- DS18B20_BMP280_DS2438_SHT/DS18B20_DS2438.c | 1 - .../DS18B20_DS2438_6_2.atsln | 20 - .../DS18B20_DS2438_6_2.cproj | 143 ------- DS18B20_BMP280_DS2438_SHT/OWDS18B20_DS2438.S | 355 ------------------ DS18B20_MAX44009/DS18B20_MAX44009.cproj | 127 +++---- DS18B20_MAX44009/OWDS18B20.S | 241 ------------ .../DS18B20_DS2438_6_2.atsln | 20 - .../DS18B20_DS2438_6_2.cproj | 143 ------- .../DS18B20_MAX44009_DS2438_SHT.cproj | 5 +- .../OWDS18B20_DS2438.S | 354 ----------------- DS18B20_Thermocouble/DS18B20_TC.cproj | 125 +++--- DS18B20_Thermocouble/OWDS18B20.S | 243 ------------ 15 files changed, 197 insertions(+), 1953 deletions(-) delete mode 100644 DS18B20_BMP280/OWDS18B20.S delete mode 100644 DS18B20_BMP280_DS2438_SHT/DS18B20_DS2438_6_2.atsln delete mode 100644 DS18B20_BMP280_DS2438_SHT/DS18B20_DS2438_6_2.cproj delete mode 100644 DS18B20_BMP280_DS2438_SHT/OWDS18B20_DS2438.S delete mode 100644 DS18B20_MAX44009/OWDS18B20.S delete mode 100644 DS18B20_MAX44009_DS2438_SHT/DS18B20_DS2438_6_2.atsln delete mode 100644 DS18B20_MAX44009_DS2438_SHT/DS18B20_DS2438_6_2.cproj delete mode 100644 DS18B20_MAX44009_DS2438_SHT/OWDS18B20_DS2438.S delete mode 100644 DS18B20_Thermocouble/OWDS18B20.S diff --git a/DS18B20_BMP280/DS18B20_BMP280.cproj b/DS18B20_BMP280/DS18B20_BMP280.cproj index a6eb656..972c6c0 100644 --- a/DS18B20_BMP280/DS18B20_BMP280.cproj +++ b/DS18B20_BMP280/DS18B20_BMP280.cproj @@ -67,71 +67,71 @@ <PropertyGroup Condition=" '$(Configuration)' == 'Release' "> <ToolchainSettings> <AvrGcc> - <avrgcc.common.Device>-mmcu=attiny84a -B "%24(PackRepoDir)\atmel\ATtiny_DFP\1.0.68\gcc\dev\attiny84a"</avrgcc.common.Device> - <avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex> - <avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss> - <avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep> - <avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec> - <avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures> - <avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned> - <avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned> - <avrgcc.compiler.symbols.DefSymbols> - <ListValues> - <Value>DEBUG</Value> - </ListValues> - </avrgcc.compiler.symbols.DefSymbols> - <avrgcc.compiler.directories.IncludePaths> - <ListValues> - <Value>%24(PackRepoDir)\atmel\ATtiny_DFP\1.0.68\include</Value> - </ListValues> - </avrgcc.compiler.directories.IncludePaths> - <avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level> - <avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers> - <avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum> - <avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel> - <avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings> - <avrgcc.linker.libraries.Libraries> - <ListValues> - <Value>libm</Value> - </ListValues> - </avrgcc.linker.libraries.Libraries> - <avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel> -</AvrGcc> + <avrgcc.common.Device>-mmcu=attiny84a -B "%24(PackRepoDir)\atmel\ATtiny_DFP\1.0.68\gcc\dev\attiny84a"</avrgcc.common.Device> + <avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex> + <avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss> + <avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep> + <avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec> + <avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures> + <avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned> + <avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned> + <avrgcc.compiler.symbols.DefSymbols> + <ListValues> + <Value>DEBUG</Value> + </ListValues> + </avrgcc.compiler.symbols.DefSymbols> + <avrgcc.compiler.directories.IncludePaths> + <ListValues> + <Value>%24(PackRepoDir)\atmel\ATtiny_DFP\1.0.68\include</Value> + </ListValues> + </avrgcc.compiler.directories.IncludePaths> + <avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level> + <avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers> + <avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum> + <avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel> + <avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings> + <avrgcc.linker.libraries.Libraries> + <ListValues> + <Value>libm</Value> + </ListValues> + </avrgcc.linker.libraries.Libraries> + <avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel> + </AvrGcc> </ToolchainSettings> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> <ToolchainSettings> <AvrGcc> - <avrgcc.common.Device>-mmcu=attiny84a -B "%24(PackRepoDir)\atmel\ATtiny_DFP\1.0.68\gcc\dev\attiny84a"</avrgcc.common.Device> - <avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex> - <avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss> - <avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep> - <avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec> - <avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures> - <avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned> - <avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned> - <avrgcc.compiler.symbols.DefSymbols> - <ListValues> - <Value>DEBUG</Value> - </ListValues> - </avrgcc.compiler.symbols.DefSymbols> - <avrgcc.compiler.directories.IncludePaths> - <ListValues> - <Value>%24(PackRepoDir)\atmel\ATtiny_DFP\1.0.68\include</Value> - </ListValues> - </avrgcc.compiler.directories.IncludePaths> - <avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level> - <avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers> - <avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum> - <avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel> - <avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings> - <avrgcc.linker.libraries.Libraries> - <ListValues> - <Value>libm</Value> - </ListValues> - </avrgcc.linker.libraries.Libraries> - <avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel> -</AvrGcc> + <avrgcc.common.Device>-mmcu=attiny84a -B "%24(PackRepoDir)\atmel\ATtiny_DFP\1.0.68\gcc\dev\attiny84a"</avrgcc.common.Device> + <avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex> + <avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss> + <avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep> + <avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec> + <avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures> + <avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned> + <avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned> + <avrgcc.compiler.symbols.DefSymbols> + <ListValues> + <Value>DEBUG</Value> + </ListValues> + </avrgcc.compiler.symbols.DefSymbols> + <avrgcc.compiler.directories.IncludePaths> + <ListValues> + <Value>%24(PackRepoDir)\atmel\ATtiny_DFP\1.0.68\include</Value> + </ListValues> + </avrgcc.compiler.directories.IncludePaths> + <avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level> + <avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers> + <avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum> + <avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel> + <avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings> + <avrgcc.linker.libraries.Libraries> + <ListValues> + <Value>libm</Value> + </ListValues> + </avrgcc.linker.libraries.Libraries> + <avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel> + </AvrGcc> </ToolchainSettings> </PropertyGroup> <ItemGroup> @@ -139,6 +139,10 @@ <SubType>compile</SubType> <Link>BMP280.c</Link> </Compile> + <Compile Include="..\common\OWDS18B20.S"> + <SubType>compile</SubType> + <Link>OWDS18B20.S</Link> + </Compile> <Compile Include="D:\oc\dev\owSlave2\common\I2C\USI_TWI_Master.c"> <SubType>compile</SubType> <Link>USI_TWI_Master.c</Link> @@ -146,9 +150,6 @@ <Compile Include="DS18B20_BMP280.c"> <SubType>compile</SubType> </Compile> - <Compile Include="OWDS18B20.S"> - <SubType>compile</SubType> - </Compile> </ItemGroup> <Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Compiler.targets" /> </Project> \ No newline at end of file diff --git a/DS18B20_BMP280/OWDS18B20.S b/DS18B20_BMP280/OWDS18B20.S deleted file mode 100644 index f0331cf..0000000 --- a/DS18B20_BMP280/OWDS18B20.S +++ /dev/null @@ -1,241 +0,0 @@ - -// Copyright (c) 2015, Tobias Mueller tm(at)tm3d.de -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the -// distribution. -// * All advertising materials mentioning features or use of this -// software must display the following acknowledgement: This product -// includes software developed by tm3d.de and its contributors. -// * Neither the name of tm3d.de nor the names of its contributors may -// be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#define _CHANGEABLE_ID_ -#define _ZERO_POLLING_ - -#include "../common/OWConfig.s" -#include "../common/OWCRC8.s" - -.extern pack,8 - -//.extern am2302_temp,2 - - - -.macro CHIP_INIT -Init_EEPROM_read: - sbic _SFR_IO_ADDR(EECR), EEPE - rjmp Init_EEPROM_read - ldi r_temp,0 - out _SFR_IO_ADDR(EEARH), r_temp - ldi r_temp,2 - out _SFR_IO_ADDR(EEARL), r_temp - sbi _SFR_IO_ADDR(EECR), EERE - in r_temp,_SFR_IO_ADDR(EEDR) - sbrs r_temp,7 - rcall hrc_recall_eeprom_func -.endm - -.macro COMMAND_TABLE - rjmp h_readscratchpad - rjmp h_writescratchpad - rjmp h_convert_run -.endm - -#include "../common/OWRomFunctions.s" -#include "../common/OWTimerInterrupt.s" - - - -; Ab hier Geraeteabhaenging -#define OW_READ_SCRATCHPAD OW_FIRST_COMMAND+0 -#define OW_WRITE_SCRATCHPAD OW_FIRST_COMMAND+1 -#define OW_CONVERT_RUN OW_FIRST_COMMAND+2 - - -;--------------------------------------------------- -; READ COMMAND and start operation -;--------------------------------------------------- - - -h_readcommand: - clr r_bytep -#ifndef _DIS_FLASH_ - FLASH_COMMANDS ; muss zu erst sein.... -#endif - cjmp 0xBE,hrc_set_readscratchpad - cjmp 0x4E,hrc_set_writescratchpad - cjmp 0x44,hrc_set_convertT - cjmp 0x48,hrc_copy_scratchpad - cjmp 0xB8,hrc_recall_eeprom - FW_CONFIG_INFO -#ifdef _CHANGEABLE_ID_ - CHANGE_ID_COMMANDS -#endif - //ldi r_mode,OW_SLEEP - rjmp handle_end_sleep - -hrc_set_readscratchpad: - ldi r_mode,OW_READ_SCRATCHPAD - ldi r_sendflag,1 - CRCInit2 - rjmp h_readscratchpad - -hrc_set_writescratchpad: - ldi r_mode,OW_WRITE_SCRATCHPAD - ldi r_bytep,2 ;start to write in 2 - rjmp handle_end - -hrc_recall_eeprom: - rcall hrc_recall_eeprom_func - rjmp handle_end - - - -hrc_set_convertT: - ldi r_temp,1 - sts gcontrol,r_temp - ;lds temp,am2302_temp - //sts pack+1,temp - ;lds temp,am2302_temp+1 - //sts pack+2,temp -; ldi r_rwbyte,0 -; lds r_temp,pack -; swap r_temp -; andi r_temp,0x0F -; lds r_temp2,pack+1 -; swap r_temp2 -; andi r_temp2,0xF0 -; or r_temp,r_temp2 -; lds r_temp2,pack+2 -; cp r_temp,r_temp2 ;higher than or equal to TH -; brge hrc_set_convertT_set_arlarm -; lds r_temp2,pack+3 -; cp r_temp,r_temp2 ;lower than or equal to TL -; brlt hrc_set_convertT_set_arlarm -; breq hrc_set_convertT_set_arlarm -; rjmp hrc_set_convertT_end -;hrc_set_convertT_set_arlarm: -; ldi r_rwbyte,1 -;hrc_set_convertT_end: -; sts alarmflag,r_rwbyte - ldi r_mode,OW_CONVERT_RUN - ldi r_sendflag,3 ;set bit 0 and 1 for no zero polling -h_convert_run: - ldi r_bcount,0 - ldi r_rwbyte,0 - rjmp handle_end_no_bcount - -hrc_copy_scratchpad: - ldi r_bytep,2 - configZ pack,r_bytep - clr r_bytep -hrc_copy_scratchpad_EEPROM_write: - sbic _SFR_IO_ADDR(EECR), EEPE - rjmp hrc_copy_scratchpad_EEPROM_write - ldi r_temp, (0<<EEPM1)|(0<<EEPM0) - out _SFR_IO_ADDR(EECR), r_temp - ldi r_temp,0 - out _SFR_IO_ADDR(EEARH),r_temp - out _SFR_IO_ADDR(EEARL), r_bytep - ld r_rwbyte,Z+ - out _SFR_IO_ADDR(EEDR), r_rwbyte - sbi _SFR_IO_ADDR(EECR), EEMPE - sbi _SFR_IO_ADDR(EECR), EEPE - inc r_bytep - cpi r_bytep,3 - brne hrc_copy_scratchpad_EEPROM_write - rjmp handle_end - - -hrc_recall_eeprom_func: - ldi r_bytep,2 - configZ pack,r_bytep - clr r_bytep - clr r_temp -hrc_recall_eeprom_EEPROM_read: - sbic _SFR_IO_ADDR(EECR), EEPE - rjmp hrc_recall_eeprom_EEPROM_read - out _SFR_IO_ADDR(EEARH), r_temp - out _SFR_IO_ADDR(EEARL), r_bytep - sbi _SFR_IO_ADDR(EECR), EERE - in r_rwbyte,_SFR_IO_ADDR(EEDR) - st Z+,r_rwbyte - inc r_bytep - cpi r_bytep,3 - brne hrc_recall_eeprom_EEPROM_read - ret - - - - - - -;--------------------------------------------------- -; READ SCRATCHPAD -;--------------------------------------------------- - -h_readscratchpad: - cpi r_bytep,8 - breq h_readscratchpad_crc - cpi r_bytep,9 - breq h_readscratchpad_all - configZ pack,r_bytep - ld r_rwbyte,Z - rjmp h_readscratchpad_endc -h_readscratchpad_crc: - lds r_rwbyte,crc -h_readscratchpad_endc: - inc r_bytep - ldi r_bcount,1 - rjmp handle_end -h_readscratchpad_all: - rjmp handle_end_sleep - - - - - -;--------------------------------------------------- -; WRITE SCRATCHPAD -;--------------------------------------------------- - -h_writescratchpad: - configZ pack,r_bytep - inc r_bytep - cpi r_bytep,5 - breq h_writescratchpad_all - st Z,r_rwbyte - rjmp handle_end -h_writescratchpad_all: - ori r_rwbyte,0x1F ; Alle unteren Bits sind immer 1 - st Z,r_rwbyte - rjmp handle_end_sleep - - - - - -#include "../common/OWPinInterrupt.s" -.end \ No newline at end of file diff --git a/DS18B20_BMP280_DS2438_SHT/DS18B20_BMP280_DS2438_SHT.cproj b/DS18B20_BMP280_DS2438_SHT/DS18B20_BMP280_DS2438_SHT.cproj index 7124151..fe91bf9 100644 --- a/DS18B20_BMP280_DS2438_SHT/DS18B20_BMP280_DS2438_SHT.cproj +++ b/DS18B20_BMP280_DS2438_SHT/DS18B20_BMP280_DS2438_SHT.cproj @@ -147,10 +147,11 @@ <SubType>compile</SubType> <Link>USI_TWI_Master.c</Link> </Compile> - <Compile Include="DS18B20_DS2438.c"> + <Compile Include="D:\oc\dev\owSlave2\common\OWDS18B20_DS2438.S"> <SubType>compile</SubType> + <Link>OWDS18B20_DS2438.S</Link> </Compile> - <Compile Include="OWDS18B20_DS2438.S"> + <Compile Include="DS18B20_DS2438.c"> <SubType>compile</SubType> </Compile> </ItemGroup> diff --git a/DS18B20_BMP280_DS2438_SHT/DS18B20_DS2438.c b/DS18B20_BMP280_DS2438_SHT/DS18B20_DS2438.c index 8d995eb..5b98b1c 100644 --- a/DS18B20_BMP280_DS2438_SHT/DS18B20_DS2438.c +++ b/DS18B20_BMP280_DS2438_SHT/DS18B20_DS2438.c @@ -1,4 +1,3 @@ - // Copyright (c) 2015, Tobias Mueller tm(at)tm3d.de // All rights reserved. // diff --git a/DS18B20_BMP280_DS2438_SHT/DS18B20_DS2438_6_2.atsln b/DS18B20_BMP280_DS2438_SHT/DS18B20_DS2438_6_2.atsln deleted file mode 100644 index adaf496..0000000 --- a/DS18B20_BMP280_DS2438_SHT/DS18B20_DS2438_6_2.atsln +++ /dev/null @@ -1,20 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Atmel Studio Solution File, Format Version 11.00 -Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "DS18B20_DS2438", "DS18B20_DS2438_6_2.cproj", "{7A5672FE-8226-4158-B931-E1F36B9A8858}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|AVR = Debug|AVR - Release|AVR = Release|AVR - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7A5672FE-8226-4158-B931-E1F36B9A8858}.Debug|AVR.ActiveCfg = Debug|AVR - {7A5672FE-8226-4158-B931-E1F36B9A8858}.Debug|AVR.Build.0 = Debug|AVR - {7A5672FE-8226-4158-B931-E1F36B9A8858}.Release|AVR.ActiveCfg = Release|AVR - {7A5672FE-8226-4158-B931-E1F36B9A8858}.Release|AVR.Build.0 = Release|AVR - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/DS18B20_BMP280_DS2438_SHT/DS18B20_DS2438_6_2.cproj b/DS18B20_BMP280_DS2438_SHT/DS18B20_DS2438_6_2.cproj deleted file mode 100644 index dec1c59..0000000 --- a/DS18B20_BMP280_DS2438_SHT/DS18B20_DS2438_6_2.cproj +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <PropertyGroup> - <SchemaVersion>2.0</SchemaVersion> - <ProjectVersion>6.2</ProjectVersion> - <ToolchainName>com.Atmel.AVRGCC8.C</ToolchainName> - <ProjectGuid>{7a5672fe-8226-4158-b931-e1f36b9a8858}</ProjectGuid> - <avrdevice>ATtiny84A</avrdevice> - <avrdeviceseries>none</avrdeviceseries> - <OutputType>Executable</OutputType> - <Language>C</Language> - <OutputFileName>$(MSBuildProjectName)</OutputFileName> - <OutputFileExtension>.elf</OutputFileExtension> - <OutputDirectory>$(MSBuildProjectDirectory)\$(Configuration)</OutputDirectory> - <AssemblyName>DS18B20_DS2438</AssemblyName> - <Name>DS18B20_DS2438</Name> - <RootNamespace>DS18B20_DS2438</RootNamespace> - <ToolchainFlavour>Native</ToolchainFlavour> - <KeepTimersRunning>true</KeepTimersRunning> - <OverrideVtor>false</OverrideVtor> - <CacheFlash>true</CacheFlash> - <ProgFlashFromRam>true</ProgFlashFromRam> - <RamSnippetAddress>0x20000000</RamSnippetAddress> - <UncachedRange /> - <preserveEEPROM>true</preserveEEPROM> - <OverrideVtorValue>exception_table</OverrideVtorValue> - <BootSegment>2</BootSegment> - <eraseonlaunchrule>1</eraseonlaunchrule> - <AsfFrameworkConfig> - <framework-data xmlns=""> - <options /> - <configurations /> - <files /> - <documentation help="" /> - <offline-documentation help="" /> - <dependencies> - <content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.19.0" /> - </dependencies> - </framework-data> - </AsfFrameworkConfig> - <avrtool>com.atmel.avrdbg.tool.atmelice</avrtool> - <com_atmel_avrdbg_tool_atmelice> - <ToolOptions> - <InterfaceProperties> - </InterfaceProperties> - <InterfaceName>debugWIRE</InterfaceName> - </ToolOptions> - <ToolType>com.atmel.avrdbg.tool.atmelice</ToolType> - <ToolNumber>J41800000779</ToolNumber> - <ToolName>Atmel-ICE</ToolName> - </com_atmel_avrdbg_tool_atmelice> - <avrtoolinterface>debugWIRE</avrtoolinterface> - <com_atmel_avrdbg_tool_simulator> - <ToolOptions> - <InterfaceProperties> - </InterfaceProperties> - <InterfaceName> - </InterfaceName> - </ToolOptions> - <ToolType>com.atmel.avrdbg.tool.simulator</ToolType> - <ToolNumber> - </ToolNumber> - <ToolName>Simulator</ToolName> - </com_atmel_avrdbg_tool_simulator> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)' == 'Release' "> - <ToolchainSettings> - <AvrGcc> - <avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex> - <avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss> - <avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep> - <avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec> - <avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures> - <avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned> - <avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned> - <avrgcc.compiler.symbols.DefSymbols> - <ListValues> - <Value>NDEBUG</Value> - </ListValues> - </avrgcc.compiler.symbols.DefSymbols> - <avrgcc.compiler.optimization.level>Optimize for size (-Os)</avrgcc.compiler.optimization.level> - <avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers> - <avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum> - <avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings> - <avrgcc.linker.libraries.Libraries> - <ListValues> - <Value>libm</Value> - </ListValues> - </avrgcc.linker.libraries.Libraries> - </AvrGcc> - </ToolchainSettings> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> - <ToolchainSettings> - <AvrGcc> - <avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex> - <avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss> - <avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep> - <avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec> - <avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures> - <avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned> - <avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned> - <avrgcc.compiler.symbols.DefSymbols> - <ListValues> - <Value>DEBUG</Value> - </ListValues> - </avrgcc.compiler.symbols.DefSymbols> - <avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level> - <avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers> - <avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum> - <avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel> - <avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings> - <avrgcc.linker.libraries.Libraries> - <ListValues> - <Value>libm</Value> - </ListValues> - </avrgcc.linker.libraries.Libraries> - <avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel> - </AvrGcc> - </ToolchainSettings> - </PropertyGroup> - <ItemGroup> - <Compile Include="..\common\I2C\SHT2x.c"> - <SubType>compile</SubType> - <Link>SHT2x.c</Link> - </Compile> - <Compile Include="D:\oc\dev\owSlave2\common\I2C\MAX44009.c"> - <SubType>compile</SubType> - <Link>MAX44009.c</Link> - </Compile> - <Compile Include="D:\oc\dev\owSlave2\common\I2C\USI_TWI_Master.c"> - <SubType>compile</SubType> - <Link>USI_TWI_Master.c</Link> - </Compile> - <Compile Include="DS18B20_DS2438.c"> - <SubType>compile</SubType> - </Compile> - <Compile Include="OWDS18B20_DS2438.S"> - <SubType>compile</SubType> - </Compile> - </ItemGroup> - <Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Compiler.targets" /> -</Project> \ No newline at end of file diff --git a/DS18B20_BMP280_DS2438_SHT/OWDS18B20_DS2438.S b/DS18B20_BMP280_DS2438_SHT/OWDS18B20_DS2438.S deleted file mode 100644 index e67690a..0000000 --- a/DS18B20_BMP280_DS2438_SHT/OWDS18B20_DS2438.S +++ /dev/null @@ -1,355 +0,0 @@ - -// Copyright (c) 2015, Tobias Mueller tm(at)tm3d.de -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the -// distribution. -// * All advertising materials mentioning features or use of this -// software must display the following acknowledgement: This product -// includes software developed by tm3d.de and its contributors. -// * Neither the name of tm3d.de nor the names of its contributors may -// be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#define _CHANGEABLE_ID_ -#define _ZERO_POLLING_ -#define _DB_ - -#include "../common/OWConfig.s" -#include "../common/OWCRC8.s" - -.extern pack1,8 - -//.extern am2302_temp,2 - -#if defined(__AVR_ATtiny25__) -.extern pack2,16 -#else -.extern pack2,64 -#endif -.extern am2302_temp,2 -.extern am2302_hum,2 -.comm block,1 ; Block der augegeben, geschrieben wird (Parameter von READ/WRITE Scratchpad) - - -.macro CHIP_INIT -Init_EEPROM_read: - sbic _SFR_IO_ADDR(EECR), EEPE - rjmp Init_EEPROM_read - ldi r_temp,0 - out _SFR_IO_ADDR(EEARH), r_temp - ldi r_temp,2 - out _SFR_IO_ADDR(EEARL), r_temp - sbi _SFR_IO_ADDR(EECR), EERE - in r_temp,_SFR_IO_ADDR(EEDR) - sbrs r_temp,7 - rcall hrc_recall_eeprom_func1 -.endm - -.macro COMMAND_TABLE - rjmp h_readscratchpad1 - rjmp h_writescratchpad1 - rjmp h_convert_run1 - rjmp h_readscratchpad_adr2 - rjmp h_readscratchpad2 - rjmp h_writescratchpad_adr2 - rjmp h_writescratchpad2 -.endm - -#include "../common/OWRomFunctionsDual.s" -#include "../common/OWTimerInterrupt.s" - - - -; Ab hier Geraeteabhaenging -#define OW_READ_SCRATCHPAD1 OW_FIRST_COMMAND+0 -#define OW_WRITE_SCRATCHPAD1 OW_FIRST_COMMAND+1 -#define OW_CONVERT_RUN1 OW_FIRST_COMMAND+2 -#define OW_READ_SCRATCHPAD_ADR2 OW_FIRST_COMMAND+3 -#define OW_READ_SCRATCHPAD2 OW_FIRST_COMMAND+4 -#define OW_WRITE_SCRATCHPAD_ADR2 OW_FIRST_COMMAND+5 -#define OW_WRITE_SCRATCHPAD2 OW_FIRST_COMMAND+6 - - - -;--------------------------------------------------- -; READ COMMAND and start operation -;--------------------------------------------------- - - -h_readcommand1: - clr r_bytep -#ifndef _DIS_FLASH_ - FLASH_COMMANDS ; muss zu erst sein.... -#endif - cjmp 0xBE,hrc_set_readscratchpad1 - cjmp 0x4E,hrc_set_writescratchpad1 - cjmp 0x44,hrc_set_convertT1 - cjmp 0x48,hrc_copy_scratchpad1 - cjmp 0xB8,hrc_recall_eeprom1 - FW_CONFIG_INFO1 -#ifdef _CHANGEABLE_ID_ - CHANGE_ID_COMMANDS -#endif - ldi r_mode,OW_SLEEP - rjmp handle_end - -hrc_set_readscratchpad1: - ldi r_mode,OW_READ_SCRATCHPAD1 - ldi r_sendflag,1 - CRCInit2 - rjmp h_readscratchpad1 - -hrc_set_writescratchpad1: - ldi r_mode,OW_WRITE_SCRATCHPAD1 - ldi r_bytep,2 ;start to write in 2 - rjmp handle_end - -hrc_recall_eeprom1: - rcall hrc_recall_eeprom_func1 - rjmp handle_end - - - -hrc_set_convertT1: - ldi r_temp,1 - sts gcontrol,r_temp - - ldi r_mode,OW_CONVERT_RUN1 - ldi r_sendflag,3 ;set bit 0 and 1 for no zero polling -h_convert_run1: - ldi r_bcount,0 - ldi r_rwbyte,0 - rjmp handle_end_no_bcount - - -hrc_copy_scratchpad1: - ldi r_bytep,2 - configZ pack1,r_bytep - clr r_bytep -hrc_copy_scratchpad_EEPROM_write1: - sbic _SFR_IO_ADDR(EECR), EEPE - rjmp hrc_copy_scratchpad_EEPROM_write1 - ldi r_temp, (0<<EEPM1)|(0<<EEPM0) - out _SFR_IO_ADDR(EECR), r_temp - ldi r_temp,0 - out _SFR_IO_ADDR(EEARH),r_temp - out _SFR_IO_ADDR(EEARL), r_bytep - ld r_rwbyte,Z+ - out _SFR_IO_ADDR(EEDR), r_rwbyte - sbi _SFR_IO_ADDR(EECR), EEMPE - sbi _SFR_IO_ADDR(EECR), EEPE - inc r_bytep - cpi r_bytep,3 - brne hrc_copy_scratchpad_EEPROM_write1 - rjmp handle_end - - -hrc_recall_eeprom_func1: - ldi r_bytep,2 - configZ pack1,r_bytep - clr r_bytep - clr r_temp -hrc_recall_eeprom_EEPROM_read1: - sbic _SFR_IO_ADDR(EECR), EEPE - rjmp hrc_recall_eeprom_EEPROM_read1 - out _SFR_IO_ADDR(EEARH), r_temp - out _SFR_IO_ADDR(EEARL), r_bytep - sbi _SFR_IO_ADDR(EECR), EERE - in r_rwbyte,_SFR_IO_ADDR(EEDR) - st Z+,r_rwbyte - inc r_bytep - cpi r_bytep,3 - brne hrc_recall_eeprom_EEPROM_read1 - ret - - - - - - -;--------------------------------------------------- -; READ SCRATCHPAD -;--------------------------------------------------- - -h_readscratchpad1: - cpi r_bytep,8 - breq h_readscratchpad_crc1 - cpi r_bytep,9 - breq h_readscratchpad_all1 - configZ pack1,r_bytep - ld r_rwbyte,Z - rjmp h_readscratchpad_endc1 -h_readscratchpad_crc1: - lds r_rwbyte,crc -h_readscratchpad_endc1: - inc r_bytep - ldi r_bcount,1 - rjmp handle_end -h_readscratchpad_all1: - rjmp handle_end_sleep - - - - - -;--------------------------------------------------- -; WRITE SCRATCHPAD -;--------------------------------------------------- - -h_writescratchpad1: - configZ pack1,r_bytep - inc r_bytep - cpi r_bytep,5 - breq h_writescratchpad_all1 - st Z,r_rwbyte - rjmp handle_end -h_writescratchpad_all1: - ori r_rwbyte,0x1F ; Alle unteren Bits sind immer 1 - st Z,r_rwbyte - rjmp handle_end_sleep - -;***************************************************************************************************************************************************************************************** -;***************************************************************************************************************************************************************************************** -;***************************************************************************************************************************************************************************************** -;***************************************************************************************************************************************************************************************** -;***************************************************************************************************************************************************************************************** - - - - - -h_readcommand2: - clr r_bytep -#ifndef _DIS_FLASH_ - FLASH_COMMANDS ; muss zu erst sein.... -#endif - cset 0xBE,OW_READ_SCRATCHPAD_ADR2 - cset 0x4E,OW_WRITE_SCRATCHPAD_ADR2 - cjmp 0x44,hrc_set_convertT2 - cjmp 0xB4,hrc_set_convertV2 - FW_CONFIG_INFO2 -#ifdef _CHANGEABLE_ID_ - CHANGE_ID_COMMANDS -#endif - rjmp handle_end_sleep - - -hrc_set_convertT2: - ldi r_temp,2 - sts gcontrol,r_temp - lds r_temp,am2302_temp - sts pack2+1,r_temp - lds r_temp,am2302_temp+1 - sts pack2+2,r_temp - rjmp handle_end_sleep -hrc_set_convertV2: - lds r_temp,pack2 - sbrs r_temp,3 - rjmp hrc_set_convertVV2 - ldi r_temp,0xF4 - sts pack2+3,r_temp - ldi r_temp,0x01 - sts pack2+4,r_temp - rjmp hrc_set_convertend2 -hrc_set_convertVV2: - ldi r_temp,3 - sts gcontrol,r_temp - lds r_temp,am2302_hum - sts pack2+3,r_temp - lds r_temp,am2302_hum+1 - sts pack2+4,r_temp -hrc_set_convertend2: - rjmp handle_end_sleep - - - -;--------------------------------------------------- -; READ SCRATCHPAD -;--------------------------------------------------- - -h_readscratchpad_adr2: - lsl r_rwbyte - lsl r_rwbyte - lsl r_rwbyte -#if defined(__AVR_ATtiny25__) - andi r_rwbyte,0x01 ;nur Page 0 und 1 und das immer wiederholen -#endif - sts block,r_rwbyte - ldi r_sendflag,1 - ldi r_mode,OW_READ_SCRATCHPAD2 - CRCInit2 -h_readscratchpad2: - cpi r_bytep,8 - breq h_readscratchpad_crc2 - cpi r_bytep,9 - breq h_readscratchpad_all2 - lds r_temp,block - add r_temp,r_bytep - configZ pack2,r_temp - ld r_rwbyte,Z - rjmp handle_end_inc -h_readscratchpad_crc2: - lds r_rwbyte,crc - rjmp handle_end_inc -h_readscratchpad_all2: - rjmp handle_end_sleep - - - - -;--------------------------------------------------- -; WRITE SCRATCHPAD -;--------------------------------------------------- -h_writescratchpad_adr2: - lsl r_rwbyte - lsl r_rwbyte - lsl r_rwbyte -#if defined(__AVR_ATtiny25__) - andi r_rwbyte,0x01 ;nur Page 0 und 1 und das immer wiederholen -#endif - sts block,r_rwbyte - ldi r_mode,OW_WRITE_SCRATCHPAD2 - ldi r_bcount,1 - rjmp handle_end -h_writescratchpad2: - cpi r_bytep,8 - breq h_writescratchpad_all2 - lds r_temp,block - add r_temp,r_bytep - configZ pack2,r_temp - st Z,r_rwbyte - rjmp handle_end_inc -h_writescratchpad_all2: - rjmp handle_end_sleep - - - - - - - - - -#include "../common/OWPinInterrupt.s" -.end \ No newline at end of file diff --git a/DS18B20_MAX44009/DS18B20_MAX44009.cproj b/DS18B20_MAX44009/DS18B20_MAX44009.cproj index 7d4b820..0eea7c8 100644 --- a/DS18B20_MAX44009/DS18B20_MAX44009.cproj +++ b/DS18B20_MAX44009/DS18B20_MAX44009.cproj @@ -67,74 +67,78 @@ <PropertyGroup Condition=" '$(Configuration)' == 'Release' "> <ToolchainSettings> <AvrGcc> - <avrgcc.common.Device>-mmcu=attiny84a -B "%24(PackRepoDir)\atmel\ATtiny_DFP\1.0.68\gcc\dev\attiny84a"</avrgcc.common.Device> - <avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex> - <avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss> - <avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep> - <avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec> - <avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures> - <avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned> - <avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned> - <avrgcc.compiler.symbols.DefSymbols> - <ListValues> - <Value>DEBUG</Value> - </ListValues> - </avrgcc.compiler.symbols.DefSymbols> - <avrgcc.compiler.directories.IncludePaths> - <ListValues> - <Value>%24(PackRepoDir)\atmel\ATtiny_DFP\1.0.68\include</Value> - </ListValues> - </avrgcc.compiler.directories.IncludePaths> - <avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level> - <avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers> - <avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum> - <avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel> - <avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings> - <avrgcc.linker.libraries.Libraries> - <ListValues> - <Value>libm</Value> - </ListValues> - </avrgcc.linker.libraries.Libraries> - <avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel> -</AvrGcc> + <avrgcc.common.Device>-mmcu=attiny84a -B "%24(PackRepoDir)\atmel\ATtiny_DFP\1.0.68\gcc\dev\attiny84a"</avrgcc.common.Device> + <avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex> + <avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss> + <avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep> + <avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec> + <avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures> + <avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned> + <avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned> + <avrgcc.compiler.symbols.DefSymbols> + <ListValues> + <Value>DEBUG</Value> + </ListValues> + </avrgcc.compiler.symbols.DefSymbols> + <avrgcc.compiler.directories.IncludePaths> + <ListValues> + <Value>%24(PackRepoDir)\atmel\ATtiny_DFP\1.0.68\include</Value> + </ListValues> + </avrgcc.compiler.directories.IncludePaths> + <avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level> + <avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers> + <avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum> + <avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel> + <avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings> + <avrgcc.linker.libraries.Libraries> + <ListValues> + <Value>libm</Value> + </ListValues> + </avrgcc.linker.libraries.Libraries> + <avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel> + </AvrGcc> </ToolchainSettings> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> <ToolchainSettings> <AvrGcc> - <avrgcc.common.Device>-mmcu=attiny84a -B "%24(PackRepoDir)\atmel\ATtiny_DFP\1.0.68\gcc\dev\attiny84a"</avrgcc.common.Device> - <avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex> - <avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss> - <avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep> - <avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec> - <avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures> - <avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned> - <avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned> - <avrgcc.compiler.symbols.DefSymbols> - <ListValues> - <Value>DEBUG</Value> - </ListValues> - </avrgcc.compiler.symbols.DefSymbols> - <avrgcc.compiler.directories.IncludePaths> - <ListValues> - <Value>%24(PackRepoDir)\atmel\ATtiny_DFP\1.0.68\include</Value> - </ListValues> - </avrgcc.compiler.directories.IncludePaths> - <avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level> - <avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers> - <avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum> - <avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel> - <avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings> - <avrgcc.linker.libraries.Libraries> - <ListValues> - <Value>libm</Value> - </ListValues> - </avrgcc.linker.libraries.Libraries> - <avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel> -</AvrGcc> + <avrgcc.common.Device>-mmcu=attiny84a -B "%24(PackRepoDir)\atmel\ATtiny_DFP\1.0.68\gcc\dev\attiny84a"</avrgcc.common.Device> + <avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex> + <avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss> + <avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep> + <avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec> + <avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures> + <avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned> + <avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned> + <avrgcc.compiler.symbols.DefSymbols> + <ListValues> + <Value>DEBUG</Value> + </ListValues> + </avrgcc.compiler.symbols.DefSymbols> + <avrgcc.compiler.directories.IncludePaths> + <ListValues> + <Value>%24(PackRepoDir)\atmel\ATtiny_DFP\1.0.68\include</Value> + </ListValues> + </avrgcc.compiler.directories.IncludePaths> + <avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level> + <avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers> + <avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum> + <avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel> + <avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings> + <avrgcc.linker.libraries.Libraries> + <ListValues> + <Value>libm</Value> + </ListValues> + </avrgcc.linker.libraries.Libraries> + <avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel> + </AvrGcc> </ToolchainSettings> </PropertyGroup> <ItemGroup> + <Compile Include="..\common\OWDS18B20.S"> + <SubType>compile</SubType> + <Link>OWDS18B20.S</Link> + </Compile> <Compile Include="D:\oc\dev\owSlave2\common\I2C\MAX44009.c"> <SubType>compile</SubType> <Link>MAX44009.c</Link> @@ -146,9 +150,6 @@ <Compile Include="DS18B20_MAX44009.c"> <SubType>compile</SubType> </Compile> - <Compile Include="OWDS18B20.S"> - <SubType>compile</SubType> - </Compile> </ItemGroup> <Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Compiler.targets" /> </Project> \ No newline at end of file diff --git a/DS18B20_MAX44009/OWDS18B20.S b/DS18B20_MAX44009/OWDS18B20.S deleted file mode 100644 index f0331cf..0000000 --- a/DS18B20_MAX44009/OWDS18B20.S +++ /dev/null @@ -1,241 +0,0 @@ - -// Copyright (c) 2015, Tobias Mueller tm(at)tm3d.de -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the -// distribution. -// * All advertising materials mentioning features or use of this -// software must display the following acknowledgement: This product -// includes software developed by tm3d.de and its contributors. -// * Neither the name of tm3d.de nor the names of its contributors may -// be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#define _CHANGEABLE_ID_ -#define _ZERO_POLLING_ - -#include "../common/OWConfig.s" -#include "../common/OWCRC8.s" - -.extern pack,8 - -//.extern am2302_temp,2 - - - -.macro CHIP_INIT -Init_EEPROM_read: - sbic _SFR_IO_ADDR(EECR), EEPE - rjmp Init_EEPROM_read - ldi r_temp,0 - out _SFR_IO_ADDR(EEARH), r_temp - ldi r_temp,2 - out _SFR_IO_ADDR(EEARL), r_temp - sbi _SFR_IO_ADDR(EECR), EERE - in r_temp,_SFR_IO_ADDR(EEDR) - sbrs r_temp,7 - rcall hrc_recall_eeprom_func -.endm - -.macro COMMAND_TABLE - rjmp h_readscratchpad - rjmp h_writescratchpad - rjmp h_convert_run -.endm - -#include "../common/OWRomFunctions.s" -#include "../common/OWTimerInterrupt.s" - - - -; Ab hier Geraeteabhaenging -#define OW_READ_SCRATCHPAD OW_FIRST_COMMAND+0 -#define OW_WRITE_SCRATCHPAD OW_FIRST_COMMAND+1 -#define OW_CONVERT_RUN OW_FIRST_COMMAND+2 - - -;--------------------------------------------------- -; READ COMMAND and start operation -;--------------------------------------------------- - - -h_readcommand: - clr r_bytep -#ifndef _DIS_FLASH_ - FLASH_COMMANDS ; muss zu erst sein.... -#endif - cjmp 0xBE,hrc_set_readscratchpad - cjmp 0x4E,hrc_set_writescratchpad - cjmp 0x44,hrc_set_convertT - cjmp 0x48,hrc_copy_scratchpad - cjmp 0xB8,hrc_recall_eeprom - FW_CONFIG_INFO -#ifdef _CHANGEABLE_ID_ - CHANGE_ID_COMMANDS -#endif - //ldi r_mode,OW_SLEEP - rjmp handle_end_sleep - -hrc_set_readscratchpad: - ldi r_mode,OW_READ_SCRATCHPAD - ldi r_sendflag,1 - CRCInit2 - rjmp h_readscratchpad - -hrc_set_writescratchpad: - ldi r_mode,OW_WRITE_SCRATCHPAD - ldi r_bytep,2 ;start to write in 2 - rjmp handle_end - -hrc_recall_eeprom: - rcall hrc_recall_eeprom_func - rjmp handle_end - - - -hrc_set_convertT: - ldi r_temp,1 - sts gcontrol,r_temp - ;lds temp,am2302_temp - //sts pack+1,temp - ;lds temp,am2302_temp+1 - //sts pack+2,temp -; ldi r_rwbyte,0 -; lds r_temp,pack -; swap r_temp -; andi r_temp,0x0F -; lds r_temp2,pack+1 -; swap r_temp2 -; andi r_temp2,0xF0 -; or r_temp,r_temp2 -; lds r_temp2,pack+2 -; cp r_temp,r_temp2 ;higher than or equal to TH -; brge hrc_set_convertT_set_arlarm -; lds r_temp2,pack+3 -; cp r_temp,r_temp2 ;lower than or equal to TL -; brlt hrc_set_convertT_set_arlarm -; breq hrc_set_convertT_set_arlarm -; rjmp hrc_set_convertT_end -;hrc_set_convertT_set_arlarm: -; ldi r_rwbyte,1 -;hrc_set_convertT_end: -; sts alarmflag,r_rwbyte - ldi r_mode,OW_CONVERT_RUN - ldi r_sendflag,3 ;set bit 0 and 1 for no zero polling -h_convert_run: - ldi r_bcount,0 - ldi r_rwbyte,0 - rjmp handle_end_no_bcount - -hrc_copy_scratchpad: - ldi r_bytep,2 - configZ pack,r_bytep - clr r_bytep -hrc_copy_scratchpad_EEPROM_write: - sbic _SFR_IO_ADDR(EECR), EEPE - rjmp hrc_copy_scratchpad_EEPROM_write - ldi r_temp, (0<<EEPM1)|(0<<EEPM0) - out _SFR_IO_ADDR(EECR), r_temp - ldi r_temp,0 - out _SFR_IO_ADDR(EEARH),r_temp - out _SFR_IO_ADDR(EEARL), r_bytep - ld r_rwbyte,Z+ - out _SFR_IO_ADDR(EEDR), r_rwbyte - sbi _SFR_IO_ADDR(EECR), EEMPE - sbi _SFR_IO_ADDR(EECR), EEPE - inc r_bytep - cpi r_bytep,3 - brne hrc_copy_scratchpad_EEPROM_write - rjmp handle_end - - -hrc_recall_eeprom_func: - ldi r_bytep,2 - configZ pack,r_bytep - clr r_bytep - clr r_temp -hrc_recall_eeprom_EEPROM_read: - sbic _SFR_IO_ADDR(EECR), EEPE - rjmp hrc_recall_eeprom_EEPROM_read - out _SFR_IO_ADDR(EEARH), r_temp - out _SFR_IO_ADDR(EEARL), r_bytep - sbi _SFR_IO_ADDR(EECR), EERE - in r_rwbyte,_SFR_IO_ADDR(EEDR) - st Z+,r_rwbyte - inc r_bytep - cpi r_bytep,3 - brne hrc_recall_eeprom_EEPROM_read - ret - - - - - - -;--------------------------------------------------- -; READ SCRATCHPAD -;--------------------------------------------------- - -h_readscratchpad: - cpi r_bytep,8 - breq h_readscratchpad_crc - cpi r_bytep,9 - breq h_readscratchpad_all - configZ pack,r_bytep - ld r_rwbyte,Z - rjmp h_readscratchpad_endc -h_readscratchpad_crc: - lds r_rwbyte,crc -h_readscratchpad_endc: - inc r_bytep - ldi r_bcount,1 - rjmp handle_end -h_readscratchpad_all: - rjmp handle_end_sleep - - - - - -;--------------------------------------------------- -; WRITE SCRATCHPAD -;--------------------------------------------------- - -h_writescratchpad: - configZ pack,r_bytep - inc r_bytep - cpi r_bytep,5 - breq h_writescratchpad_all - st Z,r_rwbyte - rjmp handle_end -h_writescratchpad_all: - ori r_rwbyte,0x1F ; Alle unteren Bits sind immer 1 - st Z,r_rwbyte - rjmp handle_end_sleep - - - - - -#include "../common/OWPinInterrupt.s" -.end \ No newline at end of file diff --git a/DS18B20_MAX44009_DS2438_SHT/DS18B20_DS2438_6_2.atsln b/DS18B20_MAX44009_DS2438_SHT/DS18B20_DS2438_6_2.atsln deleted file mode 100644 index adaf496..0000000 --- a/DS18B20_MAX44009_DS2438_SHT/DS18B20_DS2438_6_2.atsln +++ /dev/null @@ -1,20 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Atmel Studio Solution File, Format Version 11.00 -Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "DS18B20_DS2438", "DS18B20_DS2438_6_2.cproj", "{7A5672FE-8226-4158-B931-E1F36B9A8858}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|AVR = Debug|AVR - Release|AVR = Release|AVR - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7A5672FE-8226-4158-B931-E1F36B9A8858}.Debug|AVR.ActiveCfg = Debug|AVR - {7A5672FE-8226-4158-B931-E1F36B9A8858}.Debug|AVR.Build.0 = Debug|AVR - {7A5672FE-8226-4158-B931-E1F36B9A8858}.Release|AVR.ActiveCfg = Release|AVR - {7A5672FE-8226-4158-B931-E1F36B9A8858}.Release|AVR.Build.0 = Release|AVR - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/DS18B20_MAX44009_DS2438_SHT/DS18B20_DS2438_6_2.cproj b/DS18B20_MAX44009_DS2438_SHT/DS18B20_DS2438_6_2.cproj deleted file mode 100644 index dec1c59..0000000 --- a/DS18B20_MAX44009_DS2438_SHT/DS18B20_DS2438_6_2.cproj +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <PropertyGroup> - <SchemaVersion>2.0</SchemaVersion> - <ProjectVersion>6.2</ProjectVersion> - <ToolchainName>com.Atmel.AVRGCC8.C</ToolchainName> - <ProjectGuid>{7a5672fe-8226-4158-b931-e1f36b9a8858}</ProjectGuid> - <avrdevice>ATtiny84A</avrdevice> - <avrdeviceseries>none</avrdeviceseries> - <OutputType>Executable</OutputType> - <Language>C</Language> - <OutputFileName>$(MSBuildProjectName)</OutputFileName> - <OutputFileExtension>.elf</OutputFileExtension> - <OutputDirectory>$(MSBuildProjectDirectory)\$(Configuration)</OutputDirectory> - <AssemblyName>DS18B20_DS2438</AssemblyName> - <Name>DS18B20_DS2438</Name> - <RootNamespace>DS18B20_DS2438</RootNamespace> - <ToolchainFlavour>Native</ToolchainFlavour> - <KeepTimersRunning>true</KeepTimersRunning> - <OverrideVtor>false</OverrideVtor> - <CacheFlash>true</CacheFlash> - <ProgFlashFromRam>true</ProgFlashFromRam> - <RamSnippetAddress>0x20000000</RamSnippetAddress> - <UncachedRange /> - <preserveEEPROM>true</preserveEEPROM> - <OverrideVtorValue>exception_table</OverrideVtorValue> - <BootSegment>2</BootSegment> - <eraseonlaunchrule>1</eraseonlaunchrule> - <AsfFrameworkConfig> - <framework-data xmlns=""> - <options /> - <configurations /> - <files /> - <documentation help="" /> - <offline-documentation help="" /> - <dependencies> - <content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.19.0" /> - </dependencies> - </framework-data> - </AsfFrameworkConfig> - <avrtool>com.atmel.avrdbg.tool.atmelice</avrtool> - <com_atmel_avrdbg_tool_atmelice> - <ToolOptions> - <InterfaceProperties> - </InterfaceProperties> - <InterfaceName>debugWIRE</InterfaceName> - </ToolOptions> - <ToolType>com.atmel.avrdbg.tool.atmelice</ToolType> - <ToolNumber>J41800000779</ToolNumber> - <ToolName>Atmel-ICE</ToolName> - </com_atmel_avrdbg_tool_atmelice> - <avrtoolinterface>debugWIRE</avrtoolinterface> - <com_atmel_avrdbg_tool_simulator> - <ToolOptions> - <InterfaceProperties> - </InterfaceProperties> - <InterfaceName> - </InterfaceName> - </ToolOptions> - <ToolType>com.atmel.avrdbg.tool.simulator</ToolType> - <ToolNumber> - </ToolNumber> - <ToolName>Simulator</ToolName> - </com_atmel_avrdbg_tool_simulator> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)' == 'Release' "> - <ToolchainSettings> - <AvrGcc> - <avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex> - <avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss> - <avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep> - <avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec> - <avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures> - <avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned> - <avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned> - <avrgcc.compiler.symbols.DefSymbols> - <ListValues> - <Value>NDEBUG</Value> - </ListValues> - </avrgcc.compiler.symbols.DefSymbols> - <avrgcc.compiler.optimization.level>Optimize for size (-Os)</avrgcc.compiler.optimization.level> - <avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers> - <avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum> - <avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings> - <avrgcc.linker.libraries.Libraries> - <ListValues> - <Value>libm</Value> - </ListValues> - </avrgcc.linker.libraries.Libraries> - </AvrGcc> - </ToolchainSettings> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> - <ToolchainSettings> - <AvrGcc> - <avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex> - <avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss> - <avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep> - <avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec> - <avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures> - <avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned> - <avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned> - <avrgcc.compiler.symbols.DefSymbols> - <ListValues> - <Value>DEBUG</Value> - </ListValues> - </avrgcc.compiler.symbols.DefSymbols> - <avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level> - <avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers> - <avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum> - <avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel> - <avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings> - <avrgcc.linker.libraries.Libraries> - <ListValues> - <Value>libm</Value> - </ListValues> - </avrgcc.linker.libraries.Libraries> - <avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel> - </AvrGcc> - </ToolchainSettings> - </PropertyGroup> - <ItemGroup> - <Compile Include="..\common\I2C\SHT2x.c"> - <SubType>compile</SubType> - <Link>SHT2x.c</Link> - </Compile> - <Compile Include="D:\oc\dev\owSlave2\common\I2C\MAX44009.c"> - <SubType>compile</SubType> - <Link>MAX44009.c</Link> - </Compile> - <Compile Include="D:\oc\dev\owSlave2\common\I2C\USI_TWI_Master.c"> - <SubType>compile</SubType> - <Link>USI_TWI_Master.c</Link> - </Compile> - <Compile Include="DS18B20_DS2438.c"> - <SubType>compile</SubType> - </Compile> - <Compile Include="OWDS18B20_DS2438.S"> - <SubType>compile</SubType> - </Compile> - </ItemGroup> - <Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Compiler.targets" /> -</Project> \ No newline at end of file diff --git a/DS18B20_MAX44009_DS2438_SHT/DS18B20_MAX44009_DS2438_SHT.cproj b/DS18B20_MAX44009_DS2438_SHT/DS18B20_MAX44009_DS2438_SHT.cproj index 1f7848f..913fe40 100644 --- a/DS18B20_MAX44009_DS2438_SHT/DS18B20_MAX44009_DS2438_SHT.cproj +++ b/DS18B20_MAX44009_DS2438_SHT/DS18B20_MAX44009_DS2438_SHT.cproj @@ -147,10 +147,11 @@ <SubType>compile</SubType> <Link>USI_TWI_Master.c</Link> </Compile> - <Compile Include="DS18B20_DS2438.c"> + <Compile Include="D:\oc\dev\owSlave2\common\OWDS18B20_DS2438.S"> <SubType>compile</SubType> + <Link>OWDS18B20_DS2438.S</Link> </Compile> - <Compile Include="OWDS18B20_DS2438.S"> + <Compile Include="DS18B20_DS2438.c"> <SubType>compile</SubType> </Compile> </ItemGroup> diff --git a/DS18B20_MAX44009_DS2438_SHT/OWDS18B20_DS2438.S b/DS18B20_MAX44009_DS2438_SHT/OWDS18B20_DS2438.S deleted file mode 100644 index a653b5c..0000000 --- a/DS18B20_MAX44009_DS2438_SHT/OWDS18B20_DS2438.S +++ /dev/null @@ -1,354 +0,0 @@ - -// Copyright (c) 2015, Tobias Mueller tm(at)tm3d.de -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the -// distribution. -// * All advertising materials mentioning features or use of this -// software must display the following acknowledgement: This product -// includes software developed by tm3d.de and its contributors. -// * Neither the name of tm3d.de nor the names of its contributors may -// be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#define _CHANGEABLE_ID_ -#define _ZERO_POLLING_ -//#define _DB_ - -#include "../common/OWConfig.s" -#include "../common/OWCRC8.s" - -.extern pack1,8 - -//.extern am2302_temp,2 - -#if defined(__AVR_ATtiny25__) -.extern pack2,16 -#else -.extern pack2,64 -#endif -.extern am2302_temp,2 -.extern am2302_hum,2 -.comm block,1 ; Block der augegeben, geschrieben wird (Parameter von READ/WRITE Scratchpad) - - -.macro CHIP_INIT -Init_EEPROM_read: - sbic _SFR_IO_ADDR(EECR), EEPE - rjmp Init_EEPROM_read - ldi r_temp,0 - out _SFR_IO_ADDR(EEARH), r_temp - ldi r_temp,2 - out _SFR_IO_ADDR(EEARL), r_temp - sbi _SFR_IO_ADDR(EECR), EERE - in r_temp,_SFR_IO_ADDR(EEDR) - sbrs r_temp,7 - rcall hrc_recall_eeprom_func1 -.endm - -.macro COMMAND_TABLE - rjmp h_readscratchpad1 - rjmp h_writescratchpad1 - rjmp h_convert_run1 - rjmp h_readscratchpad_adr2 - rjmp h_readscratchpad2 - rjmp h_writescratchpad_adr2 - rjmp h_writescratchpad2 -.endm - -#include "../common/OWRomFunctionsDual.s" -#include "../common/OWTimerInterrupt.s" - - - -; Ab hier Geraeteabhaenging -#define OW_READ_SCRATCHPAD1 OW_FIRST_COMMAND+0 -#define OW_WRITE_SCRATCHPAD1 OW_FIRST_COMMAND+1 -#define OW_CONVERT_RUN1 OW_FIRST_COMMAND+2 -#define OW_READ_SCRATCHPAD_ADR2 OW_FIRST_COMMAND+3 -#define OW_READ_SCRATCHPAD2 OW_FIRST_COMMAND+4 -#define OW_WRITE_SCRATCHPAD_ADR2 OW_FIRST_COMMAND+5 -#define OW_WRITE_SCRATCHPAD2 OW_FIRST_COMMAND+6 - - -;--------------------------------------------------- -; READ COMMAND and start operation -;--------------------------------------------------- - - -h_readcommand1: - clr r_bytep -#ifndef _DIS_FLASH_ - FLASH_COMMANDS ; muss zu erst sein.... -#endif - cjmp 0xBE,hrc_set_readscratchpad1 - cjmp 0x4E,hrc_set_writescratchpad1 - cjmp 0x44,hrc_set_convertT1 - cjmp 0x48,hrc_copy_scratchpad1 - cjmp 0xB8,hrc_recall_eeprom1 - FW_CONFIG_INFO1 -#ifdef _CHANGEABLE_ID_ - CHANGE_ID_COMMANDS -#endif - ldi r_mode,OW_SLEEP - rjmp handle_end - -hrc_set_readscratchpad1: - ldi r_mode,OW_READ_SCRATCHPAD1 - ldi r_sendflag,1 - CRCInit2 - rjmp h_readscratchpad1 - -hrc_set_writescratchpad1: - ldi r_mode,OW_WRITE_SCRATCHPAD1 - ldi r_bytep,2 ;start to write in 2 - rjmp handle_end - -hrc_recall_eeprom1: - rcall hrc_recall_eeprom_func1 - rjmp handle_end - - - -hrc_set_convertT1: - ldi r_temp,1 - sts gcontrol,r_temp - - ldi r_mode,OW_CONVERT_RUN1 - ldi r_sendflag,3 ;set bit 0 and 1 for no zero polling -h_convert_run1: - ldi r_bcount,0 - ldi r_rwbyte,0 - rjmp handle_end_no_bcount - - -hrc_copy_scratchpad1: - ldi r_bytep,2 - configZ pack1,r_bytep - clr r_bytep -hrc_copy_scratchpad_EEPROM_write1: - sbic _SFR_IO_ADDR(EECR), EEPE - rjmp hrc_copy_scratchpad_EEPROM_write1 - ldi r_temp, (0<<EEPM1)|(0<<EEPM0) - out _SFR_IO_ADDR(EECR), r_temp - ldi r_temp,0 - out _SFR_IO_ADDR(EEARH),r_temp - out _SFR_IO_ADDR(EEARL), r_bytep - ld r_rwbyte,Z+ - out _SFR_IO_ADDR(EEDR), r_rwbyte - sbi _SFR_IO_ADDR(EECR), EEMPE - sbi _SFR_IO_ADDR(EECR), EEPE - inc r_bytep - cpi r_bytep,3 - brne hrc_copy_scratchpad_EEPROM_write1 - rjmp handle_end - - -hrc_recall_eeprom_func1: - ldi r_bytep,2 - configZ pack1,r_bytep - clr r_bytep - clr r_temp -hrc_recall_eeprom_EEPROM_read1: - sbic _SFR_IO_ADDR(EECR), EEPE - rjmp hrc_recall_eeprom_EEPROM_read1 - out _SFR_IO_ADDR(EEARH), r_temp - out _SFR_IO_ADDR(EEARL), r_bytep - sbi _SFR_IO_ADDR(EECR), EERE - in r_rwbyte,_SFR_IO_ADDR(EEDR) - st Z+,r_rwbyte - inc r_bytep - cpi r_bytep,3 - brne hrc_recall_eeprom_EEPROM_read1 - ret - - - - - - -;--------------------------------------------------- -; READ SCRATCHPAD -;--------------------------------------------------- - -h_readscratchpad1: - cpi r_bytep,8 - breq h_readscratchpad_crc1 - cpi r_bytep,9 - breq h_readscratchpad_all1 - configZ pack1,r_bytep - ld r_rwbyte,Z - rjmp h_readscratchpad_endc1 -h_readscratchpad_crc1: - lds r_rwbyte,crc -h_readscratchpad_endc1: - inc r_bytep - ldi r_bcount,1 - rjmp handle_end -h_readscratchpad_all1: - rjmp handle_end_sleep - - - - - -;--------------------------------------------------- -; WRITE SCRATCHPAD -;--------------------------------------------------- - -h_writescratchpad1: - configZ pack1,r_bytep - inc r_bytep - cpi r_bytep,5 - breq h_writescratchpad_all1 - st Z,r_rwbyte - rjmp handle_end -h_writescratchpad_all1: - ori r_rwbyte,0x1F ; Alle unteren Bits sind immer 1 - st Z,r_rwbyte - rjmp handle_end_sleep - -;***************************************************************************************************************************************************************************************** -;***************************************************************************************************************************************************************************************** -;***************************************************************************************************************************************************************************************** -;***************************************************************************************************************************************************************************************** -;***************************************************************************************************************************************************************************************** - - - - - -h_readcommand2: - clr r_bytep -#ifndef _DIS_FLASH_ - FLASH_COMMANDS ; muss zu erst sein.... -#endif - cset 0xBE,OW_READ_SCRATCHPAD_ADR2 - cset 0x4E,OW_WRITE_SCRATCHPAD_ADR2 - cjmp 0x44,hrc_set_convertT2 - cjmp 0xB4,hrc_set_convertV2 - FW_CONFIG_INFO2 -#ifdef _CHANGEABLE_ID_ - CHANGE_ID_COMMANDS -#endif - rjmp handle_end_sleep - - -hrc_set_convertT2: - ldi r_temp,2 - sts gcontrol,r_temp - lds r_temp,am2302_temp - sts pack2+1,r_temp - lds r_temp,am2302_temp+1 - sts pack2+2,r_temp - rjmp handle_end_sleep -hrc_set_convertV2: - lds r_temp,pack2 - sbrs r_temp,3 - rjmp hrc_set_convertVV2 - ldi r_temp,0xF4 - sts pack2+3,r_temp - ldi r_temp,0x01 - sts pack2+4,r_temp - rjmp hrc_set_convertend2 -hrc_set_convertVV2: - ldi r_temp,3 - sts gcontrol,r_temp - lds r_temp,am2302_hum - sts pack2+3,r_temp - lds r_temp,am2302_hum+1 - sts pack2+4,r_temp -hrc_set_convertend2: - rjmp handle_end_sleep - - - -;--------------------------------------------------- -; READ SCRATCHPAD -;--------------------------------------------------- - -h_readscratchpad_adr2: - lsl r_rwbyte - lsl r_rwbyte - lsl r_rwbyte -#if defined(__AVR_ATtiny25__) - andi r_rwbyte,0x01 ;nur Page 0 und 1 und das immer wiederholen -#endif - sts block,r_rwbyte - ldi r_sendflag,1 - ldi r_mode,OW_READ_SCRATCHPAD2 - CRCInit2 -h_readscratchpad2: - cpi r_bytep,8 - breq h_readscratchpad_crc2 - cpi r_bytep,9 - breq h_readscratchpad_all2 - lds r_temp,block - add r_temp,r_bytep - configZ pack2,r_temp - ld r_rwbyte,Z - rjmp handle_end_inc -h_readscratchpad_crc2: - lds r_rwbyte,crc - rjmp handle_end_inc -h_readscratchpad_all2: - rjmp handle_end_sleep - - - - -;--------------------------------------------------- -; WRITE SCRATCHPAD -;--------------------------------------------------- -h_writescratchpad_adr2: - lsl r_rwbyte - lsl r_rwbyte - lsl r_rwbyte -#if defined(__AVR_ATtiny25__) - andi r_rwbyte,0x01 ;nur Page 0 und 1 und das immer wiederholen -#endif - sts block,r_rwbyte - ldi r_mode,OW_WRITE_SCRATCHPAD2 - ldi r_bcount,1 - rjmp handle_end -h_writescratchpad2: - cpi r_bytep,8 - breq h_writescratchpad_all2 - lds r_temp,block - add r_temp,r_bytep - configZ pack2,r_temp - st Z,r_rwbyte - rjmp handle_end_inc -h_writescratchpad_all2: - rjmp handle_end_sleep - - - - - - - - - -#include "../common/OWPinInterrupt.s" -.end \ No newline at end of file diff --git a/DS18B20_Thermocouble/DS18B20_TC.cproj b/DS18B20_Thermocouble/DS18B20_TC.cproj index 7163df4..21a38f9 100644 --- a/DS18B20_Thermocouble/DS18B20_TC.cproj +++ b/DS18B20_Thermocouble/DS18B20_TC.cproj @@ -55,78 +55,79 @@ <PropertyGroup Condition=" '$(Configuration)' == 'Release' "> <ToolchainSettings> <AvrGcc> - <avrgcc.common.Device>-mmcu=attiny84a -B "%24(PackRepoDir)\atmel\ATtiny_DFP\1.0.68\gcc\dev\attiny84a"</avrgcc.common.Device> - <avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex> - <avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss> - <avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep> - <avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec> - <avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures> - <avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned> - <avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned> - <avrgcc.compiler.symbols.DefSymbols> - <ListValues> - <Value>DEBUG</Value> - </ListValues> - </avrgcc.compiler.symbols.DefSymbols> - <avrgcc.compiler.directories.IncludePaths> - <ListValues> - <Value>%24(PackRepoDir)\atmel\ATtiny_DFP\1.0.68\include</Value> - </ListValues> - </avrgcc.compiler.directories.IncludePaths> - <avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level> - <avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers> - <avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum> - <avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel> - <avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings> - <avrgcc.linker.libraries.Libraries> - <ListValues> - <Value>libm</Value> - </ListValues> - </avrgcc.linker.libraries.Libraries> - <avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel> -</AvrGcc> + <avrgcc.common.Device>-mmcu=attiny84a -B "%24(PackRepoDir)\atmel\ATtiny_DFP\1.0.68\gcc\dev\attiny84a"</avrgcc.common.Device> + <avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex> + <avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss> + <avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep> + <avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec> + <avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures> + <avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned> + <avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned> + <avrgcc.compiler.symbols.DefSymbols> + <ListValues> + <Value>DEBUG</Value> + </ListValues> + </avrgcc.compiler.symbols.DefSymbols> + <avrgcc.compiler.directories.IncludePaths> + <ListValues> + <Value>%24(PackRepoDir)\atmel\ATtiny_DFP\1.0.68\include</Value> + </ListValues> + </avrgcc.compiler.directories.IncludePaths> + <avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level> + <avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers> + <avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum> + <avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel> + <avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings> + <avrgcc.linker.libraries.Libraries> + <ListValues> + <Value>libm</Value> + </ListValues> + </avrgcc.linker.libraries.Libraries> + <avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel> + </AvrGcc> </ToolchainSettings> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> <ToolchainSettings> <AvrGcc> - <avrgcc.common.Device>-mmcu=attiny84a -B "%24(PackRepoDir)\atmel\ATtiny_DFP\1.0.68\gcc\dev\attiny84a"</avrgcc.common.Device> - <avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex> - <avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss> - <avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep> - <avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec> - <avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures> - <avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned> - <avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned> - <avrgcc.compiler.symbols.DefSymbols> - <ListValues> - <Value>DEBUG</Value> - </ListValues> - </avrgcc.compiler.symbols.DefSymbols> - <avrgcc.compiler.directories.IncludePaths> - <ListValues> - <Value>%24(PackRepoDir)\atmel\ATtiny_DFP\1.0.68\include</Value> - </ListValues> - </avrgcc.compiler.directories.IncludePaths> - <avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level> - <avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers> - <avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum> - <avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel> - <avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings> - <avrgcc.linker.libraries.Libraries> - <ListValues> - <Value>libm</Value> - </ListValues> - </avrgcc.linker.libraries.Libraries> - <avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel> -</AvrGcc> + <avrgcc.common.Device>-mmcu=attiny84a -B "%24(PackRepoDir)\atmel\ATtiny_DFP\1.0.68\gcc\dev\attiny84a"</avrgcc.common.Device> + <avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex> + <avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss> + <avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep> + <avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec> + <avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures> + <avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned> + <avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned> + <avrgcc.compiler.symbols.DefSymbols> + <ListValues> + <Value>DEBUG</Value> + </ListValues> + </avrgcc.compiler.symbols.DefSymbols> + <avrgcc.compiler.directories.IncludePaths> + <ListValues> + <Value>%24(PackRepoDir)\atmel\ATtiny_DFP\1.0.68\include</Value> + </ListValues> + </avrgcc.compiler.directories.IncludePaths> + <avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level> + <avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers> + <avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum> + <avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel> + <avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings> + <avrgcc.linker.libraries.Libraries> + <ListValues> + <Value>libm</Value> + </ListValues> + </avrgcc.linker.libraries.Libraries> + <avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel> + </AvrGcc> </ToolchainSettings> </PropertyGroup> <ItemGroup> - <Compile Include="DS18B20_TC.c"> + <Compile Include="..\common\OWDS18B20.S"> <SubType>compile</SubType> + <Link>OWDS18B20.S</Link> </Compile> - <Compile Include="OWDS18B20.S"> + <Compile Include="DS18B20_TC.c"> <SubType>compile</SubType> </Compile> </ItemGroup> diff --git a/DS18B20_Thermocouble/OWDS18B20.S b/DS18B20_Thermocouble/OWDS18B20.S deleted file mode 100644 index f9f2dc0..0000000 --- a/DS18B20_Thermocouble/OWDS18B20.S +++ /dev/null @@ -1,243 +0,0 @@ - -// Copyright (c) 2015, Tobias Mueller tm(at)tm3d.de -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the -// distribution. -// * All advertising materials mentioning features or use of this -// software must display the following acknowledgement: This product -// includes software developed by tm3d.de and its contributors. -// * Neither the name of tm3d.de nor the names of its contributors may -// be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#define _CHANGEABLE_ID_ -#define _ZERO_POLLING_ - -#include "../common/OWConfig.s" -#include "../common/OWCRC8.s" - -.extern pack,8 - -//.extern am2302_temp,2 - - - -.macro CHIP_INIT -Init_EEPROM_read: - sbic _SFR_IO_ADDR(EECR), EEPE - rjmp Init_EEPROM_read - ldi r_temp,0 - out _SFR_IO_ADDR(EEARH), r_temp - ldi r_temp,2 - out _SFR_IO_ADDR(EEARL), r_temp - sbi _SFR_IO_ADDR(EECR), EERE - in r_temp,_SFR_IO_ADDR(EEDR) - sbrs r_temp,7 - rcall hrc_recall_eeprom_func -.endm - -.macro COMMAND_TABLE - rjmp h_readscratchpad - rjmp h_writescratchpad - rjmp h_convert_run -.endm - -#include "../common/OWRomFunctions.s" -#include "../common/OWTimerInterrupt.s" - - - -; Ab hier Geraeteabhaenging -#define OW_READ_SCRATCHPAD OW_FIRST_COMMAND+0 -#define OW_WRITE_SCRATCHPAD OW_FIRST_COMMAND+1 -#define OW_CONVERT_RUN OW_FIRST_COMMAND+2 - - -;--------------------------------------------------- -; READ COMMAND and start operation -;--------------------------------------------------- - - -h_readcommand: - clr r_bytep -#ifndef _DIS_FLASH_ - FLASH_COMMANDS ; muss zu erst sein.... -#endif - cjmp 0xBE,hrc_set_readscratchpad - cjmp 0x4E,hrc_set_writescratchpad - cjmp 0x44,hrc_set_convertT - cjmp 0x48,hrc_copy_scratchpad - cjmp 0xB8,hrc_recall_eeprom - FW_CONFIG_INFO -#ifdef _CHANGEABLE_ID_ - CHANGE_ID_COMMANDS -#endif - ldi r_mode,OW_SLEEP - rjmp handle_end - -hrc_set_readscratchpad: - ldi r_mode,OW_READ_SCRATCHPAD - ldi r_sendflag,1 - CRCInit2 - rjmp h_readscratchpad - -hrc_set_writescratchpad: - ldi r_mode,OW_WRITE_SCRATCHPAD - ldi r_bytep,2 ;start to write in 2 - rjmp handle_end - -hrc_recall_eeprom: - rcall hrc_recall_eeprom_func - rjmp handle_end - - - -hrc_set_convertT: - ldi r_temp,1 - sts gcontrol,r_temp - ;lds temp,am2302_temp - //sts pack+1,temp - ;lds temp,am2302_temp+1 - //sts pack+2,temp -; ldi r_rwbyte,0 -; lds r_temp,pack -; swap r_temp -; andi r_temp,0x0F -; lds r_temp2,pack+1 -; swap r_temp2 -; andi r_temp2,0xF0 -; or r_temp,r_temp2 -; lds r_temp2,pack+2 -; cp r_temp,r_temp2 ;higher than or equal to TH -; brge hrc_set_convertT_set_arlarm -; lds r_temp2,pack+3 -; cp r_temp,r_temp2 ;lower than or equal to TL -; brlt hrc_set_convertT_set_arlarm -; breq hrc_set_convertT_set_arlarm -; rjmp hrc_set_convertT_end -;hrc_set_convertT_set_arlarm: -; ldi r_rwbyte,1 -;hrc_set_convertT_end: -; sts alarmflag,r_rwbyte - ldi r_mode,OW_CONVERT_RUN - ldi r_sendflag,3 ;set bit 0 and 1 for no zero polling -h_convert_run: - ldi r_bcount,0 - ldi r_rwbyte,0 - rjmp handle_end_no_bcount - - -hrc_copy_scratchpad: - ldi r_bytep,2 - configZ pack,r_bytep - clr r_bytep -hrc_copy_scratchpad_EEPROM_write: - sbic _SFR_IO_ADDR(EECR), EEPE - rjmp hrc_copy_scratchpad_EEPROM_write - ldi r_temp, (0<<EEPM1)|(0<<EEPM0) - out _SFR_IO_ADDR(EECR), r_temp - ldi r_temp,0 - out _SFR_IO_ADDR(EEARH),r_temp - out _SFR_IO_ADDR(EEARL), r_bytep - ld r_rwbyte,Z+ - out _SFR_IO_ADDR(EEDR), r_rwbyte - sbi _SFR_IO_ADDR(EECR), EEMPE - sbi _SFR_IO_ADDR(EECR), EEPE - inc r_bytep - cpi r_bytep,3 - brne hrc_copy_scratchpad_EEPROM_write - rjmp handle_end - - -hrc_recall_eeprom_func: - ldi r_bytep,2 - configZ pack,r_bytep - clr r_bytep - clr r_temp -hrc_recall_eeprom_EEPROM_read: - sbic _SFR_IO_ADDR(EECR), EEPE - rjmp hrc_recall_eeprom_EEPROM_read - out _SFR_IO_ADDR(EEARH), r_temp - out _SFR_IO_ADDR(EEARL), r_bytep - sbi _SFR_IO_ADDR(EECR), EERE - in r_rwbyte,_SFR_IO_ADDR(EEDR) - st Z+,r_rwbyte - inc r_bytep - cpi r_bytep,3 - brne hrc_recall_eeprom_EEPROM_read - ret - - - - - - -;--------------------------------------------------- -; READ SCRATCHPAD -;--------------------------------------------------- - -h_readscratchpad: - cpi r_bytep,8 - breq h_readscratchpad_crc - cpi r_bytep,9 - breq h_readscratchpad_all - configZ pack,r_bytep - ld r_rwbyte,Z - rjmp h_readscratchpad_endc -h_readscratchpad_crc: - lds r_rwbyte,crc -h_readscratchpad_endc: - inc r_bytep - ldi r_bcount,1 - rjmp handle_end -h_readscratchpad_all: - rjmp handle_end_sleep - - - - - -;--------------------------------------------------- -; WRITE SCRATCHPAD -;--------------------------------------------------- - -h_writescratchpad: - configZ pack,r_bytep - inc r_bytep - cpi r_bytep,5 - breq h_writescratchpad_all - st Z,r_rwbyte - rjmp handle_end -h_writescratchpad_all: - ori r_rwbyte,0x1F ; Alle unteren Bits sind immer 1 - st Z,r_rwbyte - rjmp handle_end_sleep - - - - - - -#include "../common/OWPinInterrupt.s" -.end \ No newline at end of file -- 2.34.1