| @@ -0,0 +1,34 @@ | |||||
| | |||||
| Microsoft Visual Studio Solution File, Format Version 12.00 | |||||
| # Atmel Studio Solution File, Format Version 11.00 | |||||
| VisualStudioVersion = 14.0.23107.0 | |||||
| MinimumVisualStudioVersion = 10.0.40219.1 | |||||
| Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "PoolClockWaterTemp", "PoolClock\PoolClockWaterTemp.cproj", "{DCE6C7E3-EE26-4D79-826B-08594B9AD897}" | |||||
| EndProject | |||||
| Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "PoolClockHumidity", "PoolClockHumidity\PoolClockHumidity.cproj", "{568DA8C2-E6FE-4E7C-A24E-9E4900DAB3C9}" | |||||
| EndProject | |||||
| Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "PoolClockAirTemp", "PoolClockAirTemp\PoolClockAirTemp.cproj", "{0C83E3A6-3DDD-4274-8944-AE653DC4AC74}" | |||||
| EndProject | |||||
| Global | |||||
| GlobalSection(SolutionConfigurationPlatforms) = preSolution | |||||
| Debug|AVR = Debug|AVR | |||||
| Release|AVR = Release|AVR | |||||
| EndGlobalSection | |||||
| GlobalSection(ProjectConfigurationPlatforms) = postSolution | |||||
| {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|AVR.ActiveCfg = Debug|AVR | |||||
| {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|AVR.Build.0 = Debug|AVR | |||||
| {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|AVR.ActiveCfg = Release|AVR | |||||
| {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|AVR.Build.0 = Release|AVR | |||||
| {568DA8C2-E6FE-4E7C-A24E-9E4900DAB3C9}.Debug|AVR.ActiveCfg = Debug|AVR | |||||
| {568DA8C2-E6FE-4E7C-A24E-9E4900DAB3C9}.Debug|AVR.Build.0 = Debug|AVR | |||||
| {568DA8C2-E6FE-4E7C-A24E-9E4900DAB3C9}.Release|AVR.ActiveCfg = Release|AVR | |||||
| {568DA8C2-E6FE-4E7C-A24E-9E4900DAB3C9}.Release|AVR.Build.0 = Release|AVR | |||||
| {0C83E3A6-3DDD-4274-8944-AE653DC4AC74}.Debug|AVR.ActiveCfg = Debug|AVR | |||||
| {0C83E3A6-3DDD-4274-8944-AE653DC4AC74}.Debug|AVR.Build.0 = Debug|AVR | |||||
| {0C83E3A6-3DDD-4274-8944-AE653DC4AC74}.Release|AVR.ActiveCfg = Release|AVR | |||||
| {0C83E3A6-3DDD-4274-8944-AE653DC4AC74}.Release|AVR.Build.0 = Release|AVR | |||||
| EndGlobalSection | |||||
| GlobalSection(SolutionProperties) = preSolution | |||||
| HideSolutionNode = FALSE | |||||
| EndGlobalSection | |||||
| EndGlobal | |||||
| @@ -0,0 +1,129 @@ | |||||
| ################################################################################ | |||||
| # Automatically-generated file. Do not edit! | |||||
| ################################################################################ | |||||
| SHELL := cmd.exe | |||||
| RM := rm -rf | |||||
| USER_OBJS := | |||||
| LIBS := | |||||
| PROJ := | |||||
| O_SRCS := | |||||
| C_SRCS := | |||||
| S_SRCS := | |||||
| S_UPPER_SRCS := | |||||
| OBJ_SRCS := | |||||
| ASM_SRCS := | |||||
| PREPROCESSING_SRCS := | |||||
| OBJS := | |||||
| OBJS_AS_ARGS := | |||||
| C_DEPS := | |||||
| C_DEPS_AS_ARGS := | |||||
| EXECUTABLES := | |||||
| OUTPUT_FILE_PATH := | |||||
| OUTPUT_FILE_PATH_AS_ARGS := | |||||
| AVR_APP_PATH :=$$$AVR_APP_PATH$$$ | |||||
| QUOTE := " | |||||
| ADDITIONAL_DEPENDENCIES:= | |||||
| OUTPUT_FILE_DEP:= | |||||
| LIB_DEP:= | |||||
| LINKER_SCRIPT_DEP:= | |||||
| # Every subdirectory with source files must be described here | |||||
| SUBDIRS := | |||||
| # Add inputs and outputs from these tool invocations to the build variables | |||||
| C_SRCS += \ | |||||
| ../main.c | |||||
| PREPROCESSING_SRCS += | |||||
| ASM_SRCS += | |||||
| OBJS += \ | |||||
| main.o | |||||
| OBJS_AS_ARGS += \ | |||||
| main.o | |||||
| C_DEPS += \ | |||||
| main.d | |||||
| C_DEPS_AS_ARGS += \ | |||||
| main.d | |||||
| OUTPUT_FILE_PATH +=PoolClockWaterTemp.elf | |||||
| OUTPUT_FILE_PATH_AS_ARGS +=PoolClockWaterTemp.elf | |||||
| ADDITIONAL_DEPENDENCIES:= | |||||
| OUTPUT_FILE_DEP:= ./makedep.mk | |||||
| LIB_DEP+= | |||||
| LINKER_SCRIPT_DEP+= | |||||
| # AVR32/GNU C Compiler | |||||
| ./%.o: .././%.c | |||||
| @echo Building file: $< | |||||
| @echo Invoking: AVR/GNU C Compiler : 5.4.0 | |||||
| $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega88pa -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\gcc\dev\atmega88pa" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" | |||||
| @echo Finished building: $< | |||||
| # AVR32/GNU Preprocessing Assembler | |||||
| # AVR32/GNU Assembler | |||||
| ifneq ($(MAKECMDGOALS),clean) | |||||
| ifneq ($(strip $(C_DEPS)),) | |||||
| -include $(C_DEPS) | |||||
| endif | |||||
| endif | |||||
| # Add inputs and outputs from these tool invocations to the build variables | |||||
| # All Target | |||||
| all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES) | |||||
| $(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP) $(LINKER_SCRIPT_DEP) | |||||
| @echo Building target: $@ | |||||
| @echo Invoking: AVR/GNU Linker : 5.4.0 | |||||
| $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="PoolClockWaterTemp.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mmcu=atmega88pa -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\gcc\dev\atmega88pa" | |||||
| @echo Finished building target: $@ | |||||
| "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "PoolClockWaterTemp.elf" "PoolClockWaterTemp.hex" | |||||
| "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "PoolClockWaterTemp.elf" "PoolClockWaterTemp.eep" || exit 0 | |||||
| "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "PoolClockWaterTemp.elf" > "PoolClockWaterTemp.lss" | |||||
| "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "PoolClockWaterTemp.elf" "PoolClockWaterTemp.srec" | |||||
| "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-size.exe" "PoolClockWaterTemp.elf" | |||||
| # Other Targets | |||||
| clean: | |||||
| -$(RM) $(OBJS_AS_ARGS) $(EXECUTABLES) | |||||
| -$(RM) $(C_DEPS_AS_ARGS) | |||||
| rm -rf "PoolClockWaterTemp.elf" "PoolClockWaterTemp.a" "PoolClockWaterTemp.hex" "PoolClockWaterTemp.lss" "PoolClockWaterTemp.eep" "PoolClockWaterTemp.map" "PoolClockWaterTemp.srec" "PoolClockWaterTemp.usersignatures" | |||||
| @@ -0,0 +1 @@ | |||||
| :00000001FF | |||||
| @@ -0,0 +1,48 @@ | |||||
| :1000000019C033C032C031C030C02FC02EC02DC087 | |||||
| :100010002CC02BC02AC029C028C027C026C025C09C | |||||
| :1000200024C023C022C021C020C01FC01EC01DC0CC | |||||
| :100030001CC01BC011241FBECFEFD4E0DEBFCDBF5C | |||||
| :1000400011E0A0E0B1E0EEEDF2E002C005900D920B | |||||
| :10005000AE30B107D9F721E0AEE0B1E001C01D92AA | |||||
| :10006000A431B207E1F7E0D038C1CACF8FEF8AB927 | |||||
| :1000700087E084B93B9843982FEF81E19AE72150BC | |||||
| :1000800080409040E1F700C0000008951BB884E074 | |||||
| :1000900085B986E08A95F1F700C0E0911301F0E0A0 | |||||
| :1000A000E050FF4F80818BB987E893E10197F1F72A | |||||
| :1000B00000C000001BB882E085B996E09A95F1F780 | |||||
| :1000C00000C0E0911201F0E0E050FF4F80818BB959 | |||||
| :1000D00087E893E10197F1F700C000001BB881E0C9 | |||||
| :1000E00085B996E09A95F1F700C08DEA8BB987E85B | |||||
| :1000F00093E10197F1F700C0000008950F931F935B | |||||
| :10010000CF93DF9300D000D01F92CDB7DEB73B98DE | |||||
| :1001100089EC07C036E03A95F1F700C0815009F448 | |||||
| :100120006EC03399F7CF86E507C096E09A95F1F750 | |||||
| :1001300000C0815009F465C0339BF7CF86E507C046 | |||||
| :10014000A6E0AA95F1F700C0815009F45CC033998C | |||||
| :10015000F7CFFE01319685E0DF011D928A95E9F720 | |||||
| :10016000AE014A5F5F4F22C0B6E0BA95F1F700C01A | |||||
| :10017000915011F44AC098E3339BF6CF38EC3A958E | |||||
| :10018000F1F7220F339908C00BC0A6E0AA95F1F74A | |||||
| :1001900000C0915011F43BC09EE23399F6CF21602C | |||||
| :1001A000815049F721934E175F0719F088E020E04E | |||||
| :1001B000E2CFA981B0E0EA81F0E06B8170E04C8190 | |||||
| :1001C00050E09D012E0F3F1F260F371F240F351FB4 | |||||
| :1001D00033270D8110E020173107D9F4BA2FAA2751 | |||||
| :1001E000EA0FFB1FF0931101E0931001762F6627B1 | |||||
| :1001F000460F571F50930F0140930E010BC082E032 | |||||
| :1002000009C083E007C084E005C085E003C086E044 | |||||
| :1002100001C087E00F900F900F900F900F90DF912B | |||||
| :10022000CF911F910F91089521DF8AE080931301F0 | |||||
| :100230008BE080931201C0E0D0E01CE03AC0339B19 | |||||
| :1002400002C03B9A4398CE3E83E0D80790F156DF38 | |||||
| :10025000811129C0E0911001F09111019F01ADECD5 | |||||
| :10026000BCEC2FD0AC0156954795569547955695C1 | |||||
| :100270004795509311014093100136952795369577 | |||||
| :100280002795ABE7B4E11DD0969587958093130130 | |||||
| :10029000880F982F990F990F890F481B40931201CF | |||||
| :1002A000C0E0D0E006C01093130180931201C0E0BB | |||||
| :1002B000D0E02196EBDEC93E83E0D80708F0BFCF3F | |||||
| :1002C000F8CFA29FB001B39FC001A39F01D0B29FFE | |||||
| :0E02D000700D811D1124911D0895F894FFCF2B | |||||
| :0E02DE00FC24BAAE66CEDEA4FEEE161EDA12C8 | |||||
| :00000001FF | |||||
| @@ -0,0 +1,715 @@ | |||||
| PoolClock.elf: file format elf32-avr | |||||
| Sections: | |||||
| Idx Name Size VMA LMA File off Algn | |||||
| 0 .data 0000000e 00800100 000002de 00000372 2**0 | |||||
| CONTENTS, ALLOC, LOAD, DATA | |||||
| 1 .text 000002de 00000000 00000000 00000094 2**1 | |||||
| CONTENTS, ALLOC, LOAD, READONLY, CODE | |||||
| 2 .bss 00000006 0080010e 0080010e 00000380 2**0 | |||||
| ALLOC | |||||
| 3 .comment 00000030 00000000 00000000 00000380 2**0 | |||||
| CONTENTS, READONLY | |||||
| 4 .note.gnu.avr.deviceinfo 00000040 00000000 00000000 000003b0 2**2 | |||||
| CONTENTS, READONLY | |||||
| 5 .debug_aranges 00000048 00000000 00000000 000003f0 2**0 | |||||
| CONTENTS, READONLY, DEBUGGING | |||||
| 6 .debug_info 00000bbe 00000000 00000000 00000438 2**0 | |||||
| CONTENTS, READONLY, DEBUGGING | |||||
| 7 .debug_abbrev 00000784 00000000 00000000 00000ff6 2**0 | |||||
| CONTENTS, READONLY, DEBUGGING | |||||
| 8 .debug_line 00000507 00000000 00000000 0000177a 2**0 | |||||
| CONTENTS, READONLY, DEBUGGING | |||||
| 9 .debug_frame 00000090 00000000 00000000 00001c84 2**2 | |||||
| CONTENTS, READONLY, DEBUGGING | |||||
| 10 .debug_str 00000487 00000000 00000000 00001d14 2**0 | |||||
| CONTENTS, READONLY, DEBUGGING | |||||
| 11 .debug_loc 00000634 00000000 00000000 0000219b 2**0 | |||||
| CONTENTS, READONLY, DEBUGGING | |||||
| 12 .debug_ranges 00000098 00000000 00000000 000027cf 2**0 | |||||
| CONTENTS, READONLY, DEBUGGING | |||||
| Disassembly of section .text: | |||||
| 00000000 <__vectors>: | |||||
| 0: 19 c0 rjmp .+50 ; 0x34 <__ctors_end> | |||||
| 2: 33 c0 rjmp .+102 ; 0x6a <__bad_interrupt> | |||||
| 4: 32 c0 rjmp .+100 ; 0x6a <__bad_interrupt> | |||||
| 6: 31 c0 rjmp .+98 ; 0x6a <__bad_interrupt> | |||||
| 8: 30 c0 rjmp .+96 ; 0x6a <__bad_interrupt> | |||||
| a: 2f c0 rjmp .+94 ; 0x6a <__bad_interrupt> | |||||
| c: 2e c0 rjmp .+92 ; 0x6a <__bad_interrupt> | |||||
| e: 2d c0 rjmp .+90 ; 0x6a <__bad_interrupt> | |||||
| 10: 2c c0 rjmp .+88 ; 0x6a <__bad_interrupt> | |||||
| 12: 2b c0 rjmp .+86 ; 0x6a <__bad_interrupt> | |||||
| 14: 2a c0 rjmp .+84 ; 0x6a <__bad_interrupt> | |||||
| 16: 29 c0 rjmp .+82 ; 0x6a <__bad_interrupt> | |||||
| 18: 28 c0 rjmp .+80 ; 0x6a <__bad_interrupt> | |||||
| 1a: 27 c0 rjmp .+78 ; 0x6a <__bad_interrupt> | |||||
| 1c: 26 c0 rjmp .+76 ; 0x6a <__bad_interrupt> | |||||
| 1e: 25 c0 rjmp .+74 ; 0x6a <__bad_interrupt> | |||||
| 20: 24 c0 rjmp .+72 ; 0x6a <__bad_interrupt> | |||||
| 22: 23 c0 rjmp .+70 ; 0x6a <__bad_interrupt> | |||||
| 24: 22 c0 rjmp .+68 ; 0x6a <__bad_interrupt> | |||||
| 26: 21 c0 rjmp .+66 ; 0x6a <__bad_interrupt> | |||||
| 28: 20 c0 rjmp .+64 ; 0x6a <__bad_interrupt> | |||||
| 2a: 1f c0 rjmp .+62 ; 0x6a <__bad_interrupt> | |||||
| 2c: 1e c0 rjmp .+60 ; 0x6a <__bad_interrupt> | |||||
| 2e: 1d c0 rjmp .+58 ; 0x6a <__bad_interrupt> | |||||
| 30: 1c c0 rjmp .+56 ; 0x6a <__bad_interrupt> | |||||
| 32: 1b c0 rjmp .+54 ; 0x6a <__bad_interrupt> | |||||
| 00000034 <__ctors_end>: | |||||
| 34: 11 24 eor r1, r1 | |||||
| 36: 1f be out 0x3f, r1 ; 63 | |||||
| 38: cf ef ldi r28, 0xFF ; 255 | |||||
| 3a: d4 e0 ldi r29, 0x04 ; 4 | |||||
| 3c: de bf out 0x3e, r29 ; 62 | |||||
| 3e: cd bf out 0x3d, r28 ; 61 | |||||
| 00000040 <__do_copy_data>: | |||||
| 40: 11 e0 ldi r17, 0x01 ; 1 | |||||
| 42: a0 e0 ldi r26, 0x00 ; 0 | |||||
| 44: b1 e0 ldi r27, 0x01 ; 1 | |||||
| 46: ee ed ldi r30, 0xDE ; 222 | |||||
| 48: f2 e0 ldi r31, 0x02 ; 2 | |||||
| 4a: 02 c0 rjmp .+4 ; 0x50 <__do_copy_data+0x10> | |||||
| 4c: 05 90 lpm r0, Z+ | |||||
| 4e: 0d 92 st X+, r0 | |||||
| 50: ae 30 cpi r26, 0x0E ; 14 | |||||
| 52: b1 07 cpc r27, r17 | |||||
| 54: d9 f7 brne .-10 ; 0x4c <__do_copy_data+0xc> | |||||
| 00000056 <__do_clear_bss>: | |||||
| 56: 21 e0 ldi r18, 0x01 ; 1 | |||||
| 58: ae e0 ldi r26, 0x0E ; 14 | |||||
| 5a: b1 e0 ldi r27, 0x01 ; 1 | |||||
| 5c: 01 c0 rjmp .+2 ; 0x60 <.do_clear_bss_start> | |||||
| 0000005e <.do_clear_bss_loop>: | |||||
| 5e: 1d 92 st X+, r1 | |||||
| 00000060 <.do_clear_bss_start>: | |||||
| 60: a4 31 cpi r26, 0x14 ; 20 | |||||
| 62: b2 07 cpc r27, r18 | |||||
| 64: e1 f7 brne .-8 ; 0x5e <.do_clear_bss_loop> | |||||
| 66: e0 d0 rcall .+448 ; 0x228 <main> | |||||
| 68: 38 c1 rjmp .+624 ; 0x2da <_exit> | |||||
| 0000006a <__bad_interrupt>: | |||||
| 6a: ca cf rjmp .-108 ; 0x0 <__vectors> | |||||
| 0000006c <vInit>: | |||||
| } | |||||
| g_u8CountDecs = 0U; //reset decrement counter | |||||
| } | |||||
| g_u8Tens = g_u8WaterTemperature / 10U; | |||||
| g_u8Ones = g_u8WaterTemperature - (g_u8Tens * 10U); | |||||
| 6c: 8f ef ldi r24, 0xFF ; 255 | |||||
| 6e: 8a b9 out 0x0a, r24 ; 10 | |||||
| 70: 87 e0 ldi r24, 0x07 ; 7 | |||||
| 72: 84 b9 out 0x04, r24 ; 4 | |||||
| 74: 3b 98 cbi 0x07, 3 ; 7 | |||||
| 76: 43 98 cbi 0x08, 3 ; 8 | |||||
| 78: 2f ef ldi r18, 0xFF ; 255 | |||||
| 7a: 81 e1 ldi r24, 0x11 ; 17 | |||||
| 7c: 9a e7 ldi r25, 0x7A ; 122 | |||||
| 7e: 21 50 subi r18, 0x01 ; 1 | |||||
| 80: 80 40 sbci r24, 0x00 ; 0 | |||||
| 82: 90 40 sbci r25, 0x00 ; 0 | |||||
| 84: e1 f7 brne .-8 ; 0x7e <vInit+0x12> | |||||
| 86: 00 c0 rjmp .+0 ; 0x88 <vInit+0x1c> | |||||
| 88: 00 00 nop | |||||
| 8a: 08 95 ret | |||||
| 0000008c <vShow>: | |||||
| /************************************************************************/ | |||||
| /* */ | |||||
| /************************************************************************/ | |||||
| void vShow( void ) | |||||
| { | |||||
| PORTD = 0U; | |||||
| 8c: 1b b8 out 0x0b, r1 ; 11 | |||||
| PORTB = SELECT_DIGIT(DIGIT_TENS); | |||||
| 8e: 84 e0 ldi r24, 0x04 ; 4 | |||||
| 90: 85 b9 out 0x05, r24 ; 5 | |||||
| #else | |||||
| //round up by default | |||||
| __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); | |||||
| #endif | |||||
| __builtin_avr_delay_cycles(__ticks_dc); | |||||
| 92: 86 e0 ldi r24, 0x06 ; 6 | |||||
| 94: 8a 95 dec r24 | |||||
| 96: f1 f7 brne .-4 ; 0x94 <vShow+0x8> | |||||
| 98: 00 c0 rjmp .+0 ; 0x9a <vShow+0xe> | |||||
| _delay_us(1); | |||||
| PORTD = g_au8Numbers[g_u8Tens]; | |||||
| 9a: e0 91 13 01 lds r30, 0x0113 ; 0x800113 <g_u8Tens> | |||||
| 9e: f0 e0 ldi r31, 0x00 ; 0 | |||||
| a0: e0 50 subi r30, 0x00 ; 0 | |||||
| a2: ff 4f sbci r31, 0xFF ; 255 | |||||
| a4: 80 81 ld r24, Z | |||||
| a6: 8b b9 out 0x0b, r24 ; 11 | |||||
| #else | |||||
| //round up by default | |||||
| __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); | |||||
| #endif | |||||
| __builtin_avr_delay_cycles(__ticks_dc); | |||||
| a8: 87 e8 ldi r24, 0x87 ; 135 | |||||
| aa: 93 e1 ldi r25, 0x13 ; 19 | |||||
| ac: 01 97 sbiw r24, 0x01 ; 1 | |||||
| ae: f1 f7 brne .-4 ; 0xac <vShow+0x20> | |||||
| b0: 00 c0 rjmp .+0 ; 0xb2 <vShow+0x26> | |||||
| b2: 00 00 nop | |||||
| _delay_ms(MULTIPLEX_DELAY_MS); | |||||
| PORTD = 0U; | |||||
| b4: 1b b8 out 0x0b, r1 ; 11 | |||||
| PORTB = SELECT_DIGIT(DIGIT_ONES); | |||||
| b6: 82 e0 ldi r24, 0x02 ; 2 | |||||
| b8: 85 b9 out 0x05, r24 ; 5 | |||||
| #else | |||||
| //round up by default | |||||
| __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); | |||||
| #endif | |||||
| __builtin_avr_delay_cycles(__ticks_dc); | |||||
| ba: 96 e0 ldi r25, 0x06 ; 6 | |||||
| bc: 9a 95 dec r25 | |||||
| be: f1 f7 brne .-4 ; 0xbc <vShow+0x30> | |||||
| c0: 00 c0 rjmp .+0 ; 0xc2 <vShow+0x36> | |||||
| _delay_us(1); | |||||
| PORTD = g_au8Numbers[g_u8Ones]; | |||||
| c2: e0 91 12 01 lds r30, 0x0112 ; 0x800112 <g_u8Ones> | |||||
| c6: f0 e0 ldi r31, 0x00 ; 0 | |||||
| c8: e0 50 subi r30, 0x00 ; 0 | |||||
| ca: ff 4f sbci r31, 0xFF ; 255 | |||||
| cc: 80 81 ld r24, Z | |||||
| ce: 8b b9 out 0x0b, r24 ; 11 | |||||
| #else | |||||
| //round up by default | |||||
| __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); | |||||
| #endif | |||||
| __builtin_avr_delay_cycles(__ticks_dc); | |||||
| d0: 87 e8 ldi r24, 0x87 ; 135 | |||||
| d2: 93 e1 ldi r25, 0x13 ; 19 | |||||
| d4: 01 97 sbiw r24, 0x01 ; 1 | |||||
| d6: f1 f7 brne .-4 ; 0xd4 <vShow+0x48> | |||||
| d8: 00 c0 rjmp .+0 ; 0xda <vShow+0x4e> | |||||
| da: 00 00 nop | |||||
| _delay_ms(MULTIPLEX_DELAY_MS); | |||||
| PORTD = 0U; | |||||
| dc: 1b b8 out 0x0b, r1 ; 11 | |||||
| PORTB = SELECT_DIGIT(DIGIT_UNIT); | |||||
| de: 81 e0 ldi r24, 0x01 ; 1 | |||||
| e0: 85 b9 out 0x05, r24 ; 5 | |||||
| #else | |||||
| //round up by default | |||||
| __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); | |||||
| #endif | |||||
| __builtin_avr_delay_cycles(__ticks_dc); | |||||
| e2: 96 e0 ldi r25, 0x06 ; 6 | |||||
| e4: 9a 95 dec r25 | |||||
| e6: f1 f7 brne .-4 ; 0xe4 <vShow+0x58> | |||||
| e8: 00 c0 rjmp .+0 ; 0xea <vShow+0x5e> | |||||
| _delay_us(1); | |||||
| PORTD = DEGREE_CELCIUS; | |||||
| ea: 8d ea ldi r24, 0xAD ; 173 | |||||
| ec: 8b b9 out 0x0b, r24 ; 11 | |||||
| #else | |||||
| //round up by default | |||||
| __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); | |||||
| #endif | |||||
| __builtin_avr_delay_cycles(__ticks_dc); | |||||
| ee: 87 e8 ldi r24, 0x87 ; 135 | |||||
| f0: 93 e1 ldi r25, 0x13 ; 19 | |||||
| f2: 01 97 sbiw r24, 0x01 ; 1 | |||||
| f4: f1 f7 brne .-4 ; 0xf2 <vShow+0x66> | |||||
| f6: 00 c0 rjmp .+0 ; 0xf8 <vShow+0x6c> | |||||
| f8: 00 00 nop | |||||
| fa: 08 95 ret | |||||
| 000000fc <u8ReadSensor>: | |||||
| /************************************************************************/ | |||||
| /* */ | |||||
| /************************************************************************/ | |||||
| uint8_t u8ReadSensor( void ) | |||||
| { | |||||
| fc: 0f 93 push r16 | |||||
| fe: 1f 93 push r17 | |||||
| 100: cf 93 push r28 | |||||
| 102: df 93 push r29 | |||||
| 104: 00 d0 rcall .+0 ; 0x106 <u8ReadSensor+0xa> | |||||
| 106: 00 d0 rcall .+0 ; 0x108 <u8ReadSensor+0xc> | |||||
| 108: 1f 92 push r1 | |||||
| 10a: cd b7 in r28, 0x3d ; 61 | |||||
| 10c: de b7 in r29, 0x3e ; 62 | |||||
| uint8_t timeout = 200; | |||||
| SENSOR_sda_in; | |||||
| 10e: 3b 98 cbi 0x07, 3 ; 7 | |||||
| // Bus master has released time min: 20us, typ: 30us, max: 200us | |||||
| while ( SENSOR_is_hi ) | |||||
| 110: 89 ec ldi r24, 0xC9 ; 201 | |||||
| 112: 07 c0 rjmp .+14 ; 0x122 <u8ReadSensor+0x26> | |||||
| #else | |||||
| //round up by default | |||||
| __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); | |||||
| #endif | |||||
| __builtin_avr_delay_cycles(__ticks_dc); | |||||
| 114: 36 e0 ldi r19, 0x06 ; 6 | |||||
| 116: 3a 95 dec r19 | |||||
| 118: f1 f7 brne .-4 ; 0x116 <u8ReadSensor+0x1a> | |||||
| 11a: 00 c0 rjmp .+0 ; 0x11c <u8ReadSensor+0x20> | |||||
| 11c: 81 50 subi r24, 0x01 ; 1 | |||||
| { | |||||
| _delay_us(1); | |||||
| if ( !timeout-- ) | |||||
| 11e: 09 f4 brne .+2 ; 0x122 <u8ReadSensor+0x26> | |||||
| 120: 6e c0 rjmp .+220 ; 0x1fe <u8ReadSensor+0x102> | |||||
| uint8_t timeout = 200; | |||||
| SENSOR_sda_in; | |||||
| // Bus master has released time min: 20us, typ: 30us, max: 200us | |||||
| while ( SENSOR_is_hi ) | |||||
| 122: 33 99 sbic 0x06, 3 ; 6 | |||||
| 124: f7 cf rjmp .-18 ; 0x114 <u8ReadSensor+0x18> | |||||
| 126: 86 e5 ldi r24, 0x56 ; 86 | |||||
| 128: 07 c0 rjmp .+14 ; 0x138 <u8ReadSensor+0x3c> | |||||
| 12a: 96 e0 ldi r25, 0x06 ; 6 | |||||
| 12c: 9a 95 dec r25 | |||||
| 12e: f1 f7 brne .-4 ; 0x12c <u8ReadSensor+0x30> | |||||
| 130: 00 c0 rjmp .+0 ; 0x132 <u8ReadSensor+0x36> | |||||
| 132: 81 50 subi r24, 0x01 ; 1 | |||||
| // AM2302 response signal min: 75us typ:80us max:85us | |||||
| timeout = 85; | |||||
| while(SENSOR_is_low) | |||||
| { | |||||
| _delay_us(1); | |||||
| if (!timeout--) | |||||
| 134: 09 f4 brne .+2 ; 0x138 <u8ReadSensor+0x3c> | |||||
| 136: 65 c0 rjmp .+202 ; 0x202 <u8ReadSensor+0x106> | |||||
| } | |||||
| } | |||||
| // AM2302 response signal min: 75us typ:80us max:85us | |||||
| timeout = 85; | |||||
| while(SENSOR_is_low) | |||||
| 138: 33 9b sbis 0x06, 3 ; 6 | |||||
| 13a: f7 cf rjmp .-18 ; 0x12a <u8ReadSensor+0x2e> | |||||
| 13c: 86 e5 ldi r24, 0x56 ; 86 | |||||
| 13e: 07 c0 rjmp .+14 ; 0x14e <u8ReadSensor+0x52> | |||||
| 140: a6 e0 ldi r26, 0x06 ; 6 | |||||
| 142: aa 95 dec r26 | |||||
| 144: f1 f7 brne .-4 ; 0x142 <u8ReadSensor+0x46> | |||||
| 146: 00 c0 rjmp .+0 ; 0x148 <u8ReadSensor+0x4c> | |||||
| 148: 81 50 subi r24, 0x01 ; 1 | |||||
| timeout = 85; | |||||
| while(SENSOR_is_hi) | |||||
| { | |||||
| _delay_us(1); | |||||
| if (!timeout--) | |||||
| 14a: 09 f4 brne .+2 ; 0x14e <u8ReadSensor+0x52> | |||||
| 14c: 5c c0 rjmp .+184 ; 0x206 <u8ReadSensor+0x10a> | |||||
| return 3; | |||||
| } | |||||
| } // response to low time | |||||
| timeout = 85; | |||||
| while(SENSOR_is_hi) | |||||
| 14e: 33 99 sbic 0x06, 3 ; 6 | |||||
| 150: f7 cf rjmp .-18 ; 0x140 <u8ReadSensor+0x44> | |||||
| * signal 0 high time: 22 26 30 (bit=0) | |||||
| * signal 1 high time: 68 70 75 (bit=1) | |||||
| * signal 0,1 down time: 48 50 55 | |||||
| */ | |||||
| uint8_t sensor_data[5]={0}; | |||||
| 152: fe 01 movw r30, r28 | |||||
| 154: 31 96 adiw r30, 0x01 ; 1 | |||||
| 156: 85 e0 ldi r24, 0x05 ; 5 | |||||
| 158: df 01 movw r26, r30 | |||||
| 15a: 1d 92 st X+, r1 | |||||
| 15c: 8a 95 dec r24 | |||||
| 15e: e9 f7 brne .-6 ; 0x15a <u8ReadSensor+0x5e> | |||||
| 160: ae 01 movw r20, r28 | |||||
| 162: 4a 5f subi r20, 0xFA ; 250 | |||||
| 164: 5f 4f sbci r21, 0xFF ; 255 | |||||
| 166: 22 c0 rjmp .+68 ; 0x1ac <u8ReadSensor+0xb0> | |||||
| 168: b6 e0 ldi r27, 0x06 ; 6 | |||||
| 16a: ba 95 dec r27 | |||||
| 16c: f1 f7 brne .-4 ; 0x16a <u8ReadSensor+0x6e> | |||||
| 16e: 00 c0 rjmp .+0 ; 0x170 <u8ReadSensor+0x74> | |||||
| 170: 91 50 subi r25, 0x01 ; 1 | |||||
| while(SENSOR_is_low) | |||||
| { | |||||
| _delay_us(1); | |||||
| // if timeout == 0 => sensor do not response | |||||
| if (!timeout--) | |||||
| 172: 11 f4 brne .+4 ; 0x178 <u8ReadSensor+0x7c> | |||||
| 174: 4a c0 rjmp .+148 ; 0x20a <u8ReadSensor+0x10e> | |||||
| 176: 98 e3 ldi r25, 0x38 ; 56 | |||||
| // get 8 bits from sensor | |||||
| for(uint8_t j = 1; j <= 8; j++) | |||||
| { | |||||
| // wait for sensor response | |||||
| timeout = 55; | |||||
| while(SENSOR_is_low) | |||||
| 178: 33 9b sbis 0x06, 3 ; 6 | |||||
| 17a: f6 cf rjmp .-20 ; 0x168 <u8ReadSensor+0x6c> | |||||
| 17c: 38 ec ldi r19, 0xC8 ; 200 | |||||
| 17e: 3a 95 dec r19 | |||||
| 180: f1 f7 brne .-4 ; 0x17e <u8ReadSensor+0x82> | |||||
| } | |||||
| } | |||||
| // wait 30 us to check if bit is logical "1" or "0" | |||||
| _delay_us(30); | |||||
| sensor_byte <<= 1; // add new lower bit | |||||
| 182: 22 0f add r18, r18 | |||||
| // If sda ist high after 30 us then bit is logical "1" else it was a logical "0" | |||||
| // For a logical "1" sda have to be low after 75 us. | |||||
| if (SENSOR_is_hi) | |||||
| 184: 33 99 sbic 0x06, 3 ; 6 | |||||
| 186: 08 c0 rjmp .+16 ; 0x198 <u8ReadSensor+0x9c> | |||||
| 188: 0b c0 rjmp .+22 ; 0x1a0 <u8ReadSensor+0xa4> | |||||
| 18a: a6 e0 ldi r26, 0x06 ; 6 | |||||
| 18c: aa 95 dec r26 | |||||
| 18e: f1 f7 brne .-4 ; 0x18c <u8ReadSensor+0x90> | |||||
| 190: 00 c0 rjmp .+0 ; 0x192 <u8ReadSensor+0x96> | |||||
| 192: 91 50 subi r25, 0x01 ; 1 | |||||
| while(SENSOR_is_hi) | |||||
| { | |||||
| _delay_us(1); | |||||
| if (!timeout--) | |||||
| 194: 11 f4 brne .+4 ; 0x19a <u8ReadSensor+0x9e> | |||||
| 196: 3b c0 rjmp .+118 ; 0x20e <u8ReadSensor+0x112> | |||||
| 198: 9e e2 ldi r25, 0x2E ; 46 | |||||
| if (SENSOR_is_hi) | |||||
| { | |||||
| sensor_byte |= 1; // add logical "1" | |||||
| timeout = 45; // 30us - 75us = 45us | |||||
| while(SENSOR_is_hi) | |||||
| 19a: 33 99 sbic 0x06, 3 ; 6 | |||||
| 19c: f6 cf rjmp .-20 ; 0x18a <u8ReadSensor+0x8e> | |||||
| // If sda ist high after 30 us then bit is logical "1" else it was a logical "0" | |||||
| // For a logical "1" sda have to be low after 75 us. | |||||
| if (SENSOR_is_hi) | |||||
| { | |||||
| sensor_byte |= 1; // add logical "1" | |||||
| 19e: 21 60 ori r18, 0x01 ; 1 | |||||
| 1a0: 81 50 subi r24, 0x01 ; 1 | |||||
| for(uint8_t i = 0; i < 5; i++) | |||||
| { | |||||
| uint8_t sensor_byte = 0; | |||||
| // get 8 bits from sensor | |||||
| for(uint8_t j = 1; j <= 8; j++) | |||||
| 1a2: 49 f7 brne .-46 ; 0x176 <u8ReadSensor+0x7a> | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| sensor_data[i] = sensor_byte; | |||||
| 1a4: 21 93 st Z+, r18 | |||||
| * signal 0,1 down time: 48 50 55 | |||||
| */ | |||||
| uint8_t sensor_data[5]={0}; | |||||
| for(uint8_t i = 0; i < 5; i++) | |||||
| 1a6: 4e 17 cp r20, r30 | |||||
| 1a8: 5f 07 cpc r21, r31 | |||||
| 1aa: 19 f0 breq .+6 ; 0x1b2 <u8ReadSensor+0xb6> | |||||
| 1ac: 88 e0 ldi r24, 0x08 ; 8 | |||||
| 1ae: 20 e0 ldi r18, 0x00 ; 0 | |||||
| 1b0: e2 cf rjmp .-60 ; 0x176 <u8ReadSensor+0x7a> | |||||
| sensor_data[i] = sensor_byte; | |||||
| } | |||||
| // checksum | |||||
| if ( ((sensor_data[0] + sensor_data[1] + sensor_data[2] + sensor_data[3]) & 0xff ) != sensor_data[4]) | |||||
| 1b2: a9 81 ldd r26, Y+1 ; 0x01 | |||||
| 1b4: b0 e0 ldi r27, 0x00 ; 0 | |||||
| 1b6: ea 81 ldd r30, Y+2 ; 0x02 | |||||
| 1b8: f0 e0 ldi r31, 0x00 ; 0 | |||||
| 1ba: 6b 81 ldd r22, Y+3 ; 0x03 | |||||
| 1bc: 70 e0 ldi r23, 0x00 ; 0 | |||||
| 1be: 4c 81 ldd r20, Y+4 ; 0x04 | |||||
| 1c0: 50 e0 ldi r21, 0x00 ; 0 | |||||
| 1c2: 9d 01 movw r18, r26 | |||||
| 1c4: 2e 0f add r18, r30 | |||||
| 1c6: 3f 1f adc r19, r31 | |||||
| 1c8: 26 0f add r18, r22 | |||||
| 1ca: 37 1f adc r19, r23 | |||||
| 1cc: 24 0f add r18, r20 | |||||
| 1ce: 35 1f adc r19, r21 | |||||
| 1d0: 33 27 eor r19, r19 | |||||
| 1d2: 0d 81 ldd r16, Y+5 ; 0x05 | |||||
| 1d4: 10 e0 ldi r17, 0x00 ; 0 | |||||
| 1d6: 20 17 cp r18, r16 | |||||
| 1d8: 31 07 cpc r19, r17 | |||||
| 1da: d9 f4 brne .+54 ; 0x212 <u8ReadSensor+0x116> | |||||
| // debug output | |||||
| //printf("%b %b %b %b %b %b" CR, sensor_data[0], sensor_data[1], sensor_data[2], sensor_data[3], sensor_data[4], ((sensor_data[0]+sensor_data[1]+sensor_data[2]+sensor_data[3]) & 0xff )); | |||||
| return 7; | |||||
| } | |||||
| g_u16Humidity = (sensor_data[0] << 8) + sensor_data[1]; | |||||
| 1dc: ba 2f mov r27, r26 | |||||
| 1de: aa 27 eor r26, r26 | |||||
| 1e0: ea 0f add r30, r26 | |||||
| 1e2: fb 1f adc r31, r27 | |||||
| 1e4: f0 93 11 01 sts 0x0111, r31 ; 0x800111 <g_u16Humidity+0x1> | |||||
| 1e8: e0 93 10 01 sts 0x0110, r30 ; 0x800110 <g_u16Humidity> | |||||
| g_u16Temperature = (sensor_data[2] << 8) + sensor_data[3]; | |||||
| 1ec: 76 2f mov r23, r22 | |||||
| 1ee: 66 27 eor r22, r22 | |||||
| 1f0: 46 0f add r20, r22 | |||||
| 1f2: 57 1f adc r21, r23 | |||||
| 1f4: 50 93 0f 01 sts 0x010F, r21 ; 0x80010f <__data_end+0x1> | |||||
| 1f8: 40 93 0e 01 sts 0x010E, r20 ; 0x80010e <__data_end> | |||||
| return 0; | |||||
| 1fc: 0b c0 rjmp .+22 ; 0x214 <u8ReadSensor+0x118> | |||||
| while ( SENSOR_is_hi ) | |||||
| { | |||||
| _delay_us(1); | |||||
| if ( !timeout-- ) | |||||
| { | |||||
| return 2; | |||||
| 1fe: 82 e0 ldi r24, 0x02 ; 2 | |||||
| 200: 09 c0 rjmp .+18 ; 0x214 <u8ReadSensor+0x118> | |||||
| while(SENSOR_is_low) | |||||
| { | |||||
| _delay_us(1); | |||||
| if (!timeout--) | |||||
| { | |||||
| return 3; | |||||
| 202: 83 e0 ldi r24, 0x03 ; 3 | |||||
| 204: 07 c0 rjmp .+14 ; 0x214 <u8ReadSensor+0x118> | |||||
| while(SENSOR_is_hi) | |||||
| { | |||||
| _delay_us(1); | |||||
| if (!timeout--) | |||||
| { | |||||
| return 4; | |||||
| 206: 84 e0 ldi r24, 0x04 ; 4 | |||||
| 208: 05 c0 rjmp .+10 ; 0x214 <u8ReadSensor+0x118> | |||||
| _delay_us(1); | |||||
| // if timeout == 0 => sensor do not response | |||||
| if (!timeout--) | |||||
| { | |||||
| return 5; | |||||
| 20a: 85 e0 ldi r24, 0x05 ; 5 | |||||
| 20c: 03 c0 rjmp .+6 ; 0x214 <u8ReadSensor+0x118> | |||||
| { | |||||
| _delay_us(1); | |||||
| if (!timeout--) | |||||
| { | |||||
| return 6; | |||||
| 20e: 86 e0 ldi r24, 0x06 ; 6 | |||||
| 210: 01 c0 rjmp .+2 ; 0x214 <u8ReadSensor+0x118> | |||||
| // checksum | |||||
| if ( ((sensor_data[0] + sensor_data[1] + sensor_data[2] + sensor_data[3]) & 0xff ) != sensor_data[4]) | |||||
| { | |||||
| // debug output | |||||
| //printf("%b %b %b %b %b %b" CR, sensor_data[0], sensor_data[1], sensor_data[2], sensor_data[3], sensor_data[4], ((sensor_data[0]+sensor_data[1]+sensor_data[2]+sensor_data[3]) & 0xff )); | |||||
| return 7; | |||||
| 212: 87 e0 ldi r24, 0x07 ; 7 | |||||
| g_u16Humidity = (sensor_data[0] << 8) + sensor_data[1]; | |||||
| g_u16Temperature = (sensor_data[2] << 8) + sensor_data[3]; | |||||
| return 0; | |||||
| 214: 0f 90 pop r0 | |||||
| 216: 0f 90 pop r0 | |||||
| 218: 0f 90 pop r0 | |||||
| 21a: 0f 90 pop r0 | |||||
| 21c: 0f 90 pop r0 | |||||
| 21e: df 91 pop r29 | |||||
| 220: cf 91 pop r28 | |||||
| 222: 1f 91 pop r17 | |||||
| 224: 0f 91 pop r16 | |||||
| 226: 08 95 ret | |||||
| 00000228 <main>: | |||||
| int main(void) | |||||
| { | |||||
| uint16_t u16Counter = 0U; | |||||
| uint8_t u8ErrorCode = 0U; | |||||
| vInit(); | |||||
| 228: 21 df rcall .-446 ; 0x6c <vInit> | |||||
| g_u8Tens = 10; //n | |||||
| 22a: 8a e0 ldi r24, 0x0A ; 10 | |||||
| 22c: 80 93 13 01 sts 0x0113, r24 ; 0x800113 <g_u8Tens> | |||||
| g_u8Ones = 11; //o | |||||
| 230: 8b e0 ldi r24, 0x0B ; 11 | |||||
| 232: 80 93 12 01 sts 0x0112, r24 ; 0x800112 <g_u8Ones> | |||||
| /************************************************************************/ | |||||
| /* main() */ | |||||
| /************************************************************************/ | |||||
| int main(void) | |||||
| { | |||||
| uint16_t u16Counter = 0U; | |||||
| 236: c0 e0 ldi r28, 0x00 ; 0 | |||||
| 238: d0 e0 ldi r29, 0x00 ; 0 | |||||
| //g_u8Tens = g_u16Temperature / 10U; | |||||
| //g_u8Ones = g_u16Temperature - (g_u8Tens * 10U); | |||||
| } | |||||
| else | |||||
| { | |||||
| g_u8Tens = 12; | |||||
| 23a: 1c e0 ldi r17, 0x0C ; 12 | |||||
| 23c: 3a c0 rjmp .+116 ; 0x2b2 <main+0x8a> | |||||
| while ( 1 ) | |||||
| { | |||||
| if ( u16Counter > 1000 ) | |||||
| { | |||||
| if ( SENSOR_is_hi ) | |||||
| 23e: 33 9b sbis 0x06, 3 ; 6 | |||||
| 240: 02 c0 rjmp .+4 ; 0x246 <main+0x1e> | |||||
| { | |||||
| SENSOR_sda_out; | |||||
| 242: 3b 9a sbi 0x07, 3 ; 7 | |||||
| SENSOR_sda_low; | |||||
| 244: 43 98 cbi 0x08, 3 ; 8 | |||||
| } | |||||
| if ( u16Counter > 1005 ) | |||||
| 246: ce 3e cpi r28, 0xEE ; 238 | |||||
| 248: 83 e0 ldi r24, 0x03 ; 3 | |||||
| 24a: d8 07 cpc r29, r24 | |||||
| 24c: 90 f1 brcs .+100 ; 0x2b2 <main+0x8a> | |||||
| { | |||||
| //_delay_us(1200); | |||||
| //_delay_ms(20); // start signal (pull sda down for min 0.8ms and maximum 20ms) | |||||
| u8ErrorCode = u8ReadSensor(); | |||||
| 24e: 56 df rcall .-340 ; 0xfc <u8ReadSensor> | |||||
| if ( 0 == u8ErrorCode ) | |||||
| 250: 81 11 cpse r24, r1 | |||||
| 252: 29 c0 rjmp .+82 ; 0x2a6 <main+0x7e> | |||||
| { | |||||
| g_u16Humidity /= 10; | |||||
| 254: e0 91 10 01 lds r30, 0x0110 ; 0x800110 <g_u16Humidity> | |||||
| 258: f0 91 11 01 lds r31, 0x0111 ; 0x800111 <g_u16Humidity+0x1> | |||||
| 25c: 9f 01 movw r18, r30 | |||||
| 25e: ad ec ldi r26, 0xCD ; 205 | |||||
| 260: bc ec ldi r27, 0xCC ; 204 | |||||
| 262: 2f d0 rcall .+94 ; 0x2c2 <__umulhisi3> | |||||
| 264: ac 01 movw r20, r24 | |||||
| 266: 56 95 lsr r21 | |||||
| 268: 47 95 ror r20 | |||||
| 26a: 56 95 lsr r21 | |||||
| 26c: 47 95 ror r20 | |||||
| 26e: 56 95 lsr r21 | |||||
| 270: 47 95 ror r20 | |||||
| 272: 50 93 11 01 sts 0x0111, r21 ; 0x800111 <g_u16Humidity+0x1> | |||||
| 276: 40 93 10 01 sts 0x0110, r20 ; 0x800110 <g_u16Humidity> | |||||
| g_u8Tens = g_u16Humidity / 10U; | |||||
| 27a: 36 95 lsr r19 | |||||
| 27c: 27 95 ror r18 | |||||
| 27e: 36 95 lsr r19 | |||||
| 280: 27 95 ror r18 | |||||
| 282: ab e7 ldi r26, 0x7B ; 123 | |||||
| 284: b4 e1 ldi r27, 0x14 ; 20 | |||||
| 286: 1d d0 rcall .+58 ; 0x2c2 <__umulhisi3> | |||||
| 288: 96 95 lsr r25 | |||||
| 28a: 87 95 ror r24 | |||||
| 28c: 80 93 13 01 sts 0x0113, r24 ; 0x800113 <g_u8Tens> | |||||
| g_u8Ones = g_u16Humidity - (g_u8Tens * 10U); | |||||
| 290: 88 0f add r24, r24 | |||||
| 292: 98 2f mov r25, r24 | |||||
| 294: 99 0f add r25, r25 | |||||
| 296: 99 0f add r25, r25 | |||||
| 298: 89 0f add r24, r25 | |||||
| 29a: 48 1b sub r20, r24 | |||||
| 29c: 40 93 12 01 sts 0x0112, r20 ; 0x800112 <g_u8Ones> | |||||
| else | |||||
| { | |||||
| g_u8Tens = 12; | |||||
| g_u8Ones = u8ErrorCode; | |||||
| } | |||||
| u16Counter = 0U; | |||||
| 2a0: c0 e0 ldi r28, 0x00 ; 0 | |||||
| 2a2: d0 e0 ldi r29, 0x00 ; 0 | |||||
| 2a4: 06 c0 rjmp .+12 ; 0x2b2 <main+0x8a> | |||||
| //g_u8Tens = g_u16Temperature / 10U; | |||||
| //g_u8Ones = g_u16Temperature - (g_u8Tens * 10U); | |||||
| } | |||||
| else | |||||
| { | |||||
| g_u8Tens = 12; | |||||
| 2a6: 10 93 13 01 sts 0x0113, r17 ; 0x800113 <g_u8Tens> | |||||
| g_u8Ones = u8ErrorCode; | |||||
| 2aa: 80 93 12 01 sts 0x0112, r24 ; 0x800112 <g_u8Ones> | |||||
| } | |||||
| u16Counter = 0U; | |||||
| 2ae: c0 e0 ldi r28, 0x00 ; 0 | |||||
| 2b0: d0 e0 ldi r29, 0x00 ; 0 | |||||
| } | |||||
| } | |||||
| u16Counter++; | |||||
| 2b2: 21 96 adiw r28, 0x01 ; 1 | |||||
| //vReadButtons(); | |||||
| //vCalculate(); | |||||
| vShow(); | |||||
| 2b4: eb de rcall .-554 ; 0x8c <vShow> | |||||
| g_u8Tens = 10; //n | |||||
| g_u8Ones = 11; //o | |||||
| while ( 1 ) | |||||
| { | |||||
| if ( u16Counter > 1000 ) | |||||
| 2b6: c9 3e cpi r28, 0xE9 ; 233 | |||||
| 2b8: 83 e0 ldi r24, 0x03 ; 3 | |||||
| 2ba: d8 07 cpc r29, r24 | |||||
| 2bc: 08 f0 brcs .+2 ; 0x2c0 <main+0x98> | |||||
| 2be: bf cf rjmp .-130 ; 0x23e <main+0x16> | |||||
| 2c0: f8 cf rjmp .-16 ; 0x2b2 <main+0x8a> | |||||
| 000002c2 <__umulhisi3>: | |||||
| 2c2: a2 9f mul r26, r18 | |||||
| 2c4: b0 01 movw r22, r0 | |||||
| 2c6: b3 9f mul r27, r19 | |||||
| 2c8: c0 01 movw r24, r0 | |||||
| 2ca: a3 9f mul r26, r19 | |||||
| 2cc: 01 d0 rcall .+2 ; 0x2d0 <__umulhisi3+0xe> | |||||
| 2ce: b2 9f mul r27, r18 | |||||
| 2d0: 70 0d add r23, r0 | |||||
| 2d2: 81 1d adc r24, r1 | |||||
| 2d4: 11 24 eor r1, r1 | |||||
| 2d6: 91 1d adc r25, r1 | |||||
| 2d8: 08 95 ret | |||||
| 000002da <_exit>: | |||||
| 2da: f8 94 cli | |||||
| 000002dc <__stop_program>: | |||||
| 2dc: ff cf rjmp .-2 ; 0x2dc <__stop_program> | |||||
| @@ -0,0 +1,503 @@ | |||||
| Archive member included to satisfy reference by file (symbol) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o (exit) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| main.o (__do_copy_data) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| main.o (__do_clear_bss) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_umulhisi3.o) | |||||
| main.o (__umulhisi3) | |||||
| Discarded input sections | |||||
| .data 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .bss 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .text 0x00000000 0x0 main.o | |||||
| .data 0x00000000 0x0 main.o | |||||
| .bss 0x00000000 0x0 main.o | |||||
| .text.vReadButtons | |||||
| 0x00000000 0x2a main.o | |||||
| .text.vCalculate | |||||
| 0x00000000 0x6a main.o | |||||
| .bss.g_u8CountDecs | |||||
| 0x00000000 0x1 main.o | |||||
| .bss.g_u8CountIncs | |||||
| 0x00000000 0x1 main.o | |||||
| .data.g_u8WaterTemperature | |||||
| 0x00000000 0x1 main.o | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc.mul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc.div | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc.prologue | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc.builtins | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc.fmul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc.fixed | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc.mul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc.div | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc.prologue | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc.builtins | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc.fmul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc.fixed | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc.mul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc.div | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc.prologue | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc.builtins | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc.fmul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc.fixed | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_umulhisi3.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_umulhisi3.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_umulhisi3.o) | |||||
| .text.libgcc.div | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_umulhisi3.o) | |||||
| .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_umulhisi3.o) | |||||
| .text.libgcc.prologue | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_umulhisi3.o) | |||||
| .text.libgcc.builtins | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_umulhisi3.o) | |||||
| .text.libgcc.fmul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_umulhisi3.o) | |||||
| .text.libgcc.fixed | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_umulhisi3.o) | |||||
| Memory Configuration | |||||
| Name Origin Length Attributes | |||||
| text 0x00000000 0x00002000 xr | |||||
| data 0x00800060 0x0000ffa0 rw !x | |||||
| eeprom 0x00810000 0x00010000 rw !x | |||||
| fuse 0x00820000 0x00000003 rw !x | |||||
| lock 0x00830000 0x00000400 rw !x | |||||
| signature 0x00840000 0x00000400 rw !x | |||||
| user_signatures 0x00850000 0x00000400 rw !x | |||||
| *default* 0x00000000 0xffffffff | |||||
| Linker script and memory map | |||||
| Address of section .data set to 0x800100 | |||||
| LOAD C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| LOAD main.o | |||||
| START GROUP | |||||
| LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a | |||||
| END GROUP | |||||
| START GROUP | |||||
| LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a | |||||
| LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a | |||||
| LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libc.a | |||||
| LOAD C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4\libatmega88pa.a | |||||
| END GROUP | |||||
| 0x00002000 __TEXT_REGION_LENGTH__ = DEFINED (__TEXT_REGION_LENGTH__)?__TEXT_REGION_LENGTH__:0x2000 | |||||
| 0x0000ffa0 __DATA_REGION_LENGTH__ = DEFINED (__DATA_REGION_LENGTH__)?__DATA_REGION_LENGTH__:0xffa0 | |||||
| 0x00010000 __EEPROM_REGION_LENGTH__ = DEFINED (__EEPROM_REGION_LENGTH__)?__EEPROM_REGION_LENGTH__:0x10000 | |||||
| [0x00000003] __FUSE_REGION_LENGTH__ = DEFINED (__FUSE_REGION_LENGTH__)?__FUSE_REGION_LENGTH__:0x400 | |||||
| 0x00000400 __LOCK_REGION_LENGTH__ = DEFINED (__LOCK_REGION_LENGTH__)?__LOCK_REGION_LENGTH__:0x400 | |||||
| 0x00000400 __SIGNATURE_REGION_LENGTH__ = DEFINED (__SIGNATURE_REGION_LENGTH__)?__SIGNATURE_REGION_LENGTH__:0x400 | |||||
| 0x00000400 __USER_SIGNATURE_REGION_LENGTH__ = DEFINED (__USER_SIGNATURE_REGION_LENGTH__)?__USER_SIGNATURE_REGION_LENGTH__:0x400 | |||||
| .hash | |||||
| *(.hash) | |||||
| .dynsym | |||||
| *(.dynsym) | |||||
| .dynstr | |||||
| *(.dynstr) | |||||
| .gnu.version | |||||
| *(.gnu.version) | |||||
| .gnu.version_d | |||||
| *(.gnu.version_d) | |||||
| .gnu.version_r | |||||
| *(.gnu.version_r) | |||||
| .rel.init | |||||
| *(.rel.init) | |||||
| .rela.init | |||||
| *(.rela.init) | |||||
| .rel.text | |||||
| *(.rel.text) | |||||
| *(.rel.text.*) | |||||
| *(.rel.gnu.linkonce.t*) | |||||
| .rela.text | |||||
| *(.rela.text) | |||||
| *(.rela.text.*) | |||||
| *(.rela.gnu.linkonce.t*) | |||||
| .rel.fini | |||||
| *(.rel.fini) | |||||
| .rela.fini | |||||
| *(.rela.fini) | |||||
| .rel.rodata | |||||
| *(.rel.rodata) | |||||
| *(.rel.rodata.*) | |||||
| *(.rel.gnu.linkonce.r*) | |||||
| .rela.rodata | |||||
| *(.rela.rodata) | |||||
| *(.rela.rodata.*) | |||||
| *(.rela.gnu.linkonce.r*) | |||||
| .rel.data | |||||
| *(.rel.data) | |||||
| *(.rel.data.*) | |||||
| *(.rel.gnu.linkonce.d*) | |||||
| .rela.data | |||||
| *(.rela.data) | |||||
| *(.rela.data.*) | |||||
| *(.rela.gnu.linkonce.d*) | |||||
| .rel.ctors | |||||
| *(.rel.ctors) | |||||
| .rela.ctors | |||||
| *(.rela.ctors) | |||||
| .rel.dtors | |||||
| *(.rel.dtors) | |||||
| .rela.dtors | |||||
| *(.rela.dtors) | |||||
| .rel.got | |||||
| *(.rel.got) | |||||
| .rela.got | |||||
| *(.rela.got) | |||||
| .rel.bss | |||||
| *(.rel.bss) | |||||
| .rela.bss | |||||
| *(.rela.bss) | |||||
| .rel.plt | |||||
| *(.rel.plt) | |||||
| .rela.plt | |||||
| *(.rela.plt) | |||||
| .text 0x00000000 0x2de | |||||
| *(.vectors) | |||||
| .vectors 0x00000000 0x34 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| 0x00000000 __vector_default | |||||
| 0x00000000 __vectors | |||||
| *(.vectors) | |||||
| *(.progmem.gcc*) | |||||
| 0x00000034 . = ALIGN (0x2) | |||||
| 0x00000034 __trampolines_start = . | |||||
| *(.trampolines) | |||||
| .trampolines 0x00000034 0x0 linker stubs | |||||
| *(.trampolines*) | |||||
| 0x00000034 __trampolines_end = . | |||||
| *libprintf_flt.a:*(.progmem.data) | |||||
| *libc.a:*(.progmem.data) | |||||
| *(.progmem*) | |||||
| 0x00000034 . = ALIGN (0x2) | |||||
| *(.jumptables) | |||||
| *(.jumptables*) | |||||
| *(.lowtext) | |||||
| *(.lowtext*) | |||||
| 0x00000034 __ctors_start = . | |||||
| *(.ctors) | |||||
| 0x00000034 __ctors_end = . | |||||
| 0x00000034 __dtors_start = . | |||||
| *(.dtors) | |||||
| 0x00000034 __dtors_end = . | |||||
| SORT(*)(.ctors) | |||||
| SORT(*)(.dtors) | |||||
| *(.init0) | |||||
| .init0 0x00000034 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| 0x00000034 __init | |||||
| *(.init0) | |||||
| *(.init1) | |||||
| *(.init1) | |||||
| *(.init2) | |||||
| .init2 0x00000034 0xc C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| *(.init2) | |||||
| *(.init3) | |||||
| *(.init3) | |||||
| *(.init4) | |||||
| .init4 0x00000040 0x16 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| 0x00000040 __do_copy_data | |||||
| .init4 0x00000056 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| 0x00000056 __do_clear_bss | |||||
| *(.init4) | |||||
| *(.init5) | |||||
| *(.init5) | |||||
| *(.init6) | |||||
| *(.init6) | |||||
| *(.init7) | |||||
| *(.init7) | |||||
| *(.init8) | |||||
| *(.init8) | |||||
| *(.init9) | |||||
| .init9 0x00000066 0x4 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| *(.init9) | |||||
| *(.text) | |||||
| .text 0x0000006a 0x2 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| 0x0000006a __vector_22 | |||||
| 0x0000006a __vector_1 | |||||
| 0x0000006a __vector_24 | |||||
| 0x0000006a __vector_12 | |||||
| 0x0000006a __bad_interrupt | |||||
| 0x0000006a __vector_6 | |||||
| 0x0000006a __vector_3 | |||||
| 0x0000006a __vector_23 | |||||
| 0x0000006a __vector_25 | |||||
| 0x0000006a __vector_11 | |||||
| 0x0000006a __vector_13 | |||||
| 0x0000006a __vector_17 | |||||
| 0x0000006a __vector_19 | |||||
| 0x0000006a __vector_7 | |||||
| 0x0000006a __vector_5 | |||||
| 0x0000006a __vector_4 | |||||
| 0x0000006a __vector_9 | |||||
| 0x0000006a __vector_2 | |||||
| 0x0000006a __vector_21 | |||||
| 0x0000006a __vector_15 | |||||
| 0x0000006a __vector_8 | |||||
| 0x0000006a __vector_14 | |||||
| 0x0000006a __vector_10 | |||||
| 0x0000006a __vector_16 | |||||
| 0x0000006a __vector_18 | |||||
| 0x0000006a __vector_20 | |||||
| 0x0000006c . = ALIGN (0x2) | |||||
| *(.text.*) | |||||
| .text.vInit 0x0000006c 0x20 main.o | |||||
| 0x0000006c vInit | |||||
| .text.vShow 0x0000008c 0x70 main.o | |||||
| 0x0000008c vShow | |||||
| .text.u8ReadSensor | |||||
| 0x000000fc 0x12c main.o | |||||
| 0x000000fc u8ReadSensor | |||||
| .text.main 0x00000228 0x9a main.o | |||||
| 0x00000228 main | |||||
| .text.libgcc.mul | |||||
| 0x000002c2 0x18 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_umulhisi3.o) | |||||
| 0x000002c2 __umulhisi3 | |||||
| 0x000002da . = ALIGN (0x2) | |||||
| *(.fini9) | |||||
| .fini9 0x000002da 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| 0x000002da _exit | |||||
| 0x000002da exit | |||||
| *(.fini9) | |||||
| *(.fini8) | |||||
| *(.fini8) | |||||
| *(.fini7) | |||||
| *(.fini7) | |||||
| *(.fini6) | |||||
| *(.fini6) | |||||
| *(.fini5) | |||||
| *(.fini5) | |||||
| *(.fini4) | |||||
| *(.fini4) | |||||
| *(.fini3) | |||||
| *(.fini3) | |||||
| *(.fini2) | |||||
| *(.fini2) | |||||
| *(.fini1) | |||||
| *(.fini1) | |||||
| *(.fini0) | |||||
| .fini0 0x000002da 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| *(.fini0) | |||||
| 0x000002de _etext = . | |||||
| .data 0x00800100 0xe load address 0x000002de | |||||
| 0x00800100 PROVIDE (__data_start, .) | |||||
| *(.data) | |||||
| *(.data*) | |||||
| *(.rodata) | |||||
| *(.rodata*) | |||||
| .rodata.g_au8Numbers | |||||
| 0x00800100 0xe main.o | |||||
| *(.gnu.linkonce.d*) | |||||
| 0x0080010e . = ALIGN (0x2) | |||||
| 0x0080010e _edata = . | |||||
| 0x0080010e PROVIDE (__data_end, .) | |||||
| .bss 0x0080010e 0x6 | |||||
| 0x0080010e PROVIDE (__bss_start, .) | |||||
| *(.bss) | |||||
| *(.bss*) | |||||
| .bss.g_u16Temperature | |||||
| 0x0080010e 0x2 main.o | |||||
| 0x0080010e g_u16Temperature | |||||
| .bss.g_u16Humidity | |||||
| 0x00800110 0x2 main.o | |||||
| 0x00800110 g_u16Humidity | |||||
| .bss.g_u8Ones 0x00800112 0x1 main.o | |||||
| .bss.g_u8Tens 0x00800113 0x1 main.o | |||||
| *(COMMON) | |||||
| 0x00800114 PROVIDE (__bss_end, .) | |||||
| 0x000002de __data_load_start = LOADADDR (.data) | |||||
| 0x000002ec __data_load_end = (__data_load_start + SIZEOF (.data)) | |||||
| .noinit 0x00800114 0x0 | |||||
| [!provide] PROVIDE (__noinit_start, .) | |||||
| *(.noinit*) | |||||
| [!provide] PROVIDE (__noinit_end, .) | |||||
| 0x00800114 _end = . | |||||
| [!provide] PROVIDE (__heap_start, .) | |||||
| .eeprom 0x00810000 0x0 | |||||
| *(.eeprom*) | |||||
| 0x00810000 __eeprom_end = . | |||||
| .fuse | |||||
| *(.fuse) | |||||
| *(.lfuse) | |||||
| *(.hfuse) | |||||
| *(.efuse) | |||||
| .lock | |||||
| *(.lock*) | |||||
| .signature | |||||
| *(.signature*) | |||||
| .user_signatures | |||||
| *(.user_signatures*) | |||||
| .stab | |||||
| *(.stab) | |||||
| .stabstr | |||||
| *(.stabstr) | |||||
| .stab.excl | |||||
| *(.stab.excl) | |||||
| .stab.exclstr | |||||
| *(.stab.exclstr) | |||||
| .stab.index | |||||
| *(.stab.index) | |||||
| .stab.indexstr | |||||
| *(.stab.indexstr) | |||||
| .comment 0x00000000 0x30 | |||||
| *(.comment) | |||||
| .comment 0x00000000 0x30 main.o | |||||
| 0x31 (size before relaxing) | |||||
| .note.gnu.avr.deviceinfo | |||||
| 0x00000000 0x40 | |||||
| .note.gnu.avr.deviceinfo | |||||
| 0x00000000 0x40 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .note.gnu.build-id | |||||
| *(.note.gnu.build-id) | |||||
| .debug | |||||
| *(.debug) | |||||
| .line | |||||
| *(.line) | |||||
| .debug_srcinfo | |||||
| *(.debug_srcinfo) | |||||
| .debug_sfnames | |||||
| *(.debug_sfnames) | |||||
| .debug_aranges 0x00000000 0x48 | |||||
| *(.debug_aranges) | |||||
| .debug_aranges | |||||
| 0x00000000 0x48 main.o | |||||
| .debug_pubnames | |||||
| *(.debug_pubnames) | |||||
| .debug_info 0x00000000 0xbbe | |||||
| *(.debug_info .gnu.linkonce.wi.*) | |||||
| .debug_info 0x00000000 0x5f4 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .debug_info 0x000005f4 0x5ca main.o | |||||
| .debug_abbrev 0x00000000 0x784 | |||||
| *(.debug_abbrev) | |||||
| .debug_abbrev 0x00000000 0x5a2 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .debug_abbrev 0x000005a2 0x1e2 main.o | |||||
| .debug_line 0x00000000 0x507 | |||||
| *(.debug_line .debug_line.* .debug_line_end) | |||||
| .debug_line 0x00000000 0x133 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .debug_line 0x00000133 0x3d4 main.o | |||||
| .debug_frame 0x00000000 0x90 | |||||
| *(.debug_frame) | |||||
| .debug_frame 0x00000000 0x90 main.o | |||||
| .debug_str 0x00000000 0x487 | |||||
| *(.debug_str) | |||||
| .debug_str 0x00000000 0x208 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .debug_str 0x00000208 0x27f main.o | |||||
| 0x2b3 (size before relaxing) | |||||
| .debug_loc 0x00000000 0x634 | |||||
| *(.debug_loc) | |||||
| .debug_loc 0x00000000 0x634 main.o | |||||
| .debug_macinfo | |||||
| *(.debug_macinfo) | |||||
| .debug_weaknames | |||||
| *(.debug_weaknames) | |||||
| .debug_funcnames | |||||
| *(.debug_funcnames) | |||||
| .debug_typenames | |||||
| *(.debug_typenames) | |||||
| .debug_varnames | |||||
| *(.debug_varnames) | |||||
| .debug_pubtypes | |||||
| *(.debug_pubtypes) | |||||
| .debug_ranges 0x00000000 0x98 | |||||
| *(.debug_ranges) | |||||
| .debug_ranges 0x00000000 0x98 main.o | |||||
| .debug_macro | |||||
| *(.debug_macro) | |||||
| OUTPUT(PoolClock.elf elf32-avr) | |||||
| LOAD linker stubs | |||||
| @@ -0,0 +1,49 @@ | |||||
| S0110000506F6F6C436C6F636B2E737265638D | |||||
| S113000019C033C032C031C030C02FC02EC02DC083 | |||||
| S11300102CC02BC02AC029C028C027C026C025C098 | |||||
| S113002024C023C022C021C020C01FC01EC01DC0C8 | |||||
| S11300301CC01BC011241FBECFEFD4E0DEBFCDBF58 | |||||
| S113004011E0A0E0B1E0EEEDF2E002C005900D9207 | |||||
| S1130050AE30B107D9F721E0AEE0B1E001C01D92A6 | |||||
| S1130060A431B207E1F7E0D038C1CACF8FEF8AB923 | |||||
| S113007087E084B93B9843982FEF81E19AE72150B8 | |||||
| S113008080409040E1F700C0000008951BB884E070 | |||||
| S113009085B986E08A95F1F700C0E0911301F0E09C | |||||
| S11300A0E050FF4F80818BB987E893E10197F1F726 | |||||
| S11300B000C000001BB882E085B996E09A95F1F77C | |||||
| S11300C000C0E0911201F0E0E050FF4F80818BB955 | |||||
| S11300D087E893E10197F1F700C000001BB881E0C5 | |||||
| S11300E085B996E09A95F1F700C08DEA8BB987E857 | |||||
| S11300F093E10197F1F700C0000008950F931F9357 | |||||
| S1130100CF93DF9300D000D01F92CDB7DEB73B98DA | |||||
| S113011089EC07C036E03A95F1F700C0815009F444 | |||||
| S11301206EC03399F7CF86E507C096E09A95F1F74C | |||||
| S113013000C0815009F465C0339BF7CF86E507C042 | |||||
| S1130140A6E0AA95F1F700C0815009F45CC0339988 | |||||
| S1130150F7CFFE01319685E0DF011D928A95E9F71C | |||||
| S1130160AE014A5F5F4F22C0B6E0BA95F1F700C016 | |||||
| S1130170915011F44AC098E3339BF6CF38EC3A958A | |||||
| S1130180F1F7220F339908C00BC0A6E0AA95F1F746 | |||||
| S113019000C0915011F43BC09EE23399F6CF216028 | |||||
| S11301A0815049F721934E175F0719F088E020E04A | |||||
| S11301B0E2CFA981B0E0EA81F0E06B8170E04C818C | |||||
| S11301C050E09D012E0F3F1F260F371F240F351FB0 | |||||
| S11301D033270D8110E020173107D9F4BA2FAA274D | |||||
| S11301E0EA0FFB1FF0931101E0931001762F6627AD | |||||
| S11301F0460F571F50930F0140930E010BC082E02E | |||||
| S113020009C083E007C084E005C085E003C086E040 | |||||
| S113021001C087E00F900F900F900F900F90DF9127 | |||||
| S1130220CF911F910F91089521DF8AE080931301EC | |||||
| S11302308BE080931201C0E0D0E01CE03AC0339B15 | |||||
| S113024002C03B9A4398CE3E83E0D80790F156DF34 | |||||
| S1130250811129C0E0911001F09111019F01ADECD1 | |||||
| S1130260BCEC2FD0AC0156954795569547955695BD | |||||
| S11302704795509311014093100136952795369573 | |||||
| S11302802795ABE7B4E11DD096958795809313012C | |||||
| S1130290880F982F990F990F890F481B40931201CB | |||||
| S11302A0C0E0D0E006C01093130180931201C0E0B7 | |||||
| S11302B0D0E02196EBDEC93E83E0D80708F0BFCF3B | |||||
| S11302C0F8CFA29FB001B39FC001A39F01D0B29FFA | |||||
| S11102D0700D811D1124911D0895F894FFCF27 | |||||
| S11102DEFC24BAAE66CEDEA4FEEE161EDA12C4 | |||||
| S9030000FC | |||||
| @@ -0,0 +1 @@ | |||||
| :00000001FF | |||||
| @@ -0,0 +1,171 @@ | |||||
| :1000000019C033C032C031C030C02FC02EC02DC087 | |||||
| :100010002CC02BC02AC07FC028C027C026C025C046 | |||||
| :1000200024C023C022C021C020C01FC01EC01DC0CC | |||||
| :100030001CC01BC011241FBECFEFD4E0DEBFCDBF5C | |||||
| :1000400011E0A0E0B1E0EAE6FAE002C005900D920E | |||||
| :10005000A432B107D9F721E0A4E2B1E001C01D92BA | |||||
| :10006000A832B207E1F7E2D2FEC4CACF8FEF8AB955 | |||||
| :1000700087E084B980E388B9109280008AE0809399 | |||||
| :10008000810084EC99E09093890080938800EFE6EA | |||||
| :10009000F0E0808182608083789408959DEC899F50 | |||||
| :1000A000912D1124969596959695E0E0F1E0928336 | |||||
| :1000B000990F292F220F220F920F891B81836083B2 | |||||
| :1000C0000895349906C0809127018F5F809327019E | |||||
| :1000D00002C01092270135990AC0809126018F5FD6 | |||||
| :1000E0008093260190912701933368F006C0109207 | |||||
| :1000F000260180912701833368F01092270181E067 | |||||
| :10010000809325010895833328F01092260182E020 | |||||
| :100110008093250108951F920F920FB60F9211241C | |||||
| :100120002F933F934F935F936F937F938F939F93FF | |||||
| :10013000AF93BF93EF93FF9315B81BB88DE08A95EB | |||||
| :10014000F1F7000081E090E00090240102C0880FE8 | |||||
| :10015000991F0A94E2F785B9E0912401F0E0E0509C | |||||
| :10016000FF4FE081F0E0ED5FFE4F80818BB9809121 | |||||
| :1001700024018F5F833018F48093240102C0109211 | |||||
| :1001800024019FDFFF91EF91BF91AF919F918F91DC | |||||
| :100190007F916F915F914F913F912F910F900FBE83 | |||||
| :1001A0000F901F901895E0E0F1E090E19283918329 | |||||
| :1001B00090832FEB35E444E0215030404040E1F79C | |||||
| :1001C00000C00000813021F0823009F4E2C0C1C1DA | |||||
| :1001D000E0E0F1E022E1228390E1918390835FEB04 | |||||
| :1001E00065E474E0515060407040E1F700C00000E9 | |||||
| :1001F0003CE03283918390838FEBA5E444E081500F | |||||
| :10020000A0404040E1F700C0000088E08283918375 | |||||
| :1002100090835FEB65E474E0515060407040E1F71B | |||||
| :1002200000C00000828321839083AFEB45E454E05B | |||||
| :10023000A15040405040E1F700C00000828331836C | |||||
| :1002400090836FEB75E4A4E061507040A040E1F74B | |||||
| :1002500000C000008283818390834FEB55E464E00B | |||||
| :10026000415050406040E1F700C00000828381832C | |||||
| :1002700041E040837FEBA5E454E07150A040504042 | |||||
| :10028000E1F700C000008283818353E050836FEB6D | |||||
| :1002900075E4A4E061507040A040E1F700C00000A8 | |||||
| :1002A0008283818380836FEB75E4A4E061507040AA | |||||
| :1002B000A040E1F700C000008283818380836FEB60 | |||||
| :1002C00075E4A4E061507040A040E1F700C0000078 | |||||
| :1002D0008283818350835FEB65E474E0515060401A | |||||
| :1002E0007040E1F700C00000828381834083AFEB60 | |||||
| :1002F00045E454E0A15040405040E1F700C0000008 | |||||
| :100300008283818390836FEB75E4A4E06150704039 | |||||
| :10031000A040E1F700C000008283318390834FEB5F | |||||
| :1003200055E464E0415050406040E1F700C00000F7 | |||||
| :100330008283218390837FEBA5E444E07150A04049 | |||||
| :100340004040E1F700C000008283918390835FEB1F | |||||
| :1003500065E474E0515060407040E1F700C0000077 | |||||
| :100360003283918390838FEBA5E434E08150A040E9 | |||||
| :100370003040E1F700C000002283918390834FEB6F | |||||
| :1003800055E464E0415050406040E1F700C0000097 | |||||
| :10039000E0C0E0E0F1E022E1228380E1818380831C | |||||
| :1003A0007FEB95E4A4E071509040A040E1F700C0DD | |||||
| :1003B00000003CE03283818380834FEB55E464E0AE | |||||
| :1003C000415050406040E1F700C0000098E0928347 | |||||
| :1003D000818380837FEBA5E444E07150A0404040DE | |||||
| :1003E000E1F700C000009283218380835FEB65E426 | |||||
| :1003F00074E0515060407040E1F700C0000092830B | |||||
| :1004000031838083AFEB45E454E0A150404050403D | |||||
| :10041000E1F700C000009283918380836FEB75E465 | |||||
| :10042000A4E061507040A040E1F700C0000092835A | |||||
| :10043000918341E040835FEB65E474E0515060409C | |||||
| :100440007040E1F700C000009283918353E0508335 | |||||
| :10045000AFEB65E474E0A15060407040E1F700C08C | |||||
| :100460000000928391839083AFEB65E474E0A15028 | |||||
| :1004700060407040E1F700C0000052839183908398 | |||||
| :10048000AFEB65E474E0A15060407040E1F700C05C | |||||
| :100490000000428391839083AFEB65E474E0A15048 | |||||
| :1004A00060407040E1F700C0000082839183908338 | |||||
| :1004B000AFEB65E474E0A15060407040E1F700C02C | |||||
| :1004C0000000828351839083AFEB55E464E0A15038 | |||||
| :1004D00050406040E1F700C0000082834183908378 | |||||
| :1004E0007FEBA5E444E07150A0404040E1F700C03C | |||||
| :1004F00000008283818390835FEB65E474E0515058 | |||||
| :1005000060407040E1F700C0000082838183308347 | |||||
| :100510009FEBA5E434E09150A0403040E1F700C0EB | |||||
| :1005200000008283818320834FEB55E464E04150D7 | |||||
| :1005300050406040E1F700C00000828381838083E7 | |||||
| :100540007FEB85E494E0715080409040E1F700C07B | |||||
| :100550000000E0E0F1E080E1828381838083AFEB03 | |||||
| :1005600025E434E0A15020403040E1F700C0000015 | |||||
| :10057000089543983B9A8FE599E00197F1F700C001 | |||||
| :1005800000003B98EBE2F1E03197F1F700C000008A | |||||
| :1005900086B1E3E3F8E03197F1F700C0000088701E | |||||
| :1005A000089543983B9A96E09A95F1F700C0813000 | |||||
| :1005B00009F43B988BE291E00197F1F700C000004D | |||||
| :1005C0003B980895CF93DF93D82FC8E08D2F81708B | |||||
| :1005D000E8DFD695C150D1F7DF91CF9108954398C8 | |||||
| :1005E0003B9A86E08A95F1F700C03B98EDE5EA95E5 | |||||
| :1005F000F1F7000086B1E0EEF0E03197F1F700C0CE | |||||
| :10060000000083FB882780F90895CF93DF93D8E01B | |||||
| :10061000C0E0E5DF20E8829FC0011124C695C82B09 | |||||
| :10062000D150B9F78C2FDF91CF9108951FDDE0E015 | |||||
| :10063000F1E080E1828381838083AFE4B3EC1197A2 | |||||
| :10064000F1F700C0000093E1928381838083BFE7CC | |||||
| :10065000CFE422E1B150C0402040E1F700C00000EB | |||||
| :100660009283918380833FE74FE482E131504040A1 | |||||
| :100670008040E1F700C000009283918386E180838F | |||||
| :100680009FE7AFE4B2E19150A040B040E1F700C075 | |||||
| :10069000000035E080E123E17CE16DE15EE196E17F | |||||
| :1006A0004FE1828321837083CFEBA5E4B4E0C15096 | |||||
| :1006B000A040B040E1F700C00000828381836083E6 | |||||
| :1006C000CFEBA5E4B4E0C150A040B040E1F700C0DA | |||||
| :1006D0000000828381835083CFEBA5E4B4E0C15056 | |||||
| :1006E000A040B040E1F700C00000828391834083C6 | |||||
| :1006F000CFEBA5E4B4E0C150A040B040E1F700C0AA | |||||
| :100700000000928391832083CFEBA5E4B4E0C15035 | |||||
| :10071000A040B040E1F700C0000072839183808365 | |||||
| :10072000CFEBA5E4B4E0C150A040B040E1F700C079 | |||||
| :100730000000628381838083CFEBA5E4B4E0C150E5 | |||||
| :10074000A040B040E1F700C0000052838183808365 | |||||
| :10075000CFEBA5E4B4E0C150A040B040E1F700C049 | |||||
| :100760000000428321838083CFEBA5E4B4E0C15035 | |||||
| :10077000A040B040E1F700C00000228321839083B5 | |||||
| :10078000CFEBA5E4B4E0C150A040B040E1F700C019 | |||||
| :100790000000315009F085CFE0E0F1E080E1828394 | |||||
| :1007A00081838083809125018130B1F118F08230FE | |||||
| :1007B000C1F1FACFDEDE8CEC05DF84E403DF0FDF6E | |||||
| :1007C0008823E9F3D6DE8CECFDDE8EEBFBDE1DDF4D | |||||
| :1007D000C82F1BDF682F70E0762F66276C0F711D06 | |||||
| :1007E000072E000C880B990B4FD020E030E040E83A | |||||
| :1007F0005DE3AED01BD0862F6EE050DC80912501EA | |||||
| :100800008111D0CFCFE724E83EE1C15020403040F5 | |||||
| :10081000E1F700C00000C6CF81E0C5DC10922501E1 | |||||
| :10082000C1CF82E0C0DC10922501BCCF70D088F02F | |||||
| :100830009F5790F0B92F9927B751A0F0D1F0660FCC | |||||
| :10084000771F881F991F1AF0BA95C9F712C0B130E7 | |||||
| :1008500081F077D0B1E0089574C0672F782F882792 | |||||
| :10086000B85F39F0B93FCCF3869577956795B39526 | |||||
| :10087000D9F73EF490958095709561957F4F8F4F95 | |||||
| :100880009F4F0895E89409C097FB3EF4909580959A | |||||
| :10089000709561957F4F8F4F9F4F9923A9F0F92F46 | |||||
| :1008A00096E9BB279395F695879577956795B795C4 | |||||
| :1008B000F111F8CFFAF4BB0F11F460FF1BC06F5FAA | |||||
| :1008C0007F4F8F4F9F4F16C0882311F096E911C0BC | |||||
| :1008D000772321F09EE8872F762F05C0662371F0DD | |||||
| :1008E00096E8862F70E060E02AF09A95660F771FF1 | |||||
| :1008F000881FDAF7880F9695879597F9089557FD21 | |||||
| :100900009058440F551F59F05F3F71F04795880F7D | |||||
| :1009100097FB991F61F09F3F79F087950895121614 | |||||
| :1009200013061406551FF2CF4695F1DF08C01616C0 | |||||
| :1009300017061806991FF1CF869571056105089471 | |||||
| :100940000895E894BB2766277727CB0197F9089588 | |||||
| :100950000BD078C069D028F06ED018F0952309F03C | |||||
| :100960005AC05FC01124EECFCADFA0F3959FD1F328 | |||||
| :10097000950F50E0551F629FF001729FBB27F00D4D | |||||
| :10098000B11D639FAA27F00DB11DAA1F649F6627A2 | |||||
| :10099000B00DA11D661F829F2227B00DA11D621FF1 | |||||
| :1009A000739FB00DA11D621F839FA00D611D221FAB | |||||
| :1009B000749F3327A00D611D231F849F600D211D8F | |||||
| :1009C000822F762F6A2F11249F5750408AF0E1F032 | |||||
| :1009D00088234AF0EE0FFF1FBB1F661F771F881F7B | |||||
| :1009E00091505040A9F79E3F510570F014C0AACF16 | |||||
| :1009F0005F3FECF3983EDCF3869577956795B79566 | |||||
| :100A0000F795E7959F5FC1F7FE2B880F911D96958F | |||||
| :100A1000879597F9089597F99F6780E870E060E0FF | |||||
| :100A200008959FEF80EC089500240A941616170687 | |||||
| :100A300018060906089500240A94121613061406CF | |||||
| :100A400005060895092E0394000C11F4882352F032 | |||||
| :100A5000BB0F40F4BF2B11F460FF04C06F5F7F4FEA | |||||
| :0A0A60008F4F9F4F0895F894FFCFC9 | |||||
| :100A6A00101010FC24BAAE66CEDEA4FEEE161EDA14 | |||||
| :100A7A0012ADF3000250802004081040A02C0C187C | |||||
| :040A8A0058D0C00080 | |||||
| :00000001FF | |||||
| @@ -0,0 +1,593 @@ | |||||
| Archive member included to satisfy reference by file (symbol) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fixunssfsi.o) | |||||
| main.o (__fixunssfsi) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(floatsisf.o) | |||||
| main.o (__floatsisf) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_split3.o) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fixunssfsi.o) (__fp_splitA) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_zero.o) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fixunssfsi.o) (__fp_zero) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3.o) | |||||
| main.o (__mulsf3) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3x.o) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3.o) (__mulsf3x) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_inf.o) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3x.o) (__fp_inf) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_nan.o) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3x.o) (__fp_nan) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_pscA.o) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3x.o) (__fp_pscA) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_pscB.o) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3x.o) (__fp_pscB) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_round.o) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3.o) (__fp_round) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o (exit) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| main.o (__do_copy_data) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| main.o (__do_clear_bss) | |||||
| Discarded input sections | |||||
| .data 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .bss 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .text 0x00000000 0x0 main.o | |||||
| .data 0x00000000 0x0 main.o | |||||
| .bss 0x00000000 0x0 main.o | |||||
| .text.s_vSetDisplayDigits | |||||
| 0x00000000 0xc main.o | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fixunssfsi.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fixunssfsi.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fixunssfsi.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(floatsisf.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(floatsisf.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(floatsisf.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_split3.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_split3.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_split3.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_zero.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_zero.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_zero.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3x.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3x.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3x.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_inf.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_inf.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_inf.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_nan.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_nan.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_nan.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_pscA.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_pscA.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_pscA.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_pscB.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_pscB.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_pscB.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_round.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_round.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_round.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc.mul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc.div | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc.prologue | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc.builtins | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc.fmul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc.fixed | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc.mul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc.div | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc.prologue | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc.builtins | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc.fmul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc.fixed | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc.mul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc.div | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc.prologue | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc.builtins | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc.fmul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc.fixed | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| Memory Configuration | |||||
| Name Origin Length Attributes | |||||
| text 0x00000000 0x00002000 xr | |||||
| data 0x00800060 0x0000ffa0 rw !x | |||||
| eeprom 0x00810000 0x00010000 rw !x | |||||
| fuse 0x00820000 0x00000003 rw !x | |||||
| lock 0x00830000 0x00000400 rw !x | |||||
| signature 0x00840000 0x00000400 rw !x | |||||
| user_signatures 0x00850000 0x00000400 rw !x | |||||
| *default* 0x00000000 0xffffffff | |||||
| Linker script and memory map | |||||
| Address of section .data set to 0x800100 | |||||
| LOAD C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| LOAD main.o | |||||
| START GROUP | |||||
| LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a | |||||
| END GROUP | |||||
| START GROUP | |||||
| LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a | |||||
| LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a | |||||
| LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libc.a | |||||
| LOAD C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4\libatmega88pa.a | |||||
| END GROUP | |||||
| 0x00002000 __TEXT_REGION_LENGTH__ = DEFINED (__TEXT_REGION_LENGTH__)?__TEXT_REGION_LENGTH__:0x2000 | |||||
| 0x0000ffa0 __DATA_REGION_LENGTH__ = DEFINED (__DATA_REGION_LENGTH__)?__DATA_REGION_LENGTH__:0xffa0 | |||||
| 0x00010000 __EEPROM_REGION_LENGTH__ = DEFINED (__EEPROM_REGION_LENGTH__)?__EEPROM_REGION_LENGTH__:0x10000 | |||||
| [0x00000003] __FUSE_REGION_LENGTH__ = DEFINED (__FUSE_REGION_LENGTH__)?__FUSE_REGION_LENGTH__:0x400 | |||||
| 0x00000400 __LOCK_REGION_LENGTH__ = DEFINED (__LOCK_REGION_LENGTH__)?__LOCK_REGION_LENGTH__:0x400 | |||||
| 0x00000400 __SIGNATURE_REGION_LENGTH__ = DEFINED (__SIGNATURE_REGION_LENGTH__)?__SIGNATURE_REGION_LENGTH__:0x400 | |||||
| 0x00000400 __USER_SIGNATURE_REGION_LENGTH__ = DEFINED (__USER_SIGNATURE_REGION_LENGTH__)?__USER_SIGNATURE_REGION_LENGTH__:0x400 | |||||
| .hash | |||||
| *(.hash) | |||||
| .dynsym | |||||
| *(.dynsym) | |||||
| .dynstr | |||||
| *(.dynstr) | |||||
| .gnu.version | |||||
| *(.gnu.version) | |||||
| .gnu.version_d | |||||
| *(.gnu.version_d) | |||||
| .gnu.version_r | |||||
| *(.gnu.version_r) | |||||
| .rel.init | |||||
| *(.rel.init) | |||||
| .rela.init | |||||
| *(.rela.init) | |||||
| .rel.text | |||||
| *(.rel.text) | |||||
| *(.rel.text.*) | |||||
| *(.rel.gnu.linkonce.t*) | |||||
| .rela.text | |||||
| *(.rela.text) | |||||
| *(.rela.text.*) | |||||
| *(.rela.gnu.linkonce.t*) | |||||
| .rel.fini | |||||
| *(.rel.fini) | |||||
| .rela.fini | |||||
| *(.rela.fini) | |||||
| .rel.rodata | |||||
| *(.rel.rodata) | |||||
| *(.rel.rodata.*) | |||||
| *(.rel.gnu.linkonce.r*) | |||||
| .rela.rodata | |||||
| *(.rela.rodata) | |||||
| *(.rela.rodata.*) | |||||
| *(.rela.gnu.linkonce.r*) | |||||
| .rel.data | |||||
| *(.rel.data) | |||||
| *(.rel.data.*) | |||||
| *(.rel.gnu.linkonce.d*) | |||||
| .rela.data | |||||
| *(.rela.data) | |||||
| *(.rela.data.*) | |||||
| *(.rela.gnu.linkonce.d*) | |||||
| .rel.ctors | |||||
| *(.rel.ctors) | |||||
| .rela.ctors | |||||
| *(.rela.ctors) | |||||
| .rel.dtors | |||||
| *(.rel.dtors) | |||||
| .rela.dtors | |||||
| *(.rela.dtors) | |||||
| .rel.got | |||||
| *(.rel.got) | |||||
| .rela.got | |||||
| *(.rela.got) | |||||
| .rel.bss | |||||
| *(.rel.bss) | |||||
| .rela.bss | |||||
| *(.rela.bss) | |||||
| .rel.plt | |||||
| *(.rel.plt) | |||||
| .rela.plt | |||||
| *(.rela.plt) | |||||
| .text 0x00000000 0xa6a | |||||
| *(.vectors) | |||||
| .vectors 0x00000000 0x34 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| 0x00000000 __vector_default | |||||
| 0x00000000 __vectors | |||||
| *(.vectors) | |||||
| *(.progmem.gcc*) | |||||
| 0x00000034 . = ALIGN (0x2) | |||||
| 0x00000034 __trampolines_start = . | |||||
| *(.trampolines) | |||||
| .trampolines 0x00000034 0x0 linker stubs | |||||
| *(.trampolines*) | |||||
| 0x00000034 __trampolines_end = . | |||||
| *libprintf_flt.a:*(.progmem.data) | |||||
| *libc.a:*(.progmem.data) | |||||
| *(.progmem*) | |||||
| 0x00000034 . = ALIGN (0x2) | |||||
| *(.jumptables) | |||||
| *(.jumptables*) | |||||
| *(.lowtext) | |||||
| *(.lowtext*) | |||||
| 0x00000034 __ctors_start = . | |||||
| *(.ctors) | |||||
| 0x00000034 __ctors_end = . | |||||
| 0x00000034 __dtors_start = . | |||||
| *(.dtors) | |||||
| 0x00000034 __dtors_end = . | |||||
| SORT(*)(.ctors) | |||||
| SORT(*)(.dtors) | |||||
| *(.init0) | |||||
| .init0 0x00000034 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| 0x00000034 __init | |||||
| *(.init0) | |||||
| *(.init1) | |||||
| *(.init1) | |||||
| *(.init2) | |||||
| .init2 0x00000034 0xc C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| *(.init2) | |||||
| *(.init3) | |||||
| *(.init3) | |||||
| *(.init4) | |||||
| .init4 0x00000040 0x16 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| 0x00000040 __do_copy_data | |||||
| .init4 0x00000056 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| 0x00000056 __do_clear_bss | |||||
| *(.init4) | |||||
| *(.init5) | |||||
| *(.init5) | |||||
| *(.init6) | |||||
| *(.init6) | |||||
| *(.init7) | |||||
| *(.init7) | |||||
| *(.init8) | |||||
| *(.init8) | |||||
| *(.init9) | |||||
| .init9 0x00000066 0x4 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| *(.init9) | |||||
| *(.text) | |||||
| .text 0x0000006a 0x2 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| 0x0000006a __vector_22 | |||||
| 0x0000006a __vector_1 | |||||
| 0x0000006a __vector_24 | |||||
| 0x0000006a __vector_12 | |||||
| 0x0000006a __bad_interrupt | |||||
| 0x0000006a __vector_6 | |||||
| 0x0000006a __vector_3 | |||||
| 0x0000006a __vector_23 | |||||
| 0x0000006a __vector_25 | |||||
| 0x0000006a __vector_13 | |||||
| 0x0000006a __vector_17 | |||||
| 0x0000006a __vector_19 | |||||
| 0x0000006a __vector_7 | |||||
| 0x0000006a __vector_5 | |||||
| 0x0000006a __vector_4 | |||||
| 0x0000006a __vector_9 | |||||
| 0x0000006a __vector_2 | |||||
| 0x0000006a __vector_21 | |||||
| 0x0000006a __vector_15 | |||||
| 0x0000006a __vector_8 | |||||
| 0x0000006a __vector_14 | |||||
| 0x0000006a __vector_10 | |||||
| 0x0000006a __vector_16 | |||||
| 0x0000006a __vector_18 | |||||
| 0x0000006a __vector_20 | |||||
| 0x0000006c . = ALIGN (0x2) | |||||
| *(.text.*) | |||||
| .text.s_vInit 0x0000006c 0x30 main.o | |||||
| 0x0000006c s_vInit | |||||
| .text.s_vSetValue | |||||
| 0x0000009c 0x26 main.o | |||||
| 0x0000009c s_vSetValue | |||||
| .text.s_vReadButtons | |||||
| 0x000000c2 0x54 main.o | |||||
| 0x000000c2 s_vReadButtons | |||||
| .text.__vector_11 | |||||
| 0x00000116 0x90 main.o | |||||
| 0x00000116 __vector_11 | |||||
| .text.s_vShowAnim | |||||
| 0x000001a6 0x3cc main.o | |||||
| 0x000001a6 s_vShowAnim | |||||
| .text.s_u8DS18B20_Reset | |||||
| 0x00000572 0x30 main.o | |||||
| 0x00000572 s_u8DS18B20_Reset | |||||
| .text.s_vDS18B20_WriteBit | |||||
| 0x000005a2 0x22 main.o | |||||
| 0x000005a2 s_vDS18B20_WriteBit | |||||
| .text.s_vDS18B20_WriteByte | |||||
| 0x000005c4 0x1a main.o | |||||
| 0x000005c4 s_vDS18B20_WriteByte | |||||
| .text.s_u8DS18B20_ReadBit | |||||
| 0x000005de 0x2c main.o | |||||
| 0x000005de s_u8DS18B20_ReadBit | |||||
| .text.s_u8DS18B20_ReadByte | |||||
| 0x0000060a 0x22 main.o | |||||
| 0x0000060a s_u8DS18B20_ReadByte | |||||
| .text.main 0x0000062c 0x200 main.o | |||||
| 0x0000062c main | |||||
| .text.avr-libc.fplib | |||||
| 0x0000082c 0x58 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fixunssfsi.o) | |||||
| 0x0000082c __fixunssfsi | |||||
| .text.avr-libc.fplib | |||||
| 0x00000884 0x7a c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(floatsisf.o) | |||||
| 0x00000884 __floatunsisf | |||||
| 0x00000888 __floatsisf | |||||
| .text.avr-libc.fplib | |||||
| 0x000008fe 0x44 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_split3.o) | |||||
| 0x000008fe __fp_split3 | |||||
| 0x0000090e __fp_splitA | |||||
| .text.avr-libc.fplib | |||||
| 0x00000942 0xe c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_zero.o) | |||||
| 0x00000942 __fp_zero | |||||
| 0x00000944 __fp_szero | |||||
| .text.avr-libc.fplib | |||||
| 0x00000950 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3.o) | |||||
| 0x00000950 __mulsf3 | |||||
| .text.avr-libc.fplib | |||||
| 0x00000954 0xc2 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3x.o) | |||||
| 0x00000968 __mulsf3x | |||||
| 0x0000096c __mulsf3_pse | |||||
| .text.avr-libc.fplib | |||||
| 0x00000a16 0xc c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_inf.o) | |||||
| 0x00000a16 __fp_inf | |||||
| .text.avr-libc.fplib | |||||
| 0x00000a22 0x6 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_nan.o) | |||||
| 0x00000a22 __fp_nan | |||||
| .text.avr-libc.fplib | |||||
| 0x00000a28 0xe c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_pscA.o) | |||||
| 0x00000a28 __fp_pscA | |||||
| .text.avr-libc.fplib | |||||
| 0x00000a36 0xe c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_pscB.o) | |||||
| 0x00000a36 __fp_pscB | |||||
| .text.avr-libc.fplib | |||||
| 0x00000a44 0x22 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_round.o) | |||||
| 0x00000a44 __fp_round | |||||
| 0x00000a66 . = ALIGN (0x2) | |||||
| *(.fini9) | |||||
| .fini9 0x00000a66 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| 0x00000a66 _exit | |||||
| 0x00000a66 exit | |||||
| *(.fini9) | |||||
| *(.fini8) | |||||
| *(.fini8) | |||||
| *(.fini7) | |||||
| *(.fini7) | |||||
| *(.fini6) | |||||
| *(.fini6) | |||||
| *(.fini5) | |||||
| *(.fini5) | |||||
| *(.fini4) | |||||
| *(.fini4) | |||||
| *(.fini3) | |||||
| *(.fini3) | |||||
| *(.fini2) | |||||
| *(.fini2) | |||||
| *(.fini1) | |||||
| *(.fini1) | |||||
| *(.fini0) | |||||
| .fini0 0x00000a66 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| *(.fini0) | |||||
| 0x00000a6a _etext = . | |||||
| .data 0x00800100 0x24 load address 0x00000a6a | |||||
| 0x00800100 PROVIDE (__data_start, .) | |||||
| *(.data) | |||||
| *(.data*) | |||||
| .data.g_au8Digits | |||||
| 0x00800100 0x3 main.o | |||||
| 0x00800100 g_au8Digits | |||||
| *(.rodata) | |||||
| *(.rodata*) | |||||
| .rodata.g_au8Symbols | |||||
| 0x00800103 0x20 main.o | |||||
| *(.gnu.linkonce.d*) | |||||
| 0x00800124 . = ALIGN (0x2) | |||||
| *fill* 0x00800123 0x1 | |||||
| 0x00800124 _edata = . | |||||
| 0x00800124 PROVIDE (__data_end, .) | |||||
| .bss 0x00800124 0x4 | |||||
| 0x00800124 PROVIDE (__bss_start, .) | |||||
| *(.bss) | |||||
| *(.bss*) | |||||
| .bss.g_u8ISRDigitSelect | |||||
| 0x00800124 0x1 main.o | |||||
| 0x00800124 g_u8ISRDigitSelect | |||||
| .bss.g_u8Mode 0x00800125 0x1 main.o | |||||
| .bss.g_u8ButtonCountBot | |||||
| 0x00800126 0x1 main.o | |||||
| .bss.g_u8ButtonCountTop | |||||
| 0x00800127 0x1 main.o | |||||
| *(COMMON) | |||||
| 0x00800128 PROVIDE (__bss_end, .) | |||||
| 0x00000a6a __data_load_start = LOADADDR (.data) | |||||
| 0x00000a8e __data_load_end = (__data_load_start + SIZEOF (.data)) | |||||
| .noinit 0x00800128 0x0 | |||||
| [!provide] PROVIDE (__noinit_start, .) | |||||
| *(.noinit*) | |||||
| [!provide] PROVIDE (__noinit_end, .) | |||||
| 0x00800128 _end = . | |||||
| [!provide] PROVIDE (__heap_start, .) | |||||
| .eeprom 0x00810000 0x0 | |||||
| *(.eeprom*) | |||||
| 0x00810000 __eeprom_end = . | |||||
| .fuse | |||||
| *(.fuse) | |||||
| *(.lfuse) | |||||
| *(.hfuse) | |||||
| *(.efuse) | |||||
| .lock | |||||
| *(.lock*) | |||||
| .signature | |||||
| *(.signature*) | |||||
| .user_signatures | |||||
| *(.user_signatures*) | |||||
| .stab | |||||
| *(.stab) | |||||
| .stabstr | |||||
| *(.stabstr) | |||||
| .stab.excl | |||||
| *(.stab.excl) | |||||
| .stab.exclstr | |||||
| *(.stab.exclstr) | |||||
| .stab.index | |||||
| *(.stab.index) | |||||
| .stab.indexstr | |||||
| *(.stab.indexstr) | |||||
| .comment 0x00000000 0x30 | |||||
| *(.comment) | |||||
| .comment 0x00000000 0x30 main.o | |||||
| 0x31 (size before relaxing) | |||||
| .note.gnu.avr.deviceinfo | |||||
| 0x00000000 0x40 | |||||
| .note.gnu.avr.deviceinfo | |||||
| 0x00000000 0x40 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .note.gnu.build-id | |||||
| *(.note.gnu.build-id) | |||||
| .debug | |||||
| *(.debug) | |||||
| .line | |||||
| *(.line) | |||||
| .debug_srcinfo | |||||
| *(.debug_srcinfo) | |||||
| .debug_sfnames | |||||
| *(.debug_sfnames) | |||||
| .debug_aranges 0x00000000 0x78 | |||||
| *(.debug_aranges) | |||||
| .debug_aranges | |||||
| 0x00000000 0x78 main.o | |||||
| .debug_pubnames | |||||
| *(.debug_pubnames) | |||||
| .debug_info 0x00000000 0x22e0 | |||||
| *(.debug_info .gnu.linkonce.wi.*) | |||||
| .debug_info 0x00000000 0x5f4 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .debug_info 0x000005f4 0x1cec main.o | |||||
| .debug_abbrev 0x00000000 0x861 | |||||
| *(.debug_abbrev) | |||||
| .debug_abbrev 0x00000000 0x5a2 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .debug_abbrev 0x000005a2 0x2bf main.o | |||||
| .debug_line 0x00000000 0xba9 | |||||
| *(.debug_line .debug_line.* .debug_line_end) | |||||
| .debug_line 0x00000000 0x133 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .debug_line 0x00000133 0xa76 main.o | |||||
| .debug_frame 0x00000000 0x134 | |||||
| *(.debug_frame) | |||||
| .debug_frame 0x00000000 0x134 main.o | |||||
| .debug_str 0x00000000 0x535 | |||||
| *(.debug_str) | |||||
| .debug_str 0x00000000 0x208 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .debug_str 0x00000208 0x32d main.o | |||||
| 0x361 (size before relaxing) | |||||
| .debug_loc 0x00000000 0x1d8e | |||||
| *(.debug_loc) | |||||
| .debug_loc 0x00000000 0x1d8e main.o | |||||
| .debug_macinfo | |||||
| *(.debug_macinfo) | |||||
| .debug_weaknames | |||||
| *(.debug_weaknames) | |||||
| .debug_funcnames | |||||
| *(.debug_funcnames) | |||||
| .debug_typenames | |||||
| *(.debug_typenames) | |||||
| .debug_varnames | |||||
| *(.debug_varnames) | |||||
| .debug_pubtypes | |||||
| *(.debug_pubtypes) | |||||
| .debug_ranges 0x00000000 0xc8 | |||||
| *(.debug_ranges) | |||||
| .debug_ranges 0x00000000 0xc8 main.o | |||||
| .debug_macro | |||||
| *(.debug_macro) | |||||
| OUTPUT(PoolClockWaterTemp.elf elf32-avr) | |||||
| LOAD linker stubs | |||||
| @@ -0,0 +1,172 @@ | |||||
| S01A0000506F6F6C436C6F636B576174657254656D702E73726563EB | |||||
| S113000019C033C032C031C030C02FC02EC02DC083 | |||||
| S11300102CC02BC02AC07FC028C027C026C025C042 | |||||
| S113002024C023C022C021C020C01FC01EC01DC0C8 | |||||
| S11300301CC01BC011241FBECFEFD4E0DEBFCDBF58 | |||||
| S113004011E0A0E0B1E0EAE6FAE002C005900D920A | |||||
| S1130050A432B107D9F721E0A4E2B1E001C01D92B6 | |||||
| S1130060A832B207E1F7E2D2FEC4CACF8FEF8AB951 | |||||
| S113007087E084B980E388B9109280008AE0809395 | |||||
| S1130080810084EC99E09093890080938800EFE6E6 | |||||
| S1130090F0E0808182608083789408959DEC899F4C | |||||
| S11300A0912D1124969596959695E0E0F1E0928332 | |||||
| S11300B0990F292F220F220F920F891B81836083AE | |||||
| S11300C00895349906C0809127018F5F809327019A | |||||
| S11300D002C01092270135990AC0809126018F5FD2 | |||||
| S11300E08093260190912701933368F006C0109203 | |||||
| S11300F0260180912701833368F01092270181E063 | |||||
| S1130100809325010895833328F01092260182E01C | |||||
| S11301108093250108951F920F920FB60F92112418 | |||||
| S11301202F933F934F935F936F937F938F939F93FB | |||||
| S1130130AF93BF93EF93FF9315B81BB88DE08A95E7 | |||||
| S1130140F1F7000081E090E00090240102C0880FE4 | |||||
| S1130150991F0A94E2F785B9E0912401F0E0E05098 | |||||
| S1130160FF4FE081F0E0ED5FFE4F80818BB980911D | |||||
| S113017024018F5F833018F48093240102C010920D | |||||
| S113018024019FDFFF91EF91BF91AF919F918F91D8 | |||||
| S11301907F916F915F914F913F912F910F900FBE7F | |||||
| S11301A00F901F901895E0E0F1E090E19283918325 | |||||
| S11301B090832FEB35E444E0215030404040E1F798 | |||||
| S11301C000C00000813021F0823009F4E2C0C1C1D6 | |||||
| S11301D0E0E0F1E022E1228390E1918390835FEB00 | |||||
| S11301E065E474E0515060407040E1F700C00000E5 | |||||
| S11301F03CE03283918390838FEBA5E444E081500B | |||||
| S1130200A0404040E1F700C0000088E08283918371 | |||||
| S113021090835FEB65E474E0515060407040E1F717 | |||||
| S113022000C00000828321839083AFEB45E454E057 | |||||
| S1130230A15040405040E1F700C000008283318368 | |||||
| S113024090836FEB75E4A4E061507040A040E1F747 | |||||
| S113025000C000008283818390834FEB55E464E007 | |||||
| S1130260415050406040E1F700C000008283818328 | |||||
| S113027041E040837FEBA5E454E07150A04050403E | |||||
| S1130280E1F700C000008283818353E050836FEB69 | |||||
| S113029075E4A4E061507040A040E1F700C00000A4 | |||||
| S11302A08283818380836FEB75E4A4E061507040A6 | |||||
| S11302B0A040E1F700C000008283818380836FEB5C | |||||
| S11302C075E4A4E061507040A040E1F700C0000074 | |||||
| S11302D08283818350835FEB65E474E05150604016 | |||||
| S11302E07040E1F700C00000828381834083AFEB5C | |||||
| S11302F045E454E0A15040405040E1F700C0000004 | |||||
| S11303008283818390836FEB75E4A4E06150704035 | |||||
| S1130310A040E1F700C000008283318390834FEB5B | |||||
| S113032055E464E0415050406040E1F700C00000F3 | |||||
| S11303308283218390837FEBA5E444E07150A04045 | |||||
| S11303404040E1F700C000008283918390835FEB1B | |||||
| S113035065E474E0515060407040E1F700C0000073 | |||||
| S11303603283918390838FEBA5E434E08150A040E5 | |||||
| S11303703040E1F700C000002283918390834FEB6B | |||||
| S113038055E464E0415050406040E1F700C0000093 | |||||
| S1130390E0C0E0E0F1E022E1228380E18183808318 | |||||
| S11303A07FEB95E4A4E071509040A040E1F700C0D9 | |||||
| S11303B000003CE03283818380834FEB55E464E0AA | |||||
| S11303C0415050406040E1F700C0000098E0928343 | |||||
| S11303D0818380837FEBA5E444E07150A0404040DA | |||||
| S11303E0E1F700C000009283218380835FEB65E422 | |||||
| S11303F074E0515060407040E1F700C00000928307 | |||||
| S113040031838083AFEB45E454E0A1504040504039 | |||||
| S1130410E1F700C000009283918380836FEB75E461 | |||||
| S1130420A4E061507040A040E1F700C00000928356 | |||||
| S1130430918341E040835FEB65E474E05150604098 | |||||
| S11304407040E1F700C000009283918353E0508331 | |||||
| S1130450AFEB65E474E0A15060407040E1F700C088 | |||||
| S11304600000928391839083AFEB65E474E0A15024 | |||||
| S113047060407040E1F700C0000052839183908394 | |||||
| S1130480AFEB65E474E0A15060407040E1F700C058 | |||||
| S11304900000428391839083AFEB65E474E0A15044 | |||||
| S11304A060407040E1F700C0000082839183908334 | |||||
| S11304B0AFEB65E474E0A15060407040E1F700C028 | |||||
| S11304C00000828351839083AFEB55E464E0A15034 | |||||
| S11304D050406040E1F700C0000082834183908374 | |||||
| S11304E07FEBA5E444E07150A0404040E1F700C038 | |||||
| S11304F000008283818390835FEB65E474E0515054 | |||||
| S113050060407040E1F700C0000082838183308343 | |||||
| S11305109FEBA5E434E09150A0403040E1F700C0E7 | |||||
| S113052000008283818320834FEB55E464E04150D3 | |||||
| S113053050406040E1F700C00000828381838083E3 | |||||
| S11305407FEB85E494E0715080409040E1F700C077 | |||||
| S11305500000E0E0F1E080E1828381838083AFEBFF | |||||
| S113056025E434E0A15020403040E1F700C0000011 | |||||
| S1130570089543983B9A8FE599E00197F1F700C0FD | |||||
| S113058000003B98EBE2F1E03197F1F700C0000086 | |||||
| S113059086B1E3E3F8E03197F1F700C0000088701A | |||||
| S11305A0089543983B9A96E09A95F1F700C08130FC | |||||
| S11305B009F43B988BE291E00197F1F700C0000049 | |||||
| S11305C03B980895CF93DF93D82FC8E08D2F817087 | |||||
| S11305D0E8DFD695C150D1F7DF91CF9108954398C4 | |||||
| S11305E03B9A86E08A95F1F700C03B98EDE5EA95E1 | |||||
| S11305F0F1F7000086B1E0EEF0E03197F1F700C0CA | |||||
| S1130600000083FB882780F90895CF93DF93D8E017 | |||||
| S1130610C0E0E5DF20E8829FC0011124C695C82B05 | |||||
| S1130620D150B9F78C2FDF91CF9108951FDDE0E011 | |||||
| S1130630F1E080E1828381838083AFE4B3EC11979E | |||||
| S1130640F1F700C0000093E1928381838083BFE7C8 | |||||
| S1130650CFE422E1B150C0402040E1F700C00000E7 | |||||
| S11306609283918380833FE74FE482E1315040409D | |||||
| S11306708040E1F700C000009283918386E180838B | |||||
| S11306809FE7AFE4B2E19150A040B040E1F700C071 | |||||
| S1130690000035E080E123E17CE16DE15EE196E17B | |||||
| S11306A04FE1828321837083CFEBA5E4B4E0C15092 | |||||
| S11306B0A040B040E1F700C00000828381836083E2 | |||||
| S11306C0CFEBA5E4B4E0C150A040B040E1F700C0D6 | |||||
| S11306D00000828381835083CFEBA5E4B4E0C15052 | |||||
| S11306E0A040B040E1F700C00000828391834083C2 | |||||
| S11306F0CFEBA5E4B4E0C150A040B040E1F700C0A6 | |||||
| S11307000000928391832083CFEBA5E4B4E0C15031 | |||||
| S1130710A040B040E1F700C0000072839183808361 | |||||
| S1130720CFEBA5E4B4E0C150A040B040E1F700C075 | |||||
| S11307300000628381838083CFEBA5E4B4E0C150E1 | |||||
| S1130740A040B040E1F700C0000052838183808361 | |||||
| S1130750CFEBA5E4B4E0C150A040B040E1F700C045 | |||||
| S11307600000428321838083CFEBA5E4B4E0C15031 | |||||
| S1130770A040B040E1F700C00000228321839083B1 | |||||
| S1130780CFEBA5E4B4E0C150A040B040E1F700C015 | |||||
| S11307900000315009F085CFE0E0F1E080E1828390 | |||||
| S11307A081838083809125018130B1F118F08230FA | |||||
| S11307B0C1F1FACFDEDE8CEC05DF84E403DF0FDF6A | |||||
| S11307C08823E9F3D6DE8CECFDDE8EEBFBDE1DDF49 | |||||
| S11307D0C82F1BDF682F70E0762F66276C0F711D02 | |||||
| S11307E0072E000C880B990B4FD020E030E040E836 | |||||
| S11307F05DE3AED01BD0862F6EE050DC80912501E6 | |||||
| S11308008111D0CFCFE724E83EE1C15020403040F1 | |||||
| S1130810E1F700C00000C6CF81E0C5DC10922501DD | |||||
| S1130820C1CF82E0C0DC10922501BCCF70D088F02B | |||||
| S11308309F5790F0B92F9927B751A0F0D1F0660FC8 | |||||
| S1130840771F881F991F1AF0BA95C9F712C0B130E3 | |||||
| S113085081F077D0B1E0089574C0672F782F88278E | |||||
| S1130860B85F39F0B93FCCF3869577956795B39522 | |||||
| S1130870D9F73EF490958095709561957F4F8F4F91 | |||||
| S11308809F4F0895E89409C097FB3EF49095809596 | |||||
| S1130890709561957F4F8F4F9F4F9923A9F0F92F42 | |||||
| S11308A096E9BB279395F695879577956795B795C0 | |||||
| S11308B0F111F8CFFAF4BB0F11F460FF1BC06F5FA6 | |||||
| S11308C07F4F8F4F9F4F16C0882311F096E911C0B8 | |||||
| S11308D0772321F09EE8872F762F05C0662371F0D9 | |||||
| S11308E096E8862F70E060E02AF09A95660F771FED | |||||
| S11308F0881FDAF7880F9695879597F9089557FD1D | |||||
| S11309009058440F551F59F05F3F71F04795880F79 | |||||
| S113091097FB991F61F09F3F79F087950895121610 | |||||
| S113092013061406551FF2CF4695F1DF08C01616BC | |||||
| S113093017061806991FF1CF86957105610508946D | |||||
| S11309400895E894BB2766277727CB0197F9089584 | |||||
| S11309500BD078C069D028F06ED018F0952309F038 | |||||
| S11309605AC05FC01124EECFCADFA0F3959FD1F324 | |||||
| S1130970950F50E0551F629FF001729FBB27F00D49 | |||||
| S1130980B11D639FAA27F00DB11DAA1F649F66279E | |||||
| S1130990B00DA11D661F829F2227B00DA11D621FED | |||||
| S11309A0739FB00DA11D621F839FA00D611D221FA7 | |||||
| S11309B0749F3327A00D611D231F849F600D211D8B | |||||
| S11309C0822F762F6A2F11249F5750408AF0E1F02E | |||||
| S11309D088234AF0EE0FFF1FBB1F661F771F881F77 | |||||
| S11309E091505040A9F79E3F510570F014C0AACF12 | |||||
| S11309F05F3FECF3983EDCF3869577956795B79562 | |||||
| S1130A00F795E7959F5FC1F7FE2B880F911D96958B | |||||
| S1130A10879597F9089597F99F6780E870E060E0FB | |||||
| S1130A2008959FEF80EC089500240A941616170683 | |||||
| S1130A3018060906089500240A94121613061406CB | |||||
| S1130A4005060895092E0394000C11F4882352F02E | |||||
| S1130A50BB0F40F4BF2B11F460FF04C06F5F7F4FE6 | |||||
| S10D0A608F4F9F4F0895F894FFCFC5 | |||||
| S1130A6A101010FC24BAAE66CEDEA4FEEE161EDA10 | |||||
| S1130A7A12ADF3000250802004081040A02C0C1878 | |||||
| S1070A8A58D0C0007C | |||||
| S9030000FC | |||||
| @@ -0,0 +1,49 @@ | |||||
| main.d main.o: .././main.c \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdbool.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ | |||||
| C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\include/avr/iom88pa.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdbool.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: | |||||
| C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\include/avr/iom88pa.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h: | |||||
| @@ -0,0 +1,6 @@ | |||||
| ################################################################################ | |||||
| # Automatically-generated file. Do not edit or delete the file | |||||
| ################################################################################ | |||||
| main.c | |||||
| @@ -0,0 +1,86 @@ | |||||
| <?xml version="1.0" encoding="utf-8"?> | |||||
| <Store xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="AtmelPackComponentManagement"> | |||||
| <ProjectComponents> | |||||
| <ProjectComponent z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/"> | |||||
| <CApiVersion></CApiVersion> | |||||
| <CBundle></CBundle> | |||||
| <CClass>Device</CClass> | |||||
| <CGroup>Startup</CGroup> | |||||
| <CSub></CSub> | |||||
| <CVariant></CVariant> | |||||
| <CVendor>Atmel</CVendor> | |||||
| <CVersion>1.2.0</CVersion> | |||||
| <DefaultRepoPath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs</DefaultRepoPath> | |||||
| <DependentComponents xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" /> | |||||
| <Description></Description> | |||||
| <Files xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> | |||||
| <d4p1:anyType i:type="FileInfo"> | |||||
| <AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\include</AbsolutePath> | |||||
| <Attribute></Attribute> | |||||
| <Category>include</Category> | |||||
| <Condition>C</Condition> | |||||
| <FileContentHash i:nil="true" /> | |||||
| <FileVersion></FileVersion> | |||||
| <Name>include</Name> | |||||
| <SelectString></SelectString> | |||||
| <SourcePath></SourcePath> | |||||
| </d4p1:anyType> | |||||
| <d4p1:anyType i:type="FileInfo"> | |||||
| <AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\include\avr\iom88pa.h</AbsolutePath> | |||||
| <Attribute></Attribute> | |||||
| <Category>header</Category> | |||||
| <Condition>C</Condition> | |||||
| <FileContentHash>PWoJcvZZTeGBgzC7OP4j4w==</FileContentHash> | |||||
| <FileVersion></FileVersion> | |||||
| <Name>include/avr/iom88pa.h</Name> | |||||
| <SelectString></SelectString> | |||||
| <SourcePath></SourcePath> | |||||
| </d4p1:anyType> | |||||
| <d4p1:anyType i:type="FileInfo"> | |||||
| <AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\templates\main.c</AbsolutePath> | |||||
| <Attribute>template</Attribute> | |||||
| <Category>source</Category> | |||||
| <Condition>C Exe</Condition> | |||||
| <FileContentHash>gxHbyEN2bS28BbjX5Z61rw==</FileContentHash> | |||||
| <FileVersion></FileVersion> | |||||
| <Name>templates/main.c</Name> | |||||
| <SelectString>Main file (.c)</SelectString> | |||||
| <SourcePath></SourcePath> | |||||
| </d4p1:anyType> | |||||
| <d4p1:anyType i:type="FileInfo"> | |||||
| <AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\templates\main.cpp</AbsolutePath> | |||||
| <Attribute>template</Attribute> | |||||
| <Category>source</Category> | |||||
| <Condition>C Exe</Condition> | |||||
| <FileContentHash>YXFphlh0CtZJU+ebktABgQ==</FileContentHash> | |||||
| <FileVersion></FileVersion> | |||||
| <Name>templates/main.cpp</Name> | |||||
| <SelectString>Main file (.cpp)</SelectString> | |||||
| <SourcePath></SourcePath> | |||||
| </d4p1:anyType> | |||||
| <d4p1:anyType i:type="FileInfo"> | |||||
| <AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\gcc\dev\atmega88pa</AbsolutePath> | |||||
| <Attribute></Attribute> | |||||
| <Category>libraryPrefix</Category> | |||||
| <Condition>GCC</Condition> | |||||
| <FileContentHash i:nil="true" /> | |||||
| <FileVersion></FileVersion> | |||||
| <Name>gcc/dev/atmega88pa</Name> | |||||
| <SelectString></SelectString> | |||||
| <SourcePath></SourcePath> | |||||
| </d4p1:anyType> | |||||
| </Files> | |||||
| <PackName>ATmega_DFP</PackName> | |||||
| <PackPath>C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/Atmel.ATmega_DFP.pdsc</PackPath> | |||||
| <PackVersion>1.2.132</PackVersion> | |||||
| <PresentInProject>true</PresentInProject> | |||||
| <ReferenceConditionId>ATmega88PA</ReferenceConditionId> | |||||
| <RteComponents xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> | |||||
| <d4p1:string></d4p1:string> | |||||
| </RteComponents> | |||||
| <Status>Resolved</Status> | |||||
| <VersionMode>Fixed</VersionMode> | |||||
| <IsComponentInAtProject>true</IsComponentInAtProject> | |||||
| </ProjectComponent> | |||||
| </ProjectComponents> | |||||
| </Store> | |||||
| @@ -0,0 +1,139 @@ | |||||
| <?xml version="1.0" encoding="utf-8"?> | |||||
| <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="14.0"> | |||||
| <PropertyGroup> | |||||
| <SchemaVersion>2.0</SchemaVersion> | |||||
| <ProjectVersion>7.0</ProjectVersion> | |||||
| <ToolchainName>com.Atmel.AVRGCC8.C</ToolchainName> | |||||
| <ProjectGuid>dce6c7e3-ee26-4d79-826b-08594b9ad897</ProjectGuid> | |||||
| <avrdevice>ATmega88PA</avrdevice> | |||||
| <avrdeviceseries>none</avrdeviceseries> | |||||
| <OutputType>Executable</OutputType> | |||||
| <Language>C</Language> | |||||
| <OutputFileName>$(MSBuildProjectName)</OutputFileName> | |||||
| <OutputFileExtension>.elf</OutputFileExtension> | |||||
| <OutputDirectory>$(MSBuildProjectDirectory)\$(Configuration)</OutputDirectory> | |||||
| <AssemblyName>PoolClock</AssemblyName> | |||||
| <Name>PoolClockWaterTemp</Name> | |||||
| <RootNamespace>PoolClock</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>2</eraseonlaunchrule> | |||||
| <AsfFrameworkConfig> | |||||
| <framework-data xmlns=""> | |||||
| <options /> | |||||
| <configurations /> | |||||
| <files /> | |||||
| <documentation help="" /> | |||||
| <offline-documentation help="" /> | |||||
| <dependencies> | |||||
| <content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.34.1" /> | |||||
| </dependencies> | |||||
| </framework-data> | |||||
| </AsfFrameworkConfig> | |||||
| <avrtool>com.atmel.avrdbg.tool.simulator</avrtool> | |||||
| <avrtoolserialnumber /> | |||||
| <avrdeviceexpectedsignature>0x1E930F</avrdeviceexpectedsignature> | |||||
| <com_atmel_avrdbg_tool_simulator> | |||||
| <ToolOptions xmlns=""> | |||||
| <InterfaceProperties> | |||||
| </InterfaceProperties> | |||||
| </ToolOptions> | |||||
| <ToolType xmlns="">com.atmel.avrdbg.tool.simulator</ToolType> | |||||
| <ToolNumber xmlns=""> | |||||
| </ToolNumber> | |||||
| <ToolName xmlns="">Simulator</ToolName> | |||||
| </com_atmel_avrdbg_tool_simulator> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition=" '$(Configuration)' == 'Release' "> | |||||
| <ToolchainSettings> | |||||
| <AvrGcc> | |||||
| <avrgcc.common.Device>-mmcu=atmega88pa -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.2.132\gcc\dev\atmega88pa"</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>NDEBUG</Value> | |||||
| </ListValues> | |||||
| </avrgcc.compiler.symbols.DefSymbols> | |||||
| <avrgcc.compiler.directories.IncludePaths> | |||||
| <ListValues> | |||||
| <Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.2.132\include</Value> | |||||
| </ListValues> | |||||
| </avrgcc.compiler.directories.IncludePaths> | |||||
| <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.assembler.general.IncludePaths> | |||||
| <ListValues> | |||||
| <Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.2.132\include</Value> | |||||
| </ListValues> | |||||
| </avrgcc.assembler.general.IncludePaths> | |||||
| </AvrGcc> | |||||
| </ToolchainSettings> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> | |||||
| <ToolchainSettings> | |||||
| <AvrGcc> | |||||
| <avrgcc.common.Device>-mmcu=atmega88pa -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.2.132\gcc\dev\atmega88pa"</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\ATmega_DFP\1.2.132\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.general.IncludePaths> | |||||
| <ListValues> | |||||
| <Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.2.132\include</Value> | |||||
| </ListValues> | |||||
| </avrgcc.assembler.general.IncludePaths> | |||||
| <avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel> | |||||
| </AvrGcc> | |||||
| </ToolchainSettings> | |||||
| </PropertyGroup> | |||||
| <ItemGroup> | |||||
| <Compile Include="main.c"> | |||||
| <SubType>compile</SubType> | |||||
| </Compile> | |||||
| </ItemGroup> | |||||
| <Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Compiler.targets" /> | |||||
| </Project> | |||||
| @@ -0,0 +1,266 @@ | |||||
| #include <stdbool.h> | |||||
| #include <avr/io.h> | |||||
| #include <avr/interrupt.h> | |||||
| #define F_CPU 20000000UL //20 MHz | |||||
| #include <util/delay.h> | |||||
| /* 7-Segment display: */ | |||||
| #define NUM_DIGITS 3U //3 Digits | |||||
| #define DIGIT_TENS 2U //left | |||||
| #define DIGIT_ONES 1U //middle | |||||
| #define DIGIT_UNIT 0U //right | |||||
| #define SELECT_DIGIT(digit) (1U << digit) | |||||
| #define TEMP_MIN 0U | |||||
| #define TEMP_MAX 50U | |||||
| #define BUTTON_THRESHOLD 50U //software debounce | |||||
| /* Symbol indexes: */ | |||||
| #define SYM_n 10U | |||||
| #define SYM_o 11U | |||||
| #define SYM_E 12U | |||||
| #define SYM_R 13U | |||||
| #define SYM_DEG_CELCIUS 14U | |||||
| #define SYM_P_P 15U | |||||
| #define SYM_OFF 16U | |||||
| #define SYM_DASH 17U | |||||
| /* | |||||
| 7-Segment Layout: | |||||
| A | |||||
| F B | |||||
| G | |||||
| E C | |||||
| D P | |||||
| Pin 7 6 5 4 3 2 1 0 | |||||
| Segment A F B E D C G P | |||||
| */ | |||||
| static uint8_t g_au8Symbols[18U] = | |||||
| { | |||||
| /* 00 */ 0b11111100U, //0 (ABCDEF) | |||||
| /* 01 */ 0b00100100U, //1 (BC) | |||||
| /* 02 */ 0b10111010U, //2 (ABDEG) | |||||
| /* 03 */ 0b10101110U, //3 (ABCDG) | |||||
| /* 04 */ 0b01100110U, //4 (BCFG) | |||||
| /* 05 */ 0b11001110U, //5 (ACDFG) | |||||
| /* 06 */ 0b11011110U, //6 (ACDEFG) | |||||
| /* 07 */ 0b10100100U, //7 (ABC) | |||||
| /* 08 */ 0b11111110U, //8 (ABCDEFG) | |||||
| /* 09 */ 0b11101110U, //9 (ABCDFG) | |||||
| /* 10 */ 0b00010110U, //n (CEG) SYM_n | |||||
| /* 11 */ 0b00011110U, //o (CDEG) SYM_o | |||||
| /* 12 */ 0b11011010U, //E (ADEFG) SYM_E | |||||
| /* 13 */ 0b00010010U, //r (EG) SYM_r | |||||
| /* 14 */ 0b10101101U, //degC (ABCDP) SYM_DEG_CELCIUS | |||||
| /* 15 */ 0b11110011U, //P. (ABEFGP) SYM_P_P | |||||
| /* 16 */ 0b00000000U, //OFF SYM_OFF | |||||
| /* 17 */ 0b00000010U //- (G) SYM_DASH | |||||
| }; | |||||
| static uint8_t g_u8WaterTemperature = 24U; //Water temperature, default 24 degree celcius | |||||
| static uint8_t g_u8CountIncs = 0U; //'+' button counter | |||||
| static uint8_t g_u8CountDecs = 0U; //'-' button counter | |||||
| uint8_t g_u8ISRDigitSelect = 0U; | |||||
| uint8_t g_au8Digits[3U] = | |||||
| { | |||||
| SYM_OFF, //unit | |||||
| SYM_OFF, //ones | |||||
| SYM_OFF //tens | |||||
| }; | |||||
| void vInit( void ); | |||||
| void vSetValue( uint8_t u8Value, uint8_t u8Unit ); | |||||
| void vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit ); | |||||
| void vReadButtons( void ); | |||||
| void vCalculate( void ); | |||||
| /************************************************************************/ | |||||
| /* Timer1 ISR - show values on display */ | |||||
| /************************************************************************/ | |||||
| ISR ( TIMER1_COMPA_vect ) | |||||
| { | |||||
| PORTB = 0; | |||||
| PORTD = 0; | |||||
| _delay_us(2); | |||||
| PORTB = SELECT_DIGIT(g_u8ISRDigitSelect); | |||||
| PORTD = g_au8Symbols[g_au8Digits[g_u8ISRDigitSelect]]; | |||||
| g_u8ISRDigitSelect++; | |||||
| if (g_u8ISRDigitSelect > 2U) | |||||
| { | |||||
| g_u8ISRDigitSelect = 0U; | |||||
| } | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* main() */ | |||||
| /************************************************************************/ | |||||
| int main(void) | |||||
| { | |||||
| /* Init I/O: */ | |||||
| vInit(); | |||||
| /* Set default value: */ | |||||
| vSetDisplayDigits( SYM_DASH, SYM_DASH, SYM_DASH ); | |||||
| /* wait 3 seconds */ | |||||
| _delay_ms(3000); | |||||
| /* Set default value: */ | |||||
| vSetValue( g_u8WaterTemperature, SYM_DEG_CELCIUS ); | |||||
| while ( 1 ) | |||||
| { | |||||
| vReadButtons(); | |||||
| vCalculate(); | |||||
| _delay_ms(3); | |||||
| } | |||||
| return 0; | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Initialize inputs and outputs */ | |||||
| /************************************************************************/ | |||||
| void vInit( void ) | |||||
| { | |||||
| /* Port D - Pins 0-7: Outputs */ | |||||
| DDRD = 0b11111111U; | |||||
| /* Port B - Pins 0-2: Outputs */ | |||||
| DDRB = 0b00000111U; | |||||
| /* Port C - Pins 4-5: Inputs with internal Pull-up */ | |||||
| PORTC = 0b00110000U; | |||||
| /* 16-bit TIMER1 in CTC mode | |||||
| * prescaler = 8 | |||||
| * 20 MHz / 8 = 2.5 MHz | |||||
| * Compare value = 2500 => 1 ms IRQ | |||||
| */ | |||||
| TCCR1A = 0U; | |||||
| TCCR1B = (1<<WGM12) | (1<<CS11); | |||||
| OCR1A = 2500U; | |||||
| TIMSK1 |= (1<<OCIE1A); | |||||
| sei(); | |||||
| return; //void | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* */ | |||||
| /************************************************************************/ | |||||
| void vDigitTest( void) | |||||
| { | |||||
| PORTB = SELECT_DIGIT(DIGIT_TENS); | |||||
| PORTD = 0xFF; | |||||
| _delay_ms(1000); | |||||
| PORTD = 0; | |||||
| _delay_ms(100); | |||||
| PORTB = SELECT_DIGIT(DIGIT_ONES); | |||||
| PORTD = 0xFF; | |||||
| _delay_ms(1000); | |||||
| PORTD = 0; | |||||
| _delay_ms(100); | |||||
| PORTB = SELECT_DIGIT(DIGIT_UNIT); | |||||
| PORTD = 0xFF; | |||||
| _delay_ms(1000); | |||||
| PORTD = 0; | |||||
| _delay_ms(100); | |||||
| return; //void | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Set new values to be shown on display */ | |||||
| /************************************************************************/ | |||||
| void vSetValue( uint8_t u8Value, uint8_t u8Unit ) | |||||
| { | |||||
| uint8_t u8Tmp = u8Value / 10U; | |||||
| vSetDisplayDigits(u8Tmp, u8Value - (u8Tmp * 10U), u8Unit); | |||||
| return; //void | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Set display digits individually */ | |||||
| /************************************************************************/ | |||||
| void vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit ) | |||||
| { | |||||
| g_au8Digits[DIGIT_TENS] = u8Tens; | |||||
| g_au8Digits[DIGIT_ONES] = u8Ones; | |||||
| g_au8Digits[DIGIT_UNIT] = u8Unit; | |||||
| return; //void | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Read button status */ | |||||
| /************************************************************************/ | |||||
| void vReadButtons( void ) | |||||
| { | |||||
| if ( !(PINC & (1<<PINC4)) ) //if button '+' pressed | |||||
| { | |||||
| g_u8CountIncs++; | |||||
| } | |||||
| else | |||||
| { | |||||
| g_u8CountIncs = 0U; //reset button counter | |||||
| } | |||||
| if ( !(PINC & (1<<PINC5)) ) //if button '-' pressed | |||||
| { | |||||
| g_u8CountDecs++; | |||||
| } | |||||
| else | |||||
| { | |||||
| g_u8CountDecs = 0U; //reset button counter | |||||
| } | |||||
| return; //void | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* */ | |||||
| /************************************************************************/ | |||||
| void vCalculate( void ) | |||||
| { | |||||
| bool blChanged = false; | |||||
| if ( g_u8CountIncs > BUTTON_THRESHOLD ) | |||||
| { | |||||
| g_u8WaterTemperature++; | |||||
| if ( g_u8WaterTemperature > TEMP_MAX ) | |||||
| { | |||||
| g_u8WaterTemperature = TEMP_MIN; | |||||
| } | |||||
| blChanged = true; | |||||
| g_u8CountIncs = 0U; //reset increment counter | |||||
| } | |||||
| if ( g_u8CountDecs > BUTTON_THRESHOLD ) | |||||
| { | |||||
| if ( g_u8WaterTemperature == TEMP_MIN ) | |||||
| { | |||||
| g_u8WaterTemperature = TEMP_MAX; | |||||
| } | |||||
| else | |||||
| { | |||||
| g_u8WaterTemperature--; | |||||
| } | |||||
| blChanged = true; | |||||
| g_u8CountDecs = 0U; //reset decrement counter | |||||
| } | |||||
| if ( blChanged ) | |||||
| { | |||||
| vSetValue( g_u8WaterTemperature, SYM_DEG_CELCIUS ); | |||||
| } | |||||
| return; //void | |||||
| } | |||||
| @@ -0,0 +1,559 @@ | |||||
| #include <stdbool.h> | |||||
| #include <avr/io.h> | |||||
| #include <avr/interrupt.h> | |||||
| #define F_CPU 20000000UL //20 MHz | |||||
| #include <util/delay.h> | |||||
| /* 7-Segment display: */ | |||||
| #define NUM_DIGITS 3U //3 Digits | |||||
| #define DIGIT_TENS 2U //left | |||||
| #define DIGIT_ONES 1U //middle | |||||
| #define DIGIT_UNIT 0U //right | |||||
| #define SELECT_DIGIT(digit) (1U << digit) | |||||
| /* DS18B20 peripherals: */ | |||||
| #define DS18B20_PORT PORTC | |||||
| #define DS18B20_DDR DDRC | |||||
| #define DS18B20_PIN PINC | |||||
| #define DS18B20_DQ PINC3 | |||||
| /* DS18B20 commands: */ | |||||
| #define DS18B20_CMD_CONVERTTEMP 0x44U | |||||
| #define DS18B20_CMD_RSCRATCHPAD 0xBEU | |||||
| #define DS18B20_CMD_WSCRATCHPAD 0x4EU | |||||
| #define DS18B20_CMD_CPYSCRATCHPAD 0x48U | |||||
| #define DS18B20_CMD_RECEEPROM 0xB8U | |||||
| #define DS18B20_CMD_RPWRSUPPLY 0xB4U | |||||
| #define DS18B20_CMD_SEARCHROM 0xF0U | |||||
| #define DS18B20_CMD_READROM 0x33U | |||||
| #define DS18B20_CMD_MATCHROM 0x55U | |||||
| #define DS18B20_CMD_SKIPROM 0xCCU | |||||
| #define DS18B20_CMD_ALARMSEARCH 0xECU | |||||
| //#define TEMP_MIN 0U | |||||
| //#define TEMP_MAX 50U | |||||
| #define MODE_MEASURE 0U | |||||
| #define MODE_ANIMATION_1 1U | |||||
| #define MODE_ANIMATION_2 2U | |||||
| #define ANIMATION_DELAY_MS 70U | |||||
| #define ANIMATION_START_DELAY_MS 70U | |||||
| #define BUTTON_THRESHOLD 50 //software debounce | |||||
| /* Symbol indexes: */ | |||||
| #define SYM_n 10U | |||||
| #define SYM_o 11U | |||||
| #define SYM_E 12U | |||||
| #define SYM_R 13U | |||||
| #define SYM_DEG_CELCIUS 14U | |||||
| #define SYM_P_P 15U | |||||
| #define SYM_OFF 16U | |||||
| #define SYM_DASH 17U | |||||
| #define SYM_I 18U | |||||
| #define SYM_SEG_A 19U | |||||
| #define SYM_SEG_B 20U | |||||
| #define SYM_SEG_C 21U | |||||
| #define SYM_SEG_D 22U | |||||
| #define SYM_SEG_E 23U | |||||
| #define SYM_SEG_F 24U | |||||
| #define SYM_SEG_AB 25U | |||||
| #define SYM_SEG_BCD 26U | |||||
| #define SYM_SEG_CD 27U | |||||
| #define SYM_SEG_DE 28U | |||||
| #define SYM_SEG_DEF 29U | |||||
| #define SYM_SEG_AEF 30U | |||||
| #define SYM_SEG_AF 31U | |||||
| /* | |||||
| 7-Segment Layout: | |||||
| A | |||||
| F B | |||||
| G | |||||
| E C | |||||
| D P | |||||
| Pin 7 6 5 4 3 2 1 0 | |||||
| Segment A F B E D C G P | |||||
| */ | |||||
| static uint8_t g_au8Symbols[32U] = | |||||
| { | |||||
| /* 00 */ 0b11111100U, //0 (ABCDEF) | |||||
| /* 01 */ 0b00100100U, //1 (BC) | |||||
| /* 02 */ 0b10111010U, //2 (ABDEG) | |||||
| /* 03 */ 0b10101110U, //3 (ABCDG) | |||||
| /* 04 */ 0b01100110U, //4 (BCFG) | |||||
| /* 05 */ 0b11001110U, //5 (ACDFG) | |||||
| /* 06 */ 0b11011110U, //6 (ACDEFG) | |||||
| /* 07 */ 0b10100100U, //7 (ABC) | |||||
| /* 08 */ 0b11111110U, //8 (ABCDEFG) | |||||
| /* 09 */ 0b11101110U, //9 (ABCDFG) | |||||
| /* 10 */ 0b00010110U, //n (CEG) SYM_n | |||||
| /* 11 */ 0b00011110U, //o (CDEG) SYM_o | |||||
| /* 12 */ 0b11011010U, //E (ADEFG) SYM_E | |||||
| /* 13 */ 0b00010010U, //r (EG) SYM_r | |||||
| /* 14 */ 0b10101101U, //degC (ABCDP) SYM_DEG_CELCIUS | |||||
| /* 15 */ 0b11110011U, //P. (ABEFGP) SYM_P_P | |||||
| /* 16 */ 0b00000000U, //OFF SYM_OFF | |||||
| /* 17 */ 0b00000010U, //- (G) SYM_DASH | |||||
| /* 18 */ 0b01010000U, //I (EF) SYM_I | |||||
| /* 19 */ 0b10000000U, //SegA SYM_SEG_A | |||||
| /* 20 */ 0b00100000U, //SegB SYM_SEG_B | |||||
| /* 21 */ 0b00000100U, //SegC SYM_SEG_C | |||||
| /* 22 */ 0b00001000U, //SegD SYM_SEG_D | |||||
| /* 23 */ 0b00010000U, //SegE SYM_SEG_E | |||||
| /* 24 */ 0b01000000U, //SegF SYM_SEG_F | |||||
| /* 25 */ 0b10100000U, //SegAB SYM_SEG_AB | |||||
| /* 26 */ 0b00101100U, //SegBCD SYM_SEG_BCD | |||||
| /* 27 */ 0b00001100U, //SegCD SYM_SEG_CD | |||||
| /* 28 */ 0b00011000U, //SegDE SYM_SEG_DE | |||||
| /* 29 */ 0b01011000U, //SegDEF SYM_SEG_DEF | |||||
| /* 30 */ 0b11010000U, //SegAEF SYM_SEG_AEF | |||||
| /* 31 */ 0b11000000U, //SegAF SYM_SEG_AF | |||||
| }; | |||||
| //static uint8_t g_u8WaterTemperature = 24U; //Water temperature, default 24 degree celcius | |||||
| static uint8_t g_u8ButtonCountTop = 0U; //upper button counter | |||||
| static uint8_t g_u8ButtonCountBot = 0U; //lower button counter | |||||
| static uint8_t g_u8Mode = MODE_MEASURE; //Current display mode | |||||
| uint8_t g_u8ISRDigitSelect = 0U; | |||||
| uint8_t g_au8Digits[3U] = | |||||
| { | |||||
| SYM_OFF, //unit | |||||
| SYM_OFF, //ones | |||||
| SYM_OFF //tens | |||||
| }; | |||||
| void s_vInit( void ); | |||||
| void s_vSetValue( uint8_t u8Value, uint8_t u8Unit ); | |||||
| void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit ); | |||||
| void s_vReadButtons( void ); | |||||
| void s_vShowAnim( uint8_t u8Select ); | |||||
| uint8_t s_u8DS18B20_Reset( void ); | |||||
| void s_vDS18B20_WriteByte( uint8_t u8Byte ); | |||||
| void s_vDS18B20_WriteBit( uint8_t u8Bit ); | |||||
| uint8_t s_u8DS18B20_ReadByte( void ); | |||||
| uint8_t s_u8DS18B20_ReadBit( void ); | |||||
| /************************************************************************/ | |||||
| /* Timer1 ISR - show values on display */ | |||||
| /************************************************************************/ | |||||
| ISR ( TIMER1_COMPA_vect ) | |||||
| { | |||||
| PORTB = 0; | |||||
| PORTD = 0; | |||||
| _delay_us(2); | |||||
| PORTB = SELECT_DIGIT(g_u8ISRDigitSelect); | |||||
| PORTD = g_au8Symbols[g_au8Digits[g_u8ISRDigitSelect]]; | |||||
| g_u8ISRDigitSelect++; | |||||
| if (g_u8ISRDigitSelect > 2U) | |||||
| { | |||||
| g_u8ISRDigitSelect = 0U; | |||||
| } | |||||
| /* Read and evaluate button status */ | |||||
| s_vReadButtons(); | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* main() */ | |||||
| /************************************************************************/ | |||||
| int main(void) | |||||
| { | |||||
| uint8_t u8TempLo, u8TempHi; | |||||
| float f32Temperature; | |||||
| uint8_t u8Loop = 0U; | |||||
| /* Init I/O: */ | |||||
| s_vInit(); | |||||
| s_vSetDisplayDigits( SYM_OFF, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(10); | |||||
| s_vSetDisplayDigits( SYM_SEG_A, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(300); | |||||
| s_vSetDisplayDigits( SYM_SEG_A, SYM_SEG_A, SYM_OFF ); | |||||
| _delay_ms(300); | |||||
| s_vSetDisplayDigits( SYM_SEG_A, SYM_SEG_A, SYM_SEG_D ); | |||||
| _delay_ms(300); | |||||
| while ( u8Loop < 5U ) | |||||
| { | |||||
| s_vSetDisplayDigits( SYM_OFF, SYM_SEG_A, SYM_SEG_DE ); | |||||
| _delay_ms(ANIMATION_START_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_OFF, SYM_OFF, SYM_SEG_DEF ); | |||||
| _delay_ms(ANIMATION_START_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_OFF, SYM_OFF, SYM_SEG_AEF ); | |||||
| _delay_ms(ANIMATION_START_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_OFF, SYM_SEG_D, SYM_SEG_AF ); | |||||
| _delay_ms(ANIMATION_START_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_SEG_D, SYM_SEG_D, SYM_SEG_A ); | |||||
| _delay_ms(ANIMATION_START_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_SEG_DE, SYM_SEG_D, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_START_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_SEG_DEF, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_START_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_SEG_AEF, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_START_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_SEG_AF, SYM_SEG_A, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_START_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_SEG_A, SYM_SEG_A, SYM_SEG_D ); | |||||
| _delay_ms(ANIMATION_START_DELAY_MS); | |||||
| u8Loop++; | |||||
| } | |||||
| /* Set default value: */ | |||||
| s_vSetDisplayDigits( SYM_OFF, SYM_OFF, SYM_OFF ); | |||||
| while ( 1 ) | |||||
| { | |||||
| /* perform mode action */ | |||||
| switch ( g_u8Mode ) | |||||
| { | |||||
| case MODE_MEASURE: | |||||
| (void) s_u8DS18B20_Reset(); | |||||
| s_vDS18B20_WriteByte( DS18B20_CMD_SKIPROM ); | |||||
| s_vDS18B20_WriteByte( DS18B20_CMD_CONVERTTEMP ); | |||||
| while ( !s_u8DS18B20_ReadBit() ); | |||||
| (void) s_u8DS18B20_Reset(); | |||||
| s_vDS18B20_WriteByte( DS18B20_CMD_SKIPROM ); | |||||
| s_vDS18B20_WriteByte( DS18B20_CMD_RSCRATCHPAD ); | |||||
| u8TempLo = s_u8DS18B20_ReadByte(); | |||||
| u8TempHi = s_u8DS18B20_ReadByte(); | |||||
| f32Temperature = ((u8TempHi << 8) + u8TempLo) * 0.0625; | |||||
| s_vSetValue( (uint8_t) f32Temperature, SYM_DEG_CELCIUS ); | |||||
| if ( g_u8Mode == MODE_MEASURE ) | |||||
| { | |||||
| _delay_ms(500); | |||||
| } | |||||
| break; | |||||
| case MODE_ANIMATION_1: | |||||
| s_vShowAnim(g_u8Mode); | |||||
| g_u8Mode = MODE_MEASURE; | |||||
| break; | |||||
| case MODE_ANIMATION_2: | |||||
| s_vShowAnim(g_u8Mode); | |||||
| g_u8Mode = MODE_MEASURE; | |||||
| break; | |||||
| default: | |||||
| break; | |||||
| } //end switch | |||||
| } | |||||
| return 0; | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Initialize inputs and outputs */ | |||||
| /************************************************************************/ | |||||
| void s_vInit( void ) | |||||
| { | |||||
| /* Port D - Pins 0-7: Outputs */ | |||||
| DDRD = 0b11111111U; | |||||
| /* Port B - Pins 0-2: Outputs */ | |||||
| DDRB = 0b00000111U; | |||||
| /* Port C - Pins 4-5: Inputs with internal Pull-up */ | |||||
| PORTC = 0b00110000U; | |||||
| /* 16-bit TIMER1 in CTC mode | |||||
| * prescaler = 8 | |||||
| * 20 MHz / 8 = 2.5 MHz | |||||
| * Compare value = 2500 => 1 ms IRQ | |||||
| */ | |||||
| TCCR1A = 0U; | |||||
| TCCR1B = (1<<WGM12) | (1<<CS11); | |||||
| OCR1A = 2500U; | |||||
| TIMSK1 |= (1<<OCIE1A); | |||||
| sei(); | |||||
| return; //void | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Set new values to be shown on display */ | |||||
| /************************************************************************/ | |||||
| void s_vSetValue( uint8_t u8Value, uint8_t u8Unit ) | |||||
| { | |||||
| uint8_t u8Tmp = u8Value / 10U; | |||||
| s_vSetDisplayDigits(u8Tmp, u8Value - (u8Tmp * 10U), u8Unit); | |||||
| return; //void | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Set display digits individually */ | |||||
| /************************************************************************/ | |||||
| void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit ) | |||||
| { | |||||
| g_au8Digits[DIGIT_TENS] = u8Tens; | |||||
| g_au8Digits[DIGIT_ONES] = u8Ones; | |||||
| g_au8Digits[DIGIT_UNIT] = u8Unit; | |||||
| return; //void | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Read button status */ | |||||
| /************************************************************************/ | |||||
| void s_vReadButtons( void ) | |||||
| { | |||||
| if ( !(PINC & (1<<PINC4)) ) //if button '+' pressed | |||||
| { | |||||
| g_u8ButtonCountTop++; | |||||
| } | |||||
| else | |||||
| { | |||||
| g_u8ButtonCountTop = 0U; //reset button counter | |||||
| } | |||||
| if ( !(PINC & (1<<PINC5)) ) //if button '-' pressed | |||||
| { | |||||
| g_u8ButtonCountBot++; | |||||
| } | |||||
| else | |||||
| { | |||||
| g_u8ButtonCountBot = 0U; //reset button counter | |||||
| } | |||||
| if ( g_u8ButtonCountTop > BUTTON_THRESHOLD ) | |||||
| { | |||||
| g_u8ButtonCountTop = 0U; //reset top counter | |||||
| g_u8Mode = MODE_ANIMATION_1; | |||||
| } | |||||
| else if ( g_u8ButtonCountBot > BUTTON_THRESHOLD ) | |||||
| { | |||||
| g_u8ButtonCountBot = 0U; //reset bottom counter | |||||
| g_u8Mode = MODE_ANIMATION_2; | |||||
| } | |||||
| //else | |||||
| //{ | |||||
| //return MODE_MEASURE; | |||||
| //} | |||||
| return; //void | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* */ | |||||
| /************************************************************************/ | |||||
| void s_vShowAnim( uint8_t u8Select ) | |||||
| { | |||||
| s_vSetDisplayDigits( SYM_OFF, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| switch ( u8Select ) | |||||
| { | |||||
| case MODE_ANIMATION_1: //fade from left to right and from right to left | |||||
| s_vSetDisplayDigits( SYM_I, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_E, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, SYM_I, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, SYM_E, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, 8U, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, 8U, 1U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, 8U, 3U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, 8U, 8U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, 8U, 8U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, 8U, 3U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, 8U, 1U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, 8U, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, SYM_E, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, SYM_I, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_E, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_I, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| break; | |||||
| case MODE_ANIMATION_2: //fade from left to right and clear | |||||
| s_vSetDisplayDigits( SYM_I, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_E, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, SYM_I, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, SYM_E, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, 8U, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, 8U, 1U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, 8U, 3U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, 8U, 8U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 3U, 8U, 8U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 1U, 8U, 8U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_OFF, 8U, 8U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_OFF, 3U, 8U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_OFF, 1U, 8U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_OFF, SYM_OFF, 8U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_OFF, SYM_OFF, SYM_E ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_OFF, SYM_OFF, SYM_I ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_OFF, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| break; | |||||
| default: | |||||
| break; | |||||
| } //end switch | |||||
| s_vSetDisplayDigits( SYM_OFF, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| return; //void | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Reset DS18B20 (960 us) */ | |||||
| /************************************************************************/ | |||||
| uint8_t s_u8DS18B20_Reset( void ) | |||||
| { | |||||
| uint8_t u8Status; | |||||
| //low for 480 us | |||||
| DS18B20_PORT &= ~ (1<<DS18B20_DQ); //low | |||||
| DS18B20_DDR |= (1<<DS18B20_DQ); //output | |||||
| _delay_us(480); | |||||
| //release line and wait for 60 us | |||||
| DS18B20_DDR &= ~(1<<DS18B20_DQ); //input | |||||
| _delay_us(60); | |||||
| //get value and wait 420 us | |||||
| u8Status = (DS18B20_PIN & (1<<DS18B20_DQ)); | |||||
| _delay_us(420); | |||||
| //return the read value: 0=okay, 1=error | |||||
| return u8Status; | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Write byte to DS18B20 (8 * 61 us = 488 us) */ | |||||
| /************************************************************************/ | |||||
| void s_vDS18B20_WriteByte( uint8_t u8Byte ) | |||||
| { | |||||
| uint8_t u8Bits = 8U; | |||||
| while ( u8Bits-- ) | |||||
| { | |||||
| s_vDS18B20_WriteBit( u8Byte & 1U ); | |||||
| u8Byte >>= 1U; | |||||
| } | |||||
| return; //void | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Write single bit to DS18B20 (61 us) */ | |||||
| /************************************************************************/ | |||||
| void s_vDS18B20_WriteBit( uint8_t u8Bit ) | |||||
| { | |||||
| //low for 1 us | |||||
| DS18B20_PORT &= ~ (1U<<DS18B20_DQ); //low | |||||
| DS18B20_DDR |= (1U<<DS18B20_DQ); //output | |||||
| _delay_us(1); | |||||
| //if we want to write 1, release the line (if not will keep low) | |||||
| if (1U == u8Bit ) | |||||
| { | |||||
| DS18B20_DDR &= ~(1<<DS18B20_DQ); //input | |||||
| } | |||||
| //wait 60 us and release the line | |||||
| _delay_us(60); | |||||
| DS18B20_DDR &= ~(1<<DS18B20_DQ); //input | |||||
| return; //void | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Read byte from DS18B20 (8 * 60 us = 480 us) */ | |||||
| /************************************************************************/ | |||||
| uint8_t s_u8DS18B20_ReadByte( void ) | |||||
| { | |||||
| uint8_t u8Bits = 8U; | |||||
| uint8_t n = 0U; | |||||
| while ( u8Bits-- ) | |||||
| { | |||||
| n >>= 1U; | |||||
| n |= (s_u8DS18B20_ReadBit()<<7U); | |||||
| } | |||||
| return n; | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Read single bit from DS18B20 (60 us) */ | |||||
| /************************************************************************/ | |||||
| uint8_t s_u8DS18B20_ReadBit( void ) | |||||
| { | |||||
| uint8_t u8Bit = 0U; | |||||
| //low for 1 us | |||||
| DS18B20_PORT &= ~ (1U<<DS18B20_DQ); //low | |||||
| DS18B20_DDR |= (1U<<DS18B20_DQ); //output | |||||
| _delay_us(1); | |||||
| //release line and wait for 14 us | |||||
| DS18B20_DDR &= ~(1U<<DS18B20_DQ); //input | |||||
| _delay_us(14); | |||||
| //read the value | |||||
| if ( DS18B20_PIN & (1U<<DS18B20_DQ) ) | |||||
| { | |||||
| u8Bit = 1U; | |||||
| } | |||||
| //wait 45 us and return read value | |||||
| _delay_us(45); | |||||
| return u8Bit; | |||||
| } | |||||
| @@ -0,0 +1,129 @@ | |||||
| ################################################################################ | |||||
| # Automatically-generated file. Do not edit! | |||||
| ################################################################################ | |||||
| SHELL := cmd.exe | |||||
| RM := rm -rf | |||||
| USER_OBJS := | |||||
| LIBS := | |||||
| PROJ := | |||||
| O_SRCS := | |||||
| C_SRCS := | |||||
| S_SRCS := | |||||
| S_UPPER_SRCS := | |||||
| OBJ_SRCS := | |||||
| ASM_SRCS := | |||||
| PREPROCESSING_SRCS := | |||||
| OBJS := | |||||
| OBJS_AS_ARGS := | |||||
| C_DEPS := | |||||
| C_DEPS_AS_ARGS := | |||||
| EXECUTABLES := | |||||
| OUTPUT_FILE_PATH := | |||||
| OUTPUT_FILE_PATH_AS_ARGS := | |||||
| AVR_APP_PATH :=$$$AVR_APP_PATH$$$ | |||||
| QUOTE := " | |||||
| ADDITIONAL_DEPENDENCIES:= | |||||
| OUTPUT_FILE_DEP:= | |||||
| LIB_DEP:= | |||||
| LINKER_SCRIPT_DEP:= | |||||
| # Every subdirectory with source files must be described here | |||||
| SUBDIRS := | |||||
| # Add inputs and outputs from these tool invocations to the build variables | |||||
| C_SRCS += \ | |||||
| ../main.c | |||||
| PREPROCESSING_SRCS += | |||||
| ASM_SRCS += | |||||
| OBJS += \ | |||||
| main.o | |||||
| OBJS_AS_ARGS += \ | |||||
| main.o | |||||
| C_DEPS += \ | |||||
| main.d | |||||
| C_DEPS_AS_ARGS += \ | |||||
| main.d | |||||
| OUTPUT_FILE_PATH +=PoolClockAirTemp.elf | |||||
| OUTPUT_FILE_PATH_AS_ARGS +=PoolClockAirTemp.elf | |||||
| ADDITIONAL_DEPENDENCIES:= | |||||
| OUTPUT_FILE_DEP:= ./makedep.mk | |||||
| LIB_DEP+= | |||||
| LINKER_SCRIPT_DEP+= | |||||
| # AVR32/GNU C Compiler | |||||
| ./%.o: .././%.c | |||||
| @echo Building file: $< | |||||
| @echo Invoking: AVR/GNU C Compiler : 5.4.0 | |||||
| $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega88pa -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\gcc\dev\atmega88pa" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" | |||||
| @echo Finished building: $< | |||||
| # AVR32/GNU Preprocessing Assembler | |||||
| # AVR32/GNU Assembler | |||||
| ifneq ($(MAKECMDGOALS),clean) | |||||
| ifneq ($(strip $(C_DEPS)),) | |||||
| -include $(C_DEPS) | |||||
| endif | |||||
| endif | |||||
| # Add inputs and outputs from these tool invocations to the build variables | |||||
| # All Target | |||||
| all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES) | |||||
| $(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP) $(LINKER_SCRIPT_DEP) | |||||
| @echo Building target: $@ | |||||
| @echo Invoking: AVR/GNU Linker : 5.4.0 | |||||
| $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="PoolClockAirTemp.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mmcu=atmega88pa -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\gcc\dev\atmega88pa" | |||||
| @echo Finished building target: $@ | |||||
| "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "PoolClockAirTemp.elf" "PoolClockAirTemp.hex" | |||||
| "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "PoolClockAirTemp.elf" "PoolClockAirTemp.eep" || exit 0 | |||||
| "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "PoolClockAirTemp.elf" > "PoolClockAirTemp.lss" | |||||
| "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "PoolClockAirTemp.elf" "PoolClockAirTemp.srec" | |||||
| "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-size.exe" "PoolClockAirTemp.elf" | |||||
| # Other Targets | |||||
| clean: | |||||
| -$(RM) $(OBJS_AS_ARGS) $(EXECUTABLES) | |||||
| -$(RM) $(C_DEPS_AS_ARGS) | |||||
| rm -rf "PoolClockAirTemp.elf" "PoolClockAirTemp.a" "PoolClockAirTemp.hex" "PoolClockAirTemp.lss" "PoolClockAirTemp.eep" "PoolClockAirTemp.map" "PoolClockAirTemp.srec" "PoolClockAirTemp.usersignatures" | |||||
| @@ -0,0 +1 @@ | |||||
| :00000001FF | |||||
| @@ -0,0 +1,77 @@ | |||||
| :1000000019C033C032C031C030C02FC02EC02DC087 | |||||
| :100010002CC02BC02AC02AC028C027C026C025C09B | |||||
| :1000200024C023C022C021C020C01FC01EC01DC0CC | |||||
| :100030001CC01BC011241FBECFEFD4E0DEBFCDBF5C | |||||
| :1000400011E0A0E0B1E0E0EAF4E002C005900D921A | |||||
| :10005000A631B107D9F721E0A6E1B1E001C01D92B8 | |||||
| :10006000A731B207E1F7BFD019C2CACF1F920F92D2 | |||||
| :100070000FB60F9211248F939F93EF93FF9315B8B0 | |||||
| :100080001BB88DE08A95F1F7000081E090E00090C8 | |||||
| :10009000160102C0880F991F0A94E2F785B9E09112 | |||||
| :1000A0001601F0E0E050FF4FE081F0E0ED5FFE4F21 | |||||
| :1000B00080818BB9809116018F5F833018F4809313 | |||||
| :1000C000160102C010921601FF91EF919F918F913E | |||||
| :1000D0000F900FBE0F901F9018958FEF8AB987E091 | |||||
| :1000E00084B9109280008AE08093810084EC99E0CA | |||||
| :1000F0009093890080938800EFE6F0E08081826031 | |||||
| :100100008083789408959DEC899F912D1124969574 | |||||
| :1001100096959695E0E0F1E09283990F292F220FB2 | |||||
| :10012000220F920F891B81836083089543983B9A25 | |||||
| :100130008FE599E00197F1F700C000003B98EBE2F2 | |||||
| :10014000F1E03197F1F700C0000086B1E3E3F8E099 | |||||
| :100150003197F1F700C000008870089543983B9AEA | |||||
| :1001600096E09A95F1F700C0813009F43B988BE254 | |||||
| :1001700091E00197F1F700C000003B980895CF93FC | |||||
| :10018000DF93D82FC8E08D2F8170E8DFD695C1505E | |||||
| :10019000D1F7DF91CF91089543983B9A86E08A95F5 | |||||
| :1001A000F1F700C03B98EDE5EA95F1F7000086B164 | |||||
| :1001B000E0EEF0E03197F1F700C0000083FB882704 | |||||
| :1001C00080F90895CF93DF93D8E0C0E0E5DF20E821 | |||||
| :1001D000829FC0011124C695C82BD150B9F78C2F2E | |||||
| :1001E000DF91CF91089579DFE0E0F1E081E1828352 | |||||
| :1001F000818380832FEF8BE792E9215080409040EC | |||||
| :10020000E1F700C0000092DF8CECB9DF84E4B7DFD7 | |||||
| :10021000C3DF8823E9F38ADF8CECB1DF8EEBAFDF3D | |||||
| :10022000D1DFC82FCFDF682F70E0762F66276C0FE5 | |||||
| :10023000711D072E000C880B990B41D020E030E097 | |||||
| :1002400040E85DE3A0D00DD0862F6EE05CDF2FE7A5 | |||||
| :1002500084E89EE1215080409040E1F700C000001A | |||||
| :10026000D2CF70D088F09F5790F0B92F9927B7510F | |||||
| :10027000A0F0D1F0660F771F881F991F1AF0BA956A | |||||
| :10028000C9F712C0B13081F077D0B1E0089574C0E1 | |||||
| :10029000672F782F8827B85F39F0B93FCCF3869560 | |||||
| :1002A00077956795B395D9F73EF4909580957095BD | |||||
| :1002B00061957F4F8F4F9F4F0895E89409C097FB3A | |||||
| :1002C0003EF490958095709561957F4F8F4F9F4F2D | |||||
| :1002D0009923A9F0F92F96E9BB279395F695879571 | |||||
| :1002E00077956795B795F111F8CFFAF4BB0F11F434 | |||||
| :1002F00060FF1BC06F5F7F4F8F4F9F4F16C08823DB | |||||
| :1003000011F096E911C0772321F09EE8872F762F10 | |||||
| :1003100005C0662371F096E8862F70E060E02AF051 | |||||
| :100320009A95660F771F881FDAF7880F969587953D | |||||
| :1003300097F9089557FD9058440F551F59F05F3FA6 | |||||
| :1003400071F04795880F97FB991F61F09F3F79F0F7 | |||||
| :1003500087950895121613061406551FF2CF469579 | |||||
| :10036000F1DF08C0161617061806991FF1CF8695FB | |||||
| :100370007105610508940895E894BB2766277727DF | |||||
| :10038000CB0197F908950BD078C069D028F06ED0D2 | |||||
| :1003900018F0952309F05AC05FC01124EECFCADFD0 | |||||
| :1003A000A0F3959FD1F3950F50E0551F629FF00188 | |||||
| :1003B000729FBB27F00DB11D639FAA27F00DB11DE1 | |||||
| :1003C000AA1F649F6627B00DA11D661F829F22276A | |||||
| :1003D000B00DA11D621F739FB00DA11D621F839FF1 | |||||
| :1003E000A00D611D221F749F3327A00D611D231FC7 | |||||
| :1003F000849F600D211D822F762F6A2F11249F5715 | |||||
| :1004000050408AF0E1F088234AF0EE0FFF1FBB1F37 | |||||
| :10041000661F771F881F91505040A9F79E3F5105D6 | |||||
| :1004200070F014C0AACF5F3FECF3983EDCF38695E2 | |||||
| :1004300077956795B795F795E7959F5FC1F7FE2B81 | |||||
| :10044000880F911D9695879597F9089597F99F675D | |||||
| :1004500080E870E060E008959FEF80EC089500244C | |||||
| :100460000A941616170618060906089500240A9419 | |||||
| :1004700012161306140605060895092E0394000C9F | |||||
| :1004800011F4882352F0BB0F40F4BF2B11F460FF2E | |||||
| :1004900004C06F5F7F4F8F4F9F4F0895F894FFCF39 | |||||
| :1004A000101010FC24BAAE66CEDEA4FEEE161EDAE4 | |||||
| :0604B00012ADF300020092 | |||||
| :00000001FF | |||||
| @@ -0,0 +1,837 @@ | |||||
| PoolClockAirTemp.elf: file format elf32-avr | |||||
| Sections: | |||||
| Idx Name Size VMA LMA File off Algn | |||||
| 0 .data 00000016 00800100 000004a0 00000534 2**0 | |||||
| CONTENTS, ALLOC, LOAD, DATA | |||||
| 1 .text 000004a0 00000000 00000000 00000094 2**1 | |||||
| CONTENTS, ALLOC, LOAD, READONLY, CODE | |||||
| 2 .bss 00000001 00800116 00800116 0000054a 2**0 | |||||
| ALLOC | |||||
| 3 .comment 00000030 00000000 00000000 0000054a 2**0 | |||||
| CONTENTS, READONLY | |||||
| 4 .note.gnu.avr.deviceinfo 00000040 00000000 00000000 0000057c 2**2 | |||||
| CONTENTS, READONLY | |||||
| 5 .debug_aranges 00000068 00000000 00000000 000005bc 2**0 | |||||
| CONTENTS, READONLY, DEBUGGING | |||||
| 6 .debug_info 00000cee 00000000 00000000 00000624 2**0 | |||||
| CONTENTS, READONLY, DEBUGGING | |||||
| 7 .debug_abbrev 0000084b 00000000 00000000 00001312 2**0 | |||||
| CONTENTS, READONLY, DEBUGGING | |||||
| 8 .debug_line 000004ba 00000000 00000000 00001b5d 2**0 | |||||
| CONTENTS, READONLY, DEBUGGING | |||||
| 9 .debug_frame 000000ec 00000000 00000000 00002018 2**2 | |||||
| CONTENTS, READONLY, DEBUGGING | |||||
| 10 .debug_str 000004d2 00000000 00000000 00002104 2**0 | |||||
| CONTENTS, READONLY, DEBUGGING | |||||
| 11 .debug_loc 0000059b 00000000 00000000 000025d6 2**0 | |||||
| CONTENTS, READONLY, DEBUGGING | |||||
| 12 .debug_ranges 00000058 00000000 00000000 00002b71 2**0 | |||||
| CONTENTS, READONLY, DEBUGGING | |||||
| Disassembly of section .text: | |||||
| 00000000 <__vectors>: | |||||
| 0: 19 c0 rjmp .+50 ; 0x34 <__ctors_end> | |||||
| 2: 33 c0 rjmp .+102 ; 0x6a <__bad_interrupt> | |||||
| 4: 32 c0 rjmp .+100 ; 0x6a <__bad_interrupt> | |||||
| 6: 31 c0 rjmp .+98 ; 0x6a <__bad_interrupt> | |||||
| 8: 30 c0 rjmp .+96 ; 0x6a <__bad_interrupt> | |||||
| a: 2f c0 rjmp .+94 ; 0x6a <__bad_interrupt> | |||||
| c: 2e c0 rjmp .+92 ; 0x6a <__bad_interrupt> | |||||
| e: 2d c0 rjmp .+90 ; 0x6a <__bad_interrupt> | |||||
| 10: 2c c0 rjmp .+88 ; 0x6a <__bad_interrupt> | |||||
| 12: 2b c0 rjmp .+86 ; 0x6a <__bad_interrupt> | |||||
| 14: 2a c0 rjmp .+84 ; 0x6a <__bad_interrupt> | |||||
| 16: 2a c0 rjmp .+84 ; 0x6c <__vector_11> | |||||
| 18: 28 c0 rjmp .+80 ; 0x6a <__bad_interrupt> | |||||
| 1a: 27 c0 rjmp .+78 ; 0x6a <__bad_interrupt> | |||||
| 1c: 26 c0 rjmp .+76 ; 0x6a <__bad_interrupt> | |||||
| 1e: 25 c0 rjmp .+74 ; 0x6a <__bad_interrupt> | |||||
| 20: 24 c0 rjmp .+72 ; 0x6a <__bad_interrupt> | |||||
| 22: 23 c0 rjmp .+70 ; 0x6a <__bad_interrupt> | |||||
| 24: 22 c0 rjmp .+68 ; 0x6a <__bad_interrupt> | |||||
| 26: 21 c0 rjmp .+66 ; 0x6a <__bad_interrupt> | |||||
| 28: 20 c0 rjmp .+64 ; 0x6a <__bad_interrupt> | |||||
| 2a: 1f c0 rjmp .+62 ; 0x6a <__bad_interrupt> | |||||
| 2c: 1e c0 rjmp .+60 ; 0x6a <__bad_interrupt> | |||||
| 2e: 1d c0 rjmp .+58 ; 0x6a <__bad_interrupt> | |||||
| 30: 1c c0 rjmp .+56 ; 0x6a <__bad_interrupt> | |||||
| 32: 1b c0 rjmp .+54 ; 0x6a <__bad_interrupt> | |||||
| 00000034 <__ctors_end>: | |||||
| 34: 11 24 eor r1, r1 | |||||
| 36: 1f be out 0x3f, r1 ; 63 | |||||
| 38: cf ef ldi r28, 0xFF ; 255 | |||||
| 3a: d4 e0 ldi r29, 0x04 ; 4 | |||||
| 3c: de bf out 0x3e, r29 ; 62 | |||||
| 3e: cd bf out 0x3d, r28 ; 61 | |||||
| 00000040 <__do_copy_data>: | |||||
| 40: 11 e0 ldi r17, 0x01 ; 1 | |||||
| 42: a0 e0 ldi r26, 0x00 ; 0 | |||||
| 44: b1 e0 ldi r27, 0x01 ; 1 | |||||
| 46: e0 ea ldi r30, 0xA0 ; 160 | |||||
| 48: f4 e0 ldi r31, 0x04 ; 4 | |||||
| 4a: 02 c0 rjmp .+4 ; 0x50 <__do_copy_data+0x10> | |||||
| 4c: 05 90 lpm r0, Z+ | |||||
| 4e: 0d 92 st X+, r0 | |||||
| 50: a6 31 cpi r26, 0x16 ; 22 | |||||
| 52: b1 07 cpc r27, r17 | |||||
| 54: d9 f7 brne .-10 ; 0x4c <__do_copy_data+0xc> | |||||
| 00000056 <__do_clear_bss>: | |||||
| 56: 21 e0 ldi r18, 0x01 ; 1 | |||||
| 58: a6 e1 ldi r26, 0x16 ; 22 | |||||
| 5a: b1 e0 ldi r27, 0x01 ; 1 | |||||
| 5c: 01 c0 rjmp .+2 ; 0x60 <.do_clear_bss_start> | |||||
| 0000005e <.do_clear_bss_loop>: | |||||
| 5e: 1d 92 st X+, r1 | |||||
| 00000060 <.do_clear_bss_start>: | |||||
| 60: a7 31 cpi r26, 0x17 ; 23 | |||||
| 62: b2 07 cpc r27, r18 | |||||
| 64: e1 f7 brne .-8 ; 0x5e <.do_clear_bss_loop> | |||||
| 66: bf d0 rcall .+382 ; 0x1e6 <main> | |||||
| 68: 19 c2 rjmp .+1074 ; 0x49c <_exit> | |||||
| 0000006a <__bad_interrupt>: | |||||
| 6a: ca cf rjmp .-108 ; 0x0 <__vectors> | |||||
| 0000006c <__vector_11>: | |||||
| /************************************************************************/ | |||||
| void vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit ) | |||||
| { | |||||
| g_au8Digits[DIGIT_TENS] = u8Tens; | |||||
| g_au8Digits[DIGIT_ONES] = u8Ones; | |||||
| g_au8Digits[DIGIT_UNIT] = u8Unit; | |||||
| 6c: 1f 92 push r1 | |||||
| 6e: 0f 92 push r0 | |||||
| 70: 0f b6 in r0, 0x3f ; 63 | |||||
| 72: 0f 92 push r0 | |||||
| 74: 11 24 eor r1, r1 | |||||
| 76: 8f 93 push r24 | |||||
| 78: 9f 93 push r25 | |||||
| 7a: ef 93 push r30 | |||||
| 7c: ff 93 push r31 | |||||
| 7e: 15 b8 out 0x05, r1 ; 5 | |||||
| 80: 1b b8 out 0x0b, r1 ; 11 | |||||
| 82: 8d e0 ldi r24, 0x0D ; 13 | |||||
| 84: 8a 95 dec r24 | |||||
| 86: f1 f7 brne .-4 ; 0x84 <__vector_11+0x18> | |||||
| 88: 00 00 nop | |||||
| 8a: 81 e0 ldi r24, 0x01 ; 1 | |||||
| 8c: 90 e0 ldi r25, 0x00 ; 0 | |||||
| 8e: 00 90 16 01 lds r0, 0x0116 ; 0x800116 <__data_end> | |||||
| 92: 02 c0 rjmp .+4 ; 0x98 <__vector_11+0x2c> | |||||
| 94: 88 0f add r24, r24 | |||||
| 96: 99 1f adc r25, r25 | |||||
| 98: 0a 94 dec r0 | |||||
| 9a: e2 f7 brpl .-8 ; 0x94 <__vector_11+0x28> | |||||
| 9c: 85 b9 out 0x05, r24 ; 5 | |||||
| 9e: e0 91 16 01 lds r30, 0x0116 ; 0x800116 <__data_end> | |||||
| a2: f0 e0 ldi r31, 0x00 ; 0 | |||||
| a4: e0 50 subi r30, 0x00 ; 0 | |||||
| a6: ff 4f sbci r31, 0xFF ; 255 | |||||
| a8: e0 81 ld r30, Z | |||||
| aa: f0 e0 ldi r31, 0x00 ; 0 | |||||
| ac: ed 5f subi r30, 0xFD ; 253 | |||||
| ae: fe 4f sbci r31, 0xFE ; 254 | |||||
| b0: 80 81 ld r24, Z | |||||
| b2: 8b b9 out 0x0b, r24 ; 11 | |||||
| b4: 80 91 16 01 lds r24, 0x0116 ; 0x800116 <__data_end> | |||||
| b8: 8f 5f subi r24, 0xFF ; 255 | |||||
| ba: 83 30 cpi r24, 0x03 ; 3 | |||||
| bc: 18 f4 brcc .+6 ; 0xc4 <__vector_11+0x58> | |||||
| be: 80 93 16 01 sts 0x0116, r24 ; 0x800116 <__data_end> | |||||
| c2: 02 c0 rjmp .+4 ; 0xc8 <__vector_11+0x5c> | |||||
| c4: 10 92 16 01 sts 0x0116, r1 ; 0x800116 <__data_end> | |||||
| c8: ff 91 pop r31 | |||||
| ca: ef 91 pop r30 | |||||
| cc: 9f 91 pop r25 | |||||
| ce: 8f 91 pop r24 | |||||
| d0: 0f 90 pop r0 | |||||
| d2: 0f be out 0x3f, r0 ; 63 | |||||
| d4: 0f 90 pop r0 | |||||
| d6: 1f 90 pop r1 | |||||
| d8: 18 95 reti | |||||
| 000000da <vInit>: | |||||
| da: 8f ef ldi r24, 0xFF ; 255 | |||||
| dc: 8a b9 out 0x0a, r24 ; 10 | |||||
| de: 87 e0 ldi r24, 0x07 ; 7 | |||||
| e0: 84 b9 out 0x04, r24 ; 4 | |||||
| e2: 10 92 80 00 sts 0x0080, r1 ; 0x800080 <__EEPROM_REGION_LENGTH__+0x7f0080> | |||||
| e6: 8a e0 ldi r24, 0x0A ; 10 | |||||
| e8: 80 93 81 00 sts 0x0081, r24 ; 0x800081 <__EEPROM_REGION_LENGTH__+0x7f0081> | |||||
| ec: 84 ec ldi r24, 0xC4 ; 196 | |||||
| ee: 99 e0 ldi r25, 0x09 ; 9 | |||||
| f0: 90 93 89 00 sts 0x0089, r25 ; 0x800089 <__EEPROM_REGION_LENGTH__+0x7f0089> | |||||
| f4: 80 93 88 00 sts 0x0088, r24 ; 0x800088 <__EEPROM_REGION_LENGTH__+0x7f0088> | |||||
| f8: ef e6 ldi r30, 0x6F ; 111 | |||||
| fa: f0 e0 ldi r31, 0x00 ; 0 | |||||
| fc: 80 81 ld r24, Z | |||||
| fe: 82 60 ori r24, 0x02 ; 2 | |||||
| 100: 80 83 st Z, r24 | |||||
| 102: 78 94 sei | |||||
| 104: 08 95 ret | |||||
| 00000106 <vSetValue>: | |||||
| 106: 9d ec ldi r25, 0xCD ; 205 | |||||
| 108: 89 9f mul r24, r25 | |||||
| 10a: 91 2d mov r25, r1 | |||||
| 10c: 11 24 eor r1, r1 | |||||
| 10e: 96 95 lsr r25 | |||||
| 110: 96 95 lsr r25 | |||||
| 112: 96 95 lsr r25 | |||||
| 114: e0 e0 ldi r30, 0x00 ; 0 | |||||
| 116: f1 e0 ldi r31, 0x01 ; 1 | |||||
| 118: 92 83 std Z+2, r25 ; 0x02 | |||||
| 11a: 99 0f add r25, r25 | |||||
| 11c: 29 2f mov r18, r25 | |||||
| 11e: 22 0f add r18, r18 | |||||
| 120: 22 0f add r18, r18 | |||||
| 122: 92 0f add r25, r18 | |||||
| 124: 89 1b sub r24, r25 | |||||
| 126: 81 83 std Z+1, r24 ; 0x01 | |||||
| 128: 60 83 st Z, r22 | |||||
| 12a: 08 95 ret | |||||
| 0000012c <u8DS18B20_Reset>: | |||||
| uint8_t u8DS18B20_Reset( void ) | |||||
| { | |||||
| uint8_t u8Status; | |||||
| //low for 480 us | |||||
| DS18B20_PORT &= ~ (1<<DS18B20_DQ); //low | |||||
| 12c: 43 98 cbi 0x08, 3 ; 8 | |||||
| DS18B20_DDR |= (1<<DS18B20_DQ); //output | |||||
| 12e: 3b 9a sbi 0x07, 3 ; 7 | |||||
| #else | |||||
| //round up by default | |||||
| __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); | |||||
| #endif | |||||
| __builtin_avr_delay_cycles(__ticks_dc); | |||||
| 130: 8f e5 ldi r24, 0x5F ; 95 | |||||
| 132: 99 e0 ldi r25, 0x09 ; 9 | |||||
| 134: 01 97 sbiw r24, 0x01 ; 1 | |||||
| 136: f1 f7 brne .-4 ; 0x134 <u8DS18B20_Reset+0x8> | |||||
| 138: 00 c0 rjmp .+0 ; 0x13a <u8DS18B20_Reset+0xe> | |||||
| 13a: 00 00 nop | |||||
| _delay_us(480); | |||||
| //release line and wait for 60 us | |||||
| DS18B20_DDR &= ~(1<<DS18B20_DQ); //input | |||||
| 13c: 3b 98 cbi 0x07, 3 ; 7 | |||||
| 13e: eb e2 ldi r30, 0x2B ; 43 | |||||
| 140: f1 e0 ldi r31, 0x01 ; 1 | |||||
| 142: 31 97 sbiw r30, 0x01 ; 1 | |||||
| 144: f1 f7 brne .-4 ; 0x142 <u8DS18B20_Reset+0x16> | |||||
| 146: 00 c0 rjmp .+0 ; 0x148 <u8DS18B20_Reset+0x1c> | |||||
| 148: 00 00 nop | |||||
| _delay_us(60); | |||||
| //get value and wait 420 us | |||||
| u8Status = (DS18B20_PIN & (1<<DS18B20_DQ)); | |||||
| 14a: 86 b1 in r24, 0x06 ; 6 | |||||
| 14c: e3 e3 ldi r30, 0x33 ; 51 | |||||
| 14e: f8 e0 ldi r31, 0x08 ; 8 | |||||
| 150: 31 97 sbiw r30, 0x01 ; 1 | |||||
| 152: f1 f7 brne .-4 ; 0x150 <u8DS18B20_Reset+0x24> | |||||
| 154: 00 c0 rjmp .+0 ; 0x156 <u8DS18B20_Reset+0x2a> | |||||
| 156: 00 00 nop | |||||
| _delay_us(420); | |||||
| //return the read value: 0=okay, 1=error | |||||
| return u8Status; | |||||
| } | |||||
| 158: 88 70 andi r24, 0x08 ; 8 | |||||
| 15a: 08 95 ret | |||||
| 0000015c <vDS18B20_WriteBit>: | |||||
| /* Write single bit to DS18B20 (61 us) */ | |||||
| /************************************************************************/ | |||||
| void vDS18B20_WriteBit( uint8_t u8Bit ) | |||||
| { | |||||
| //low for 1 us | |||||
| DS18B20_PORT &= ~ (1U<<DS18B20_DQ); //low | |||||
| 15c: 43 98 cbi 0x08, 3 ; 8 | |||||
| DS18B20_DDR |= (1U<<DS18B20_DQ); //output | |||||
| 15e: 3b 9a sbi 0x07, 3 ; 7 | |||||
| 160: 96 e0 ldi r25, 0x06 ; 6 | |||||
| 162: 9a 95 dec r25 | |||||
| 164: f1 f7 brne .-4 ; 0x162 <vDS18B20_WriteBit+0x6> | |||||
| 166: 00 c0 rjmp .+0 ; 0x168 <vDS18B20_WriteBit+0xc> | |||||
| _delay_us(1); | |||||
| //if we want to write 1, release the line (if not will keep low) | |||||
| if (1U == u8Bit ) | |||||
| 168: 81 30 cpi r24, 0x01 ; 1 | |||||
| 16a: 09 f4 brne .+2 ; 0x16e <vDS18B20_WriteBit+0x12> | |||||
| { | |||||
| DS18B20_DDR &= ~(1<<DS18B20_DQ); //input | |||||
| 16c: 3b 98 cbi 0x07, 3 ; 7 | |||||
| 16e: 8b e2 ldi r24, 0x2B ; 43 | |||||
| 170: 91 e0 ldi r25, 0x01 ; 1 | |||||
| 172: 01 97 sbiw r24, 0x01 ; 1 | |||||
| 174: f1 f7 brne .-4 ; 0x172 <vDS18B20_WriteBit+0x16> | |||||
| 176: 00 c0 rjmp .+0 ; 0x178 <vDS18B20_WriteBit+0x1c> | |||||
| 178: 00 00 nop | |||||
| } | |||||
| //wait 60 us and release the line | |||||
| _delay_us(60); | |||||
| DS18B20_DDR &= ~(1<<DS18B20_DQ); //input | |||||
| 17a: 3b 98 cbi 0x07, 3 ; 7 | |||||
| 17c: 08 95 ret | |||||
| 0000017e <vDS18B20_WriteByte>: | |||||
| /************************************************************************/ | |||||
| /* Write byte to DS18B20 (8 * 61 us = 488 us) */ | |||||
| /************************************************************************/ | |||||
| void vDS18B20_WriteByte( uint8_t u8Byte ) | |||||
| { | |||||
| 17e: cf 93 push r28 | |||||
| 180: df 93 push r29 | |||||
| 182: d8 2f mov r29, r24 | |||||
| 184: c8 e0 ldi r28, 0x08 ; 8 | |||||
| uint8_t u8Bits = 8U; | |||||
| while ( u8Bits-- ) | |||||
| { | |||||
| vDS18B20_WriteBit( u8Byte & 1U ); | |||||
| 186: 8d 2f mov r24, r29 | |||||
| 188: 81 70 andi r24, 0x01 ; 1 | |||||
| 18a: e8 df rcall .-48 ; 0x15c <vDS18B20_WriteBit> | |||||
| u8Byte >>= 1U; | |||||
| 18c: d6 95 lsr r29 | |||||
| 18e: c1 50 subi r28, 0x01 ; 1 | |||||
| /************************************************************************/ | |||||
| void vDS18B20_WriteByte( uint8_t u8Byte ) | |||||
| { | |||||
| uint8_t u8Bits = 8U; | |||||
| while ( u8Bits-- ) | |||||
| 190: d1 f7 brne .-12 ; 0x186 <vDS18B20_WriteByte+0x8> | |||||
| vDS18B20_WriteBit( u8Byte & 1U ); | |||||
| u8Byte >>= 1U; | |||||
| } | |||||
| return; //void | |||||
| } | |||||
| 192: df 91 pop r29 | |||||
| 194: cf 91 pop r28 | |||||
| 196: 08 95 ret | |||||
| 00000198 <u8DS18B20_ReadBit>: | |||||
| uint8_t u8DS18B20_ReadBit( void ) | |||||
| { | |||||
| uint8_t u8Bit = 0U; | |||||
| //low for 1 us | |||||
| DS18B20_PORT &= ~ (1U<<DS18B20_DQ); //low | |||||
| 198: 43 98 cbi 0x08, 3 ; 8 | |||||
| DS18B20_DDR |= (1U<<DS18B20_DQ); //output | |||||
| 19a: 3b 9a sbi 0x07, 3 ; 7 | |||||
| 19c: 86 e0 ldi r24, 0x06 ; 6 | |||||
| 19e: 8a 95 dec r24 | |||||
| 1a0: f1 f7 brne .-4 ; 0x19e <u8DS18B20_ReadBit+0x6> | |||||
| 1a2: 00 c0 rjmp .+0 ; 0x1a4 <u8DS18B20_ReadBit+0xc> | |||||
| _delay_us(1); | |||||
| //release line and wait for 14 us | |||||
| DS18B20_DDR &= ~(1U<<DS18B20_DQ); //input | |||||
| 1a4: 3b 98 cbi 0x07, 3 ; 7 | |||||
| 1a6: ed e5 ldi r30, 0x5D ; 93 | |||||
| 1a8: ea 95 dec r30 | |||||
| 1aa: f1 f7 brne .-4 ; 0x1a8 <u8DS18B20_ReadBit+0x10> | |||||
| 1ac: 00 00 nop | |||||
| _delay_us(14); | |||||
| //read the value | |||||
| if ( DS18B20_PIN & (1U<<DS18B20_DQ) ) | |||||
| 1ae: 86 b1 in r24, 0x06 ; 6 | |||||
| 1b0: e0 ee ldi r30, 0xE0 ; 224 | |||||
| 1b2: f0 e0 ldi r31, 0x00 ; 0 | |||||
| 1b4: 31 97 sbiw r30, 0x01 ; 1 | |||||
| 1b6: f1 f7 brne .-4 ; 0x1b4 <u8DS18B20_ReadBit+0x1c> | |||||
| 1b8: 00 c0 rjmp .+0 ; 0x1ba <u8DS18B20_ReadBit+0x22> | |||||
| 1ba: 00 00 nop | |||||
| //wait 45 us and return read value | |||||
| _delay_us(45); | |||||
| return u8Bit; | |||||
| } | |||||
| 1bc: 83 fb bst r24, 3 | |||||
| 1be: 88 27 eor r24, r24 | |||||
| 1c0: 80 f9 bld r24, 0 | |||||
| 1c2: 08 95 ret | |||||
| 000001c4 <u8DS18B20_ReadByte>: | |||||
| /************************************************************************/ | |||||
| /* Read byte from DS18B20 (8 * 60 us = 480 us) */ | |||||
| /************************************************************************/ | |||||
| uint8_t u8DS18B20_ReadByte( void ) | |||||
| { | |||||
| 1c4: cf 93 push r28 | |||||
| 1c6: df 93 push r29 | |||||
| 1c8: d8 e0 ldi r29, 0x08 ; 8 | |||||
| uint8_t u8Bits = 8U; | |||||
| uint8_t n = 0U; | |||||
| 1ca: c0 e0 ldi r28, 0x00 ; 0 | |||||
| while ( u8Bits-- ) | |||||
| { | |||||
| n >>= 1U; | |||||
| n |= (u8DS18B20_ReadBit()<<7U); | |||||
| 1cc: e5 df rcall .-54 ; 0x198 <u8DS18B20_ReadBit> | |||||
| 1ce: 20 e8 ldi r18, 0x80 ; 128 | |||||
| 1d0: 82 9f mul r24, r18 | |||||
| 1d2: c0 01 movw r24, r0 | |||||
| 1d4: 11 24 eor r1, r1 | |||||
| 1d6: c6 95 lsr r28 | |||||
| 1d8: c8 2b or r28, r24 | |||||
| 1da: d1 50 subi r29, 0x01 ; 1 | |||||
| /************************************************************************/ | |||||
| uint8_t u8DS18B20_ReadByte( void ) | |||||
| { | |||||
| uint8_t u8Bits = 8U; | |||||
| uint8_t n = 0U; | |||||
| while ( u8Bits-- ) | |||||
| 1dc: b9 f7 brne .-18 ; 0x1cc <u8DS18B20_ReadByte+0x8> | |||||
| n >>= 1U; | |||||
| n |= (u8DS18B20_ReadBit()<<7U); | |||||
| } | |||||
| return n; | |||||
| } | |||||
| 1de: 8c 2f mov r24, r28 | |||||
| 1e0: df 91 pop r29 | |||||
| 1e2: cf 91 pop r28 | |||||
| 1e4: 08 95 ret | |||||
| 000001e6 <main>: | |||||
| { | |||||
| uint8_t u8TempLo, u8TempHi; | |||||
| float f32Temperature; | |||||
| /* Init I/O: */ | |||||
| vInit(); | |||||
| 1e6: 79 df rcall .-270 ; 0xda <vInit> | |||||
| /************************************************************************/ | |||||
| /* Set display digits individually */ | |||||
| /************************************************************************/ | |||||
| void vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit ) | |||||
| { | |||||
| g_au8Digits[DIGIT_TENS] = u8Tens; | |||||
| 1e8: e0 e0 ldi r30, 0x00 ; 0 | |||||
| 1ea: f1 e0 ldi r31, 0x01 ; 1 | |||||
| 1ec: 81 e1 ldi r24, 0x11 ; 17 | |||||
| 1ee: 82 83 std Z+2, r24 ; 0x02 | |||||
| g_au8Digits[DIGIT_ONES] = u8Ones; | |||||
| 1f0: 81 83 std Z+1, r24 ; 0x01 | |||||
| g_au8Digits[DIGIT_UNIT] = u8Unit; | |||||
| 1f2: 80 83 st Z, r24 | |||||
| #else | |||||
| //round up by default | |||||
| __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); | |||||
| #endif | |||||
| __builtin_avr_delay_cycles(__ticks_dc); | |||||
| 1f4: 2f ef ldi r18, 0xFF ; 255 | |||||
| 1f6: 8b e7 ldi r24, 0x7B ; 123 | |||||
| 1f8: 92 e9 ldi r25, 0x92 ; 146 | |||||
| 1fa: 21 50 subi r18, 0x01 ; 1 | |||||
| 1fc: 80 40 sbci r24, 0x00 ; 0 | |||||
| 1fe: 90 40 sbci r25, 0x00 ; 0 | |||||
| 200: e1 f7 brne .-8 ; 0x1fa <main+0x14> | |||||
| 202: 00 c0 rjmp .+0 ; 0x204 <main+0x1e> | |||||
| 204: 00 00 nop | |||||
| /* wait 3 seconds for DS18B20 sensor */ | |||||
| _delay_ms(2400); | |||||
| while (1) | |||||
| { | |||||
| (void) u8DS18B20_Reset(); | |||||
| 206: 92 df rcall .-220 ; 0x12c <u8DS18B20_Reset> | |||||
| vDS18B20_WriteByte( DS18B20_CMD_SKIPROM ); | |||||
| 208: 8c ec ldi r24, 0xCC ; 204 | |||||
| 20a: b9 df rcall .-142 ; 0x17e <vDS18B20_WriteByte> | |||||
| vDS18B20_WriteByte( DS18B20_CMD_CONVERTTEMP ); | |||||
| 20c: 84 e4 ldi r24, 0x44 ; 68 | |||||
| 20e: b7 df rcall .-146 ; 0x17e <vDS18B20_WriteByte> | |||||
| while ( !u8DS18B20_ReadBit() ); | |||||
| 210: c3 df rcall .-122 ; 0x198 <u8DS18B20_ReadBit> | |||||
| 212: 88 23 and r24, r24 | |||||
| 214: e9 f3 breq .-6 ; 0x210 <main+0x2a> | |||||
| (void) u8DS18B20_Reset(); | |||||
| 216: 8a df rcall .-236 ; 0x12c <u8DS18B20_Reset> | |||||
| vDS18B20_WriteByte( DS18B20_CMD_SKIPROM ); | |||||
| 218: 8c ec ldi r24, 0xCC ; 204 | |||||
| 21a: b1 df rcall .-158 ; 0x17e <vDS18B20_WriteByte> | |||||
| vDS18B20_WriteByte( DS18B20_CMD_RSCRATCHPAD ); | |||||
| 21c: 8e eb ldi r24, 0xBE ; 190 | |||||
| 21e: af df rcall .-162 ; 0x17e <vDS18B20_WriteByte> | |||||
| u8TempLo = u8DS18B20_ReadByte(); | |||||
| 220: d1 df rcall .-94 ; 0x1c4 <u8DS18B20_ReadByte> | |||||
| 222: c8 2f mov r28, r24 | |||||
| u8TempHi = u8DS18B20_ReadByte(); | |||||
| 224: cf df rcall .-98 ; 0x1c4 <u8DS18B20_ReadByte> | |||||
| f32Temperature = ((u8TempHi << 8) + u8TempLo) * 0.0625; | |||||
| vSetValue( (uint8_t) f32Temperature, SYM_DEG_CELCIUS ); | |||||
| 226: 68 2f mov r22, r24 | |||||
| 228: 70 e0 ldi r23, 0x00 ; 0 | |||||
| 22a: 76 2f mov r23, r22 | |||||
| 22c: 66 27 eor r22, r22 | |||||
| 22e: 6c 0f add r22, r28 | |||||
| 230: 71 1d adc r23, r1 | |||||
| 232: 07 2e mov r0, r23 | |||||
| 234: 00 0c add r0, r0 | |||||
| 236: 88 0b sbc r24, r24 | |||||
| 238: 99 0b sbc r25, r25 | |||||
| 23a: 41 d0 rcall .+130 ; 0x2be <__floatsisf> | |||||
| 23c: 20 e0 ldi r18, 0x00 ; 0 | |||||
| 23e: 30 e0 ldi r19, 0x00 ; 0 | |||||
| 240: 40 e8 ldi r20, 0x80 ; 128 | |||||
| 242: 5d e3 ldi r21, 0x3D ; 61 | |||||
| 244: a0 d0 rcall .+320 ; 0x386 <__mulsf3> | |||||
| 246: 0d d0 rcall .+26 ; 0x262 <__fixunssfsi> | |||||
| 248: 86 2f mov r24, r22 | |||||
| 24a: 6e e0 ldi r22, 0x0E ; 14 | |||||
| 24c: 5c df rcall .-328 ; 0x106 <vSetValue> | |||||
| 24e: 2f e7 ldi r18, 0x7F ; 127 | |||||
| 250: 84 e8 ldi r24, 0x84 ; 132 | |||||
| 252: 9e e1 ldi r25, 0x1E ; 30 | |||||
| 254: 21 50 subi r18, 0x01 ; 1 | |||||
| 256: 80 40 sbci r24, 0x00 ; 0 | |||||
| 258: 90 40 sbci r25, 0x00 ; 0 | |||||
| 25a: e1 f7 brne .-8 ; 0x254 <main+0x6e> | |||||
| 25c: 00 c0 rjmp .+0 ; 0x25e <main+0x78> | |||||
| 25e: 00 00 nop | |||||
| 260: d2 cf rjmp .-92 ; 0x206 <main+0x20> | |||||
| 00000262 <__fixunssfsi>: | |||||
| 262: 70 d0 rcall .+224 ; 0x344 <__fp_splitA> | |||||
| 264: 88 f0 brcs .+34 ; 0x288 <__fixunssfsi+0x26> | |||||
| 266: 9f 57 subi r25, 0x7F ; 127 | |||||
| 268: 90 f0 brcs .+36 ; 0x28e <__fixunssfsi+0x2c> | |||||
| 26a: b9 2f mov r27, r25 | |||||
| 26c: 99 27 eor r25, r25 | |||||
| 26e: b7 51 subi r27, 0x17 ; 23 | |||||
| 270: a0 f0 brcs .+40 ; 0x29a <__fixunssfsi+0x38> | |||||
| 272: d1 f0 breq .+52 ; 0x2a8 <__fixunssfsi+0x46> | |||||
| 274: 66 0f add r22, r22 | |||||
| 276: 77 1f adc r23, r23 | |||||
| 278: 88 1f adc r24, r24 | |||||
| 27a: 99 1f adc r25, r25 | |||||
| 27c: 1a f0 brmi .+6 ; 0x284 <__fixunssfsi+0x22> | |||||
| 27e: ba 95 dec r27 | |||||
| 280: c9 f7 brne .-14 ; 0x274 <__fixunssfsi+0x12> | |||||
| 282: 12 c0 rjmp .+36 ; 0x2a8 <__fixunssfsi+0x46> | |||||
| 284: b1 30 cpi r27, 0x01 ; 1 | |||||
| 286: 81 f0 breq .+32 ; 0x2a8 <__fixunssfsi+0x46> | |||||
| 288: 77 d0 rcall .+238 ; 0x378 <__fp_zero> | |||||
| 28a: b1 e0 ldi r27, 0x01 ; 1 | |||||
| 28c: 08 95 ret | |||||
| 28e: 74 c0 rjmp .+232 ; 0x378 <__fp_zero> | |||||
| 290: 67 2f mov r22, r23 | |||||
| 292: 78 2f mov r23, r24 | |||||
| 294: 88 27 eor r24, r24 | |||||
| 296: b8 5f subi r27, 0xF8 ; 248 | |||||
| 298: 39 f0 breq .+14 ; 0x2a8 <__fixunssfsi+0x46> | |||||
| 29a: b9 3f cpi r27, 0xF9 ; 249 | |||||
| 29c: cc f3 brlt .-14 ; 0x290 <__fixunssfsi+0x2e> | |||||
| 29e: 86 95 lsr r24 | |||||
| 2a0: 77 95 ror r23 | |||||
| 2a2: 67 95 ror r22 | |||||
| 2a4: b3 95 inc r27 | |||||
| 2a6: d9 f7 brne .-10 ; 0x29e <__fixunssfsi+0x3c> | |||||
| 2a8: 3e f4 brtc .+14 ; 0x2b8 <__fixunssfsi+0x56> | |||||
| 2aa: 90 95 com r25 | |||||
| 2ac: 80 95 com r24 | |||||
| 2ae: 70 95 com r23 | |||||
| 2b0: 61 95 neg r22 | |||||
| 2b2: 7f 4f sbci r23, 0xFF ; 255 | |||||
| 2b4: 8f 4f sbci r24, 0xFF ; 255 | |||||
| 2b6: 9f 4f sbci r25, 0xFF ; 255 | |||||
| 2b8: 08 95 ret | |||||
| 000002ba <__floatunsisf>: | |||||
| 2ba: e8 94 clt | |||||
| 2bc: 09 c0 rjmp .+18 ; 0x2d0 <__floatsisf+0x12> | |||||
| 000002be <__floatsisf>: | |||||
| 2be: 97 fb bst r25, 7 | |||||
| 2c0: 3e f4 brtc .+14 ; 0x2d0 <__floatsisf+0x12> | |||||
| 2c2: 90 95 com r25 | |||||
| 2c4: 80 95 com r24 | |||||
| 2c6: 70 95 com r23 | |||||
| 2c8: 61 95 neg r22 | |||||
| 2ca: 7f 4f sbci r23, 0xFF ; 255 | |||||
| 2cc: 8f 4f sbci r24, 0xFF ; 255 | |||||
| 2ce: 9f 4f sbci r25, 0xFF ; 255 | |||||
| 2d0: 99 23 and r25, r25 | |||||
| 2d2: a9 f0 breq .+42 ; 0x2fe <__floatsisf+0x40> | |||||
| 2d4: f9 2f mov r31, r25 | |||||
| 2d6: 96 e9 ldi r25, 0x96 ; 150 | |||||
| 2d8: bb 27 eor r27, r27 | |||||
| 2da: 93 95 inc r25 | |||||
| 2dc: f6 95 lsr r31 | |||||
| 2de: 87 95 ror r24 | |||||
| 2e0: 77 95 ror r23 | |||||
| 2e2: 67 95 ror r22 | |||||
| 2e4: b7 95 ror r27 | |||||
| 2e6: f1 11 cpse r31, r1 | |||||
| 2e8: f8 cf rjmp .-16 ; 0x2da <__floatsisf+0x1c> | |||||
| 2ea: fa f4 brpl .+62 ; 0x32a <__floatsisf+0x6c> | |||||
| 2ec: bb 0f add r27, r27 | |||||
| 2ee: 11 f4 brne .+4 ; 0x2f4 <__floatsisf+0x36> | |||||
| 2f0: 60 ff sbrs r22, 0 | |||||
| 2f2: 1b c0 rjmp .+54 ; 0x32a <__floatsisf+0x6c> | |||||
| 2f4: 6f 5f subi r22, 0xFF ; 255 | |||||
| 2f6: 7f 4f sbci r23, 0xFF ; 255 | |||||
| 2f8: 8f 4f sbci r24, 0xFF ; 255 | |||||
| 2fa: 9f 4f sbci r25, 0xFF ; 255 | |||||
| 2fc: 16 c0 rjmp .+44 ; 0x32a <__floatsisf+0x6c> | |||||
| 2fe: 88 23 and r24, r24 | |||||
| 300: 11 f0 breq .+4 ; 0x306 <__floatsisf+0x48> | |||||
| 302: 96 e9 ldi r25, 0x96 ; 150 | |||||
| 304: 11 c0 rjmp .+34 ; 0x328 <__floatsisf+0x6a> | |||||
| 306: 77 23 and r23, r23 | |||||
| 308: 21 f0 breq .+8 ; 0x312 <__floatsisf+0x54> | |||||
| 30a: 9e e8 ldi r25, 0x8E ; 142 | |||||
| 30c: 87 2f mov r24, r23 | |||||
| 30e: 76 2f mov r23, r22 | |||||
| 310: 05 c0 rjmp .+10 ; 0x31c <__floatsisf+0x5e> | |||||
| 312: 66 23 and r22, r22 | |||||
| 314: 71 f0 breq .+28 ; 0x332 <__floatsisf+0x74> | |||||
| 316: 96 e8 ldi r25, 0x86 ; 134 | |||||
| 318: 86 2f mov r24, r22 | |||||
| 31a: 70 e0 ldi r23, 0x00 ; 0 | |||||
| 31c: 60 e0 ldi r22, 0x00 ; 0 | |||||
| 31e: 2a f0 brmi .+10 ; 0x32a <__floatsisf+0x6c> | |||||
| 320: 9a 95 dec r25 | |||||
| 322: 66 0f add r22, r22 | |||||
| 324: 77 1f adc r23, r23 | |||||
| 326: 88 1f adc r24, r24 | |||||
| 328: da f7 brpl .-10 ; 0x320 <__floatsisf+0x62> | |||||
| 32a: 88 0f add r24, r24 | |||||
| 32c: 96 95 lsr r25 | |||||
| 32e: 87 95 ror r24 | |||||
| 330: 97 f9 bld r25, 7 | |||||
| 332: 08 95 ret | |||||
| 00000334 <__fp_split3>: | |||||
| 334: 57 fd sbrc r21, 7 | |||||
| 336: 90 58 subi r25, 0x80 ; 128 | |||||
| 338: 44 0f add r20, r20 | |||||
| 33a: 55 1f adc r21, r21 | |||||
| 33c: 59 f0 breq .+22 ; 0x354 <__fp_splitA+0x10> | |||||
| 33e: 5f 3f cpi r21, 0xFF ; 255 | |||||
| 340: 71 f0 breq .+28 ; 0x35e <__fp_splitA+0x1a> | |||||
| 342: 47 95 ror r20 | |||||
| 00000344 <__fp_splitA>: | |||||
| 344: 88 0f add r24, r24 | |||||
| 346: 97 fb bst r25, 7 | |||||
| 348: 99 1f adc r25, r25 | |||||
| 34a: 61 f0 breq .+24 ; 0x364 <__fp_splitA+0x20> | |||||
| 34c: 9f 3f cpi r25, 0xFF ; 255 | |||||
| 34e: 79 f0 breq .+30 ; 0x36e <__fp_splitA+0x2a> | |||||
| 350: 87 95 ror r24 | |||||
| 352: 08 95 ret | |||||
| 354: 12 16 cp r1, r18 | |||||
| 356: 13 06 cpc r1, r19 | |||||
| 358: 14 06 cpc r1, r20 | |||||
| 35a: 55 1f adc r21, r21 | |||||
| 35c: f2 cf rjmp .-28 ; 0x342 <__fp_split3+0xe> | |||||
| 35e: 46 95 lsr r20 | |||||
| 360: f1 df rcall .-30 ; 0x344 <__fp_splitA> | |||||
| 362: 08 c0 rjmp .+16 ; 0x374 <__fp_splitA+0x30> | |||||
| 364: 16 16 cp r1, r22 | |||||
| 366: 17 06 cpc r1, r23 | |||||
| 368: 18 06 cpc r1, r24 | |||||
| 36a: 99 1f adc r25, r25 | |||||
| 36c: f1 cf rjmp .-30 ; 0x350 <__fp_splitA+0xc> | |||||
| 36e: 86 95 lsr r24 | |||||
| 370: 71 05 cpc r23, r1 | |||||
| 372: 61 05 cpc r22, r1 | |||||
| 374: 08 94 sec | |||||
| 376: 08 95 ret | |||||
| 00000378 <__fp_zero>: | |||||
| 378: e8 94 clt | |||||
| 0000037a <__fp_szero>: | |||||
| 37a: bb 27 eor r27, r27 | |||||
| 37c: 66 27 eor r22, r22 | |||||
| 37e: 77 27 eor r23, r23 | |||||
| 380: cb 01 movw r24, r22 | |||||
| 382: 97 f9 bld r25, 7 | |||||
| 384: 08 95 ret | |||||
| 00000386 <__mulsf3>: | |||||
| 386: 0b d0 rcall .+22 ; 0x39e <__mulsf3x> | |||||
| 388: 78 c0 rjmp .+240 ; 0x47a <__fp_round> | |||||
| 38a: 69 d0 rcall .+210 ; 0x45e <__fp_pscA> | |||||
| 38c: 28 f0 brcs .+10 ; 0x398 <__mulsf3+0x12> | |||||
| 38e: 6e d0 rcall .+220 ; 0x46c <__fp_pscB> | |||||
| 390: 18 f0 brcs .+6 ; 0x398 <__mulsf3+0x12> | |||||
| 392: 95 23 and r25, r21 | |||||
| 394: 09 f0 breq .+2 ; 0x398 <__mulsf3+0x12> | |||||
| 396: 5a c0 rjmp .+180 ; 0x44c <__fp_inf> | |||||
| 398: 5f c0 rjmp .+190 ; 0x458 <__fp_nan> | |||||
| 39a: 11 24 eor r1, r1 | |||||
| 39c: ee cf rjmp .-36 ; 0x37a <__fp_szero> | |||||
| 0000039e <__mulsf3x>: | |||||
| 39e: ca df rcall .-108 ; 0x334 <__fp_split3> | |||||
| 3a0: a0 f3 brcs .-24 ; 0x38a <__mulsf3+0x4> | |||||
| 000003a2 <__mulsf3_pse>: | |||||
| 3a2: 95 9f mul r25, r21 | |||||
| 3a4: d1 f3 breq .-12 ; 0x39a <__mulsf3+0x14> | |||||
| 3a6: 95 0f add r25, r21 | |||||
| 3a8: 50 e0 ldi r21, 0x00 ; 0 | |||||
| 3aa: 55 1f adc r21, r21 | |||||
| 3ac: 62 9f mul r22, r18 | |||||
| 3ae: f0 01 movw r30, r0 | |||||
| 3b0: 72 9f mul r23, r18 | |||||
| 3b2: bb 27 eor r27, r27 | |||||
| 3b4: f0 0d add r31, r0 | |||||
| 3b6: b1 1d adc r27, r1 | |||||
| 3b8: 63 9f mul r22, r19 | |||||
| 3ba: aa 27 eor r26, r26 | |||||
| 3bc: f0 0d add r31, r0 | |||||
| 3be: b1 1d adc r27, r1 | |||||
| 3c0: aa 1f adc r26, r26 | |||||
| 3c2: 64 9f mul r22, r20 | |||||
| 3c4: 66 27 eor r22, r22 | |||||
| 3c6: b0 0d add r27, r0 | |||||
| 3c8: a1 1d adc r26, r1 | |||||
| 3ca: 66 1f adc r22, r22 | |||||
| 3cc: 82 9f mul r24, r18 | |||||
| 3ce: 22 27 eor r18, r18 | |||||
| 3d0: b0 0d add r27, r0 | |||||
| 3d2: a1 1d adc r26, r1 | |||||
| 3d4: 62 1f adc r22, r18 | |||||
| 3d6: 73 9f mul r23, r19 | |||||
| 3d8: b0 0d add r27, r0 | |||||
| 3da: a1 1d adc r26, r1 | |||||
| 3dc: 62 1f adc r22, r18 | |||||
| 3de: 83 9f mul r24, r19 | |||||
| 3e0: a0 0d add r26, r0 | |||||
| 3e2: 61 1d adc r22, r1 | |||||
| 3e4: 22 1f adc r18, r18 | |||||
| 3e6: 74 9f mul r23, r20 | |||||
| 3e8: 33 27 eor r19, r19 | |||||
| 3ea: a0 0d add r26, r0 | |||||
| 3ec: 61 1d adc r22, r1 | |||||
| 3ee: 23 1f adc r18, r19 | |||||
| 3f0: 84 9f mul r24, r20 | |||||
| 3f2: 60 0d add r22, r0 | |||||
| 3f4: 21 1d adc r18, r1 | |||||
| 3f6: 82 2f mov r24, r18 | |||||
| 3f8: 76 2f mov r23, r22 | |||||
| 3fa: 6a 2f mov r22, r26 | |||||
| 3fc: 11 24 eor r1, r1 | |||||
| 3fe: 9f 57 subi r25, 0x7F ; 127 | |||||
| 400: 50 40 sbci r21, 0x00 ; 0 | |||||
| 402: 8a f0 brmi .+34 ; 0x426 <__LOCK_REGION_LENGTH__+0x26> | |||||
| 404: e1 f0 breq .+56 ; 0x43e <__LOCK_REGION_LENGTH__+0x3e> | |||||
| 406: 88 23 and r24, r24 | |||||
| 408: 4a f0 brmi .+18 ; 0x41c <__LOCK_REGION_LENGTH__+0x1c> | |||||
| 40a: ee 0f add r30, r30 | |||||
| 40c: ff 1f adc r31, r31 | |||||
| 40e: bb 1f adc r27, r27 | |||||
| 410: 66 1f adc r22, r22 | |||||
| 412: 77 1f adc r23, r23 | |||||
| 414: 88 1f adc r24, r24 | |||||
| 416: 91 50 subi r25, 0x01 ; 1 | |||||
| 418: 50 40 sbci r21, 0x00 ; 0 | |||||
| 41a: a9 f7 brne .-22 ; 0x406 <__LOCK_REGION_LENGTH__+0x6> | |||||
| 41c: 9e 3f cpi r25, 0xFE ; 254 | |||||
| 41e: 51 05 cpc r21, r1 | |||||
| 420: 70 f0 brcs .+28 ; 0x43e <__LOCK_REGION_LENGTH__+0x3e> | |||||
| 422: 14 c0 rjmp .+40 ; 0x44c <__fp_inf> | |||||
| 424: aa cf rjmp .-172 ; 0x37a <__fp_szero> | |||||
| 426: 5f 3f cpi r21, 0xFF ; 255 | |||||
| 428: ec f3 brlt .-6 ; 0x424 <__LOCK_REGION_LENGTH__+0x24> | |||||
| 42a: 98 3e cpi r25, 0xE8 ; 232 | |||||
| 42c: dc f3 brlt .-10 ; 0x424 <__LOCK_REGION_LENGTH__+0x24> | |||||
| 42e: 86 95 lsr r24 | |||||
| 430: 77 95 ror r23 | |||||
| 432: 67 95 ror r22 | |||||
| 434: b7 95 ror r27 | |||||
| 436: f7 95 ror r31 | |||||
| 438: e7 95 ror r30 | |||||
| 43a: 9f 5f subi r25, 0xFF ; 255 | |||||
| 43c: c1 f7 brne .-16 ; 0x42e <__LOCK_REGION_LENGTH__+0x2e> | |||||
| 43e: fe 2b or r31, r30 | |||||
| 440: 88 0f add r24, r24 | |||||
| 442: 91 1d adc r25, r1 | |||||
| 444: 96 95 lsr r25 | |||||
| 446: 87 95 ror r24 | |||||
| 448: 97 f9 bld r25, 7 | |||||
| 44a: 08 95 ret | |||||
| 0000044c <__fp_inf>: | |||||
| 44c: 97 f9 bld r25, 7 | |||||
| 44e: 9f 67 ori r25, 0x7F ; 127 | |||||
| 450: 80 e8 ldi r24, 0x80 ; 128 | |||||
| 452: 70 e0 ldi r23, 0x00 ; 0 | |||||
| 454: 60 e0 ldi r22, 0x00 ; 0 | |||||
| 456: 08 95 ret | |||||
| 00000458 <__fp_nan>: | |||||
| 458: 9f ef ldi r25, 0xFF ; 255 | |||||
| 45a: 80 ec ldi r24, 0xC0 ; 192 | |||||
| 45c: 08 95 ret | |||||
| 0000045e <__fp_pscA>: | |||||
| 45e: 00 24 eor r0, r0 | |||||
| 460: 0a 94 dec r0 | |||||
| 462: 16 16 cp r1, r22 | |||||
| 464: 17 06 cpc r1, r23 | |||||
| 466: 18 06 cpc r1, r24 | |||||
| 468: 09 06 cpc r0, r25 | |||||
| 46a: 08 95 ret | |||||
| 0000046c <__fp_pscB>: | |||||
| 46c: 00 24 eor r0, r0 | |||||
| 46e: 0a 94 dec r0 | |||||
| 470: 12 16 cp r1, r18 | |||||
| 472: 13 06 cpc r1, r19 | |||||
| 474: 14 06 cpc r1, r20 | |||||
| 476: 05 06 cpc r0, r21 | |||||
| 478: 08 95 ret | |||||
| 0000047a <__fp_round>: | |||||
| 47a: 09 2e mov r0, r25 | |||||
| 47c: 03 94 inc r0 | |||||
| 47e: 00 0c add r0, r0 | |||||
| 480: 11 f4 brne .+4 ; 0x486 <__fp_round+0xc> | |||||
| 482: 88 23 and r24, r24 | |||||
| 484: 52 f0 brmi .+20 ; 0x49a <__fp_round+0x20> | |||||
| 486: bb 0f add r27, r27 | |||||
| 488: 40 f4 brcc .+16 ; 0x49a <__fp_round+0x20> | |||||
| 48a: bf 2b or r27, r31 | |||||
| 48c: 11 f4 brne .+4 ; 0x492 <__fp_round+0x18> | |||||
| 48e: 60 ff sbrs r22, 0 | |||||
| 490: 04 c0 rjmp .+8 ; 0x49a <__fp_round+0x20> | |||||
| 492: 6f 5f subi r22, 0xFF ; 255 | |||||
| 494: 7f 4f sbci r23, 0xFF ; 255 | |||||
| 496: 8f 4f sbci r24, 0xFF ; 255 | |||||
| 498: 9f 4f sbci r25, 0xFF ; 255 | |||||
| 49a: 08 95 ret | |||||
| 0000049c <_exit>: | |||||
| 49c: f8 94 cli | |||||
| 0000049e <__stop_program>: | |||||
| 49e: ff cf rjmp .-2 ; 0x49e <__stop_program> | |||||
| @@ -0,0 +1,582 @@ | |||||
| Archive member included to satisfy reference by file (symbol) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fixunssfsi.o) | |||||
| main.o (__fixunssfsi) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(floatsisf.o) | |||||
| main.o (__floatsisf) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_split3.o) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fixunssfsi.o) (__fp_splitA) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_zero.o) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fixunssfsi.o) (__fp_zero) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3.o) | |||||
| main.o (__mulsf3) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3x.o) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3.o) (__mulsf3x) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_inf.o) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3x.o) (__fp_inf) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_nan.o) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3x.o) (__fp_nan) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_pscA.o) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3x.o) (__fp_pscA) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_pscB.o) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3x.o) (__fp_pscB) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_round.o) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3.o) (__fp_round) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o (exit) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| main.o (__do_copy_data) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| main.o (__do_clear_bss) | |||||
| Discarded input sections | |||||
| .data 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .bss 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .text 0x00000000 0x0 main.o | |||||
| .data 0x00000000 0x0 main.o | |||||
| .bss 0x00000000 0x0 main.o | |||||
| .text.vSetDisplayDigits | |||||
| 0x00000000 0xc main.o | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fixunssfsi.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fixunssfsi.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fixunssfsi.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(floatsisf.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(floatsisf.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(floatsisf.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_split3.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_split3.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_split3.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_zero.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_zero.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_zero.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3x.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3x.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3x.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_inf.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_inf.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_inf.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_nan.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_nan.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_nan.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_pscA.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_pscA.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_pscA.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_pscB.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_pscB.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_pscB.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_round.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_round.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_round.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc.mul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc.div | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc.prologue | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc.builtins | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc.fmul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc.fixed | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc.mul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc.div | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc.prologue | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc.builtins | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc.fmul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc.fixed | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc.mul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc.div | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc.prologue | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc.builtins | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc.fmul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc.fixed | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| Memory Configuration | |||||
| Name Origin Length Attributes | |||||
| text 0x00000000 0x00002000 xr | |||||
| data 0x00800060 0x0000ffa0 rw !x | |||||
| eeprom 0x00810000 0x00010000 rw !x | |||||
| fuse 0x00820000 0x00000003 rw !x | |||||
| lock 0x00830000 0x00000400 rw !x | |||||
| signature 0x00840000 0x00000400 rw !x | |||||
| user_signatures 0x00850000 0x00000400 rw !x | |||||
| *default* 0x00000000 0xffffffff | |||||
| Linker script and memory map | |||||
| Address of section .data set to 0x800100 | |||||
| LOAD C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| LOAD main.o | |||||
| START GROUP | |||||
| LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a | |||||
| END GROUP | |||||
| START GROUP | |||||
| LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a | |||||
| LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a | |||||
| LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libc.a | |||||
| LOAD C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4\libatmega88pa.a | |||||
| END GROUP | |||||
| 0x00002000 __TEXT_REGION_LENGTH__ = DEFINED (__TEXT_REGION_LENGTH__)?__TEXT_REGION_LENGTH__:0x2000 | |||||
| 0x0000ffa0 __DATA_REGION_LENGTH__ = DEFINED (__DATA_REGION_LENGTH__)?__DATA_REGION_LENGTH__:0xffa0 | |||||
| 0x00010000 __EEPROM_REGION_LENGTH__ = DEFINED (__EEPROM_REGION_LENGTH__)?__EEPROM_REGION_LENGTH__:0x10000 | |||||
| [0x00000003] __FUSE_REGION_LENGTH__ = DEFINED (__FUSE_REGION_LENGTH__)?__FUSE_REGION_LENGTH__:0x400 | |||||
| 0x00000400 __LOCK_REGION_LENGTH__ = DEFINED (__LOCK_REGION_LENGTH__)?__LOCK_REGION_LENGTH__:0x400 | |||||
| 0x00000400 __SIGNATURE_REGION_LENGTH__ = DEFINED (__SIGNATURE_REGION_LENGTH__)?__SIGNATURE_REGION_LENGTH__:0x400 | |||||
| 0x00000400 __USER_SIGNATURE_REGION_LENGTH__ = DEFINED (__USER_SIGNATURE_REGION_LENGTH__)?__USER_SIGNATURE_REGION_LENGTH__:0x400 | |||||
| .hash | |||||
| *(.hash) | |||||
| .dynsym | |||||
| *(.dynsym) | |||||
| .dynstr | |||||
| *(.dynstr) | |||||
| .gnu.version | |||||
| *(.gnu.version) | |||||
| .gnu.version_d | |||||
| *(.gnu.version_d) | |||||
| .gnu.version_r | |||||
| *(.gnu.version_r) | |||||
| .rel.init | |||||
| *(.rel.init) | |||||
| .rela.init | |||||
| *(.rela.init) | |||||
| .rel.text | |||||
| *(.rel.text) | |||||
| *(.rel.text.*) | |||||
| *(.rel.gnu.linkonce.t*) | |||||
| .rela.text | |||||
| *(.rela.text) | |||||
| *(.rela.text.*) | |||||
| *(.rela.gnu.linkonce.t*) | |||||
| .rel.fini | |||||
| *(.rel.fini) | |||||
| .rela.fini | |||||
| *(.rela.fini) | |||||
| .rel.rodata | |||||
| *(.rel.rodata) | |||||
| *(.rel.rodata.*) | |||||
| *(.rel.gnu.linkonce.r*) | |||||
| .rela.rodata | |||||
| *(.rela.rodata) | |||||
| *(.rela.rodata.*) | |||||
| *(.rela.gnu.linkonce.r*) | |||||
| .rel.data | |||||
| *(.rel.data) | |||||
| *(.rel.data.*) | |||||
| *(.rel.gnu.linkonce.d*) | |||||
| .rela.data | |||||
| *(.rela.data) | |||||
| *(.rela.data.*) | |||||
| *(.rela.gnu.linkonce.d*) | |||||
| .rel.ctors | |||||
| *(.rel.ctors) | |||||
| .rela.ctors | |||||
| *(.rela.ctors) | |||||
| .rel.dtors | |||||
| *(.rel.dtors) | |||||
| .rela.dtors | |||||
| *(.rela.dtors) | |||||
| .rel.got | |||||
| *(.rel.got) | |||||
| .rela.got | |||||
| *(.rela.got) | |||||
| .rel.bss | |||||
| *(.rel.bss) | |||||
| .rela.bss | |||||
| *(.rela.bss) | |||||
| .rel.plt | |||||
| *(.rel.plt) | |||||
| .rela.plt | |||||
| *(.rela.plt) | |||||
| .text 0x00000000 0x4a0 | |||||
| *(.vectors) | |||||
| .vectors 0x00000000 0x34 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| 0x00000000 __vector_default | |||||
| 0x00000000 __vectors | |||||
| *(.vectors) | |||||
| *(.progmem.gcc*) | |||||
| 0x00000034 . = ALIGN (0x2) | |||||
| 0x00000034 __trampolines_start = . | |||||
| *(.trampolines) | |||||
| .trampolines 0x00000034 0x0 linker stubs | |||||
| *(.trampolines*) | |||||
| 0x00000034 __trampolines_end = . | |||||
| *libprintf_flt.a:*(.progmem.data) | |||||
| *libc.a:*(.progmem.data) | |||||
| *(.progmem*) | |||||
| 0x00000034 . = ALIGN (0x2) | |||||
| *(.jumptables) | |||||
| *(.jumptables*) | |||||
| *(.lowtext) | |||||
| *(.lowtext*) | |||||
| 0x00000034 __ctors_start = . | |||||
| *(.ctors) | |||||
| 0x00000034 __ctors_end = . | |||||
| 0x00000034 __dtors_start = . | |||||
| *(.dtors) | |||||
| 0x00000034 __dtors_end = . | |||||
| SORT(*)(.ctors) | |||||
| SORT(*)(.dtors) | |||||
| *(.init0) | |||||
| .init0 0x00000034 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| 0x00000034 __init | |||||
| *(.init0) | |||||
| *(.init1) | |||||
| *(.init1) | |||||
| *(.init2) | |||||
| .init2 0x00000034 0xc C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| *(.init2) | |||||
| *(.init3) | |||||
| *(.init3) | |||||
| *(.init4) | |||||
| .init4 0x00000040 0x16 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| 0x00000040 __do_copy_data | |||||
| .init4 0x00000056 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| 0x00000056 __do_clear_bss | |||||
| *(.init4) | |||||
| *(.init5) | |||||
| *(.init5) | |||||
| *(.init6) | |||||
| *(.init6) | |||||
| *(.init7) | |||||
| *(.init7) | |||||
| *(.init8) | |||||
| *(.init8) | |||||
| *(.init9) | |||||
| .init9 0x00000066 0x4 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| *(.init9) | |||||
| *(.text) | |||||
| .text 0x0000006a 0x2 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| 0x0000006a __vector_22 | |||||
| 0x0000006a __vector_1 | |||||
| 0x0000006a __vector_24 | |||||
| 0x0000006a __vector_12 | |||||
| 0x0000006a __bad_interrupt | |||||
| 0x0000006a __vector_6 | |||||
| 0x0000006a __vector_3 | |||||
| 0x0000006a __vector_23 | |||||
| 0x0000006a __vector_25 | |||||
| 0x0000006a __vector_13 | |||||
| 0x0000006a __vector_17 | |||||
| 0x0000006a __vector_19 | |||||
| 0x0000006a __vector_7 | |||||
| 0x0000006a __vector_5 | |||||
| 0x0000006a __vector_4 | |||||
| 0x0000006a __vector_9 | |||||
| 0x0000006a __vector_2 | |||||
| 0x0000006a __vector_21 | |||||
| 0x0000006a __vector_15 | |||||
| 0x0000006a __vector_8 | |||||
| 0x0000006a __vector_14 | |||||
| 0x0000006a __vector_10 | |||||
| 0x0000006a __vector_16 | |||||
| 0x0000006a __vector_18 | |||||
| 0x0000006a __vector_20 | |||||
| 0x0000006c . = ALIGN (0x2) | |||||
| *(.text.*) | |||||
| .text.__vector_11 | |||||
| 0x0000006c 0x6e main.o | |||||
| 0x0000006c __vector_11 | |||||
| .text.vInit 0x000000da 0x2c main.o | |||||
| 0x000000da vInit | |||||
| .text.vSetValue | |||||
| 0x00000106 0x26 main.o | |||||
| 0x00000106 vSetValue | |||||
| .text.u8DS18B20_Reset | |||||
| 0x0000012c 0x30 main.o | |||||
| 0x0000012c u8DS18B20_Reset | |||||
| .text.vDS18B20_WriteBit | |||||
| 0x0000015c 0x22 main.o | |||||
| 0x0000015c vDS18B20_WriteBit | |||||
| .text.vDS18B20_WriteByte | |||||
| 0x0000017e 0x1a main.o | |||||
| 0x0000017e vDS18B20_WriteByte | |||||
| .text.u8DS18B20_ReadBit | |||||
| 0x00000198 0x2c main.o | |||||
| 0x00000198 u8DS18B20_ReadBit | |||||
| .text.u8DS18B20_ReadByte | |||||
| 0x000001c4 0x22 main.o | |||||
| 0x000001c4 u8DS18B20_ReadByte | |||||
| .text.main 0x000001e6 0x7c main.o | |||||
| 0x000001e6 main | |||||
| .text.avr-libc.fplib | |||||
| 0x00000262 0x58 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fixunssfsi.o) | |||||
| 0x00000262 __fixunssfsi | |||||
| .text.avr-libc.fplib | |||||
| 0x000002ba 0x7a c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(floatsisf.o) | |||||
| 0x000002ba __floatunsisf | |||||
| 0x000002be __floatsisf | |||||
| .text.avr-libc.fplib | |||||
| 0x00000334 0x44 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_split3.o) | |||||
| 0x00000334 __fp_split3 | |||||
| 0x00000344 __fp_splitA | |||||
| .text.avr-libc.fplib | |||||
| 0x00000378 0xe c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_zero.o) | |||||
| 0x00000378 __fp_zero | |||||
| 0x0000037a __fp_szero | |||||
| .text.avr-libc.fplib | |||||
| 0x00000386 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3.o) | |||||
| 0x00000386 __mulsf3 | |||||
| .text.avr-libc.fplib | |||||
| 0x0000038a 0xc2 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(mulsf3x.o) | |||||
| 0x0000039e __mulsf3x | |||||
| 0x000003a2 __mulsf3_pse | |||||
| .text.avr-libc.fplib | |||||
| 0x0000044c 0xc c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_inf.o) | |||||
| 0x0000044c __fp_inf | |||||
| .text.avr-libc.fplib | |||||
| 0x00000458 0x6 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_nan.o) | |||||
| 0x00000458 __fp_nan | |||||
| .text.avr-libc.fplib | |||||
| 0x0000045e 0xe c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_pscA.o) | |||||
| 0x0000045e __fp_pscA | |||||
| .text.avr-libc.fplib | |||||
| 0x0000046c 0xe c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_pscB.o) | |||||
| 0x0000046c __fp_pscB | |||||
| .text.avr-libc.fplib | |||||
| 0x0000047a 0x22 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a(fp_round.o) | |||||
| 0x0000047a __fp_round | |||||
| 0x0000049c . = ALIGN (0x2) | |||||
| *(.fini9) | |||||
| .fini9 0x0000049c 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| 0x0000049c _exit | |||||
| 0x0000049c exit | |||||
| *(.fini9) | |||||
| *(.fini8) | |||||
| *(.fini8) | |||||
| *(.fini7) | |||||
| *(.fini7) | |||||
| *(.fini6) | |||||
| *(.fini6) | |||||
| *(.fini5) | |||||
| *(.fini5) | |||||
| *(.fini4) | |||||
| *(.fini4) | |||||
| *(.fini3) | |||||
| *(.fini3) | |||||
| *(.fini2) | |||||
| *(.fini2) | |||||
| *(.fini1) | |||||
| *(.fini1) | |||||
| *(.fini0) | |||||
| .fini0 0x0000049c 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| *(.fini0) | |||||
| 0x000004a0 _etext = . | |||||
| .data 0x00800100 0x16 load address 0x000004a0 | |||||
| 0x00800100 PROVIDE (__data_start, .) | |||||
| *(.data) | |||||
| *(.data*) | |||||
| .data.g_au8Digits | |||||
| 0x00800100 0x3 main.o | |||||
| 0x00800100 g_au8Digits | |||||
| *(.rodata) | |||||
| *(.rodata*) | |||||
| .rodata.g_au8Symbols | |||||
| 0x00800103 0x12 main.o | |||||
| *(.gnu.linkonce.d*) | |||||
| 0x00800116 . = ALIGN (0x2) | |||||
| *fill* 0x00800115 0x1 | |||||
| 0x00800116 _edata = . | |||||
| 0x00800116 PROVIDE (__data_end, .) | |||||
| .bss 0x00800116 0x1 | |||||
| 0x00800116 PROVIDE (__bss_start, .) | |||||
| *(.bss) | |||||
| *(.bss*) | |||||
| .bss.g_u8ISRDigitSelect | |||||
| 0x00800116 0x1 main.o | |||||
| 0x00800116 g_u8ISRDigitSelect | |||||
| *(COMMON) | |||||
| 0x00800117 PROVIDE (__bss_end, .) | |||||
| 0x000004a0 __data_load_start = LOADADDR (.data) | |||||
| 0x000004b6 __data_load_end = (__data_load_start + SIZEOF (.data)) | |||||
| .noinit 0x00800117 0x0 | |||||
| [!provide] PROVIDE (__noinit_start, .) | |||||
| *(.noinit*) | |||||
| [!provide] PROVIDE (__noinit_end, .) | |||||
| 0x00800117 _end = . | |||||
| [!provide] PROVIDE (__heap_start, .) | |||||
| .eeprom 0x00810000 0x0 | |||||
| *(.eeprom*) | |||||
| 0x00810000 __eeprom_end = . | |||||
| .fuse | |||||
| *(.fuse) | |||||
| *(.lfuse) | |||||
| *(.hfuse) | |||||
| *(.efuse) | |||||
| .lock | |||||
| *(.lock*) | |||||
| .signature | |||||
| *(.signature*) | |||||
| .user_signatures | |||||
| *(.user_signatures*) | |||||
| .stab | |||||
| *(.stab) | |||||
| .stabstr | |||||
| *(.stabstr) | |||||
| .stab.excl | |||||
| *(.stab.excl) | |||||
| .stab.exclstr | |||||
| *(.stab.exclstr) | |||||
| .stab.index | |||||
| *(.stab.index) | |||||
| .stab.indexstr | |||||
| *(.stab.indexstr) | |||||
| .comment 0x00000000 0x30 | |||||
| *(.comment) | |||||
| .comment 0x00000000 0x30 main.o | |||||
| 0x31 (size before relaxing) | |||||
| .note.gnu.avr.deviceinfo | |||||
| 0x00000000 0x40 | |||||
| .note.gnu.avr.deviceinfo | |||||
| 0x00000000 0x40 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .note.gnu.build-id | |||||
| *(.note.gnu.build-id) | |||||
| .debug | |||||
| *(.debug) | |||||
| .line | |||||
| *(.line) | |||||
| .debug_srcinfo | |||||
| *(.debug_srcinfo) | |||||
| .debug_sfnames | |||||
| *(.debug_sfnames) | |||||
| .debug_aranges 0x00000000 0x68 | |||||
| *(.debug_aranges) | |||||
| .debug_aranges | |||||
| 0x00000000 0x68 main.o | |||||
| .debug_pubnames | |||||
| *(.debug_pubnames) | |||||
| .debug_info 0x00000000 0xcee | |||||
| *(.debug_info .gnu.linkonce.wi.*) | |||||
| .debug_info 0x00000000 0x5f4 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .debug_info 0x000005f4 0x6fa main.o | |||||
| .debug_abbrev 0x00000000 0x84b | |||||
| *(.debug_abbrev) | |||||
| .debug_abbrev 0x00000000 0x5a2 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .debug_abbrev 0x000005a2 0x2a9 main.o | |||||
| .debug_line 0x00000000 0x4ba | |||||
| *(.debug_line .debug_line.* .debug_line_end) | |||||
| .debug_line 0x00000000 0x133 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .debug_line 0x00000133 0x387 main.o | |||||
| .debug_frame 0x00000000 0xec | |||||
| *(.debug_frame) | |||||
| .debug_frame 0x00000000 0xec main.o | |||||
| .debug_str 0x00000000 0x4d2 | |||||
| *(.debug_str) | |||||
| .debug_str 0x00000000 0x208 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .debug_str 0x00000208 0x2ca main.o | |||||
| 0x2fe (size before relaxing) | |||||
| .debug_loc 0x00000000 0x59b | |||||
| *(.debug_loc) | |||||
| .debug_loc 0x00000000 0x59b main.o | |||||
| .debug_macinfo | |||||
| *(.debug_macinfo) | |||||
| .debug_weaknames | |||||
| *(.debug_weaknames) | |||||
| .debug_funcnames | |||||
| *(.debug_funcnames) | |||||
| .debug_typenames | |||||
| *(.debug_typenames) | |||||
| .debug_varnames | |||||
| *(.debug_varnames) | |||||
| .debug_pubtypes | |||||
| *(.debug_pubtypes) | |||||
| .debug_ranges 0x00000000 0x58 | |||||
| *(.debug_ranges) | |||||
| .debug_ranges 0x00000000 0x58 main.o | |||||
| .debug_macro | |||||
| *(.debug_macro) | |||||
| OUTPUT(PoolClockAirTemp.elf elf32-avr) | |||||
| LOAD linker stubs | |||||
| @@ -0,0 +1,78 @@ | |||||
| S0180000506F6F6C436C6F636B41697254656D702E73726563D4 | |||||
| S113000019C033C032C031C030C02FC02EC02DC083 | |||||
| S11300102CC02BC02AC02AC028C027C026C025C097 | |||||
| S113002024C023C022C021C020C01FC01EC01DC0C8 | |||||
| S11300301CC01BC011241FBECFEFD4E0DEBFCDBF58 | |||||
| S113004011E0A0E0B1E0E0EAF4E002C005900D9216 | |||||
| S1130050A631B107D9F721E0A6E1B1E001C01D92B4 | |||||
| S1130060A731B207E1F7BFD019C2CACF1F920F92CE | |||||
| S11300700FB60F9211248F939F93EF93FF9315B8AC | |||||
| S11300801BB88DE08A95F1F7000081E090E00090C4 | |||||
| S1130090160102C0880F991F0A94E2F785B9E0910E | |||||
| S11300A01601F0E0E050FF4FE081F0E0ED5FFE4F1D | |||||
| S11300B080818BB9809116018F5F833018F480930F | |||||
| S11300C0160102C010921601FF91EF919F918F913A | |||||
| S11300D00F900FBE0F901F9018958FEF8AB987E08D | |||||
| S11300E084B9109280008AE08093810084EC99E0C6 | |||||
| S11300F09093890080938800EFE6F0E0808182602D | |||||
| S11301008083789408959DEC899F912D1124969570 | |||||
| S113011096959695E0E0F1E09283990F292F220FAE | |||||
| S1130120220F920F891B81836083089543983B9A21 | |||||
| S11301308FE599E00197F1F700C000003B98EBE2EE | |||||
| S1130140F1E03197F1F700C0000086B1E3E3F8E095 | |||||
| S11301503197F1F700C000008870089543983B9AE6 | |||||
| S113016096E09A95F1F700C0813009F43B988BE250 | |||||
| S113017091E00197F1F700C000003B980895CF93F8 | |||||
| S1130180DF93D82FC8E08D2F8170E8DFD695C1505A | |||||
| S1130190D1F7DF91CF91089543983B9A86E08A95F1 | |||||
| S11301A0F1F700C03B98EDE5EA95F1F7000086B160 | |||||
| S11301B0E0EEF0E03197F1F700C0000083FB882700 | |||||
| S11301C080F90895CF93DF93D8E0C0E0E5DF20E81D | |||||
| S11301D0829FC0011124C695C82BD150B9F78C2F2A | |||||
| S11301E0DF91CF91089579DFE0E0F1E081E182834E | |||||
| S11301F0818380832FEF8BE792E9215080409040E8 | |||||
| S1130200E1F700C0000092DF8CECB9DF84E4B7DFD3 | |||||
| S1130210C3DF8823E9F38ADF8CECB1DF8EEBAFDF39 | |||||
| S1130220D1DFC82FCFDF682F70E0762F66276C0FE1 | |||||
| S1130230711D072E000C880B990B41D020E030E093 | |||||
| S113024040E85DE3A0D00DD0862F6EE05CDF2FE7A1 | |||||
| S113025084E89EE1215080409040E1F700C0000016 | |||||
| S1130260D2CF70D088F09F5790F0B92F9927B7510B | |||||
| S1130270A0F0D1F0660F771F881F991F1AF0BA9566 | |||||
| S1130280C9F712C0B13081F077D0B1E0089574C0DD | |||||
| S1130290672F782F8827B85F39F0B93FCCF386955C | |||||
| S11302A077956795B395D9F73EF4909580957095B9 | |||||
| S11302B061957F4F8F4F9F4F0895E89409C097FB36 | |||||
| S11302C03EF490958095709561957F4F8F4F9F4F29 | |||||
| S11302D09923A9F0F92F96E9BB279395F69587956D | |||||
| S11302E077956795B795F111F8CFFAF4BB0F11F430 | |||||
| S11302F060FF1BC06F5F7F4F8F4F9F4F16C08823D7 | |||||
| S113030011F096E911C0772321F09EE8872F762F0C | |||||
| S113031005C0662371F096E8862F70E060E02AF04D | |||||
| S11303209A95660F771F881FDAF7880F9695879539 | |||||
| S113033097F9089557FD9058440F551F59F05F3FA2 | |||||
| S113034071F04795880F97FB991F61F09F3F79F0F3 | |||||
| S113035087950895121613061406551FF2CF469575 | |||||
| S1130360F1DF08C0161617061806991FF1CF8695F7 | |||||
| S11303707105610508940895E894BB2766277727DB | |||||
| S1130380CB0197F908950BD078C069D028F06ED0CE | |||||
| S113039018F0952309F05AC05FC01124EECFCADFCC | |||||
| S11303A0A0F3959FD1F3950F50E0551F629FF00184 | |||||
| S11303B0729FBB27F00DB11D639FAA27F00DB11DDD | |||||
| S11303C0AA1F649F6627B00DA11D661F829F222766 | |||||
| S11303D0B00DA11D621F739FB00DA11D621F839FED | |||||
| S11303E0A00D611D221F749F3327A00D611D231FC3 | |||||
| S11303F0849F600D211D822F762F6A2F11249F5711 | |||||
| S113040050408AF0E1F088234AF0EE0FFF1FBB1F33 | |||||
| S1130410661F771F881F91505040A9F79E3F5105D2 | |||||
| S113042070F014C0AACF5F3FECF3983EDCF38695DE | |||||
| S113043077956795B795F795E7959F5FC1F7FE2B7D | |||||
| S1130440880F911D9695879597F9089597F99F6759 | |||||
| S113045080E870E060E008959FEF80EC0895002448 | |||||
| S11304600A941616170618060906089500240A9415 | |||||
| S113047012161306140605060895092E0394000C9B | |||||
| S113048011F4882352F0BB0F40F4BF2B11F460FF2A | |||||
| S113049004C06F5F7F4F8F4F9F4F0895F894FFCF35 | |||||
| S11304A0101010FC24BAAE66CEDEA4FEEE161EDAE0 | |||||
| S10904B012ADF30002008E | |||||
| S9030000FC | |||||
| @@ -0,0 +1,49 @@ | |||||
| main.d main.o: .././main.c \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdbool.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ | |||||
| C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\include/avr/iom88pa.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdbool.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: | |||||
| C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\include/avr/iom88pa.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h: | |||||
| @@ -0,0 +1,6 @@ | |||||
| ################################################################################ | |||||
| # Automatically-generated file. Do not edit or delete the file | |||||
| ################################################################################ | |||||
| main.c | |||||
| @@ -0,0 +1,86 @@ | |||||
| <?xml version="1.0" encoding="utf-8"?> | |||||
| <Store xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="AtmelPackComponentManagement"> | |||||
| <ProjectComponents> | |||||
| <ProjectComponent z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/"> | |||||
| <CApiVersion></CApiVersion> | |||||
| <CBundle></CBundle> | |||||
| <CClass>Device</CClass> | |||||
| <CGroup>Startup</CGroup> | |||||
| <CSub></CSub> | |||||
| <CVariant></CVariant> | |||||
| <CVendor>Atmel</CVendor> | |||||
| <CVersion>1.2.0</CVersion> | |||||
| <DefaultRepoPath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs</DefaultRepoPath> | |||||
| <DependentComponents xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" /> | |||||
| <Description></Description> | |||||
| <Files xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> | |||||
| <d4p1:anyType i:type="FileInfo"> | |||||
| <AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\include</AbsolutePath> | |||||
| <Attribute></Attribute> | |||||
| <Category>include</Category> | |||||
| <Condition>C</Condition> | |||||
| <FileContentHash i:nil="true" /> | |||||
| <FileVersion></FileVersion> | |||||
| <Name>include</Name> | |||||
| <SelectString></SelectString> | |||||
| <SourcePath></SourcePath> | |||||
| </d4p1:anyType> | |||||
| <d4p1:anyType i:type="FileInfo"> | |||||
| <AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\include\avr\iom88pa.h</AbsolutePath> | |||||
| <Attribute></Attribute> | |||||
| <Category>header</Category> | |||||
| <Condition>C</Condition> | |||||
| <FileContentHash>PWoJcvZZTeGBgzC7OP4j4w==</FileContentHash> | |||||
| <FileVersion></FileVersion> | |||||
| <Name>include/avr/iom88pa.h</Name> | |||||
| <SelectString></SelectString> | |||||
| <SourcePath></SourcePath> | |||||
| </d4p1:anyType> | |||||
| <d4p1:anyType i:type="FileInfo"> | |||||
| <AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\templates\main.c</AbsolutePath> | |||||
| <Attribute>template</Attribute> | |||||
| <Category>source</Category> | |||||
| <Condition>C Exe</Condition> | |||||
| <FileContentHash>ScNpxY7iwOxCD8VURzPFGA==</FileContentHash> | |||||
| <FileVersion></FileVersion> | |||||
| <Name>templates/main.c</Name> | |||||
| <SelectString>Main file (.c)</SelectString> | |||||
| <SourcePath></SourcePath> | |||||
| </d4p1:anyType> | |||||
| <d4p1:anyType i:type="FileInfo"> | |||||
| <AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\templates\main.cpp</AbsolutePath> | |||||
| <Attribute>template</Attribute> | |||||
| <Category>source</Category> | |||||
| <Condition>C Exe</Condition> | |||||
| <FileContentHash>YXFphlh0CtZJU+ebktABgQ==</FileContentHash> | |||||
| <FileVersion></FileVersion> | |||||
| <Name>templates/main.cpp</Name> | |||||
| <SelectString>Main file (.cpp)</SelectString> | |||||
| <SourcePath></SourcePath> | |||||
| </d4p1:anyType> | |||||
| <d4p1:anyType i:type="FileInfo"> | |||||
| <AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\gcc\dev\atmega88pa</AbsolutePath> | |||||
| <Attribute></Attribute> | |||||
| <Category>libraryPrefix</Category> | |||||
| <Condition>GCC</Condition> | |||||
| <FileContentHash i:nil="true" /> | |||||
| <FileVersion></FileVersion> | |||||
| <Name>gcc/dev/atmega88pa</Name> | |||||
| <SelectString></SelectString> | |||||
| <SourcePath></SourcePath> | |||||
| </d4p1:anyType> | |||||
| </Files> | |||||
| <PackName>ATmega_DFP</PackName> | |||||
| <PackPath>C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/Atmel.ATmega_DFP.pdsc</PackPath> | |||||
| <PackVersion>1.2.132</PackVersion> | |||||
| <PresentInProject>true</PresentInProject> | |||||
| <ReferenceConditionId>ATmega88PA</ReferenceConditionId> | |||||
| <RteComponents xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> | |||||
| <d4p1:string></d4p1:string> | |||||
| </RteComponents> | |||||
| <Status>Resolved</Status> | |||||
| <VersionMode>Fixed</VersionMode> | |||||
| <IsComponentInAtProject>true</IsComponentInAtProject> | |||||
| </ProjectComponent> | |||||
| </ProjectComponents> | |||||
| </Store> | |||||
| @@ -0,0 +1,126 @@ | |||||
| <?xml version="1.0" encoding="utf-8"?> | |||||
| <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="14.0"> | |||||
| <PropertyGroup> | |||||
| <SchemaVersion>2.0</SchemaVersion> | |||||
| <ProjectVersion>7.0</ProjectVersion> | |||||
| <ToolchainName>com.Atmel.AVRGCC8.C</ToolchainName> | |||||
| <ProjectGuid>{0c83e3a6-3ddd-4274-8944-ae653dc4ac74}</ProjectGuid> | |||||
| <avrdevice>ATmega88PA</avrdevice> | |||||
| <avrdeviceseries>none</avrdeviceseries> | |||||
| <OutputType>Executable</OutputType> | |||||
| <Language>C</Language> | |||||
| <OutputFileName>$(MSBuildProjectName)</OutputFileName> | |||||
| <OutputFileExtension>.elf</OutputFileExtension> | |||||
| <OutputDirectory>$(MSBuildProjectDirectory)\$(Configuration)</OutputDirectory> | |||||
| <AssemblyName>PoolClockAirTemp</AssemblyName> | |||||
| <Name>PoolClockAirTemp</Name> | |||||
| <RootNamespace>PoolClockAirTemp</RootNamespace> | |||||
| <ToolchainFlavour>Native</ToolchainFlavour> | |||||
| <KeepTimersRunning>true</KeepTimersRunning> | |||||
| <OverrideVtor>false</OverrideVtor> | |||||
| <CacheFlash>true</CacheFlash> | |||||
| <ProgFlashFromRam>true</ProgFlashFromRam> | |||||
| <RamSnippetAddress /> | |||||
| <UncachedRange /> | |||||
| <preserveEEPROM>true</preserveEEPROM> | |||||
| <OverrideVtorValue /> | |||||
| <BootSegment>2</BootSegment> | |||||
| <eraseonlaunchrule>0</eraseonlaunchrule> | |||||
| <AsfFrameworkConfig> | |||||
| <framework-data xmlns=""> | |||||
| <options /> | |||||
| <configurations /> | |||||
| <files /> | |||||
| <documentation help="" /> | |||||
| <offline-documentation help="" /> | |||||
| <dependencies> | |||||
| <content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.34.1" /> | |||||
| </dependencies> | |||||
| </framework-data> | |||||
| </AsfFrameworkConfig> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition=" '$(Configuration)' == 'Release' "> | |||||
| <ToolchainSettings> | |||||
| <AvrGcc> | |||||
| <avrgcc.common.Device>-mmcu=atmega88pa -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.2.132\gcc\dev\atmega88pa"</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>NDEBUG</Value> | |||||
| </ListValues> | |||||
| </avrgcc.compiler.symbols.DefSymbols> | |||||
| <avrgcc.compiler.directories.IncludePaths> | |||||
| <ListValues> | |||||
| <Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.2.132\include</Value> | |||||
| </ListValues> | |||||
| </avrgcc.compiler.directories.IncludePaths> | |||||
| <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.assembler.general.IncludePaths> | |||||
| <ListValues> | |||||
| <Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.2.132\include</Value> | |||||
| </ListValues> | |||||
| </avrgcc.assembler.general.IncludePaths> | |||||
| </AvrGcc> | |||||
| </ToolchainSettings> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> | |||||
| <ToolchainSettings> | |||||
| <AvrGcc> | |||||
| <avrgcc.common.Device>-mmcu=atmega88pa -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.2.132\gcc\dev\atmega88pa"</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\ATmega_DFP\1.2.132\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.general.IncludePaths> | |||||
| <ListValues> | |||||
| <Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.2.132\include</Value> | |||||
| </ListValues> | |||||
| </avrgcc.assembler.general.IncludePaths> | |||||
| <avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel> | |||||
| </AvrGcc> | |||||
| </ToolchainSettings> | |||||
| </PropertyGroup> | |||||
| <ItemGroup> | |||||
| <Compile Include="main.c"> | |||||
| <SubType>compile</SubType> | |||||
| </Compile> | |||||
| </ItemGroup> | |||||
| <Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Compiler.targets" /> | |||||
| </Project> | |||||
| @@ -0,0 +1,302 @@ | |||||
| #include <stdbool.h> | |||||
| #include <avr/io.h> | |||||
| #include <avr/interrupt.h> | |||||
| #define F_CPU 20000000UL //20 MHz | |||||
| #include <util/delay.h> | |||||
| NO LONGER USED | |||||
| /* 7-Segment display: */ | |||||
| #define NUM_DIGITS 3U //3 Digits | |||||
| #define DIGIT_TENS 2U //left | |||||
| #define DIGIT_ONES 1U //middle | |||||
| #define DIGIT_UNIT 0U //right | |||||
| #define SELECT_DIGIT(digit) (1U << digit) | |||||
| /* DS18B20 peripherals: */ | |||||
| #define DS18B20_PORT PORTC | |||||
| #define DS18B20_DDR DDRC | |||||
| #define DS18B20_PIN PINC | |||||
| #define DS18B20_DQ PINC3 | |||||
| /* DS18B20 commands: */ | |||||
| #define DS18B20_CMD_CONVERTTEMP 0x44U | |||||
| #define DS18B20_CMD_RSCRATCHPAD 0xBEU | |||||
| #define DS18B20_CMD_WSCRATCHPAD 0x4EU | |||||
| #define DS18B20_CMD_CPYSCRATCHPAD 0x48U | |||||
| #define DS18B20_CMD_RECEEPROM 0xB8U | |||||
| #define DS18B20_CMD_RPWRSUPPLY 0xB4U | |||||
| #define DS18B20_CMD_SEARCHROM 0xF0U | |||||
| #define DS18B20_CMD_READROM 0x33U | |||||
| #define DS18B20_CMD_MATCHROM 0x55U | |||||
| #define DS18B20_CMD_SKIPROM 0xCCU | |||||
| #define DS18B20_CMD_ALARMSEARCH 0xECU | |||||
| /* Symbol indexes: */ | |||||
| #define SYM_n 10U | |||||
| #define SYM_o 11U | |||||
| #define SYM_E 12U | |||||
| #define SYM_R 13U | |||||
| #define SYM_DEG_CELCIUS 14U | |||||
| #define SYM_P_P 15U | |||||
| #define SYM_OFF 16U | |||||
| #define SYM_DASH 17U | |||||
| /* | |||||
| 7-Segment Layout: | |||||
| A | |||||
| F B | |||||
| G | |||||
| E C | |||||
| D P | |||||
| Pin 7 6 5 4 3 2 1 0 | |||||
| Segment A F B E D C G P | |||||
| */ | |||||
| static uint8_t g_au8Symbols[18U] = | |||||
| { | |||||
| /* 00 */ 0b11111100U, //0 (ABCDEF) | |||||
| /* 01 */ 0b00100100U, //1 (BC) | |||||
| /* 02 */ 0b10111010U, //2 (ABDEG) | |||||
| /* 03 */ 0b10101110U, //3 (ABCDG) | |||||
| /* 04 */ 0b01100110U, //4 (BCFG) | |||||
| /* 05 */ 0b11001110U, //5 (ACDFG) | |||||
| /* 06 */ 0b11011110U, //6 (ACDEFG) | |||||
| /* 07 */ 0b10100100U, //7 (ABC) | |||||
| /* 08 */ 0b11111110U, //8 (ABCDEFG) | |||||
| /* 09 */ 0b11101110U, //9 (ABCDFG) | |||||
| /* 10 */ 0b00010110U, //n (CEG) SYM_n | |||||
| /* 11 */ 0b00011110U, //o (CDEG) SYM_o | |||||
| /* 12 */ 0b11011010U, //E (ADEFG) SYM_E | |||||
| /* 13 */ 0b00010010U, //r (EG) SYM_r | |||||
| /* 14 */ 0b10101101U, //degC (ABCDP) SYM_DEG_CELCIUS | |||||
| /* 15 */ 0b11110011U, //P. (ABEFGP) SYM_P_P | |||||
| /* 16 */ 0b00000000U, //OFF SYM_OFF | |||||
| /* 17 */ 0b00000010U //- (G) SYM_DASH | |||||
| }; | |||||
| uint8_t g_u8ISRDigitSelect = 0U; | |||||
| uint8_t g_au8Digits[3U] = | |||||
| { | |||||
| SYM_OFF, //unit | |||||
| SYM_OFF, //ones | |||||
| SYM_OFF //tens | |||||
| }; | |||||
| void vInit( void ); | |||||
| void vSetValue( uint8_t u8Value, uint8_t u8Unit ); | |||||
| void vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit ); | |||||
| uint8_t u8DS18B20_Reset( void ); | |||||
| void vDS18B20_WriteByte( uint8_t u8Byte ); | |||||
| void vDS18B20_WriteBit( uint8_t u8Bit ); | |||||
| uint8_t u8DS18B20_ReadByte( void ); | |||||
| uint8_t u8DS18B20_ReadBit( void ); | |||||
| /************************************************************************/ | |||||
| /* Timer1 ISR - show values on display */ | |||||
| /************************************************************************/ | |||||
| ISR ( TIMER1_COMPA_vect ) | |||||
| { | |||||
| PORTB = 0; | |||||
| PORTD = 0; | |||||
| _delay_us(2); | |||||
| PORTB = SELECT_DIGIT(g_u8ISRDigitSelect); | |||||
| PORTD = g_au8Symbols[g_au8Digits[g_u8ISRDigitSelect]]; | |||||
| g_u8ISRDigitSelect++; | |||||
| if (g_u8ISRDigitSelect > 2U) | |||||
| { | |||||
| g_u8ISRDigitSelect = 0U; | |||||
| } | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* main() */ | |||||
| /************************************************************************/ | |||||
| int main(void) | |||||
| { | |||||
| uint8_t u8TempLo, u8TempHi; | |||||
| float f32Temperature; | |||||
| /* Init I/O: */ | |||||
| vInit(); | |||||
| /* Set default value: */ | |||||
| vSetDisplayDigits( SYM_DASH, SYM_DASH, SYM_DASH ); | |||||
| /* wait 3 seconds for DS18B20 sensor */ | |||||
| _delay_ms(2400); | |||||
| while (1) | |||||
| { | |||||
| (void) u8DS18B20_Reset(); | |||||
| vDS18B20_WriteByte( DS18B20_CMD_SKIPROM ); | |||||
| vDS18B20_WriteByte( DS18B20_CMD_CONVERTTEMP ); | |||||
| while ( !u8DS18B20_ReadBit() ); | |||||
| (void) u8DS18B20_Reset(); | |||||
| vDS18B20_WriteByte( DS18B20_CMD_SKIPROM ); | |||||
| vDS18B20_WriteByte( DS18B20_CMD_RSCRATCHPAD ); | |||||
| u8TempLo = u8DS18B20_ReadByte(); | |||||
| u8TempHi = u8DS18B20_ReadByte(); | |||||
| f32Temperature = ((u8TempHi << 8) + u8TempLo) * 0.0625; | |||||
| vSetValue( (uint8_t) f32Temperature, SYM_DEG_CELCIUS ); | |||||
| _delay_ms(500); | |||||
| } //end while(1) | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Initialize inputs and outputs */ | |||||
| /************************************************************************/ | |||||
| void vInit( void ) | |||||
| { | |||||
| /* Port D - Pins 0-7: Outputs */ | |||||
| DDRD = 0b11111111U; | |||||
| /* Port B - Pins 0-2: Outputs */ | |||||
| DDRB = 0b00000111U; | |||||
| /* 16-bit TIMER1 in CTC mode | |||||
| * prescaler = 8 | |||||
| * 20 MHz / 8 = 2.5 MHz | |||||
| * Compare value = 2500 => 1 ms IRQ | |||||
| */ | |||||
| TCCR1A = 0U; | |||||
| TCCR1B = (1<<WGM12) | (1<<CS11); | |||||
| OCR1A = 2500U; | |||||
| TIMSK1 |= (1<<OCIE1A); | |||||
| sei(); | |||||
| return; //void | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Set new values to be shown on display */ | |||||
| /************************************************************************/ | |||||
| void vSetValue( uint8_t u8Value, uint8_t u8Unit ) | |||||
| { | |||||
| uint8_t u8Tmp = u8Value / 10U; | |||||
| vSetDisplayDigits(u8Tmp, u8Value - (u8Tmp * 10U), u8Unit); | |||||
| return; //void | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Set display digits individually */ | |||||
| /************************************************************************/ | |||||
| void vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit ) | |||||
| { | |||||
| g_au8Digits[DIGIT_TENS] = u8Tens; | |||||
| g_au8Digits[DIGIT_ONES] = u8Ones; | |||||
| g_au8Digits[DIGIT_UNIT] = u8Unit; | |||||
| return; //void | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Reset DS18B20 (960 us) */ | |||||
| /************************************************************************/ | |||||
| uint8_t u8DS18B20_Reset( void ) | |||||
| { | |||||
| uint8_t u8Status; | |||||
| //low for 480 us | |||||
| DS18B20_PORT &= ~ (1<<DS18B20_DQ); //low | |||||
| DS18B20_DDR |= (1<<DS18B20_DQ); //output | |||||
| _delay_us(480); | |||||
| //release line and wait for 60 us | |||||
| DS18B20_DDR &= ~(1<<DS18B20_DQ); //input | |||||
| _delay_us(60); | |||||
| //get value and wait 420 us | |||||
| u8Status = (DS18B20_PIN & (1<<DS18B20_DQ)); | |||||
| _delay_us(420); | |||||
| //return the read value: 0=okay, 1=error | |||||
| return u8Status; | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Write byte to DS18B20 (8 * 61 us = 488 us) */ | |||||
| /************************************************************************/ | |||||
| void vDS18B20_WriteByte( uint8_t u8Byte ) | |||||
| { | |||||
| uint8_t u8Bits = 8U; | |||||
| while ( u8Bits-- ) | |||||
| { | |||||
| vDS18B20_WriteBit( u8Byte & 1U ); | |||||
| u8Byte >>= 1U; | |||||
| } | |||||
| return; //void | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Write single bit to DS18B20 (61 us) */ | |||||
| /************************************************************************/ | |||||
| void vDS18B20_WriteBit( uint8_t u8Bit ) | |||||
| { | |||||
| //low for 1 us | |||||
| DS18B20_PORT &= ~ (1U<<DS18B20_DQ); //low | |||||
| DS18B20_DDR |= (1U<<DS18B20_DQ); //output | |||||
| _delay_us(1); | |||||
| //if we want to write 1, release the line (if not will keep low) | |||||
| if (1U == u8Bit ) | |||||
| { | |||||
| DS18B20_DDR &= ~(1<<DS18B20_DQ); //input | |||||
| } | |||||
| //wait 60 us and release the line | |||||
| _delay_us(60); | |||||
| DS18B20_DDR &= ~(1<<DS18B20_DQ); //input | |||||
| return; //void | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Read byte from DS18B20 (8 * 60 us = 480 us) */ | |||||
| /************************************************************************/ | |||||
| uint8_t u8DS18B20_ReadByte( void ) | |||||
| { | |||||
| uint8_t u8Bits = 8U; | |||||
| uint8_t n = 0U; | |||||
| while ( u8Bits-- ) | |||||
| { | |||||
| n >>= 1U; | |||||
| n |= (u8DS18B20_ReadBit()<<7U); | |||||
| } | |||||
| return n; | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Read single bit from DS18B20 (60 us) */ | |||||
| /************************************************************************/ | |||||
| uint8_t u8DS18B20_ReadBit( void ) | |||||
| { | |||||
| uint8_t u8Bit = 0U; | |||||
| //low for 1 us | |||||
| DS18B20_PORT &= ~ (1U<<DS18B20_DQ); //low | |||||
| DS18B20_DDR |= (1U<<DS18B20_DQ); //output | |||||
| _delay_us(1); | |||||
| //release line and wait for 14 us | |||||
| DS18B20_DDR &= ~(1U<<DS18B20_DQ); //input | |||||
| _delay_us(14); | |||||
| //read the value | |||||
| if ( DS18B20_PIN & (1U<<DS18B20_DQ) ) | |||||
| { | |||||
| u8Bit = 1U; | |||||
| } | |||||
| //wait 45 us and return read value | |||||
| _delay_us(45); | |||||
| return u8Bit; | |||||
| } | |||||
| @@ -0,0 +1,129 @@ | |||||
| ################################################################################ | |||||
| # Automatically-generated file. Do not edit! | |||||
| ################################################################################ | |||||
| SHELL := cmd.exe | |||||
| RM := rm -rf | |||||
| USER_OBJS := | |||||
| LIBS := | |||||
| PROJ := | |||||
| O_SRCS := | |||||
| C_SRCS := | |||||
| S_SRCS := | |||||
| S_UPPER_SRCS := | |||||
| OBJ_SRCS := | |||||
| ASM_SRCS := | |||||
| PREPROCESSING_SRCS := | |||||
| OBJS := | |||||
| OBJS_AS_ARGS := | |||||
| C_DEPS := | |||||
| C_DEPS_AS_ARGS := | |||||
| EXECUTABLES := | |||||
| OUTPUT_FILE_PATH := | |||||
| OUTPUT_FILE_PATH_AS_ARGS := | |||||
| AVR_APP_PATH :=$$$AVR_APP_PATH$$$ | |||||
| QUOTE := " | |||||
| ADDITIONAL_DEPENDENCIES:= | |||||
| OUTPUT_FILE_DEP:= | |||||
| LIB_DEP:= | |||||
| LINKER_SCRIPT_DEP:= | |||||
| # Every subdirectory with source files must be described here | |||||
| SUBDIRS := | |||||
| # Add inputs and outputs from these tool invocations to the build variables | |||||
| C_SRCS += \ | |||||
| ../main.c | |||||
| PREPROCESSING_SRCS += | |||||
| ASM_SRCS += | |||||
| OBJS += \ | |||||
| main.o | |||||
| OBJS_AS_ARGS += \ | |||||
| main.o | |||||
| C_DEPS += \ | |||||
| main.d | |||||
| C_DEPS_AS_ARGS += \ | |||||
| main.d | |||||
| OUTPUT_FILE_PATH +=PoolClockHumidity.elf | |||||
| OUTPUT_FILE_PATH_AS_ARGS +=PoolClockHumidity.elf | |||||
| ADDITIONAL_DEPENDENCIES:= | |||||
| OUTPUT_FILE_DEP:= ./makedep.mk | |||||
| LIB_DEP+= | |||||
| LINKER_SCRIPT_DEP+= | |||||
| # AVR32/GNU C Compiler | |||||
| ./%.o: .././%.c | |||||
| @echo Building file: $< | |||||
| @echo Invoking: AVR/GNU C Compiler : 5.4.0 | |||||
| $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega88pa -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\gcc\dev\atmega88pa" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" | |||||
| @echo Finished building: $< | |||||
| # AVR32/GNU Preprocessing Assembler | |||||
| # AVR32/GNU Assembler | |||||
| ifneq ($(MAKECMDGOALS),clean) | |||||
| ifneq ($(strip $(C_DEPS)),) | |||||
| -include $(C_DEPS) | |||||
| endif | |||||
| endif | |||||
| # Add inputs and outputs from these tool invocations to the build variables | |||||
| # All Target | |||||
| all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES) | |||||
| $(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP) $(LINKER_SCRIPT_DEP) | |||||
| @echo Building target: $@ | |||||
| @echo Invoking: AVR/GNU Linker : 5.4.0 | |||||
| $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="PoolClockHumidity.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mmcu=atmega88pa -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\gcc\dev\atmega88pa" | |||||
| @echo Finished building target: $@ | |||||
| "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "PoolClockHumidity.elf" "PoolClockHumidity.hex" | |||||
| "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "PoolClockHumidity.elf" "PoolClockHumidity.eep" || exit 0 | |||||
| "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "PoolClockHumidity.elf" > "PoolClockHumidity.lss" | |||||
| "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "PoolClockHumidity.elf" "PoolClockHumidity.srec" | |||||
| "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-size.exe" "PoolClockHumidity.elf" | |||||
| # Other Targets | |||||
| clean: | |||||
| -$(RM) $(OBJS_AS_ARGS) $(EXECUTABLES) | |||||
| -$(RM) $(C_DEPS_AS_ARGS) | |||||
| rm -rf "PoolClockHumidity.elf" "PoolClockHumidity.a" "PoolClockHumidity.hex" "PoolClockHumidity.lss" "PoolClockHumidity.eep" "PoolClockHumidity.map" "PoolClockHumidity.srec" "PoolClockHumidity.usersignatures" | |||||
| @@ -0,0 +1 @@ | |||||
| :00000001FF | |||||
| @@ -0,0 +1,148 @@ | |||||
| :1000000019C033C032C031C030C02FC02EC02DC087 | |||||
| :100010002CC02BC02AC081C028C027C026C025C044 | |||||
| :1000200024C023C022C021C020C01FC01EC01DC0CC | |||||
| :100030001CC01BC011241FBECFEFD4E0DEBFCDBF5C | |||||
| :1000400011E0A0E0B1E0E0E0F9E002C005900D921F | |||||
| :10005000A432B107D9F721E0A4E2B1E001C01D92BA | |||||
| :10006000AC32B207E1F71DD349C4CACF8FEF8AB9CA | |||||
| :1000700087E084B980E388B93B9843981092800068 | |||||
| :100080008AE08093810084EC99E0909389008093CA | |||||
| :100090008800EFE6F0E080818260808378940895A4 | |||||
| :1000A0009DEC899F912D1124969596959695E0E06B | |||||
| :1000B000F1E09283990F292F220F220F920F891BB3 | |||||
| :1000C000818360830895349906C080912B018F5FEE | |||||
| :1000D00080932B0102C010922B0135990AC08091A8 | |||||
| :1000E0002A018F5F80932A0190912B01933368F04E | |||||
| :1000F00006C010922A0180912B01833368F0109280 | |||||
| :100100002B0181E0809329010895833328F0109218 | |||||
| :100110002A0182E08093290108951F920F920FB661 | |||||
| :100120000F9211242F933F934F935F936F937F937D | |||||
| :100130008F939F93AF93BF93EF93FF9315B81BB823 | |||||
| :100140008DE08A95F1F7000081E090E000902401B5 | |||||
| :1001500002C0880F991F0A94E2F785B9E091240143 | |||||
| :10016000F0E0E050FF4FE081F0E0ED5FFE4F808176 | |||||
| :100170008BB9809124018F5F833018F48093240120 | |||||
| :1001800002C0109224019FDFFF91EF91BF91AF91C8 | |||||
| :100190009F918F917F916F915F914F913F912F919F | |||||
| :1001A0000F900FBE0F901F901895E0E0F1E090E1E6 | |||||
| :1001B0009283918390832FEB35E444E021503040CB | |||||
| :1001C0004040E1F700C00000813021F0823009F4A6 | |||||
| :1001D000E2C0C1C1E0E0F1E022E1228390E191833D | |||||
| :1001E00090835FEB65E474E0515060407040E1F74C | |||||
| :1001F00000C000003CE03283918390838FEBA5E444 | |||||
| :1002000044E08150A0404040E1F700C0000088E099 | |||||
| :100210008283918390835FEB65E474E0515060408A | |||||
| :100220007040E1F700C00000828321839083AFEB30 | |||||
| :1002300045E454E0A15040405040E1F700C00000C8 | |||||
| :100240008283318390836FEB75E4A4E0615070404A | |||||
| :10025000A040E1F700C000008283818390834FEBD0 | |||||
| :1002600055E464E0415050406040E1F700C00000B8 | |||||
| :100270008283818341E040837FEBA5E454E07150A9 | |||||
| :10028000A0405040E1F700C000008283818353E02A | |||||
| :1002900050836FEB75E4A4E061507040A040E1F73B | |||||
| :1002A00000C000008283818380836FEB75E4A4E04B | |||||
| :1002B00061507040A040E1F700C00000828381835C | |||||
| :1002C00080836FEB75E4A4E061507040A040E1F7DB | |||||
| :1002D00000C000008283818350835FEB65E474E09B | |||||
| :1002E000515060407040E1F700C00000828381837C | |||||
| :1002F0004083AFEB45E454E0A15040405040E1F76B | |||||
| :1003000000C000008283818390836FEB75E4A4E0DA | |||||
| :1003100061507040A040E1F700C00000828331834B | |||||
| :1003200090834FEB55E464E0415050406040E1F76A | |||||
| :1003300000C000008283218390837FEBA5E444E02A | |||||
| :100340007150A0404040E1F700C0000082839183DB | |||||
| :1003500090835FEB65E474E0515060407040E1F7DA | |||||
| :1003600000C000003283918390838FEBA5E434E0DA | |||||
| :100370008150A0403040E1F700C00000228391830B | |||||
| :1003800090834FEB55E464E0415050406040E1F70A | |||||
| :1003900000C00000E0C0E0E0F1E022E1228380E163 | |||||
| :1003A000818380837FEB95E4A4E071509040A0406E | |||||
| :1003B000E1F700C000003CE03283818380834FEB93 | |||||
| :1003C00055E464E0415050406040E1F700C0000057 | |||||
| :1003D00098E09283818380837FEBA5E444E07150B1 | |||||
| :1003E000A0404040E1F700C0000092832183808359 | |||||
| :1003F0005FEB65E474E0515060407040E1F700C08D | |||||
| :100400000000928331838083AFEB45E454E0A15038 | |||||
| :1004100040405040E1F700C0000092839183808308 | |||||
| :100420006FEB75E4A4E061507040A040E1F700C0BC | |||||
| :1004300000009283918341E040835FEB65E474E0C8 | |||||
| :10044000515060407040E1F700C0000092839183FA | |||||
| :1004500053E05083AFEB65E474E0A150604070401E | |||||
| :10046000E1F700C00000928391839083AFEB65E4D5 | |||||
| :1004700074E0A15060407040E1F700C0000052837A | |||||
| :1004800091839083AFEB65E474E0A15060407040CD | |||||
| :10049000E1F700C00000428391839083AFEB65E4F5 | |||||
| :1004A00074E0A15060407040E1F700C0000082831A | |||||
| :1004B00091839083AFEB65E474E0A150604070409D | |||||
| :1004C000E1F700C00000828351839083AFEB55E4D5 | |||||
| :1004D00064E0A15050406040E1F700C0000082831A | |||||
| :1004E000418390837FEBA5E444E07150A0404040FD | |||||
| :1004F000E1F700C000008283818390835FEB65E4B5 | |||||
| :1005000074E0515060407040E1F700C00000828309 | |||||
| :10051000818330839FEBA5E434E09150A0403040CC | |||||
| :10052000E1F700C000008283818320834FEB55E414 | |||||
| :1005300064E0415050406040E1F700C00000828319 | |||||
| :10054000818380837FEB85E494E07150804090400C | |||||
| :10055000E1F700C00000E0E0F1E080E18283818308 | |||||
| :100560008083AFEB25E434E0A15020403040E1F738 | |||||
| :1005700000C0000008950F931F93CF93DF9300D026 | |||||
| :1005800000D01F92CDB7DEB73B9889EC07C036E0AC | |||||
| :100590003A95F1F700C0815009F46EC03399F7CF56 | |||||
| :1005A00086E507C096E09A95F1F700C0815009F4FE | |||||
| :1005B00065C0339BF7CF86E507C0A6E0AA95F1F7A3 | |||||
| :1005C00000C0815009F45CC03399F7CFFE01319629 | |||||
| :1005D00085E0DF011D928A95E9F7AE014A5F5F4F22 | |||||
| :1005E00022C0B6E0BA95F1F700C0915011F44AC0AC | |||||
| :1005F00098E3339BF6CF38EC3A95F1F7220F339915 | |||||
| :1006000008C00BC0A6E0AA95F1F700C0915011F404 | |||||
| :100610003BC09EE23399F6CF2160815049F7219388 | |||||
| :100620004E175F0719F088E020E0E2CFA981B0E023 | |||||
| :10063000EA81F0E06B8170E04C8150E09D012E0F6B | |||||
| :100640003F1F260F371F240F351F33270D8110E062 | |||||
| :1006500020173107D9F4BA2FAA27EA0FFB1FF0930E | |||||
| :100660002801E0932701762F6627460F571F5093E6 | |||||
| :100670002601409325010BC082E009C083E007C03A | |||||
| :1006800084E005C085E003C086E001C087E00F90EC | |||||
| :100690000F900F900F900F90DF91CF911F910F91BE | |||||
| :1006A0000895E4DCE0E0F1E090E1928391839083AF | |||||
| :1006B000AFE4B3EC1197F1F700C0000083E182834F | |||||
| :1006C00091839083BFE70FE412E1B15000401040E6 | |||||
| :1006D000E1F700C000008283818390832FE73FE42D | |||||
| :1006E00042E1215030404040E1F700C000008283E9 | |||||
| :1006F000818380838FE79FE4A2E181509040A040F6 | |||||
| :10070000E1F700C0000035E080E123E1D9E1C7E076 | |||||
| :10071000BAE196E1ABE17CE16DE15EE182832183A8 | |||||
| :10072000D0830FEB15E444E0015010404040E1F766 | |||||
| :1007300000C0000082838183C0830FEB15E444E096 | |||||
| :10074000015010404040E1F700C0000082838183E7 | |||||
| :10075000B0830FEB15E444E0015010404040E1F756 | |||||
| :1007600000C0000082839183A0830FEB15E444E076 | |||||
| :10077000015010404040E1F700C000009283918397 | |||||
| :1007800090830FEB15E444E0015010404040E1F746 | |||||
| :1007900000C000007283918380830FEB15E444E076 | |||||
| :1007A000015010404040E1F700C0000062838183A7 | |||||
| :1007B00080830FEB15E444E0015010404040E1F726 | |||||
| :1007C00000C000005283818380830FEB15E444E076 | |||||
| :1007D000015010404040E1F700C000000FE10283EB | |||||
| :1007E000218380831FEB45E404E01150404000402A | |||||
| :1007F000E1F700C000002283218320831FEB45E442 | |||||
| :1008000004E0115040400040E1F700C000003150CA | |||||
| :1008100009F084CFE0E0F1E080E18283818380838E | |||||
| :100820001FEF2EE934E2115020403040E1F700C0C4 | |||||
| :100830000000EF010CE010E1809129018130B1F15D | |||||
| :1008400020F0823009F440C0F9CF339B25C03B9A99 | |||||
| :1008500043984FE788E391E0415080409040E1F7B2 | |||||
| :1008600000C0000088DE811110C020912701309166 | |||||
| :100870002801ADECBCEC36D096958795969587957A | |||||
| :10088000969587956FE00CDC03C00A8389831883F3 | |||||
| :10089000809129018111D0CFAFE7B4E82EE1A150BA | |||||
| :1008A000B0402040E1F700C00000C6CF81E07DDC11 | |||||
| :1008B000109229013FEF44E38CE0315040408040EA | |||||
| :1008C000E1F700C00000B8CF82E06FDC1092290190 | |||||
| :1008D0009FEFA4E3BCE09150A040B040E1F700C01E | |||||
| :1008E0000000AACFA29FB001B39FC001A39F01D077 | |||||
| :1008F000B29F700D811D1124911D0895F894FFCFB2 | |||||
| :10090000101010FC24BAAE66CEDEA4FEEE161EDA7F | |||||
| :1009100012ADF3000250802004081040A02C0C18E7 | |||||
| :0409200058D0C000EB | |||||
| :00000001FF | |||||
| @@ -0,0 +1,514 @@ | |||||
| Archive member included to satisfy reference by file (symbol) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o (exit) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| main.o (__do_copy_data) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| main.o (__do_clear_bss) | |||||
| c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_umulhisi3.o) | |||||
| main.o (__umulhisi3) | |||||
| Discarded input sections | |||||
| .data 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .bss 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .text 0x00000000 0x0 main.o | |||||
| .data 0x00000000 0x0 main.o | |||||
| .bss 0x00000000 0x0 main.o | |||||
| .text.s_vSetDisplayDigits | |||||
| 0x00000000 0xc main.o | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc.mul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc.div | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc.prologue | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc.builtins | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc.fmul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text.libgcc.fixed | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc.mul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc.div | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc.prologue | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc.builtins | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc.fmul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text.libgcc.fixed | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc.mul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc.div | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc.prologue | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc.builtins | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc.fmul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text.libgcc.fixed | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_umulhisi3.o) | |||||
| .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_umulhisi3.o) | |||||
| .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_umulhisi3.o) | |||||
| .text.libgcc.div | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_umulhisi3.o) | |||||
| .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_umulhisi3.o) | |||||
| .text.libgcc.prologue | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_umulhisi3.o) | |||||
| .text.libgcc.builtins | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_umulhisi3.o) | |||||
| .text.libgcc.fmul | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_umulhisi3.o) | |||||
| .text.libgcc.fixed | |||||
| 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_umulhisi3.o) | |||||
| Memory Configuration | |||||
| Name Origin Length Attributes | |||||
| text 0x00000000 0x00002000 xr | |||||
| data 0x00800060 0x0000ffa0 rw !x | |||||
| eeprom 0x00810000 0x00010000 rw !x | |||||
| fuse 0x00820000 0x00000003 rw !x | |||||
| lock 0x00830000 0x00000400 rw !x | |||||
| signature 0x00840000 0x00000400 rw !x | |||||
| user_signatures 0x00850000 0x00000400 rw !x | |||||
| *default* 0x00000000 0xffffffff | |||||
| Linker script and memory map | |||||
| Address of section .data set to 0x800100 | |||||
| LOAD C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| LOAD main.o | |||||
| START GROUP | |||||
| LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a | |||||
| END GROUP | |||||
| START GROUP | |||||
| LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a | |||||
| LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libm.a | |||||
| LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr4\libc.a | |||||
| LOAD C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4\libatmega88pa.a | |||||
| END GROUP | |||||
| 0x00002000 __TEXT_REGION_LENGTH__ = DEFINED (__TEXT_REGION_LENGTH__)?__TEXT_REGION_LENGTH__:0x2000 | |||||
| 0x0000ffa0 __DATA_REGION_LENGTH__ = DEFINED (__DATA_REGION_LENGTH__)?__DATA_REGION_LENGTH__:0xffa0 | |||||
| 0x00010000 __EEPROM_REGION_LENGTH__ = DEFINED (__EEPROM_REGION_LENGTH__)?__EEPROM_REGION_LENGTH__:0x10000 | |||||
| [0x00000003] __FUSE_REGION_LENGTH__ = DEFINED (__FUSE_REGION_LENGTH__)?__FUSE_REGION_LENGTH__:0x400 | |||||
| 0x00000400 __LOCK_REGION_LENGTH__ = DEFINED (__LOCK_REGION_LENGTH__)?__LOCK_REGION_LENGTH__:0x400 | |||||
| 0x00000400 __SIGNATURE_REGION_LENGTH__ = DEFINED (__SIGNATURE_REGION_LENGTH__)?__SIGNATURE_REGION_LENGTH__:0x400 | |||||
| 0x00000400 __USER_SIGNATURE_REGION_LENGTH__ = DEFINED (__USER_SIGNATURE_REGION_LENGTH__)?__USER_SIGNATURE_REGION_LENGTH__:0x400 | |||||
| .hash | |||||
| *(.hash) | |||||
| .dynsym | |||||
| *(.dynsym) | |||||
| .dynstr | |||||
| *(.dynstr) | |||||
| .gnu.version | |||||
| *(.gnu.version) | |||||
| .gnu.version_d | |||||
| *(.gnu.version_d) | |||||
| .gnu.version_r | |||||
| *(.gnu.version_r) | |||||
| .rel.init | |||||
| *(.rel.init) | |||||
| .rela.init | |||||
| *(.rela.init) | |||||
| .rel.text | |||||
| *(.rel.text) | |||||
| *(.rel.text.*) | |||||
| *(.rel.gnu.linkonce.t*) | |||||
| .rela.text | |||||
| *(.rela.text) | |||||
| *(.rela.text.*) | |||||
| *(.rela.gnu.linkonce.t*) | |||||
| .rel.fini | |||||
| *(.rel.fini) | |||||
| .rela.fini | |||||
| *(.rela.fini) | |||||
| .rel.rodata | |||||
| *(.rel.rodata) | |||||
| *(.rel.rodata.*) | |||||
| *(.rel.gnu.linkonce.r*) | |||||
| .rela.rodata | |||||
| *(.rela.rodata) | |||||
| *(.rela.rodata.*) | |||||
| *(.rela.gnu.linkonce.r*) | |||||
| .rel.data | |||||
| *(.rel.data) | |||||
| *(.rel.data.*) | |||||
| *(.rel.gnu.linkonce.d*) | |||||
| .rela.data | |||||
| *(.rela.data) | |||||
| *(.rela.data.*) | |||||
| *(.rela.gnu.linkonce.d*) | |||||
| .rel.ctors | |||||
| *(.rel.ctors) | |||||
| .rela.ctors | |||||
| *(.rela.ctors) | |||||
| .rel.dtors | |||||
| *(.rel.dtors) | |||||
| .rela.dtors | |||||
| *(.rela.dtors) | |||||
| .rel.got | |||||
| *(.rel.got) | |||||
| .rela.got | |||||
| *(.rela.got) | |||||
| .rel.bss | |||||
| *(.rel.bss) | |||||
| .rela.bss | |||||
| *(.rela.bss) | |||||
| .rel.plt | |||||
| *(.rel.plt) | |||||
| .rela.plt | |||||
| *(.rela.plt) | |||||
| .text 0x00000000 0x900 | |||||
| *(.vectors) | |||||
| .vectors 0x00000000 0x34 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| 0x00000000 __vector_default | |||||
| 0x00000000 __vectors | |||||
| *(.vectors) | |||||
| *(.progmem.gcc*) | |||||
| 0x00000034 . = ALIGN (0x2) | |||||
| 0x00000034 __trampolines_start = . | |||||
| *(.trampolines) | |||||
| .trampolines 0x00000034 0x0 linker stubs | |||||
| *(.trampolines*) | |||||
| 0x00000034 __trampolines_end = . | |||||
| *libprintf_flt.a:*(.progmem.data) | |||||
| *libc.a:*(.progmem.data) | |||||
| *(.progmem*) | |||||
| 0x00000034 . = ALIGN (0x2) | |||||
| *(.jumptables) | |||||
| *(.jumptables*) | |||||
| *(.lowtext) | |||||
| *(.lowtext*) | |||||
| 0x00000034 __ctors_start = . | |||||
| *(.ctors) | |||||
| 0x00000034 __ctors_end = . | |||||
| 0x00000034 __dtors_start = . | |||||
| *(.dtors) | |||||
| 0x00000034 __dtors_end = . | |||||
| SORT(*)(.ctors) | |||||
| SORT(*)(.dtors) | |||||
| *(.init0) | |||||
| .init0 0x00000034 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| 0x00000034 __init | |||||
| *(.init0) | |||||
| *(.init1) | |||||
| *(.init1) | |||||
| *(.init2) | |||||
| .init2 0x00000034 0xc C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| *(.init2) | |||||
| *(.init3) | |||||
| *(.init3) | |||||
| *(.init4) | |||||
| .init4 0x00000040 0x16 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_copy_data.o) | |||||
| 0x00000040 __do_copy_data | |||||
| .init4 0x00000056 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_clear_bss.o) | |||||
| 0x00000056 __do_clear_bss | |||||
| *(.init4) | |||||
| *(.init5) | |||||
| *(.init5) | |||||
| *(.init6) | |||||
| *(.init6) | |||||
| *(.init7) | |||||
| *(.init7) | |||||
| *(.init8) | |||||
| *(.init8) | |||||
| *(.init9) | |||||
| .init9 0x00000066 0x4 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| *(.init9) | |||||
| *(.text) | |||||
| .text 0x0000006a 0x2 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| 0x0000006a __vector_22 | |||||
| 0x0000006a __vector_1 | |||||
| 0x0000006a __vector_24 | |||||
| 0x0000006a __vector_12 | |||||
| 0x0000006a __bad_interrupt | |||||
| 0x0000006a __vector_6 | |||||
| 0x0000006a __vector_3 | |||||
| 0x0000006a __vector_23 | |||||
| 0x0000006a __vector_25 | |||||
| 0x0000006a __vector_13 | |||||
| 0x0000006a __vector_17 | |||||
| 0x0000006a __vector_19 | |||||
| 0x0000006a __vector_7 | |||||
| 0x0000006a __vector_5 | |||||
| 0x0000006a __vector_4 | |||||
| 0x0000006a __vector_9 | |||||
| 0x0000006a __vector_2 | |||||
| 0x0000006a __vector_21 | |||||
| 0x0000006a __vector_15 | |||||
| 0x0000006a __vector_8 | |||||
| 0x0000006a __vector_14 | |||||
| 0x0000006a __vector_10 | |||||
| 0x0000006a __vector_16 | |||||
| 0x0000006a __vector_18 | |||||
| 0x0000006a __vector_20 | |||||
| 0x0000006c . = ALIGN (0x2) | |||||
| *(.text.*) | |||||
| .text.s_vInit 0x0000006c 0x34 main.o | |||||
| 0x0000006c s_vInit | |||||
| .text.s_vSetValue | |||||
| 0x000000a0 0x26 main.o | |||||
| 0x000000a0 s_vSetValue | |||||
| .text.s_vReadButtons | |||||
| 0x000000c6 0x54 main.o | |||||
| 0x000000c6 s_vReadButtons | |||||
| .text.__vector_11 | |||||
| 0x0000011a 0x90 main.o | |||||
| 0x0000011a __vector_11 | |||||
| .text.s_vShowAnim | |||||
| 0x000001aa 0x3cc main.o | |||||
| 0x000001aa s_vShowAnim | |||||
| .text.s_u8ReadSensor | |||||
| 0x00000576 0x12c main.o | |||||
| 0x00000576 s_u8ReadSensor | |||||
| .text.main 0x000006a2 0x242 main.o | |||||
| 0x000006a2 main | |||||
| .text.libgcc.mul | |||||
| 0x000008e4 0x18 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_umulhisi3.o) | |||||
| 0x000008e4 __umulhisi3 | |||||
| 0x000008fc . = ALIGN (0x2) | |||||
| *(.fini9) | |||||
| .fini9 0x000008fc 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| 0x000008fc _exit | |||||
| 0x000008fc exit | |||||
| *(.fini9) | |||||
| *(.fini8) | |||||
| *(.fini8) | |||||
| *(.fini7) | |||||
| *(.fini7) | |||||
| *(.fini6) | |||||
| *(.fini6) | |||||
| *(.fini5) | |||||
| *(.fini5) | |||||
| *(.fini4) | |||||
| *(.fini4) | |||||
| *(.fini3) | |||||
| *(.fini3) | |||||
| *(.fini2) | |||||
| *(.fini2) | |||||
| *(.fini1) | |||||
| *(.fini1) | |||||
| *(.fini0) | |||||
| .fini0 0x000008fc 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr4\libgcc.a(_exit.o) | |||||
| *(.fini0) | |||||
| 0x00000900 _etext = . | |||||
| .data 0x00800100 0x24 load address 0x00000900 | |||||
| 0x00800100 PROVIDE (__data_start, .) | |||||
| *(.data) | |||||
| *(.data*) | |||||
| .data.g_au8Digits | |||||
| 0x00800100 0x3 main.o | |||||
| 0x00800100 g_au8Digits | |||||
| *(.rodata) | |||||
| *(.rodata*) | |||||
| .rodata.g_au8Symbols | |||||
| 0x00800103 0x20 main.o | |||||
| *(.gnu.linkonce.d*) | |||||
| 0x00800124 . = ALIGN (0x2) | |||||
| *fill* 0x00800123 0x1 | |||||
| 0x00800124 _edata = . | |||||
| 0x00800124 PROVIDE (__data_end, .) | |||||
| .bss 0x00800124 0x8 | |||||
| 0x00800124 PROVIDE (__bss_start, .) | |||||
| *(.bss) | |||||
| *(.bss*) | |||||
| .bss.g_u8ISRDigitSelect | |||||
| 0x00800124 0x1 main.o | |||||
| 0x00800124 g_u8ISRDigitSelect | |||||
| .bss.g_u16Temperature | |||||
| 0x00800125 0x2 main.o | |||||
| 0x00800125 g_u16Temperature | |||||
| .bss.g_u16Humidity | |||||
| 0x00800127 0x2 main.o | |||||
| 0x00800127 g_u16Humidity | |||||
| .bss.g_u8Mode 0x00800129 0x1 main.o | |||||
| .bss.g_u8ButtonCountBot | |||||
| 0x0080012a 0x1 main.o | |||||
| .bss.g_u8ButtonCountTop | |||||
| 0x0080012b 0x1 main.o | |||||
| *(COMMON) | |||||
| 0x0080012c PROVIDE (__bss_end, .) | |||||
| 0x00000900 __data_load_start = LOADADDR (.data) | |||||
| 0x00000924 __data_load_end = (__data_load_start + SIZEOF (.data)) | |||||
| .noinit 0x0080012c 0x0 | |||||
| [!provide] PROVIDE (__noinit_start, .) | |||||
| *(.noinit*) | |||||
| [!provide] PROVIDE (__noinit_end, .) | |||||
| 0x0080012c _end = . | |||||
| [!provide] PROVIDE (__heap_start, .) | |||||
| .eeprom 0x00810000 0x0 | |||||
| *(.eeprom*) | |||||
| 0x00810000 __eeprom_end = . | |||||
| .fuse | |||||
| *(.fuse) | |||||
| *(.lfuse) | |||||
| *(.hfuse) | |||||
| *(.efuse) | |||||
| .lock | |||||
| *(.lock*) | |||||
| .signature | |||||
| *(.signature*) | |||||
| .user_signatures | |||||
| *(.user_signatures*) | |||||
| .stab | |||||
| *(.stab) | |||||
| .stabstr | |||||
| *(.stabstr) | |||||
| .stab.excl | |||||
| *(.stab.excl) | |||||
| .stab.exclstr | |||||
| *(.stab.exclstr) | |||||
| .stab.index | |||||
| *(.stab.index) | |||||
| .stab.indexstr | |||||
| *(.stab.indexstr) | |||||
| .comment 0x00000000 0x30 | |||||
| *(.comment) | |||||
| .comment 0x00000000 0x30 main.o | |||||
| 0x31 (size before relaxing) | |||||
| .note.gnu.avr.deviceinfo | |||||
| 0x00000000 0x40 | |||||
| .note.gnu.avr.deviceinfo | |||||
| 0x00000000 0x40 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .note.gnu.build-id | |||||
| *(.note.gnu.build-id) | |||||
| .debug | |||||
| *(.debug) | |||||
| .line | |||||
| *(.line) | |||||
| .debug_srcinfo | |||||
| *(.debug_srcinfo) | |||||
| .debug_sfnames | |||||
| *(.debug_sfnames) | |||||
| .debug_aranges 0x00000000 0x58 | |||||
| *(.debug_aranges) | |||||
| .debug_aranges | |||||
| 0x00000000 0x58 main.o | |||||
| .debug_pubnames | |||||
| *(.debug_pubnames) | |||||
| .debug_info 0x00000000 0x228b | |||||
| *(.debug_info .gnu.linkonce.wi.*) | |||||
| .debug_info 0x00000000 0x5f4 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .debug_info 0x000005f4 0x1c97 main.o | |||||
| .debug_abbrev 0x00000000 0x838 | |||||
| *(.debug_abbrev) | |||||
| .debug_abbrev 0x00000000 0x5a2 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .debug_abbrev 0x000005a2 0x296 main.o | |||||
| .debug_line 0x00000000 0xba4 | |||||
| *(.debug_line .debug_line.* .debug_line_end) | |||||
| .debug_line 0x00000000 0x133 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .debug_line 0x00000133 0xa71 main.o | |||||
| .debug_frame 0x00000000 0xf8 | |||||
| *(.debug_frame) | |||||
| .debug_frame 0x00000000 0xf8 main.o | |||||
| .debug_str 0x00000000 0x4ef | |||||
| *(.debug_str) | |||||
| .debug_str 0x00000000 0x208 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/atmega88pa/avr4/crtatmega88pa.o | |||||
| .debug_str 0x00000208 0x2e7 main.o | |||||
| 0x31b (size before relaxing) | |||||
| .debug_loc 0x00000000 0x1e2d | |||||
| *(.debug_loc) | |||||
| .debug_loc 0x00000000 0x1e2d main.o | |||||
| .debug_macinfo | |||||
| *(.debug_macinfo) | |||||
| .debug_weaknames | |||||
| *(.debug_weaknames) | |||||
| .debug_funcnames | |||||
| *(.debug_funcnames) | |||||
| .debug_typenames | |||||
| *(.debug_typenames) | |||||
| .debug_varnames | |||||
| *(.debug_varnames) | |||||
| .debug_pubtypes | |||||
| *(.debug_pubtypes) | |||||
| .debug_ranges 0x00000000 0x168 | |||||
| *(.debug_ranges) | |||||
| .debug_ranges 0x00000000 0x168 main.o | |||||
| .debug_macro | |||||
| *(.debug_macro) | |||||
| OUTPUT(PoolClockHumidity.elf elf32-avr) | |||||
| LOAD linker stubs | |||||
| @@ -0,0 +1,149 @@ | |||||
| S0190000506F6F6C436C6F636B48756D69646974792E7372656338 | |||||
| S113000019C033C032C031C030C02FC02EC02DC083 | |||||
| S11300102CC02BC02AC081C028C027C026C025C040 | |||||
| S113002024C023C022C021C020C01FC01EC01DC0C8 | |||||
| S11300301CC01BC011241FBECFEFD4E0DEBFCDBF58 | |||||
| S113004011E0A0E0B1E0E0E0F9E002C005900D921B | |||||
| S1130050A432B107D9F721E0A4E2B1E001C01D92B6 | |||||
| S1130060AC32B207E1F71DD349C4CACF8FEF8AB9C6 | |||||
| S113007087E084B980E388B93B9843981092800064 | |||||
| S11300808AE08093810084EC99E0909389008093C6 | |||||
| S11300908800EFE6F0E080818260808378940895A0 | |||||
| S11300A09DEC899F912D1124969596959695E0E067 | |||||
| S11300B0F1E09283990F292F220F220F920F891BAF | |||||
| S11300C0818360830895349906C080912B018F5FEA | |||||
| S11300D080932B0102C010922B0135990AC08091A4 | |||||
| S11300E02A018F5F80932A0190912B01933368F04A | |||||
| S11300F006C010922A0180912B01833368F010927C | |||||
| S11301002B0181E0809329010895833328F0109214 | |||||
| S11301102A0182E08093290108951F920F920FB65D | |||||
| S11301200F9211242F933F934F935F936F937F9379 | |||||
| S11301308F939F93AF93BF93EF93FF9315B81BB81F | |||||
| S11301408DE08A95F1F7000081E090E000902401B1 | |||||
| S113015002C0880F991F0A94E2F785B9E09124013F | |||||
| S1130160F0E0E050FF4FE081F0E0ED5FFE4F808172 | |||||
| S11301708BB9809124018F5F833018F4809324011C | |||||
| S113018002C0109224019FDFFF91EF91BF91AF91C4 | |||||
| S11301909F918F917F916F915F914F913F912F919B | |||||
| S11301A00F900FBE0F901F901895E0E0F1E090E1E2 | |||||
| S11301B09283918390832FEB35E444E021503040C7 | |||||
| S11301C04040E1F700C00000813021F0823009F4A2 | |||||
| S11301D0E2C0C1C1E0E0F1E022E1228390E1918339 | |||||
| S11301E090835FEB65E474E0515060407040E1F748 | |||||
| S11301F000C000003CE03283918390838FEBA5E440 | |||||
| S113020044E08150A0404040E1F700C0000088E095 | |||||
| S11302108283918390835FEB65E474E05150604086 | |||||
| S11302207040E1F700C00000828321839083AFEB2C | |||||
| S113023045E454E0A15040405040E1F700C00000C4 | |||||
| S11302408283318390836FEB75E4A4E06150704046 | |||||
| S1130250A040E1F700C000008283818390834FEBCC | |||||
| S113026055E464E0415050406040E1F700C00000B4 | |||||
| S11302708283818341E040837FEBA5E454E07150A5 | |||||
| S1130280A0405040E1F700C000008283818353E026 | |||||
| S113029050836FEB75E4A4E061507040A040E1F737 | |||||
| S11302A000C000008283818380836FEB75E4A4E047 | |||||
| S11302B061507040A040E1F700C000008283818358 | |||||
| S11302C080836FEB75E4A4E061507040A040E1F7D7 | |||||
| S11302D000C000008283818350835FEB65E474E097 | |||||
| S11302E0515060407040E1F700C000008283818378 | |||||
| S11302F04083AFEB45E454E0A15040405040E1F767 | |||||
| S113030000C000008283818390836FEB75E4A4E0D6 | |||||
| S113031061507040A040E1F700C000008283318347 | |||||
| S113032090834FEB55E464E0415050406040E1F766 | |||||
| S113033000C000008283218390837FEBA5E444E026 | |||||
| S11303407150A0404040E1F700C0000082839183D7 | |||||
| S113035090835FEB65E474E0515060407040E1F7D6 | |||||
| S113036000C000003283918390838FEBA5E434E0D6 | |||||
| S11303708150A0403040E1F700C000002283918307 | |||||
| S113038090834FEB55E464E0415050406040E1F706 | |||||
| S113039000C00000E0C0E0E0F1E022E1228380E15F | |||||
| S11303A0818380837FEB95E4A4E071509040A0406A | |||||
| S11303B0E1F700C000003CE03283818380834FEB8F | |||||
| S11303C055E464E0415050406040E1F700C0000053 | |||||
| S11303D098E09283818380837FEBA5E444E07150AD | |||||
| S11303E0A0404040E1F700C0000092832183808355 | |||||
| S11303F05FEB65E474E0515060407040E1F700C089 | |||||
| S11304000000928331838083AFEB45E454E0A15034 | |||||
| S113041040405040E1F700C0000092839183808304 | |||||
| S11304206FEB75E4A4E061507040A040E1F700C0B8 | |||||
| S113043000009283918341E040835FEB65E474E0C4 | |||||
| S1130440515060407040E1F700C0000092839183F6 | |||||
| S113045053E05083AFEB65E474E0A150604070401A | |||||
| S1130460E1F700C00000928391839083AFEB65E4D1 | |||||
| S113047074E0A15060407040E1F700C00000528376 | |||||
| S113048091839083AFEB65E474E0A15060407040C9 | |||||
| S1130490E1F700C00000428391839083AFEB65E4F1 | |||||
| S11304A074E0A15060407040E1F700C00000828316 | |||||
| S11304B091839083AFEB65E474E0A1506040704099 | |||||
| S11304C0E1F700C00000828351839083AFEB55E4D1 | |||||
| S11304D064E0A15050406040E1F700C00000828316 | |||||
| S11304E0418390837FEBA5E444E07150A0404040F9 | |||||
| S11304F0E1F700C000008283818390835FEB65E4B1 | |||||
| S113050074E0515060407040E1F700C00000828305 | |||||
| S1130510818330839FEBA5E434E09150A0403040C8 | |||||
| S1130520E1F700C000008283818320834FEB55E410 | |||||
| S113053064E0415050406040E1F700C00000828315 | |||||
| S1130540818380837FEB85E494E071508040904008 | |||||
| S1130550E1F700C00000E0E0F1E080E18283818304 | |||||
| S11305608083AFEB25E434E0A15020403040E1F734 | |||||
| S113057000C0000008950F931F93CF93DF9300D022 | |||||
| S113058000D01F92CDB7DEB73B9889EC07C036E0A8 | |||||
| S11305903A95F1F700C0815009F46EC03399F7CF52 | |||||
| S11305A086E507C096E09A95F1F700C0815009F4FA | |||||
| S11305B065C0339BF7CF86E507C0A6E0AA95F1F79F | |||||
| S11305C000C0815009F45CC03399F7CFFE01319625 | |||||
| S11305D085E0DF011D928A95E9F7AE014A5F5F4F1E | |||||
| S11305E022C0B6E0BA95F1F700C0915011F44AC0A8 | |||||
| S11305F098E3339BF6CF38EC3A95F1F7220F339911 | |||||
| S113060008C00BC0A6E0AA95F1F700C0915011F400 | |||||
| S11306103BC09EE23399F6CF2160815049F7219384 | |||||
| S11306204E175F0719F088E020E0E2CFA981B0E01F | |||||
| S1130630EA81F0E06B8170E04C8150E09D012E0F67 | |||||
| S11306403F1F260F371F240F351F33270D8110E05E | |||||
| S113065020173107D9F4BA2FAA27EA0FFB1FF0930A | |||||
| S11306602801E0932701762F6627460F571F5093E2 | |||||
| S11306702601409325010BC082E009C083E007C036 | |||||
| S113068084E005C085E003C086E001C087E00F90E8 | |||||
| S11306900F900F900F900F90DF91CF911F910F91BA | |||||
| S11306A00895E4DCE0E0F1E090E1928391839083AB | |||||
| S11306B0AFE4B3EC1197F1F700C0000083E182834B | |||||
| S11306C091839083BFE70FE412E1B15000401040E2 | |||||
| S11306D0E1F700C000008283818390832FE73FE429 | |||||
| S11306E042E1215030404040E1F700C000008283E5 | |||||
| S11306F0818380838FE79FE4A2E181509040A040F2 | |||||
| S1130700E1F700C0000035E080E123E1D9E1C7E072 | |||||
| S1130710BAE196E1ABE17CE16DE15EE182832183A4 | |||||
| S1130720D0830FEB15E444E0015010404040E1F762 | |||||
| S113073000C0000082838183C0830FEB15E444E092 | |||||
| S1130740015010404040E1F700C0000082838183E3 | |||||
| S1130750B0830FEB15E444E0015010404040E1F752 | |||||
| S113076000C0000082839183A0830FEB15E444E072 | |||||
| S1130770015010404040E1F700C000009283918393 | |||||
| S113078090830FEB15E444E0015010404040E1F742 | |||||
| S113079000C000007283918380830FEB15E444E072 | |||||
| S11307A0015010404040E1F700C0000062838183A3 | |||||
| S11307B080830FEB15E444E0015010404040E1F722 | |||||
| S11307C000C000005283818380830FEB15E444E072 | |||||
| S11307D0015010404040E1F700C000000FE10283E7 | |||||
| S11307E0218380831FEB45E404E011504040004026 | |||||
| S11307F0E1F700C000002283218320831FEB45E43E | |||||
| S113080004E0115040400040E1F700C000003150C6 | |||||
| S113081009F084CFE0E0F1E080E18283818380838A | |||||
| S11308201FEF2EE934E2115020403040E1F700C0C0 | |||||
| S11308300000EF010CE010E1809129018130B1F159 | |||||
| S113084020F0823009F440C0F9CF339B25C03B9A95 | |||||
| S113085043984FE788E391E0415080409040E1F7AE | |||||
| S113086000C0000088DE811110C020912701309162 | |||||
| S11308702801ADECBCEC36D0969587959695879576 | |||||
| S1130880969587956FE00CDC03C00A8389831883EF | |||||
| S1130890809129018111D0CFAFE7B4E82EE1A150B6 | |||||
| S11308A0B0402040E1F700C00000C6CF81E07DDC0D | |||||
| S11308B0109229013FEF44E38CE0315040408040E6 | |||||
| S11308C0E1F700C00000B8CF82E06FDC109229018C | |||||
| S11308D09FEFA4E3BCE09150A040B040E1F700C01A | |||||
| S11308E00000AACFA29FB001B39FC001A39F01D073 | |||||
| S11308F0B29F700D811D1124911D0895F894FFCFAE | |||||
| S1130900101010FC24BAAE66CEDEA4FEEE161EDA7B | |||||
| S113091012ADF3000250802004081040A02C0C18E3 | |||||
| S107092058D0C000E7 | |||||
| S9030000FC | |||||
| @@ -0,0 +1,49 @@ | |||||
| main.d main.o: .././main.c \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdbool.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ | |||||
| C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\include/avr/iom88pa.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h \ | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdbool.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: | |||||
| C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\include/avr/iom88pa.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h: | |||||
| c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h: | |||||
| @@ -0,0 +1,6 @@ | |||||
| ################################################################################ | |||||
| # Automatically-generated file. Do not edit or delete the file | |||||
| ################################################################################ | |||||
| main.c | |||||
| @@ -0,0 +1,86 @@ | |||||
| <?xml version="1.0" encoding="utf-8"?> | |||||
| <Store xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="AtmelPackComponentManagement"> | |||||
| <ProjectComponents> | |||||
| <ProjectComponent z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/"> | |||||
| <CApiVersion></CApiVersion> | |||||
| <CBundle></CBundle> | |||||
| <CClass>Device</CClass> | |||||
| <CGroup>Startup</CGroup> | |||||
| <CSub></CSub> | |||||
| <CVariant></CVariant> | |||||
| <CVendor>Atmel</CVendor> | |||||
| <CVersion>1.2.0</CVersion> | |||||
| <DefaultRepoPath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs</DefaultRepoPath> | |||||
| <DependentComponents xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" /> | |||||
| <Description></Description> | |||||
| <Files xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> | |||||
| <d4p1:anyType i:type="FileInfo"> | |||||
| <AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\include</AbsolutePath> | |||||
| <Attribute></Attribute> | |||||
| <Category>include</Category> | |||||
| <Condition>C</Condition> | |||||
| <FileContentHash i:nil="true" /> | |||||
| <FileVersion></FileVersion> | |||||
| <Name>include</Name> | |||||
| <SelectString></SelectString> | |||||
| <SourcePath></SourcePath> | |||||
| </d4p1:anyType> | |||||
| <d4p1:anyType i:type="FileInfo"> | |||||
| <AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\include\avr\iom88pa.h</AbsolutePath> | |||||
| <Attribute></Attribute> | |||||
| <Category>header</Category> | |||||
| <Condition>C</Condition> | |||||
| <FileContentHash>PWoJcvZZTeGBgzC7OP4j4w==</FileContentHash> | |||||
| <FileVersion></FileVersion> | |||||
| <Name>include/avr/iom88pa.h</Name> | |||||
| <SelectString></SelectString> | |||||
| <SourcePath></SourcePath> | |||||
| </d4p1:anyType> | |||||
| <d4p1:anyType i:type="FileInfo"> | |||||
| <AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\templates\main.c</AbsolutePath> | |||||
| <Attribute>template</Attribute> | |||||
| <Category>source</Category> | |||||
| <Condition>C Exe</Condition> | |||||
| <FileContentHash>kmH2PIOziCxLiJPtoFZn0Q==</FileContentHash> | |||||
| <FileVersion></FileVersion> | |||||
| <Name>templates/main.c</Name> | |||||
| <SelectString>Main file (.c)</SelectString> | |||||
| <SourcePath></SourcePath> | |||||
| </d4p1:anyType> | |||||
| <d4p1:anyType i:type="FileInfo"> | |||||
| <AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\templates\main.cpp</AbsolutePath> | |||||
| <Attribute>template</Attribute> | |||||
| <Category>source</Category> | |||||
| <Condition>C Exe</Condition> | |||||
| <FileContentHash>YXFphlh0CtZJU+ebktABgQ==</FileContentHash> | |||||
| <FileVersion></FileVersion> | |||||
| <Name>templates/main.cpp</Name> | |||||
| <SelectString>Main file (.cpp)</SelectString> | |||||
| <SourcePath></SourcePath> | |||||
| </d4p1:anyType> | |||||
| <d4p1:anyType i:type="FileInfo"> | |||||
| <AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\gcc\dev\atmega88pa</AbsolutePath> | |||||
| <Attribute></Attribute> | |||||
| <Category>libraryPrefix</Category> | |||||
| <Condition>GCC</Condition> | |||||
| <FileContentHash i:nil="true" /> | |||||
| <FileVersion></FileVersion> | |||||
| <Name>gcc/dev/atmega88pa</Name> | |||||
| <SelectString></SelectString> | |||||
| <SourcePath></SourcePath> | |||||
| </d4p1:anyType> | |||||
| </Files> | |||||
| <PackName>ATmega_DFP</PackName> | |||||
| <PackPath>C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/Atmel.ATmega_DFP.pdsc</PackPath> | |||||
| <PackVersion>1.2.132</PackVersion> | |||||
| <PresentInProject>true</PresentInProject> | |||||
| <ReferenceConditionId>ATmega88PA</ReferenceConditionId> | |||||
| <RteComponents xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> | |||||
| <d4p1:string></d4p1:string> | |||||
| </RteComponents> | |||||
| <Status>Resolved</Status> | |||||
| <VersionMode>Fixed</VersionMode> | |||||
| <IsComponentInAtProject>true</IsComponentInAtProject> | |||||
| </ProjectComponent> | |||||
| </ProjectComponents> | |||||
| </Store> | |||||
| @@ -0,0 +1,126 @@ | |||||
| <?xml version="1.0" encoding="utf-8"?> | |||||
| <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="14.0"> | |||||
| <PropertyGroup> | |||||
| <SchemaVersion>2.0</SchemaVersion> | |||||
| <ProjectVersion>7.0</ProjectVersion> | |||||
| <ToolchainName>com.Atmel.AVRGCC8.C</ToolchainName> | |||||
| <ProjectGuid>{568da8c2-e6fe-4e7c-a24e-9e4900dab3c9}</ProjectGuid> | |||||
| <avrdevice>ATmega88PA</avrdevice> | |||||
| <avrdeviceseries>none</avrdeviceseries> | |||||
| <OutputType>Executable</OutputType> | |||||
| <Language>C</Language> | |||||
| <OutputFileName>$(MSBuildProjectName)</OutputFileName> | |||||
| <OutputFileExtension>.elf</OutputFileExtension> | |||||
| <OutputDirectory>$(MSBuildProjectDirectory)\$(Configuration)</OutputDirectory> | |||||
| <AssemblyName>PoolClockHumidity</AssemblyName> | |||||
| <Name>PoolClockHumidity</Name> | |||||
| <RootNamespace>PoolClockHumidity</RootNamespace> | |||||
| <ToolchainFlavour>Native</ToolchainFlavour> | |||||
| <KeepTimersRunning>true</KeepTimersRunning> | |||||
| <OverrideVtor>false</OverrideVtor> | |||||
| <CacheFlash>true</CacheFlash> | |||||
| <ProgFlashFromRam>true</ProgFlashFromRam> | |||||
| <RamSnippetAddress /> | |||||
| <UncachedRange /> | |||||
| <preserveEEPROM>true</preserveEEPROM> | |||||
| <OverrideVtorValue /> | |||||
| <BootSegment>2</BootSegment> | |||||
| <eraseonlaunchrule>0</eraseonlaunchrule> | |||||
| <AsfFrameworkConfig> | |||||
| <framework-data xmlns=""> | |||||
| <options /> | |||||
| <configurations /> | |||||
| <files /> | |||||
| <documentation help="" /> | |||||
| <offline-documentation help="" /> | |||||
| <dependencies> | |||||
| <content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.34.1" /> | |||||
| </dependencies> | |||||
| </framework-data> | |||||
| </AsfFrameworkConfig> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition=" '$(Configuration)' == 'Release' "> | |||||
| <ToolchainSettings> | |||||
| <AvrGcc> | |||||
| <avrgcc.common.Device>-mmcu=atmega88pa -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.2.132\gcc\dev\atmega88pa"</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>NDEBUG</Value> | |||||
| </ListValues> | |||||
| </avrgcc.compiler.symbols.DefSymbols> | |||||
| <avrgcc.compiler.directories.IncludePaths> | |||||
| <ListValues> | |||||
| <Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.2.132\include</Value> | |||||
| </ListValues> | |||||
| </avrgcc.compiler.directories.IncludePaths> | |||||
| <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.assembler.general.IncludePaths> | |||||
| <ListValues> | |||||
| <Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.2.132\include</Value> | |||||
| </ListValues> | |||||
| </avrgcc.assembler.general.IncludePaths> | |||||
| </AvrGcc> | |||||
| </ToolchainSettings> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> | |||||
| <ToolchainSettings> | |||||
| <AvrGcc> | |||||
| <avrgcc.common.Device>-mmcu=atmega88pa -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.2.132\gcc\dev\atmega88pa"</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\ATmega_DFP\1.2.132\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.general.IncludePaths> | |||||
| <ListValues> | |||||
| <Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.2.132\include</Value> | |||||
| </ListValues> | |||||
| </avrgcc.assembler.general.IncludePaths> | |||||
| <avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel> | |||||
| </AvrGcc> | |||||
| </ToolchainSettings> | |||||
| </PropertyGroup> | |||||
| <ItemGroup> | |||||
| <Compile Include="main.c"> | |||||
| <SubType>compile</SubType> | |||||
| </Compile> | |||||
| </ItemGroup> | |||||
| <Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Compiler.targets" /> | |||||
| </Project> | |||||
| @@ -0,0 +1,558 @@ | |||||
| #include <stdbool.h> | |||||
| #include <avr/io.h> | |||||
| #include <avr/interrupt.h> | |||||
| #define F_CPU 20000000UL //20 MHz | |||||
| #include <util/delay.h> | |||||
| /* 7-Segment display: */ | |||||
| #define NUM_DIGITS 3U //3 Digits | |||||
| #define DIGIT_TENS 2U //left | |||||
| #define DIGIT_ONES 1U //middle | |||||
| #define DIGIT_UNIT 0U //right | |||||
| #define SELECT_DIGIT(digit) (1U << digit) | |||||
| /* DHT22 peripherals: */ | |||||
| #define DDR_SENSOR DDRC | |||||
| #define PORT_SENSOR PORTC | |||||
| #define PIN_SENSOR PINC | |||||
| #define SENSOR PINC3 | |||||
| /* DHT22 commands: */ | |||||
| #define SENSOR_sda_out DDR_SENSOR |= (1 << SENSOR) | |||||
| #define SENSOR_sda_in DDR_SENSOR &= ~(1 << SENSOR) // release sda => hi in consequence of pullup | |||||
| #define SENSOR_sda_low PORT_SENSOR &= ~(1 << SENSOR) | |||||
| #define SENSOR_is_hi PIN_SENSOR & (1 << SENSOR) | |||||
| #define SENSOR_is_low !(PIN_SENSOR & (1 << SENSOR)) | |||||
| #define MODE_MEASURE 0U | |||||
| #define MODE_ANIMATION_1 1U | |||||
| #define MODE_ANIMATION_2 2U | |||||
| #define ANIMATION_DELAY_MS 70U | |||||
| #define ANIMATION_START_DELAY_MS 70U | |||||
| #define BUTTON_THRESHOLD 50 //software debounce | |||||
| /* Symbol indexes: */ | |||||
| #define SYM_n 10U | |||||
| #define SYM_o 11U | |||||
| #define SYM_E 12U | |||||
| #define SYM_R 13U | |||||
| #define SYM_DEG_CELCIUS 14U | |||||
| #define SYM_P_P 15U | |||||
| #define SYM_OFF 16U | |||||
| #define SYM_DASH 17U | |||||
| #define SYM_I 18U | |||||
| #define SYM_SEG_A 19U | |||||
| #define SYM_SEG_B 20U | |||||
| #define SYM_SEG_C 21U | |||||
| #define SYM_SEG_D 22U | |||||
| #define SYM_SEG_E 23U | |||||
| #define SYM_SEG_F 24U | |||||
| #define SYM_SEG_AB 25U | |||||
| #define SYM_SEG_BCD 26U | |||||
| #define SYM_SEG_CD 27U | |||||
| #define SYM_SEG_DE 28U | |||||
| #define SYM_SEG_DEF 29U | |||||
| #define SYM_SEG_AEF 30U | |||||
| #define SYM_SEG_AF 31U | |||||
| /* | |||||
| 7-Segment Layout: | |||||
| A | |||||
| F B | |||||
| G | |||||
| E C | |||||
| D P | |||||
| Pin 7 6 5 4 3 2 1 0 | |||||
| Segment A F B E D C G P | |||||
| */ | |||||
| static uint8_t g_au8Symbols[32U] = | |||||
| { | |||||
| /* 00 */ 0b11111100U, //0 (ABCDEF) | |||||
| /* 01 */ 0b00100100U, //1 (BC) | |||||
| /* 02 */ 0b10111010U, //2 (ABDEG) | |||||
| /* 03 */ 0b10101110U, //3 (ABCDG) | |||||
| /* 04 */ 0b01100110U, //4 (BCFG) | |||||
| /* 05 */ 0b11001110U, //5 (ACDFG) | |||||
| /* 06 */ 0b11011110U, //6 (ACDEFG) | |||||
| /* 07 */ 0b10100100U, //7 (ABC) | |||||
| /* 08 */ 0b11111110U, //8 (ABCDEFG) | |||||
| /* 09 */ 0b11101110U, //9 (ABCDFG) | |||||
| /* 10 */ 0b00010110U, //n (CEG) SYM_n | |||||
| /* 11 */ 0b00011110U, //o (CDEG) SYM_o | |||||
| /* 12 */ 0b11011010U, //E (ADEFG) SYM_E | |||||
| /* 13 */ 0b00010010U, //r (EG) SYM_r | |||||
| /* 14 */ 0b10101101U, //degC (ABCDP) SYM_DEG_CELCIUS | |||||
| /* 15 */ 0b11110011U, //P. (ABEFGP) SYM_P_P | |||||
| /* 16 */ 0b00000000U, //OFF SYM_OFF | |||||
| /* 17 */ 0b00000010U, //- (G) SYM_DASH | |||||
| /* 18 */ 0b01010000U, //I (EF) SYM_I | |||||
| /* 19 */ 0b10000000U, //SegA SYM_SEG_A | |||||
| /* 20 */ 0b00100000U, //SegB SYM_SEG_B | |||||
| /* 21 */ 0b00000100U, //SegC SYM_SEG_C | |||||
| /* 22 */ 0b00001000U, //SegD SYM_SEG_D | |||||
| /* 23 */ 0b00010000U, //SegE SYM_SEG_E | |||||
| /* 24 */ 0b01000000U, //SegF SYM_SEG_F | |||||
| /* 25 */ 0b10100000U, //SegAB SYM_SEG_AB | |||||
| /* 26 */ 0b00101100U, //SegBCD SYM_SEG_BCD | |||||
| /* 27 */ 0b00001100U, //SegCD SYM_SEG_CD | |||||
| /* 28 */ 0b00011000U, //SegDE SYM_SEG_DE | |||||
| /* 29 */ 0b01011000U, //SegDEF SYM_SEG_DEF | |||||
| /* 30 */ 0b11010000U, //SegAEF SYM_SEG_AEF | |||||
| /* 31 */ 0b11000000U //SegAF SYM_SEG_AF | |||||
| }; | |||||
| static uint8_t g_u8ButtonCountTop = 0U; //upper button counter | |||||
| static uint8_t g_u8ButtonCountBot = 0U; //lower button counter | |||||
| static uint8_t g_u8Mode = MODE_MEASURE; //Current display mode | |||||
| uint16_t g_u16Humidity = 0U; | |||||
| uint16_t g_u16Temperature = 0U; | |||||
| uint8_t g_u8ISRDigitSelect = 0U; | |||||
| uint8_t g_au8Digits[3U] = | |||||
| { | |||||
| SYM_OFF, //unit | |||||
| SYM_OFF, //ones | |||||
| SYM_OFF //tens | |||||
| }; | |||||
| void s_vInit( void ); | |||||
| void s_vSetValue( uint8_t u8Value, uint8_t u8Unit ); | |||||
| void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit ); | |||||
| void s_vReadButtons( void ); | |||||
| void s_vShowAnim( uint8_t u8Select ); | |||||
| uint8_t s_u8ReadSensor( void ); | |||||
| /************************************************************************/ | |||||
| /* Timer1 ISR - show values on display */ | |||||
| /************************************************************************/ | |||||
| ISR ( TIMER1_COMPA_vect ) | |||||
| { | |||||
| PORTB = 0; | |||||
| PORTD = 0; | |||||
| _delay_us(2); | |||||
| PORTB = SELECT_DIGIT(g_u8ISRDigitSelect); | |||||
| PORTD = g_au8Symbols[g_au8Digits[g_u8ISRDigitSelect]]; | |||||
| g_u8ISRDigitSelect++; | |||||
| if (g_u8ISRDigitSelect > 2U) | |||||
| { | |||||
| g_u8ISRDigitSelect = 0U; | |||||
| } | |||||
| /* Read and evaluate button status */ | |||||
| s_vReadButtons(); | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* main() */ | |||||
| /************************************************************************/ | |||||
| int main(void) | |||||
| { | |||||
| uint8_t u8ErrorCode = 0U; | |||||
| uint8_t u8Loop = 0U; | |||||
| s_vInit(); | |||||
| s_vSetDisplayDigits( SYM_OFF, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(10); | |||||
| s_vSetDisplayDigits( SYM_SEG_A, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(300); | |||||
| s_vSetDisplayDigits( SYM_SEG_A, SYM_SEG_A, SYM_OFF ); | |||||
| _delay_ms(300); | |||||
| s_vSetDisplayDigits( SYM_SEG_A, SYM_SEG_A, SYM_SEG_A ); | |||||
| _delay_ms(300); | |||||
| while ( u8Loop < 5U ) | |||||
| { | |||||
| s_vSetDisplayDigits( SYM_OFF, SYM_SEG_A, SYM_SEG_AB ); | |||||
| _delay_ms(ANIMATION_START_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_OFF, SYM_OFF, 7U ); | |||||
| _delay_ms(ANIMATION_START_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_OFF, SYM_OFF, SYM_SEG_BCD ); | |||||
| _delay_ms(ANIMATION_START_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_OFF, SYM_SEG_D, SYM_SEG_CD ); | |||||
| _delay_ms(ANIMATION_START_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_SEG_D, SYM_SEG_D, SYM_SEG_D ); | |||||
| _delay_ms(ANIMATION_START_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_SEG_DE, SYM_SEG_D, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_START_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_SEG_DEF, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_START_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_SEG_AEF, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_START_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_SEG_AF, SYM_SEG_A, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_START_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_SEG_A, SYM_SEG_A, SYM_SEG_A ); | |||||
| _delay_ms(ANIMATION_START_DELAY_MS); | |||||
| u8Loop++; | |||||
| } | |||||
| /* Set default value: */ | |||||
| //s_vSetDisplayDigits( SYM_DASH, SYM_DASH, SYM_DASH ); | |||||
| /* wait 3 seconds for humity sensor */ | |||||
| //_delay_ms(3000); | |||||
| /* Set default value: */ | |||||
| s_vSetDisplayDigits( SYM_OFF, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(600); | |||||
| while ( 1 ) | |||||
| { | |||||
| switch ( g_u8Mode ) | |||||
| { | |||||
| case MODE_MEASURE: | |||||
| if ( SENSOR_is_hi ) | |||||
| { | |||||
| SENSOR_sda_out; | |||||
| SENSOR_sda_low; | |||||
| _delay_ms(20); | |||||
| u8ErrorCode = s_u8ReadSensor(); | |||||
| if ( 0U == u8ErrorCode ) | |||||
| { | |||||
| s_vSetValue( g_u16Humidity / 10, SYM_P_P ); | |||||
| //vSetDisplayValues( g_u16Temperature / 10, SYM_DEG_CELCIUS ); | |||||
| } | |||||
| else | |||||
| { | |||||
| s_vSetDisplayDigits( SYM_E, u8ErrorCode, SYM_OFF ); | |||||
| } | |||||
| } | |||||
| if ( g_u8Mode == MODE_MEASURE ) | |||||
| { | |||||
| _delay_ms(500); | |||||
| } | |||||
| break; | |||||
| case MODE_ANIMATION_1: | |||||
| s_vShowAnim(g_u8Mode); | |||||
| g_u8Mode = MODE_MEASURE; | |||||
| _delay_ms(200); | |||||
| break; | |||||
| case MODE_ANIMATION_2: | |||||
| s_vShowAnim(g_u8Mode); | |||||
| g_u8Mode = MODE_MEASURE; | |||||
| _delay_ms(200); | |||||
| break; | |||||
| default: | |||||
| break; | |||||
| } //end switch | |||||
| // _delay_ms(3000); //wait 3 seconds for new measurement | |||||
| } //end while(1) | |||||
| return 0; | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Initialize inputs and outputs */ | |||||
| /************************************************************************/ | |||||
| void s_vInit( void ) | |||||
| { | |||||
| /* Port D - Pins 0-7: Outputs */ | |||||
| DDRD = 0b11111111U; | |||||
| /* Port B - Pins 0-2: Outputs */ | |||||
| DDRB = 0b00000111U; | |||||
| /* Port C - Pins 4-5: Inputs with internal Pull-up */ | |||||
| PORTC = 0b00110000U; | |||||
| /* Sensor init: */ | |||||
| DDR_SENSOR &= ~(1 << SENSOR); // define as input | |||||
| PORT_SENSOR &= ~(1 << SENSOR); // disable pullup | |||||
| /* 16-bit TIMER1 in CTC mode | |||||
| * prescaler = 8 | |||||
| * 20 MHz / 8 = 2.5 MHz | |||||
| * Compare value = 2500 => 1 ms IRQ | |||||
| */ | |||||
| TCCR1A = 0U; | |||||
| TCCR1B = (1<<WGM12) | (1<<CS11); | |||||
| OCR1A = 2500U; | |||||
| TIMSK1 |= (1<<OCIE1A); | |||||
| sei(); | |||||
| return; //void | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Set new values to be shown on display */ | |||||
| /************************************************************************/ | |||||
| void s_vSetValue( uint8_t u8Value, uint8_t u8Unit ) | |||||
| { | |||||
| uint8_t u8Tmp = u8Value / 10U; | |||||
| s_vSetDisplayDigits(u8Tmp, u8Value - (u8Tmp * 10U), u8Unit); | |||||
| return; //void | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Set display digits individually */ | |||||
| /************************************************************************/ | |||||
| void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit ) | |||||
| { | |||||
| g_au8Digits[DIGIT_TENS] = u8Tens; | |||||
| g_au8Digits[DIGIT_ONES] = u8Ones; | |||||
| g_au8Digits[DIGIT_UNIT] = u8Unit; | |||||
| return; //void | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Read button status */ | |||||
| /************************************************************************/ | |||||
| void s_vReadButtons( void ) | |||||
| { | |||||
| if ( !(PINC & (1<<PINC4)) ) //if button '+' pressed | |||||
| { | |||||
| g_u8ButtonCountTop++; | |||||
| } | |||||
| else | |||||
| { | |||||
| g_u8ButtonCountTop = 0U; //reset button counter | |||||
| } | |||||
| if ( !(PINC & (1<<PINC5)) ) //if button '-' pressed | |||||
| { | |||||
| g_u8ButtonCountBot++; | |||||
| } | |||||
| else | |||||
| { | |||||
| g_u8ButtonCountBot = 0U; //reset button counter | |||||
| } | |||||
| if ( g_u8ButtonCountTop > BUTTON_THRESHOLD ) | |||||
| { | |||||
| g_u8ButtonCountTop = 0U; //reset top counter | |||||
| g_u8Mode = MODE_ANIMATION_1; | |||||
| } | |||||
| else if ( g_u8ButtonCountBot > BUTTON_THRESHOLD ) | |||||
| { | |||||
| g_u8ButtonCountBot = 0U; //reset bottom counter | |||||
| g_u8Mode = MODE_ANIMATION_2; | |||||
| } | |||||
| return; //void | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* */ | |||||
| /************************************************************************/ | |||||
| void s_vShowAnim( uint8_t u8Select ) | |||||
| { | |||||
| s_vSetDisplayDigits( SYM_OFF, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| switch ( u8Select ) | |||||
| { | |||||
| case MODE_ANIMATION_1: //fade from left to right and from right to left | |||||
| s_vSetDisplayDigits( SYM_I, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_E, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, SYM_I, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, SYM_E, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, 8U, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, 8U, 1U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, 8U, 3U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, 8U, 8U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, 8U, 8U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, 8U, 3U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, 8U, 1U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, 8U, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, SYM_E, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, SYM_I, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_E, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_I, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| break; | |||||
| case MODE_ANIMATION_2: //fade from left to right and clear | |||||
| s_vSetDisplayDigits( SYM_I, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_E, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, SYM_I, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, SYM_E, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, 8U, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, 8U, 1U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, 8U, 3U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 8U, 8U, 8U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 3U, 8U, 8U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( 1U, 8U, 8U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_OFF, 8U, 8U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_OFF, 3U, 8U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_OFF, 1U, 8U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_OFF, SYM_OFF, 8U ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_OFF, SYM_OFF, SYM_E ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_OFF, SYM_OFF, SYM_I ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| s_vSetDisplayDigits( SYM_OFF, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| break; | |||||
| default: | |||||
| break; | |||||
| } //end switch | |||||
| s_vSetDisplayDigits( SYM_OFF, SYM_OFF, SYM_OFF ); | |||||
| _delay_ms(ANIMATION_DELAY_MS); | |||||
| return; //void | |||||
| } | |||||
| /************************************************************************/ | |||||
| /* Read humidity and temperature from DHT22 */ | |||||
| /************************************************************************/ | |||||
| uint8_t s_u8ReadSensor( void ) | |||||
| { | |||||
| uint8_t timeout = 200; | |||||
| SENSOR_sda_in; | |||||
| // Bus master has released time min: 20us, typ: 30us, max: 200us | |||||
| while ( SENSOR_is_hi ) | |||||
| { | |||||
| _delay_us(1); | |||||
| if ( !timeout-- ) | |||||
| { | |||||
| return 2; | |||||
| } | |||||
| } | |||||
| // AM2302 response signal min: 75us typ:80us max:85us | |||||
| timeout = 85; | |||||
| while(SENSOR_is_low) | |||||
| { | |||||
| _delay_us(1); | |||||
| if (!timeout--) | |||||
| { | |||||
| return 3; | |||||
| } | |||||
| } // response to low time | |||||
| timeout = 85; | |||||
| while(SENSOR_is_hi) | |||||
| { | |||||
| _delay_us(1); | |||||
| if (!timeout--) | |||||
| { | |||||
| return 4; | |||||
| } | |||||
| } // response to high time | |||||
| /* | |||||
| * time in us: min typ max | |||||
| * signal 0 high time: 22 26 30 (bit=0) | |||||
| * signal 1 high time: 68 70 75 (bit=1) | |||||
| * signal 0,1 down time: 48 50 55 | |||||
| */ | |||||
| uint8_t sensor_data[5]={0}; | |||||
| for(uint8_t i = 0; i < 5; i++) | |||||
| { | |||||
| uint8_t sensor_byte = 0; | |||||
| // get 8 bits from sensor | |||||
| for(uint8_t j = 1; j <= 8; j++) | |||||
| { | |||||
| // wait for sensor response | |||||
| timeout = 55; | |||||
| while(SENSOR_is_low) | |||||
| { | |||||
| _delay_us(1); | |||||
| // if timeout == 0 => sensor do not response | |||||
| if (!timeout--) | |||||
| { | |||||
| return 5; | |||||
| } | |||||
| } | |||||
| // wait 30 us to check if bit is logical "1" or "0" | |||||
| _delay_us(30); | |||||
| sensor_byte <<= 1; // add new lower bit | |||||
| // If sda ist high after 30 us then bit is logical "1" else it was a logical "0" | |||||
| // For a logical "1" sda have to be low after 75 us. | |||||
| if (SENSOR_is_hi) | |||||
| { | |||||
| sensor_byte |= 1; // add logical "1" | |||||
| timeout = 45; // 30us - 75us = 45us | |||||
| while(SENSOR_is_hi) | |||||
| { | |||||
| _delay_us(1); | |||||
| if (!timeout--) | |||||
| { | |||||
| return 6; | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| sensor_data[i] = sensor_byte; | |||||
| } | |||||
| // checksum | |||||
| if ( ((sensor_data[0] + sensor_data[1] + sensor_data[2] + sensor_data[3]) & 0xff ) != sensor_data[4]) | |||||
| { | |||||
| // debug output | |||||
| //printf("%b %b %b %b %b %b" CR, sensor_data[0], sensor_data[1], sensor_data[2], sensor_data[3], sensor_data[4], ((sensor_data[0]+sensor_data[1]+sensor_data[2]+sensor_data[3]) & 0xff )); | |||||
| return 7; | |||||
| } | |||||
| g_u16Humidity = (sensor_data[0] << 8) + sensor_data[1]; | |||||
| g_u16Temperature = (sensor_data[2] << 8) + sensor_data[3]; | |||||
| return 0; | |||||
| } | |||||
| @@ -0,0 +1 @@ | |||||
| # Pool Clock | |||||