diff --git a/Reciver/Reciver/Debug/Makefile b/Reciver/Reciver/Debug/Makefile index 28e8034..a1125a5 100644 --- a/Reciver/Reciver/Debug/Makefile +++ b/Reciver/Reciver/Debug/Makefile @@ -82,7 +82,7 @@ OUTPUT_FILE_DEP:= ./makedep.mk ./%.o: .././%.c @echo Building file: $< @echo Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2 - $(QUOTE)E:\Programme\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe$(QUOTE) -funsigned-char -funsigned-bitfields -O1 -fpack-struct -fshort-enums -g2 -Wall -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -mmcu=atmega16a -o"$@" "$<" + $(QUOTE)C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe$(QUOTE) -funsigned-char -funsigned-bitfields -O1 -fpack-struct -fshort-enums -g2 -Wall -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -mmcu=atmega16a -o"$@" "$<" @echo Finished building: $< @@ -110,13 +110,13 @@ all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES) $(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) @echo Building target: $@ @echo Invoking: AVR/GNU Linker : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2 - $(QUOTE)E:\Programme\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="Reciver.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -mmcu=atmega16a + $(QUOTE)C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="Reciver.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -mmcu=atmega16a @echo Finished building target: $@ - "E:\Programme\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature "Reciver.elf" "Reciver.hex" - "E:\Programme\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "Reciver.elf" "Reciver.eep" || exit 0 - "E:\Programme\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objdump.exe" -h -S "Reciver.elf" > "Reciver.lss" - "E:\Programme\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature "Reciver.elf" "Reciver.srec" - "E:\Programme\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-size.exe" "Reciver.elf" + "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature "Reciver.elf" "Reciver.hex" + "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "Reciver.elf" "Reciver.eep" || exit 0 + "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objdump.exe" -h -S "Reciver.elf" > "Reciver.lss" + "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature "Reciver.elf" "Reciver.srec" + "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-size.exe" "Reciver.elf" diff --git a/Reciver/Reciver/Debug/Reciver.d b/Reciver/Reciver/Debug/Reciver.d index 058eec9..6ad5087 100644 --- a/Reciver/Reciver/Debug/Reciver.d +++ b/Reciver/Reciver/Debug/Reciver.d @@ -1,52 +1,52 @@ Reciver.d Reciver.o: .././Reciver.c .././global.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/io.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/sfr_defs.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/inttypes.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/include/stdint.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/stdint.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iom16a.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/portpins.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/common.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/version.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/fuse.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/lock.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/interrupt.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay_basic.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/math.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/io.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/sfr_defs.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/inttypes.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/include/stdint.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/stdint.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iom16a.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/portpins.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/common.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/version.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/fuse.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/lock.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/interrupt.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay_basic.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/math.h \ .././rf12.h .././codes.h .././global.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/io.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/io.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/sfr_defs.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/sfr_defs.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/inttypes.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/inttypes.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/include/stdint.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/include/stdint.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/stdint.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/stdint.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iom16a.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iom16a.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/portpins.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/portpins.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/common.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/common.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/version.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/version.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/fuse.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/fuse.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/lock.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/lock.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/interrupt.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/interrupt.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay_basic.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay_basic.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/math.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/math.h: .././rf12.h: diff --git a/Reciver/Reciver/Debug/Reciver.elf b/Reciver/Reciver/Debug/Reciver.elf index d554f84..dc4f024 100644 Binary files a/Reciver/Reciver/Debug/Reciver.elf and b/Reciver/Reciver/Debug/Reciver.elf differ diff --git a/Reciver/Reciver/Debug/Reciver.hex b/Reciver/Reciver/Debug/Reciver.hex index b8867c2..1562e77 100644 --- a/Reciver/Reciver/Debug/Reciver.hex +++ b/Reciver/Reciver/Debug/Reciver.hex @@ -1,112 +1,113 @@ :100000000C942A000C9447000C9447000C94470071 :100010000C9447000C9447000C9447000C94470044 -:100020000C9447000C94E5000C9447000C94470096 +:100020000C9447000C94F6000C9447000C94470085 :100030000C9447000C9447000C9447000C94470024 :100040000C9447000C9447000C9447000C94470014 :100050000C94470011241FBECFE5D4E0DEBFCDBF16 -:1000600010E0A0E6B0E0E8EDF6E002C005900D92E9 +:1000600010E0A0E6B0E0E2EEF6E002C005900D92EE :10007000A436B107D9F710E0A4E6B0E001C01D92A4 -:10008000A636B107E1F70E947D010C946A030C9437 -:10009000000080916200909163008630910521F10B -:1000A00086E090E090936300809362008EE890E099 +:10008000A636B107E1F70E9482010C946F030C942D +:10009000000080916200909163008630910599F193 +:1000A00086E090E0909363008093620088E790E0A0 :1000B00090936100809360008FEF96E1A1E1815001 -:1000C0009040A040E1F700C000008AEC90E09093DF +:1000C0009040A040E1F700C000008CE390E09093E6 :1000D0006100809360008FEF96E1A1E18150904034 -:1000E000A040E1F700C00000089589988091620067 -:1000F000909163008330910541F4819B06C00E947A -:100100005A020E9449000E9443020895CF930E9420 -:10011000430202C00E9475000E9450028823D1F75A -:100120000E945502882341F08A3031F0803F09F067 -:1001300042C002C00E9475000E9450028823D1F77D -:100140000E945502C82F02C00E9475000E945002F2 -:100150008823D1F7C13079F50E945502843051F0DF -:10016000853018F4813039F516C0853051F087306C -:1001700011F50EC082E090E09093630080936200DE -:100180000AC083E090E0909363008093620003C014 -:100190000E94490010C00E945A028FE39CE9019717 -:1001A000F1F700C00000409162005091630081E0CF -:1001B0006AE00E94D702CF91089585E083BF88E569 -:1001C00082BF1CBE81E089BF08951F920F920FB6B7 -:1001D0000F9211242F933F938F939F9388E582BFB3 -:1001E000809162009091630082309105D9F48091F2 -:1001F0006400909165008233910554F4809164000D -:1002000090916500019690936500809364000AC008 -:10021000B89AB09B02C0C09801C0C09A1092650005 -:100220001092640080916200909163008330910588 -:10023000D9F480916400909165008530910554F463 -:100240008091640090916500019690936500809381 -:1002500064000AC0B89AB09B02C0C09801C0C09A9E -:10026000109265001092640080916200909163008A -:1002700086309105D9F4809164009091650018163C -:10028000190654F080916400909165000196909356 -:100290006500809364000AC0B89AB09B02C0C09801 -:1002A00001C0C09A1092650010926400B99AC19A78 -:1002B0008FEA94E00197F1F700C0000080916000A0 -:1002C000909161001816190674F480E090E025E121 -:1002D0002A95F1F7000001962091600030916100AD -:1002E00082179307A4F3C1989F918F913F912F910B -:1002F0000F900FBE0F901F9018950E94AF0180E2E3 -:1003000096E00E94F70181E060E047E00E94D90199 -:1003100080E895E20E94070280E066E00E942E02DB -:100320000E94DD0078940E948600FDCF949840E101 -:1003300020E030E0992314F4969A01C09698220F99 -:10034000331F83992160959A880F991F00C0000080 -:100350009598415079F7949A822F932F089581B3FD -:10036000806781BB949A8FEF90E7A2E08150904024 -:10037000A040E1F700C0000080EE90EC0E949601E2 -:1003800087ED90E80E9496018BEA92EC0E9496011C -:1003900081E89AEC0E94960180E090EE0E9496011E -:1003A00080E098EC0E94960187EF94EC0E94960101 -:1003B000089590E0880F991F82959295907F9827D5 -:1003C000807F9827907050E047705070842B952B59 -:1003D000946970E063707070660F771F660F771F07 -:1003E000660F771F862B972B0E9496010895803603 -:1003F000910538F02FE08034920728F08FE39FE0DA -:1004000002C080E690E0906A0E949601089522E082 -:100410008739920710F125E18831920780F49C0119 -:1004200040E050E060E678EA80E090E00E944F0310 -:10043000C90101978068966C0E94960108959C01FD -:1004400040E050E06CEF72E485E090E00E942D0304 -:10045000C9010197966C0E949601089590E08770FB -:100460009070986970E062957295707F7627607FD2 -:1004700076277070862B972B0E949601089594988A -:10048000839BFECF089588EC92E80E94960181E854 -:100490009AEC0E94960183E89AEC0E9496010895D6 -:1004A000949881E0839980E0089580E090EB0E9429 -:1004B0009601089588E092E80E94960108950F93AE -:1004C0001F93CF93DF938C01C62F88E392E80E949D -:1004D00096010E943F028AEA98EB0E9496010E94D0 -:1004E0003F028AEA98EB0E9496010E943F028AEA44 -:1004F00098EB0E9496010E943F028DE298EB0E94C9 -:1005000096010E943F0284ED98EB0E949601CC2355 -:1005100099F0C8010196C1509C012C0F311DE901D1 -:100520000E943F02F80181918F0190E0986B0E9438 -:1005300096010C171D07A1F70E943F0288E092E880 -:100540000E949601DF91CF911F910F9108950F9313 -:100550001F93CF93DF938C01D62F88EC92E80E94F3 -:10056000960181E89AEC0E94960183E89AEC0E9439 -:100570009601DD2399F0C8010196D1509C012D0F01 -:10058000311DE9010E943F0280E090EB0E9496013C -:10059000F80181938F01EC17FD07A1F788E092E83D -:1005A0000E949601DF91CF911F910F9108951F93A3 -:1005B000CF93DF93182FD62FC42F88E392E80E94A1 -:1005C00096010E943F028AEA98EB0E9496010E94DF -:1005D0003F028AEA98EB0E9496010E943F028AEA53 -:1005E00098EB0E9496010E943F028DE298EB0E94D8 -:1005F00096010E943F0284ED98EB0E9496010E94B2 -:100600003F02812F90E0986B0E9496010E943F026A -:100610008D2F90E0986B0E9496010E943F028C2FD4 -:1006200090E0986B0E9496010E943F0280E098EB58 -:100630000E9496010E943F0288E092E80E94960183 -:100640008FEF90E7A2E081509040A040E1F700C01A -:100650000000DF91CF911F910895A1E21A2EAA1BED -:10066000BB1BFD010DC0AA1FBB1FEE1FFF1FA21762 -:10067000B307E407F50720F0A21BB30BE40BF50B5F -:10068000661F771F881F991F1A9469F760957095E8 -:10069000809590959B01AC01BD01CF01089597FB1A -:1006A000092E05260ED057FD04D0D7DF0AD0001C36 -:1006B00038F450954095309521953F4F4F4F5F4FFF -:1006C0000895F6F790958095709561957F4F8F4FBF -:0806D0009F4F0895F894FFCF3D -:0406D800CA00020052 +:1000E000A040E1F700C0000084EB90E09093610035 +:1000F000809360008FEF96E1A1E181509040A04095 +:10010000E1F700C000000895899880916200909105 +:1001100063008330910541F4819B06C00E945F0219 +:100120000E9449000E9448020895CF930E9448020D +:1001300002C00E9484000E9455028823D1F70E94C9 +:100140005A02882341F08A3031F0803F09F044C0E0 +:1001500002C00E9484000E9455028823D1F70E94A9 +:100160005A02C82F02C00E9484000E9455028823B0 +:10017000D1F7C13089F50E945A02843051F08530A0 +:1001800018F48130B1F418C0853051F0873089F40B +:100190000EC082E090E090936300809362000CC0F8 +:1001A00083E090E0909363008093620005C00E941A +:1001B00049000E945F0210C00E945F028FE39CE929 +:1001C0000197F1F700C00000409162005091630078 +:1001D00081E06AE00E94DC02CF91089585E083BF50 +:1001E00088E582BF1CBE81E089BF08951F920F92EF +:1001F0000FB60F9211242F933F938F939F9388E50F +:1002000082BF80916200909163008230910561F419 +:10021000209164003091650081E090E02333310546 +:100220004CF580E090E026C08091620090916300E0 +:100230008330910561F4209164003091650081E084 +:1002400090E026303105B4F480E090E013C0809156 +:100250006200909163008630910509F049C02091B9 +:1002600064003091650081E090E02230310514F4A3 +:1002700080E090E020916400309165002F5F3F4F57 +:1002800030936500209364008130910551F4B89A51 +:10029000B09B02C0C09801C0C09A10926500109235 +:1002A0006400B99AC19A8FEA94E00197F1F700C00F +:1002B000000080916000909161001816190674F496 +:1002C00080E090E025E12A95F1F700000196209169 +:1002D00060003091610082179307A4F3C1989F9149 +:1002E0008F913F912F910F900FBE0F901F901895F7 +:1002F00080916400909165000196909365008093D1 +:100300006400CFCF0E94B40180E296E00E94FC011D +:1003100081E060E047E00E94DE0180E895E20E9413 +:100320000C0280E066E00E9433020E94EE007894A6 +:100330000E949500FDCF949840E120E030E09923A1 +:1003400014F4969A01C09698220F331F8399216066 +:10035000959A880F991F00C000009598415079F731 +:10036000949A822F932F089581B3806781BB949ACA +:100370008FEF90E7A2E081509040A040E1F700C0ED +:10038000000080EE90EC0E949B0187ED90E80E94B7 +:100390009B018BEA92EC0E949B0181E89AEC0E94FF +:1003A0009B0180E090EE0E949B0180E098EC0E940F +:1003B0009B0187EF94EC0E949B01089590E0880FC9 +:1003C000991F82959295907F9827807F98279070AB +:1003D00050E047705070842B952B946970E06370E7 +:1003E0007070660F771F660F771F660F771F862B5B +:1003F000972B0E949B0108958036910538F02FE0DD +:100400008034920728F08FE39FE002C080E690E0FE +:10041000906A0E949B01089522E08739920710F1AB +:1004200025E18831920780F49C0140E050E060E6CD +:1004300078EA80E090E00E945403C9010197806847 +:10044000966C0E949B0108959C0140E050E06CEF87 +:1004500072E485E090E00E943203C9010197966C36 +:100460000E949B01089590E087709070986970E0F9 +:1004700062957295707F7627607F76277070862BE5 +:10048000972B0E949B0108959498839BFECF08951B +:1004900088EC92E80E949B0181E89AEC0E949B0103 +:1004A00083E89AEC0E949B010895949881E08399D7 +:1004B00080E0089580E090EB0E949B01089588E021 +:1004C00092E80E949B0108950F931F93CF93DF93AF +:1004D0008C01C62F88E392E80E949B010E9444028F +:1004E0008AEA98EB0E949B010E9444028AEA98EBF8 +:1004F0000E949B010E9444028AEA98EB0E949B01A1 +:100500000E9444028DE298EB0E949B010E944402EB +:1005100084ED98EB0E949B01CC2399F0C8010196D1 +:10052000C1509C012C0F311DE9010E944402F801C9 +:1005300081918F0190E0986B0E949B010C171D0721 +:10054000A1F70E94440288E092E80E949B01DF919B +:10055000CF911F910F9108950F931F93CF93DF9326 +:100560008C01D62F88EC92E80E949B0181E89AECDE +:100570000E949B0183E89AEC0E949B01DD2399F085 +:10058000C8010196D1509C012D0F311DE9010E9437 +:10059000440280E090EB0E949B01F80181938F015F +:1005A000EC17FD07A1F788E092E80E949B01DF911C +:1005B000CF911F910F9108951F93CF93DF93182F21 +:1005C000D62FC42F88E392E80E949B010E94440228 +:1005D0008AEA98EB0E949B010E9444028AEA98EB07 +:1005E0000E949B010E9444028AEA98EB0E949B01B0 +:1005F0000E9444028DE298EB0E949B010E944402FB +:1006000084ED98EB0E949B010E944402812F90E0B0 +:10061000986B0E949B010E9444028D2F90E0986B82 +:100620000E949B010E9444028C2F90E0986B0E94D4 +:100630009B010E94440280E098EB0E949B010E9473 +:10064000440288E092E80E949B018FEF90E7A2E0CD +:1006500081509040A040E1F700C00000DF91CF91B1 +:100660001F910895A1E21A2EAA1BBB1BFD010DC00C +:10067000AA1FBB1FEE1FFF1FA217B307E407F50752 +:1006800020F0A21BB30BE40BF50B661F771F881F2E +:10069000991F1A9469F760957095809590959B01C4 +:1006A000AC01BD01CF01089597FB092E05260ED0A0 +:1006B00057FD04D0D7DF0AD0001C38F45095409580 +:1006C000309521953F4F4F4F5F4F0895F6F7909526 +:1006D0008095709561957F4F8F4F9F4F0895F89447 +:0206E000FFCF4A +:0406E200B40002005E :00000001FF diff --git a/Reciver/Reciver/Debug/Reciver.lss b/Reciver/Reciver/Debug/Reciver.lss index eb5a93c..8880a8e 100644 --- a/Reciver/Reciver/Debug/Reciver.lss +++ b/Reciver/Reciver/Debug/Reciver.lss @@ -3,29 +3,29 @@ Reciver.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn - 0 .text 000006d8 00000000 00000000 00000094 2**1 + 0 .text 000006e2 00000000 00000000 00000094 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE - 1 .data 00000004 00800060 000006d8 0000076c 2**0 + 1 .data 00000004 00800060 000006e2 00000776 2**0 CONTENTS, ALLOC, LOAD, DATA - 2 .bss 00000002 00800064 00800064 00000770 2**0 + 2 .bss 00000002 00800064 00800064 0000077a 2**0 ALLOC - 3 .stab 000006cc 00000000 00000000 00000770 2**2 + 3 .stab 000006cc 00000000 00000000 0000077c 2**2 CONTENTS, READONLY, DEBUGGING - 4 .stabstr 00000085 00000000 00000000 00000e3c 2**0 + 4 .stabstr 00000085 00000000 00000000 00000e48 2**0 CONTENTS, READONLY, DEBUGGING - 5 .debug_aranges 000000e0 00000000 00000000 00000ec8 2**3 + 5 .debug_aranges 000000e0 00000000 00000000 00000ed0 2**3 CONTENTS, READONLY, DEBUGGING - 6 .debug_info 00000c22 00000000 00000000 00000fa8 2**0 + 6 .debug_info 00000c6f 00000000 00000000 00000fb0 2**0 CONTENTS, READONLY, DEBUGGING - 7 .debug_abbrev 00000388 00000000 00000000 00001bca 2**0 + 7 .debug_abbrev 0000036d 00000000 00000000 00001c1f 2**0 CONTENTS, READONLY, DEBUGGING - 8 .debug_line 000006ff 00000000 00000000 00001f52 2**0 + 8 .debug_line 00000730 00000000 00000000 00001f8c 2**0 CONTENTS, READONLY, DEBUGGING - 9 .debug_frame 000001c8 00000000 00000000 00002654 2**2 + 9 .debug_frame 000001c8 00000000 00000000 000026bc 2**2 CONTENTS, READONLY, DEBUGGING - 10 .debug_str 0000024b 00000000 00000000 0000281c 2**0 + 10 .debug_str 0000025b 00000000 00000000 00002884 2**0 CONTENTS, READONLY, DEBUGGING - 11 .debug_loc 00000562 00000000 00000000 00002a67 2**0 + 11 .debug_loc 00000620 00000000 00000000 00002adf 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: @@ -40,7 +40,7 @@ Disassembly of section .text: 18: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt> 1c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt> 20: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt> - 24: 0c 94 e5 00 jmp 0x1ca ; 0x1ca <__vector_9> + 24: 0c 94 f6 00 jmp 0x1ec ; 0x1ec <__vector_9> 28: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt> 2c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt> 30: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt> @@ -65,7 +65,7 @@ Disassembly of section .text: 60: 10 e0 ldi r17, 0x00 ; 0 62: a0 e6 ldi r26, 0x60 ; 96 64: b0 e0 ldi r27, 0x00 ; 0 - 66: e8 ed ldi r30, 0xD8 ; 216 + 66: e2 ee ldi r30, 0xE2 ; 226 68: f6 e0 ldi r31, 0x06 ; 6 6a: 02 c0 rjmp .+4 ; 0x70 <__do_copy_data+0x10> 6c: 05 90 lpm r0, Z+ @@ -87,8 +87,8 @@ Disassembly of section .text: 80: a6 36 cpi r26, 0x66 ; 102 82: b1 07 cpc r27, r17 84: e1 f7 brne .-8 ; 0x7e <.do_clear_bss_loop> - 86: 0e 94 7d 01 call 0x2fa ; 0x2fa
- 8a: 0c 94 6a 03 jmp 0x6d4 ; 0x6d4 <_exit> + 86: 0e 94 82 01 call 0x304 ; 0x304
+ 8a: 0c 94 6f 03 jmp 0x6de ; 0x6de <_exit> 0000008e <__bad_interrupt>: 8e: 0c 94 00 00 jmp 0 ; 0x0 <__vectors> @@ -104,7 +104,7 @@ void turn() { 96: 90 91 63 00 lds r25, 0x0063 9a: 86 30 cpi r24, 0x06 ; 6 9c: 91 05 cpc r25, r1 - 9e: 21 f1 breq .+72 ; 0xe8 + 9e: 99 f1 breq .+102 ; 0x106 return; status = RUN; a0: 86 e0 ldi r24, 0x06 ; 6 @@ -112,7 +112,7 @@ void turn() { a4: 90 93 63 00 sts 0x0063, r25 a8: 80 93 62 00 sts 0x0062, r24 servopos = RIGHT-60; - ac: 8e e8 ldi r24, 0x8E ; 142 + ac: 88 e7 ldi r24, 0x78 ; 120 ae: 90 e0 ldi r25, 0x00 ; 0 b0: 90 93 61 00 sts 0x0061, r25 b4: 80 93 60 00 sts 0x0060, r24 @@ -132,8 +132,8 @@ void turn() { c6: 00 c0 rjmp .+0 ; 0xc8 c8: 00 00 nop _delay_ms(700); - servopos = RIGHT; - ca: 8a ec ldi r24, 0xCA ; 202 + servopos = RIGHT-120; + ca: 8c e3 ldi r24, 0x3C ; 60 cc: 90 e0 ldi r25, 0x00 ; 0 ce: 90 93 61 00 sts 0x0061, r25 d2: 80 93 60 00 sts 0x0060, r24 @@ -146,1081 +146,1098 @@ void turn() { e2: e1 f7 brne .-8 ; 0xdc e4: 00 c0 rjmp .+0 ; 0xe6 e6: 00 00 nop - e8: 08 95 ret + _delay_ms(700); + servopos = RIGHT; + e8: 84 eb ldi r24, 0xB4 ; 180 + ea: 90 e0 ldi r25, 0x00 ; 0 + ec: 90 93 61 00 sts 0x0061, r25 + f0: 80 93 60 00 sts 0x0060, r24 + f4: 8f ef ldi r24, 0xFF ; 255 + f6: 96 e1 ldi r25, 0x16 ; 22 + f8: a1 e1 ldi r26, 0x11 ; 17 + fa: 81 50 subi r24, 0x01 ; 1 + fc: 90 40 sbci r25, 0x00 ; 0 + fe: a0 40 sbci r26, 0x00 ; 0 + 100: e1 f7 brne .-8 ; 0xfa + 102: 00 c0 rjmp .+0 ; 0x104 + 104: 00 00 nop + 106: 08 95 ret -000000ea : +00000108 : _delay_ms(700); } void poll() { DDRD &= ~(1< + 10a: 80 91 62 00 lds r24, 0x0062 + 10e: 90 91 63 00 lds r25, 0x0063 + 112: 83 30 cpi r24, 0x03 ; 3 + 114: 91 05 cpc r25, r1 + 116: 41 f4 brne .+16 ; 0x128 if(PIND & (1< + 118: 81 9b sbis 0x10, 1 ; 16 + 11a: 06 c0 rjmp .+12 ; 0x128 rf12_endasyncrx(); - fe: 0e 94 5a 02 call 0x4b4 ; 0x4b4 + 11c: 0e 94 5f 02 call 0x4be ; 0x4be turn(); - 102: 0e 94 49 00 call 0x92 ; 0x92 + 120: 0e 94 49 00 call 0x92 ; 0x92 rf12_beginasyncrx(); - 106: 0e 94 43 02 call 0x486 ; 0x486 - 10a: 08 95 ret + 124: 0e 94 48 02 call 0x490 ; 0x490 + 128: 08 95 ret -0000010c : +0000012a : } } } void recive() { - 10c: cf 93 push r28 + 12a: cf 93 push r28 rf12_beginasyncrx(); - 10e: 0e 94 43 02 call 0x486 ; 0x486 + 12c: 0e 94 48 02 call 0x490 ; 0x490 while(rf12_hasdata()) { - 112: 02 c0 rjmp .+4 ; 0x118 + 130: 02 c0 rjmp .+4 ; 0x136 poll(); - 114: 0e 94 75 00 call 0xea ; 0xea + 132: 0e 94 84 00 call 0x108 ; 0x108 } } void recive() { rf12_beginasyncrx(); while(rf12_hasdata()) { - 118: 0e 94 50 02 call 0x4a0 ; 0x4a0 - 11c: 88 23 and r24, r24 - 11e: d1 f7 brne .-12 ; 0x114 + 136: 0e 94 55 02 call 0x4aa ; 0x4aa + 13a: 88 23 and r24, r24 + 13c: d1 f7 brne .-12 ; 0x132 poll(); } uint8_t addr = rf12_rxbyte(); - 120: 0e 94 55 02 call 0x4aa ; 0x4aa + 13e: 0e 94 5a 02 call 0x4b4 ; 0x4b4 if(addr == ALL || addr == DEVICE || addr == GROUP) { - 124: 88 23 and r24, r24 - 126: 41 f0 breq .+16 ; 0x138 - 128: 8a 30 cpi r24, 0x0A ; 10 - 12a: 31 f0 breq .+12 ; 0x138 - 12c: 80 3f cpi r24, 0xF0 ; 240 - 12e: 09 f0 breq .+2 ; 0x132 - 130: 42 c0 rjmp .+132 ; 0x1b6 - 132: 02 c0 rjmp .+4 ; 0x138 + 142: 88 23 and r24, r24 + 144: 41 f0 breq .+16 ; 0x156 + 146: 8a 30 cpi r24, 0x0A ; 10 + 148: 31 f0 breq .+12 ; 0x156 + 14a: 80 3f cpi r24, 0xF0 ; 240 + 14c: 09 f0 breq .+2 ; 0x150 + 14e: 44 c0 rjmp .+136 ; 0x1d8 + 150: 02 c0 rjmp .+4 ; 0x156 while(rf12_hasdata()) { poll(); - 134: 0e 94 75 00 call 0xea ; 0xea + 152: 0e 94 84 00 call 0x108 ; 0x108 while(rf12_hasdata()) { poll(); } uint8_t addr = rf12_rxbyte(); if(addr == ALL || addr == DEVICE || addr == GROUP) { while(rf12_hasdata()) { - 138: 0e 94 50 02 call 0x4a0 ; 0x4a0 - 13c: 88 23 and r24, r24 - 13e: d1 f7 brne .-12 ; 0x134 + 156: 0e 94 55 02 call 0x4aa ; 0x4aa + 15a: 88 23 and r24, r24 + 15c: d1 f7 brne .-12 ; 0x152 poll(); } uint8_t from = rf12_rxbyte(); - 140: 0e 94 55 02 call 0x4aa ; 0x4aa - 144: c8 2f mov r28, r24 + 15e: 0e 94 5a 02 call 0x4b4 ; 0x4b4 + 162: c8 2f mov r28, r24 while(rf12_hasdata()) { - 146: 02 c0 rjmp .+4 ; 0x14c + 164: 02 c0 rjmp .+4 ; 0x16a poll(); - 148: 0e 94 75 00 call 0xea ; 0xea + 166: 0e 94 84 00 call 0x108 ; 0x108 if(addr == ALL || addr == DEVICE || addr == GROUP) { while(rf12_hasdata()) { poll(); } uint8_t from = rf12_rxbyte(); while(rf12_hasdata()) { - 14c: 0e 94 50 02 call 0x4a0 ; 0x4a0 - 150: 88 23 and r24, r24 - 152: d1 f7 brne .-12 ; 0x148 + 16a: 0e 94 55 02 call 0x4aa ; 0x4aa + 16e: 88 23 and r24, r24 + 170: d1 f7 brne .-12 ; 0x166 poll(); } if(from == MASTER) { - 154: c1 30 cpi r28, 0x01 ; 1 - 156: 79 f5 brne .+94 ; 0x1b6 + 172: c1 30 cpi r28, 0x01 ; 1 + 174: 89 f5 brne .+98 ; 0x1d8 uint8_t data = rf12_rxbyte(); - 158: 0e 94 55 02 call 0x4aa ; 0x4aa + 176: 0e 94 5a 02 call 0x4b4 ; 0x4b4 switch(data) { - 15c: 84 30 cpi r24, 0x04 ; 4 - 15e: 51 f0 breq .+20 ; 0x174 - 160: 85 30 cpi r24, 0x05 ; 5 - 162: 18 f4 brcc .+6 ; 0x16a - 164: 81 30 cpi r24, 0x01 ; 1 - 166: 39 f5 brne .+78 ; 0x1b6 - 168: 16 c0 rjmp .+44 ; 0x196 - 16a: 85 30 cpi r24, 0x05 ; 5 - 16c: 51 f0 breq .+20 ; 0x182 - 16e: 87 30 cpi r24, 0x07 ; 7 - 170: 11 f5 brne .+68 ; 0x1b6 - 172: 0e c0 rjmp .+28 ; 0x190 + 17a: 84 30 cpi r24, 0x04 ; 4 + 17c: 51 f0 breq .+20 ; 0x192 + 17e: 85 30 cpi r24, 0x05 ; 5 + 180: 18 f4 brcc .+6 ; 0x188 + 182: 81 30 cpi r24, 0x01 ; 1 + 184: b1 f4 brne .+44 ; 0x1b2 + 186: 18 c0 rjmp .+48 ; 0x1b8 + 188: 85 30 cpi r24, 0x05 ; 5 + 18a: 51 f0 breq .+20 ; 0x1a0 + 18c: 87 30 cpi r24, 0x07 ; 7 + 18e: 89 f4 brne .+34 ; 0x1b2 + 190: 0e c0 rjmp .+28 ; 0x1ae case PING: { break; } case SETSLEEP: { status = SLEEP; - 174: 82 e0 ldi r24, 0x02 ; 2 - 176: 90 e0 ldi r25, 0x00 ; 0 - 178: 90 93 63 00 sts 0x0063, r25 - 17c: 80 93 62 00 sts 0x0062, r24 + 192: 82 e0 ldi r24, 0x02 ; 2 + 194: 90 e0 ldi r25, 0x00 ; 0 + 196: 90 93 63 00 sts 0x0063, r25 + 19a: 80 93 62 00 sts 0x0062, r24 break; - 180: 0a c0 rjmp .+20 ; 0x196 + 19e: 0c c0 rjmp .+24 ; 0x1b8 } case SETACTIVE: { status = ACTIVE; - 182: 83 e0 ldi r24, 0x03 ; 3 - 184: 90 e0 ldi r25, 0x00 ; 0 - 186: 90 93 63 00 sts 0x0063, r25 - 18a: 80 93 62 00 sts 0x0062, r24 + 1a0: 83 e0 ldi r24, 0x03 ; 3 + 1a2: 90 e0 ldi r25, 0x00 ; 0 + 1a4: 90 93 63 00 sts 0x0063, r25 + 1a8: 80 93 62 00 sts 0x0062, r24 break; - 18e: 03 c0 rjmp .+6 ; 0x196 + 1ac: 05 c0 rjmp .+10 ; 0x1b8 } case SETRUN: { turn(); - 190: 0e 94 49 00 call 0x92 ; 0x92 - 194: 10 c0 rjmp .+32 ; 0x1b6 + 1ae: 0e 94 49 00 call 0x92 ; 0x92 + } default: { + rf12_endasyncrx(); + 1b2: 0e 94 5f 02 call 0x4be ; 0x4be return; + 1b6: 10 c0 rjmp .+32 ; 0x1d8 } } rf12_endasyncrx(); - 196: 0e 94 5a 02 call 0x4b4 ; 0x4b4 - 19a: 8f e3 ldi r24, 0x3F ; 63 - 19c: 9c e9 ldi r25, 0x9C ; 156 - 19e: 01 97 sbiw r24, 0x01 ; 1 - 1a0: f1 f7 brne .-4 ; 0x19e - 1a2: 00 c0 rjmp .+0 ; 0x1a4 - 1a4: 00 00 nop - _delay_ms(20); + 1b8: 0e 94 5f 02 call 0x4be ; 0x4be + 1bc: 8f e3 ldi r24, 0x3F ; 63 + 1be: 9c e9 ldi r25, 0x9C ; 156 + 1c0: 01 97 sbiw r24, 0x01 ; 1 + 1c2: f1 f7 brne .-4 ; 0x1c0 + 1c4: 00 c0 rjmp .+0 ; 0x1c6 + 1c6: 00 00 nop + _delay_ms(10+DEVICE); rf12_txpacket(MASTER, DEVICE, status); - 1a6: 40 91 62 00 lds r20, 0x0062 - 1aa: 50 91 63 00 lds r21, 0x0063 - 1ae: 81 e0 ldi r24, 0x01 ; 1 - 1b0: 6a e0 ldi r22, 0x0A ; 10 - 1b2: 0e 94 d7 02 call 0x5ae ; 0x5ae - text[1] = 0; - rf12_rxdata(text,2); - if(text[0] == DEVICE && text[1] == PING) { - turn(); - }*/ + 1c8: 40 91 62 00 lds r20, 0x0062 + 1cc: 50 91 63 00 lds r21, 0x0063 + 1d0: 81 e0 ldi r24, 0x01 ; 1 + 1d2: 6a e0 ldi r22, 0x0A ; 10 + 1d4: 0e 94 dc 02 call 0x5b8 ; 0x5b8 + return; + } + } } - 1b6: cf 91 pop r28 - 1b8: 08 95 ret + 1d8: cf 91 pop r28 + 1da: 08 95 ret -000001ba : +000001dc : // Clock source: System Clock // Clock value: 7,813 kHz // Mode: Normal top=0xFF // OC0 output: Disconnected // Timer Period: 21,504 ms TCCR0=(0<: +000001ec <__vector_9>: ISR(TIMER0_OVF_vect) { - 1ca: 1f 92 push r1 - 1cc: 0f 92 push r0 - 1ce: 0f b6 in r0, 0x3f ; 63 - 1d0: 0f 92 push r0 - 1d2: 11 24 eor r1, r1 - 1d4: 2f 93 push r18 - 1d6: 3f 93 push r19 - 1d8: 8f 93 push r24 - 1da: 9f 93 push r25 + 1ec: 1f 92 push r1 + 1ee: 0f 92 push r0 + 1f0: 0f b6 in r0, 0x3f ; 63 + 1f2: 0f 92 push r0 + 1f4: 11 24 eor r1, r1 + 1f6: 2f 93 push r18 + 1f8: 3f 93 push r19 + 1fa: 8f 93 push r24 + 1fc: 9f 93 push r25 // Reinitialize Timer 0 value TCNT0=0x58; - 1dc: 88 e5 ldi r24, 0x58 ; 88 - 1de: 82 bf out 0x32, r24 ; 50 + 1fe: 88 e5 ldi r24, 0x58 ; 88 + 200: 82 bf out 0x32, r24 ; 50 + int led = 0; if(status == SLEEP) { - 1e0: 80 91 62 00 lds r24, 0x0062 - 1e4: 90 91 63 00 lds r25, 0x0063 - 1e8: 82 30 cpi r24, 0x02 ; 2 - 1ea: 91 05 cpc r25, r1 - 1ec: d9 f4 brne .+54 ; 0x224 <__vector_9+0x5a> - if(pwm_led < 50) { - 1ee: 80 91 64 00 lds r24, 0x0064 - 1f2: 90 91 65 00 lds r25, 0x0065 - 1f6: 82 33 cpi r24, 0x32 ; 50 - 1f8: 91 05 cpc r25, r1 - 1fa: 54 f4 brge .+20 ; 0x210 <__vector_9+0x46> - pwm_led++; - 1fc: 80 91 64 00 lds r24, 0x0064 - 200: 90 91 65 00 lds r25, 0x0065 - 204: 01 96 adiw r24, 0x01 ; 1 - 206: 90 93 65 00 sts 0x0065, r25 - 20a: 80 93 64 00 sts 0x0064, r24 - 20e: 0a c0 rjmp .+20 ; 0x224 <__vector_9+0x5a> - } else { - DDRB |= (1< - PORTB &= ~(1< - } else { - PORTB |= (1< + if(pwm_led > 50) + 210: 20 91 64 00 lds r18, 0x0064 + 214: 30 91 65 00 lds r19, 0x0065 + led = 1; + 218: 81 e0 ldi r24, 0x01 ; 1 + 21a: 90 e0 ldi r25, 0x00 ; 0 + 21c: 23 33 cpi r18, 0x33 ; 51 + 21e: 31 05 cpc r19, r1 + 220: 4c f5 brge .+82 ; 0x274 <__vector_9+0x88> + 222: 80 e0 ldi r24, 0x00 ; 0 + 224: 90 e0 ldi r25, 0x00 ; 0 + 226: 26 c0 rjmp .+76 ; 0x274 <__vector_9+0x88> + } else if(status == ACTIVE) { + 228: 80 91 62 00 lds r24, 0x0062 + 22c: 90 91 63 00 lds r25, 0x0063 + 230: 83 30 cpi r24, 0x03 ; 3 + 232: 91 05 cpc r25, r1 + 234: 61 f4 brne .+24 ; 0x24e <__vector_9+0x62> + if(pwm_led > 5) + 236: 20 91 64 00 lds r18, 0x0064 + 23a: 30 91 65 00 lds r19, 0x0065 + TCNT0=0x58; + + int led = 0; + if(status == SLEEP) { + if(pwm_led > 50) + led = 1; + 23e: 81 e0 ldi r24, 0x01 ; 1 + 240: 90 e0 ldi r25, 0x00 ; 0 + 242: 26 30 cpi r18, 0x06 ; 6 + 244: 31 05 cpc r19, r1 + 246: b4 f4 brge .+44 ; 0x274 <__vector_9+0x88> + 248: 80 e0 ldi r24, 0x00 ; 0 + 24a: 90 e0 ldi r25, 0x00 ; 0 + 24c: 13 c0 rjmp .+38 ; 0x274 <__vector_9+0x88> + } else if(status == ACTIVE) { + if(pwm_led > 5) + led = 1; + } else if(status == RUN) { + 24e: 80 91 62 00 lds r24, 0x0062 + 252: 90 91 63 00 lds r25, 0x0063 + 256: 86 30 cpi r24, 0x06 ; 6 + 258: 91 05 cpc r25, r1 + 25a: 09 f0 breq .+2 ; 0x25e <__vector_9+0x72> + 25c: 49 c0 rjmp .+146 ; 0x2f0 <__vector_9+0x104> + if(pwm_led > 1) + 25e: 20 91 64 00 lds r18, 0x0064 + 262: 30 91 65 00 lds r19, 0x0065 + TCNT0=0x58; + + int led = 0; + if(status == SLEEP) { + if(pwm_led > 50) + led = 1; + 266: 81 e0 ldi r24, 0x01 ; 1 + 268: 90 e0 ldi r25, 0x00 ; 0 + 26a: 22 30 cpi r18, 0x02 ; 2 + 26c: 31 05 cpc r19, r1 + 26e: 14 f4 brge .+4 ; 0x274 <__vector_9+0x88> + 270: 80 e0 ldi r24, 0x00 ; 0 + 272: 90 e0 ldi r25, 0x00 ; 0 + } else if(status == RUN) { + if(pwm_led > 1) + led = 1; } - if(status == ACTIVE) { - 224: 80 91 62 00 lds r24, 0x0062 - 228: 90 91 63 00 lds r25, 0x0063 - 22c: 83 30 cpi r24, 0x03 ; 3 - 22e: 91 05 cpc r25, r1 - 230: d9 f4 brne .+54 ; 0x268 <__vector_9+0x9e> - if(pwm_led < 5) { - 232: 80 91 64 00 lds r24, 0x0064 - 236: 90 91 65 00 lds r25, 0x0065 - 23a: 85 30 cpi r24, 0x05 ; 5 - 23c: 91 05 cpc r25, r1 - 23e: 54 f4 brge .+20 ; 0x254 <__vector_9+0x8a> - pwm_led++; - 240: 80 91 64 00 lds r24, 0x0064 - 244: 90 91 65 00 lds r25, 0x0065 - 248: 01 96 adiw r24, 0x01 ; 1 - 24a: 90 93 65 00 sts 0x0065, r25 - 24e: 80 93 64 00 sts 0x0064, r24 - 252: 0a c0 rjmp .+20 ; 0x268 <__vector_9+0x9e> + + pwm_led++; + 274: 20 91 64 00 lds r18, 0x0064 + 278: 30 91 65 00 lds r19, 0x0065 + 27c: 2f 5f subi r18, 0xFF ; 255 + 27e: 3f 4f sbci r19, 0xFF ; 255 + 280: 30 93 65 00 sts 0x0065, r19 + 284: 20 93 64 00 sts 0x0064, r18 + + if(led == 1) { + 288: 81 30 cpi r24, 0x01 ; 1 + 28a: 91 05 cpc r25, r1 + 28c: 51 f4 brne .+20 ; 0x2a2 <__vector_9+0xb6> + DDRB |= (1< + PORTB &= ~(1< } else { - DDRB |= (1< - PORTB &= ~(1< - } else { - PORTB |= (1< - if(pwm_led < 1) { - 276: 80 91 64 00 lds r24, 0x0064 - 27a: 90 91 65 00 lds r25, 0x0065 - 27e: 18 16 cp r1, r24 - 280: 19 06 cpc r1, r25 - 282: 54 f0 brlt .+20 ; 0x298 <__vector_9+0xce> - pwm_led++; - 284: 80 91 64 00 lds r24, 0x0064 - 288: 90 91 65 00 lds r25, 0x0065 - 28c: 01 96 adiw r24, 0x01 ; 1 - 28e: 90 93 65 00 sts 0x0065, r25 - 292: 80 93 64 00 sts 0x0064, r24 - 296: 0a c0 rjmp .+20 ; 0x2ac <__vector_9+0xe2> - } else { - DDRB |= (1< - PORTB &= ~(1< - } else { - PORTB |= (1< - 2b8: 00 c0 rjmp .+0 ; 0x2ba <__vector_9+0xf0> - 2ba: 00 00 nop + 2a6: 8f ea ldi r24, 0xAF ; 175 + 2a8: 94 e0 ldi r25, 0x04 ; 4 + 2aa: 01 97 sbiw r24, 0x01 ; 1 + 2ac: f1 f7 brne .-4 ; 0x2aa <__vector_9+0xbe> + 2ae: 00 c0 rjmp .+0 ; 0x2b0 <__vector_9+0xc4> + 2b0: 00 00 nop _delay_us(LEFT); for(int i=0;i - 2ca: 80 e0 ldi r24, 0x00 ; 0 - 2cc: 90 e0 ldi r25, 0x00 ; 0 - 2ce: 25 e1 ldi r18, 0x15 ; 21 - 2d0: 2a 95 dec r18 - 2d2: f1 f7 brne .-4 ; 0x2d0 <__vector_9+0x106> - 2d4: 00 00 nop - 2d6: 01 96 adiw r24, 0x01 ; 1 - 2d8: 20 91 60 00 lds r18, 0x0060 - 2dc: 30 91 61 00 lds r19, 0x0061 - 2e0: 82 17 cp r24, r18 - 2e2: 93 07 cpc r25, r19 - 2e4: a4 f3 brlt .-24 ; 0x2ce <__vector_9+0x104> + 2b2: 80 91 60 00 lds r24, 0x0060 + 2b6: 90 91 61 00 lds r25, 0x0061 + 2ba: 18 16 cp r1, r24 + 2bc: 19 06 cpc r1, r25 + 2be: 74 f4 brge .+28 ; 0x2dc <__vector_9+0xf0> + 2c0: 80 e0 ldi r24, 0x00 ; 0 + 2c2: 90 e0 ldi r25, 0x00 ; 0 + 2c4: 25 e1 ldi r18, 0x15 ; 21 + 2c6: 2a 95 dec r18 + 2c8: f1 f7 brne .-4 ; 0x2c6 <__vector_9+0xda> + 2ca: 00 00 nop + 2cc: 01 96 adiw r24, 0x01 ; 1 + 2ce: 20 91 60 00 lds r18, 0x0060 + 2d2: 30 91 61 00 lds r19, 0x0061 + 2d6: 82 17 cp r24, r18 + 2d8: 93 07 cpc r25, r19 + 2da: a4 f3 brlt .-24 ; 0x2c4 <__vector_9+0xd8> _delay_us(STEP); } PORTB &= ~(1< 1) + led = 1; + } + + pwm_led++; + 2f0: 80 91 64 00 lds r24, 0x0064 + 2f4: 90 91 65 00 lds r25, 0x0065 + 2f8: 01 96 adiw r24, 0x01 ; 1 + 2fa: 90 93 65 00 sts 0x0065, r25 + 2fe: 80 93 64 00 sts 0x0064, r24 + 302: cf cf rjmp .-98 ; 0x2a2 <__vector_9+0xb6> -000002fa
: +00000304
: +} int main(void) { rf12_init(); // ein paar Register setzen (z.B. CLK auf 10MHz) - 2fa: 0e 94 af 01 call 0x35e ; 0x35e + 304: 0e 94 b4 01 call 0x368 ; 0x368 rf12_setfreq(RF12FREQ(433.92)); // Sende/Empfangsfrequenz auf 433,92MHz einstellen - 2fe: 80 e2 ldi r24, 0x20 ; 32 - 300: 96 e0 ldi r25, 0x06 ; 6 - 302: 0e 94 f7 01 call 0x3ee ; 0x3ee + 308: 80 e2 ldi r24, 0x20 ; 32 + 30a: 96 e0 ldi r25, 0x06 ; 6 + 30c: 0e 94 fc 01 call 0x3f8 ; 0x3f8 rf12_setbandwidth(1, 0, 7); // 400kHz Bandbreite, 0dB Verstärkung, DRSSI threshold: -61dBm - 306: 81 e0 ldi r24, 0x01 ; 1 - 308: 60 e0 ldi r22, 0x00 ; 0 - 30a: 47 e0 ldi r20, 0x07 ; 7 - 30c: 0e 94 d9 01 call 0x3b2 ; 0x3b2 + 310: 81 e0 ldi r24, 0x01 ; 1 + 312: 60 e0 ldi r22, 0x00 ; 0 + 314: 47 e0 ldi r20, 0x07 ; 7 + 316: 0e 94 de 01 call 0x3bc ; 0x3bc rf12_setbaud(9600); // 19200 baud - 310: 80 e8 ldi r24, 0x80 ; 128 - 312: 95 e2 ldi r25, 0x25 ; 37 - 314: 0e 94 07 02 call 0x40e ; 0x40e + 31a: 80 e8 ldi r24, 0x80 ; 128 + 31c: 95 e2 ldi r25, 0x25 ; 37 + 31e: 0e 94 0c 02 call 0x418 ; 0x418 rf12_setpower(0, 6); // 1mW Ausgangsleistung, 120kHz Frequenzshift - 318: 80 e0 ldi r24, 0x00 ; 0 - 31a: 66 e0 ldi r22, 0x06 ; 6 - 31c: 0e 94 2e 02 call 0x45c ; 0x45c - //rf12_ready(); + 322: 80 e0 ldi r24, 0x00 ; 0 + 324: 66 e0 ldi r22, 0x06 ; 6 + 326: 0e 94 33 02 call 0x466 ; 0x466 init_timer(); - 320: 0e 94 dd 00 call 0x1ba ; 0x1ba + 32a: 0e 94 ee 00 call 0x1dc ; 0x1dc sei(); - 324: 78 94 sei - + 32e: 78 94 sei //DDRB |= (1< - 32a: fd cf rjmp .-6 ; 0x326 + 330: 0e 94 95 00 call 0x12a ; 0x12a + 334: fd cf rjmp .-6 ; 0x330 -0000032c : +00000336 : unsigned short rf12_trans(unsigned short wert) { unsigned short werti = 0; unsigned char i; RF_PORT &= ~(1< unsigned short rf12_trans(unsigned short wert) { unsigned short werti = 0; - 330: 20 e0 ldi r18, 0x00 ; 0 - 332: 30 e0 ldi r19, 0x00 ; 0 + 33a: 20 e0 ldi r18, 0x00 ; 0 + 33c: 30 e0 ldi r19, 0x00 ; 0 unsigned char i; RF_PORT &= ~(1< + 33e: 99 23 and r25, r25 + 340: 14 f4 brge .+4 ; 0x346 RF_PORT |= (1< + 342: 96 9a sbi 0x12, 6 ; 18 + 344: 01 c0 rjmp .+2 ; 0x348 } else { RF_PORT &= ~(1< - 34e: 00 00 nop + 352: 88 0f add r24, r24 + 354: 99 1f adc r25, r25 + 356: 00 c0 rjmp .+0 ; 0x358 + 358: 00 00 nop _delay_us(0.3); RF_PORT &= ~(1< + 35e: 79 f7 brne .-34 ; 0x33e RF_PORT |= (1<: +00000368 : void rf12_init(void) { RF_DDR |= (1< - 374: 00 c0 rjmp .+0 ; 0x376 - 376: 00 00 nop + 370: 8f ef ldi r24, 0xFF ; 255 + 372: 90 e7 ldi r25, 0x70 ; 112 + 374: a2 e0 ldi r26, 0x02 ; 2 + 376: 81 50 subi r24, 0x01 ; 1 + 378: 90 40 sbci r25, 0x00 ; 0 + 37a: a0 40 sbci r26, 0x00 ; 0 + 37c: e1 f7 brne .-8 ; 0x376 + 37e: 00 c0 rjmp .+0 ; 0x380 + 380: 00 00 nop _delay_ms(100); rf12_trans(0xC0E0); // AVR CLK: 10MHz - 378: 80 ee ldi r24, 0xE0 ; 224 - 37a: 90 ec ldi r25, 0xC0 ; 192 - 37c: 0e 94 96 01 call 0x32c ; 0x32c + 382: 80 ee ldi r24, 0xE0 ; 224 + 384: 90 ec ldi r25, 0xC0 ; 192 + 386: 0e 94 9b 01 call 0x336 ; 0x336 rf12_trans(0x80D7); // Enable FIFO - 380: 87 ed ldi r24, 0xD7 ; 215 - 382: 90 e8 ldi r25, 0x80 ; 128 - 384: 0e 94 96 01 call 0x32c ; 0x32c + 38a: 87 ed ldi r24, 0xD7 ; 215 + 38c: 90 e8 ldi r25, 0x80 ; 128 + 38e: 0e 94 9b 01 call 0x336 ; 0x336 rf12_trans(0xC2AB); // Data Filter: internal - 388: 8b ea ldi r24, 0xAB ; 171 - 38a: 92 ec ldi r25, 0xC2 ; 194 - 38c: 0e 94 96 01 call 0x32c ; 0x32c + 392: 8b ea ldi r24, 0xAB ; 171 + 394: 92 ec ldi r25, 0xC2 ; 194 + 396: 0e 94 9b 01 call 0x336 ; 0x336 rf12_trans(0xCA81); // Set FIFO mode - 390: 81 e8 ldi r24, 0x81 ; 129 - 392: 9a ec ldi r25, 0xCA ; 202 - 394: 0e 94 96 01 call 0x32c ; 0x32c + 39a: 81 e8 ldi r24, 0x81 ; 129 + 39c: 9a ec ldi r25, 0xCA ; 202 + 39e: 0e 94 9b 01 call 0x336 ; 0x336 rf12_trans(0xE000); // disable wakeuptimer - 398: 80 e0 ldi r24, 0x00 ; 0 - 39a: 90 ee ldi r25, 0xE0 ; 224 - 39c: 0e 94 96 01 call 0x32c ; 0x32c + 3a2: 80 e0 ldi r24, 0x00 ; 0 + 3a4: 90 ee ldi r25, 0xE0 ; 224 + 3a6: 0e 94 9b 01 call 0x336 ; 0x336 rf12_trans(0xC800); // disable low duty cycle - 3a0: 80 e0 ldi r24, 0x00 ; 0 - 3a2: 98 ec ldi r25, 0xC8 ; 200 - 3a4: 0e 94 96 01 call 0x32c ; 0x32c + 3aa: 80 e0 ldi r24, 0x00 ; 0 + 3ac: 98 ec ldi r25, 0xC8 ; 200 + 3ae: 0e 94 9b 01 call 0x336 ; 0x336 rf12_trans(0xC4F7); // AFC settings: autotuning: -10kHz...+7,5kHz - 3a8: 87 ef ldi r24, 0xF7 ; 247 - 3aa: 94 ec ldi r25, 0xC4 ; 196 - 3ac: 0e 94 96 01 call 0x32c ; 0x32c + 3b2: 87 ef ldi r24, 0xF7 ; 247 + 3b4: 94 ec ldi r25, 0xC4 ; 196 + 3b6: 0e 94 9b 01 call 0x336 ; 0x336 } - 3b0: 08 95 ret + 3ba: 08 95 ret -000003b2 : +000003bc : void rf12_setbandwidth(unsigned char bandwidth, unsigned char gain, unsigned char drssi) { rf12_trans(0x9400|((bandwidth&7)<<5)|((gain&3)<<3)|(drssi&7)); - 3b2: 90 e0 ldi r25, 0x00 ; 0 - 3b4: 88 0f add r24, r24 - 3b6: 99 1f adc r25, r25 - 3b8: 82 95 swap r24 - 3ba: 92 95 swap r25 - 3bc: 90 7f andi r25, 0xF0 ; 240 - 3be: 98 27 eor r25, r24 - 3c0: 80 7f andi r24, 0xF0 ; 240 - 3c2: 98 27 eor r25, r24 - 3c4: 90 70 andi r25, 0x00 ; 0 - 3c6: 50 e0 ldi r21, 0x00 ; 0 - 3c8: 47 70 andi r20, 0x07 ; 7 - 3ca: 50 70 andi r21, 0x00 ; 0 - 3cc: 84 2b or r24, r20 - 3ce: 95 2b or r25, r21 - 3d0: 94 69 ori r25, 0x94 ; 148 - 3d2: 70 e0 ldi r23, 0x00 ; 0 - 3d4: 63 70 andi r22, 0x03 ; 3 - 3d6: 70 70 andi r23, 0x00 ; 0 - 3d8: 66 0f add r22, r22 - 3da: 77 1f adc r23, r23 - 3dc: 66 0f add r22, r22 - 3de: 77 1f adc r23, r23 - 3e0: 66 0f add r22, r22 - 3e2: 77 1f adc r23, r23 - 3e4: 86 2b or r24, r22 - 3e6: 97 2b or r25, r23 - 3e8: 0e 94 96 01 call 0x32c ; 0x32c + 3bc: 90 e0 ldi r25, 0x00 ; 0 + 3be: 88 0f add r24, r24 + 3c0: 99 1f adc r25, r25 + 3c2: 82 95 swap r24 + 3c4: 92 95 swap r25 + 3c6: 90 7f andi r25, 0xF0 ; 240 + 3c8: 98 27 eor r25, r24 + 3ca: 80 7f andi r24, 0xF0 ; 240 + 3cc: 98 27 eor r25, r24 + 3ce: 90 70 andi r25, 0x00 ; 0 + 3d0: 50 e0 ldi r21, 0x00 ; 0 + 3d2: 47 70 andi r20, 0x07 ; 7 + 3d4: 50 70 andi r21, 0x00 ; 0 + 3d6: 84 2b or r24, r20 + 3d8: 95 2b or r25, r21 + 3da: 94 69 ori r25, 0x94 ; 148 + 3dc: 70 e0 ldi r23, 0x00 ; 0 + 3de: 63 70 andi r22, 0x03 ; 3 + 3e0: 70 70 andi r23, 0x00 ; 0 + 3e2: 66 0f add r22, r22 + 3e4: 77 1f adc r23, r23 + 3e6: 66 0f add r22, r22 + 3e8: 77 1f adc r23, r23 + 3ea: 66 0f add r22, r22 + 3ec: 77 1f adc r23, r23 + 3ee: 86 2b or r24, r22 + 3f0: 97 2b or r25, r23 + 3f2: 0e 94 9b 01 call 0x336 ; 0x336 } - 3ec: 08 95 ret + 3f6: 08 95 ret -000003ee : +000003f8 : void rf12_setfreq(unsigned short freq) { if (freq<96) { // 430,2400MHz - 3ee: 80 36 cpi r24, 0x60 ; 96 - 3f0: 91 05 cpc r25, r1 - 3f2: 38 f0 brcs .+14 ; 0x402 - 3f4: 2f e0 ldi r18, 0x0F ; 15 - 3f6: 80 34 cpi r24, 0x40 ; 64 - 3f8: 92 07 cpc r25, r18 - 3fa: 28 f0 brcs .+10 ; 0x406 - 3fc: 8f e3 ldi r24, 0x3F ; 63 - 3fe: 9f e0 ldi r25, 0x0F ; 15 - 400: 02 c0 rjmp .+4 ; 0x406 + 3f8: 80 36 cpi r24, 0x60 ; 96 + 3fa: 91 05 cpc r25, r1 + 3fc: 38 f0 brcs .+14 ; 0x40c + 3fe: 2f e0 ldi r18, 0x0F ; 15 + 400: 80 34 cpi r24, 0x40 ; 64 + 402: 92 07 cpc r25, r18 + 404: 28 f0 brcs .+10 ; 0x410 + 406: 8f e3 ldi r24, 0x3F ; 63 + 408: 9f e0 ldi r25, 0x0F ; 15 + 40a: 02 c0 rjmp .+4 ; 0x410 freq=96; - 402: 80 e6 ldi r24, 0x60 ; 96 - 404: 90 e0 ldi r25, 0x00 ; 0 + 40c: 80 e6 ldi r24, 0x60 ; 96 + 40e: 90 e0 ldi r25, 0x00 ; 0 } else if (freq>3903) { // 439,7575MHz freq=3903; } rf12_trans(0xA000|freq); - 406: 90 6a ori r25, 0xA0 ; 160 - 408: 0e 94 96 01 call 0x32c ; 0x32c + 410: 90 6a ori r25, 0xA0 ; 160 + 412: 0e 94 9b 01 call 0x336 ; 0x336 } - 40c: 08 95 ret + 416: 08 95 ret -0000040e : +00000418 : void rf12_setbaud(unsigned short baud) { if (baud<663) { - 40e: 22 e0 ldi r18, 0x02 ; 2 - 410: 87 39 cpi r24, 0x97 ; 151 - 412: 92 07 cpc r25, r18 - 414: 10 f1 brcs .+68 ; 0x45a + 418: 22 e0 ldi r18, 0x02 ; 2 + 41a: 87 39 cpi r24, 0x97 ; 151 + 41c: 92 07 cpc r25, r18 + 41e: 10 f1 brcs .+68 ; 0x464 <__stack+0x5> return; } if (baud<5400) { // Baudrate= 344827,58621/(R+1)/(1+CS*7) - 416: 25 e1 ldi r18, 0x15 ; 21 - 418: 88 31 cpi r24, 0x18 ; 24 - 41a: 92 07 cpc r25, r18 - 41c: 80 f4 brcc .+32 ; 0x43e + 420: 25 e1 ldi r18, 0x15 ; 21 + 422: 88 31 cpi r24, 0x18 ; 24 + 424: 92 07 cpc r25, r18 + 426: 80 f4 brcc .+32 ; 0x448 rf12_trans(0xC680|((43104/baud)-1)); - 41e: 9c 01 movw r18, r24 - 420: 40 e0 ldi r20, 0x00 ; 0 - 422: 50 e0 ldi r21, 0x00 ; 0 - 424: 60 e6 ldi r22, 0x60 ; 96 - 426: 78 ea ldi r23, 0xA8 ; 168 - 428: 80 e0 ldi r24, 0x00 ; 0 - 42a: 90 e0 ldi r25, 0x00 ; 0 - 42c: 0e 94 4f 03 call 0x69e ; 0x69e <__divmodsi4> - 430: c9 01 movw r24, r18 - 432: 01 97 sbiw r24, 0x01 ; 1 - 434: 80 68 ori r24, 0x80 ; 128 - 436: 96 6c ori r25, 0xC6 ; 198 - 438: 0e 94 96 01 call 0x32c ; 0x32c - 43c: 08 95 ret + 428: 9c 01 movw r18, r24 + 42a: 40 e0 ldi r20, 0x00 ; 0 + 42c: 50 e0 ldi r21, 0x00 ; 0 + 42e: 60 e6 ldi r22, 0x60 ; 96 + 430: 78 ea ldi r23, 0xA8 ; 168 + 432: 80 e0 ldi r24, 0x00 ; 0 + 434: 90 e0 ldi r25, 0x00 ; 0 + 436: 0e 94 54 03 call 0x6a8 ; 0x6a8 <__divmodsi4> + 43a: c9 01 movw r24, r18 + 43c: 01 97 sbiw r24, 0x01 ; 1 + 43e: 80 68 ori r24, 0x80 ; 128 + 440: 96 6c ori r25, 0xC6 ; 198 + 442: 0e 94 9b 01 call 0x336 ; 0x336 + 446: 08 95 ret } else { rf12_trans(0xC600|((344828UL/baud)-1)); - 43e: 9c 01 movw r18, r24 - 440: 40 e0 ldi r20, 0x00 ; 0 - 442: 50 e0 ldi r21, 0x00 ; 0 - 444: 6c ef ldi r22, 0xFC ; 252 - 446: 72 e4 ldi r23, 0x42 ; 66 - 448: 85 e0 ldi r24, 0x05 ; 5 - 44a: 90 e0 ldi r25, 0x00 ; 0 - 44c: 0e 94 2d 03 call 0x65a ; 0x65a <__udivmodsi4> - 450: c9 01 movw r24, r18 - 452: 01 97 sbiw r24, 0x01 ; 1 - 454: 96 6c ori r25, 0xC6 ; 198 - 456: 0e 94 96 01 call 0x32c ; 0x32c - 45a: 08 95 ret + 448: 9c 01 movw r18, r24 + 44a: 40 e0 ldi r20, 0x00 ; 0 + 44c: 50 e0 ldi r21, 0x00 ; 0 + 44e: 6c ef ldi r22, 0xFC ; 252 + 450: 72 e4 ldi r23, 0x42 ; 66 + 452: 85 e0 ldi r24, 0x05 ; 5 + 454: 90 e0 ldi r25, 0x00 ; 0 + 456: 0e 94 32 03 call 0x664 ; 0x664 <__udivmodsi4> + 45a: c9 01 movw r24, r18 + 45c: 01 97 sbiw r24, 0x01 ; 1 + 45e: 96 6c ori r25, 0xC6 ; 198 + 460: 0e 94 9b 01 call 0x336 ; 0x336 + 464: 08 95 ret -0000045c : +00000466 : } } void rf12_setpower(unsigned char power, unsigned char mod) { rf12_trans(0x9800|(power&7)|((mod&15)<<4)); - 45c: 90 e0 ldi r25, 0x00 ; 0 - 45e: 87 70 andi r24, 0x07 ; 7 - 460: 90 70 andi r25, 0x00 ; 0 - 462: 98 69 ori r25, 0x98 ; 152 - 464: 70 e0 ldi r23, 0x00 ; 0 - 466: 62 95 swap r22 - 468: 72 95 swap r23 - 46a: 70 7f andi r23, 0xF0 ; 240 - 46c: 76 27 eor r23, r22 - 46e: 60 7f andi r22, 0xF0 ; 240 - 470: 76 27 eor r23, r22 - 472: 70 70 andi r23, 0x00 ; 0 - 474: 86 2b or r24, r22 - 476: 97 2b or r25, r23 - 478: 0e 94 96 01 call 0x32c ; 0x32c + 466: 90 e0 ldi r25, 0x00 ; 0 + 468: 87 70 andi r24, 0x07 ; 7 + 46a: 90 70 andi r25, 0x00 ; 0 + 46c: 98 69 ori r25, 0x98 ; 152 + 46e: 70 e0 ldi r23, 0x00 ; 0 + 470: 62 95 swap r22 + 472: 72 95 swap r23 + 474: 70 7f andi r23, 0xF0 ; 240 + 476: 76 27 eor r23, r22 + 478: 60 7f andi r22, 0xF0 ; 240 + 47a: 76 27 eor r23, r22 + 47c: 70 70 andi r23, 0x00 ; 0 + 47e: 86 2b or r24, r22 + 480: 97 2b or r25, r23 + 482: 0e 94 9b 01 call 0x336 ; 0x336 } - 47c: 08 95 ret + 486: 08 95 ret -0000047e : +00000488 : void rf12_ready(void) { RF_PORT &= ~(1< + 48a: 83 9b sbis 0x10, 3 ; 16 + 48c: fe cf rjmp .-4 ; 0x48a } - 484: 08 95 ret + 48e: 08 95 ret -00000486 : +00000490 : void rf12_beginasyncrx() { rf12_trans(0x82C8); // RX on - 486: 88 ec ldi r24, 0xC8 ; 200 - 488: 92 e8 ldi r25, 0x82 ; 130 - 48a: 0e 94 96 01 call 0x32c ; 0x32c + 490: 88 ec ldi r24, 0xC8 ; 200 + 492: 92 e8 ldi r25, 0x82 ; 130 + 494: 0e 94 9b 01 call 0x336 ; 0x336 rf12_trans(0xCA81); // set FIFO mode - 48e: 81 e8 ldi r24, 0x81 ; 129 - 490: 9a ec ldi r25, 0xCA ; 202 - 492: 0e 94 96 01 call 0x32c ; 0x32c + 498: 81 e8 ldi r24, 0x81 ; 129 + 49a: 9a ec ldi r25, 0xCA ; 202 + 49c: 0e 94 9b 01 call 0x336 ; 0x336 rf12_trans(0xCA83); // enable FIFO - 496: 83 e8 ldi r24, 0x83 ; 131 - 498: 9a ec ldi r25, 0xCA ; 202 - 49a: 0e 94 96 01 call 0x32c ; 0x32c -} - 49e: 08 95 ret - -000004a0 : -uint8_t rf12_hasdata() { - RF_PORT &= ~(1< } 4a8: 08 95 ret -000004aa : -uint8_t rf12_rxbyte() { - return rf12_trans(0xB000); - 4aa: 80 e0 ldi r24, 0x00 ; 0 - 4ac: 90 eb ldi r25, 0xB0 ; 176 - 4ae: 0e 94 96 01 call 0x32c ; 0x32c +000004aa : +uint8_t rf12_hasdata() { + RF_PORT &= ~(1<: -void rf12_endasyncrx() { - rf12_trans(0x8208); // RX off - 4b4: 88 e0 ldi r24, 0x08 ; 8 - 4b6: 92 e8 ldi r25, 0x82 ; 130 - 4b8: 0e 94 96 01 call 0x32c ; 0x32c +000004b4 : +uint8_t rf12_rxbyte() { + return rf12_trans(0xB000); + 4b4: 80 e0 ldi r24, 0x00 ; 0 + 4b6: 90 eb ldi r25, 0xB0 ; 176 + 4b8: 0e 94 9b 01 call 0x336 ; 0x336 } 4bc: 08 95 ret -000004be : +000004be : +void rf12_endasyncrx() { + rf12_trans(0x8208); // RX off + 4be: 88 e0 ldi r24, 0x08 ; 8 + 4c0: 92 e8 ldi r25, 0x82 ; 130 + 4c2: 0e 94 9b 01 call 0x336 ; 0x336 +} + 4c6: 08 95 ret + +000004c8 : void rf12_txdata(unsigned char *data, unsigned char number) { - 4be: 0f 93 push r16 - 4c0: 1f 93 push r17 - 4c2: cf 93 push r28 - 4c4: df 93 push r29 - 4c6: 8c 01 movw r16, r24 - 4c8: c6 2f mov r28, r22 + 4c8: 0f 93 push r16 + 4ca: 1f 93 push r17 + 4cc: cf 93 push r28 + 4ce: df 93 push r29 + 4d0: 8c 01 movw r16, r24 + 4d2: c6 2f mov r28, r22 unsigned char i; rf12_trans(0x8238); // TX on - 4ca: 88 e3 ldi r24, 0x38 ; 56 - 4cc: 92 e8 ldi r25, 0x82 ; 130 - 4ce: 0e 94 96 01 call 0x32c ; 0x32c + 4d4: 88 e3 ldi r24, 0x38 ; 56 + 4d6: 92 e8 ldi r25, 0x82 ; 130 + 4d8: 0e 94 9b 01 call 0x336 ; 0x336 rf12_ready(); - 4d2: 0e 94 3f 02 call 0x47e ; 0x47e + 4dc: 0e 94 44 02 call 0x488 ; 0x488 rf12_trans(0xB8AA); - 4d6: 8a ea ldi r24, 0xAA ; 170 - 4d8: 98 eb ldi r25, 0xB8 ; 184 - 4da: 0e 94 96 01 call 0x32c ; 0x32c + 4e0: 8a ea ldi r24, 0xAA ; 170 + 4e2: 98 eb ldi r25, 0xB8 ; 184 + 4e4: 0e 94 9b 01 call 0x336 ; 0x336 rf12_ready(); - 4de: 0e 94 3f 02 call 0x47e ; 0x47e + 4e8: 0e 94 44 02 call 0x488 ; 0x488 rf12_trans(0xB8AA); - 4e2: 8a ea ldi r24, 0xAA ; 170 - 4e4: 98 eb ldi r25, 0xB8 ; 184 - 4e6: 0e 94 96 01 call 0x32c ; 0x32c + 4ec: 8a ea ldi r24, 0xAA ; 170 + 4ee: 98 eb ldi r25, 0xB8 ; 184 + 4f0: 0e 94 9b 01 call 0x336 ; 0x336 rf12_ready(); - 4ea: 0e 94 3f 02 call 0x47e ; 0x47e + 4f4: 0e 94 44 02 call 0x488 ; 0x488 rf12_trans(0xB8AA); - 4ee: 8a ea ldi r24, 0xAA ; 170 - 4f0: 98 eb ldi r25, 0xB8 ; 184 - 4f2: 0e 94 96 01 call 0x32c ; 0x32c + 4f8: 8a ea ldi r24, 0xAA ; 170 + 4fa: 98 eb ldi r25, 0xB8 ; 184 + 4fc: 0e 94 9b 01 call 0x336 ; 0x336 rf12_ready(); - 4f6: 0e 94 3f 02 call 0x47e ; 0x47e + 500: 0e 94 44 02 call 0x488 ; 0x488 rf12_trans(0xB82D); - 4fa: 8d e2 ldi r24, 0x2D ; 45 - 4fc: 98 eb ldi r25, 0xB8 ; 184 - 4fe: 0e 94 96 01 call 0x32c ; 0x32c + 504: 8d e2 ldi r24, 0x2D ; 45 + 506: 98 eb ldi r25, 0xB8 ; 184 + 508: 0e 94 9b 01 call 0x336 ; 0x336 rf12_ready(); - 502: 0e 94 3f 02 call 0x47e ; 0x47e + 50c: 0e 94 44 02 call 0x488 ; 0x488 rf12_trans(0xB8D4); - 506: 84 ed ldi r24, 0xD4 ; 212 - 508: 98 eb ldi r25, 0xB8 ; 184 - 50a: 0e 94 96 01 call 0x32c ; 0x32c + 510: 84 ed ldi r24, 0xD4 ; 212 + 512: 98 eb ldi r25, 0xB8 ; 184 + 514: 0e 94 9b 01 call 0x336 ; 0x336 for (i=0; i + 518: cc 23 and r28, r28 + 51a: 99 f0 breq .+38 ; 0x542 } void rf12_endasyncrx() { rf12_trans(0x8208); // RX off } void rf12_txdata(unsigned char *data, unsigned char number) - 512: c8 01 movw r24, r16 - 514: 01 96 adiw r24, 0x01 ; 1 - 516: c1 50 subi r28, 0x01 ; 1 - 518: 9c 01 movw r18, r24 - 51a: 2c 0f add r18, r28 - 51c: 31 1d adc r19, r1 - 51e: e9 01 movw r28, r18 + 51c: c8 01 movw r24, r16 + 51e: 01 96 adiw r24, 0x01 ; 1 + 520: c1 50 subi r28, 0x01 ; 1 + 522: 9c 01 movw r18, r24 + 524: 2c 0f add r18, r28 + 526: 31 1d adc r19, r1 + 528: e9 01 movw r28, r18 rf12_trans(0xB82D); rf12_ready(); rf12_trans(0xB8D4); for (i=0; i + 52a: 0e 94 44 02 call 0x488 ; 0x488 rf12_trans(0xB800|(*data++)); - 524: f8 01 movw r30, r16 - 526: 81 91 ld r24, Z+ - 528: 8f 01 movw r16, r30 - 52a: 90 e0 ldi r25, 0x00 ; 0 - 52c: 98 6b ori r25, 0xB8 ; 184 - 52e: 0e 94 96 01 call 0x32c ; 0x32c + 52e: f8 01 movw r30, r16 + 530: 81 91 ld r24, Z+ + 532: 8f 01 movw r16, r30 + 534: 90 e0 ldi r25, 0x00 ; 0 + 536: 98 6b ori r25, 0xB8 ; 184 + 538: 0e 94 9b 01 call 0x336 ; 0x336 rf12_trans(0xB8AA); rf12_ready(); rf12_trans(0xB82D); rf12_ready(); rf12_trans(0xB8D4); for (i=0; i + 53c: 0c 17 cp r16, r28 + 53e: 1d 07 cpc r17, r29 + 540: a1 f7 brne .-24 ; 0x52a { rf12_ready(); rf12_trans(0xB800|(*data++)); } rf12_ready(); - 538: 0e 94 3f 02 call 0x47e ; 0x47e + 542: 0e 94 44 02 call 0x488 ; 0x488 rf12_trans(0x8208); // TX off - 53c: 88 e0 ldi r24, 0x08 ; 8 - 53e: 92 e8 ldi r25, 0x82 ; 130 - 540: 0e 94 96 01 call 0x32c ; 0x32c + 546: 88 e0 ldi r24, 0x08 ; 8 + 548: 92 e8 ldi r25, 0x82 ; 130 + 54a: 0e 94 9b 01 call 0x336 ; 0x336 } - 544: df 91 pop r29 - 546: cf 91 pop r28 - 548: 1f 91 pop r17 - 54a: 0f 91 pop r16 - 54c: 08 95 ret + 54e: df 91 pop r29 + 550: cf 91 pop r28 + 552: 1f 91 pop r17 + 554: 0f 91 pop r16 + 556: 08 95 ret -0000054e : +00000558 : void rf12_rxdata(unsigned char *data, unsigned char number) { - 54e: 0f 93 push r16 - 550: 1f 93 push r17 - 552: cf 93 push r28 - 554: df 93 push r29 - 556: 8c 01 movw r16, r24 - 558: d6 2f mov r29, r22 + 558: 0f 93 push r16 + 55a: 1f 93 push r17 + 55c: cf 93 push r28 + 55e: df 93 push r29 + 560: 8c 01 movw r16, r24 + 562: d6 2f mov r29, r22 unsigned char i; rf12_trans(0x82C8); // RX on - 55a: 88 ec ldi r24, 0xC8 ; 200 - 55c: 92 e8 ldi r25, 0x82 ; 130 - 55e: 0e 94 96 01 call 0x32c ; 0x32c + 564: 88 ec ldi r24, 0xC8 ; 200 + 566: 92 e8 ldi r25, 0x82 ; 130 + 568: 0e 94 9b 01 call 0x336 ; 0x336 rf12_trans(0xCA81); // set FIFO mode - 562: 81 e8 ldi r24, 0x81 ; 129 - 564: 9a ec ldi r25, 0xCA ; 202 - 566: 0e 94 96 01 call 0x32c ; 0x32c + 56c: 81 e8 ldi r24, 0x81 ; 129 + 56e: 9a ec ldi r25, 0xCA ; 202 + 570: 0e 94 9b 01 call 0x336 ; 0x336 rf12_trans(0xCA83); // enable FIFO - 56a: 83 e8 ldi r24, 0x83 ; 131 - 56c: 9a ec ldi r25, 0xCA ; 202 - 56e: 0e 94 96 01 call 0x32c ; 0x32c + 574: 83 e8 ldi r24, 0x83 ; 131 + 576: 9a ec ldi r25, 0xCA ; 202 + 578: 0e 94 9b 01 call 0x336 ; 0x336 for (i=0; i + 57c: dd 23 and r29, r29 + 57e: 99 f0 breq .+38 ; 0x5a6 } rf12_ready(); rf12_trans(0x8208); // TX off } void rf12_rxdata(unsigned char *data, unsigned char number) - 576: c8 01 movw r24, r16 - 578: 01 96 adiw r24, 0x01 ; 1 - 57a: d1 50 subi r29, 0x01 ; 1 - 57c: 9c 01 movw r18, r24 - 57e: 2d 0f add r18, r29 - 580: 31 1d adc r19, r1 - 582: e9 01 movw r28, r18 + 580: c8 01 movw r24, r16 + 582: 01 96 adiw r24, 0x01 ; 1 + 584: d1 50 subi r29, 0x01 ; 1 + 586: 9c 01 movw r18, r24 + 588: 2d 0f add r18, r29 + 58a: 31 1d adc r19, r1 + 58c: e9 01 movw r28, r18 rf12_trans(0x82C8); // RX on rf12_trans(0xCA81); // set FIFO mode rf12_trans(0xCA83); // enable FIFO for (i=0; i + 58e: 0e 94 44 02 call 0x488 ; 0x488 *data++=rf12_trans(0xB000); - 588: 80 e0 ldi r24, 0x00 ; 0 - 58a: 90 eb ldi r25, 0xB0 ; 176 - 58c: 0e 94 96 01 call 0x32c ; 0x32c - 590: f8 01 movw r30, r16 - 592: 81 93 st Z+, r24 - 594: 8f 01 movw r16, r30 + 592: 80 e0 ldi r24, 0x00 ; 0 + 594: 90 eb ldi r25, 0xB0 ; 176 + 596: 0e 94 9b 01 call 0x336 ; 0x336 + 59a: f8 01 movw r30, r16 + 59c: 81 93 st Z+, r24 + 59e: 8f 01 movw r16, r30 { unsigned char i; rf12_trans(0x82C8); // RX on rf12_trans(0xCA81); // set FIFO mode rf12_trans(0xCA83); // enable FIFO for (i=0; i + 5a0: ec 17 cp r30, r28 + 5a2: fd 07 cpc r31, r29 + 5a4: a1 f7 brne .-24 ; 0x58e { rf12_ready(); *data++=rf12_trans(0xB000); } rf12_trans(0x8208); // RX off - 59c: 88 e0 ldi r24, 0x08 ; 8 - 59e: 92 e8 ldi r25, 0x82 ; 130 - 5a0: 0e 94 96 01 call 0x32c ; 0x32c + 5a6: 88 e0 ldi r24, 0x08 ; 8 + 5a8: 92 e8 ldi r25, 0x82 ; 130 + 5aa: 0e 94 9b 01 call 0x336 ; 0x336 } - 5a4: df 91 pop r29 - 5a6: cf 91 pop r28 - 5a8: 1f 91 pop r17 - 5aa: 0f 91 pop r16 - 5ac: 08 95 ret + 5ae: df 91 pop r29 + 5b0: cf 91 pop r28 + 5b2: 1f 91 pop r17 + 5b4: 0f 91 pop r16 + 5b6: 08 95 ret -000005ae : +000005b8 : void rf12_txpacket(uint8_t addr, uint8_t from, uint8_t data) { - 5ae: 1f 93 push r17 - 5b0: cf 93 push r28 - 5b2: df 93 push r29 - 5b4: 18 2f mov r17, r24 - 5b6: d6 2f mov r29, r22 - 5b8: c4 2f mov r28, r20 + 5b8: 1f 93 push r17 + 5ba: cf 93 push r28 + 5bc: df 93 push r29 + 5be: 18 2f mov r17, r24 + 5c0: d6 2f mov r29, r22 + 5c2: c4 2f mov r28, r20 rf12_trans(0x8238); // TX on - 5ba: 88 e3 ldi r24, 0x38 ; 56 - 5bc: 92 e8 ldi r25, 0x82 ; 130 - 5be: 0e 94 96 01 call 0x32c ; 0x32c + 5c4: 88 e3 ldi r24, 0x38 ; 56 + 5c6: 92 e8 ldi r25, 0x82 ; 130 + 5c8: 0e 94 9b 01 call 0x336 ; 0x336 rf12_ready(); - 5c2: 0e 94 3f 02 call 0x47e ; 0x47e + 5cc: 0e 94 44 02 call 0x488 ; 0x488 rf12_trans(0xB8AA); - 5c6: 8a ea ldi r24, 0xAA ; 170 - 5c8: 98 eb ldi r25, 0xB8 ; 184 - 5ca: 0e 94 96 01 call 0x32c ; 0x32c + 5d0: 8a ea ldi r24, 0xAA ; 170 + 5d2: 98 eb ldi r25, 0xB8 ; 184 + 5d4: 0e 94 9b 01 call 0x336 ; 0x336 rf12_ready(); - 5ce: 0e 94 3f 02 call 0x47e ; 0x47e + 5d8: 0e 94 44 02 call 0x488 ; 0x488 rf12_trans(0xB8AA); - 5d2: 8a ea ldi r24, 0xAA ; 170 - 5d4: 98 eb ldi r25, 0xB8 ; 184 - 5d6: 0e 94 96 01 call 0x32c ; 0x32c + 5dc: 8a ea ldi r24, 0xAA ; 170 + 5de: 98 eb ldi r25, 0xB8 ; 184 + 5e0: 0e 94 9b 01 call 0x336 ; 0x336 rf12_ready(); - 5da: 0e 94 3f 02 call 0x47e ; 0x47e + 5e4: 0e 94 44 02 call 0x488 ; 0x488 rf12_trans(0xB8AA); - 5de: 8a ea ldi r24, 0xAA ; 170 - 5e0: 98 eb ldi r25, 0xB8 ; 184 - 5e2: 0e 94 96 01 call 0x32c ; 0x32c + 5e8: 8a ea ldi r24, 0xAA ; 170 + 5ea: 98 eb ldi r25, 0xB8 ; 184 + 5ec: 0e 94 9b 01 call 0x336 ; 0x336 rf12_ready(); - 5e6: 0e 94 3f 02 call 0x47e ; 0x47e + 5f0: 0e 94 44 02 call 0x488 ; 0x488 rf12_trans(0xB82D); - 5ea: 8d e2 ldi r24, 0x2D ; 45 - 5ec: 98 eb ldi r25, 0xB8 ; 184 - 5ee: 0e 94 96 01 call 0x32c ; 0x32c + 5f4: 8d e2 ldi r24, 0x2D ; 45 + 5f6: 98 eb ldi r25, 0xB8 ; 184 + 5f8: 0e 94 9b 01 call 0x336 ; 0x336 rf12_ready(); - 5f2: 0e 94 3f 02 call 0x47e ; 0x47e + 5fc: 0e 94 44 02 call 0x488 ; 0x488 rf12_trans(0xB8D4); - 5f6: 84 ed ldi r24, 0xD4 ; 212 - 5f8: 98 eb ldi r25, 0xB8 ; 184 - 5fa: 0e 94 96 01 call 0x32c ; 0x32c + 600: 84 ed ldi r24, 0xD4 ; 212 + 602: 98 eb ldi r25, 0xB8 ; 184 + 604: 0e 94 9b 01 call 0x336 ; 0x336 rf12_ready(); - 5fe: 0e 94 3f 02 call 0x47e ; 0x47e + 608: 0e 94 44 02 call 0x488 ; 0x488 rf12_trans(0xB800|addr); - 602: 81 2f mov r24, r17 - 604: 90 e0 ldi r25, 0x00 ; 0 - 606: 98 6b ori r25, 0xB8 ; 184 - 608: 0e 94 96 01 call 0x32c ; 0x32c + 60c: 81 2f mov r24, r17 + 60e: 90 e0 ldi r25, 0x00 ; 0 + 610: 98 6b ori r25, 0xB8 ; 184 + 612: 0e 94 9b 01 call 0x336 ; 0x336 rf12_ready(); - 60c: 0e 94 3f 02 call 0x47e ; 0x47e + 616: 0e 94 44 02 call 0x488 ; 0x488 rf12_trans(0xB800|from); - 610: 8d 2f mov r24, r29 - 612: 90 e0 ldi r25, 0x00 ; 0 - 614: 98 6b ori r25, 0xB8 ; 184 - 616: 0e 94 96 01 call 0x32c ; 0x32c + 61a: 8d 2f mov r24, r29 + 61c: 90 e0 ldi r25, 0x00 ; 0 + 61e: 98 6b ori r25, 0xB8 ; 184 + 620: 0e 94 9b 01 call 0x336 ; 0x336 rf12_ready(); - 61a: 0e 94 3f 02 call 0x47e ; 0x47e + 624: 0e 94 44 02 call 0x488 ; 0x488 rf12_trans(0xB800|data); - 61e: 8c 2f mov r24, r28 - 620: 90 e0 ldi r25, 0x00 ; 0 - 622: 98 6b ori r25, 0xB8 ; 184 - 624: 0e 94 96 01 call 0x32c ; 0x32c + 628: 8c 2f mov r24, r28 + 62a: 90 e0 ldi r25, 0x00 ; 0 + 62c: 98 6b ori r25, 0xB8 ; 184 + 62e: 0e 94 9b 01 call 0x336 ; 0x336 rf12_ready(); - 628: 0e 94 3f 02 call 0x47e ; 0x47e + 632: 0e 94 44 02 call 0x488 ; 0x488 rf12_trans(0xB800); - 62c: 80 e0 ldi r24, 0x00 ; 0 - 62e: 98 eb ldi r25, 0xB8 ; 184 - 630: 0e 94 96 01 call 0x32c ; 0x32c + 636: 80 e0 ldi r24, 0x00 ; 0 + 638: 98 eb ldi r25, 0xB8 ; 184 + 63a: 0e 94 9b 01 call 0x336 ; 0x336 rf12_ready(); - 634: 0e 94 3f 02 call 0x47e ; 0x47e + 63e: 0e 94 44 02 call 0x488 ; 0x488 rf12_trans(0x8208); // TX off - 638: 88 e0 ldi r24, 0x08 ; 8 - 63a: 92 e8 ldi r25, 0x82 ; 130 - 63c: 0e 94 96 01 call 0x32c ; 0x32c - 640: 8f ef ldi r24, 0xFF ; 255 - 642: 90 e7 ldi r25, 0x70 ; 112 - 644: a2 e0 ldi r26, 0x02 ; 2 - 646: 81 50 subi r24, 0x01 ; 1 - 648: 90 40 sbci r25, 0x00 ; 0 - 64a: a0 40 sbci r26, 0x00 ; 0 - 64c: e1 f7 brne .-8 ; 0x646 - 64e: 00 c0 rjmp .+0 ; 0x650 - 650: 00 00 nop + 642: 88 e0 ldi r24, 0x08 ; 8 + 644: 92 e8 ldi r25, 0x82 ; 130 + 646: 0e 94 9b 01 call 0x336 ; 0x336 + 64a: 8f ef ldi r24, 0xFF ; 255 + 64c: 90 e7 ldi r25, 0x70 ; 112 + 64e: a2 e0 ldi r26, 0x02 ; 2 + 650: 81 50 subi r24, 0x01 ; 1 + 652: 90 40 sbci r25, 0x00 ; 0 + 654: a0 40 sbci r26, 0x00 ; 0 + 656: e1 f7 brne .-8 ; 0x650 + 658: 00 c0 rjmp .+0 ; 0x65a + 65a: 00 00 nop _delay_ms(100); - 652: df 91 pop r29 - 654: cf 91 pop r28 - 656: 1f 91 pop r17 - 658: 08 95 ret + 65c: df 91 pop r29 + 65e: cf 91 pop r28 + 660: 1f 91 pop r17 + 662: 08 95 ret -0000065a <__udivmodsi4>: - 65a: a1 e2 ldi r26, 0x21 ; 33 - 65c: 1a 2e mov r1, r26 - 65e: aa 1b sub r26, r26 - 660: bb 1b sub r27, r27 - 662: fd 01 movw r30, r26 - 664: 0d c0 rjmp .+26 ; 0x680 <__udivmodsi4_ep> +00000664 <__udivmodsi4>: + 664: a1 e2 ldi r26, 0x21 ; 33 + 666: 1a 2e mov r1, r26 + 668: aa 1b sub r26, r26 + 66a: bb 1b sub r27, r27 + 66c: fd 01 movw r30, r26 + 66e: 0d c0 rjmp .+26 ; 0x68a <__udivmodsi4_ep> -00000666 <__udivmodsi4_loop>: - 666: aa 1f adc r26, r26 - 668: bb 1f adc r27, r27 - 66a: ee 1f adc r30, r30 - 66c: ff 1f adc r31, r31 - 66e: a2 17 cp r26, r18 - 670: b3 07 cpc r27, r19 - 672: e4 07 cpc r30, r20 - 674: f5 07 cpc r31, r21 - 676: 20 f0 brcs .+8 ; 0x680 <__udivmodsi4_ep> - 678: a2 1b sub r26, r18 - 67a: b3 0b sbc r27, r19 - 67c: e4 0b sbc r30, r20 - 67e: f5 0b sbc r31, r21 +00000670 <__udivmodsi4_loop>: + 670: aa 1f adc r26, r26 + 672: bb 1f adc r27, r27 + 674: ee 1f adc r30, r30 + 676: ff 1f adc r31, r31 + 678: a2 17 cp r26, r18 + 67a: b3 07 cpc r27, r19 + 67c: e4 07 cpc r30, r20 + 67e: f5 07 cpc r31, r21 + 680: 20 f0 brcs .+8 ; 0x68a <__udivmodsi4_ep> + 682: a2 1b sub r26, r18 + 684: b3 0b sbc r27, r19 + 686: e4 0b sbc r30, r20 + 688: f5 0b sbc r31, r21 -00000680 <__udivmodsi4_ep>: - 680: 66 1f adc r22, r22 - 682: 77 1f adc r23, r23 - 684: 88 1f adc r24, r24 - 686: 99 1f adc r25, r25 - 688: 1a 94 dec r1 - 68a: 69 f7 brne .-38 ; 0x666 <__udivmodsi4_loop> - 68c: 60 95 com r22 - 68e: 70 95 com r23 - 690: 80 95 com r24 - 692: 90 95 com r25 - 694: 9b 01 movw r18, r22 - 696: ac 01 movw r20, r24 - 698: bd 01 movw r22, r26 - 69a: cf 01 movw r24, r30 - 69c: 08 95 ret +0000068a <__udivmodsi4_ep>: + 68a: 66 1f adc r22, r22 + 68c: 77 1f adc r23, r23 + 68e: 88 1f adc r24, r24 + 690: 99 1f adc r25, r25 + 692: 1a 94 dec r1 + 694: 69 f7 brne .-38 ; 0x670 <__udivmodsi4_loop> + 696: 60 95 com r22 + 698: 70 95 com r23 + 69a: 80 95 com r24 + 69c: 90 95 com r25 + 69e: 9b 01 movw r18, r22 + 6a0: ac 01 movw r20, r24 + 6a2: bd 01 movw r22, r26 + 6a4: cf 01 movw r24, r30 + 6a6: 08 95 ret -0000069e <__divmodsi4>: - 69e: 97 fb bst r25, 7 - 6a0: 09 2e mov r0, r25 - 6a2: 05 26 eor r0, r21 - 6a4: 0e d0 rcall .+28 ; 0x6c2 <__divmodsi4_neg1> - 6a6: 57 fd sbrc r21, 7 - 6a8: 04 d0 rcall .+8 ; 0x6b2 <__divmodsi4_neg2> - 6aa: d7 df rcall .-82 ; 0x65a <__udivmodsi4> - 6ac: 0a d0 rcall .+20 ; 0x6c2 <__divmodsi4_neg1> - 6ae: 00 1c adc r0, r0 - 6b0: 38 f4 brcc .+14 ; 0x6c0 <__divmodsi4_exit> +000006a8 <__divmodsi4>: + 6a8: 97 fb bst r25, 7 + 6aa: 09 2e mov r0, r25 + 6ac: 05 26 eor r0, r21 + 6ae: 0e d0 rcall .+28 ; 0x6cc <__divmodsi4_neg1> + 6b0: 57 fd sbrc r21, 7 + 6b2: 04 d0 rcall .+8 ; 0x6bc <__divmodsi4_neg2> + 6b4: d7 df rcall .-82 ; 0x664 <__udivmodsi4> + 6b6: 0a d0 rcall .+20 ; 0x6cc <__divmodsi4_neg1> + 6b8: 00 1c adc r0, r0 + 6ba: 38 f4 brcc .+14 ; 0x6ca <__divmodsi4_exit> -000006b2 <__divmodsi4_neg2>: - 6b2: 50 95 com r21 - 6b4: 40 95 com r20 - 6b6: 30 95 com r19 - 6b8: 21 95 neg r18 - 6ba: 3f 4f sbci r19, 0xFF ; 255 - 6bc: 4f 4f sbci r20, 0xFF ; 255 - 6be: 5f 4f sbci r21, 0xFF ; 255 +000006bc <__divmodsi4_neg2>: + 6bc: 50 95 com r21 + 6be: 40 95 com r20 + 6c0: 30 95 com r19 + 6c2: 21 95 neg r18 + 6c4: 3f 4f sbci r19, 0xFF ; 255 + 6c6: 4f 4f sbci r20, 0xFF ; 255 + 6c8: 5f 4f sbci r21, 0xFF ; 255 -000006c0 <__divmodsi4_exit>: - 6c0: 08 95 ret +000006ca <__divmodsi4_exit>: + 6ca: 08 95 ret -000006c2 <__divmodsi4_neg1>: - 6c2: f6 f7 brtc .-4 ; 0x6c0 <__divmodsi4_exit> - 6c4: 90 95 com r25 - 6c6: 80 95 com r24 - 6c8: 70 95 com r23 - 6ca: 61 95 neg r22 - 6cc: 7f 4f sbci r23, 0xFF ; 255 - 6ce: 8f 4f sbci r24, 0xFF ; 255 - 6d0: 9f 4f sbci r25, 0xFF ; 255 - 6d2: 08 95 ret +000006cc <__divmodsi4_neg1>: + 6cc: f6 f7 brtc .-4 ; 0x6ca <__divmodsi4_exit> + 6ce: 90 95 com r25 + 6d0: 80 95 com r24 + 6d2: 70 95 com r23 + 6d4: 61 95 neg r22 + 6d6: 7f 4f sbci r23, 0xFF ; 255 + 6d8: 8f 4f sbci r24, 0xFF ; 255 + 6da: 9f 4f sbci r25, 0xFF ; 255 + 6dc: 08 95 ret -000006d4 <_exit>: - 6d4: f8 94 cli +000006de <_exit>: + 6de: f8 94 cli -000006d6 <__stop_program>: - 6d6: ff cf rjmp .-2 ; 0x6d6 <__stop_program> +000006e0 <__stop_program>: + 6e0: ff cf rjmp .-2 ; 0x6e0 <__stop_program> diff --git a/Reciver/Reciver/Debug/Reciver.map b/Reciver/Reciver/Debug/Reciver.map index 234bfb5..0b18bab 100644 --- a/Reciver/Reciver/Debug/Reciver.map +++ b/Reciver/Reciver/Debug/Reciver.map @@ -1,14 +1,14 @@ Archive member included because of file (symbol) -e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) +c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) rf12.o (__udivmodsi4) -e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) +c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) rf12.o (__divmodsi4) -e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) - e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o (exit) -e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) +c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o (exit) +c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) Reciver.o (__do_copy_data) -e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) +c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) Reciver.o (__do_clear_bss) Memory Configuration @@ -24,15 +24,15 @@ signature 0x00840000 0x00000400 rw !x Linker script and memory map -LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o +LOAD c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o LOAD Reciver.o LOAD rf12.o START GROUP -LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libm.a +LOAD c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libm.a END GROUP -LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a -LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libc.a -LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a +LOAD c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a +LOAD c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libc.a +LOAD c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a .hash *(.hash) @@ -124,9 +124,9 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo .rela.plt *(.rela.plt) -.text 0x00000000 0x6d8 +.text 0x00000000 0x6e2 *(.vectors) - .vectors 0x00000000 0x54 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o + .vectors 0x00000000 0x54 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o 0x00000000 __vector_default 0x00000000 __vectors *(.vectors) @@ -151,20 +151,20 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo SORT(*)(.ctors) SORT(*)(.dtors) *(.init0) - .init0 0x00000054 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o + .init0 0x00000054 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o 0x00000054 __init *(.init0) *(.init1) *(.init1) *(.init2) - .init2 0x00000054 0xc e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o + .init2 0x00000054 0xc c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o *(.init2) *(.init3) *(.init3) *(.init4) - .init4 0x00000060 0x16 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) + .init4 0x00000060 0x16 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) 0x00000060 __do_copy_data - .init4 0x00000076 0x10 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) + .init4 0x00000076 0x10 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) 0x00000076 __do_clear_bss *(.init4) *(.init5) @@ -176,10 +176,10 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo *(.init8) *(.init8) *(.init9) - .init9 0x00000086 0x8 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o + .init9 0x00000086 0x8 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o *(.init9) *(.text) - .text 0x0000008e 0x4 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o + .text 0x0000008e 0x4 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o 0x0000008e __vector_1 0x0000008e __vector_12 0x0000008e __bad_interrupt @@ -200,47 +200,47 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo 0x0000008e __vector_16 0x0000008e __vector_18 0x0000008e __vector_20 - .text 0x00000092 0x29a Reciver.o + .text 0x00000092 0x2a4 Reciver.o 0x00000092 turn - 0x000000ea poll - 0x0000010c recive - 0x000001ba init_timer - 0x000001ca __vector_9 - 0x000002fa main - .text 0x0000032c 0x32e rf12.o - 0x0000032c rf12_trans - 0x0000035e rf12_init - 0x000003b2 rf12_setbandwidth - 0x000003ee rf12_setfreq - 0x0000040e rf12_setbaud - 0x0000045c rf12_setpower - 0x0000047e rf12_ready - 0x00000486 rf12_beginasyncrx - 0x000004a0 rf12_hasdata - 0x000004aa rf12_rxbyte - 0x000004b4 rf12_endasyncrx - 0x000004be rf12_txdata - 0x0000054e rf12_rxdata - 0x000005ae rf12_txpacket - .text 0x0000065a 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) - .text 0x0000065a 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) - .text 0x0000065a 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) - .text 0x0000065a 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) - .text 0x0000065a 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) - 0x0000065a . = ALIGN (0x2) + 0x00000108 poll + 0x0000012a recive + 0x000001dc init_timer + 0x000001ec __vector_9 + 0x00000304 main + .text 0x00000336 0x32e rf12.o + 0x00000336 rf12_trans + 0x00000368 rf12_init + 0x000003bc rf12_setbandwidth + 0x000003f8 rf12_setfreq + 0x00000418 rf12_setbaud + 0x00000466 rf12_setpower + 0x00000488 rf12_ready + 0x00000490 rf12_beginasyncrx + 0x000004aa rf12_hasdata + 0x000004b4 rf12_rxbyte + 0x000004be rf12_endasyncrx + 0x000004c8 rf12_txdata + 0x00000558 rf12_rxdata + 0x000005b8 rf12_txpacket + .text 0x00000664 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) + .text 0x00000664 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) + .text 0x00000664 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + .text 0x00000664 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) + .text 0x00000664 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) + 0x00000664 . = ALIGN (0x2) *(.text.*) - .text.libgcc 0x0000065a 0x44 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) - 0x0000065a __udivmodsi4 - .text.libgcc 0x0000069e 0x36 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) - 0x0000069e __divmodsi4 - .text.libgcc 0x000006d4 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) - .text.libgcc 0x000006d4 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) - .text.libgcc 0x000006d4 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) - 0x000006d4 . = ALIGN (0x2) + .text.libgcc 0x00000664 0x44 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) + 0x00000664 __udivmodsi4 + .text.libgcc 0x000006a8 0x36 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) + 0x000006a8 __divmodsi4 + .text.libgcc 0x000006de 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + .text.libgcc 0x000006de 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) + .text.libgcc 0x000006de 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) + 0x000006de . = ALIGN (0x2) *(.fini9) - .fini9 0x000006d4 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) - 0x000006d4 _exit - 0x000006d4 exit + .fini9 0x000006de 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + 0x000006de _exit + 0x000006de exit *(.fini9) *(.fini8) *(.fini8) @@ -259,23 +259,23 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo *(.fini1) *(.fini1) *(.fini0) - .fini0 0x000006d4 0x4 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + .fini0 0x000006de 0x4 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) *(.fini0) - 0x000006d8 _etext = . + 0x000006e2 _etext = . -.data 0x00800060 0x4 load address 0x000006d8 +.data 0x00800060 0x4 load address 0x000006e2 0x00800060 PROVIDE (__data_start, .) *(.data) - .data 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o + .data 0x00800060 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o .data 0x00800060 0x4 Reciver.o 0x00800060 servopos 0x00800062 status .data 0x00800064 0x0 rf12.o - .data 0x00800064 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) - .data 0x00800064 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) - .data 0x00800064 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) - .data 0x00800064 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) - .data 0x00800064 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) + .data 0x00800064 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) + .data 0x00800064 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) + .data 0x00800064 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + .data 0x00800064 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) + .data 0x00800064 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) *(.data*) *(.rodata) *(.rodata*) @@ -287,20 +287,20 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo .bss 0x00800064 0x2 0x00800064 PROVIDE (__bss_start, .) *(.bss) - .bss 0x00800064 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o + .bss 0x00800064 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o .bss 0x00800064 0x2 Reciver.o 0x00800064 pwm_led .bss 0x00800066 0x0 rf12.o - .bss 0x00800066 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) - .bss 0x00800066 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) - .bss 0x00800066 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) - .bss 0x00800066 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) - .bss 0x00800066 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) + .bss 0x00800066 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) + .bss 0x00800066 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) + .bss 0x00800066 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + .bss 0x00800066 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) + .bss 0x00800066 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) *(.bss*) *(COMMON) 0x00800066 PROVIDE (__bss_end, .) - 0x000006d8 __data_load_start = LOADADDR (.data) - 0x000006dc __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x000006e2 __data_load_start = LOADADDR (.data) + 0x000006e6 __data_load_end = (__data_load_start + SIZEOF (.data)) .noinit 0x00800066 0x0 0x00800066 PROVIDE (__noinit_start, .) @@ -327,11 +327,11 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo .stab 0x00000000 0x6cc *(.stab) - .stab 0x00000000 0x6cc e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o + .stab 0x00000000 0x6cc c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o .stabstr 0x00000000 0x85 *(.stabstr) - .stabstr 0x00000000 0x85 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o + .stabstr 0x00000000 0x85 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o .stab.excl *(.stab.excl) @@ -367,66 +367,66 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo .debug_aranges 0x00000020 0x20 rf12.o .debug_aranges - 0x00000040 0x20 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) + 0x00000040 0x20 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) .debug_aranges - 0x00000060 0x20 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) + 0x00000060 0x20 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) .debug_aranges - 0x00000080 0x20 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + 0x00000080 0x20 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) .debug_aranges - 0x000000a0 0x20 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) + 0x000000a0 0x20 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) .debug_aranges - 0x000000c0 0x20 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) + 0x000000c0 0x20 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) .debug_pubnames *(.debug_pubnames) -.debug_info 0x00000000 0xc22 +.debug_info 0x00000000 0xc6f *(.debug_info) - .debug_info 0x00000000 0x38b Reciver.o - .debug_info 0x0000038b 0x446 rf12.o - .debug_info 0x000007d1 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) - .debug_info 0x000008ae 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) - .debug_info 0x0000098b 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) - .debug_info 0x00000a68 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) - .debug_info 0x00000b45 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) + .debug_info 0x00000000 0x3d8 Reciver.o + .debug_info 0x000003d8 0x446 rf12.o + .debug_info 0x0000081e 0xdd c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) + .debug_info 0x000008fb 0xdd c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) + .debug_info 0x000009d8 0xdd c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + .debug_info 0x00000ab5 0xdd c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) + .debug_info 0x00000b92 0xdd c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) *(.gnu.linkonce.wi.*) -.debug_abbrev 0x00000000 0x388 +.debug_abbrev 0x00000000 0x36d *(.debug_abbrev) - .debug_abbrev 0x00000000 0x189 Reciver.o - .debug_abbrev 0x00000189 0x19b rf12.o - .debug_abbrev 0x00000324 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) - .debug_abbrev 0x00000338 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) - .debug_abbrev 0x0000034c 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) - .debug_abbrev 0x00000360 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) - .debug_abbrev 0x00000374 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) + .debug_abbrev 0x00000000 0x16e Reciver.o + .debug_abbrev 0x0000016e 0x19b rf12.o + .debug_abbrev 0x00000309 0x14 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) + .debug_abbrev 0x0000031d 0x14 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) + .debug_abbrev 0x00000331 0x14 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + .debug_abbrev 0x00000345 0x14 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) + .debug_abbrev 0x00000359 0x14 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) -.debug_line 0x00000000 0x6ff +.debug_line 0x00000000 0x730 *(.debug_line) - .debug_line 0x00000000 0x201 Reciver.o - .debug_line 0x00000201 0x20e rf12.o - .debug_line 0x0000040f 0xa8 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) - .debug_line 0x000004b7 0xa1 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) - .debug_line 0x00000558 0x88 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) - .debug_line 0x000005e0 0x91 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) - .debug_line 0x00000671 0x8e e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) + .debug_line 0x00000000 0x21e Reciver.o + .debug_line 0x0000021e 0x222 rf12.o + .debug_line 0x00000440 0xa8 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) + .debug_line 0x000004e8 0xa1 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) + .debug_line 0x00000589 0x88 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + .debug_line 0x00000611 0x91 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) + .debug_line 0x000006a2 0x8e c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) .debug_frame 0x00000000 0x1c8 *(.debug_frame) .debug_frame 0x00000000 0x9c Reciver.o .debug_frame 0x0000009c 0x12c rf12.o -.debug_str 0x00000000 0x24b +.debug_str 0x00000000 0x25b *(.debug_str) - .debug_str 0x00000000 0x154 Reciver.o - 0x18d (size before relaxing) - .debug_str 0x00000154 0xf7 rf12.o - 0x24b (size before relaxing) + .debug_str 0x00000000 0x164 Reciver.o + 0x19d (size before relaxing) + .debug_str 0x00000164 0xf7 rf12.o + 0x25b (size before relaxing) -.debug_loc 0x00000000 0x562 +.debug_loc 0x00000000 0x620 *(.debug_loc) - .debug_loc 0x00000000 0x220 Reciver.o - .debug_loc 0x00000220 0x342 rf12.o + .debug_loc 0x00000000 0x2de Reciver.o + .debug_loc 0x000002de 0x342 rf12.o .debug_macinfo *(.debug_macinfo) diff --git a/Reciver/Reciver/Debug/Reciver.srec b/Reciver/Reciver/Debug/Reciver.srec index d40575a..09c109a 100644 --- a/Reciver/Reciver/Debug/Reciver.srec +++ b/Reciver/Reciver/Debug/Reciver.srec @@ -1,113 +1,114 @@ S00F0000526563697665722E7372656345 S11300000C942A000C9447000C9447000C9447006D S11300100C9447000C9447000C9447000C94470040 -S11300200C9447000C94E5000C9447000C94470092 +S11300200C9447000C94F6000C9447000C94470081 S11300300C9447000C9447000C9447000C94470020 S11300400C9447000C9447000C9447000C94470010 S11300500C94470011241FBECFE5D4E0DEBFCDBF12 -S113006010E0A0E6B0E0E8EDF6E002C005900D92E5 +S113006010E0A0E6B0E0E2EEF6E002C005900D92EA S1130070A436B107D9F710E0A4E6B0E001C01D92A0 -S1130080A636B107E1F70E947D010C946A030C9433 -S1130090000080916200909163008630910521F107 -S11300A086E090E090936300809362008EE890E095 +S1130080A636B107E1F70E9482010C946F030C9429 +S1130090000080916200909163008630910599F18F +S11300A086E090E0909363008093620088E790E09C S11300B090936100809360008FEF96E1A1E18150FD -S11300C09040A040E1F700C000008AEC90E09093DB +S11300C09040A040E1F700C000008CE390E09093E2 S11300D06100809360008FEF96E1A1E18150904030 -S11300E0A040E1F700C00000089589988091620063 -S11300F0909163008330910541F4819B06C00E9476 -S11301005A020E9449000E9443020895CF930E941C -S1130110430202C00E9475000E9450028823D1F756 -S11301200E945502882341F08A3031F0803F09F063 -S113013042C002C00E9475000E9450028823D1F779 -S11301400E945502C82F02C00E9475000E945002EE -S11301508823D1F7C13079F50E945502843051F0DB -S1130160853018F4813039F516C0853051F0873068 -S113017011F50EC082E090E09093630080936200DA -S11301800AC083E090E0909363008093620003C010 -S11301900E94490010C00E945A028FE39CE9019713 -S11301A0F1F700C00000409162005091630081E0CB -S11301B06AE00E94D702CF91089585E083BF88E565 -S11301C082BF1CBE81E089BF08951F920F920FB6B3 -S11301D00F9211242F933F938F939F9388E582BFAF -S11301E0809162009091630082309105D9F48091EE -S11301F06400909165008233910554F48091640009 -S113020090916500019690936500809364000AC004 -S1130210B89AB09B02C0C09801C0C09A1092650001 -S11302201092640080916200909163008330910584 -S1130230D9F480916400909165008530910554F45F -S1130240809164009091650001969093650080937D -S113025064000AC0B89AB09B02C0C09801C0C09A9A -S11302601092650010926400809162009091630086 -S113027086309105D9F48091640090916500181638 -S1130280190654F080916400909165000196909352 -S11302906500809364000AC0B89AB09B02C0C098FD -S11302A001C0C09A1092650010926400B99AC19A74 -S11302B08FEA94E00197F1F700C00000809160009C -S11302C0909161001816190674F480E090E025E11D -S11302D02A95F1F7000001962091600030916100A9 -S11302E082179307A4F3C1989F918F913F912F9107 -S11302F00F900FBE0F901F9018950E94AF0180E2DF -S113030096E00E94F70181E060E047E00E94D90195 -S113031080E895E20E94070280E066E00E942E02D7 -S11303200E94DD0078940E948600FDCF949840E1FD -S113033020E030E0992314F4969A01C09698220F95 -S1130340331F83992160959A880F991F00C000007C -S11303509598415079F7949A822F932F089581B3F9 -S1130360806781BB949A8FEF90E7A2E08150904020 -S1130370A040E1F700C0000080EE90EC0E949601DE -S113038087ED90E80E9496018BEA92EC0E94960118 -S113039081E89AEC0E94960180E090EE0E9496011A -S11303A080E098EC0E94960187EF94EC0E949601FD -S11303B0089590E0880F991F82959295907F9827D1 -S11303C0807F9827907050E047705070842B952B55 -S11303D0946970E063707070660F771F660F771F03 -S11303E0660F771F862B972B0E94960108958036FF -S11303F0910538F02FE08034920728F08FE39FE0D6 -S113040002C080E690E0906A0E949601089522E07E -S11304108739920710F125E18831920780F49C0115 -S113042040E050E060E678EA80E090E00E944F030C -S1130430C90101978068966C0E94960108959C01F9 -S113044040E050E06CEF72E485E090E00E942D0300 -S1130450C9010197966C0E949601089590E08770F7 -S11304609070986970E062957295707F7627607FCE -S113047076277070862B972B0E9496010895949886 -S1130480839BFECF089588EC92E80E94960181E850 -S11304909AEC0E94960183E89AEC0E9496010895D2 -S11304A0949881E0839980E0089580E090EB0E9425 -S11304B09601089588E092E80E94960108950F93AA -S11304C01F93CF93DF938C01C62F88E392E80E9499 -S11304D096010E943F028AEA98EB0E9496010E94CC -S11304E03F028AEA98EB0E9496010E943F028AEA40 -S11304F098EB0E9496010E943F028DE298EB0E94C5 -S113050096010E943F0284ED98EB0E949601CC2351 -S113051099F0C8010196C1509C012C0F311DE901CD -S11305200E943F02F80181918F0190E0986B0E9434 -S113053096010C171D07A1F70E943F0288E092E87C -S11305400E949601DF91CF911F910F9108950F930F -S11305501F93CF93DF938C01D62F88EC92E80E94EF -S1130560960181E89AEC0E94960183E89AEC0E9435 -S11305709601DD2399F0C8010196D1509C012D0FFD -S1130580311DE9010E943F0280E090EB0E94960138 -S1130590F80181938F01EC17FD07A1F788E092E839 -S11305A00E949601DF91CF911F910F9108951F939F -S11305B0CF93DF93182FD62FC42F88E392E80E949D -S11305C096010E943F028AEA98EB0E9496010E94DB -S11305D03F028AEA98EB0E9496010E943F028AEA4F -S11305E098EB0E9496010E943F028DE298EB0E94D4 -S11305F096010E943F0284ED98EB0E9496010E94AE -S11306003F02812F90E0986B0E9496010E943F0266 -S11306108D2F90E0986B0E9496010E943F028C2FD0 -S113062090E0986B0E9496010E943F0280E098EB54 -S11306300E9496010E943F0288E092E80E9496017F -S11306408FEF90E7A2E081509040A040E1F700C016 -S11306500000DF91CF911F910895A1E21A2EAA1BE9 -S1130660BB1BFD010DC0AA1FBB1FEE1FFF1FA2175E -S1130670B307E407F50720F0A21BB30BE40BF50B5B -S1130680661F771F881F991F1A9469F760957095E4 -S1130690809590959B01AC01BD01CF01089597FB16 -S11306A0092E05260ED057FD04D0D7DF0AD0001C32 -S11306B038F450954095309521953F4F4F4F5F4FFB -S11306C00895F6F790958095709561957F4F8F4FBB -S10B06D09F4F0895F894FFCF39 -S10706D8CA0002004E +S11300E0A040E1F700C0000084EB90E09093610031 +S11300F0809360008FEF96E1A1E181509040A04091 +S1130100E1F700C000000895899880916200909101 +S113011063008330910541F4819B06C00E945F0215 +S11301200E9449000E9448020895CF930E94480209 +S113013002C00E9484000E9455028823D1F70E94C5 +S11301405A02882341F08A3031F0803F09F044C0DC +S113015002C00E9484000E9455028823D1F70E94A5 +S11301605A02C82F02C00E9484000E9455028823AC +S1130170D1F7C13089F50E945A02843051F085309C +S113018018F48130B1F418C0853051F0873089F407 +S11301900EC082E090E090936300809362000CC0F4 +S11301A083E090E0909363008093620005C00E9416 +S11301B049000E945F0210C00E945F028FE39CE925 +S11301C00197F1F700C00000409162005091630074 +S11301D081E06AE00E94DC02CF91089585E083BF4C +S11301E088E582BF1CBE81E089BF08951F920F92EB +S11301F00FB60F9211242F933F938F939F9388E50B +S113020082BF80916200909163008230910561F415 +S1130210209164003091650081E090E02333310542 +S11302204CF580E090E026C08091620090916300DC +S11302308330910561F4209164003091650081E080 +S113024090E026303105B4F480E090E013C0809152 +S11302506200909163008630910509F049C02091B5 +S113026064003091650081E090E02230310514F49F +S113027080E090E020916400309165002F5F3F4F53 +S113028030936500209364008130910551F4B89A4D +S1130290B09B02C0C09801C0C09A10926500109231 +S11302A06400B99AC19A8FEA94E00197F1F700C00B +S11302B0000080916000909161001816190674F492 +S11302C080E090E025E12A95F1F700000196209165 +S11302D060003091610082179307A4F3C1989F9145 +S11302E08F913F912F910F900FBE0F901F901895F3 +S11302F080916400909165000196909365008093CD +S11303006400CFCF0E94B40180E296E00E94FC0119 +S113031081E060E047E00E94DE0180E895E20E940F +S11303200C0280E066E00E9433020E94EE007894A2 +S11303300E949500FDCF949840E120E030E099239D +S113034014F4969A01C09698220F331F8399216062 +S1130350959A880F991F00C000009598415079F72D +S1130360949A822F932F089581B3806781BB949AC6 +S11303708FEF90E7A2E081509040A040E1F700C0E9 +S1130380000080EE90EC0E949B0187ED90E80E94B3 +S11303909B018BEA92EC0E949B0181E89AEC0E94FB +S11303A09B0180E090EE0E949B0180E098EC0E940B +S11303B09B0187EF94EC0E949B01089590E0880FC5 +S11303C0991F82959295907F9827807F98279070A7 +S11303D050E047705070842B952B946970E06370E3 +S11303E07070660F771F660F771F660F771F862B57 +S11303F0972B0E949B0108958036910538F02FE0D9 +S11304008034920728F08FE39FE002C080E690E0FA +S1130410906A0E949B01089522E08739920710F1A7 +S113042025E18831920780F49C0140E050E060E6C9 +S113043078EA80E090E00E945403C9010197806843 +S1130440966C0E949B0108959C0140E050E06CEF83 +S113045072E485E090E00E943203C9010197966C32 +S11304600E949B01089590E087709070986970E0F5 +S113047062957295707F7627607F76277070862BE1 +S1130480972B0E949B0108959498839BFECF089517 +S113049088EC92E80E949B0181E89AEC0E949B01FF +S11304A083E89AEC0E949B010895949881E08399D3 +S11304B080E0089580E090EB0E949B01089588E01D +S11304C092E80E949B0108950F931F93CF93DF93AB +S11304D08C01C62F88E392E80E949B010E9444028B +S11304E08AEA98EB0E949B010E9444028AEA98EBF4 +S11304F00E949B010E9444028AEA98EB0E949B019D +S11305000E9444028DE298EB0E949B010E944402E7 +S113051084ED98EB0E949B01CC2399F0C8010196CD +S1130520C1509C012C0F311DE9010E944402F801C5 +S113053081918F0190E0986B0E949B010C171D071D +S1130540A1F70E94440288E092E80E949B01DF9197 +S1130550CF911F910F9108950F931F93CF93DF9322 +S11305608C01D62F88EC92E80E949B0181E89AECDA +S11305700E949B0183E89AEC0E949B01DD2399F081 +S1130580C8010196D1509C012D0F311DE9010E9433 +S1130590440280E090EB0E949B01F80181938F015B +S11305A0EC17FD07A1F788E092E80E949B01DF9118 +S11305B0CF911F910F9108951F93CF93DF93182F1D +S11305C0D62FC42F88E392E80E949B010E94440224 +S11305D08AEA98EB0E949B010E9444028AEA98EB03 +S11305E00E949B010E9444028AEA98EB0E949B01AC +S11305F00E9444028DE298EB0E949B010E944402F7 +S113060084ED98EB0E949B010E944402812F90E0AC +S1130610986B0E949B010E9444028D2F90E0986B7E +S11306200E949B010E9444028C2F90E0986B0E94D0 +S11306309B010E94440280E098EB0E949B010E946F +S1130640440288E092E80E949B018FEF90E7A2E0C9 +S113065081509040A040E1F700C00000DF91CF91AD +S11306601F910895A1E21A2EAA1BBB1BFD010DC008 +S1130670AA1FBB1FEE1FFF1FA217B307E407F5074E +S113068020F0A21BB30BE40BF50B661F771F881F2A +S1130690991F1A9469F760957095809590959B01C0 +S11306A0AC01BD01CF01089597FB092E05260ED09C +S11306B057FD04D0D7DF0AD0001C38F4509540957C +S11306C0309521953F4F4F4F5F4F0895F6F7909522 +S11306D08095709561957F4F8F4F9F4F0895F89443 +S10506E0FFCF46 +S10706E2B40002005A S9030000FC diff --git a/Reciver/Reciver/Debug/rf12.d b/Reciver/Reciver/Debug/rf12.d index 34ac2cd..e9ac262 100644 --- a/Reciver/Reciver/Debug/rf12.d +++ b/Reciver/Reciver/Debug/rf12.d @@ -1,48 +1,48 @@ rf12.d rf12.o: .././rf12.c \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/io.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/sfr_defs.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/inttypes.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/include/stdint.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/stdint.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iom16a.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/portpins.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/common.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/version.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/fuse.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/lock.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/io.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/sfr_defs.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/inttypes.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/include/stdint.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/stdint.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iom16a.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/portpins.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/common.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/version.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/fuse.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/lock.h \ .././rf12.h .././global.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay_basic.h \ - e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/math.h + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay_basic.h \ + c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/math.h -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/io.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/io.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/sfr_defs.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/sfr_defs.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/inttypes.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/inttypes.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/include/stdint.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/include/stdint.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/stdint.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/stdint.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iom16a.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iom16a.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/portpins.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/portpins.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/common.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/common.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/version.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/version.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/fuse.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/fuse.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/lock.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/lock.h: .././rf12.h: .././global.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay_basic.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay_basic.h: -e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/math.h: +c:\program\ files\ (x86)\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/math.h: diff --git a/Reciver/Reciver/Reciver.c b/Reciver/Reciver/Reciver.c index 594a8f8..8c91603 100644 --- a/Reciver/Reciver/Reciver.c +++ b/Reciver/Reciver/Reciver.c @@ -25,6 +25,8 @@ void turn() { status = RUN; servopos = RIGHT-60; _delay_ms(700); + servopos = RIGHT-120; + _delay_ms(700); servopos = RIGHT; _delay_ms(700); } @@ -73,31 +75,18 @@ void recive() { } default: { + rf12_endasyncrx(); return; } } rf12_endasyncrx(); - _delay_ms(20); + _delay_ms(10+DEVICE); rf12_txpacket(MASTER, DEVICE, status); return; } } - /*unsigned char text[2]; - text[0] = 0; - text[1] = 0; - rf12_rxdata(text,2); - if(text[0] == DEVICE && text[1] == PING) { - turn(); - }*/ } -/*void send() { - /*unsigned char text[1] = {0x01}; - rf12_txdata(text,1); - rf12_txpacket(55,99); - //_delay_ms(100); -}*/ - void init_timer() { // Timer/Counter 0 initialization // Clock source: System Clock @@ -116,44 +105,28 @@ ISR(TIMER0_OVF_vect) { // Reinitialize Timer 0 value TCNT0=0x58; + int led = 0; if(status == SLEEP) { - if(pwm_led < 50) { - pwm_led++; - } else { - DDRB |= (1< 50) + led = 1; + } else if(status == ACTIVE) { + if(pwm_led > 5) + led = 1; + } else if(status == RUN) { + if(pwm_led > 1) + led = 1; } - if(status == ACTIVE) { - if(pwm_led < 5) { - pwm_led++; + + pwm_led++; + + if(led == 1) { + DDRB |= (1< e: 26 c0 rjmp .+76 ; 0x5c <__bad_interrupt> 10: 25 c0 rjmp .+74 ; 0x5c <__bad_interrupt> - 12: 10 c2 rjmp .+1056 ; 0x434 <__vector_9> + 12: 65 c3 rjmp .+1738 ; 0x6de <__vector_9> 14: 23 c0 rjmp .+70 ; 0x5c <__bad_interrupt> 16: 22 c0 rjmp .+68 ; 0x5c <__bad_interrupt> 18: 21 c0 rjmp .+66 ; 0x5c <__bad_interrupt> @@ -63,18 +65,18 @@ Disassembly of section .text: 32: 10 e0 ldi r17, 0x00 ; 0 34: a0 e6 ldi r26, 0x60 ; 96 36: b0 e0 ldi r27, 0x00 ; 0 - 38: e4 e6 ldi r30, 0x64 ; 100 - 3a: f5 e0 ldi r31, 0x05 ; 5 + 38: e6 e5 ldi r30, 0x56 ; 86 + 3a: f8 e0 ldi r31, 0x08 ; 8 3c: 02 c0 rjmp .+4 ; 0x42 <__SREG__+0x3> 3e: 05 90 lpm r0, Z+ 40: 0d 92 st X+, r0 - 42: a0 36 cpi r26, 0x60 ; 96 + 42: ac 39 cpi r26, 0x9C ; 156 44: b1 07 cpc r27, r17 46: d9 f7 brne .-10 ; 0x3e <__SP_H__> 00000048 <__do_clear_bss>: 48: 10 e0 ldi r17, 0x00 ; 0 - 4a: a0 e6 ldi r26, 0x60 ; 96 + 4a: ac e9 ldi r26, 0x9C ; 156 4c: b0 e0 ldi r27, 0x00 ; 0 4e: 01 c0 rjmp .+2 ; 0x52 <.do_clear_bss_start> @@ -82,11 +84,11 @@ Disassembly of section .text: 50: 1d 92 st X+, r1 00000052 <.do_clear_bss_start>: - 52: a6 36 cpi r26, 0x66 ; 102 + 52: a9 3a cpi r26, 0xA9 ; 169 54: b1 07 cpc r27, r17 56: e1 f7 brne .-8 ; 0x50 <.do_clear_bss_loop> - 58: 34 d2 rcall .+1128 ; 0x4c2
- 5a: 82 c2 rjmp .+1284 ; 0x560 <_exit> + 58: 97 d3 rcall .+1838 ; 0x788
+ 5a: fb c3 rjmp .+2038 ; 0x852 <_exit> 0000005c <__bad_interrupt>: 5c: d1 cf rjmp .-94 ; 0x0 <__vectors> @@ -315,7 +317,7 @@ void rf12_setbaud(unsigned short baud) 146: 78 ea ldi r23, 0xA8 ; 168 148: 80 e0 ldi r24, 0x00 ; 0 14a: 90 e0 ldi r25, 0x00 ; 0 - 14c: ee d1 rcall .+988 ; 0x52a <__divmodsi4> + 14c: 67 d3 rcall .+1742 ; 0x81c <__divmodsi4> 14e: c9 01 movw r24, r18 150: 01 97 sbiw r24, 0x01 ; 1 152: 80 68 ori r24, 0x80 ; 128 @@ -331,7 +333,7 @@ void rf12_setbaud(unsigned short baud) 162: 72 e4 ldi r23, 0x42 ; 66 164: 85 e0 ldi r24, 0x05 ; 5 166: 90 e0 ldi r25, 0x00 ; 0 - 168: be d1 rcall .+892 ; 0x4e6 <__udivmodsi4> + 168: 37 d3 rcall .+1646 ; 0x7d8 <__udivmodsi4> 16a: c9 01 movw r24, r18 16c: 01 97 sbiw r24, 0x01 ; 1 16e: 96 6c ori r25, 0xC6 ; 198 @@ -688,468 +690,1183 @@ void rf12_txpacket(uint8_t addr, uint8_t from, uint8_t data) { 308: 1f 91 pop r17 30a: 08 95 ret -0000030c : - MCUCR |= (1<: +static inline void BIT_CLEAR(volatile uint8_t *target, uint8_t bit) __attribute__((always_inline)); +static inline uint8_t BIT_ON(volatile uint8_t *target, uint8_t bit) __attribute__((always_inline)); + +void init_ports() { + //LED auf Ausgang DDRB |= ((1< - PORTB |= (1< - PORTB |= (1< - PORTB |= (1< - PORTB &= ~(1<: - } + //Collumns auf 5V + PORTB |= ((1< - int to = 10; - int data = 0; - - DDRB |= (1< - if(status_dev_1 == SLEEP) - 37a: 80 91 60 00 lds r24, 0x0060 - 37e: 90 91 61 00 lds r25, 0x0061 - 382: 82 30 cpi r24, 0x02 ; 2 - 384: 91 05 cpc r25, r1 - 386: 31 f4 brne .+12 ; 0x394 - data = SETACTIVE; - 388: c5 e0 ldi r28, 0x05 ; 5 - 38a: d0 e0 ldi r29, 0x00 ; 0 - 38c: 05 c0 rjmp .+10 ; 0x398 - } +00000336 : + +void led() { + 336: cf 92 push r12 + 338: df 92 push r13 + 33a: ef 92 push r14 + 33c: ff 92 push r15 + 33e: 0f 93 push r16 + 340: 1f 93 push r17 + 342: cf 93 push r28 + 344: df 93 push r29 + for(uint8_t i=0;i + BIT_SET(led_port[i],led_pin[i]); + 378: ec 91 ld r30, X + 37a: f0 e0 ldi r31, 0x00 ; 0 + recive(); + } +} + +static inline void BIT_SET(volatile uint8_t *target, uint8_t bit) { + *target |= (1< + 384: 88 0f add r24, r24 + 386: 99 1f adc r25, r25 + 388: 0a 94 dec r0 + 38a: e2 f7 brpl .-8 ; 0x384 + 38c: 83 2b or r24, r19 + 38e: 80 83 st Z, r24 + +void led() { + for(uint8_t i=0;i + 3a2: 88 0f add r24, r24 + 3a4: 99 1f adc r25, r25 + 3a6: 0a 94 dec r0 + 3a8: e2 f7 brpl .-8 ; 0x3a2 + 3aa: 80 95 com r24 + 3ac: 83 23 and r24, r19 + 3ae: f6 01 movw r30, r12 + 3b0: 80 83 st Z, r24 + 3b2: 6b c0 rjmp .+214 ; 0x48a <__stack+0x2b> +void led() { + for(uint8_t i=0;i + BIT_SET(led_port[i+1],led_pin[i+1]); + 3c0: fa 01 movw r30, r20 + 3c2: c0 80 ld r12, Z + 3c4: dd 24 eor r13, r13 + recive(); + } +} + +static inline void BIT_SET(volatile uint8_t *target, uint8_t bit) { + *target |= (1< + 3d2: 88 0f add r24, r24 + 3d4: 99 1f adc r25, r25 + 3d6: 0a 94 dec r0 + 3d8: e2 f7 brpl .-8 ; 0x3d2 + 3da: 83 2b or r24, r19 + 3dc: f6 01 movw r30, r12 + 3de: 80 83 st Z, r24 + if(status_dev[i/2] == SLEEP) { + BIT_SET(led_port[i],led_pin[i]); + BIT_CLEAR(led_port[i+1],led_pin[i+1]); + } else if(status_dev[i/2] == ACTIVE) { + BIT_SET(led_port[i+1],led_pin[i+1]); + BIT_CLEAR(led_port[i],led_pin[i]); + 3e0: ec 91 ld r30, X + 3e2: f0 e0 ldi r31, 0x00 ; 0 +static inline void BIT_SET(volatile uint8_t *target, uint8_t bit) { + *target |= (1< + 3ec: 88 0f add r24, r24 + 3ee: 99 1f adc r25, r25 + 3f0: 0a 94 dec r0 + 3f2: e2 f7 brpl .-8 ; 0x3ec + 3f4: 80 95 com r24 + 3f6: 83 23 and r24, r19 + 3f8: 80 83 st Z, r24 + 3fa: 47 c0 rjmp .+142 ; 0x48a <__stack+0x2b> + BIT_SET(led_port[i],led_pin[i]); + BIT_CLEAR(led_port[i+1],led_pin[i+1]); + } else if(status_dev[i/2] == ACTIVE) { + BIT_SET(led_port[i+1],led_pin[i+1]); + BIT_CLEAR(led_port[i],led_pin[i]); + } else if(status_dev[i/2] == RUN) { + 3fc: f8 01 movw r30, r16 + 3fe: e8 0f add r30, r24 + 400: f9 1f adc r31, r25 + 402: 30 81 ld r19, Z + 404: 36 30 cpi r19, 0x06 ; 6 + 406: e9 f4 brne .+58 ; 0x442 + BIT_SET(led_port[i],led_pin[i]); + 408: ec 91 ld r30, X + 40a: f0 e0 ldi r31, 0x00 ; 0 + recive(); + } +} + +static inline void BIT_SET(volatile uint8_t *target, uint8_t bit) { + *target |= (1< + 414: 88 0f add r24, r24 + 416: 99 1f adc r25, r25 + 418: 0a 94 dec r0 + 41a: e2 f7 brpl .-8 ; 0x414 + 41c: 83 2b or r24, r19 + 41e: 80 83 st Z, r24 + } else if(status_dev[i/2] == ACTIVE) { + BIT_SET(led_port[i+1],led_pin[i+1]); + BIT_CLEAR(led_port[i],led_pin[i]); + } else if(status_dev[i/2] == RUN) { + BIT_SET(led_port[i],led_pin[i]); + BIT_SET(led_port[i+1],led_pin[i+1]); + 420: fa 01 movw r30, r20 + 422: c0 80 ld r12, Z + 424: dd 24 eor r13, r13 + recive(); + } +} + +static inline void BIT_SET(volatile uint8_t *target, uint8_t bit) { + *target |= (1< + 432: 88 0f add r24, r24 + 434: 99 1f adc r25, r25 + 436: 0a 94 dec r0 + 438: e2 f7 brpl .-8 ; 0x432 + 43a: 83 2b or r24, r19 + 43c: f6 01 movw r30, r12 + 43e: 80 83 st Z, r24 + 440: 24 c0 rjmp .+72 ; 0x48a <__stack+0x2b> + BIT_SET(led_port[i+1],led_pin[i+1]); + BIT_CLEAR(led_port[i],led_pin[i]); + } else if(status_dev[i/2] == RUN) { + BIT_SET(led_port[i],led_pin[i]); + BIT_SET(led_port[i+1],led_pin[i+1]); + } else if(status_dev[i/2] == 0) { + 442: f8 01 movw r30, r16 + 444: e8 0f add r30, r24 + 446: f9 1f adc r31, r25 + 448: 80 81 ld r24, Z + 44a: 88 23 and r24, r24 + 44c: f1 f4 brne .+60 ; 0x48a <__stack+0x2b> + BIT_CLEAR(led_port[i],led_pin[i]); + 44e: ec 91 ld r30, X + 450: f0 e0 ldi r31, 0x00 ; 0 +static inline void BIT_SET(volatile uint8_t *target, uint8_t bit) { + *target |= (1< + 45a: 88 0f add r24, r24 + 45c: 99 1f adc r25, r25 + 45e: 0a 94 dec r0 + 460: e2 f7 brpl .-8 ; 0x45a + 462: 80 95 com r24 + 464: 83 23 and r24, r19 + 466: 80 83 st Z, r24 + } else if(status_dev[i/2] == RUN) { + BIT_SET(led_port[i],led_pin[i]); + BIT_SET(led_port[i+1],led_pin[i+1]); + } else if(status_dev[i/2] == 0) { + BIT_CLEAR(led_port[i],led_pin[i]); + BIT_CLEAR(led_port[i+1],led_pin[i+1]); + 468: fa 01 movw r30, r20 + 46a: c0 80 ld r12, Z + 46c: dd 24 eor r13, r13 +static inline void BIT_SET(volatile uint8_t *target, uint8_t bit) { + *target |= (1< + 47a: 88 0f add r24, r24 + 47c: 99 1f adc r25, r25 + 47e: 0a 94 dec r0 + 480: e2 f7 brpl .-8 ; 0x47a <__stack+0x1b> + 482: 80 95 com r24 + 484: 83 23 and r24, r19 + 486: f6 01 movw r30, r12 + 488: 80 83 st Z, r24 + //Rows auf PullUp + PORTD |= ((1< + 49c: 64 cf rjmp .-312 ; 0x366 + } else if(status_dev[i/2] == 0) { + BIT_CLEAR(led_port[i],led_pin[i]); + BIT_CLEAR(led_port[i+1],led_pin[i+1]); + } + } +} + 49e: df 91 pop r29 + 4a0: cf 91 pop r28 + 4a2: 1f 91 pop r17 + 4a4: 0f 91 pop r16 + 4a6: ff 90 pop r15 + 4a8: ef 90 pop r14 + 4aa: df 90 pop r13 + 4ac: cf 90 pop r12 + 4ae: 08 95 ret + +000004b0 : +void poll() { + 4b0: 2f 92 push r2 + 4b2: 3f 92 push r3 + 4b4: 4f 92 push r4 + 4b6: 5f 92 push r5 + 4b8: 6f 92 push r6 + 4ba: 7f 92 push r7 + 4bc: 8f 92 push r8 + 4be: 9f 92 push r9 + 4c0: af 92 push r10 + 4c2: bf 92 push r11 + 4c4: cf 92 push r12 + 4c6: df 92 push r13 + 4c8: ef 92 push r14 + 4ca: ff 92 push r15 + 4cc: 0f 93 push r16 + 4ce: 1f 93 push r17 + 4d0: cf 93 push r28 + 4d2: df 93 push r29 + led(); + 4d4: 30 df rcall .-416 ; 0x336 + 4d6: 4f e7 ldi r20, 0x7F ; 127 + 4d8: 50 e0 ldi r21, 0x00 ; 0 + 4da: 65 e7 ldi r22, 0x75 ; 117 + 4dc: 70 e0 ldi r23, 0x00 ; 0 + 4de: cb e6 ldi r28, 0x6B ; 107 + 4e0: d0 e0 ldi r29, 0x00 ; 0 + 4e2: 01 e6 ldi r16, 0x61 ; 97 + 4e4: 10 e0 ldi r17, 0x00 ; 0 + uint8_t to = 0; + uint8_t data = 0; + + for(uint8_t i=0;i + uint8_t to = 0; + uint8_t data = 0; + 4e8: 22 24 eor r2, r2 + } + } +} +void poll() { + led(); + uint8_t to = 0; + 4ea: 33 24 eor r3, r3 +static inline void BIT_SET(volatile uint8_t *target, uint8_t bit) { + *target |= (1< - data = SETRUN; - } - if(to != 0 && data != 0) { - 39c: 20 97 sbiw r28, 0x00 ; 0 - 39e: a9 f0 breq .+42 ; 0x3ca - 3a0: 02 c0 rjmp .+4 ; 0x3a6 - data = SETACTIVE; - else - data = SETSLEEP; - } - if(!(PIND & (1< + 50c: 44 0f add r20, r20 + 50e: 55 1f adc r21, r21 + 510: 0a 94 dec r0 + 512: e2 f7 brpl .-8 ; 0x50c + 514: 94 2f mov r25, r20 + 516: 90 95 com r25 + 518: 89 23 and r24, r25 + 51a: 8c 93 st X, r24 + #else + //round up by default + __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); + #endif + + __builtin_avr_delay_cycles(__ticks_dc); + 51c: 00 00 nop + BIT_CLEAR(led_port[i],led_pin[i]); + BIT_CLEAR(led_port[i+1],led_pin[i+1]); + } + } +} +void poll() { + 51e: 4e 01 movw r8, r28 + 520: fe 01 movw r30, r28 + 522: 31 97 sbiw r30, 0x01 ; 1 + + for(uint8_t i=0;i + 536: 88 0f add r24, r24 + 538: 99 1f adc r25, r25 + 53a: 0a 94 dec r0 + 53c: e2 f7 brpl .-8 ; 0x536 + 53e: 83 23 and r24, r19 + + for(uint8_t i=0;i + if(status_dev[i/2] == SLEEP) { + 542: 82 2f mov r24, r18 + 544: 86 95 lsr r24 + 546: e1 ea ldi r30, 0xA1 ; 161 + 548: f0 e0 ldi r31, 0x00 ; 0 + 54a: e8 0f add r30, r24 + 54c: f1 1d adc r31, r1 + 54e: 90 81 ld r25, Z + 550: 92 30 cpi r25, 0x02 ; 2 + 552: 29 f4 brne .+10 ; 0x55e + data = SETACTIVE; + 554: 0f 2e mov r0, r31 + 556: f5 e0 ldi r31, 0x05 ; 5 + 558: 2f 2e mov r2, r31 + 55a: f0 2d mov r31, r0 + 55c: 03 c0 rjmp .+6 ; 0x564 + } else { + data = SETSLEEP; + 55e: 22 24 eor r2, r2 + 560: 68 94 set + 562: 22 f8 bld r2, 2 + } + //Device + to = (i/2)+10; + 564: 0f 2e mov r0, r31 + 566: fa e0 ldi r31, 0x0A ; 10 + 568: 3f 2e mov r3, r31 + 56a: f0 2d mov r31, r0 + 56c: 38 0e add r3, r24 + recive(); + } +} + +static inline void BIT_SET(volatile uint8_t *target, uint8_t bit) { + *target |= (1< + 586: 44 0f add r20, r20 + 588: 55 1f adc r21, r21 + 58a: 0a 94 dec r0 + 58c: e2 f7 brpl .-8 ; 0x586 + 58e: 94 2f mov r25, r20 + 590: 90 95 com r25 + 592: 89 23 and r24, r25 + 594: 8c 93 st X, r24 + 596: 00 00 nop + _delay_us(0.01); + + //Run Schalter + BIT_CLEAR(in_collumn_port[i+1],in_collumn_pin[i+1]); //Collumn auf 0 + _delay_us(0.01); + if(!BIT_ON(in_row_port[i+1],in_row_pin[i+1])) { + 598: f4 01 movw r30, r8 + 59a: 80 81 ld r24, Z + 59c: e8 2f mov r30, r24 + 59e: f0 e0 ldi r31, 0x00 ; 0 +static inline void BIT_CLEAR(volatile uint8_t *target, uint8_t bit) { + *target &= ~(1< + 5aa: 88 0f add r24, r24 + 5ac: 99 1f adc r25, r25 + 5ae: 0a 94 dec r0 + 5b0: e2 f7 brpl .-8 ; 0x5aa + 5b2: 83 23 and r24, r19 + _delay_us(0.01); + + //Run Schalter + BIT_CLEAR(in_collumn_port[i+1],in_collumn_pin[i+1]); //Collumn auf 0 + _delay_us(0.01); + if(!BIT_ON(in_row_port[i+1],in_row_pin[i+1])) { + 5b4: 59 f4 brne .+22 ; 0x5cc + data = SETRUN; + //Device + to = (i/2)+10; + 5b6: 82 2f mov r24, r18 + 5b8: 86 95 lsr r24 + 5ba: 0f 2e mov r0, r31 + 5bc: fa e0 ldi r31, 0x0A ; 10 + 5be: 3f 2e mov r3, r31 + 5c0: f0 2d mov r31, r0 + 5c2: 38 0e add r3, r24 + + //Run Schalter + BIT_CLEAR(in_collumn_port[i+1],in_collumn_pin[i+1]); //Collumn auf 0 + _delay_us(0.01); + if(!BIT_ON(in_row_port[i+1],in_row_pin[i+1])) { + data = SETRUN; + 5c4: 0f 2e mov r0, r31 + 5c6: f7 e0 ldi r31, 0x07 ; 7 + 5c8: 2f 2e mov r2, r31 + 5ca: f0 2d mov r31, r0 + recive(); + } +} + +static inline void BIT_SET(volatile uint8_t *target, uint8_t bit) { + *target |= (1< + 5ec: 83 cf rjmp .-250 ; 0x4f4 + to = (i/2)+10; + } + BIT_SET(in_collumn_port[i+1],in_collumn_pin[i+1]); //Collumn auf wieder auf 1 + _delay_us(0.01); } if(to != 0 && data != 0) { + 5ee: 33 20 and r3, r3 + 5f0: e1 f0 breq .+56 ; 0x62a + 5f2: 22 20 and r2, r2 + 5f4: d1 f0 breq .+52 ; 0x62a + cli(); + 5f6: f8 94 cli DDRC |= (1< - 3ac: 8f ef ldi r24, 0xFF ; 255 - 3ae: 94 e3 ldi r25, 0x34 ; 52 - 3b0: ac e0 ldi r26, 0x0C ; 12 - 3b2: 81 50 subi r24, 0x01 ; 1 - 3b4: 90 40 sbci r25, 0x00 ; 0 - 3b6: a0 40 sbci r26, 0x00 ; 0 - 3b8: e1 f7 brne .-8 ; 0x3b2 - 3ba: 00 c0 rjmp .+0 ; 0x3bc - 3bc: 00 00 nop - _delay_ms(500); - PORTC &= ~(1< + #else + //round up by default + __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); + #endif + + __builtin_avr_delay_cycles(__ticks_dc); + 5fe: af e3 ldi r26, 0x3F ; 63 + 600: bc e9 ldi r27, 0x9C ; 156 + 602: 11 97 sbiw r26, 0x01 ; 1 + 604: f1 f7 brne .-4 ; 0x602 + 606: 00 c0 rjmp .+0 ; 0x608 + 608: 00 00 nop + _delay_ms(20); rf12_txpacket(to, MASTER, data); - 3c0: 8a e0 ldi r24, 0x0A ; 10 - 3c2: 61 e0 ldi r22, 0x01 ; 1 - 3c4: 4c 2f mov r20, r28 - 3c6: 64 df rcall .-312 ; 0x290 + 60a: 83 2d mov r24, r3 + 60c: 61 e0 ldi r22, 0x01 ; 1 + 60e: 42 2d mov r20, r2 + 610: 3f de rcall .-898 ; 0x290 + PORTC &= ~(1< + 622: 00 c0 rjmp .+0 ; 0x624 + 624: 00 00 nop + _delay_ms(50); rf12_beginasyncrx(); - 3c8: e9 de rcall .-558 ; 0x19c + 626: ba dd rcall .-1164 ; 0x19c + sei(); + 628: 78 94 sei } } - 3ca: df 91 pop r29 - 3cc: cf 91 pop r28 - 3ce: 08 95 ret + 62a: df 91 pop r29 + 62c: cf 91 pop r28 + 62e: 1f 91 pop r17 + 630: 0f 91 pop r16 + 632: ff 90 pop r15 + 634: ef 90 pop r14 + 636: df 90 pop r13 + 638: cf 90 pop r12 + 63a: bf 90 pop r11 + 63c: af 90 pop r10 + 63e: 9f 90 pop r9 + 640: 8f 90 pop r8 + 642: 7f 90 pop r7 + 644: 6f 90 pop r6 + 646: 5f 90 pop r5 + 648: 4f 90 pop r4 + 64a: 3f 90 pop r3 + 64c: 2f 90 pop r2 + 64e: 08 95 ret -000003d0 : +00000650 : void recive() { + 650: cf 93 push r28 rf12_beginasyncrx(); - 3d0: e5 de rcall .-566 ; 0x19c + 652: a4 dd rcall .-1208 ; 0x19c while(rf12_hasdata()) { - 3d2: 01 c0 rjmp .+2 ; 0x3d6 + 654: 01 c0 rjmp .+2 ; 0x658 poll(); - 3d4: c5 df rcall .-118 ; 0x360 + 656: 2c df rcall .-424 ; 0x4b0 } } void recive() { rf12_beginasyncrx(); while(rf12_hasdata()) { - 3d6: ec de rcall .-552 ; 0x1b0 - 3d8: 88 23 and r24, r24 - 3da: e1 f7 brne .-8 ; 0x3d4 + 658: ab dd rcall .-1194 ; 0x1b0 + 65a: 88 23 and r24, r24 + 65c: e1 f7 brne .-8 ; 0x656 poll(); } uint8_t addr = rf12_rxbyte(); - 3dc: ee de rcall .-548 ; 0x1ba + 65e: ad dd rcall .-1190 ; 0x1ba if(addr == ALL || addr == MASTER) { - 3de: 82 30 cpi r24, 0x02 ; 2 - 3e0: 40 f5 brcc .+80 ; 0x432 - 3e2: 01 c0 rjmp .+2 ; 0x3e6 + 660: 82 30 cpi r24, 0x02 ; 2 + 662: d8 f5 brcc .+118 ; 0x6da + 664: 01 c0 rjmp .+2 ; 0x668 while(rf12_hasdata()) { poll(); - 3e4: bd df rcall .-134 ; 0x360 + 666: 24 df rcall .-440 ; 0x4b0 while(rf12_hasdata()) { poll(); } uint8_t addr = rf12_rxbyte(); if(addr == ALL || addr == MASTER) { while(rf12_hasdata()) { - 3e6: e4 de rcall .-568 ; 0x1b0 - 3e8: 88 23 and r24, r24 - 3ea: e1 f7 brne .-8 ; 0x3e4 + 668: a3 dd rcall .-1210 ; 0x1b0 + 66a: 88 23 and r24, r24 + 66c: e1 f7 brne .-8 ; 0x666 poll(); } uint8_t from = rf12_rxbyte(); - 3ec: e6 de rcall .-564 ; 0x1ba + 66e: a5 dd rcall .-1206 ; 0x1ba if(from != MASTER) { - 3ee: 81 30 cpi r24, 0x01 ; 1 - 3f0: 11 f4 brne .+4 ; 0x3f6 - 3f2: 08 95 ret + 670: 81 30 cpi r24, 0x01 ; 1 + 672: 99 f1 breq .+102 ; 0x6da + from = (from/10)-1; + 674: 6a e0 ldi r22, 0x0A ; 10 + 676: a4 d0 rcall .+328 ; 0x7c0 <__udivmodqi4> + 678: c8 2f mov r28, r24 + 67a: c1 50 subi r28, 0x01 ; 1 while(rf12_hasdata()) { + 67c: 01 c0 rjmp .+2 ; 0x680 poll(); - 3f4: b5 df rcall .-150 ; 0x360 - while(rf12_hasdata()) { + 67e: 18 df rcall .-464 ; 0x4b0 poll(); } uint8_t from = rf12_rxbyte(); if(from != MASTER) { + from = (from/10)-1; while(rf12_hasdata()) { - 3f6: dc de rcall .-584 ; 0x1b0 - 3f8: 88 23 and r24, r24 - 3fa: e1 f7 brne .-8 ; 0x3f4 + 680: 97 dd rcall .-1234 ; 0x1b0 + 682: 88 23 and r24, r24 + 684: e1 f7 brne .-8 ; 0x67e poll(); } uint8_t data = rf12_rxbyte(); - 3fc: de de rcall .-580 ; 0x1ba + 686: 99 dd rcall .-1230 ; 0x1ba switch(data) { - 3fe: 83 30 cpi r24, 0x03 ; 3 - 400: 59 f0 breq .+22 ; 0x418 - 402: 86 30 cpi r24, 0x06 ; 6 - 404: 81 f0 breq .+32 ; 0x426 - 406: 82 30 cpi r24, 0x02 ; 2 - 408: a1 f4 brne .+40 ; 0x432 + 688: 83 30 cpi r24, 0x03 ; 3 + 68a: 81 f0 breq .+32 ; 0x6ac + 68c: 86 30 cpi r24, 0x06 ; 6 + 68e: d1 f0 breq .+52 ; 0x6c4 + 690: 82 30 cpi r24, 0x02 ; 2 + 692: 19 f5 brne .+70 ; 0x6da case SLEEP: { - status_dev_1 = SLEEP; - 40a: 82 e0 ldi r24, 0x02 ; 2 - 40c: 90 e0 ldi r25, 0x00 ; 0 - 40e: 90 93 61 00 sts 0x0061, r25 - 412: 80 93 60 00 sts 0x0060, r24 + status_dev[from] = SLEEP; + 694: 8c 2f mov r24, r28 + 696: 90 e0 ldi r25, 0x00 ; 0 + 698: fc 01 movw r30, r24 + 69a: ef 55 subi r30, 0x5F ; 95 + 69c: ff 4f sbci r31, 0xFF ; 255 + 69e: 22 e0 ldi r18, 0x02 ; 2 + 6a0: 20 83 st Z, r18 + status_count[from] = 0; + 6a2: 84 56 subi r24, 0x64 ; 100 + 6a4: 9f 4f sbci r25, 0xFF ; 255 + 6a6: fc 01 movw r30, r24 + 6a8: 10 82 st Z, r1 return; - 416: 08 95 ret + 6aa: 17 c0 rjmp .+46 ; 0x6da } case ACTIVE: { - status_dev_1 = ACTIVE; - 418: 83 e0 ldi r24, 0x03 ; 3 - 41a: 90 e0 ldi r25, 0x00 ; 0 - 41c: 90 93 61 00 sts 0x0061, r25 - 420: 80 93 60 00 sts 0x0060, r24 + status_dev[from] = ACTIVE; + 6ac: 8c 2f mov r24, r28 + 6ae: 90 e0 ldi r25, 0x00 ; 0 + 6b0: fc 01 movw r30, r24 + 6b2: ef 55 subi r30, 0x5F ; 95 + 6b4: ff 4f sbci r31, 0xFF ; 255 + 6b6: 23 e0 ldi r18, 0x03 ; 3 + 6b8: 20 83 st Z, r18 + status_count[from] = 0; + 6ba: 84 56 subi r24, 0x64 ; 100 + 6bc: 9f 4f sbci r25, 0xFF ; 255 + 6be: fc 01 movw r30, r24 + 6c0: 10 82 st Z, r1 return; - 424: 08 95 ret + 6c2: 0b c0 rjmp .+22 ; 0x6da } case RUN: { - status_dev_1 = RUN; - 426: 86 e0 ldi r24, 0x06 ; 6 - 428: 90 e0 ldi r25, 0x00 ; 0 - 42a: 90 93 61 00 sts 0x0061, r25 - 42e: 80 93 60 00 sts 0x0060, r24 - 432: 08 95 ret - -00000434 <__vector_9>: + status_dev[from] = RUN; + 6c4: 8c 2f mov r24, r28 + 6c6: 90 e0 ldi r25, 0x00 ; 0 + 6c8: fc 01 movw r30, r24 + 6ca: ef 55 subi r30, 0x5F ; 95 + 6cc: ff 4f sbci r31, 0xFF ; 255 + 6ce: 26 e0 ldi r18, 0x06 ; 6 + 6d0: 20 83 st Z, r18 + status_count[from] = 0; + 6d2: 84 56 subi r24, 0x64 ; 100 + 6d4: 9f 4f sbci r25, 0xFF ; 255 + 6d6: fc 01 movw r30, r24 + 6d8: 10 82 st Z, r1 + return; + } + } + } } } + 6da: cf 91 pop r28 + 6dc: 08 95 ret + +000006de <__vector_9>: // Timer 0 overflow interrupt service routine ISR(TIMER0_OVF_vect) { - 434: 1f 92 push r1 - 436: 0f 92 push r0 - 438: 0f b6 in r0, 0x3f ; 63 - 43a: 0f 92 push r0 - 43c: 11 24 eor r1, r1 - 43e: 2f 93 push r18 - 440: 3f 93 push r19 - 442: 4f 93 push r20 - 444: 5f 93 push r21 - 446: 6f 93 push r22 - 448: 7f 93 push r23 - 44a: 8f 93 push r24 - 44c: 9f 93 push r25 - 44e: af 93 push r26 - 450: bf 93 push r27 - 452: ef 93 push r30 - 454: ff 93 push r31 - if(timer2s < 64) { - 456: 80 91 62 00 lds r24, 0x0062 - 45a: 90 91 63 00 lds r25, 0x0063 - 45e: 80 34 cpi r24, 0x40 ; 64 - 460: 91 05 cpc r25, r1 - 462: 54 f4 brge .+20 ; 0x478 <__stack+0x19> + 6de: 1f 92 push r1 + 6e0: 0f 92 push r0 + 6e2: 0f b6 in r0, 0x3f ; 63 + 6e4: 0f 92 push r0 + 6e6: 11 24 eor r1, r1 + 6e8: 2f 93 push r18 + 6ea: 3f 93 push r19 + 6ec: 4f 93 push r20 + 6ee: 5f 93 push r21 + 6f0: 6f 93 push r22 + 6f2: 7f 93 push r23 + 6f4: 8f 93 push r24 + 6f6: 9f 93 push r25 + 6f8: af 93 push r26 + 6fa: bf 93 push r27 + 6fc: ef 93 push r30 + 6fe: ff 93 push r31 + if(timer2s < 16) { + 700: 80 91 a6 00 lds r24, 0x00A6 + 704: 80 31 cpi r24, 0x10 ; 16 + 706: 30 f4 brcc .+12 ; 0x714 <__vector_9+0x36> timer2s++; - 464: 80 91 62 00 lds r24, 0x0062 - 468: 90 91 63 00 lds r25, 0x0063 - 46c: 01 96 adiw r24, 0x01 ; 1 - 46e: 90 93 63 00 sts 0x0063, r25 - 472: 80 93 62 00 sts 0x0062, r24 + 708: 80 91 a6 00 lds r24, 0x00A6 + 70c: 8f 5f subi r24, 0xFF ; 255 + 70e: 80 93 a6 00 sts 0x00A6, r24 return; - 476: 0e c0 rjmp .+28 ; 0x494 <__stack+0x35> + 712: 23 c0 rjmp .+70 ; 0x75a <__vector_9+0x7c> } timer2s = 0; - 478: 10 92 63 00 sts 0x0063, r1 - 47c: 10 92 62 00 sts 0x0062, r1 + 714: 10 92 a6 00 sts 0x00A6, r1 rf12_endasyncrx(); - 480: a0 de rcall .-704 ; 0x1c2 - rf12_txpacket(10, MASTER, PING); - 482: 8a e0 ldi r24, 0x0A ; 10 - 484: 61 e0 ldi r22, 0x01 ; 1 - 486: 41 e0 ldi r20, 0x01 ; 1 - 488: 03 df rcall .-506 ; 0x290 - status_dev_1 = 0; - 48a: 10 92 61 00 sts 0x0061, r1 - 48e: 10 92 60 00 sts 0x0060, r1 + 718: 54 dd rcall .-1368 ; 0x1c2 + rf12_txpacket(ALL, MASTER, PING); + 71a: 80 e0 ldi r24, 0x00 ; 0 + 71c: 61 e0 ldi r22, 0x01 ; 1 + 71e: 41 e0 ldi r20, 0x01 ; 1 + 720: b7 dd rcall .-1170 ; 0x290 + 722: 80 e0 ldi r24, 0x00 ; 0 + 724: 90 e0 ldi r25, 0x00 ; 0 + for(uint8_t i=0;i 10) { + 726: 2c e9 ldi r18, 0x9C ; 156 + 728: 30 e0 ldi r19, 0x00 ; 0 + status_dev[i] = 0; + 72a: 41 ea ldi r20, 0xA1 ; 161 + 72c: 50 e0 ldi r21, 0x00 ; 0 + } + timer2s = 0; + rf12_endasyncrx(); + rf12_txpacket(ALL, MASTER, PING); + for(uint8_t i=0;i 10) { + 72e: f9 01 movw r30, r18 + 730: e8 0f add r30, r24 + 732: f9 1f adc r31, r25 + 734: 60 81 ld r22, Z + 736: 6b 30 cpi r22, 0x0B ; 11 + 738: 28 f0 brcs .+10 ; 0x744 <__vector_9+0x66> + status_dev[i] = 0; + 73a: fa 01 movw r30, r20 + 73c: e8 0f add r30, r24 + 73e: f9 1f adc r31, r25 + 740: 10 82 st Z, r1 + 742: 06 c0 rjmp .+12 ; 0x750 <__vector_9+0x72> + } else { + status_count[i]++; + 744: f9 01 movw r30, r18 + 746: e8 0f add r30, r24 + 748: f9 1f adc r31, r25 + 74a: 60 81 ld r22, Z + 74c: 6f 5f subi r22, 0xFF ; 255 + 74e: 60 83 st Z, r22 + 750: 01 96 adiw r24, 0x01 ; 1 + return; + } + timer2s = 0; + rf12_endasyncrx(); + rf12_txpacket(ALL, MASTER, PING); + for(uint8_t i=0;i + status_dev[i] = 0; + } else { + status_count[i]++; + } + } rf12_beginasyncrx(); - 492: 84 de rcall .-760 ; 0x19c + 758: 21 dd rcall .-1470 ; 0x19c } - 494: ff 91 pop r31 - 496: ef 91 pop r30 - 498: bf 91 pop r27 - 49a: af 91 pop r26 - 49c: 9f 91 pop r25 - 49e: 8f 91 pop r24 - 4a0: 7f 91 pop r23 - 4a2: 6f 91 pop r22 - 4a4: 5f 91 pop r21 - 4a6: 4f 91 pop r20 - 4a8: 3f 91 pop r19 - 4aa: 2f 91 pop r18 - 4ac: 0f 90 pop r0 - 4ae: 0f be out 0x3f, r0 ; 63 - 4b0: 0f 90 pop r0 - 4b2: 1f 90 pop r1 - 4b4: 18 95 reti + 75a: ff 91 pop r31 + 75c: ef 91 pop r30 + 75e: bf 91 pop r27 + 760: af 91 pop r26 + 762: 9f 91 pop r25 + 764: 8f 91 pop r24 + 766: 7f 91 pop r23 + 768: 6f 91 pop r22 + 76a: 5f 91 pop r21 + 76c: 4f 91 pop r20 + 76e: 3f 91 pop r19 + 770: 2f 91 pop r18 + 772: 0f 90 pop r0 + 774: 0f be out 0x3f, r0 ; 63 + 776: 0f 90 pop r0 + 778: 1f 90 pop r1 + 77a: 18 95 reti -000004b6 : +0000077c : void init_timer() { // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 7,813 kHz TCCR0=(1<: +00000788
: int main(void) { rf12_init(); // ein paar Register setzen (z.B. CLK auf 10MHz) - 4c2: e6 dd rcall .-1076 ; 0x90 + 788: 83 dc rcall .-1786 ; 0x90 //rf12_ready(); rf12_setfreq(RF12FREQ(433.92)); // Sende/Empfangsfrequenz auf 433,92MHz einstellen - 4c4: 80 e2 ldi r24, 0x20 ; 32 - 4c6: 96 e0 ldi r25, 0x06 ; 6 - 4c8: 23 de rcall .-954 ; 0x110 + 78a: 80 e2 ldi r24, 0x20 ; 32 + 78c: 96 e0 ldi r25, 0x06 ; 6 + 78e: c0 dc rcall .-1664 ; 0x110 rf12_setbandwidth(1, 0, 7); // 400kHz Bandbreite, 0dB Verstärkung, DRSSI threshold: -61dBm - 4ca: 81 e0 ldi r24, 0x01 ; 1 - 4cc: 60 e0 ldi r22, 0x00 ; 0 - 4ce: 47 e0 ldi r20, 0x07 ; 7 - 4d0: 02 de rcall .-1020 ; 0xd6 + 790: 81 e0 ldi r24, 0x01 ; 1 + 792: 60 e0 ldi r22, 0x00 ; 0 + 794: 47 e0 ldi r20, 0x07 ; 7 + 796: 9f dc rcall .-1730 ; 0xd6 rf12_setbaud(9600); // 19200 baud - 4d2: 80 e8 ldi r24, 0x80 ; 128 - 4d4: 95 e2 ldi r25, 0x25 ; 37 - 4d6: 2b de rcall .-938 ; 0x12e + 798: 80 e8 ldi r24, 0x80 ; 128 + 79a: 95 e2 ldi r25, 0x25 ; 37 + 79c: c8 dc rcall .-1648 ; 0x12e rf12_setpower(0, 6); // 1mW Ausgangsleistung, 120kHz Frequenzshift - 4d8: 80 e0 ldi r24, 0x00 ; 0 - 4da: 66 e0 ldi r22, 0x06 ; 6 - 4dc: 4b de rcall .-874 ; 0x174 - + 79e: 80 e0 ldi r24, 0x00 ; 0 + 7a0: 66 e0 ldi r22, 0x06 ; 6 + 7a2: e8 dc rcall .-1584 ; 0x174 + init_ports(); + 7a4: b3 dd rcall .-1178 ; 0x30c init_timer(); - 4de: eb df rcall .-42 ; 0x4b6 + 7a6: ea df rcall .-44 ; 0x77c sei(); - 4e0: 78 94 sei + 7a8: 78 94 sei + 7aa: 8f ef ldi r24, 0xFF ; 255 + 7ac: 90 e7 ldi r25, 0x70 ; 112 + 7ae: a2 e0 ldi r26, 0x02 ; 2 + 7b0: 81 50 subi r24, 0x01 ; 1 + 7b2: 90 40 sbci r25, 0x00 ; 0 + 7b4: a0 40 sbci r26, 0x00 ; 0 + 7b6: e1 f7 brne .-8 ; 0x7b0 + 7b8: 00 c0 rjmp .+0 ; 0x7ba + 7ba: 00 00 nop + + _delay_ms(100); while(1) { recive(); - 4e2: 76 df rcall .-276 ; 0x3d0 - 4e4: fe cf rjmp .-4 ; 0x4e2 + 7bc: 49 df rcall .-366 ; 0x650 + 7be: fe cf rjmp .-4 ; 0x7bc -000004e6 <__udivmodsi4>: - 4e6: a1 e2 ldi r26, 0x21 ; 33 - 4e8: 1a 2e mov r1, r26 - 4ea: aa 1b sub r26, r26 - 4ec: bb 1b sub r27, r27 - 4ee: fd 01 movw r30, r26 - 4f0: 0d c0 rjmp .+26 ; 0x50c <__udivmodsi4_ep> +000007c0 <__udivmodqi4>: + 7c0: 99 1b sub r25, r25 + 7c2: 79 e0 ldi r23, 0x09 ; 9 + 7c4: 04 c0 rjmp .+8 ; 0x7ce <__udivmodqi4_ep> -000004f2 <__udivmodsi4_loop>: - 4f2: aa 1f adc r26, r26 - 4f4: bb 1f adc r27, r27 - 4f6: ee 1f adc r30, r30 - 4f8: ff 1f adc r31, r31 - 4fa: a2 17 cp r26, r18 - 4fc: b3 07 cpc r27, r19 - 4fe: e4 07 cpc r30, r20 - 500: f5 07 cpc r31, r21 - 502: 20 f0 brcs .+8 ; 0x50c <__udivmodsi4_ep> - 504: a2 1b sub r26, r18 - 506: b3 0b sbc r27, r19 - 508: e4 0b sbc r30, r20 - 50a: f5 0b sbc r31, r21 +000007c6 <__udivmodqi4_loop>: + 7c6: 99 1f adc r25, r25 + 7c8: 96 17 cp r25, r22 + 7ca: 08 f0 brcs .+2 ; 0x7ce <__udivmodqi4_ep> + 7cc: 96 1b sub r25, r22 -0000050c <__udivmodsi4_ep>: - 50c: 66 1f adc r22, r22 - 50e: 77 1f adc r23, r23 - 510: 88 1f adc r24, r24 - 512: 99 1f adc r25, r25 - 514: 1a 94 dec r1 - 516: 69 f7 brne .-38 ; 0x4f2 <__udivmodsi4_loop> - 518: 60 95 com r22 - 51a: 70 95 com r23 - 51c: 80 95 com r24 - 51e: 90 95 com r25 - 520: 9b 01 movw r18, r22 - 522: ac 01 movw r20, r24 - 524: bd 01 movw r22, r26 - 526: cf 01 movw r24, r30 - 528: 08 95 ret +000007ce <__udivmodqi4_ep>: + 7ce: 88 1f adc r24, r24 + 7d0: 7a 95 dec r23 + 7d2: c9 f7 brne .-14 ; 0x7c6 <__udivmodqi4_loop> + 7d4: 80 95 com r24 + 7d6: 08 95 ret -0000052a <__divmodsi4>: - 52a: 97 fb bst r25, 7 - 52c: 09 2e mov r0, r25 - 52e: 05 26 eor r0, r21 - 530: 0e d0 rcall .+28 ; 0x54e <__divmodsi4_neg1> - 532: 57 fd sbrc r21, 7 - 534: 04 d0 rcall .+8 ; 0x53e <__divmodsi4_neg2> - 536: d7 df rcall .-82 ; 0x4e6 <__udivmodsi4> - 538: 0a d0 rcall .+20 ; 0x54e <__divmodsi4_neg1> - 53a: 00 1c adc r0, r0 - 53c: 38 f4 brcc .+14 ; 0x54c <__divmodsi4_exit> +000007d8 <__udivmodsi4>: + 7d8: a1 e2 ldi r26, 0x21 ; 33 + 7da: 1a 2e mov r1, r26 + 7dc: aa 1b sub r26, r26 + 7de: bb 1b sub r27, r27 + 7e0: fd 01 movw r30, r26 + 7e2: 0d c0 rjmp .+26 ; 0x7fe <__udivmodsi4_ep> -0000053e <__divmodsi4_neg2>: - 53e: 50 95 com r21 - 540: 40 95 com r20 - 542: 30 95 com r19 - 544: 21 95 neg r18 - 546: 3f 4f sbci r19, 0xFF ; 255 - 548: 4f 4f sbci r20, 0xFF ; 255 - 54a: 5f 4f sbci r21, 0xFF ; 255 +000007e4 <__udivmodsi4_loop>: + 7e4: aa 1f adc r26, r26 + 7e6: bb 1f adc r27, r27 + 7e8: ee 1f adc r30, r30 + 7ea: ff 1f adc r31, r31 + 7ec: a2 17 cp r26, r18 + 7ee: b3 07 cpc r27, r19 + 7f0: e4 07 cpc r30, r20 + 7f2: f5 07 cpc r31, r21 + 7f4: 20 f0 brcs .+8 ; 0x7fe <__udivmodsi4_ep> + 7f6: a2 1b sub r26, r18 + 7f8: b3 0b sbc r27, r19 + 7fa: e4 0b sbc r30, r20 + 7fc: f5 0b sbc r31, r21 -0000054c <__divmodsi4_exit>: - 54c: 08 95 ret +000007fe <__udivmodsi4_ep>: + 7fe: 66 1f adc r22, r22 + 800: 77 1f adc r23, r23 + 802: 88 1f adc r24, r24 + 804: 99 1f adc r25, r25 + 806: 1a 94 dec r1 + 808: 69 f7 brne .-38 ; 0x7e4 <__udivmodsi4_loop> + 80a: 60 95 com r22 + 80c: 70 95 com r23 + 80e: 80 95 com r24 + 810: 90 95 com r25 + 812: 9b 01 movw r18, r22 + 814: ac 01 movw r20, r24 + 816: bd 01 movw r22, r26 + 818: cf 01 movw r24, r30 + 81a: 08 95 ret -0000054e <__divmodsi4_neg1>: - 54e: f6 f7 brtc .-4 ; 0x54c <__divmodsi4_exit> - 550: 90 95 com r25 - 552: 80 95 com r24 - 554: 70 95 com r23 - 556: 61 95 neg r22 - 558: 7f 4f sbci r23, 0xFF ; 255 - 55a: 8f 4f sbci r24, 0xFF ; 255 - 55c: 9f 4f sbci r25, 0xFF ; 255 - 55e: 08 95 ret +0000081c <__divmodsi4>: + 81c: 97 fb bst r25, 7 + 81e: 09 2e mov r0, r25 + 820: 05 26 eor r0, r21 + 822: 0e d0 rcall .+28 ; 0x840 <__divmodsi4_neg1> + 824: 57 fd sbrc r21, 7 + 826: 04 d0 rcall .+8 ; 0x830 <__divmodsi4_neg2> + 828: d7 df rcall .-82 ; 0x7d8 <__udivmodsi4> + 82a: 0a d0 rcall .+20 ; 0x840 <__divmodsi4_neg1> + 82c: 00 1c adc r0, r0 + 82e: 38 f4 brcc .+14 ; 0x83e <__divmodsi4_exit> -00000560 <_exit>: - 560: f8 94 cli +00000830 <__divmodsi4_neg2>: + 830: 50 95 com r21 + 832: 40 95 com r20 + 834: 30 95 com r19 + 836: 21 95 neg r18 + 838: 3f 4f sbci r19, 0xFF ; 255 + 83a: 4f 4f sbci r20, 0xFF ; 255 + 83c: 5f 4f sbci r21, 0xFF ; 255 -00000562 <__stop_program>: - 562: ff cf rjmp .-2 ; 0x562 <__stop_program> +0000083e <__divmodsi4_exit>: + 83e: 08 95 ret + +00000840 <__divmodsi4_neg1>: + 840: f6 f7 brtc .-4 ; 0x83e <__divmodsi4_exit> + 842: 90 95 com r25 + 844: 80 95 com r24 + 846: 70 95 com r23 + 848: 61 95 neg r22 + 84a: 7f 4f sbci r23, 0xFF ; 255 + 84c: 8f 4f sbci r24, 0xFF ; 255 + 84e: 9f 4f sbci r25, 0xFF ; 255 + 850: 08 95 ret + +00000852 <_exit>: + 852: f8 94 cli + +00000854 <__stop_program>: + 854: ff cf rjmp .-2 ; 0x854 <__stop_program> diff --git a/Sender/Sender/Debug/Sender.map b/Sender/Sender/Debug/Sender.map index 4dee949..2d3244a 100644 --- a/Sender/Sender/Debug/Sender.map +++ b/Sender/Sender/Debug/Sender.map @@ -1,5 +1,7 @@ Archive member included because of file (symbol) +c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodqi4.o) + Sender.o (__udivmodqi4) c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) rf12.o (__udivmodsi4) c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) @@ -124,7 +126,7 @@ LOAD c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1 .rela.plt *(.rela.plt) -.text 0x00000000 0x564 +.text 0x00000000 0x856 *(.vectors) .vectors 0x00000000 0x26 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr4/crtm8a.o 0x00000000 __vector_default @@ -213,32 +215,36 @@ LOAD c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1 0x000001ca rf12_txdata 0x0000023c rf12_rxdata 0x00000290 rf12_txpacket - .text 0x0000030c 0x1da Sender.o - 0x0000030c led - 0x00000360 poll - 0x000003d0 recive - 0x00000434 __vector_9 - 0x000004b6 init_timer - 0x000004c2 main - .text 0x000004e6 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) - .text 0x000004e6 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) - .text 0x000004e6 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - .text 0x000004e6 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) - .text 0x000004e6 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) - 0x000004e6 . = ALIGN (0x2) + .text 0x0000030c 0x4b4 Sender.o + 0x0000030c init_ports + 0x00000336 led + 0x000004b0 poll + 0x00000650 recive + 0x000006de __vector_9 + 0x0000077c init_timer + 0x00000788 main + .text 0x000007c0 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodqi4.o) + .text 0x000007c0 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) + .text 0x000007c0 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) + .text 0x000007c0 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .text 0x000007c0 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + .text 0x000007c0 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) + 0x000007c0 . = ALIGN (0x2) *(.text.*) - .text.libgcc 0x000004e6 0x44 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) - 0x000004e6 __udivmodsi4 - .text.libgcc 0x0000052a 0x36 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) - 0x0000052a __divmodsi4 - .text.libgcc 0x00000560 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - .text.libgcc 0x00000560 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) - .text.libgcc 0x00000560 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) - 0x00000560 . = ALIGN (0x2) + .text.libgcc 0x000007c0 0x18 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodqi4.o) + 0x000007c0 __udivmodqi4 + .text.libgcc 0x000007d8 0x44 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) + 0x000007d8 __udivmodsi4 + .text.libgcc 0x0000081c 0x36 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) + 0x0000081c __divmodsi4 + .text.libgcc 0x00000852 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .text.libgcc 0x00000852 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + .text.libgcc 0x00000852 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) + 0x00000852 . = ALIGN (0x2) *(.fini9) - .fini9 0x00000560 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - 0x00000560 _exit - 0x00000560 exit + .fini9 0x00000852 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + 0x00000852 _exit + 0x00000852 exit *(.fini9) *(.fini8) *(.fini8) @@ -257,55 +263,64 @@ LOAD c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1 *(.fini1) *(.fini1) *(.fini0) - .fini0 0x00000560 0x4 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .fini0 0x00000852 0x4 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) *(.fini0) - 0x00000564 _etext = . + 0x00000856 _etext = . -.data 0x00800060 0x0 load address 0x00000564 +.data 0x00800060 0x3c load address 0x00000856 0x00800060 PROVIDE (__data_start, .) *(.data) .data 0x00800060 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr4/crtm8a.o .data 0x00800060 0x0 rf12.o - .data 0x00800060 0x0 Sender.o - .data 0x00800060 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) - .data 0x00800060 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) - .data 0x00800060 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - .data 0x00800060 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) - .data 0x00800060 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) + .data 0x00800060 0x3c Sender.o + 0x00800060 in_row_pin + 0x0080006a in_row_port + 0x00800074 in_collumn_pin + 0x0080007e in_collumn_port + 0x00800088 led_pin + 0x00800092 led_port + .data 0x0080009c 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodqi4.o) + .data 0x0080009c 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) + .data 0x0080009c 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) + .data 0x0080009c 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .data 0x0080009c 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + .data 0x0080009c 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) *(.data*) *(.rodata) *(.rodata*) *(.gnu.linkonce.d*) - 0x00800060 . = ALIGN (0x2) - 0x00800060 _edata = . - 0x00800060 PROVIDE (__data_end, .) + 0x0080009c . = ALIGN (0x2) + 0x0080009c _edata = . + 0x0080009c PROVIDE (__data_end, .) -.bss 0x00800060 0x6 - 0x00800060 PROVIDE (__bss_start, .) +.bss 0x0080009c 0xd + 0x0080009c PROVIDE (__bss_start, .) *(.bss) - .bss 0x00800060 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr4/crtm8a.o - .bss 0x00800060 0x0 rf12.o - .bss 0x00800060 0x6 Sender.o - 0x00800060 status_dev_1 - 0x00800062 timer2s - 0x00800064 interrupt - .bss 0x00800066 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) - .bss 0x00800066 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) - .bss 0x00800066 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - .bss 0x00800066 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) - .bss 0x00800066 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) + .bss 0x0080009c 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr4/crtm8a.o + .bss 0x0080009c 0x0 rf12.o + .bss 0x0080009c 0xd Sender.o + 0x0080009c status_count + 0x008000a1 status_dev + 0x008000a6 timer2s + 0x008000a7 interrupt + .bss 0x008000a9 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodqi4.o) + .bss 0x008000a9 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) + .bss 0x008000a9 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) + .bss 0x008000a9 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .bss 0x008000a9 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + .bss 0x008000a9 0x0 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) *(.bss*) *(COMMON) - 0x00800066 PROVIDE (__bss_end, .) - 0x00000564 __data_load_start = LOADADDR (.data) - 0x00000564 __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x008000a9 PROVIDE (__bss_end, .) + 0x00000856 __data_load_start = LOADADDR (.data) + 0x00000892 __data_load_end = (__data_load_start + SIZEOF (.data)) -.noinit 0x00800066 0x0 - 0x00800066 PROVIDE (__noinit_start, .) +.noinit 0x008000a9 0x0 + 0x008000a9 PROVIDE (__noinit_start, .) *(.noinit*) - 0x00800066 PROVIDE (__noinit_end, .) - 0x00800066 _end = . - 0x00800066 PROVIDE (__heap_start, .) + 0x008000a9 PROVIDE (__noinit_end, .) + 0x008000a9 _end = . + 0x008000a9 PROVIDE (__heap_start, .) .eeprom 0x00810000 0x0 *(.eeprom*) @@ -358,75 +373,83 @@ LOAD c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1 .debug_sfnames *(.debug_sfnames) -.debug_aranges 0x00000000 0xe0 +.debug_aranges 0x00000000 0x100 *(.debug_aranges) .debug_aranges 0x00000000 0x20 rf12.o .debug_aranges 0x00000020 0x20 Sender.o .debug_aranges - 0x00000040 0x20 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) + 0x00000040 0x20 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodqi4.o) .debug_aranges - 0x00000060 0x20 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) + 0x00000060 0x20 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) .debug_aranges - 0x00000080 0x20 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + 0x00000080 0x20 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) .debug_aranges - 0x000000a0 0x20 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + 0x000000a0 0x20 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) .debug_aranges - 0x000000c0 0x20 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) + 0x000000c0 0x20 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + .debug_aranges + 0x000000e0 0x20 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) .debug_pubnames *(.debug_pubnames) -.debug_info 0x00000000 0xad7 +.debug_info 0x00000000 0x11a7 *(.debug_info) .debug_info 0x00000000 0x444 rf12.o - .debug_info 0x00000444 0x242 Sender.o - .debug_info 0x00000686 0xdd c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) - .debug_info 0x00000763 0xdd c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) - .debug_info 0x00000840 0xdd c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - .debug_info 0x0000091d 0xdd c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) - .debug_info 0x000009fa 0xdd c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) + .debug_info 0x00000444 0x835 Sender.o + .debug_info 0x00000c79 0xdd c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodqi4.o) + .debug_info 0x00000d56 0xdd c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) + .debug_info 0x00000e33 0xdd c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) + .debug_info 0x00000f10 0xdd c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .debug_info 0x00000fed 0xdd c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + .debug_info 0x000010ca 0xdd c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) *(.gnu.linkonce.wi.*) -.debug_abbrev 0x00000000 0x376 +.debug_abbrev 0x00000000 0x40c *(.debug_abbrev) .debug_abbrev 0x00000000 0x1a4 rf12.o - .debug_abbrev 0x000001a4 0x16e Sender.o - .debug_abbrev 0x00000312 0x14 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) - .debug_abbrev 0x00000326 0x14 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) - .debug_abbrev 0x0000033a 0x14 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - .debug_abbrev 0x0000034e 0x14 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) - .debug_abbrev 0x00000362 0x14 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) + .debug_abbrev 0x000001a4 0x1f0 Sender.o + .debug_abbrev 0x00000394 0x14 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodqi4.o) + .debug_abbrev 0x000003a8 0x14 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) + .debug_abbrev 0x000003bc 0x14 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) + .debug_abbrev 0x000003d0 0x14 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .debug_abbrev 0x000003e4 0x14 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + .debug_abbrev 0x000003f8 0x14 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) -.debug_line 0x00000000 0x6f0 +.debug_line 0x00000000 0x863 *(.debug_line) .debug_line 0x00000000 0x222 rf12.o - .debug_line 0x00000222 0x1de Sender.o - .debug_line 0x00000400 0xa8 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) - .debug_line 0x000004a8 0xa1 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) - .debug_line 0x00000549 0x88 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - .debug_line 0x000005d1 0x91 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) - .debug_line 0x00000662 0x8e c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) + .debug_line 0x00000222 0x2bf Sender.o + .debug_line 0x000004e1 0x92 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodqi4.o) + .debug_line 0x00000573 0xa8 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) + .debug_line 0x0000061b 0xa1 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) + .debug_line 0x000006bc 0x88 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .debug_line 0x00000744 0x91 c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + .debug_line 0x000007d5 0x8e c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) -.debug_frame 0x00000000 0x1f4 +.debug_frame 0x00000000 0x284 *(.debug_frame) .debug_frame 0x00000000 0x12c rf12.o - .debug_frame 0x0000012c 0xc8 Sender.o + .debug_frame 0x0000012c 0x158 Sender.o -.debug_str 0x00000000 0x25a +.debug_str 0x00000000 0x2d7 *(.debug_str) .debug_str 0x00000000 0x206 rf12.o 0x259 (size before relaxing) - .debug_str 0x00000206 0x54 Sender.o - 0x18d (size before relaxing) + .debug_str 0x00000206 0xd1 Sender.o + 0x219 (size before relaxing) -.debug_loc 0x00000000 0x4f7 +.debug_loc 0x00000000 0x9f7 *(.debug_loc) .debug_loc 0x00000000 0x342 rf12.o - .debug_loc 0x00000342 0x1b5 Sender.o + .debug_loc 0x00000342 0x6b5 Sender.o .debug_macinfo *(.debug_macinfo) OUTPUT(Sender.elf elf32-avr) LOAD linker stubs + +.debug_ranges 0x00000000 0x68 + .debug_ranges 0x00000000 0x68 Sender.o diff --git a/Sender/Sender/Debug/Sender.srec b/Sender/Sender/Debug/Sender.srec index 7a938d4..7c9471a 100644 --- a/Sender/Sender/Debug/Sender.srec +++ b/Sender/Sender/Debug/Sender.srec @@ -1,10 +1,10 @@ S00E000053656E6465722E73726563B5 S113000012C02CC02BC02AC029C028C027C026C0BB -S113001025C010C223C022C021C020C01FC01EC0E2 +S113001025C065C323C022C021C020C01FC01EC08C S11300201DC01CC01BC011241FBECFE5D4E0DEBF21 -S1130030CDBF10E0A0E6B0E0E4E6F5E002C0059034 -S11300400D92A036B107D9F710E0A0E6B0E001C0E8 -S11300501D92A636B107E1F734D282C2D1CFAC9853 +S1130030CDBF10E0A0E6B0E0E6E5F8E002C0059030 +S11300400D92AC39B107D9F710E0ACE9B0E001C0CA +S11300501D92A93AB107E1F797D3FBC3D1CFAC986E S113006040E120E030E0992314F4AA9A01C0AA9850 S1130070220F331F99992160AB9A880F991F00C0F2 S11300800000AB98415079F7AC9A822F932F0895D2 @@ -19,9 +19,9 @@ S1130100660F771F660F771F862B972BA8DF08953E S11301108036910538F02FE08034920728F08FE381 S11301209FE002C080E690E0906A99DF089522E0A3 S113013087399207F0F025E18831920770F49C0129 -S113014040E050E060E678EA80E090E0EED1C9015A +S113014040E050E060E678EA80E090E067D3C901DF S113015001978068966C83DF08959C0140E050E02D -S11301606CEF72E485E090E0BED1C9010197966C12 +S11301606CEF72E485E090E037D3C9010197966C97 S113017076DF089590E087709070986970E06295DA S11301807295707F7627607F76277070862B972B09 S113019066DF0895AC98999BFECF089588EC92E8A9 @@ -48,42 +48,93 @@ S11302D0986BC5DE5FDF8D2F90E0986BC0DE5ADF30 S11302E08C2F90E0986BBBDE55DF80E098EBB7DE97 S11302F051DF88E092E8B3DE8FEC97E00197F1F7E5 S113030000C00000DF91CF911F91089587B38560ED -S113031087BB80916000909161008230910519F44F -S1130320C29AC098089580916000909161008330D2 -S1130330910519F4C09AC298089580916000909133 -S113034061008630910519F4C09AC29A089580918B -S1130350600090916100009711F4C098C2980895CC -S1130360CF93DF93D3DFB99AC19881B38C7F81BBDC -S113037082B3836082BB80990AC0809160009091AF -S113038061008230910531F4C5E0D0E005C0C0E0E1 -S1130390D0E002C0C4E0D0E0819B03C02097A9F064 -S11303A002C0C7E0D0E0A59AAD9A0BDF8FEF94E3CB -S11303B0ACE081509040A040E1F700C00000AD984F -S11303C08AE061E04C2F64DFE9DEDF91CF9108958C -S11303D0E5DE01C0C5DFECDE8823E1F7EEDE823026 -S11303E040F501C0BDDFE4DE8823E1F7E6DE8130BD -S11303F011F40895B5DFDCDE8823E1F7DEDE833017 -S113040059F0863081F08230A1F482E090E090933C -S1130410610080936000089583E090E09093610010 -S113042080936000089586E090E09093610080934B -S1130430600008951F920F920FB60F9211242F930C -S11304403F934F935F936F937F938F939F93AF9358 -S1130450BF93EF93FF938091620090916300803487 -S1130460910554F4809162009091630001969093F9 -S11304706300809362000EC01092630010926200C9 -S1130480A0DE8AE061E041E003DF10926100109297 -S1130490600084DEFF91EF91BF91AF919F918F91A6 -S11304A07F916F915F914F913F912F910F900FBE6C -S11304B00F901F90189585E083BF12BE81E089BF1D -S11304C00895E6DD80E296E023DE81E060E047E027 -S11304D002DE80E895E22BDE80E066E04BDEEBDFB7 -S11304E0789476DFFECFA1E21A2EAA1BBB1BFD0176 -S11304F00DC0AA1FBB1FEE1FFF1FA217B307E407FF -S1130500F50720F0A21BB30BE40BF50B661F771F56 -S1130510881F991F1A9469F7609570958095909536 -S11305209B01AC01BD01CF01089597FB092E05265F -S11305300ED057FD04D0D7DF0AD0001C38F45095F4 -S11305404095309521953F4F4F4F5F4F0895F6F7F3 -S113055090958095709561957F4F8F4F9F4F08952B -S1070560F894FFCF39 +S113031087BB81B3806C81BBB99A81B3806381BB95 +S1130320C19A82B3806382BB81B3847F81BB82B371 +S11303308B6082BB0895CF92DF92EF92FF920F936E +S11303401F93CF93DF93A2E9B0E0C8E8D0E0AD01FA +S11303504F5F5F4FBE016F5F7F4F20E001EA10E007 +S1130360EE24FF24E394822F869590E0F801E80FB1 +S1130370F91F30813230F1F4EC91F0E03081C701A3 +S1130380088002C0880F991F0A94E2F7832B8083A8 +S1130390FA01C080DD24F6013081C701FB01008031 +S11303A002C0880F991F0A94E2F780958323F6010F +S11303B080836BC0F801E80FF91F30813330F1F40A +S11303C0FA01C080DD24F6013081C701FB01008001 +S11303D002C0880F991F0A94E2F7832BF6018083E9 +S11303E0EC91F0E03081C701088002C0880F991FAA +S11303F00A94E2F780958323808347C0F801E80FCD +S1130400F91F30813630E9F4EC91F0E03081C70116 +S1130410088002C0880F991F0A94E2F7832B808317 +S1130420FA01C080DD24F6013081C701FB010080A0 +S113043002C0880F991F0A94E2F7832BF601808388 +S113044024C0F801E80FF91F80818823F1F4EC91AE +S1130450F0E03081C701088002C0880F991F0A9418 +S1130460E2F7809583238083FA01C080DD24F601BE +S11304703081C701FB01008002C0880F991F0A94D4 +S1130480E2F780958323F60180832E5F12962296ED +S11304904E5F5F4F6E5F7F4F2A3009F064CFDF916C +S11304A0CF911F910F91FF90EF90DF90CF9008951F +S11304B02F923F924F925F926F927F928F929F9270 +S11304C0AF92BF92CF92DF92EF92FF920F931F935E +S11304D0CF93DF9330DF4FE750E065E770E0CBE682 +S11304E0D0E001E610E020E022243324EE24FF24AF +S11304F0E3946A015601F6013197A081B0E03B0113 +S11305008C91FB013197A701008002C0440F551F55 +S11305100A94E2F7942F909589238C9300004E015E +S1130520FE013197E081F0E028013081F801319734 +S1130530C701008002C0880F991F0A94E2F7832341 +S1130540B1F4822F8695E1EAF0E0E80FF11D908185 +S1130550923029F40F2EF5E02F2EF02D03C0222423 +S1130560689422F80F2EFAE03F2EF02D380E8C916D +S1130570842B8C930000F501A081B0E08C91A7013D +S1130580F301008002C0440F551F0A94E2F7942F30 +S1130590909589238C930000F4018081E82FF0E08A +S11305A03081C701F201008002C0880F991F0A94AC +S11305B0E2F7832359F4822F86950F2EFAE03F2E1B +S11305C0F02D380E0F2EF7E02F2EF02D8C91482BA6 +S11305D04C9300002E5F82E090E0C80ED91E6E5F3F +S11305E07F4F22960E5F1F4F2A3009F083CF3320AE +S11305F0E1F02220D1F0F894A59AAD9AE2DDAFE3C0 +S1130600BCE91197F1F700C00000832D61E0422D91 +S11306103FDEAD988FE798E3A1E081509040A04081 +S1130620E1F700C00000BADD7894DF91CF911F910B +S11306300F91FF90EF90DF90CF90BF90AF909F907D +S11306408F907F906F905F904F903F902F90089580 +S1130650CF93A4DD01C02CDFABDD8823E1F7ADDD52 +S11306608230D8F501C024DFA3DD8823E1F7A5DDBE +S1130670813099F16AE0A4D0C82FC15001C018DFBD +S113068097DD8823E1F799DD833081F08630D1F05E +S1130690823019F58C2F90E0FC01EF55FF4F22E0DA +S11306A0208384569F4FFC01108217C08C2F90E04A +S11306B0FC01EF55FF4F23E0208384569F4FFC013C +S11306C010820BC08C2F90E0FC01EF55FF4F26E009 +S11306D0208384569F4FFC011082CF9108951F926E +S11306E00F920FB60F9211242F933F934F935F9362 +S11306F06F937F938F939F93AF93BF93EF93FF93E6 +S11307008091A600803130F48091A6008F5F8093A1 +S1130710A60023C01092A60054DD80E061E041E011 +S1130720B7DD80E090E02CE930E041EA50E0F901E7 +S1130730E80FF91F60816B3028F0FA01E80FF91F08 +S1130740108206C0F901E80FF91F60816F5F6083B2 +S113075001968530910559F721DDFF91EF91BF9105 +S1130760AF919F918F917F916F915F914F913F9145 +S11307702F910F900FBE0F901F90189585E083BFA7 +S113078012BE81E089BF089583DC80E296E0C0DC7C +S113079081E060E047E09FDC80E895E2C8DC80E02F +S11307A066E0E8DCB3DDEADF78948FEF90E7A2E05F +S11307B081509040A040E1F700C0000049DFFECF27 +S11307C0991B79E004C0991F961708F0961B881F9F +S11307D07A95C9F780950895A1E21A2EAA1BBB1B2E +S11307E0FD010DC0AA1FBB1FEE1FFF1FA217B307F9 +S11307F0E407F50720F0A21BB30BE40BF50B661F0F +S1130800771F881F991F1A9469F7609570958095D2 +S113081090959B01AC01BD01CF01089597FB092E72 +S113082005260ED057FD04D0D7DF0AD0001C38F4BB +S113083050954095309521953F4F4F4F5F4F089508 +S1130840F6F790958095709561957F4F8F4F9F4FE8 +S10908500895F894FFCFA7 +S11308560001030303030303030330303030303055 +S11308663030303001010504050405040504383828 +S113087632323232323232320200060706070607B5 +S10F088606073838323232323232323255 S9030000FC diff --git a/Sender/Sender/Sender.c b/Sender/Sender/Sender.c index 6b6fea5..cb361b3 100644 --- a/Sender/Sender/Sender.c +++ b/Sender/Sender/Sender.c @@ -15,91 +15,106 @@ volatile int interrupt = 0; #include "rf12.h" #include "codes.h" +volatile uint8_t timer2s = 0; -volatile int timer2s = 0; +#define NUMDEV 5 +volatile uint8_t status_dev[] = {0,0,0,0,0}; +volatile uint8_t status_count[] = {0,0,0,0,0}; + +/* RED,GREEN */ +const uint8_t led_port[] = {&PORTB, &PORTB, &PORTD, &PORTD, &PORTD, &PORTD, &PORTD, &PORTD, &PORTD, &PORTD}; +const uint8_t led_pin[] = {PINB2, PINB0, PIND6, PIND7, PIND6, PIND7, PIND6, PIND7, PIND6, PIND7}; -volatile int status_dev_1 = 0; +const uint8_t in_collumn_port[] = {&PORTB, &PORTB, &PORTD, &PORTD, &PORTD, &PORTD, &PORTD, &PORTD, &PORTD, &PORTD}; +const uint8_t in_collumn_pin[] = {PINB1, PINB1, PIND5, PIND4, PIND5, PIND4, PIND5, PIND4, PIND5, PIND4}; -/*void send() { - if(status_dev_1 == SLEEP) { - rf12_txpacket(10,SETACTIVE); - status_dev_1 = ACTIVE; - return; - } - if(status_dev_1 == ACTIVE) { - rf12_txpacket(10,SETSLEEP); - status_dev_1 = SLEEP; - return; - } -}*/ - -/*ISR(INT0_vect) { - DDRC |= (1< 10) { + status_dev[i] = 0; + } else { + status_count[i]++; + } + } rf12_beginasyncrx(); } @@ -170,12 +195,26 @@ int main(void) rf12_setbandwidth(1, 0, 7); // 400kHz Bandbreite, 0dB Verstärkung, DRSSI threshold: -61dBm rf12_setbaud(9600); // 19200 baud rf12_setpower(0, 6); // 1mW Ausgangsleistung, 120kHz Frequenzshift - + init_ports(); init_timer(); sei(); + _delay_ms(100); + while(1) { recive(); } +} + +static inline void BIT_SET(volatile uint8_t *target, uint8_t bit) { + *target |= (1<