diff --git a/.gitmodules b/.gitmodules index 975d033..4508e7b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,3 +10,6 @@ [submodule "storno_cqp6xx_digital_xtal/avr_gpio_driver"] path = storno_cqp6xx_digital_xtal/avr_gpio_driver url = https://OZ1CM@bitbucket.org/oz1cm/avr_gpio_driver.git +[submodule "storno_cqp6xx_digital_xtal/cm_msg"] + path = storno_cqp6xx_digital_xtal/cm_msg + url = https://OZ1CM@bitbucket.org/oz1cm/cm_msg.git diff --git a/.vs/storno_cqp6xx_digital_xtal/v14/.atsuo b/.vs/storno_cqp6xx_digital_xtal/v14/.atsuo index 7349d5c..fd84d6b 100644 Binary files a/.vs/storno_cqp6xx_digital_xtal/v14/.atsuo and b/.vs/storno_cqp6xx_digital_xtal/v14/.atsuo differ diff --git a/storno_cqp6xx_digital_xtal/Debug/Makefile b/storno_cqp6xx_digital_xtal/Debug/Makefile index ac44ed1..20411c4 100644 --- a/storno_cqp6xx_digital_xtal/Debug/Makefile +++ b/storno_cqp6xx_digital_xtal/Debug/Makefile @@ -36,6 +36,7 @@ SUBDIRS := \ ../avr_gpio_driver/ \ ../avr_i2c_driver/ \ ../avr_uart_driver/ \ +../cm_msg_sync/ \ ../si5351_driver/ \ ../si5351_driver/include/ @@ -45,6 +46,7 @@ C_SRCS += \ ../avr_gpio_driver/avr_gpio.c \ ../avr_i2c_driver/avr_i2c.c \ ../avr_uart_driver/avr_uart.c \ +../cm_msg_sync/cm_msg_sync.c \ ../cqm6xx_app.c \ ../main.c \ ../si5351_driver/si5351_driver.c @@ -60,6 +62,7 @@ OBJS += \ avr_gpio_driver/avr_gpio.o \ avr_i2c_driver/avr_i2c.o \ avr_uart_driver/avr_uart.o \ +cm_msg_sync/cm_msg_sync.o \ cqm6xx_app.o \ main.o \ si5351_driver/si5351_driver.o @@ -68,6 +71,7 @@ OBJS_AS_ARGS += \ avr_gpio_driver/avr_gpio.o \ avr_i2c_driver/avr_i2c.o \ avr_uart_driver/avr_uart.o \ +cm_msg_sync/cm_msg_sync.o \ cqm6xx_app.o \ main.o \ si5351_driver/si5351_driver.o @@ -76,6 +80,7 @@ C_DEPS += \ avr_gpio_driver/avr_gpio.d \ avr_i2c_driver/avr_i2c.d \ avr_uart_driver/avr_uart.d \ +cm_msg_sync/cm_msg_sync.d \ cqm6xx_app.d \ main.d \ si5351_driver/si5351_driver.d @@ -84,6 +89,7 @@ C_DEPS_AS_ARGS += \ avr_gpio_driver/avr_gpio.d \ avr_i2c_driver/avr_i2c.d \ avr_uart_driver/avr_uart.d \ +cm_msg_sync/cm_msg_sync.d \ cqm6xx_app.d \ main.d \ si5351_driver/si5351_driver.d @@ -123,6 +129,13 @@ avr_uart_driver/avr_uart.o: ../avr_uart_driver/avr_uart.c @echo Finished building: $< +cm_msg_sync/cm_msg_sync.o: ../cm_msg_sync/cm_msg_sync.c + @echo Building file: $< + @echo Invoking: AVR/GNU C Compiler : 5.4.0 + $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\include" -Og -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny402 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" + @echo Finished building: $< + + ./cqm6xx_app.o: .././cqm6xx_app.c @echo Building file: $< @echo Invoking: AVR/GNU C Compiler : 5.4.0 diff --git a/storno_cqp6xx_digital_xtal/Debug/main.o b/storno_cqp6xx_digital_xtal/Debug/main.o index 9ad9687..aa1dc5c 100644 Binary files a/storno_cqp6xx_digital_xtal/Debug/main.o and b/storno_cqp6xx_digital_xtal/Debug/main.o differ diff --git a/storno_cqp6xx_digital_xtal/Debug/makedep.mk b/storno_cqp6xx_digital_xtal/Debug/makedep.mk index a247ef4..c5edc89 100644 --- a/storno_cqp6xx_digital_xtal/Debug/makedep.mk +++ b/storno_cqp6xx_digital_xtal/Debug/makedep.mk @@ -8,6 +8,8 @@ avr_i2c_driver\avr_i2c.c avr_uart_driver\avr_uart.c +cm_msg_sync\cm_msg_sync.c + cqm6xx_app.c main.c diff --git a/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.elf b/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.elf index 73fb5fc..a8d71e9 100644 Binary files a/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.elf and b/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.elf differ diff --git a/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.hex b/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.hex index 87940b6..5617f4b 100644 --- a/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.hex +++ b/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.hex @@ -1,10 +1,10 @@ :1000000019C033C032C031C030C02FC02EC02DC087 :100010002CC02BC02AC029C028C027C026C025C09C -:1000200024C023C022C021C020C01FC041C11DC0A8 +:1000200024C023C022C021C020C01FC06CC11DC07D :100030001CC01BC011241FBECFEFCDBFDFE3DEBF4E :100040002FE3A6E0BFE301C01D92AF30B207E1F796 -:100050001FE3A0E0BFE3E6EBFCE002C005900D92D9 -:10006000A630B107D9F769D224C6CACF81110DC015 +:100050001FE3A0E0BFE3EEECFCE002C005900D92D0 +:10006000A630B107D9F77CD230C6CACF81110DC0F6 :100070002091080430E002C0359527956A95E2F793 :1000800081E020FF80E090E0089580E090E0089516 :10009000E0E1F8E084818860848381E085830895CD @@ -41,166 +41,167 @@ :1002800081F0FC01002319F0013031F00DC08281B2 :1002900061DF80E090E00AC0828113DF80E090E0BF :1002A00005C08FEF9FEF02C080E090E00F910895AE -:1002B0001F920F920FB60F9211248F938091000816 -:1002C0008093063F8F910F900FBE0F901F9018954F -:1002D000CF93DF931F92CDB7DEB7E0E0F8E08CE676 -:1002E00095E08087918783E0878380EC8683848193 -:1002F000882324F48091000889838981E0E0F4E078 -:1003000080E4818380E8828378940F90DF91CF919D -:1003100008959091040895FFFCCF809302080895FA -:10032000FC0122813381232B21F0892B21F481E0F0 -:10033000089581E0089580E00895CF93DF93EC0164 -:10034000EFDF811132C089819881891771F1813085 -:1003500019F08230B1F029C081E493E00197F1F700 -:10036000000040E060E08A819B81E9D181E493E074 -:100370000197F1F7000041E061E08A819B81DFD1C4 -:1003800014C081E493E00197F1F7000041E060E0E0 -:100390008A819B81D4D181E493E00197F1F7000039 -:1003A00040E061E08A819B81CAD1DF91CF910895BD -:1003B000AF92BF92CF92DF92EF92FF920F931F9373 -:1003C000CF93DF93EC01ACDF81119AC0898181303A -:1003D00009F47FC020F0823009F487C091C088837F -:1003E00081E493E00197F1F7000060E08A819B814E -:1003F000F4D181E493E00197F1F700000F2EFBE5C3 -:10040000AF2EF8E4BF2EF0E1CF2ED12CF02D16EF59 -:10041000E12E1CE2F12E00E010E023E43DE040E09C -:1004200050E060E08A819B811BD281E493E00197D8 -:10043000F1F700000F2EF0ECAF2EF8E4BF2EF0E144 -:10044000CF2ED12CF02D12E0E12E1FE3F12E00E093 -:1004500010E028EC3CE040E050E061E08A819B81C4 -:10046000FFD181E493E00197F1F70000A12CB12CBA -:100470006501A394E12CF12C870122E130E040E0FA -:1004800050E060E08A819B81CFD081E493E00197C6 -:10049000F1F7000020E430E040E050E061E08A81C4 -:1004A0009B81C2D081E493E00197F1F7000040E026 -:1004B00060E08A819B8163D181E493E00197F1F749 -:1004C000000040E061E08A819B8159D181E089830D -:1004D00017C0CE0132DF8981888363E080E0C6DD0A -:1004E000019771F482E089830BC0CE0126DF8981F8 -:1004F000888363E080E0BADD892B11F481E0898391 -:10050000DF91CF911F910F91FF90EF90DF90CF90EF -:10051000BF90AF900895FC016115710531F0892BF2 -:1005200021F0118210826283738308958091040800 -:100530008823E4F7809100080895CF93DF93CDB727 -:10054000DEB7CB55D109CDBFDEBF80E090E05EDEE7 -:1005500040E660E070E0CE01019672DE4EE351E0CD -:10056000BE016F5F7F4FCE010496D8D1BE016C5F94 -:100570007F4F87E09FE3CFDFABDE82E7CADE82E713 -:10058000C8DE8AE0C6DE8DE0C4DE8091063F8823A7 -:1005900019F087E09FE30CDFC9DF8093063FB9DEE7 -:1005A00025E186E195E0215080409040E1F7EDCFD4 -:1005B0008F929F92AF92BF92CF92DF92EF92FF9273 -:1005C0000F931F93CF93DF93EC01862E5A0168019E -:1005D0007901C801019643D2982E192FFC0181920E -:1005E000CF01A601B5015CD3EA81FB81A701960189 -:1005F0002F5F3F4F4F4F5F4F01E0692D712F888173 -:1006000099810995892D912FC2D280E090E0DF91E8 -:10061000CF911F910F91FF90EF90DF90CF90BF90FF -:10062000AF909F908F900895AF92BF92CF92DF923C -:10063000EF92FF920F931F93FC01862FBA01A9013D -:100640004450510961097E4F440F551F661F771FA3 -:10065000440F551F661F771F440F551F661F771FD6 +:1002B000CF93DF931F92CDB7DEB7F894E0E0F8E07C +:1002C0008CE695E08087918783E0878380EC868346 +:1002D00080E885838481882324F4809100088983C1 +:1002E0008981E0E0F4E080E4818380E8828378948F +:1002F0000F90DF91CF9108959091040895FFFCCF66 +:100300008093020808951F920F920FB60F92112446 +:100310002F933F934F935F936F937F938F939F930D +:10032000AF93BF93EF93FF93809100088093063FB4 +:10033000E3DFFF91EF91BF91AF919F918F917F91FB +:100340006F915F914F913F912F910F900FBE0F9042 +:100350001F901895FC0122813381232B21F0892BDA +:1003600021F481E0089581E0089580E00895CF931D +:10037000DF93EC01EFDF811132C089819881891709 +:1003800071F1813019F08230B1F029C081E493E03D +:100390000197F1F7000040E060E08A819B81DBD1AA +:1003A00081E493E00197F1F7000041E061E08A8188 +:1003B0009B81D1D114C081E493E00197F1F7000053 +:1003C00041E060E08A819B81C6D181E493E001979E +:1003D000F1F7000040E061E08A819B81BCD1DF91B0 +:1003E000CF910895AF92BF92CF92DF92EF92FF929A +:1003F0000F931F93CF93DF93EC01ACDF81119AC071 +:100400008981813009F47FC020F0823009F487C0EF +:1004100091C0888381E493E00197F1F7000060E0E8 +:100420008A819B81E6D181E493E00197F1F7000096 +:100430000F2EFBE5AF2EF8E4BF2EF0E1CF2ED12C2E +:10044000F02D16EFE12E1CE2F12E00E010E023E487 +:100450003DE040E050E060E08A819B810DD281E484 +:1004600093E00197F1F700000F2EF0ECAF2EF8E4C7 +:10047000BF2EF0E1CF2ED12CF02D12E0E12E1FE3A4 +:10048000F12E00E010E028EC3CE040E050E061E0BC +:100490008A819B81F1D181E493E00197F1F700001B +:1004A000A12CB12C6501A394E12CF12C870122E150 +:1004B00030E040E050E060E08A819B81C1D081E47F +:1004C00093E00197F1F7000020E430E040E050E0D5 +:1004D00061E08A819B81B4D081E493E00197F1F7D8 +:1004E000000040E060E08A819B8155D181E493E087 +:1004F0000197F1F7000040E061E08A819B814BD1D8 +:1005000081E0898317C0CE0132DF8981888363E06F +:1005100080E0ACDD019771F482E089830BC0CE01ED +:1005200026DF8981888363E080E0A0DD892B11F4D8 +:1005300081E08983DF91CF911F910F91FF90EF9020 +:10054000DF90CF90BF90AF900895FC0161157105C9 +:1005500031F0892B21F01182108262837383089518 +:10056000CF93DF93CDB7DEB7CB55D109CDBFDEBF7B +:1005700080E090E04BDE40E660E070E0CE01019666 +:100580005FDE4EE351E0BE016F5F7F4FCE01049608 +:10059000D1D1BE016C5F7F4F87E09FE3D6DF88DE5D +:1005A00082E7AADE82E7A8DE8AE0A6DE8DE0A4DE8E +:1005B00087E09FE317DF2AE684E091E02150804046 +:1005C0009040E1F700C0F4CF8F929F92AF92BF921C +:1005D000CF92DF92EF92FF920F931F93CF93DF930F +:1005E000EC01862E5A0168017901C801019643D2B7 +:1005F000982E192FFC018192CF01A601B5015CD381 +:10060000EA81FB81A70196012F5F3F4F4F4F5F4F5C +:1006100001E0692D712F888199810995892D912F8C +:10062000C2D280E090E0DF91CF911F910F91FF90B7 +:10063000EF90DF90CF90BF90AF909F908F900895F4 +:10064000AF92BF92CF92DF92EF92FF920F931F93E0 +:10065000FC01862FBA01A9014450510961097E4F5E :10066000440F551F661F771F440F551F661F771FC6 :10067000440F551F661F771F440F551F661F771FB6 -:10068000882319F0813049F14FC0962F937086A1CD -:100690008C7F892B86A357A340A7F2A6E3A6D60199 -:1006A000C501072E7CE0B695A795979587957A9515 -:1006B000D1F7702D83708295807F0370802B81A786 -:1006C000B4A2A5A2AF014C5D5F4F08E010E020E0AE -:1006D00030E06AE2CF016CDF27C0962F937086A5C9 -:1006E0008C7F892B86A757A740ABF2AAE3AAD60135 -:1006F000C501072E7CE0B695A795979587957A95C5 -:10070000D1F7702D83708295807F0370802B81AB31 -:10071000B4A6A5A6AF01445D5F4F08E010E020E05D -:1007200030E062E3CF0144DF80E090E01F910F9161 -:10073000FF90EF90DF90CF90BF90AF9008950F9310 -:100740001F93662319F0613039F00BC0FC0127813B -:1007500040FB20F9278305C0FC01278140FB21F9DC -:100760002783AC01495F5F4F01E010E020E030E0FB -:1007700063E01EDF80E090E01F910F9108950F93DA -:100780001F93662319F06130A1F022C0FC0122857D -:1007900040FB27F933853F7D33872F642287AC01E7 -:1007A000465F5F4F01E010E020E030E060E100DFF5 -:1007B0000FC0FC01238540FB27F92F662387AC017E -:1007C000455F5F4F01E010E020E030E061E1F0DEE6 -:1007D00080E090E01F910F9108950F931F9366237F -:1007E00019F0613039F00AC0FC0121852B7F277F89 -:1007F000218704C0FC01218524602187AC01475F6B -:100800005F4F01E010E020E030E060EFD1DE80E0FB -:1008100090E01F910F9108950F931F9331E06111A4 -:1008200001C030E0FC01E95AFF4F208130FB25F97F -:10083000208331E0411101C030E0AC01495A5F4FE3 -:10084000FA01208130FB27F9208301E010E020E04D -:1008500030E061EBADDE80E090E01F910F910895F4 -:10086000AF92BF92CF92DF92EF92FF920F931F93BE -:10087000CF93DF93EC01662319F0613001F13DC0A5 -:1008800042708E898C7F482B4E8B3F8B288FD801EE -:10089000C70188279927AF70BB27FA8EEB8E8A2F66 -:1008A0008F70898FBC8AAD8A08E010E020E030E0CC -:1008B000AE014C5E5F4F6AE1CE017ADE1EC042702F -:1008C0008E8D8C7F482B4E8F3F8F28A3D801C70178 -:1008D00088279927AF70BB27FAA2EBA28A2F8F70C7 -:1008E00089A3BC8EAD8E08E010E020E030E0AE01C0 -:1008F000445E5F4F62E2CE015BDE41E061E0CE012B -:100900008BDF80E090E0DF91CF911F910F91FF90FE -:10091000EF90DF90CF90BF90AF900895EF92FF924D -:100920000F931F93CF93DF931F92CDB7DEB700973E -:1009300009F485C06115710509F484C0411551059C -:1009400009F483C07C01DC016D937C9311971296AE -:100950004D935C931397FC01349684E5DF011D925F -:100960008A95E9F78FEF898301E010E020E030E01D -:10097000AE014F5F5F4F63E0C7011ADE80E88983F5 -:1009800001E010E020E030E0AE014F5F5F4F60E13A -:10099000C7010EDE01E010E020E030E0AE014F5F65 -:1009A0005F4F61E1C70104DE01E010E020E030E0CC -:1009B000AE014F5F5F4F62E1C701FADD01E010E079 -:1009C00020E030E0AE014F5F5F4F63E1C701F0DD33 -:1009D00001E010E020E030E0AE014F5F5F4F64E1E6 -:1009E000C701E6DD01E010E020E030E0AE014F5F3E -:1009F0005F4F65E1C701DCDD01E010E020E030E0A1 -:100A0000AE014F5F5F4F66E1C701D2DD01E010E04C -:100A100020E030E0AE014F5F5F4F67E1C701C8DD06 -:100A200080EC898301E010E020E030E0AE014F5F10 -:100A30005F4F67EBC701BCDD80E090E008C08FEF3F -:100A40009FEF05C08FEF9FEF02C08FEF9FEF0F90DA -:100A5000DF91CF911F910F91FF90EF9008950F9329 -:100A60001F93CF93DF938230910510F482E090E0E2 -:100A7000E0910D3FF0910E3F20E030E0A0E0B0E0CB -:100A8000309719F14081518102811381481759072C -:100A9000C8F08417950769F4109731F012960C93FB -:100AA000129713961C9327C000930D3F10930E3F8F -:100AB00022C02115310519F04217530718F49A0185 -:100AC000BD01EF01DF01F801DBCF21153105F9F0A0 -:100AD000281B390B2430310580F48A819B816115F4 -:100AE000710521F0FB018283938304C080930D3F45 -:100AF00090930E3FFE01329644C0FE01E20FF31FB9 -:100B00008193919322503109288339833AC02091EF -:100B10000B3F30910C3F232B41F42091023F309149 -:100B2000033F20930B3F30930C3F2091003F3091C7 -:100B3000013F2115310541F42DB73EB74091043FE7 -:100B40005091053F241B350BE0910B3FF0910C3F7A -:100B5000E217F307A0F42E1B3F0B2817390778F094 -:100B6000AC014E5F5F4F2417350748F04E0F5F1FF3 -:100B700040930B3F50930C3F8193919302C0E0E070 -:100B8000F0E0CF01DF91CF911F910F910895CF93A6 -:100B9000DF93009709F481C0FC013297128213821F -:100BA000A0910D3FB0910E3F109781F420813181CB -:100BB000820F931F20910B3F30910C3F281739076C -:100BC00051F5E0930B3FF0930C3F67C0ED0120E03F -:100BD00030E0CE17DF0740F44A815B819E0141156A -:100BE0005105F1F0EA01F5CFC283D38340815181F1 -:100BF000840F951FC817D90759F488819981840FEC -:100C0000951F0296808391838A819B81828393833F -:100C10002115310529F4E0930D3FF0930E3F3DC0BF -:100C2000E901EA83FB8349915991C40FD51FEC1761 -:100C3000FD0761F480819181840F951F0296E9017F -:100C400088839983828193818A839B83E0E0F0E0AB -:100C500012968D919C911397009719F0FD01DC017C -:100C6000F7CF8D919C9111979D012E5F3F4F820F81 -:100C7000931F20910B3F30910C3F2817390769F4DF -:100C8000309729F410920D3F10920E3F02C012824D -:100C90001382A0930B3FB0930C3FDF91CF91089547 -:100CA000FB01DC0102C001900D9241505040D8F789 -:060CB0000895F894FFCF47 -:060CB60000000F3F2000CA +:10068000440F551F661F771F440F551F661F771FA6 +:10069000440F551F661F771F882319F0813049F1D9 +:1006A0004FC0962F937086A18C7F892B86A357A36A +:1006B00040A7F2A6E3A6D601C501072E7CE0B695B9 +:1006C000A795979587957A95D1F7702D8370829528 +:1006D000807F0370802B81A7B4A2A5A2AF014C5DDF +:1006E0005F4F08E010E020E030E06AE2CF016CDF0D +:1006F00027C0962F937086A58C7F892B86A757A736 +:1007000040ABF2AAE3AAD601C501072E7CE0B6955C +:10071000A795979587957A95D1F7702D83708295D7 +:10072000807F0370802B81ABB4A6A5A6AF01445D8A +:100730005F4F08E010E020E030E062E3CF0144DFEB +:1007400080E090E01F910F91FF90EF90DF90CF90AD +:10075000BF90AF9008950F931F93662319F06130F7 +:1007600039F00BC0FC01278140FB20F9278305C02D +:10077000FC01278140FB21F92783AC01495F5F4FD2 +:1007800001E010E020E030E063E01EDF80E090E078 +:100790001F910F9108950F931F93662319F06130F5 +:1007A000A1F022C0FC01228540FB27F933853F7D63 +:1007B00033872F642287AC01465F5F4F01E010E072 +:1007C00020E030E060E100DF0FC0FC01238540FB4A +:1007D00027F92F662387AC01455F5F4F01E010E0EA +:1007E00020E030E061E1F0DE80E090E01F910F91C9 +:1007F00008950F931F93662319F0613039F00AC0F2 +:10080000FC0121852B7F277F218704C0FC012185E6 +:1008100024602187AC01475F5F4F01E010E020E0DA +:1008200030E060EFD1DE80E090E01F910F910895FD +:100830000F931F9331E0611101C030E0FC01E95AD0 +:10084000FF4F208130FB25F9208331E0411101C0A9 +:1008500030E0AC01495A5F4FFA01208130FB27F9A3 +:10086000208301E010E020E030E061EBADDE80E0CD +:1008700090E01F910F910895AF92BF92CF92DF92B7 +:10088000EF92FF920F931F93CF93DF93EC016623B8 +:1008900019F0613001F13DC042708E898C7F482B88 +:1008A0004E8B3F8B288FD801C70188279927AF70BF +:1008B000BB27FA8EEB8E8A2F8F70898FBC8AAD8A08 +:1008C00008E010E020E030E0AE014C5E5F4F6AE1EE +:1008D000CE017ADE1EC042708E8D8C7F482B4E8FEB +:1008E0003F8F28A3D801C70188279927AF70BB275E +:1008F000FAA2EBA28A2F8F7089A3BC8EAD8E08E07E +:1009000010E020E030E0AE01445E5F4F62E2CE01D5 +:100910005BDE41E061E0CE018BDF80E090E0DF91C3 +:10092000CF911F910F91FF90EF90DF90CF90BF90EC +:10093000AF900895EF92FF920F931F93CF93DF93A1 +:100940001F92CDB7DEB7009709F485C06115710518 +:1009500009F484C04115510509F483C07C01DC0110 +:100960006D937C93119712964D935C931397FC01B2 +:10097000349684E5DF011D928A95E9F78FEF89832C +:1009800001E010E020E030E0AE014F5F5F4F63E038 +:10099000C7011ADE80E8898301E010E020E030E042 +:1009A000AE014F5F5F4F60E1C7010EDE01E010E076 +:1009B00020E030E0AE014F5F5F4F61E1C70104DE30 +:1009C00001E010E020E030E0AE014F5F5F4F62E1F8 +:1009D000C701FADD01E010E020E030E0AE014F5F3A +:1009E0005F4F63E1C701F0DD01E010E020E030E09F +:1009F000AE014F5F5F4F64E1C701E6DD01E010E04B +:100A000020E030E0AE014F5F5F4F65E1C701DCDD04 +:100A100001E010E020E030E0AE014F5F5F4F66E1A3 +:100A2000C701D2DD01E010E020E030E0AE014F5F11 +:100A30005F4F67E1C701C8DD80EC898301E010E00A +:100A400020E030E0AE014F5F5F4F67EBC701BCDDD8 +:100A500080E090E008C08FEF9FEF05C08FEF9FEF21 +:100A600002C08FEF9FEF0F90DF91CF911F910F91F9 +:100A7000FF90EF9008950F931F93CF93DF938230F1 +:100A8000910510F482E090E0E0910D3FF0910E3F6F +:100A900020E030E0A0E0B0E0309719F140815181D2 +:100AA0000281138148175907C8F08417950769F424 +:100AB000109731F012960C93129713961C9327C03F +:100AC00000930D3F10930E3F22C02115310519F000 +:100AD0004217530718F49A01BD01EF01DF01F80135 +:100AE000DBCF21153105F9F0281B390B24303105F6 +:100AF00080F48A819B816115710521F0FB0182835D +:100B0000938304C080930D3F90930E3FFE01329675 +:100B100044C0FE01E20FF31F8193919322503109EB +:100B2000288339833AC020910B3F30910C3F232B0F +:100B300041F42091023F3091033F20930B3F3093CB +:100B40000C3F2091003F3091013F2115310541F4C8 +:100B50002DB73EB74091043F5091053F241B350B04 +:100B6000E0910B3FF0910C3FE217F307A0F42E1B2E +:100B70003F0B2817390778F0AC014E5F5F4F241701 +:100B8000350748F04E0F5F1F40930B3F50930C3FCB +:100B90008193919302C0E0E0F0E0CF01DF91CF912B +:100BA0001F910F910895CF93DF93009709F481C0AF +:100BB000FC01329712821382A0910D3FB0910E3F3B +:100BC000109781F420813181820F931F20910B3F78 +:100BD00030910C3F2817390751F5E0930B3FF09304 +:100BE0000C3F67C0ED0120E030E0CE17DF0740F496 +:100BF0004A815B819E0141155105F1F0EA01F5CF73 +:100C0000C283D38340815181840F951FC817D907B0 +:100C100059F488819981840F951F0296808391836E +:100C20008A819B81828393832115310529F4E09386 +:100C30000D3FF0930E3F3DC0E901EA83FB834991EC +:100C40005991C40FD51FEC17FD0761F48081918184 +:100C5000840F951F0296E90188839983828193818D +:100C60008A839B83E0E0F0E012968D919C9113972C +:100C7000009719F0FD01DC01F7CF8D919C91119740 +:100C80009D012E5F3F4F820F931F20910B3F3091AC +:100C90000C3F2817390769F4309729F410920D3F5B +:100CA00010920E3F02C012821382A0930B3FB093AA +:100CB0000C3FDF91CF910895FB01DC0102C0019050 +:0E0CC0000D9241505040D8F70895F894FFCFA0 +:060CCE0000000F3F2000B2 :00000001FF diff --git a/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.lss b/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.lss index 69de0aa..74ebb25 100644 --- a/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.lss +++ b/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.lss @@ -3,31 +3,31 @@ storno_cqp6xx_digital_xtal.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn - 0 .data 00000006 00803f00 00000cb6 00000d4a 2**0 + 0 .data 00000006 00803f00 00000cce 00000d62 2**0 CONTENTS, ALLOC, LOAD, DATA - 1 .text 00000cb6 00000000 00000000 00000094 2**1 + 1 .text 00000cce 00000000 00000000 00000094 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE - 2 .bss 00000009 00803f06 00803f06 00000d50 2**0 + 2 .bss 00000009 00803f06 00803f06 00000d68 2**0 ALLOC - 3 .comment 00000030 00000000 00000000 00000d50 2**0 + 3 .comment 00000030 00000000 00000000 00000d68 2**0 CONTENTS, READONLY - 4 .note.gnu.avr.deviceinfo 0000003c 00000000 00000000 00000d80 2**2 + 4 .note.gnu.avr.deviceinfo 0000003c 00000000 00000000 00000d98 2**2 CONTENTS, READONLY - 5 .debug_aranges 00000198 00000000 00000000 00000dbc 2**0 + 5 .debug_aranges 000001a0 00000000 00000000 00000dd4 2**0 CONTENTS, READONLY, DEBUGGING - 6 .debug_info 00004c94 00000000 00000000 00000f54 2**0 + 6 .debug_info 00004b29 00000000 00000000 00000f74 2**0 CONTENTS, READONLY, DEBUGGING - 7 .debug_abbrev 00001b4f 00000000 00000000 00005be8 2**0 + 7 .debug_abbrev 00001b2d 00000000 00000000 00005a9d 2**0 CONTENTS, READONLY, DEBUGGING - 8 .debug_line 0000129b 00000000 00000000 00007737 2**0 + 8 .debug_line 0000126c 00000000 00000000 000075ca 2**0 CONTENTS, READONLY, DEBUGGING - 9 .debug_frame 000004ec 00000000 00000000 000089d4 2**2 + 9 .debug_frame 00000534 00000000 00000000 00008838 2**2 CONTENTS, READONLY, DEBUGGING - 10 .debug_str 00001eaa 00000000 00000000 00008ec0 2**0 + 10 .debug_str 00001ec6 00000000 00000000 00008d6c 2**0 CONTENTS, READONLY, DEBUGGING - 11 .debug_loc 00001c53 00000000 00000000 0000ad6a 2**0 + 11 .debug_loc 00001ce2 00000000 00000000 0000ac32 2**0 CONTENTS, READONLY, DEBUGGING - 12 .debug_ranges 00000138 00000000 00000000 0000c9bd 2**0 + 12 .debug_ranges 00000140 00000000 00000000 0000c914 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: @@ -55,7 +55,7 @@ Disassembly of section .text: 26: 21 c0 rjmp .+66 ; 0x6a <__bad_interrupt> 28: 20 c0 rjmp .+64 ; 0x6a <__bad_interrupt> 2a: 1f c0 rjmp .+62 ; 0x6a <__bad_interrupt> - 2c: 41 c1 rjmp .+642 ; 0x2b0 <__vector_22> + 2c: 6c c1 rjmp .+728 ; 0x306 <__vector_22> 2e: 1d c0 rjmp .+58 ; 0x6a <__bad_interrupt> 30: 1c c0 rjmp .+56 ; 0x6a <__bad_interrupt> 32: 1b c0 rjmp .+54 ; 0x6a <__bad_interrupt> @@ -86,7 +86,7 @@ Disassembly of section .text: 50: 1f e3 ldi r17, 0x3F ; 63 52: a0 e0 ldi r26, 0x00 ; 0 54: bf e3 ldi r27, 0x3F ; 63 - 56: e6 eb ldi r30, 0xB6 ; 182 + 56: ee ec ldi r30, 0xCE ; 206 58: fc e0 ldi r31, 0x0C ; 12 5a: 02 c0 rjmp .+4 ; 0x60 <__do_copy_data+0x10> 5c: 05 90 lpm r0, Z+ @@ -94,8 +94,8 @@ Disassembly of section .text: 60: a6 30 cpi r26, 0x06 ; 6 62: b1 07 cpc r27, r17 64: d9 f7 brne .-10 ; 0x5c <__do_copy_data+0xc> - 66: 69 d2 rcall .+1234 ; 0x53a
- 68: 24 c6 rjmp .+3144 ; 0xcb2 <_exit> + 66: 7c d2 rcall .+1272 ; 0x560
+ 68: 30 c6 rjmp .+3168 ; 0xcca <_exit> 0000006a <__bad_interrupt>: 6a: ca cf rjmp .-108 ; 0x0 <__vectors> @@ -658,713 +658,711 @@ int cm_i2c_transfer(cm_i2c_device_t *inst, uint8_t *data, uint32_t len, i2c_setg 2ac: 0f 91 pop r16 2ae: 08 95 ret -000002b0 <__vector_22>: +000002b0 : + + // Process the received data as needed (e.g., store in a buffer) +} + + +void cm_uart_init(){ + 2b0: cf 93 push r28 + 2b2: df 93 push r29 + 2b4: 1f 92 push r1 + 2b6: cd b7 in r28, 0x3d ; 61 + 2b8: de b7 in r29, 0x3e ; 62 + + //For interrupt-driven USART operation, global interrupts must be disabled during the initialization + cli(); + 2ba: f8 94 cli + + // Calculate and set baud rate register (3.33 MHz / (16 * 9600) - 1) + uint16_t baud = 1388;//(F_CPU / (16 * BAUD_RATE)) - 1; + USART0.BAUD = baud; + 2bc: e0 e0 ldi r30, 0x00 ; 0 + 2be: f8 e0 ldi r31, 0x08 ; 8 + 2c0: 8c e6 ldi r24, 0x6C ; 108 + 2c2: 95 e0 ldi r25, 0x05 ; 5 + 2c4: 80 87 std Z+8, r24 ; 0x08 + 2c6: 91 87 std Z+9, r25 ; 0x09 + + // Configure USART0 for 8-bit data, no parity, 1 stop bit + USART0.CTRLC = USART_CMODE_ASYNCHRONOUS_gc | // Asynchronous mode + 2c8: 83 e0 ldi r24, 0x03 ; 3 + 2ca: 87 83 std Z+7, r24 ; 0x07 + USART_CHSIZE_8BIT_gc | // 8-bit character size + USART_PMODE_DISABLED_gc; // No parity + + // Enable receiver, transmitter, and receive complete interrupt + USART0.CTRLB = USART_RXEN_bm | // Enable receiver + 2cc: 80 ec ldi r24, 0xC0 ; 192 + 2ce: 86 83 std Z+6, r24 ; 0x06 + USART_TXEN_bm; // Enable transmitter + + + USART0.CTRLA = USART_RXCIE_bm; // Enable receive interrupt + 2d0: 80 e8 ldi r24, 0x80 ; 128 + 2d2: 85 83 std Z+5, r24 ; 0x05 + + // Clear any existing receive complete interrupt flag by reading RXDATAL + if (USART0.STATUS & USART_RXCIF_bm) { + 2d4: 84 81 ldd r24, Z+4 ; 0x04 + 2d6: 88 23 and r24, r24 + 2d8: 24 f4 brge .+8 ; 0x2e2 + volatile uint8_t dummy = USART0.RXDATAL; // Read RXDATAL to clear the flag + 2da: 80 91 00 08 lds r24, 0x0800 ; 0x800800 <__RODATA_PM_OFFSET__+0x7f8800> + 2de: 89 83 std Y+1, r24 ; 0x01 + (void)dummy; // Silence unused variable warning + 2e0: 89 81 ldd r24, Y+1 ; 0x01 + } + + PORTA.DIRSET = (1 << 6); // Set PA1 (TX) as output + 2e2: e0 e0 ldi r30, 0x00 ; 0 + 2e4: f4 e0 ldi r31, 0x04 ; 4 + 2e6: 80 e4 ldi r24, 0x40 ; 64 + 2e8: 81 83 std Z+1, r24 ; 0x01 + PORTA.DIRCLR = (1 << 7); // Set PA2 (RX) as input + 2ea: 80 e8 ldi r24, 0x80 ; 128 + 2ec: 82 83 std Z+2, r24 ; 0x02 + // Enable global interrupts + sei(); + 2ee: 78 94 sei + + +} + 2f0: 0f 90 pop r0 + 2f2: df 91 pop r29 + 2f4: cf 91 pop r28 + 2f6: 08 95 ret + +000002f8 : + + +void cm_uart_send(uint8_t data) { + // Wait until the Data Register Empty flag (DREIF) is set, indicating it's ready for new data + while (!(USART0.STATUS & USART_DREIF_bm)); + 2f8: 90 91 04 08 lds r25, 0x0804 ; 0x800804 <__RODATA_PM_OFFSET__+0x7f8804> + 2fc: 95 ff sbrs r25, 5 + 2fe: fc cf rjmp .-8 ; 0x2f8 + + // Load the data into the transmit register + USART0.TXDATAL = data; + 300: 80 93 02 08 sts 0x0802, r24 ; 0x800802 <__RODATA_PM_OFFSET__+0x7f8802> + 304: 08 95 ret + +00000306 <__vector_22>: #ifdef AVR_ATTINY_402 #define BAUD_RATE 9600 extern uint8_t received_data; ISR(USART0_RXC_vect) { - 2b0: 1f 92 push r1 - 2b2: 0f 92 push r0 - 2b4: 0f b6 in r0, 0x3f ; 63 - 2b6: 0f 92 push r0 - 2b8: 11 24 eor r1, r1 - 2ba: 8f 93 push r24 + 306: 1f 92 push r1 + 308: 0f 92 push r0 + 30a: 0f b6 in r0, 0x3f ; 63 + 30c: 0f 92 push r0 + 30e: 11 24 eor r1, r1 + 310: 2f 93 push r18 + 312: 3f 93 push r19 + 314: 4f 93 push r20 + 316: 5f 93 push r21 + 318: 6f 93 push r22 + 31a: 7f 93 push r23 + 31c: 8f 93 push r24 + 31e: 9f 93 push r25 + 320: af 93 push r26 + 322: bf 93 push r27 + 324: ef 93 push r30 + 326: ff 93 push r31 // Read received data received_data = USART0.RXDATAL; - 2bc: 80 91 00 08 lds r24, 0x0800 ; 0x800800 <__RODATA_PM_OFFSET__+0x7f8800> - 2c0: 80 93 06 3f sts 0x3F06, r24 ; 0x803f06 <__data_end> - //cm_uart_send(received_data); + 328: 80 91 00 08 lds r24, 0x0800 ; 0x800800 <__RODATA_PM_OFFSET__+0x7f8800> + 32c: 80 93 06 3f sts 0x3F06, r24 ; 0x803f06 <__data_end> + cm_uart_send(received_data); + 330: e3 df rcall .-58 ; 0x2f8 // Process the received data as needed (e.g., store in a buffer) } - 2c4: 8f 91 pop r24 - 2c6: 0f 90 pop r0 - 2c8: 0f be out 0x3f, r0 ; 63 - 2ca: 0f 90 pop r0 - 2cc: 1f 90 pop r1 - 2ce: 18 95 reti + 332: ff 91 pop r31 + 334: ef 91 pop r30 + 336: bf 91 pop r27 + 338: af 91 pop r26 + 33a: 9f 91 pop r25 + 33c: 8f 91 pop r24 + 33e: 7f 91 pop r23 + 340: 6f 91 pop r22 + 342: 5f 91 pop r21 + 344: 4f 91 pop r20 + 346: 3f 91 pop r19 + 348: 2f 91 pop r18 + 34a: 0f 90 pop r0 + 34c: 0f be out 0x3f, r0 ; 63 + 34e: 0f 90 pop r0 + 350: 1f 90 pop r1 + 352: 18 95 reti -000002d0 : - - -void cm_uart_init(){ - 2d0: cf 93 push r28 - 2d2: df 93 push r29 - 2d4: 1f 92 push r1 - 2d6: cd b7 in r28, 0x3d ; 61 - 2d8: de b7 in r29, 0x3e ; 62 - - // Calculate and set baud rate register (3.33 MHz / (16 * 9600) - 1) - uint16_t baud = 1388;//(F_CPU / (16 * BAUD_RATE)) - 1; - USART0.BAUD = baud; - 2da: e0 e0 ldi r30, 0x00 ; 0 - 2dc: f8 e0 ldi r31, 0x08 ; 8 - 2de: 8c e6 ldi r24, 0x6C ; 108 - 2e0: 95 e0 ldi r25, 0x05 ; 5 - 2e2: 80 87 std Z+8, r24 ; 0x08 - 2e4: 91 87 std Z+9, r25 ; 0x09 - - // Configure USART0 for 8-bit data, no parity, 1 stop bit - USART0.CTRLC = USART_CMODE_ASYNCHRONOUS_gc | // Asynchronous mode - 2e6: 83 e0 ldi r24, 0x03 ; 3 - 2e8: 87 83 std Z+7, r24 ; 0x07 - USART_CHSIZE_8BIT_gc | // 8-bit character size - USART_PMODE_DISABLED_gc; // No parity - - // Enable receiver, transmitter, and receive complete interrupt - USART0.CTRLB = USART_RXEN_bm | // Enable receiver - 2ea: 80 ec ldi r24, 0xC0 ; 192 - 2ec: 86 83 std Z+6, r24 ; 0x06 - USART_TXEN_bm | // Enable transmitter - USART_RXCIE_bm; // Enable receive interrupt - - // Clear any existing receive complete interrupt flag by reading RXDATAL - if (USART0.STATUS & USART_RXCIF_bm) { - 2ee: 84 81 ldd r24, Z+4 ; 0x04 - 2f0: 88 23 and r24, r24 - 2f2: 24 f4 brge .+8 ; 0x2fc - volatile uint8_t dummy = USART0.RXDATAL; // Read RXDATAL to clear the flag - 2f4: 80 91 00 08 lds r24, 0x0800 ; 0x800800 <__RODATA_PM_OFFSET__+0x7f8800> - 2f8: 89 83 std Y+1, r24 ; 0x01 - (void)dummy; // Silence unused variable warning - 2fa: 89 81 ldd r24, Y+1 ; 0x01 - } - - PORTA.DIRSET = (1 << 6); // Set PA1 (TX) as output - 2fc: e0 e0 ldi r30, 0x00 ; 0 - 2fe: f4 e0 ldi r31, 0x04 ; 4 - 300: 80 e4 ldi r24, 0x40 ; 64 - 302: 81 83 std Z+1, r24 ; 0x01 - PORTA.DIRCLR = (1 << 7); // Set PA2 (RX) as input - 304: 80 e8 ldi r24, 0x80 ; 128 - 306: 82 83 std Z+2, r24 ; 0x02 - // Enable global interrupts - //sei(); - sei(); - 308: 78 94 sei - -} - 30a: 0f 90 pop r0 - 30c: df 91 pop r29 - 30e: cf 91 pop r28 - 310: 08 95 ret - -00000312 : - - -void cm_uart_send(uint8_t data) { - // Wait until the Data Register Empty flag (DREIF) is set, indicating it's ready for new data - while (!(USART0.STATUS & USART_DREIF_bm)); - 312: 90 91 04 08 lds r25, 0x0804 ; 0x800804 <__RODATA_PM_OFFSET__+0x7f8804> - 316: 95 ff sbrs r25, 5 - 318: fc cf rjmp .-8 ; 0x312 - - // Load the data into the transmit register - USART0.TXDATAL = data; - 31a: 80 93 02 08 sts 0x0802, r24 ; 0x800802 <__RODATA_PM_OFFSET__+0x7f8802> - 31e: 08 95 ret - -00000320 : +00000354 : #include "avr_global_config.h" #include static uint8_t isStructValid(storno_xtal_app_t *inst){ if(inst->si5351_dev == NULL) return 1; - 320: fc 01 movw r30, r24 - 322: 22 81 ldd r18, Z+2 ; 0x02 - 324: 33 81 ldd r19, Z+3 ; 0x03 - 326: 23 2b or r18, r19 - 328: 21 f0 breq .+8 ; 0x332 + 354: fc 01 movw r30, r24 + 356: 22 81 ldd r18, Z+2 ; 0x02 + 358: 33 81 ldd r19, Z+3 ; 0x03 + 35a: 23 2b or r18, r19 + 35c: 21 f0 breq .+8 ; 0x366 if(inst == NULL)return 1; - 32a: 89 2b or r24, r25 - 32c: 21 f4 brne .+8 ; 0x336 - 32e: 81 e0 ldi r24, 0x01 ; 1 - 330: 08 95 ret + 35e: 89 2b or r24, r25 + 360: 21 f4 brne .+8 ; 0x36a + 362: 81 e0 ldi r24, 0x01 ; 1 + 364: 08 95 ret #include "avr_global_config.h" #include static uint8_t isStructValid(storno_xtal_app_t *inst){ if(inst->si5351_dev == NULL) return 1; - 332: 81 e0 ldi r24, 0x01 ; 1 - 334: 08 95 ret + 366: 81 e0 ldi r24, 0x01 ; 1 + 368: 08 95 ret if(inst == NULL)return 1; return 0; - 336: 80 e0 ldi r24, 0x00 ; 0 + 36a: 80 e0 ldi r24, 0x00 ; 0 } - 338: 08 95 ret + 36c: 08 95 ret -0000033a : +0000036e : static void cqm6xx_app_updateOsc(storno_xtal_app_t *inst){ - 33a: cf 93 push r28 - 33c: df 93 push r29 - 33e: ec 01 movw r28, r24 + 36e: cf 93 push r28 + 370: df 93 push r29 + 372: ec 01 movw r28, r24 // Check Struct if(isStructValid(inst) != 0)return; - 340: ef df rcall .-34 ; 0x320 - 342: 81 11 cpse r24, r1 - 344: 32 c0 rjmp .+100 ; 0x3aa + 374: ef df rcall .-34 ; 0x354 + 376: 81 11 cpse r24, r1 + 378: 32 c0 rjmp .+100 ; 0x3de // We will only do this once, aka when transisioning from RX to TX and TX to RX.. if(inst->state_next == inst->state_now)return; - 346: 89 81 ldd r24, Y+1 ; 0x01 - 348: 98 81 ld r25, Y - 34a: 89 17 cp r24, r25 - 34c: 71 f1 breq .+92 ; 0x3aa + 37a: 89 81 ldd r24, Y+1 ; 0x01 + 37c: 98 81 ld r25, Y + 37e: 89 17 cp r24, r25 + 380: 71 f1 breq .+92 ; 0x3de switch(inst->state_next){ - 34e: 81 30 cpi r24, 0x01 ; 1 - 350: 19 f0 breq .+6 ; 0x358 - 352: 82 30 cpi r24, 0x02 ; 2 - 354: b1 f0 breq .+44 ; 0x382 - 356: 29 c0 rjmp .+82 ; 0x3aa + 382: 81 30 cpi r24, 0x01 ; 1 + 384: 19 f0 breq .+6 ; 0x38c + 386: 82 30 cpi r24, 0x02 ; 2 + 388: b1 f0 breq .+44 ; 0x3b6 + 38a: 29 c0 rjmp .+82 ; 0x3de #else //round up by default __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); #endif __builtin_avr_delay_cycles(__ticks_dc); - 358: 81 e4 ldi r24, 0x41 ; 65 - 35a: 93 e0 ldi r25, 0x03 ; 3 - 35c: 01 97 sbiw r24, 0x01 ; 1 - 35e: f1 f7 brne .-4 ; 0x35c - 360: 00 00 nop + 38c: 81 e4 ldi r24, 0x41 ; 65 + 38e: 93 e0 ldi r25, 0x03 ; 3 + 390: 01 97 sbiw r24, 0x01 ; 1 + 392: f1 f7 brne .-4 ; 0x390 + 394: 00 00 nop case STORNO_APP_RX_MODE: _delay_ms(1); cm_setOutputEnable(inst->si5351_dev,SI5351_OUTPUT_0,SI5351_OUTPUT_ENABLE); // RX - 362: 40 e0 ldi r20, 0x00 ; 0 - 364: 60 e0 ldi r22, 0x00 ; 0 - 366: 8a 81 ldd r24, Y+2 ; 0x02 - 368: 9b 81 ldd r25, Y+3 ; 0x03 - 36a: e9 d1 rcall .+978 ; 0x73e - 36c: 81 e4 ldi r24, 0x41 ; 65 - 36e: 93 e0 ldi r25, 0x03 ; 3 - 370: 01 97 sbiw r24, 0x01 ; 1 - 372: f1 f7 brne .-4 ; 0x370 - 374: 00 00 nop + 396: 40 e0 ldi r20, 0x00 ; 0 + 398: 60 e0 ldi r22, 0x00 ; 0 + 39a: 8a 81 ldd r24, Y+2 ; 0x02 + 39c: 9b 81 ldd r25, Y+3 ; 0x03 + 39e: db d1 rcall .+950 ; 0x756 + 3a0: 81 e4 ldi r24, 0x41 ; 65 + 3a2: 93 e0 ldi r25, 0x03 ; 3 + 3a4: 01 97 sbiw r24, 0x01 ; 1 + 3a6: f1 f7 brne .-4 ; 0x3a4 + 3a8: 00 00 nop _delay_ms(1); cm_setOutputEnable(inst->si5351_dev,SI5351_OUTPUT_1,SI5351_OUTPUT_DISABLE); // TX - 376: 41 e0 ldi r20, 0x01 ; 1 - 378: 61 e0 ldi r22, 0x01 ; 1 - 37a: 8a 81 ldd r24, Y+2 ; 0x02 - 37c: 9b 81 ldd r25, Y+3 ; 0x03 - 37e: df d1 rcall .+958 ; 0x73e + 3aa: 41 e0 ldi r20, 0x01 ; 1 + 3ac: 61 e0 ldi r22, 0x01 ; 1 + 3ae: 8a 81 ldd r24, Y+2 ; 0x02 + 3b0: 9b 81 ldd r25, Y+3 ; 0x03 + 3b2: d1 d1 rcall .+930 ; 0x756 break; - 380: 14 c0 rjmp .+40 ; 0x3aa - 382: 81 e4 ldi r24, 0x41 ; 65 - 384: 93 e0 ldi r25, 0x03 ; 3 - 386: 01 97 sbiw r24, 0x01 ; 1 - 388: f1 f7 brne .-4 ; 0x386 - 38a: 00 00 nop + 3b4: 14 c0 rjmp .+40 ; 0x3de + 3b6: 81 e4 ldi r24, 0x41 ; 65 + 3b8: 93 e0 ldi r25, 0x03 ; 3 + 3ba: 01 97 sbiw r24, 0x01 ; 1 + 3bc: f1 f7 brne .-4 ; 0x3ba + 3be: 00 00 nop case STORNO_APP_TX_MODE: _delay_ms(1); cm_setOutputEnable(inst->si5351_dev,SI5351_OUTPUT_0,SI5351_OUTPUT_DISABLE); // RX - 38c: 41 e0 ldi r20, 0x01 ; 1 - 38e: 60 e0 ldi r22, 0x00 ; 0 - 390: 8a 81 ldd r24, Y+2 ; 0x02 - 392: 9b 81 ldd r25, Y+3 ; 0x03 - 394: d4 d1 rcall .+936 ; 0x73e - 396: 81 e4 ldi r24, 0x41 ; 65 - 398: 93 e0 ldi r25, 0x03 ; 3 - 39a: 01 97 sbiw r24, 0x01 ; 1 - 39c: f1 f7 brne .-4 ; 0x39a - 39e: 00 00 nop + 3c0: 41 e0 ldi r20, 0x01 ; 1 + 3c2: 60 e0 ldi r22, 0x00 ; 0 + 3c4: 8a 81 ldd r24, Y+2 ; 0x02 + 3c6: 9b 81 ldd r25, Y+3 ; 0x03 + 3c8: c6 d1 rcall .+908 ; 0x756 + 3ca: 81 e4 ldi r24, 0x41 ; 65 + 3cc: 93 e0 ldi r25, 0x03 ; 3 + 3ce: 01 97 sbiw r24, 0x01 ; 1 + 3d0: f1 f7 brne .-4 ; 0x3ce + 3d2: 00 00 nop _delay_ms(1); cm_setOutputEnable(inst->si5351_dev,SI5351_OUTPUT_1,SI5351_OUTPUT_ENABLE); // TX - 3a0: 40 e0 ldi r20, 0x00 ; 0 - 3a2: 61 e0 ldi r22, 0x01 ; 1 - 3a4: 8a 81 ldd r24, Y+2 ; 0x02 - 3a6: 9b 81 ldd r25, Y+3 ; 0x03 - 3a8: ca d1 rcall .+916 ; 0x73e + 3d4: 40 e0 ldi r20, 0x00 ; 0 + 3d6: 61 e0 ldi r22, 0x01 ; 1 + 3d8: 8a 81 ldd r24, Y+2 ; 0x02 + 3da: 9b 81 ldd r25, Y+3 ; 0x03 + 3dc: bc d1 rcall .+888 ; 0x756 break; } } - 3aa: df 91 pop r29 - 3ac: cf 91 pop r28 - 3ae: 08 95 ret + 3de: df 91 pop r29 + 3e0: cf 91 pop r28 + 3e2: 08 95 ret -000003b0 : +000003e4 : void cqm6xx_app_statemachine(storno_xtal_app_t *inst){ - 3b0: af 92 push r10 - 3b2: bf 92 push r11 - 3b4: cf 92 push r12 - 3b6: df 92 push r13 - 3b8: ef 92 push r14 - 3ba: ff 92 push r15 - 3bc: 0f 93 push r16 - 3be: 1f 93 push r17 - 3c0: cf 93 push r28 - 3c2: df 93 push r29 - 3c4: ec 01 movw r28, r24 + 3e4: af 92 push r10 + 3e6: bf 92 push r11 + 3e8: cf 92 push r12 + 3ea: df 92 push r13 + 3ec: ef 92 push r14 + 3ee: ff 92 push r15 + 3f0: 0f 93 push r16 + 3f2: 1f 93 push r17 + 3f4: cf 93 push r28 + 3f6: df 93 push r29 + 3f8: ec 01 movw r28, r24 // Check Struct if(isStructValid(inst) != 0)return; - 3c6: ac df rcall .-168 ; 0x320 - 3c8: 81 11 cpse r24, r1 - 3ca: 9a c0 rjmp .+308 ; 0x500 <__LOCK_REGION_LENGTH__+0x100> + 3fa: ac df rcall .-168 ; 0x354 + 3fc: 81 11 cpse r24, r1 + 3fe: 9a c0 rjmp .+308 ; 0x534 <__LOCK_REGION_LENGTH__+0x134> switch (inst->state_next) - 3cc: 89 81 ldd r24, Y+1 ; 0x01 - 3ce: 81 30 cpi r24, 0x01 ; 1 - 3d0: 09 f4 brne .+2 ; 0x3d4 - 3d2: 7f c0 rjmp .+254 ; 0x4d2 <__LOCK_REGION_LENGTH__+0xd2> - 3d4: 20 f0 brcs .+8 ; 0x3de - 3d6: 82 30 cpi r24, 0x02 ; 2 - 3d8: 09 f4 brne .+2 ; 0x3dc - 3da: 87 c0 rjmp .+270 ; 0x4ea <__LOCK_REGION_LENGTH__+0xea> - 3dc: 91 c0 rjmp .+290 ; 0x500 <__LOCK_REGION_LENGTH__+0x100> + 400: 89 81 ldd r24, Y+1 ; 0x01 + 402: 81 30 cpi r24, 0x01 ; 1 + 404: 09 f4 brne .+2 ; 0x408 <__LOCK_REGION_LENGTH__+0x8> + 406: 7f c0 rjmp .+254 ; 0x506 <__LOCK_REGION_LENGTH__+0x106> + 408: 20 f0 brcs .+8 ; 0x412 <__LOCK_REGION_LENGTH__+0x12> + 40a: 82 30 cpi r24, 0x02 ; 2 + 40c: 09 f4 brne .+2 ; 0x410 <__LOCK_REGION_LENGTH__+0x10> + 40e: 87 c0 rjmp .+270 ; 0x51e <__LOCK_REGION_LENGTH__+0x11e> + 410: 91 c0 rjmp .+290 ; 0x534 <__LOCK_REGION_LENGTH__+0x134> { case STORNO_APP_PROGRAM_OSC: // Program PLL values here: inst->state_now = inst->state_next; - 3de: 88 83 st Y, r24 - 3e0: 81 e4 ldi r24, 0x41 ; 65 - 3e2: 93 e0 ldi r25, 0x03 ; 3 - 3e4: 01 97 sbiw r24, 0x01 ; 1 - 3e6: f1 f7 brne .-4 ; 0x3e4 - 3e8: 00 00 nop + 412: 88 83 st Y, r24 + 414: 81 e4 ldi r24, 0x41 ; 65 + 416: 93 e0 ldi r25, 0x03 ; 3 + 418: 01 97 sbiw r24, 0x01 ; 1 + 41a: f1 f7 brne .-4 ; 0x418 <__LOCK_REGION_LENGTH__+0x18> + 41c: 00 00 nop _delay_ms(1); cm_setInputSource(inst->si5351_dev, SI5351_CLK_SOURCE_XTAL); - 3ea: 60 e0 ldi r22, 0x00 ; 0 - 3ec: 8a 81 ldd r24, Y+2 ; 0x02 - 3ee: 9b 81 ldd r25, Y+3 ; 0x03 - 3f0: f4 d1 rcall .+1000 ; 0x7da - 3f2: 81 e4 ldi r24, 0x41 ; 65 - 3f4: 93 e0 ldi r25, 0x03 ; 3 - 3f6: 01 97 sbiw r24, 0x01 ; 1 - 3f8: f1 f7 brne .-4 ; 0x3f6 - 3fa: 00 00 nop + 41e: 60 e0 ldi r22, 0x00 ; 0 + 420: 8a 81 ldd r24, Y+2 ; 0x02 + 422: 9b 81 ldd r25, Y+3 ; 0x03 + 424: e6 d1 rcall .+972 ; 0x7f2 + 426: 81 e4 ldi r24, 0x41 ; 65 + 428: 93 e0 ldi r25, 0x03 ; 3 + 42a: 01 97 sbiw r24, 0x01 ; 1 + 42c: f1 f7 brne .-4 ; 0x42a <__LOCK_REGION_LENGTH__+0x2a> + 42e: 00 00 nop _delay_ms(1); cm_setPllParamRaw(inst->si5351_dev,SI5351_PLL_A, 3395, 11510, 1067099); - 3fc: 0f 2e mov r0, r31 - 3fe: fb e5 ldi r31, 0x5B ; 91 - 400: af 2e mov r10, r31 - 402: f8 e4 ldi r31, 0x48 ; 72 - 404: bf 2e mov r11, r31 - 406: f0 e1 ldi r31, 0x10 ; 16 - 408: cf 2e mov r12, r31 - 40a: d1 2c mov r13, r1 - 40c: f0 2d mov r31, r0 - 40e: 16 ef ldi r17, 0xF6 ; 246 - 410: e1 2e mov r14, r17 - 412: 1c e2 ldi r17, 0x2C ; 44 - 414: f1 2e mov r15, r17 - 416: 00 e0 ldi r16, 0x00 ; 0 - 418: 10 e0 ldi r17, 0x00 ; 0 - 41a: 23 e4 ldi r18, 0x43 ; 67 - 41c: 3d e0 ldi r19, 0x0D ; 13 - 41e: 40 e0 ldi r20, 0x00 ; 0 - 420: 50 e0 ldi r21, 0x00 ; 0 - 422: 60 e0 ldi r22, 0x00 ; 0 - 424: 8a 81 ldd r24, Y+2 ; 0x02 - 426: 9b 81 ldd r25, Y+3 ; 0x03 - 428: 1b d2 rcall .+1078 ; 0x860 - 42a: 81 e4 ldi r24, 0x41 ; 65 - 42c: 93 e0 ldi r25, 0x03 ; 3 - 42e: 01 97 sbiw r24, 0x01 ; 1 - 430: f1 f7 brne .-4 ; 0x42e <__LOCK_REGION_LENGTH__+0x2e> - 432: 00 00 nop + 430: 0f 2e mov r0, r31 + 432: fb e5 ldi r31, 0x5B ; 91 + 434: af 2e mov r10, r31 + 436: f8 e4 ldi r31, 0x48 ; 72 + 438: bf 2e mov r11, r31 + 43a: f0 e1 ldi r31, 0x10 ; 16 + 43c: cf 2e mov r12, r31 + 43e: d1 2c mov r13, r1 + 440: f0 2d mov r31, r0 + 442: 16 ef ldi r17, 0xF6 ; 246 + 444: e1 2e mov r14, r17 + 446: 1c e2 ldi r17, 0x2C ; 44 + 448: f1 2e mov r15, r17 + 44a: 00 e0 ldi r16, 0x00 ; 0 + 44c: 10 e0 ldi r17, 0x00 ; 0 + 44e: 23 e4 ldi r18, 0x43 ; 67 + 450: 3d e0 ldi r19, 0x0D ; 13 + 452: 40 e0 ldi r20, 0x00 ; 0 + 454: 50 e0 ldi r21, 0x00 ; 0 + 456: 60 e0 ldi r22, 0x00 ; 0 + 458: 8a 81 ldd r24, Y+2 ; 0x02 + 45a: 9b 81 ldd r25, Y+3 ; 0x03 + 45c: 0d d2 rcall .+1050 ; 0x878 + 45e: 81 e4 ldi r24, 0x41 ; 65 + 460: 93 e0 ldi r25, 0x03 ; 3 + 462: 01 97 sbiw r24, 0x01 ; 1 + 464: f1 f7 brne .-4 ; 0x462 <__LOCK_REGION_LENGTH__+0x62> + 466: 00 00 nop _delay_ms(1); cm_setPllParamRaw(inst->si5351_dev,SI5351_PLL_B, 3272, 16130, 1067200); - 434: 0f 2e mov r0, r31 - 436: f0 ec ldi r31, 0xC0 ; 192 - 438: af 2e mov r10, r31 - 43a: f8 e4 ldi r31, 0x48 ; 72 - 43c: bf 2e mov r11, r31 - 43e: f0 e1 ldi r31, 0x10 ; 16 - 440: cf 2e mov r12, r31 - 442: d1 2c mov r13, r1 - 444: f0 2d mov r31, r0 - 446: 12 e0 ldi r17, 0x02 ; 2 - 448: e1 2e mov r14, r17 - 44a: 1f e3 ldi r17, 0x3F ; 63 - 44c: f1 2e mov r15, r17 - 44e: 00 e0 ldi r16, 0x00 ; 0 - 450: 10 e0 ldi r17, 0x00 ; 0 - 452: 28 ec ldi r18, 0xC8 ; 200 - 454: 3c e0 ldi r19, 0x0C ; 12 - 456: 40 e0 ldi r20, 0x00 ; 0 - 458: 50 e0 ldi r21, 0x00 ; 0 - 45a: 61 e0 ldi r22, 0x01 ; 1 - 45c: 8a 81 ldd r24, Y+2 ; 0x02 - 45e: 9b 81 ldd r25, Y+3 ; 0x03 - 460: ff d1 rcall .+1022 ; 0x860 - 462: 81 e4 ldi r24, 0x41 ; 65 - 464: 93 e0 ldi r25, 0x03 ; 3 - 466: 01 97 sbiw r24, 0x01 ; 1 - 468: f1 f7 brne .-4 ; 0x466 <__LOCK_REGION_LENGTH__+0x66> - 46a: 00 00 nop + 468: 0f 2e mov r0, r31 + 46a: f0 ec ldi r31, 0xC0 ; 192 + 46c: af 2e mov r10, r31 + 46e: f8 e4 ldi r31, 0x48 ; 72 + 470: bf 2e mov r11, r31 + 472: f0 e1 ldi r31, 0x10 ; 16 + 474: cf 2e mov r12, r31 + 476: d1 2c mov r13, r1 + 478: f0 2d mov r31, r0 + 47a: 12 e0 ldi r17, 0x02 ; 2 + 47c: e1 2e mov r14, r17 + 47e: 1f e3 ldi r17, 0x3F ; 63 + 480: f1 2e mov r15, r17 + 482: 00 e0 ldi r16, 0x00 ; 0 + 484: 10 e0 ldi r17, 0x00 ; 0 + 486: 28 ec ldi r18, 0xC8 ; 200 + 488: 3c e0 ldi r19, 0x0C ; 12 + 48a: 40 e0 ldi r20, 0x00 ; 0 + 48c: 50 e0 ldi r21, 0x00 ; 0 + 48e: 61 e0 ldi r22, 0x01 ; 1 + 490: 8a 81 ldd r24, Y+2 ; 0x02 + 492: 9b 81 ldd r25, Y+3 ; 0x03 + 494: f1 d1 rcall .+994 ; 0x878 + 496: 81 e4 ldi r24, 0x41 ; 65 + 498: 93 e0 ldi r25, 0x03 ; 3 + 49a: 01 97 sbiw r24, 0x01 ; 1 + 49c: f1 f7 brne .-4 ; 0x49a <__LOCK_REGION_LENGTH__+0x9a> + 49e: 00 00 nop _delay_ms(1); cm_setOutputMultiSynth(inst->si5351_dev,SI5351_OUTPUT_0, 18, 0, 1); - 46c: a1 2c mov r10, r1 - 46e: b1 2c mov r11, r1 - 470: 65 01 movw r12, r10 - 472: a3 94 inc r10 - 474: e1 2c mov r14, r1 - 476: f1 2c mov r15, r1 - 478: 87 01 movw r16, r14 - 47a: 22 e1 ldi r18, 0x12 ; 18 - 47c: 30 e0 ldi r19, 0x00 ; 0 - 47e: 40 e0 ldi r20, 0x00 ; 0 - 480: 50 e0 ldi r21, 0x00 ; 0 - 482: 60 e0 ldi r22, 0x00 ; 0 - 484: 8a 81 ldd r24, Y+2 ; 0x02 - 486: 9b 81 ldd r25, Y+3 ; 0x03 - 488: cf d0 rcall .+414 ; 0x628 - 48a: 81 e4 ldi r24, 0x41 ; 65 - 48c: 93 e0 ldi r25, 0x03 ; 3 - 48e: 01 97 sbiw r24, 0x01 ; 1 - 490: f1 f7 brne .-4 ; 0x48e <__LOCK_REGION_LENGTH__+0x8e> - 492: 00 00 nop + 4a0: a1 2c mov r10, r1 + 4a2: b1 2c mov r11, r1 + 4a4: 65 01 movw r12, r10 + 4a6: a3 94 inc r10 + 4a8: e1 2c mov r14, r1 + 4aa: f1 2c mov r15, r1 + 4ac: 87 01 movw r16, r14 + 4ae: 22 e1 ldi r18, 0x12 ; 18 + 4b0: 30 e0 ldi r19, 0x00 ; 0 + 4b2: 40 e0 ldi r20, 0x00 ; 0 + 4b4: 50 e0 ldi r21, 0x00 ; 0 + 4b6: 60 e0 ldi r22, 0x00 ; 0 + 4b8: 8a 81 ldd r24, Y+2 ; 0x02 + 4ba: 9b 81 ldd r25, Y+3 ; 0x03 + 4bc: c1 d0 rcall .+386 ; 0x640 + 4be: 81 e4 ldi r24, 0x41 ; 65 + 4c0: 93 e0 ldi r25, 0x03 ; 3 + 4c2: 01 97 sbiw r24, 0x01 ; 1 + 4c4: f1 f7 brne .-4 ; 0x4c2 <__LOCK_REGION_LENGTH__+0xc2> + 4c6: 00 00 nop _delay_ms(1); cm_setOutputMultiSynth(inst->si5351_dev,SI5351_OUTPUT_1, 64, 0, 1); - 494: 20 e4 ldi r18, 0x40 ; 64 - 496: 30 e0 ldi r19, 0x00 ; 0 - 498: 40 e0 ldi r20, 0x00 ; 0 - 49a: 50 e0 ldi r21, 0x00 ; 0 - 49c: 61 e0 ldi r22, 0x01 ; 1 - 49e: 8a 81 ldd r24, Y+2 ; 0x02 - 4a0: 9b 81 ldd r25, Y+3 ; 0x03 - 4a2: c2 d0 rcall .+388 ; 0x628 - 4a4: 81 e4 ldi r24, 0x41 ; 65 - 4a6: 93 e0 ldi r25, 0x03 ; 3 - 4a8: 01 97 sbiw r24, 0x01 ; 1 - 4aa: f1 f7 brne .-4 ; 0x4a8 <__LOCK_REGION_LENGTH__+0xa8> - 4ac: 00 00 nop + 4c8: 20 e4 ldi r18, 0x40 ; 64 + 4ca: 30 e0 ldi r19, 0x00 ; 0 + 4cc: 40 e0 ldi r20, 0x00 ; 0 + 4ce: 50 e0 ldi r21, 0x00 ; 0 + 4d0: 61 e0 ldi r22, 0x01 ; 1 + 4d2: 8a 81 ldd r24, Y+2 ; 0x02 + 4d4: 9b 81 ldd r25, Y+3 ; 0x03 + 4d6: b4 d0 rcall .+360 ; 0x640 + 4d8: 81 e4 ldi r24, 0x41 ; 65 + 4da: 93 e0 ldi r25, 0x03 ; 3 + 4dc: 01 97 sbiw r24, 0x01 ; 1 + 4de: f1 f7 brne .-4 ; 0x4dc <__LOCK_REGION_LENGTH__+0xdc> + 4e0: 00 00 nop _delay_ms(1); cm_setCLKControl(inst->si5351_dev,SI5351_OUTPUT_0,SI5351_CLK_POWER_UP); - 4ae: 40 e0 ldi r20, 0x00 ; 0 - 4b0: 60 e0 ldi r22, 0x00 ; 0 - 4b2: 8a 81 ldd r24, Y+2 ; 0x02 - 4b4: 9b 81 ldd r25, Y+3 ; 0x03 - 4b6: 63 d1 rcall .+710 ; 0x77e - 4b8: 81 e4 ldi r24, 0x41 ; 65 - 4ba: 93 e0 ldi r25, 0x03 ; 3 - 4bc: 01 97 sbiw r24, 0x01 ; 1 - 4be: f1 f7 brne .-4 ; 0x4bc <__LOCK_REGION_LENGTH__+0xbc> - 4c0: 00 00 nop + 4e2: 40 e0 ldi r20, 0x00 ; 0 + 4e4: 60 e0 ldi r22, 0x00 ; 0 + 4e6: 8a 81 ldd r24, Y+2 ; 0x02 + 4e8: 9b 81 ldd r25, Y+3 ; 0x03 + 4ea: 55 d1 rcall .+682 ; 0x796 + 4ec: 81 e4 ldi r24, 0x41 ; 65 + 4ee: 93 e0 ldi r25, 0x03 ; 3 + 4f0: 01 97 sbiw r24, 0x01 ; 1 + 4f2: f1 f7 brne .-4 ; 0x4f0 <__LOCK_REGION_LENGTH__+0xf0> + 4f4: 00 00 nop _delay_ms(1); cm_setCLKControl(inst->si5351_dev,SI5351_OUTPUT_1,SI5351_CLK_POWER_UP); - 4c2: 40 e0 ldi r20, 0x00 ; 0 - 4c4: 61 e0 ldi r22, 0x01 ; 1 - 4c6: 8a 81 ldd r24, Y+2 ; 0x02 - 4c8: 9b 81 ldd r25, Y+3 ; 0x03 - 4ca: 59 d1 rcall .+690 ; 0x77e + 4f6: 40 e0 ldi r20, 0x00 ; 0 + 4f8: 61 e0 ldi r22, 0x01 ; 1 + 4fa: 8a 81 ldd r24, Y+2 ; 0x02 + 4fc: 9b 81 ldd r25, Y+3 ; 0x03 + 4fe: 4b d1 rcall .+662 ; 0x796 // if ok, then go to RX mode: inst->state_next = STORNO_APP_RX_MODE; - 4cc: 81 e0 ldi r24, 0x01 ; 1 - 4ce: 89 83 std Y+1, r24 ; 0x01 + 500: 81 e0 ldi r24, 0x01 ; 1 + 502: 89 83 std Y+1, r24 ; 0x01 break; - 4d0: 17 c0 rjmp .+46 ; 0x500 <__LOCK_REGION_LENGTH__+0x100> + 504: 17 c0 rjmp .+46 ; 0x534 <__LOCK_REGION_LENGTH__+0x134> case STORNO_APP_RX_MODE: // If we just came from another state, then Enable RX osc here.. cqm6xx_app_updateOsc(inst); - 4d2: ce 01 movw r24, r28 - 4d4: 32 df rcall .-412 ; 0x33a + 506: ce 01 movw r24, r28 + 508: 32 df rcall .-412 ; 0x36e // Update state now.. inst->state_now = inst->state_next; - 4d6: 89 81 ldd r24, Y+1 ; 0x01 - 4d8: 88 83 st Y, r24 + 50a: 89 81 ldd r24, Y+1 ; 0x01 + 50c: 88 83 st Y, r24 // If PTT is hold, then disable RX osc, and go to STORNO_APP_TX_MODE, to enable tx osc. if(gpio_get_level(GPIO_PORTA,GPIO_PIN_PTT) == GPIO_LEVEL_SET) inst->state_next = STORNO_APP_TX_MODE; - 4da: 63 e0 ldi r22, 0x03 ; 3 - 4dc: 80 e0 ldi r24, 0x00 ; 0 - 4de: c6 dd rcall .-1140 ; 0x6c - 4e0: 01 97 sbiw r24, 0x01 ; 1 - 4e2: 71 f4 brne .+28 ; 0x500 <__LOCK_REGION_LENGTH__+0x100> - 4e4: 82 e0 ldi r24, 0x02 ; 2 - 4e6: 89 83 std Y+1, r24 ; 0x01 - 4e8: 0b c0 rjmp .+22 ; 0x500 <__LOCK_REGION_LENGTH__+0x100> + 50e: 63 e0 ldi r22, 0x03 ; 3 + 510: 80 e0 ldi r24, 0x00 ; 0 + 512: ac dd rcall .-1192 ; 0x6c + 514: 01 97 sbiw r24, 0x01 ; 1 + 516: 71 f4 brne .+28 ; 0x534 <__LOCK_REGION_LENGTH__+0x134> + 518: 82 e0 ldi r24, 0x02 ; 2 + 51a: 89 83 std Y+1, r24 ; 0x01 + 51c: 0b c0 rjmp .+22 ; 0x534 <__LOCK_REGION_LENGTH__+0x134> break; case STORNO_APP_TX_MODE: // If we just came from another state, then Enable TX osc here.. cqm6xx_app_updateOsc(inst); - 4ea: ce 01 movw r24, r28 - 4ec: 26 df rcall .-436 ; 0x33a + 51e: ce 01 movw r24, r28 + 520: 26 df rcall .-436 ; 0x36e // Update state now.. inst->state_now = inst->state_next; - 4ee: 89 81 ldd r24, Y+1 ; 0x01 - 4f0: 88 83 st Y, r24 + 522: 89 81 ldd r24, Y+1 ; 0x01 + 524: 88 83 st Y, r24 // If PTT is released, then disable TX osc, and go to STORNO_APP_RX_MODE, to enable rx osc. if(gpio_get_level(GPIO_PORTA,GPIO_PIN_PTT) == GPIO_LEVEL_RESET) inst->state_next = STORNO_APP_RX_MODE; - 4f2: 63 e0 ldi r22, 0x03 ; 3 - 4f4: 80 e0 ldi r24, 0x00 ; 0 - 4f6: ba dd rcall .-1164 ; 0x6c - 4f8: 89 2b or r24, r25 - 4fa: 11 f4 brne .+4 ; 0x500 <__LOCK_REGION_LENGTH__+0x100> - 4fc: 81 e0 ldi r24, 0x01 ; 1 - 4fe: 89 83 std Y+1, r24 ; 0x01 + 526: 63 e0 ldi r22, 0x03 ; 3 + 528: 80 e0 ldi r24, 0x00 ; 0 + 52a: a0 dd rcall .-1216 ; 0x6c + 52c: 89 2b or r24, r25 + 52e: 11 f4 brne .+4 ; 0x534 <__LOCK_REGION_LENGTH__+0x134> + 530: 81 e0 ldi r24, 0x01 ; 1 + 532: 89 83 std Y+1, r24 ; 0x01 default: break; } } - 500: df 91 pop r29 - 502: cf 91 pop r28 - 504: 1f 91 pop r17 - 506: 0f 91 pop r16 - 508: ff 90 pop r15 - 50a: ef 90 pop r14 - 50c: df 90 pop r13 - 50e: cf 90 pop r12 - 510: bf 90 pop r11 - 512: af 90 pop r10 - 514: 08 95 ret + 534: df 91 pop r29 + 536: cf 91 pop r28 + 538: 1f 91 pop r17 + 53a: 0f 91 pop r16 + 53c: ff 90 pop r15 + 53e: ef 90 pop r14 + 540: df 90 pop r13 + 542: cf 90 pop r12 + 544: bf 90 pop r11 + 546: af 90 pop r10 + 548: 08 95 ret -00000516 : +0000054a : void cqm6xx_app_init(storno_xtal_app_t *inst, void *si5351_dev){ - 516: fc 01 movw r30, r24 + 54a: fc 01 movw r30, r24 if(si5351_dev == NULL) return; - 518: 61 15 cp r22, r1 - 51a: 71 05 cpc r23, r1 - 51c: 31 f0 breq .+12 ; 0x52a + 54c: 61 15 cp r22, r1 + 54e: 71 05 cpc r23, r1 + 550: 31 f0 breq .+12 ; 0x55e if(inst == NULL)return; - 51e: 89 2b or r24, r25 - 520: 21 f0 breq .+8 ; 0x52a + 552: 89 2b or r24, r25 + 554: 21 f0 breq .+8 ; 0x55e inst->state_next = STORNO_APP_PROGRAM_OSC; - 522: 11 82 std Z+1, r1 ; 0x01 + 556: 11 82 std Z+1, r1 ; 0x01 inst->state_now = STORNO_APP_PROGRAM_OSC; - 524: 10 82 st Z, r1 + 558: 10 82 st Z, r1 inst->si5351_dev = si5351_dev; - 526: 62 83 std Z+2, r22 ; 0x02 - 528: 73 83 std Z+3, r23 ; 0x03 - 52a: 08 95 ret + 55a: 62 83 std Z+2, r22 ; 0x02 + 55c: 73 83 std Z+3, r23 ; 0x03 + 55e: 08 95 ret -0000052c : +00000560
: -storno_xtal_app_t storno_xtal_app; -uint8_t received_data = 0; -uint8_t uart_receive(void) { - while (!(USART0.STATUS & USART_RXCIF_bm)); // Wait for data to be received - 52c: 80 91 04 08 lds r24, 0x0804 ; 0x800804 <__RODATA_PM_OFFSET__+0x7f8804> - 530: 88 23 and r24, r24 - 532: e4 f7 brge .-8 ; 0x52c - return USART0.RXDATAL; - 534: 80 91 00 08 lds r24, 0x0800 ; 0x800800 <__RODATA_PM_OFFSET__+0x7f8800> -} - 538: 08 95 ret - -0000053a
: int main(void) { - 53a: cf 93 push r28 - 53c: df 93 push r29 - 53e: cd b7 in r28, 0x3d ; 61 - 540: de b7 in r29, 0x3e ; 62 - 542: cb 55 subi r28, 0x5B ; 91 - 544: d1 09 sbc r29, r1 - 546: cd bf out 0x3d, r28 ; 61 - 548: de bf out 0x3e, r29 ; 62 + 560: cf 93 push r28 + 562: df 93 push r29 + 564: cd b7 in r28, 0x3d ; 61 + 566: de b7 in r29, 0x3e ; 62 + 568: cb 55 subi r28, 0x5B ; 91 + 56a: d1 09 sbc r29, r1 + 56c: cd bf out 0x3d, r28 ; 61 + 56e: de bf out 0x3e, r29 ; 62 /* Replace with your application code */ // Init Periphials cm_i2c_init(NULL); - 54a: 80 e0 ldi r24, 0x00 ; 0 - 54c: 90 e0 ldi r25, 0x00 ; 0 - 54e: 5e de rcall .-836 ; 0x20c + 570: 80 e0 ldi r24, 0x00 ; 0 + 572: 90 e0 ldi r25, 0x00 ; 0 + 574: 4b de rcall .-874 ; 0x20c // Add devices cm_i2c_device_t si5351_i2c; cm_i2c_addDev(&si5351_i2c,NULL,0x60); - 550: 40 e6 ldi r20, 0x60 ; 96 - 552: 60 e0 ldi r22, 0x00 ; 0 - 554: 70 e0 ldi r23, 0x00 ; 0 - 556: ce 01 movw r24, r28 - 558: 01 96 adiw r24, 0x01 ; 1 - 55a: 72 de rcall .-796 ; 0x240 + 576: 40 e6 ldi r20, 0x60 ; 96 + 578: 60 e0 ldi r22, 0x00 ; 0 + 57a: 70 e0 ldi r23, 0x00 ; 0 + 57c: ce 01 movw r24, r28 + 57e: 01 96 adiw r24, 0x01 ; 1 + 580: 5f de rcall .-834 ; 0x240 // Init Devices: si5351_driver si5351_dev; cm_si5351_init(&si5351_dev,&si5351_i2c,(setGet_I2C_Event_fpt)cm_i2c_transfer); - 55c: 4e e3 ldi r20, 0x3E ; 62 - 55e: 51 e0 ldi r21, 0x01 ; 1 - 560: be 01 movw r22, r28 - 562: 6f 5f subi r22, 0xFF ; 255 - 564: 7f 4f sbci r23, 0xFF ; 255 - 566: ce 01 movw r24, r28 - 568: 04 96 adiw r24, 0x04 ; 4 - 56a: d8 d1 rcall .+944 ; 0x91c + 582: 4e e3 ldi r20, 0x3E ; 62 + 584: 51 e0 ldi r21, 0x01 ; 1 + 586: be 01 movw r22, r28 + 588: 6f 5f subi r22, 0xFF ; 255 + 58a: 7f 4f sbci r23, 0xFF ; 255 + 58c: ce 01 movw r24, r28 + 58e: 04 96 adiw r24, 0x04 ; 4 + 590: d1 d1 rcall .+930 ; 0x934 cqm6xx_app_init(&storno_xtal_app, &si5351_dev); - 56c: be 01 movw r22, r28 - 56e: 6c 5f subi r22, 0xFC ; 252 - 570: 7f 4f sbci r23, 0xFF ; 255 - 572: 87 e0 ldi r24, 0x07 ; 7 - 574: 9f e3 ldi r25, 0x3F ; 63 - 576: cf df rcall .-98 ; 0x516 + 592: be 01 movw r22, r28 + 594: 6c 5f subi r22, 0xFC ; 252 + 596: 7f 4f sbci r23, 0xFF ; 255 + 598: 87 e0 ldi r24, 0x07 ; 7 + 59a: 9f e3 ldi r25, 0x3F ; 63 + 59c: d6 df rcall .-84 ; 0x54a cm_uart_init(); - 578: ab de rcall .-682 ; 0x2d0 + 59e: 88 de rcall .-752 ; 0x2b0 cm_uart_send('r'); - 57a: 82 e7 ldi r24, 0x72 ; 114 - 57c: ca de rcall .-620 ; 0x312 + 5a0: 82 e7 ldi r24, 0x72 ; 114 + 5a2: aa de rcall .-684 ; 0x2f8 cm_uart_send('r'); - 57e: 82 e7 ldi r24, 0x72 ; 114 - 580: c8 de rcall .-624 ; 0x312 + 5a4: 82 e7 ldi r24, 0x72 ; 114 + 5a6: a8 de rcall .-688 ; 0x2f8 cm_uart_send('\n'); - 582: 8a e0 ldi r24, 0x0A ; 10 - 584: c6 de rcall .-628 ; 0x312 + 5a8: 8a e0 ldi r24, 0x0A ; 10 + 5aa: a6 de rcall .-692 ; 0x2f8 cm_uart_send('\r'); - 586: 8d e0 ldi r24, 0x0D ; 13 - 588: c4 de rcall .-632 ; 0x312 + 5ac: 8d e0 ldi r24, 0x0D ; 13 + 5ae: a4 de rcall .-696 ; 0x2f8 while (1) { - //cqm6xx_app_statemachine(&storno_xtal_app); - if(received_data != 0){ - 58a: 80 91 06 3f lds r24, 0x3F06 ; 0x803f06 <__data_end> - 58e: 88 23 and r24, r24 - 590: 19 f0 breq .+6 ; 0x598 - - cqm6xx_app_statemachine(&storno_xtal_app); - 592: 87 e0 ldi r24, 0x07 ; 7 - 594: 9f e3 ldi r25, 0x3F ; 63 - 596: 0c df rcall .-488 ; 0x3b0 - - } - received_data = uart_receive(); - 598: c9 df rcall .-110 ; 0x52c - 59a: 80 93 06 3f sts 0x3F06, r24 ; 0x803f06 <__data_end> - cm_uart_send(received_data); - 59e: b9 de rcall .-654 ; 0x312 - 5a0: 25 e1 ldi r18, 0x15 ; 21 - 5a2: 86 e1 ldi r24, 0x16 ; 22 - 5a4: 95 e0 ldi r25, 0x05 ; 5 - 5a6: 21 50 subi r18, 0x01 ; 1 - 5a8: 80 40 sbci r24, 0x00 ; 0 - 5aa: 90 40 sbci r25, 0x00 ; 0 - 5ac: e1 f7 brne .-8 ; 0x5a6 - 5ae: ed cf rjmp .-38 ; 0x58a -000005b0 : + cqm6xx_app_statemachine(&storno_xtal_app); + 5b0: 87 e0 ldi r24, 0x07 ; 7 + 5b2: 9f e3 ldi r25, 0x3F ; 63 + 5b4: 17 df rcall .-466 ; 0x3e4 + 5b6: 2a e6 ldi r18, 0x6A ; 106 + 5b8: 84 e0 ldi r24, 0x04 ; 4 + 5ba: 91 e0 ldi r25, 0x01 ; 1 + 5bc: 21 50 subi r18, 0x01 ; 1 + 5be: 80 40 sbci r24, 0x00 ; 0 + 5c0: 90 40 sbci r25, 0x00 ; 0 + 5c2: e1 f7 brne .-8 ; 0x5bc + 5c4: 00 c0 rjmp .+0 ; 0x5c6 + 5c6: f4 cf rjmp .-24 ; 0x5b0 + +000005c8 : // Read Device Status register: readRegister(inst,0x00, (uint8_t *) &inst->device_data.deviceStatus, sizeof(si5351_deviceStat_t)); return inst->device_data.deviceStatus.REVID; } - 5b0: 8f 92 push r8 - 5b2: 9f 92 push r9 - 5b4: af 92 push r10 - 5b6: bf 92 push r11 - 5b8: cf 92 push r12 - 5ba: df 92 push r13 - 5bc: ef 92 push r14 - 5be: ff 92 push r15 - 5c0: 0f 93 push r16 - 5c2: 1f 93 push r17 - 5c4: cf 93 push r28 - 5c6: df 93 push r29 - 5c8: ec 01 movw r28, r24 - 5ca: 86 2e mov r8, r22 - 5cc: 5a 01 movw r10, r20 - 5ce: 68 01 movw r12, r16 - 5d0: 79 01 movw r14, r18 - 5d2: c8 01 movw r24, r16 - 5d4: 01 96 adiw r24, 0x01 ; 1 - 5d6: 43 d2 rcall .+1158 ; 0xa5e - 5d8: 98 2e mov r9, r24 - 5da: 19 2f mov r17, r25 - 5dc: fc 01 movw r30, r24 - 5de: 81 92 st Z+, r8 - 5e0: cf 01 movw r24, r30 - 5e2: a6 01 movw r20, r12 - 5e4: b5 01 movw r22, r10 - 5e6: 5c d3 rcall .+1720 ; 0xca0 - 5e8: ea 81 ldd r30, Y+2 ; 0x02 - 5ea: fb 81 ldd r31, Y+3 ; 0x03 - 5ec: a7 01 movw r20, r14 - 5ee: 96 01 movw r18, r12 - 5f0: 2f 5f subi r18, 0xFF ; 255 - 5f2: 3f 4f sbci r19, 0xFF ; 255 - 5f4: 4f 4f sbci r20, 0xFF ; 255 - 5f6: 5f 4f sbci r21, 0xFF ; 255 - 5f8: 01 e0 ldi r16, 0x01 ; 1 - 5fa: 69 2d mov r22, r9 - 5fc: 71 2f mov r23, r17 - 5fe: 88 81 ld r24, Y - 600: 99 81 ldd r25, Y+1 ; 0x01 - 602: 09 95 icall - 604: 89 2d mov r24, r9 - 606: 91 2f mov r25, r17 - 608: c2 d2 rcall .+1412 ; 0xb8e - 60a: 80 e0 ldi r24, 0x00 ; 0 - 60c: 90 e0 ldi r25, 0x00 ; 0 - 60e: df 91 pop r29 - 610: cf 91 pop r28 - 612: 1f 91 pop r17 - 614: 0f 91 pop r16 - 616: ff 90 pop r15 - 618: ef 90 pop r14 - 61a: df 90 pop r13 - 61c: cf 90 pop r12 - 61e: bf 90 pop r11 - 620: af 90 pop r10 - 622: 9f 90 pop r9 - 624: 8f 90 pop r8 - 626: 08 95 ret + 5c8: 8f 92 push r8 + 5ca: 9f 92 push r9 + 5cc: af 92 push r10 + 5ce: bf 92 push r11 + 5d0: cf 92 push r12 + 5d2: df 92 push r13 + 5d4: ef 92 push r14 + 5d6: ff 92 push r15 + 5d8: 0f 93 push r16 + 5da: 1f 93 push r17 + 5dc: cf 93 push r28 + 5de: df 93 push r29 + 5e0: ec 01 movw r28, r24 + 5e2: 86 2e mov r8, r22 + 5e4: 5a 01 movw r10, r20 + 5e6: 68 01 movw r12, r16 + 5e8: 79 01 movw r14, r18 + 5ea: c8 01 movw r24, r16 + 5ec: 01 96 adiw r24, 0x01 ; 1 + 5ee: 43 d2 rcall .+1158 ; 0xa76 + 5f0: 98 2e mov r9, r24 + 5f2: 19 2f mov r17, r25 + 5f4: fc 01 movw r30, r24 + 5f6: 81 92 st Z+, r8 + 5f8: cf 01 movw r24, r30 + 5fa: a6 01 movw r20, r12 + 5fc: b5 01 movw r22, r10 + 5fe: 5c d3 rcall .+1720 ; 0xcb8 + 600: ea 81 ldd r30, Y+2 ; 0x02 + 602: fb 81 ldd r31, Y+3 ; 0x03 + 604: a7 01 movw r20, r14 + 606: 96 01 movw r18, r12 + 608: 2f 5f subi r18, 0xFF ; 255 + 60a: 3f 4f sbci r19, 0xFF ; 255 + 60c: 4f 4f sbci r20, 0xFF ; 255 + 60e: 5f 4f sbci r21, 0xFF ; 255 + 610: 01 e0 ldi r16, 0x01 ; 1 + 612: 69 2d mov r22, r9 + 614: 71 2f mov r23, r17 + 616: 88 81 ld r24, Y + 618: 99 81 ldd r25, Y+1 ; 0x01 + 61a: 09 95 icall + 61c: 89 2d mov r24, r9 + 61e: 91 2f mov r25, r17 + 620: c2 d2 rcall .+1412 ; 0xba6 + 622: 80 e0 ldi r24, 0x00 ; 0 + 624: 90 e0 ldi r25, 0x00 ; 0 + 626: df 91 pop r29 + 628: cf 91 pop r28 + 62a: 1f 91 pop r17 + 62c: 0f 91 pop r16 + 62e: ff 90 pop r15 + 630: ef 90 pop r14 + 632: df 90 pop r13 + 634: cf 90 pop r12 + 636: bf 90 pop r11 + 638: af 90 pop r10 + 63a: 9f 90 pop r9 + 63c: 8f 90 pop r8 + 63e: 08 95 ret -00000628 : - 628: af 92 push r10 - 62a: bf 92 push r11 - 62c: cf 92 push r12 - 62e: df 92 push r13 - 630: ef 92 push r14 - 632: ff 92 push r15 - 634: 0f 93 push r16 - 636: 1f 93 push r17 - 638: fc 01 movw r30, r24 - 63a: 86 2f mov r24, r22 - 63c: ba 01 movw r22, r20 - 63e: a9 01 movw r20, r18 - 640: 44 50 subi r20, 0x04 ; 4 - 642: 51 09 sbc r21, r1 - 644: 61 09 sbc r22, r1 - 646: 7e 4f sbci r23, 0xFE ; 254 - 648: 44 0f add r20, r20 - 64a: 55 1f adc r21, r21 - 64c: 66 1f adc r22, r22 - 64e: 77 1f adc r23, r23 - 650: 44 0f add r20, r20 - 652: 55 1f adc r21, r21 - 654: 66 1f adc r22, r22 - 656: 77 1f adc r23, r23 - 658: 44 0f add r20, r20 - 65a: 55 1f adc r21, r21 - 65c: 66 1f adc r22, r22 - 65e: 77 1f adc r23, r23 +00000640 : + 640: af 92 push r10 + 642: bf 92 push r11 + 644: cf 92 push r12 + 646: df 92 push r13 + 648: ef 92 push r14 + 64a: ff 92 push r15 + 64c: 0f 93 push r16 + 64e: 1f 93 push r17 + 650: fc 01 movw r30, r24 + 652: 86 2f mov r24, r22 + 654: ba 01 movw r22, r20 + 656: a9 01 movw r20, r18 + 658: 44 50 subi r20, 0x04 ; 4 + 65a: 51 09 sbc r21, r1 + 65c: 61 09 sbc r22, r1 + 65e: 7e 4f sbci r23, 0xFE ; 254 660: 44 0f add r20, r20 662: 55 1f adc r21, r21 664: 66 1f adc r22, r22 @@ -1381,423 +1379,419 @@ int main(void) 67a: 55 1f adc r21, r21 67c: 66 1f adc r22, r22 67e: 77 1f adc r23, r23 - 680: 88 23 and r24, r24 - 682: 19 f0 breq .+6 ; 0x68a - 684: 81 30 cpi r24, 0x01 ; 1 - 686: 49 f1 breq .+82 ; 0x6da - 688: 4f c0 rjmp .+158 ; 0x728 - 68a: 96 2f mov r25, r22 - 68c: 93 70 andi r25, 0x03 ; 3 - 68e: 86 a1 ldd r24, Z+38 ; 0x26 - 690: 8c 7f andi r24, 0xFC ; 252 - 692: 89 2b or r24, r25 - 694: 86 a3 std Z+38, r24 ; 0x26 - 696: 57 a3 std Z+39, r21 ; 0x27 - 698: 40 a7 std Z+40, r20 ; 0x28 - 69a: f2 a6 std Z+42, r15 ; 0x2a - 69c: e3 a6 std Z+43, r14 ; 0x2b - 69e: d6 01 movw r26, r12 - 6a0: c5 01 movw r24, r10 - 6a2: 07 2e mov r0, r23 - 6a4: 7c e0 ldi r23, 0x0C ; 12 - 6a6: b6 95 lsr r27 - 6a8: a7 95 ror r26 - 6aa: 97 95 ror r25 - 6ac: 87 95 ror r24 - 6ae: 7a 95 dec r23 - 6b0: d1 f7 brne .-12 ; 0x6a6 - 6b2: 70 2d mov r23, r0 - 6b4: 83 70 andi r24, 0x03 ; 3 - 6b6: 82 95 swap r24 - 6b8: 80 7f andi r24, 0xF0 ; 240 - 6ba: 03 70 andi r16, 0x03 ; 3 - 6bc: 80 2b or r24, r16 - 6be: 81 a7 std Z+41, r24 ; 0x29 - 6c0: b4 a2 std Z+36, r11 ; 0x24 - 6c2: a5 a2 std Z+37, r10 ; 0x25 - 6c4: af 01 movw r20, r30 - 6c6: 4c 5d subi r20, 0xDC ; 220 - 6c8: 5f 4f sbci r21, 0xFF ; 255 - 6ca: 08 e0 ldi r16, 0x08 ; 8 - 6cc: 10 e0 ldi r17, 0x00 ; 0 - 6ce: 20 e0 ldi r18, 0x00 ; 0 - 6d0: 30 e0 ldi r19, 0x00 ; 0 - 6d2: 6a e2 ldi r22, 0x2A ; 42 - 6d4: cf 01 movw r24, r30 - 6d6: 6c df rcall .-296 ; 0x5b0 - 6d8: 27 c0 rjmp .+78 ; 0x728 - 6da: 96 2f mov r25, r22 - 6dc: 93 70 andi r25, 0x03 ; 3 - 6de: 86 a5 ldd r24, Z+46 ; 0x2e - 6e0: 8c 7f andi r24, 0xFC ; 252 - 6e2: 89 2b or r24, r25 - 6e4: 86 a7 std Z+46, r24 ; 0x2e - 6e6: 57 a7 std Z+47, r21 ; 0x2f - 6e8: 40 ab std Z+48, r20 ; 0x30 - 6ea: f2 aa std Z+50, r15 ; 0x32 - 6ec: e3 aa std Z+51, r14 ; 0x33 - 6ee: d6 01 movw r26, r12 - 6f0: c5 01 movw r24, r10 - 6f2: 07 2e mov r0, r23 - 6f4: 7c e0 ldi r23, 0x0C ; 12 - 6f6: b6 95 lsr r27 - 6f8: a7 95 ror r26 - 6fa: 97 95 ror r25 - 6fc: 87 95 ror r24 - 6fe: 7a 95 dec r23 - 700: d1 f7 brne .-12 ; 0x6f6 - 702: 70 2d mov r23, r0 - 704: 83 70 andi r24, 0x03 ; 3 - 706: 82 95 swap r24 - 708: 80 7f andi r24, 0xF0 ; 240 - 70a: 03 70 andi r16, 0x03 ; 3 - 70c: 80 2b or r24, r16 - 70e: 81 ab std Z+49, r24 ; 0x31 - 710: b4 a6 std Z+44, r11 ; 0x2c - 712: a5 a6 std Z+45, r10 ; 0x2d - 714: af 01 movw r20, r30 - 716: 44 5d subi r20, 0xD4 ; 212 - 718: 5f 4f sbci r21, 0xFF ; 255 - 71a: 08 e0 ldi r16, 0x08 ; 8 - 71c: 10 e0 ldi r17, 0x00 ; 0 - 71e: 20 e0 ldi r18, 0x00 ; 0 - 720: 30 e0 ldi r19, 0x00 ; 0 - 722: 62 e3 ldi r22, 0x32 ; 50 - 724: cf 01 movw r24, r30 - 726: 44 df rcall .-376 ; 0x5b0 - 728: 80 e0 ldi r24, 0x00 ; 0 - 72a: 90 e0 ldi r25, 0x00 ; 0 - 72c: 1f 91 pop r17 - 72e: 0f 91 pop r16 - 730: ff 90 pop r15 - 732: ef 90 pop r14 - 734: df 90 pop r13 - 736: cf 90 pop r12 - 738: bf 90 pop r11 - 73a: af 90 pop r10 - 73c: 08 95 ret + 680: 44 0f add r20, r20 + 682: 55 1f adc r21, r21 + 684: 66 1f adc r22, r22 + 686: 77 1f adc r23, r23 + 688: 44 0f add r20, r20 + 68a: 55 1f adc r21, r21 + 68c: 66 1f adc r22, r22 + 68e: 77 1f adc r23, r23 + 690: 44 0f add r20, r20 + 692: 55 1f adc r21, r21 + 694: 66 1f adc r22, r22 + 696: 77 1f adc r23, r23 + 698: 88 23 and r24, r24 + 69a: 19 f0 breq .+6 ; 0x6a2 + 69c: 81 30 cpi r24, 0x01 ; 1 + 69e: 49 f1 breq .+82 ; 0x6f2 + 6a0: 4f c0 rjmp .+158 ; 0x740 + 6a2: 96 2f mov r25, r22 + 6a4: 93 70 andi r25, 0x03 ; 3 + 6a6: 86 a1 ldd r24, Z+38 ; 0x26 + 6a8: 8c 7f andi r24, 0xFC ; 252 + 6aa: 89 2b or r24, r25 + 6ac: 86 a3 std Z+38, r24 ; 0x26 + 6ae: 57 a3 std Z+39, r21 ; 0x27 + 6b0: 40 a7 std Z+40, r20 ; 0x28 + 6b2: f2 a6 std Z+42, r15 ; 0x2a + 6b4: e3 a6 std Z+43, r14 ; 0x2b + 6b6: d6 01 movw r26, r12 + 6b8: c5 01 movw r24, r10 + 6ba: 07 2e mov r0, r23 + 6bc: 7c e0 ldi r23, 0x0C ; 12 + 6be: b6 95 lsr r27 + 6c0: a7 95 ror r26 + 6c2: 97 95 ror r25 + 6c4: 87 95 ror r24 + 6c6: 7a 95 dec r23 + 6c8: d1 f7 brne .-12 ; 0x6be + 6ca: 70 2d mov r23, r0 + 6cc: 83 70 andi r24, 0x03 ; 3 + 6ce: 82 95 swap r24 + 6d0: 80 7f andi r24, 0xF0 ; 240 + 6d2: 03 70 andi r16, 0x03 ; 3 + 6d4: 80 2b or r24, r16 + 6d6: 81 a7 std Z+41, r24 ; 0x29 + 6d8: b4 a2 std Z+36, r11 ; 0x24 + 6da: a5 a2 std Z+37, r10 ; 0x25 + 6dc: af 01 movw r20, r30 + 6de: 4c 5d subi r20, 0xDC ; 220 + 6e0: 5f 4f sbci r21, 0xFF ; 255 + 6e2: 08 e0 ldi r16, 0x08 ; 8 + 6e4: 10 e0 ldi r17, 0x00 ; 0 + 6e6: 20 e0 ldi r18, 0x00 ; 0 + 6e8: 30 e0 ldi r19, 0x00 ; 0 + 6ea: 6a e2 ldi r22, 0x2A ; 42 + 6ec: cf 01 movw r24, r30 + 6ee: 6c df rcall .-296 ; 0x5c8 + 6f0: 27 c0 rjmp .+78 ; 0x740 + 6f2: 96 2f mov r25, r22 + 6f4: 93 70 andi r25, 0x03 ; 3 + 6f6: 86 a5 ldd r24, Z+46 ; 0x2e + 6f8: 8c 7f andi r24, 0xFC ; 252 + 6fa: 89 2b or r24, r25 + 6fc: 86 a7 std Z+46, r24 ; 0x2e + 6fe: 57 a7 std Z+47, r21 ; 0x2f + 700: 40 ab std Z+48, r20 ; 0x30 + 702: f2 aa std Z+50, r15 ; 0x32 + 704: e3 aa std Z+51, r14 ; 0x33 + 706: d6 01 movw r26, r12 + 708: c5 01 movw r24, r10 + 70a: 07 2e mov r0, r23 + 70c: 7c e0 ldi r23, 0x0C ; 12 + 70e: b6 95 lsr r27 + 710: a7 95 ror r26 + 712: 97 95 ror r25 + 714: 87 95 ror r24 + 716: 7a 95 dec r23 + 718: d1 f7 brne .-12 ; 0x70e + 71a: 70 2d mov r23, r0 + 71c: 83 70 andi r24, 0x03 ; 3 + 71e: 82 95 swap r24 + 720: 80 7f andi r24, 0xF0 ; 240 + 722: 03 70 andi r16, 0x03 ; 3 + 724: 80 2b or r24, r16 + 726: 81 ab std Z+49, r24 ; 0x31 + 728: b4 a6 std Z+44, r11 ; 0x2c + 72a: a5 a6 std Z+45, r10 ; 0x2d + 72c: af 01 movw r20, r30 + 72e: 44 5d subi r20, 0xD4 ; 212 + 730: 5f 4f sbci r21, 0xFF ; 255 + 732: 08 e0 ldi r16, 0x08 ; 8 + 734: 10 e0 ldi r17, 0x00 ; 0 + 736: 20 e0 ldi r18, 0x00 ; 0 + 738: 30 e0 ldi r19, 0x00 ; 0 + 73a: 62 e3 ldi r22, 0x32 ; 50 + 73c: cf 01 movw r24, r30 + 73e: 44 df rcall .-376 ; 0x5c8 + 740: 80 e0 ldi r24, 0x00 ; 0 + 742: 90 e0 ldi r25, 0x00 ; 0 + 744: 1f 91 pop r17 + 746: 0f 91 pop r16 + 748: ff 90 pop r15 + 74a: ef 90 pop r14 + 74c: df 90 pop r13 + 74e: cf 90 pop r12 + 750: bf 90 pop r11 + 752: af 90 pop r10 + 754: 08 95 ret -0000073e : - 73e: 0f 93 push r16 - 740: 1f 93 push r17 - 742: 66 23 and r22, r22 - 744: 19 f0 breq .+6 ; 0x74c - 746: 61 30 cpi r22, 0x01 ; 1 - 748: 39 f0 breq .+14 ; 0x758 - 74a: 0b c0 rjmp .+22 ; 0x762 - 74c: fc 01 movw r30, r24 - 74e: 27 81 ldd r18, Z+7 ; 0x07 - 750: 40 fb bst r20, 0 - 752: 20 f9 bld r18, 0 - 754: 27 83 std Z+7, r18 ; 0x07 - 756: 05 c0 rjmp .+10 ; 0x762 - 758: fc 01 movw r30, r24 - 75a: 27 81 ldd r18, Z+7 ; 0x07 - 75c: 40 fb bst r20, 0 - 75e: 21 f9 bld r18, 1 - 760: 27 83 std Z+7, r18 ; 0x07 - 762: ac 01 movw r20, r24 - 764: 49 5f subi r20, 0xF9 ; 249 - 766: 5f 4f sbci r21, 0xFF ; 255 - 768: 01 e0 ldi r16, 0x01 ; 1 - 76a: 10 e0 ldi r17, 0x00 ; 0 - 76c: 20 e0 ldi r18, 0x00 ; 0 - 76e: 30 e0 ldi r19, 0x00 ; 0 - 770: 63 e0 ldi r22, 0x03 ; 3 - 772: 1e df rcall .-452 ; 0x5b0 - 774: 80 e0 ldi r24, 0x00 ; 0 - 776: 90 e0 ldi r25, 0x00 ; 0 - 778: 1f 91 pop r17 - 77a: 0f 91 pop r16 - 77c: 08 95 ret +00000756 : + 756: 0f 93 push r16 + 758: 1f 93 push r17 + 75a: 66 23 and r22, r22 + 75c: 19 f0 breq .+6 ; 0x764 + 75e: 61 30 cpi r22, 0x01 ; 1 + 760: 39 f0 breq .+14 ; 0x770 + 762: 0b c0 rjmp .+22 ; 0x77a + 764: fc 01 movw r30, r24 + 766: 27 81 ldd r18, Z+7 ; 0x07 + 768: 40 fb bst r20, 0 + 76a: 20 f9 bld r18, 0 + 76c: 27 83 std Z+7, r18 ; 0x07 + 76e: 05 c0 rjmp .+10 ; 0x77a + 770: fc 01 movw r30, r24 + 772: 27 81 ldd r18, Z+7 ; 0x07 + 774: 40 fb bst r20, 0 + 776: 21 f9 bld r18, 1 + 778: 27 83 std Z+7, r18 ; 0x07 + 77a: ac 01 movw r20, r24 + 77c: 49 5f subi r20, 0xF9 ; 249 + 77e: 5f 4f sbci r21, 0xFF ; 255 + 780: 01 e0 ldi r16, 0x01 ; 1 + 782: 10 e0 ldi r17, 0x00 ; 0 + 784: 20 e0 ldi r18, 0x00 ; 0 + 786: 30 e0 ldi r19, 0x00 ; 0 + 788: 63 e0 ldi r22, 0x03 ; 3 + 78a: 1e df rcall .-452 ; 0x5c8 + 78c: 80 e0 ldi r24, 0x00 ; 0 + 78e: 90 e0 ldi r25, 0x00 ; 0 + 790: 1f 91 pop r17 + 792: 0f 91 pop r16 + 794: 08 95 ret -0000077e : - 77e: 0f 93 push r16 - 780: 1f 93 push r17 - 782: 66 23 and r22, r22 - 784: 19 f0 breq .+6 ; 0x78c - 786: 61 30 cpi r22, 0x01 ; 1 - 788: a1 f0 breq .+40 ; 0x7b2 - 78a: 22 c0 rjmp .+68 ; 0x7d0 - 78c: fc 01 movw r30, r24 - 78e: 22 85 ldd r18, Z+10 ; 0x0a - 790: 40 fb bst r20, 0 - 792: 27 f9 bld r18, 7 - 794: 33 85 ldd r19, Z+11 ; 0x0b - 796: 3f 7d andi r19, 0xDF ; 223 - 798: 33 87 std Z+11, r19 ; 0x0b - 79a: 2f 64 ori r18, 0x4F ; 79 - 79c: 22 87 std Z+10, r18 ; 0x0a - 79e: ac 01 movw r20, r24 - 7a0: 46 5f subi r20, 0xF6 ; 246 - 7a2: 5f 4f sbci r21, 0xFF ; 255 - 7a4: 01 e0 ldi r16, 0x01 ; 1 - 7a6: 10 e0 ldi r17, 0x00 ; 0 - 7a8: 20 e0 ldi r18, 0x00 ; 0 - 7aa: 30 e0 ldi r19, 0x00 ; 0 - 7ac: 60 e1 ldi r22, 0x10 ; 16 - 7ae: 00 df rcall .-512 ; 0x5b0 - 7b0: 0f c0 rjmp .+30 ; 0x7d0 - 7b2: fc 01 movw r30, r24 - 7b4: 23 85 ldd r18, Z+11 ; 0x0b - 7b6: 40 fb bst r20, 0 - 7b8: 27 f9 bld r18, 7 - 7ba: 2f 66 ori r18, 0x6F ; 111 - 7bc: 23 87 std Z+11, r18 ; 0x0b - 7be: ac 01 movw r20, r24 - 7c0: 45 5f subi r20, 0xF5 ; 245 - 7c2: 5f 4f sbci r21, 0xFF ; 255 - 7c4: 01 e0 ldi r16, 0x01 ; 1 - 7c6: 10 e0 ldi r17, 0x00 ; 0 - 7c8: 20 e0 ldi r18, 0x00 ; 0 - 7ca: 30 e0 ldi r19, 0x00 ; 0 - 7cc: 61 e1 ldi r22, 0x11 ; 17 - 7ce: f0 de rcall .-544 ; 0x5b0 - 7d0: 80 e0 ldi r24, 0x00 ; 0 - 7d2: 90 e0 ldi r25, 0x00 ; 0 - 7d4: 1f 91 pop r17 - 7d6: 0f 91 pop r16 - 7d8: 08 95 ret +00000796 : + 796: 0f 93 push r16 + 798: 1f 93 push r17 + 79a: 66 23 and r22, r22 + 79c: 19 f0 breq .+6 ; 0x7a4 + 79e: 61 30 cpi r22, 0x01 ; 1 + 7a0: a1 f0 breq .+40 ; 0x7ca + 7a2: 22 c0 rjmp .+68 ; 0x7e8 + 7a4: fc 01 movw r30, r24 + 7a6: 22 85 ldd r18, Z+10 ; 0x0a + 7a8: 40 fb bst r20, 0 + 7aa: 27 f9 bld r18, 7 + 7ac: 33 85 ldd r19, Z+11 ; 0x0b + 7ae: 3f 7d andi r19, 0xDF ; 223 + 7b0: 33 87 std Z+11, r19 ; 0x0b + 7b2: 2f 64 ori r18, 0x4F ; 79 + 7b4: 22 87 std Z+10, r18 ; 0x0a + 7b6: ac 01 movw r20, r24 + 7b8: 46 5f subi r20, 0xF6 ; 246 + 7ba: 5f 4f sbci r21, 0xFF ; 255 + 7bc: 01 e0 ldi r16, 0x01 ; 1 + 7be: 10 e0 ldi r17, 0x00 ; 0 + 7c0: 20 e0 ldi r18, 0x00 ; 0 + 7c2: 30 e0 ldi r19, 0x00 ; 0 + 7c4: 60 e1 ldi r22, 0x10 ; 16 + 7c6: 00 df rcall .-512 ; 0x5c8 + 7c8: 0f c0 rjmp .+30 ; 0x7e8 + 7ca: fc 01 movw r30, r24 + 7cc: 23 85 ldd r18, Z+11 ; 0x0b + 7ce: 40 fb bst r20, 0 + 7d0: 27 f9 bld r18, 7 + 7d2: 2f 66 ori r18, 0x6F ; 111 + 7d4: 23 87 std Z+11, r18 ; 0x0b + 7d6: ac 01 movw r20, r24 + 7d8: 45 5f subi r20, 0xF5 ; 245 + 7da: 5f 4f sbci r21, 0xFF ; 255 + 7dc: 01 e0 ldi r16, 0x01 ; 1 + 7de: 10 e0 ldi r17, 0x00 ; 0 + 7e0: 20 e0 ldi r18, 0x00 ; 0 + 7e2: 30 e0 ldi r19, 0x00 ; 0 + 7e4: 61 e1 ldi r22, 0x11 ; 17 + 7e6: f0 de rcall .-544 ; 0x5c8 + 7e8: 80 e0 ldi r24, 0x00 ; 0 + 7ea: 90 e0 ldi r25, 0x00 ; 0 + 7ec: 1f 91 pop r17 + 7ee: 0f 91 pop r16 + 7f0: 08 95 ret -000007da : - 7da: 0f 93 push r16 - 7dc: 1f 93 push r17 - 7de: 66 23 and r22, r22 - 7e0: 19 f0 breq .+6 ; 0x7e8 - 7e2: 61 30 cpi r22, 0x01 ; 1 - 7e4: 39 f0 breq .+14 ; 0x7f4 - 7e6: 0a c0 rjmp .+20 ; 0x7fc - 7e8: fc 01 movw r30, r24 - 7ea: 21 85 ldd r18, Z+9 ; 0x09 - 7ec: 2b 7f andi r18, 0xFB ; 251 - 7ee: 27 7f andi r18, 0xF7 ; 247 - 7f0: 21 87 std Z+9, r18 ; 0x09 - 7f2: 04 c0 rjmp .+8 ; 0x7fc - 7f4: fc 01 movw r30, r24 - 7f6: 21 85 ldd r18, Z+9 ; 0x09 - 7f8: 24 60 ori r18, 0x04 ; 4 - 7fa: 21 87 std Z+9, r18 ; 0x09 - 7fc: ac 01 movw r20, r24 - 7fe: 47 5f subi r20, 0xF7 ; 247 - 800: 5f 4f sbci r21, 0xFF ; 255 - 802: 01 e0 ldi r16, 0x01 ; 1 - 804: 10 e0 ldi r17, 0x00 ; 0 - 806: 20 e0 ldi r18, 0x00 ; 0 - 808: 30 e0 ldi r19, 0x00 ; 0 - 80a: 60 ef ldi r22, 0xF0 ; 240 - 80c: d1 de rcall .-606 ; 0x5b0 - 80e: 80 e0 ldi r24, 0x00 ; 0 - 810: 90 e0 ldi r25, 0x00 ; 0 - 812: 1f 91 pop r17 - 814: 0f 91 pop r16 - 816: 08 95 ret +000007f2 : + 7f2: 0f 93 push r16 + 7f4: 1f 93 push r17 + 7f6: 66 23 and r22, r22 + 7f8: 19 f0 breq .+6 ; 0x800 + 7fa: 61 30 cpi r22, 0x01 ; 1 + 7fc: 39 f0 breq .+14 ; 0x80c + 7fe: 0a c0 rjmp .+20 ; 0x814 + 800: fc 01 movw r30, r24 + 802: 21 85 ldd r18, Z+9 ; 0x09 + 804: 2b 7f andi r18, 0xFB ; 251 + 806: 27 7f andi r18, 0xF7 ; 247 + 808: 21 87 std Z+9, r18 ; 0x09 + 80a: 04 c0 rjmp .+8 ; 0x814 + 80c: fc 01 movw r30, r24 + 80e: 21 85 ldd r18, Z+9 ; 0x09 + 810: 24 60 ori r18, 0x04 ; 4 + 812: 21 87 std Z+9, r18 ; 0x09 + 814: ac 01 movw r20, r24 + 816: 47 5f subi r20, 0xF7 ; 247 + 818: 5f 4f sbci r21, 0xFF ; 255 + 81a: 01 e0 ldi r16, 0x01 ; 1 + 81c: 10 e0 ldi r17, 0x00 ; 0 + 81e: 20 e0 ldi r18, 0x00 ; 0 + 820: 30 e0 ldi r19, 0x00 ; 0 + 822: 60 ef ldi r22, 0xF0 ; 240 + 824: d1 de rcall .-606 ; 0x5c8 + 826: 80 e0 ldi r24, 0x00 ; 0 + 828: 90 e0 ldi r25, 0x00 ; 0 + 82a: 1f 91 pop r17 + 82c: 0f 91 pop r16 + 82e: 08 95 ret -00000818 : - 818: 0f 93 push r16 - 81a: 1f 93 push r17 - 81c: 31 e0 ldi r19, 0x01 ; 1 - 81e: 61 11 cpse r22, r1 - 820: 01 c0 rjmp .+2 ; 0x824 - 822: 30 e0 ldi r19, 0x00 ; 0 - 824: fc 01 movw r30, r24 - 826: e9 5a subi r30, 0xA9 ; 169 - 828: ff 4f sbci r31, 0xFF ; 255 - 82a: 20 81 ld r18, Z - 82c: 30 fb bst r19, 0 - 82e: 25 f9 bld r18, 5 - 830: 20 83 st Z, r18 - 832: 31 e0 ldi r19, 0x01 ; 1 - 834: 41 11 cpse r20, r1 - 836: 01 c0 rjmp .+2 ; 0x83a - 838: 30 e0 ldi r19, 0x00 ; 0 - 83a: ac 01 movw r20, r24 - 83c: 49 5a subi r20, 0xA9 ; 169 - 83e: 5f 4f sbci r21, 0xFF ; 255 - 840: fa 01 movw r30, r20 +00000830 : + 830: 0f 93 push r16 + 832: 1f 93 push r17 + 834: 31 e0 ldi r19, 0x01 ; 1 + 836: 61 11 cpse r22, r1 + 838: 01 c0 rjmp .+2 ; 0x83c + 83a: 30 e0 ldi r19, 0x00 ; 0 + 83c: fc 01 movw r30, r24 + 83e: e9 5a subi r30, 0xA9 ; 169 + 840: ff 4f sbci r31, 0xFF ; 255 842: 20 81 ld r18, Z 844: 30 fb bst r19, 0 - 846: 27 f9 bld r18, 7 + 846: 25 f9 bld r18, 5 848: 20 83 st Z, r18 - 84a: 01 e0 ldi r16, 0x01 ; 1 - 84c: 10 e0 ldi r17, 0x00 ; 0 - 84e: 20 e0 ldi r18, 0x00 ; 0 + 84a: 31 e0 ldi r19, 0x01 ; 1 + 84c: 41 11 cpse r20, r1 + 84e: 01 c0 rjmp .+2 ; 0x852 850: 30 e0 ldi r19, 0x00 ; 0 - 852: 61 eb ldi r22, 0xB1 ; 177 - 854: ad de rcall .-678 ; 0x5b0 - 856: 80 e0 ldi r24, 0x00 ; 0 - 858: 90 e0 ldi r25, 0x00 ; 0 - 85a: 1f 91 pop r17 - 85c: 0f 91 pop r16 - 85e: 08 95 ret + 852: ac 01 movw r20, r24 + 854: 49 5a subi r20, 0xA9 ; 169 + 856: 5f 4f sbci r21, 0xFF ; 255 + 858: fa 01 movw r30, r20 + 85a: 20 81 ld r18, Z + 85c: 30 fb bst r19, 0 + 85e: 27 f9 bld r18, 7 + 860: 20 83 st Z, r18 + 862: 01 e0 ldi r16, 0x01 ; 1 + 864: 10 e0 ldi r17, 0x00 ; 0 + 866: 20 e0 ldi r18, 0x00 ; 0 + 868: 30 e0 ldi r19, 0x00 ; 0 + 86a: 61 eb ldi r22, 0xB1 ; 177 + 86c: ad de rcall .-678 ; 0x5c8 + 86e: 80 e0 ldi r24, 0x00 ; 0 + 870: 90 e0 ldi r25, 0x00 ; 0 + 872: 1f 91 pop r17 + 874: 0f 91 pop r16 + 876: 08 95 ret -00000860 : - 860: af 92 push r10 - 862: bf 92 push r11 - 864: cf 92 push r12 - 866: df 92 push r13 - 868: ef 92 push r14 - 86a: ff 92 push r15 - 86c: 0f 93 push r16 - 86e: 1f 93 push r17 - 870: cf 93 push r28 - 872: df 93 push r29 - 874: ec 01 movw r28, r24 - 876: 66 23 and r22, r22 - 878: 19 f0 breq .+6 ; 0x880 - 87a: 61 30 cpi r22, 0x01 ; 1 - 87c: 01 f1 breq .+64 ; 0x8be - 87e: 3d c0 rjmp .+122 ; 0x8fa - 880: 42 70 andi r20, 0x02 ; 2 - 882: 8e 89 ldd r24, Y+22 ; 0x16 - 884: 8c 7f andi r24, 0xFC ; 252 - 886: 48 2b or r20, r24 - 888: 4e 8b std Y+22, r20 ; 0x16 - 88a: 3f 8b std Y+23, r19 ; 0x17 - 88c: 28 8f std Y+24, r18 ; 0x18 - 88e: d8 01 movw r26, r16 - 890: c7 01 movw r24, r14 - 892: 88 27 eor r24, r24 - 894: 99 27 eor r25, r25 - 896: af 70 andi r26, 0x0F ; 15 - 898: bb 27 eor r27, r27 - 89a: fa 8e std Y+26, r15 ; 0x1a - 89c: eb 8e std Y+27, r14 ; 0x1b - 89e: 8a 2f mov r24, r26 - 8a0: 8f 70 andi r24, 0x0F ; 15 - 8a2: 89 8f std Y+25, r24 ; 0x19 - 8a4: bc 8a std Y+20, r11 ; 0x14 - 8a6: ad 8a std Y+21, r10 ; 0x15 - 8a8: 08 e0 ldi r16, 0x08 ; 8 - 8aa: 10 e0 ldi r17, 0x00 ; 0 - 8ac: 20 e0 ldi r18, 0x00 ; 0 - 8ae: 30 e0 ldi r19, 0x00 ; 0 - 8b0: ae 01 movw r20, r28 - 8b2: 4c 5e subi r20, 0xEC ; 236 - 8b4: 5f 4f sbci r21, 0xFF ; 255 - 8b6: 6a e1 ldi r22, 0x1A ; 26 - 8b8: ce 01 movw r24, r28 - 8ba: 7a de rcall .-780 ; 0x5b0 - 8bc: 1e c0 rjmp .+60 ; 0x8fa - 8be: 42 70 andi r20, 0x02 ; 2 - 8c0: 8e 8d ldd r24, Y+30 ; 0x1e - 8c2: 8c 7f andi r24, 0xFC ; 252 - 8c4: 48 2b or r20, r24 - 8c6: 4e 8f std Y+30, r20 ; 0x1e - 8c8: 3f 8f std Y+31, r19 ; 0x1f - 8ca: 28 a3 std Y+32, r18 ; 0x20 - 8cc: d8 01 movw r26, r16 - 8ce: c7 01 movw r24, r14 - 8d0: 88 27 eor r24, r24 - 8d2: 99 27 eor r25, r25 - 8d4: af 70 andi r26, 0x0F ; 15 - 8d6: bb 27 eor r27, r27 - 8d8: fa a2 std Y+34, r15 ; 0x22 - 8da: eb a2 std Y+35, r14 ; 0x23 - 8dc: 8a 2f mov r24, r26 - 8de: 8f 70 andi r24, 0x0F ; 15 - 8e0: 89 a3 std Y+33, r24 ; 0x21 - 8e2: bc 8e std Y+28, r11 ; 0x1c - 8e4: ad 8e std Y+29, r10 ; 0x1d - 8e6: 08 e0 ldi r16, 0x08 ; 8 - 8e8: 10 e0 ldi r17, 0x00 ; 0 - 8ea: 20 e0 ldi r18, 0x00 ; 0 - 8ec: 30 e0 ldi r19, 0x00 ; 0 - 8ee: ae 01 movw r20, r28 - 8f0: 44 5e subi r20, 0xE4 ; 228 - 8f2: 5f 4f sbci r21, 0xFF ; 255 - 8f4: 62 e2 ldi r22, 0x22 ; 34 - 8f6: ce 01 movw r24, r28 - 8f8: 5b de rcall .-842 ; 0x5b0 - 8fa: 41 e0 ldi r20, 0x01 ; 1 - 8fc: 61 e0 ldi r22, 0x01 ; 1 - 8fe: ce 01 movw r24, r28 - 900: 8b df rcall .-234 ; 0x818 - 902: 80 e0 ldi r24, 0x00 ; 0 - 904: 90 e0 ldi r25, 0x00 ; 0 - 906: df 91 pop r29 - 908: cf 91 pop r28 - 90a: 1f 91 pop r17 - 90c: 0f 91 pop r16 - 90e: ff 90 pop r15 - 910: ef 90 pop r14 - 912: df 90 pop r13 - 914: cf 90 pop r12 - 916: bf 90 pop r11 - 918: af 90 pop r10 - 91a: 08 95 ret +00000878 : + 878: af 92 push r10 + 87a: bf 92 push r11 + 87c: cf 92 push r12 + 87e: df 92 push r13 + 880: ef 92 push r14 + 882: ff 92 push r15 + 884: 0f 93 push r16 + 886: 1f 93 push r17 + 888: cf 93 push r28 + 88a: df 93 push r29 + 88c: ec 01 movw r28, r24 + 88e: 66 23 and r22, r22 + 890: 19 f0 breq .+6 ; 0x898 + 892: 61 30 cpi r22, 0x01 ; 1 + 894: 01 f1 breq .+64 ; 0x8d6 + 896: 3d c0 rjmp .+122 ; 0x912 + 898: 42 70 andi r20, 0x02 ; 2 + 89a: 8e 89 ldd r24, Y+22 ; 0x16 + 89c: 8c 7f andi r24, 0xFC ; 252 + 89e: 48 2b or r20, r24 + 8a0: 4e 8b std Y+22, r20 ; 0x16 + 8a2: 3f 8b std Y+23, r19 ; 0x17 + 8a4: 28 8f std Y+24, r18 ; 0x18 + 8a6: d8 01 movw r26, r16 + 8a8: c7 01 movw r24, r14 + 8aa: 88 27 eor r24, r24 + 8ac: 99 27 eor r25, r25 + 8ae: af 70 andi r26, 0x0F ; 15 + 8b0: bb 27 eor r27, r27 + 8b2: fa 8e std Y+26, r15 ; 0x1a + 8b4: eb 8e std Y+27, r14 ; 0x1b + 8b6: 8a 2f mov r24, r26 + 8b8: 8f 70 andi r24, 0x0F ; 15 + 8ba: 89 8f std Y+25, r24 ; 0x19 + 8bc: bc 8a std Y+20, r11 ; 0x14 + 8be: ad 8a std Y+21, r10 ; 0x15 + 8c0: 08 e0 ldi r16, 0x08 ; 8 + 8c2: 10 e0 ldi r17, 0x00 ; 0 + 8c4: 20 e0 ldi r18, 0x00 ; 0 + 8c6: 30 e0 ldi r19, 0x00 ; 0 + 8c8: ae 01 movw r20, r28 + 8ca: 4c 5e subi r20, 0xEC ; 236 + 8cc: 5f 4f sbci r21, 0xFF ; 255 + 8ce: 6a e1 ldi r22, 0x1A ; 26 + 8d0: ce 01 movw r24, r28 + 8d2: 7a de rcall .-780 ; 0x5c8 + 8d4: 1e c0 rjmp .+60 ; 0x912 + 8d6: 42 70 andi r20, 0x02 ; 2 + 8d8: 8e 8d ldd r24, Y+30 ; 0x1e + 8da: 8c 7f andi r24, 0xFC ; 252 + 8dc: 48 2b or r20, r24 + 8de: 4e 8f std Y+30, r20 ; 0x1e + 8e0: 3f 8f std Y+31, r19 ; 0x1f + 8e2: 28 a3 std Y+32, r18 ; 0x20 + 8e4: d8 01 movw r26, r16 + 8e6: c7 01 movw r24, r14 + 8e8: 88 27 eor r24, r24 + 8ea: 99 27 eor r25, r25 + 8ec: af 70 andi r26, 0x0F ; 15 + 8ee: bb 27 eor r27, r27 + 8f0: fa a2 std Y+34, r15 ; 0x22 + 8f2: eb a2 std Y+35, r14 ; 0x23 + 8f4: 8a 2f mov r24, r26 + 8f6: 8f 70 andi r24, 0x0F ; 15 + 8f8: 89 a3 std Y+33, r24 ; 0x21 + 8fa: bc 8e std Y+28, r11 ; 0x1c + 8fc: ad 8e std Y+29, r10 ; 0x1d + 8fe: 08 e0 ldi r16, 0x08 ; 8 + 900: 10 e0 ldi r17, 0x00 ; 0 + 902: 20 e0 ldi r18, 0x00 ; 0 + 904: 30 e0 ldi r19, 0x00 ; 0 + 906: ae 01 movw r20, r28 + 908: 44 5e subi r20, 0xE4 ; 228 + 90a: 5f 4f sbci r21, 0xFF ; 255 + 90c: 62 e2 ldi r22, 0x22 ; 34 + 90e: ce 01 movw r24, r28 + 910: 5b de rcall .-842 ; 0x5c8 + 912: 41 e0 ldi r20, 0x01 ; 1 + 914: 61 e0 ldi r22, 0x01 ; 1 + 916: ce 01 movw r24, r28 + 918: 8b df rcall .-234 ; 0x830 + 91a: 80 e0 ldi r24, 0x00 ; 0 + 91c: 90 e0 ldi r25, 0x00 ; 0 + 91e: df 91 pop r29 + 920: cf 91 pop r28 + 922: 1f 91 pop r17 + 924: 0f 91 pop r16 + 926: ff 90 pop r15 + 928: ef 90 pop r14 + 92a: df 90 pop r13 + 92c: cf 90 pop r12 + 92e: bf 90 pop r11 + 930: af 90 pop r10 + 932: 08 95 ret -0000091c : +00000934 : int cm_si5351_init(si5351_driver *inst, void *i2c_transfer_inst, setGet_I2C_Event_fpt i2c_transfer_evt){ - 91c: ef 92 push r14 - 91e: ff 92 push r15 - 920: 0f 93 push r16 - 922: 1f 93 push r17 - 924: cf 93 push r28 - 926: df 93 push r29 - 928: 1f 92 push r1 - 92a: cd b7 in r28, 0x3d ; 61 - 92c: de b7 in r29, 0x3e ; 62 + 934: ef 92 push r14 + 936: ff 92 push r15 + 938: 0f 93 push r16 + 93a: 1f 93 push r17 + 93c: cf 93 push r28 + 93e: df 93 push r29 + 940: 1f 92 push r1 + 942: cd b7 in r28, 0x3d ; 61 + 944: de b7 in r29, 0x3e ; 62 if(inst == NULL)return -1; - 92e: 00 97 sbiw r24, 0x00 ; 0 - 930: 09 f4 brne .+2 ; 0x934 - 932: 85 c0 rjmp .+266 ; 0xa3e + 946: 00 97 sbiw r24, 0x00 ; 0 + 948: 09 f4 brne .+2 ; 0x94c + 94a: 85 c0 rjmp .+266 ; 0xa56 if(i2c_transfer_inst == NULL)return -1; - 934: 61 15 cp r22, r1 - 936: 71 05 cpc r23, r1 - 938: 09 f4 brne .+2 ; 0x93c - 93a: 84 c0 rjmp .+264 ; 0xa44 + 94c: 61 15 cp r22, r1 + 94e: 71 05 cpc r23, r1 + 950: 09 f4 brne .+2 ; 0x954 + 952: 84 c0 rjmp .+264 ; 0xa5c if(i2c_transfer_evt == NULL)return -1; - 93c: 41 15 cp r20, r1 - 93e: 51 05 cpc r21, r1 - 940: 09 f4 brne .+2 ; 0x944 - 942: 83 c0 rjmp .+262 ; 0xa4a - 944: 7c 01 movw r14, r24 + 954: 41 15 cp r20, r1 + 956: 51 05 cpc r21, r1 + 958: 09 f4 brne .+2 ; 0x95c + 95a: 83 c0 rjmp .+262 ; 0xa62 + 95c: 7c 01 movw r14, r24 inst->i2c_transfer_inst = i2c_transfer_inst; - 946: dc 01 movw r26, r24 - 948: 6d 93 st X+, r22 - 94a: 7c 93 st X, r23 - 94c: 11 97 sbiw r26, 0x01 ; 1 + 95e: dc 01 movw r26, r24 + 960: 6d 93 st X+, r22 + 962: 7c 93 st X, r23 + 964: 11 97 sbiw r26, 0x01 ; 1 inst->i2c_transfer_evt = i2c_transfer_evt; - 94e: 12 96 adiw r26, 0x02 ; 2 - 950: 4d 93 st X+, r20 - 952: 5c 93 st X, r21 - 954: 13 97 sbiw r26, 0x03 ; 3 + 966: 12 96 adiw r26, 0x02 ; 2 + 968: 4d 93 st X+, r20 + 96a: 5c 93 st X, r21 + 96c: 13 97 sbiw r26, 0x03 ; 3 int ret = 0; memset(&(inst->device_data),0x00,sizeof(si5351_data)); - 956: fc 01 movw r30, r24 - 958: 34 96 adiw r30, 0x04 ; 4 - 95a: 84 e5 ldi r24, 0x54 ; 84 - 95c: df 01 movw r26, r30 - 95e: 1d 92 st X+, r1 - 960: 8a 95 dec r24 - 962: e9 f7 brne .-6 ; 0x95e + 96e: fc 01 movw r30, r24 + 970: 34 96 adiw r30, 0x04 ; 4 + 972: 84 e5 ldi r24, 0x54 ; 84 + 974: df 01 movw r26, r30 + 976: 1d 92 st X+, r1 + 978: 8a 95 dec r24 + 97a: e9 f7 brne .-6 ; 0x976 /* Disable all outputs setting CLKx_DIS high */ uint8_t temp = 0xff; - 964: 8f ef ldi r24, 0xFF ; 255 - 966: 89 83 std Y+1, r24 ; 0x01 - writeRegister(inst,SI5351_REG_OUTPUT_ENABLE_CONTROL,&temp,1); - 968: 01 e0 ldi r16, 0x01 ; 1 - 96a: 10 e0 ldi r17, 0x00 ; 0 - 96c: 20 e0 ldi r18, 0x00 ; 0 - 96e: 30 e0 ldi r19, 0x00 ; 0 - 970: ae 01 movw r20, r28 - 972: 4f 5f subi r20, 0xFF ; 255 - 974: 5f 4f sbci r21, 0xFF ; 255 - 976: 63 e0 ldi r22, 0x03 ; 3 - 978: c7 01 movw r24, r14 - 97a: 1a de rcall .-972 ; 0x5b0 - - /* Power down all output drivers */ - temp = 0x80; - 97c: 80 e8 ldi r24, 0x80 ; 128 + 97c: 8f ef ldi r24, 0xFF ; 255 97e: 89 83 std Y+1, r24 ; 0x01 - writeRegister(inst,SI5351_REG_CLK_0_CONTROL,&temp,1); + writeRegister(inst,SI5351_REG_OUTPUT_ENABLE_CONTROL,&temp,1); 980: 01 e0 ldi r16, 0x01 ; 1 982: 10 e0 ldi r17, 0x00 ; 0 984: 20 e0 ldi r18, 0x00 ; 0 @@ -1805,92 +1799,92 @@ int cm_si5351_init(si5351_driver *inst, void *i2c_transfer_inst, setGet_I2C_Even 988: ae 01 movw r20, r28 98a: 4f 5f subi r20, 0xFF ; 255 98c: 5f 4f sbci r21, 0xFF ; 255 - 98e: 60 e1 ldi r22, 0x10 ; 16 + 98e: 63 e0 ldi r22, 0x03 ; 3 990: c7 01 movw r24, r14 - 992: 0e de rcall .-996 ; 0x5b0 + 992: 1a de rcall .-972 ; 0x5c8 + + /* Power down all output drivers */ + temp = 0x80; + 994: 80 e8 ldi r24, 0x80 ; 128 + 996: 89 83 std Y+1, r24 ; 0x01 + writeRegister(inst,SI5351_REG_CLK_0_CONTROL,&temp,1); + 998: 01 e0 ldi r16, 0x01 ; 1 + 99a: 10 e0 ldi r17, 0x00 ; 0 + 99c: 20 e0 ldi r18, 0x00 ; 0 + 99e: 30 e0 ldi r19, 0x00 ; 0 + 9a0: ae 01 movw r20, r28 + 9a2: 4f 5f subi r20, 0xFF ; 255 + 9a4: 5f 4f sbci r21, 0xFF ; 255 + 9a6: 60 e1 ldi r22, 0x10 ; 16 + 9a8: c7 01 movw r24, r14 + 9aa: 0e de rcall .-996 ; 0x5c8 writeRegister(inst,SI5351_REG_CLK_1_CONTROL,&temp,1); - 994: 01 e0 ldi r16, 0x01 ; 1 - 996: 10 e0 ldi r17, 0x00 ; 0 - 998: 20 e0 ldi r18, 0x00 ; 0 - 99a: 30 e0 ldi r19, 0x00 ; 0 - 99c: ae 01 movw r20, r28 - 99e: 4f 5f subi r20, 0xFF ; 255 - 9a0: 5f 4f sbci r21, 0xFF ; 255 - 9a2: 61 e1 ldi r22, 0x11 ; 17 - 9a4: c7 01 movw r24, r14 - 9a6: 04 de rcall .-1016 ; 0x5b0 + 9ac: 01 e0 ldi r16, 0x01 ; 1 + 9ae: 10 e0 ldi r17, 0x00 ; 0 + 9b0: 20 e0 ldi r18, 0x00 ; 0 + 9b2: 30 e0 ldi r19, 0x00 ; 0 + 9b4: ae 01 movw r20, r28 + 9b6: 4f 5f subi r20, 0xFF ; 255 + 9b8: 5f 4f sbci r21, 0xFF ; 255 + 9ba: 61 e1 ldi r22, 0x11 ; 17 + 9bc: c7 01 movw r24, r14 + 9be: 04 de rcall .-1016 ; 0x5c8 writeRegister(inst,SI5351_REG_CLK_2_CONTROL,&temp,1); - 9a8: 01 e0 ldi r16, 0x01 ; 1 - 9aa: 10 e0 ldi r17, 0x00 ; 0 - 9ac: 20 e0 ldi r18, 0x00 ; 0 - 9ae: 30 e0 ldi r19, 0x00 ; 0 - 9b0: ae 01 movw r20, r28 - 9b2: 4f 5f subi r20, 0xFF ; 255 - 9b4: 5f 4f sbci r21, 0xFF ; 255 - 9b6: 62 e1 ldi r22, 0x12 ; 18 - 9b8: c7 01 movw r24, r14 - 9ba: fa dd rcall .-1036 ; 0x5b0 + 9c0: 01 e0 ldi r16, 0x01 ; 1 + 9c2: 10 e0 ldi r17, 0x00 ; 0 + 9c4: 20 e0 ldi r18, 0x00 ; 0 + 9c6: 30 e0 ldi r19, 0x00 ; 0 + 9c8: ae 01 movw r20, r28 + 9ca: 4f 5f subi r20, 0xFF ; 255 + 9cc: 5f 4f sbci r21, 0xFF ; 255 + 9ce: 62 e1 ldi r22, 0x12 ; 18 + 9d0: c7 01 movw r24, r14 + 9d2: fa dd rcall .-1036 ; 0x5c8 writeRegister(inst,SI5351_REG_CLK_3_CONTROL,&temp,1); - 9bc: 01 e0 ldi r16, 0x01 ; 1 - 9be: 10 e0 ldi r17, 0x00 ; 0 - 9c0: 20 e0 ldi r18, 0x00 ; 0 - 9c2: 30 e0 ldi r19, 0x00 ; 0 - 9c4: ae 01 movw r20, r28 - 9c6: 4f 5f subi r20, 0xFF ; 255 - 9c8: 5f 4f sbci r21, 0xFF ; 255 - 9ca: 63 e1 ldi r22, 0x13 ; 19 - 9cc: c7 01 movw r24, r14 - 9ce: f0 dd rcall .-1056 ; 0x5b0 + 9d4: 01 e0 ldi r16, 0x01 ; 1 + 9d6: 10 e0 ldi r17, 0x00 ; 0 + 9d8: 20 e0 ldi r18, 0x00 ; 0 + 9da: 30 e0 ldi r19, 0x00 ; 0 + 9dc: ae 01 movw r20, r28 + 9de: 4f 5f subi r20, 0xFF ; 255 + 9e0: 5f 4f sbci r21, 0xFF ; 255 + 9e2: 63 e1 ldi r22, 0x13 ; 19 + 9e4: c7 01 movw r24, r14 + 9e6: f0 dd rcall .-1056 ; 0x5c8 writeRegister(inst,SI5351_REG_CLK_4_CONTROL,&temp,1); - 9d0: 01 e0 ldi r16, 0x01 ; 1 - 9d2: 10 e0 ldi r17, 0x00 ; 0 - 9d4: 20 e0 ldi r18, 0x00 ; 0 - 9d6: 30 e0 ldi r19, 0x00 ; 0 - 9d8: ae 01 movw r20, r28 - 9da: 4f 5f subi r20, 0xFF ; 255 - 9dc: 5f 4f sbci r21, 0xFF ; 255 - 9de: 64 e1 ldi r22, 0x14 ; 20 - 9e0: c7 01 movw r24, r14 - 9e2: e6 dd rcall .-1076 ; 0x5b0 + 9e8: 01 e0 ldi r16, 0x01 ; 1 + 9ea: 10 e0 ldi r17, 0x00 ; 0 + 9ec: 20 e0 ldi r18, 0x00 ; 0 + 9ee: 30 e0 ldi r19, 0x00 ; 0 + 9f0: ae 01 movw r20, r28 + 9f2: 4f 5f subi r20, 0xFF ; 255 + 9f4: 5f 4f sbci r21, 0xFF ; 255 + 9f6: 64 e1 ldi r22, 0x14 ; 20 + 9f8: c7 01 movw r24, r14 + 9fa: e6 dd rcall .-1076 ; 0x5c8 writeRegister(inst,SI5351_REG_CLK_5_CONTROL,&temp,1); - 9e4: 01 e0 ldi r16, 0x01 ; 1 - 9e6: 10 e0 ldi r17, 0x00 ; 0 - 9e8: 20 e0 ldi r18, 0x00 ; 0 - 9ea: 30 e0 ldi r19, 0x00 ; 0 - 9ec: ae 01 movw r20, r28 - 9ee: 4f 5f subi r20, 0xFF ; 255 - 9f0: 5f 4f sbci r21, 0xFF ; 255 - 9f2: 65 e1 ldi r22, 0x15 ; 21 - 9f4: c7 01 movw r24, r14 - 9f6: dc dd rcall .-1096 ; 0x5b0 + 9fc: 01 e0 ldi r16, 0x01 ; 1 + 9fe: 10 e0 ldi r17, 0x00 ; 0 + a00: 20 e0 ldi r18, 0x00 ; 0 + a02: 30 e0 ldi r19, 0x00 ; 0 + a04: ae 01 movw r20, r28 + a06: 4f 5f subi r20, 0xFF ; 255 + a08: 5f 4f sbci r21, 0xFF ; 255 + a0a: 65 e1 ldi r22, 0x15 ; 21 + a0c: c7 01 movw r24, r14 + a0e: dc dd rcall .-1096 ; 0x5c8 writeRegister(inst,SI5351_REG_CLK_6_CONTROL,&temp,1); - 9f8: 01 e0 ldi r16, 0x01 ; 1 - 9fa: 10 e0 ldi r17, 0x00 ; 0 - 9fc: 20 e0 ldi r18, 0x00 ; 0 - 9fe: 30 e0 ldi r19, 0x00 ; 0 - a00: ae 01 movw r20, r28 - a02: 4f 5f subi r20, 0xFF ; 255 - a04: 5f 4f sbci r21, 0xFF ; 255 - a06: 66 e1 ldi r22, 0x16 ; 22 - a08: c7 01 movw r24, r14 - a0a: d2 dd rcall .-1116 ; 0x5b0 + a10: 01 e0 ldi r16, 0x01 ; 1 + a12: 10 e0 ldi r17, 0x00 ; 0 + a14: 20 e0 ldi r18, 0x00 ; 0 + a16: 30 e0 ldi r19, 0x00 ; 0 + a18: ae 01 movw r20, r28 + a1a: 4f 5f subi r20, 0xFF ; 255 + a1c: 5f 4f sbci r21, 0xFF ; 255 + a1e: 66 e1 ldi r22, 0x16 ; 22 + a20: c7 01 movw r24, r14 + a22: d2 dd rcall .-1116 ; 0x5c8 writeRegister(inst,SI5351_REG_CLK_7_CONTROL,&temp,1); - a0c: 01 e0 ldi r16, 0x01 ; 1 - a0e: 10 e0 ldi r17, 0x00 ; 0 - a10: 20 e0 ldi r18, 0x00 ; 0 - a12: 30 e0 ldi r19, 0x00 ; 0 - a14: ae 01 movw r20, r28 - a16: 4f 5f subi r20, 0xFF ; 255 - a18: 5f 4f sbci r21, 0xFF ; 255 - a1a: 67 e1 ldi r22, 0x17 ; 23 - a1c: c7 01 movw r24, r14 - a1e: c8 dd rcall .-1136 ; 0x5b0 - - temp = SI5351_CRYSTAL_LOAD_10PF; - a20: 80 ec ldi r24, 0xC0 ; 192 - a22: 89 83 std Y+1, r24 ; 0x01 - - writeRegister(inst,SI5351_REG_CRYSTAL_LOAD_CAPACITANCE,&temp,1); a24: 01 e0 ldi r16, 0x01 ; 1 a26: 10 e0 ldi r17, 0x00 ; 0 a28: 20 e0 ldi r18, 0x00 ; 0 @@ -1898,316 +1892,332 @@ int cm_si5351_init(si5351_driver *inst, void *i2c_transfer_inst, setGet_I2C_Even a2c: ae 01 movw r20, r28 a2e: 4f 5f subi r20, 0xFF ; 255 a30: 5f 4f sbci r21, 0xFF ; 255 - a32: 67 eb ldi r22, 0xB7 ; 183 + a32: 67 e1 ldi r22, 0x17 ; 23 a34: c7 01 movw r24, r14 - a36: bc dd rcall .-1160 ; 0x5b0 + a36: c8 dd rcall .-1136 ; 0x5c8 + + temp = SI5351_CRYSTAL_LOAD_10PF; + a38: 80 ec ldi r24, 0xC0 ; 192 + a3a: 89 83 std Y+1, r24 ; 0x01 + + writeRegister(inst,SI5351_REG_CRYSTAL_LOAD_CAPACITANCE,&temp,1); + a3c: 01 e0 ldi r16, 0x01 ; 1 + a3e: 10 e0 ldi r17, 0x00 ; 0 + a40: 20 e0 ldi r18, 0x00 ; 0 + a42: 30 e0 ldi r19, 0x00 ; 0 + a44: ae 01 movw r20, r28 + a46: 4f 5f subi r20, 0xFF ; 255 + a48: 5f 4f sbci r21, 0xFF ; 255 + a4a: 67 eb ldi r22, 0xB7 ; 183 + a4c: c7 01 movw r24, r14 + a4e: bc dd rcall .-1160 ; 0x5c8 return ret; - a38: 80 e0 ldi r24, 0x00 ; 0 - a3a: 90 e0 ldi r25, 0x00 ; 0 - a3c: 08 c0 rjmp .+16 ; 0xa4e + a50: 80 e0 ldi r24, 0x00 ; 0 + a52: 90 e0 ldi r25, 0x00 ; 0 + a54: 08 c0 rjmp .+16 ; 0xa66 return inst->device_data.deviceStatus.REVID; } int cm_si5351_init(si5351_driver *inst, void *i2c_transfer_inst, setGet_I2C_Event_fpt i2c_transfer_evt){ if(inst == NULL)return -1; - a3e: 8f ef ldi r24, 0xFF ; 255 - a40: 9f ef ldi r25, 0xFF ; 255 - a42: 05 c0 rjmp .+10 ; 0xa4e + a56: 8f ef ldi r24, 0xFF ; 255 + a58: 9f ef ldi r25, 0xFF ; 255 + a5a: 05 c0 rjmp .+10 ; 0xa66 if(i2c_transfer_inst == NULL)return -1; - a44: 8f ef ldi r24, 0xFF ; 255 - a46: 9f ef ldi r25, 0xFF ; 255 - a48: 02 c0 rjmp .+4 ; 0xa4e + a5c: 8f ef ldi r24, 0xFF ; 255 + a5e: 9f ef ldi r25, 0xFF ; 255 + a60: 02 c0 rjmp .+4 ; 0xa66 if(i2c_transfer_evt == NULL)return -1; - a4a: 8f ef ldi r24, 0xFF ; 255 - a4c: 9f ef ldi r25, 0xFF ; 255 + a62: 8f ef ldi r24, 0xFF ; 255 + a64: 9f ef ldi r25, 0xFF ; 255 writeRegister(inst,SI5351_REG_CRYSTAL_LOAD_CAPACITANCE,&temp,1); return ret; } - a4e: 0f 90 pop r0 - a50: df 91 pop r29 - a52: cf 91 pop r28 - a54: 1f 91 pop r17 - a56: 0f 91 pop r16 - a58: ff 90 pop r15 - a5a: ef 90 pop r14 - a5c: 08 95 ret + a66: 0f 90 pop r0 + a68: df 91 pop r29 + a6a: cf 91 pop r28 + a6c: 1f 91 pop r17 + a6e: 0f 91 pop r16 + a70: ff 90 pop r15 + a72: ef 90 pop r14 + a74: 08 95 ret -00000a5e : - a5e: 0f 93 push r16 - a60: 1f 93 push r17 - a62: cf 93 push r28 - a64: df 93 push r29 - a66: 82 30 cpi r24, 0x02 ; 2 - a68: 91 05 cpc r25, r1 - a6a: 10 f4 brcc .+4 ; 0xa70 - a6c: 82 e0 ldi r24, 0x02 ; 2 - a6e: 90 e0 ldi r25, 0x00 ; 0 - a70: e0 91 0d 3f lds r30, 0x3F0D ; 0x803f0d <__flp> - a74: f0 91 0e 3f lds r31, 0x3F0E ; 0x803f0e <__flp+0x1> - a78: 20 e0 ldi r18, 0x00 ; 0 - a7a: 30 e0 ldi r19, 0x00 ; 0 - a7c: a0 e0 ldi r26, 0x00 ; 0 - a7e: b0 e0 ldi r27, 0x00 ; 0 - a80: 30 97 sbiw r30, 0x00 ; 0 - a82: 19 f1 breq .+70 ; 0xaca - a84: 40 81 ld r20, Z - a86: 51 81 ldd r21, Z+1 ; 0x01 - a88: 02 81 ldd r16, Z+2 ; 0x02 - a8a: 13 81 ldd r17, Z+3 ; 0x03 - a8c: 48 17 cp r20, r24 - a8e: 59 07 cpc r21, r25 - a90: c8 f0 brcs .+50 ; 0xac4 - a92: 84 17 cp r24, r20 - a94: 95 07 cpc r25, r21 - a96: 69 f4 brne .+26 ; 0xab2 - a98: 10 97 sbiw r26, 0x00 ; 0 - a9a: 31 f0 breq .+12 ; 0xaa8 - a9c: 12 96 adiw r26, 0x02 ; 2 - a9e: 0c 93 st X, r16 - aa0: 12 97 sbiw r26, 0x02 ; 2 - aa2: 13 96 adiw r26, 0x03 ; 3 - aa4: 1c 93 st X, r17 - aa6: 27 c0 rjmp .+78 ; 0xaf6 - aa8: 00 93 0d 3f sts 0x3F0D, r16 ; 0x803f0d <__flp> - aac: 10 93 0e 3f sts 0x3F0E, r17 ; 0x803f0e <__flp+0x1> - ab0: 22 c0 rjmp .+68 ; 0xaf6 - ab2: 21 15 cp r18, r1 - ab4: 31 05 cpc r19, r1 - ab6: 19 f0 breq .+6 ; 0xabe - ab8: 42 17 cp r20, r18 - aba: 53 07 cpc r21, r19 - abc: 18 f4 brcc .+6 ; 0xac4 - abe: 9a 01 movw r18, r20 - ac0: bd 01 movw r22, r26 - ac2: ef 01 movw r28, r30 - ac4: df 01 movw r26, r30 - ac6: f8 01 movw r30, r16 - ac8: db cf rjmp .-74 ; 0xa80 +00000a76 : + a76: 0f 93 push r16 + a78: 1f 93 push r17 + a7a: cf 93 push r28 + a7c: df 93 push r29 + a7e: 82 30 cpi r24, 0x02 ; 2 + a80: 91 05 cpc r25, r1 + a82: 10 f4 brcc .+4 ; 0xa88 + a84: 82 e0 ldi r24, 0x02 ; 2 + a86: 90 e0 ldi r25, 0x00 ; 0 + a88: e0 91 0d 3f lds r30, 0x3F0D ; 0x803f0d <__flp> + a8c: f0 91 0e 3f lds r31, 0x3F0E ; 0x803f0e <__flp+0x1> + a90: 20 e0 ldi r18, 0x00 ; 0 + a92: 30 e0 ldi r19, 0x00 ; 0 + a94: a0 e0 ldi r26, 0x00 ; 0 + a96: b0 e0 ldi r27, 0x00 ; 0 + a98: 30 97 sbiw r30, 0x00 ; 0 + a9a: 19 f1 breq .+70 ; 0xae2 + a9c: 40 81 ld r20, Z + a9e: 51 81 ldd r21, Z+1 ; 0x01 + aa0: 02 81 ldd r16, Z+2 ; 0x02 + aa2: 13 81 ldd r17, Z+3 ; 0x03 + aa4: 48 17 cp r20, r24 + aa6: 59 07 cpc r21, r25 + aa8: c8 f0 brcs .+50 ; 0xadc + aaa: 84 17 cp r24, r20 + aac: 95 07 cpc r25, r21 + aae: 69 f4 brne .+26 ; 0xaca + ab0: 10 97 sbiw r26, 0x00 ; 0 + ab2: 31 f0 breq .+12 ; 0xac0 + ab4: 12 96 adiw r26, 0x02 ; 2 + ab6: 0c 93 st X, r16 + ab8: 12 97 sbiw r26, 0x02 ; 2 + aba: 13 96 adiw r26, 0x03 ; 3 + abc: 1c 93 st X, r17 + abe: 27 c0 rjmp .+78 ; 0xb0e + ac0: 00 93 0d 3f sts 0x3F0D, r16 ; 0x803f0d <__flp> + ac4: 10 93 0e 3f sts 0x3F0E, r17 ; 0x803f0e <__flp+0x1> + ac8: 22 c0 rjmp .+68 ; 0xb0e aca: 21 15 cp r18, r1 acc: 31 05 cpc r19, r1 - ace: f9 f0 breq .+62 ; 0xb0e - ad0: 28 1b sub r18, r24 - ad2: 39 0b sbc r19, r25 - ad4: 24 30 cpi r18, 0x04 ; 4 - ad6: 31 05 cpc r19, r1 - ad8: 80 f4 brcc .+32 ; 0xafa - ada: 8a 81 ldd r24, Y+2 ; 0x02 - adc: 9b 81 ldd r25, Y+3 ; 0x03 - ade: 61 15 cp r22, r1 - ae0: 71 05 cpc r23, r1 - ae2: 21 f0 breq .+8 ; 0xaec - ae4: fb 01 movw r30, r22 - ae6: 82 83 std Z+2, r24 ; 0x02 - ae8: 93 83 std Z+3, r25 ; 0x03 - aea: 04 c0 rjmp .+8 ; 0xaf4 - aec: 80 93 0d 3f sts 0x3F0D, r24 ; 0x803f0d <__flp> - af0: 90 93 0e 3f sts 0x3F0E, r25 ; 0x803f0e <__flp+0x1> - af4: fe 01 movw r30, r28 - af6: 32 96 adiw r30, 0x02 ; 2 - af8: 44 c0 rjmp .+136 ; 0xb82 - afa: fe 01 movw r30, r28 - afc: e2 0f add r30, r18 - afe: f3 1f adc r31, r19 - b00: 81 93 st Z+, r24 - b02: 91 93 st Z+, r25 - b04: 22 50 subi r18, 0x02 ; 2 - b06: 31 09 sbc r19, r1 - b08: 28 83 st Y, r18 - b0a: 39 83 std Y+1, r19 ; 0x01 - b0c: 3a c0 rjmp .+116 ; 0xb82 - b0e: 20 91 0b 3f lds r18, 0x3F0B ; 0x803f0b <__brkval> - b12: 30 91 0c 3f lds r19, 0x3F0C ; 0x803f0c <__brkval+0x1> - b16: 23 2b or r18, r19 - b18: 41 f4 brne .+16 ; 0xb2a - b1a: 20 91 02 3f lds r18, 0x3F02 ; 0x803f02 <__malloc_heap_start> - b1e: 30 91 03 3f lds r19, 0x3F03 ; 0x803f03 <__malloc_heap_start+0x1> - b22: 20 93 0b 3f sts 0x3F0B, r18 ; 0x803f0b <__brkval> - b26: 30 93 0c 3f sts 0x3F0C, r19 ; 0x803f0c <__brkval+0x1> - b2a: 20 91 00 3f lds r18, 0x3F00 ; 0x803f00 <__DATA_REGION_ORIGIN__> - b2e: 30 91 01 3f lds r19, 0x3F01 ; 0x803f01 <__DATA_REGION_ORIGIN__+0x1> - b32: 21 15 cp r18, r1 - b34: 31 05 cpc r19, r1 - b36: 41 f4 brne .+16 ; 0xb48 - b38: 2d b7 in r18, 0x3d ; 61 - b3a: 3e b7 in r19, 0x3e ; 62 - b3c: 40 91 04 3f lds r20, 0x3F04 ; 0x803f04 <__malloc_margin> - b40: 50 91 05 3f lds r21, 0x3F05 ; 0x803f05 <__malloc_margin+0x1> - b44: 24 1b sub r18, r20 - b46: 35 0b sbc r19, r21 - b48: e0 91 0b 3f lds r30, 0x3F0B ; 0x803f0b <__brkval> - b4c: f0 91 0c 3f lds r31, 0x3F0C ; 0x803f0c <__brkval+0x1> - b50: e2 17 cp r30, r18 - b52: f3 07 cpc r31, r19 - b54: a0 f4 brcc .+40 ; 0xb7e - b56: 2e 1b sub r18, r30 - b58: 3f 0b sbc r19, r31 - b5a: 28 17 cp r18, r24 - b5c: 39 07 cpc r19, r25 - b5e: 78 f0 brcs .+30 ; 0xb7e - b60: ac 01 movw r20, r24 - b62: 4e 5f subi r20, 0xFE ; 254 - b64: 5f 4f sbci r21, 0xFF ; 255 - b66: 24 17 cp r18, r20 - b68: 35 07 cpc r19, r21 - b6a: 48 f0 brcs .+18 ; 0xb7e - b6c: 4e 0f add r20, r30 - b6e: 5f 1f adc r21, r31 - b70: 40 93 0b 3f sts 0x3F0B, r20 ; 0x803f0b <__brkval> - b74: 50 93 0c 3f sts 0x3F0C, r21 ; 0x803f0c <__brkval+0x1> - b78: 81 93 st Z+, r24 - b7a: 91 93 st Z+, r25 - b7c: 02 c0 rjmp .+4 ; 0xb82 - b7e: e0 e0 ldi r30, 0x00 ; 0 - b80: f0 e0 ldi r31, 0x00 ; 0 - b82: cf 01 movw r24, r30 - b84: df 91 pop r29 - b86: cf 91 pop r28 - b88: 1f 91 pop r17 - b8a: 0f 91 pop r16 - b8c: 08 95 ret + ace: 19 f0 breq .+6 ; 0xad6 + ad0: 42 17 cp r20, r18 + ad2: 53 07 cpc r21, r19 + ad4: 18 f4 brcc .+6 ; 0xadc + ad6: 9a 01 movw r18, r20 + ad8: bd 01 movw r22, r26 + ada: ef 01 movw r28, r30 + adc: df 01 movw r26, r30 + ade: f8 01 movw r30, r16 + ae0: db cf rjmp .-74 ; 0xa98 + ae2: 21 15 cp r18, r1 + ae4: 31 05 cpc r19, r1 + ae6: f9 f0 breq .+62 ; 0xb26 + ae8: 28 1b sub r18, r24 + aea: 39 0b sbc r19, r25 + aec: 24 30 cpi r18, 0x04 ; 4 + aee: 31 05 cpc r19, r1 + af0: 80 f4 brcc .+32 ; 0xb12 + af2: 8a 81 ldd r24, Y+2 ; 0x02 + af4: 9b 81 ldd r25, Y+3 ; 0x03 + af6: 61 15 cp r22, r1 + af8: 71 05 cpc r23, r1 + afa: 21 f0 breq .+8 ; 0xb04 + afc: fb 01 movw r30, r22 + afe: 82 83 std Z+2, r24 ; 0x02 + b00: 93 83 std Z+3, r25 ; 0x03 + b02: 04 c0 rjmp .+8 ; 0xb0c + b04: 80 93 0d 3f sts 0x3F0D, r24 ; 0x803f0d <__flp> + b08: 90 93 0e 3f sts 0x3F0E, r25 ; 0x803f0e <__flp+0x1> + b0c: fe 01 movw r30, r28 + b0e: 32 96 adiw r30, 0x02 ; 2 + b10: 44 c0 rjmp .+136 ; 0xb9a + b12: fe 01 movw r30, r28 + b14: e2 0f add r30, r18 + b16: f3 1f adc r31, r19 + b18: 81 93 st Z+, r24 + b1a: 91 93 st Z+, r25 + b1c: 22 50 subi r18, 0x02 ; 2 + b1e: 31 09 sbc r19, r1 + b20: 28 83 st Y, r18 + b22: 39 83 std Y+1, r19 ; 0x01 + b24: 3a c0 rjmp .+116 ; 0xb9a + b26: 20 91 0b 3f lds r18, 0x3F0B ; 0x803f0b <__brkval> + b2a: 30 91 0c 3f lds r19, 0x3F0C ; 0x803f0c <__brkval+0x1> + b2e: 23 2b or r18, r19 + b30: 41 f4 brne .+16 ; 0xb42 + b32: 20 91 02 3f lds r18, 0x3F02 ; 0x803f02 <__malloc_heap_start> + b36: 30 91 03 3f lds r19, 0x3F03 ; 0x803f03 <__malloc_heap_start+0x1> + b3a: 20 93 0b 3f sts 0x3F0B, r18 ; 0x803f0b <__brkval> + b3e: 30 93 0c 3f sts 0x3F0C, r19 ; 0x803f0c <__brkval+0x1> + b42: 20 91 00 3f lds r18, 0x3F00 ; 0x803f00 <__DATA_REGION_ORIGIN__> + b46: 30 91 01 3f lds r19, 0x3F01 ; 0x803f01 <__DATA_REGION_ORIGIN__+0x1> + b4a: 21 15 cp r18, r1 + b4c: 31 05 cpc r19, r1 + b4e: 41 f4 brne .+16 ; 0xb60 + b50: 2d b7 in r18, 0x3d ; 61 + b52: 3e b7 in r19, 0x3e ; 62 + b54: 40 91 04 3f lds r20, 0x3F04 ; 0x803f04 <__malloc_margin> + b58: 50 91 05 3f lds r21, 0x3F05 ; 0x803f05 <__malloc_margin+0x1> + b5c: 24 1b sub r18, r20 + b5e: 35 0b sbc r19, r21 + b60: e0 91 0b 3f lds r30, 0x3F0B ; 0x803f0b <__brkval> + b64: f0 91 0c 3f lds r31, 0x3F0C ; 0x803f0c <__brkval+0x1> + b68: e2 17 cp r30, r18 + b6a: f3 07 cpc r31, r19 + b6c: a0 f4 brcc .+40 ; 0xb96 + b6e: 2e 1b sub r18, r30 + b70: 3f 0b sbc r19, r31 + b72: 28 17 cp r18, r24 + b74: 39 07 cpc r19, r25 + b76: 78 f0 brcs .+30 ; 0xb96 + b78: ac 01 movw r20, r24 + b7a: 4e 5f subi r20, 0xFE ; 254 + b7c: 5f 4f sbci r21, 0xFF ; 255 + b7e: 24 17 cp r18, r20 + b80: 35 07 cpc r19, r21 + b82: 48 f0 brcs .+18 ; 0xb96 + b84: 4e 0f add r20, r30 + b86: 5f 1f adc r21, r31 + b88: 40 93 0b 3f sts 0x3F0B, r20 ; 0x803f0b <__brkval> + b8c: 50 93 0c 3f sts 0x3F0C, r21 ; 0x803f0c <__brkval+0x1> + b90: 81 93 st Z+, r24 + b92: 91 93 st Z+, r25 + b94: 02 c0 rjmp .+4 ; 0xb9a + b96: e0 e0 ldi r30, 0x00 ; 0 + b98: f0 e0 ldi r31, 0x00 ; 0 + b9a: cf 01 movw r24, r30 + b9c: df 91 pop r29 + b9e: cf 91 pop r28 + ba0: 1f 91 pop r17 + ba2: 0f 91 pop r16 + ba4: 08 95 ret -00000b8e : - b8e: cf 93 push r28 - b90: df 93 push r29 - b92: 00 97 sbiw r24, 0x00 ; 0 - b94: 09 f4 brne .+2 ; 0xb98 - b96: 81 c0 rjmp .+258 ; 0xc9a - b98: fc 01 movw r30, r24 - b9a: 32 97 sbiw r30, 0x02 ; 2 - b9c: 12 82 std Z+2, r1 ; 0x02 - b9e: 13 82 std Z+3, r1 ; 0x03 - ba0: a0 91 0d 3f lds r26, 0x3F0D ; 0x803f0d <__flp> - ba4: b0 91 0e 3f lds r27, 0x3F0E ; 0x803f0e <__flp+0x1> - ba8: 10 97 sbiw r26, 0x00 ; 0 - baa: 81 f4 brne .+32 ; 0xbcc - bac: 20 81 ld r18, Z - bae: 31 81 ldd r19, Z+1 ; 0x01 - bb0: 82 0f add r24, r18 - bb2: 93 1f adc r25, r19 - bb4: 20 91 0b 3f lds r18, 0x3F0B ; 0x803f0b <__brkval> - bb8: 30 91 0c 3f lds r19, 0x3F0C ; 0x803f0c <__brkval+0x1> - bbc: 28 17 cp r18, r24 - bbe: 39 07 cpc r19, r25 - bc0: 51 f5 brne .+84 ; 0xc16 - bc2: e0 93 0b 3f sts 0x3F0B, r30 ; 0x803f0b <__brkval> - bc6: f0 93 0c 3f sts 0x3F0C, r31 ; 0x803f0c <__brkval+0x1> - bca: 67 c0 rjmp .+206 ; 0xc9a - bcc: ed 01 movw r28, r26 - bce: 20 e0 ldi r18, 0x00 ; 0 - bd0: 30 e0 ldi r19, 0x00 ; 0 - bd2: ce 17 cp r28, r30 - bd4: df 07 cpc r29, r31 - bd6: 40 f4 brcc .+16 ; 0xbe8 - bd8: 4a 81 ldd r20, Y+2 ; 0x02 - bda: 5b 81 ldd r21, Y+3 ; 0x03 - bdc: 9e 01 movw r18, r28 - bde: 41 15 cp r20, r1 - be0: 51 05 cpc r21, r1 - be2: f1 f0 breq .+60 ; 0xc20 - be4: ea 01 movw r28, r20 - be6: f5 cf rjmp .-22 ; 0xbd2 - be8: c2 83 std Z+2, r28 ; 0x02 - bea: d3 83 std Z+3, r29 ; 0x03 - bec: 40 81 ld r20, Z - bee: 51 81 ldd r21, Z+1 ; 0x01 - bf0: 84 0f add r24, r20 - bf2: 95 1f adc r25, r21 - bf4: c8 17 cp r28, r24 - bf6: d9 07 cpc r29, r25 - bf8: 59 f4 brne .+22 ; 0xc10 - bfa: 88 81 ld r24, Y - bfc: 99 81 ldd r25, Y+1 ; 0x01 - bfe: 84 0f add r24, r20 - c00: 95 1f adc r25, r21 - c02: 02 96 adiw r24, 0x02 ; 2 - c04: 80 83 st Z, r24 - c06: 91 83 std Z+1, r25 ; 0x01 - c08: 8a 81 ldd r24, Y+2 ; 0x02 - c0a: 9b 81 ldd r25, Y+3 ; 0x03 - c0c: 82 83 std Z+2, r24 ; 0x02 - c0e: 93 83 std Z+3, r25 ; 0x03 - c10: 21 15 cp r18, r1 - c12: 31 05 cpc r19, r1 - c14: 29 f4 brne .+10 ; 0xc20 - c16: e0 93 0d 3f sts 0x3F0D, r30 ; 0x803f0d <__flp> - c1a: f0 93 0e 3f sts 0x3F0E, r31 ; 0x803f0e <__flp+0x1> - c1e: 3d c0 rjmp .+122 ; 0xc9a - c20: e9 01 movw r28, r18 - c22: ea 83 std Y+2, r30 ; 0x02 - c24: fb 83 std Y+3, r31 ; 0x03 - c26: 49 91 ld r20, Y+ - c28: 59 91 ld r21, Y+ - c2a: c4 0f add r28, r20 - c2c: d5 1f adc r29, r21 - c2e: ec 17 cp r30, r28 - c30: fd 07 cpc r31, r29 - c32: 61 f4 brne .+24 ; 0xc4c - c34: 80 81 ld r24, Z - c36: 91 81 ldd r25, Z+1 ; 0x01 - c38: 84 0f add r24, r20 - c3a: 95 1f adc r25, r21 - c3c: 02 96 adiw r24, 0x02 ; 2 - c3e: e9 01 movw r28, r18 - c40: 88 83 st Y, r24 - c42: 99 83 std Y+1, r25 ; 0x01 - c44: 82 81 ldd r24, Z+2 ; 0x02 - c46: 93 81 ldd r25, Z+3 ; 0x03 - c48: 8a 83 std Y+2, r24 ; 0x02 - c4a: 9b 83 std Y+3, r25 ; 0x03 - c4c: e0 e0 ldi r30, 0x00 ; 0 - c4e: f0 e0 ldi r31, 0x00 ; 0 - c50: 12 96 adiw r26, 0x02 ; 2 - c52: 8d 91 ld r24, X+ - c54: 9c 91 ld r25, X - c56: 13 97 sbiw r26, 0x03 ; 3 - c58: 00 97 sbiw r24, 0x00 ; 0 - c5a: 19 f0 breq .+6 ; 0xc62 - c5c: fd 01 movw r30, r26 - c5e: dc 01 movw r26, r24 - c60: f7 cf rjmp .-18 ; 0xc50 - c62: 8d 91 ld r24, X+ - c64: 9c 91 ld r25, X - c66: 11 97 sbiw r26, 0x01 ; 1 - c68: 9d 01 movw r18, r26 - c6a: 2e 5f subi r18, 0xFE ; 254 - c6c: 3f 4f sbci r19, 0xFF ; 255 - c6e: 82 0f add r24, r18 - c70: 93 1f adc r25, r19 - c72: 20 91 0b 3f lds r18, 0x3F0B ; 0x803f0b <__brkval> - c76: 30 91 0c 3f lds r19, 0x3F0C ; 0x803f0c <__brkval+0x1> - c7a: 28 17 cp r18, r24 - c7c: 39 07 cpc r19, r25 - c7e: 69 f4 brne .+26 ; 0xc9a - c80: 30 97 sbiw r30, 0x00 ; 0 - c82: 29 f4 brne .+10 ; 0xc8e - c84: 10 92 0d 3f sts 0x3F0D, r1 ; 0x803f0d <__flp> - c88: 10 92 0e 3f sts 0x3F0E, r1 ; 0x803f0e <__flp+0x1> - c8c: 02 c0 rjmp .+4 ; 0xc92 - c8e: 12 82 std Z+2, r1 ; 0x02 - c90: 13 82 std Z+3, r1 ; 0x03 - c92: a0 93 0b 3f sts 0x3F0B, r26 ; 0x803f0b <__brkval> - c96: b0 93 0c 3f sts 0x3F0C, r27 ; 0x803f0c <__brkval+0x1> - c9a: df 91 pop r29 - c9c: cf 91 pop r28 - c9e: 08 95 ret +00000ba6 : + ba6: cf 93 push r28 + ba8: df 93 push r29 + baa: 00 97 sbiw r24, 0x00 ; 0 + bac: 09 f4 brne .+2 ; 0xbb0 + bae: 81 c0 rjmp .+258 ; 0xcb2 + bb0: fc 01 movw r30, r24 + bb2: 32 97 sbiw r30, 0x02 ; 2 + bb4: 12 82 std Z+2, r1 ; 0x02 + bb6: 13 82 std Z+3, r1 ; 0x03 + bb8: a0 91 0d 3f lds r26, 0x3F0D ; 0x803f0d <__flp> + bbc: b0 91 0e 3f lds r27, 0x3F0E ; 0x803f0e <__flp+0x1> + bc0: 10 97 sbiw r26, 0x00 ; 0 + bc2: 81 f4 brne .+32 ; 0xbe4 + bc4: 20 81 ld r18, Z + bc6: 31 81 ldd r19, Z+1 ; 0x01 + bc8: 82 0f add r24, r18 + bca: 93 1f adc r25, r19 + bcc: 20 91 0b 3f lds r18, 0x3F0B ; 0x803f0b <__brkval> + bd0: 30 91 0c 3f lds r19, 0x3F0C ; 0x803f0c <__brkval+0x1> + bd4: 28 17 cp r18, r24 + bd6: 39 07 cpc r19, r25 + bd8: 51 f5 brne .+84 ; 0xc2e + bda: e0 93 0b 3f sts 0x3F0B, r30 ; 0x803f0b <__brkval> + bde: f0 93 0c 3f sts 0x3F0C, r31 ; 0x803f0c <__brkval+0x1> + be2: 67 c0 rjmp .+206 ; 0xcb2 + be4: ed 01 movw r28, r26 + be6: 20 e0 ldi r18, 0x00 ; 0 + be8: 30 e0 ldi r19, 0x00 ; 0 + bea: ce 17 cp r28, r30 + bec: df 07 cpc r29, r31 + bee: 40 f4 brcc .+16 ; 0xc00 + bf0: 4a 81 ldd r20, Y+2 ; 0x02 + bf2: 5b 81 ldd r21, Y+3 ; 0x03 + bf4: 9e 01 movw r18, r28 + bf6: 41 15 cp r20, r1 + bf8: 51 05 cpc r21, r1 + bfa: f1 f0 breq .+60 ; 0xc38 + bfc: ea 01 movw r28, r20 + bfe: f5 cf rjmp .-22 ; 0xbea + c00: c2 83 std Z+2, r28 ; 0x02 + c02: d3 83 std Z+3, r29 ; 0x03 + c04: 40 81 ld r20, Z + c06: 51 81 ldd r21, Z+1 ; 0x01 + c08: 84 0f add r24, r20 + c0a: 95 1f adc r25, r21 + c0c: c8 17 cp r28, r24 + c0e: d9 07 cpc r29, r25 + c10: 59 f4 brne .+22 ; 0xc28 + c12: 88 81 ld r24, Y + c14: 99 81 ldd r25, Y+1 ; 0x01 + c16: 84 0f add r24, r20 + c18: 95 1f adc r25, r21 + c1a: 02 96 adiw r24, 0x02 ; 2 + c1c: 80 83 st Z, r24 + c1e: 91 83 std Z+1, r25 ; 0x01 + c20: 8a 81 ldd r24, Y+2 ; 0x02 + c22: 9b 81 ldd r25, Y+3 ; 0x03 + c24: 82 83 std Z+2, r24 ; 0x02 + c26: 93 83 std Z+3, r25 ; 0x03 + c28: 21 15 cp r18, r1 + c2a: 31 05 cpc r19, r1 + c2c: 29 f4 brne .+10 ; 0xc38 + c2e: e0 93 0d 3f sts 0x3F0D, r30 ; 0x803f0d <__flp> + c32: f0 93 0e 3f sts 0x3F0E, r31 ; 0x803f0e <__flp+0x1> + c36: 3d c0 rjmp .+122 ; 0xcb2 + c38: e9 01 movw r28, r18 + c3a: ea 83 std Y+2, r30 ; 0x02 + c3c: fb 83 std Y+3, r31 ; 0x03 + c3e: 49 91 ld r20, Y+ + c40: 59 91 ld r21, Y+ + c42: c4 0f add r28, r20 + c44: d5 1f adc r29, r21 + c46: ec 17 cp r30, r28 + c48: fd 07 cpc r31, r29 + c4a: 61 f4 brne .+24 ; 0xc64 + c4c: 80 81 ld r24, Z + c4e: 91 81 ldd r25, Z+1 ; 0x01 + c50: 84 0f add r24, r20 + c52: 95 1f adc r25, r21 + c54: 02 96 adiw r24, 0x02 ; 2 + c56: e9 01 movw r28, r18 + c58: 88 83 st Y, r24 + c5a: 99 83 std Y+1, r25 ; 0x01 + c5c: 82 81 ldd r24, Z+2 ; 0x02 + c5e: 93 81 ldd r25, Z+3 ; 0x03 + c60: 8a 83 std Y+2, r24 ; 0x02 + c62: 9b 83 std Y+3, r25 ; 0x03 + c64: e0 e0 ldi r30, 0x00 ; 0 + c66: f0 e0 ldi r31, 0x00 ; 0 + c68: 12 96 adiw r26, 0x02 ; 2 + c6a: 8d 91 ld r24, X+ + c6c: 9c 91 ld r25, X + c6e: 13 97 sbiw r26, 0x03 ; 3 + c70: 00 97 sbiw r24, 0x00 ; 0 + c72: 19 f0 breq .+6 ; 0xc7a + c74: fd 01 movw r30, r26 + c76: dc 01 movw r26, r24 + c78: f7 cf rjmp .-18 ; 0xc68 + c7a: 8d 91 ld r24, X+ + c7c: 9c 91 ld r25, X + c7e: 11 97 sbiw r26, 0x01 ; 1 + c80: 9d 01 movw r18, r26 + c82: 2e 5f subi r18, 0xFE ; 254 + c84: 3f 4f sbci r19, 0xFF ; 255 + c86: 82 0f add r24, r18 + c88: 93 1f adc r25, r19 + c8a: 20 91 0b 3f lds r18, 0x3F0B ; 0x803f0b <__brkval> + c8e: 30 91 0c 3f lds r19, 0x3F0C ; 0x803f0c <__brkval+0x1> + c92: 28 17 cp r18, r24 + c94: 39 07 cpc r19, r25 + c96: 69 f4 brne .+26 ; 0xcb2 + c98: 30 97 sbiw r30, 0x00 ; 0 + c9a: 29 f4 brne .+10 ; 0xca6 + c9c: 10 92 0d 3f sts 0x3F0D, r1 ; 0x803f0d <__flp> + ca0: 10 92 0e 3f sts 0x3F0E, r1 ; 0x803f0e <__flp+0x1> + ca4: 02 c0 rjmp .+4 ; 0xcaa + ca6: 12 82 std Z+2, r1 ; 0x02 + ca8: 13 82 std Z+3, r1 ; 0x03 + caa: a0 93 0b 3f sts 0x3F0B, r26 ; 0x803f0b <__brkval> + cae: b0 93 0c 3f sts 0x3F0C, r27 ; 0x803f0c <__brkval+0x1> + cb2: df 91 pop r29 + cb4: cf 91 pop r28 + cb6: 08 95 ret -00000ca0 : - ca0: fb 01 movw r30, r22 - ca2: dc 01 movw r26, r24 - ca4: 02 c0 rjmp .+4 ; 0xcaa - ca6: 01 90 ld r0, Z+ - ca8: 0d 92 st X+, r0 - caa: 41 50 subi r20, 0x01 ; 1 - cac: 50 40 sbci r21, 0x00 ; 0 - cae: d8 f7 brcc .-10 ; 0xca6 - cb0: 08 95 ret +00000cb8 : + cb8: fb 01 movw r30, r22 + cba: dc 01 movw r26, r24 + cbc: 02 c0 rjmp .+4 ; 0xcc2 + cbe: 01 90 ld r0, Z+ + cc0: 0d 92 st X+, r0 + cc2: 41 50 subi r20, 0x01 ; 1 + cc4: 50 40 sbci r21, 0x00 ; 0 + cc6: d8 f7 brcc .-10 ; 0xcbe + cc8: 08 95 ret -00000cb2 <_exit>: - cb2: f8 94 cli +00000cca <_exit>: + cca: f8 94 cli -00000cb4 <__stop_program>: - cb4: ff cf rjmp .-2 ; 0xcb4 <__stop_program> +00000ccc <__stop_program>: + ccc: ff cf rjmp .-2 ; 0xccc <__stop_program> diff --git a/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.map b/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.map index d2281b0..eaf59a3 100644 --- a/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.map +++ b/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.map @@ -79,6 +79,10 @@ Discarded input sections .text 0x00000000 0x0 avr_uart_driver/avr_uart.o .data 0x00000000 0x0 avr_uart_driver/avr_uart.o .bss 0x00000000 0x0 avr_uart_driver/avr_uart.o + .text.cm_uart_receive + 0x00000000 0x10 avr_uart_driver/avr_uart.o + .text.cm_uart_receive_busyWait + 0x00000000 0xe avr_uart_driver/avr_uart.o .text 0x00000000 0x0 cqm6xx_app.o .data 0x00000000 0x0 cqm6xx_app.o .bss 0x00000000 0x0 cqm6xx_app.o @@ -392,7 +396,7 @@ END GROUP .rela.plt *(.rela.plt) -.text 0x00000000 0xcb6 +.text 0x00000000 0xcce *(.vectors) .vectors 0x00000000 0x34 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o 0x00000000 __vector_default @@ -504,65 +508,62 @@ END GROUP .text.cm_i2c_transfer 0x0000027c 0x34 avr_i2c_driver/avr_i2c.o 0x0000027c cm_i2c_transfer - .text.__vector_22 - 0x000002b0 0x20 avr_uart_driver/avr_uart.o - 0x000002b0 __vector_22 .text.cm_uart_init - 0x000002d0 0x42 avr_uart_driver/avr_uart.o - 0x000002d0 cm_uart_init + 0x000002b0 0x48 avr_uart_driver/avr_uart.o + 0x000002b0 cm_uart_init .text.cm_uart_send - 0x00000312 0xe avr_uart_driver/avr_uart.o - 0x00000312 cm_uart_send + 0x000002f8 0xe avr_uart_driver/avr_uart.o + 0x000002f8 cm_uart_send + .text.__vector_22 + 0x00000306 0x4e avr_uart_driver/avr_uart.o + 0x00000306 __vector_22 .text.isStructValid - 0x00000320 0x1a cqm6xx_app.o + 0x00000354 0x1a cqm6xx_app.o .text.cqm6xx_app_updateOsc - 0x0000033a 0x76 cqm6xx_app.o + 0x0000036e 0x76 cqm6xx_app.o .text.cqm6xx_app_statemachine - 0x000003b0 0x166 cqm6xx_app.o - 0x000003b0 cqm6xx_app_statemachine + 0x000003e4 0x166 cqm6xx_app.o + 0x000003e4 cqm6xx_app_statemachine .text.cqm6xx_app_init - 0x00000516 0x16 cqm6xx_app.o - 0x00000516 cqm6xx_app_init - .text.uart_receive - 0x0000052c 0xe main.o - 0x0000052c uart_receive - .text.main 0x0000053a 0x76 main.o - 0x0000053a main + 0x0000054a 0x16 cqm6xx_app.o + 0x0000054a cqm6xx_app_init + .text.main 0x00000560 0x68 main.o + 0x00000560 main .text.writeRegister - 0x000005b0 0x78 si5351_driver/si5351_driver.o + 0x000005c8 0x78 si5351_driver/si5351_driver.o .text.cm_setOutputMultiSynth - 0x00000628 0x116 si5351_driver/si5351_driver.o - 0x00000628 cm_setOutputMultiSynth + 0x00000640 0x116 si5351_driver/si5351_driver.o + 0x00000640 cm_setOutputMultiSynth .text.cm_setOutputEnable - 0x0000073e 0x40 si5351_driver/si5351_driver.o - 0x0000073e cm_setOutputEnable + 0x00000756 0x40 si5351_driver/si5351_driver.o + 0x00000756 cm_setOutputEnable .text.cm_setCLKControl - 0x0000077e 0x5c si5351_driver/si5351_driver.o - 0x0000077e cm_setCLKControl + 0x00000796 0x5c si5351_driver/si5351_driver.o + 0x00000796 cm_setCLKControl .text.cm_setInputSource - 0x000007da 0x3e si5351_driver/si5351_driver.o - 0x000007da cm_setInputSource + 0x000007f2 0x3e si5351_driver/si5351_driver.o + 0x000007f2 cm_setInputSource .text.cm_resetPLLs - 0x00000818 0x48 si5351_driver/si5351_driver.o - 0x00000818 cm_resetPLLs + 0x00000830 0x48 si5351_driver/si5351_driver.o + 0x00000830 cm_resetPLLs .text.cm_setPllParamRaw - 0x00000860 0xbc si5351_driver/si5351_driver.o - 0x00000860 cm_setPllParamRaw + 0x00000878 0xbc si5351_driver/si5351_driver.o + 0x00000878 cm_setPllParamRaw .text.cm_si5351_init - 0x0000091c 0x142 si5351_driver/si5351_driver.o - 0x0000091c cm_si5351_init + 0x00000934 0x142 si5351_driver/si5351_driver.o + 0x00000934 cm_si5351_init .text.avr-libc - 0x00000a5e 0x242 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) - 0x00000a5e malloc - 0x00000b8e free + 0x00000a76 0x242 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) + 0x00000a76 malloc + 0x00000ba6 free .text.avr-libc - 0x00000ca0 0x12 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(memcpy.o) - 0x00000ca0 memcpy - 0x00000cb2 . = ALIGN (0x2) + 0x00000cb8 0x12 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(memcpy.o) + 0x00000cb8 memcpy + 0x00000cca . = ALIGN (0x2) *(.fini9) - .fini9 0x00000cb2 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) - 0x00000cb2 _exit - 0x00000cb2 exit + .fini9 0x00000cca 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) + 0x00000cca _exit + 0x00000cca exit *(.fini9) *(.fini8) *(.fini8) @@ -581,16 +582,16 @@ END GROUP *(.fini1) *(.fini1) *(.fini0) - .fini0 0x00000cb2 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) + .fini0 0x00000cca 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) *(.fini0) - 0x00000cb6 _etext = . + 0x00000cce _etext = . .rodata *(.rodata) *(.rodata*) *(.gnu.linkonce.r*) -.data 0x00803f00 0x6 load address 0x00000cb6 +.data 0x00803f00 0x6 load address 0x00000cce 0x00803f00 PROVIDE (__data_start, .) *(.data) .data 0x00803f00 0x6 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) @@ -617,8 +618,8 @@ END GROUP 0x00803f0b __brkval 0x00803f0d __flp 0x00803f0f PROVIDE (__bss_end, .) - 0x00000cb6 __data_load_start = LOADADDR (.data) - 0x00000cbc __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x00000cce __data_load_start = LOADADDR (.data) + 0x00000cd4 __data_load_end = (__data_load_start + SIZEOF (.data)) .noinit 0x00803f0f 0x0 [!provide] PROVIDE (__noinit_start, .) @@ -695,87 +696,87 @@ END GROUP .debug_sfnames *(.debug_sfnames) -.debug_aranges 0x00000000 0x198 +.debug_aranges 0x00000000 0x1a0 *(.debug_aranges) .debug_aranges 0x00000000 0x30 avr_gpio_driver/avr_gpio.o .debug_aranges 0x00000030 0x68 avr_i2c_driver/avr_i2c.o .debug_aranges - 0x00000098 0x30 avr_uart_driver/avr_uart.o + 0x00000098 0x40 avr_uart_driver/avr_uart.o .debug_aranges - 0x000000c8 0x38 cqm6xx_app.o + 0x000000d8 0x38 cqm6xx_app.o .debug_aranges - 0x00000100 0x28 main.o + 0x00000110 0x20 main.o .debug_aranges - 0x00000128 0x70 si5351_driver/si5351_driver.o + 0x00000130 0x70 si5351_driver/si5351_driver.o .debug_pubnames *(.debug_pubnames) -.debug_info 0x00000000 0x4c94 +.debug_info 0x00000000 0x4b29 *(.debug_info .gnu.linkonce.wi.*) .debug_info 0x00000000 0x11d6 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o .debug_info 0x000011d6 0x320 avr_gpio_driver/avr_gpio.o .debug_info 0x000014f6 0x6da avr_i2c_driver/avr_i2c.o - .debug_info 0x00001bd0 0x474 avr_uart_driver/avr_uart.o - .debug_info 0x00002044 0x7dc cqm6xx_app.o - .debug_info 0x00002820 0xe8f main.o - .debug_info 0x000036af 0x15e5 si5351_driver/si5351_driver.o + .debug_info 0x00001bd0 0x4b5 avr_uart_driver/avr_uart.o + .debug_info 0x00002085 0x7dc cqm6xx_app.o + .debug_info 0x00002861 0xce3 main.o + .debug_info 0x00003544 0x15e5 si5351_driver/si5351_driver.o -.debug_abbrev 0x00000000 0x1b4f +.debug_abbrev 0x00000000 0x1b2d *(.debug_abbrev) .debug_abbrev 0x00000000 0x10de C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o .debug_abbrev 0x000010de 0x107 avr_gpio_driver/avr_gpio.o .debug_abbrev 0x000011e5 0x1bb avr_i2c_driver/avr_i2c.o - .debug_abbrev 0x000013a0 0x16e avr_uart_driver/avr_uart.o - .debug_abbrev 0x0000150e 0x1b1 cqm6xx_app.o - .debug_abbrev 0x000016bf 0x246 main.o - .debug_abbrev 0x00001905 0x24a si5351_driver/si5351_driver.o + .debug_abbrev 0x000013a0 0x1ad avr_uart_driver/avr_uart.o + .debug_abbrev 0x0000154d 0x1b1 cqm6xx_app.o + .debug_abbrev 0x000016fe 0x1e5 main.o + .debug_abbrev 0x000018e3 0x24a si5351_driver/si5351_driver.o -.debug_line 0x00000000 0x129b +.debug_line 0x00000000 0x126c *(.debug_line .debug_line.* .debug_line_end) .debug_line 0x00000000 0x136 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o .debug_line 0x00000136 0x196 avr_gpio_driver/avr_gpio.o .debug_line 0x000002cc 0x3ff avr_i2c_driver/avr_i2c.o - .debug_line 0x000006cb 0x186 avr_uart_driver/avr_uart.o - .debug_line 0x00000851 0x319 cqm6xx_app.o - .debug_line 0x00000b6a 0x261 main.o - .debug_line 0x00000dcb 0x4d0 si5351_driver/si5351_driver.o + .debug_line 0x000006cb 0x1e8 avr_uart_driver/avr_uart.o + .debug_line 0x000008b3 0x319 cqm6xx_app.o + .debug_line 0x00000bcc 0x1d0 main.o + .debug_line 0x00000d9c 0x4d0 si5351_driver/si5351_driver.o -.debug_frame 0x00000000 0x4ec +.debug_frame 0x00000000 0x534 *(.debug_frame) .debug_frame 0x00000000 0x44 avr_gpio_driver/avr_gpio.o .debug_frame 0x00000044 0x118 avr_i2c_driver/avr_i2c.o - .debug_frame 0x0000015c 0x64 avr_uart_driver/avr_uart.o - .debug_frame 0x000001c0 0x94 cqm6xx_app.o - .debug_frame 0x00000254 0x44 main.o - .debug_frame 0x00000298 0x254 si5351_driver/si5351_driver.o + .debug_frame 0x0000015c 0xbc avr_uart_driver/avr_uart.o + .debug_frame 0x00000218 0x94 cqm6xx_app.o + .debug_frame 0x000002ac 0x34 main.o + .debug_frame 0x000002e0 0x254 si5351_driver/si5351_driver.o -.debug_str 0x00000000 0x1eaa +.debug_str 0x00000000 0x1ec6 *(.debug_str) .debug_str 0x00000000 0x7a9 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o .debug_str 0x000007a9 0x2d1 avr_gpio_driver/avr_gpio.o 0x315 (size before relaxing) .debug_str 0x00000a7a 0x2ab avr_i2c_driver/avr_i2c.o 0x502 (size before relaxing) - .debug_str 0x00000d25 0x226 avr_uart_driver/avr_uart.o - 0x497 (size before relaxing) - .debug_str 0x00000f4b 0x2d7 cqm6xx_app.o + .debug_str 0x00000d25 0x24f avr_uart_driver/avr_uart.o + 0x4c0 (size before relaxing) + .debug_str 0x00000f74 0x2d7 cqm6xx_app.o 0x4bb (size before relaxing) - .debug_str 0x00001222 0x90c main.o - 0xcfe (size before relaxing) - .debug_str 0x00001b2e 0x37c si5351_driver/si5351_driver.o + .debug_str 0x0000124b 0x8ff main.o + 0xc39 (size before relaxing) + .debug_str 0x00001b4a 0x37c si5351_driver/si5351_driver.o 0xf91 (size before relaxing) -.debug_loc 0x00000000 0x1c53 +.debug_loc 0x00000000 0x1ce2 *(.debug_loc) .debug_loc 0x00000000 0xae avr_gpio_driver/avr_gpio.o .debug_loc 0x000000ae 0x73d avr_i2c_driver/avr_i2c.o - .debug_loc 0x000007eb 0x84 avr_uart_driver/avr_uart.o - .debug_loc 0x0000086f 0x49c cqm6xx_app.o - .debug_loc 0x00000d0b 0x48 main.o - .debug_loc 0x00000d53 0xf00 si5351_driver/si5351_driver.o + .debug_loc 0x000007eb 0x113 avr_uart_driver/avr_uart.o + .debug_loc 0x000008fe 0x49c cqm6xx_app.o + .debug_loc 0x00000d9a 0x48 main.o + .debug_loc 0x00000de2 0xf00 si5351_driver/si5351_driver.o .debug_macinfo *(.debug_macinfo) @@ -795,14 +796,14 @@ END GROUP .debug_pubtypes *(.debug_pubtypes) -.debug_ranges 0x00000000 0x138 +.debug_ranges 0x00000000 0x140 *(.debug_ranges) .debug_ranges 0x00000000 0x20 avr_gpio_driver/avr_gpio.o .debug_ranges 0x00000020 0x58 avr_i2c_driver/avr_i2c.o - .debug_ranges 0x00000078 0x20 avr_uart_driver/avr_uart.o - .debug_ranges 0x00000098 0x28 cqm6xx_app.o - .debug_ranges 0x000000c0 0x18 main.o - .debug_ranges 0x000000d8 0x60 si5351_driver/si5351_driver.o + .debug_ranges 0x00000078 0x30 avr_uart_driver/avr_uart.o + .debug_ranges 0x000000a8 0x28 cqm6xx_app.o + .debug_ranges 0x000000d0 0x10 main.o + .debug_ranges 0x000000e0 0x60 si5351_driver/si5351_driver.o .debug_macro *(.debug_macro) diff --git a/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.srec b/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.srec index ce5e847..112fdcd 100644 --- a/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.srec +++ b/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.srec @@ -1,11 +1,11 @@ S022000073746F726E6F5F6371703678785F6469676974616C5F7874616C2E737265633F S113000019C033C032C031C030C02FC02EC02DC083 S11300102CC02BC02AC029C028C027C026C025C098 -S113002024C023C022C021C020C01FC041C11DC0A4 +S113002024C023C022C021C020C01FC06CC11DC079 S11300301CC01BC011241FBECFEFCDBFDFE3DEBF4A S11300402FE3A6E0BFE301C01D92AF30B207E1F792 -S11300501FE3A0E0BFE3E6EBFCE002C005900D92D5 -S1130060A630B107D9F769D224C6CACF81110DC011 +S11300501FE3A0E0BFE3EEECFCE002C005900D92CC +S1130060A630B107D9F77CD230C6CACF81110DC0F2 S11300702091080430E002C0359527956A95E2F78F S113008081E020FF80E090E0089580E090E0089512 S1130090E0E1F8E084818860848381E085830895C9 @@ -42,166 +42,167 @@ S1130270CF911F910F91FF90EF9008950F930097E6 S113028081F0FC01002319F0013031F00DC08281AE S113029061DF80E090E00AC0828113DF80E090E0BB S11302A005C08FEF9FEF02C080E090E00F910895AA -S11302B01F920F920FB60F9211248F938091000812 -S11302C08093063F8F910F900FBE0F901F9018954B -S11302D0CF93DF931F92CDB7DEB7E0E0F8E08CE672 -S11302E095E08087918783E0878380EC868384818F -S11302F0882324F48091000889838981E0E0F4E074 -S113030080E4818380E8828378940F90DF91CF9199 -S113031008959091040895FFFCCF809302080895F6 -S1130320FC0122813381232B21F0892B21F481E0EC -S1130330089581E0089580E00895CF93DF93EC0160 -S1130340EFDF811132C089819881891771F1813081 -S113035019F08230B1F029C081E493E00197F1F7FC -S1130360000040E060E08A819B81E9D181E493E070 -S11303700197F1F7000041E061E08A819B81DFD1C0 -S113038014C081E493E00197F1F7000041E060E0DC -S11303908A819B81D4D181E493E00197F1F7000035 -S11303A040E061E08A819B81CAD1DF91CF910895B9 -S11303B0AF92BF92CF92DF92EF92FF920F931F936F -S11303C0CF93DF93EC01ACDF81119AC08981813036 -S11303D009F47FC020F0823009F487C091C088837B -S11303E081E493E00197F1F7000060E08A819B814A -S11303F0F4D181E493E00197F1F700000F2EFBE5BF -S1130400AF2EF8E4BF2EF0E1CF2ED12CF02D16EF55 -S1130410E12E1CE2F12E00E010E023E43DE040E098 -S113042050E060E08A819B811BD281E493E00197D4 -S1130430F1F700000F2EF0ECAF2EF8E4BF2EF0E140 -S1130440CF2ED12CF02D12E0E12E1FE3F12E00E08F -S113045010E028EC3CE040E050E061E08A819B81C0 -S1130460FFD181E493E00197F1F70000A12CB12CB6 -S11304706501A394E12CF12C870122E130E040E0F6 -S113048050E060E08A819B81CFD081E493E00197C2 -S1130490F1F7000020E430E040E050E061E08A81C0 -S11304A09B81C2D081E493E00197F1F7000040E022 -S11304B060E08A819B8163D181E493E00197F1F745 -S11304C0000040E061E08A819B8159D181E0898309 -S11304D017C0CE0132DF8981888363E080E0C6DD06 -S11304E0019771F482E089830BC0CE0126DF8981F4 -S11304F0888363E080E0BADD892B11F481E089838D -S1130500DF91CF911F910F91FF90EF90DF90CF90EB -S1130510BF90AF900895FC016115710531F0892BEE -S113052021F01182108262837383089580910408FC -S11305308823E4F7809100080895CF93DF93CDB723 -S1130540DEB7CB55D109CDBFDEBF80E090E05EDEE3 -S113055040E660E070E0CE01019672DE4EE351E0C9 -S1130560BE016F5F7F4FCE010496D8D1BE016C5F90 -S11305707F4F87E09FE3CFDFABDE82E7CADE82E70F -S1130580C8DE8AE0C6DE8DE0C4DE8091063F8823A3 -S113059019F087E09FE30CDFC9DF8093063FB9DEE3 -S11305A025E186E195E0215080409040E1F7EDCFD0 -S11305B08F929F92AF92BF92CF92DF92EF92FF926F -S11305C00F931F93CF93DF93EC01862E5A0168019A -S11305D07901C801019643D2982E192FFC0181920A -S11305E0CF01A601B5015CD3EA81FB81A701960185 -S11305F02F5F3F4F4F4F5F4F01E0692D712F88816F -S113060099810995892D912FC2D280E090E0DF91E4 -S1130610CF911F910F91FF90EF90DF90CF90BF90FB -S1130620AF909F908F900895AF92BF92CF92DF9238 -S1130630EF92FF920F931F93FC01862FBA01A90139 -S11306404450510961097E4F440F551F661F771F9F -S1130650440F551F661F771F440F551F661F771FD2 +S11302B0CF93DF931F92CDB7DEB7F894E0E0F8E078 +S11302C08CE695E08087918783E0878380EC868342 +S11302D080E885838481882324F4809100088983BD +S11302E08981E0E0F4E080E4818380E8828378948B +S11302F00F90DF91CF9108959091040895FFFCCF62 +S11303008093020808951F920F920FB60F92112442 +S11303102F933F934F935F936F937F938F939F9309 +S1130320AF93BF93EF93FF93809100088093063FB0 +S1130330E3DFFF91EF91BF91AF919F918F917F91F7 +S11303406F915F914F913F912F910F900FBE0F903E +S11303501F901895FC0122813381232B21F0892BD6 +S113036021F481E0089581E0089580E00895CF9319 +S1130370DF93EC01EFDF811132C089819881891705 +S113038071F1813019F08230B1F029C081E493E039 +S11303900197F1F7000040E060E08A819B81DBD1A6 +S11303A081E493E00197F1F7000041E061E08A8184 +S11303B09B81D1D114C081E493E00197F1F700004F +S11303C041E060E08A819B81C6D181E493E001979A +S11303D0F1F7000040E061E08A819B81BCD1DF91AC +S11303E0CF910895AF92BF92CF92DF92EF92FF9296 +S11303F00F931F93CF93DF93EC01ACDF81119AC06D +S11304008981813009F47FC020F0823009F487C0EB +S113041091C0888381E493E00197F1F7000060E0E4 +S11304208A819B81E6D181E493E00197F1F7000092 +S11304300F2EFBE5AF2EF8E4BF2EF0E1CF2ED12C2A +S1130440F02D16EFE12E1CE2F12E00E010E023E483 +S11304503DE040E050E060E08A819B810DD281E480 +S113046093E00197F1F700000F2EF0ECAF2EF8E4C3 +S1130470BF2EF0E1CF2ED12CF02D12E0E12E1FE3A0 +S1130480F12E00E010E028EC3CE040E050E061E0B8 +S11304908A819B81F1D181E493E00197F1F7000017 +S11304A0A12CB12C6501A394E12CF12C870122E14C +S11304B030E040E050E060E08A819B81C1D081E47B +S11304C093E00197F1F7000020E430E040E050E0D1 +S11304D061E08A819B81B4D081E493E00197F1F7D4 +S11304E0000040E060E08A819B8155D181E493E083 +S11304F00197F1F7000040E061E08A819B814BD1D4 +S113050081E0898317C0CE0132DF8981888363E06B +S113051080E0ACDD019771F482E089830BC0CE01E9 +S113052026DF8981888363E080E0A0DD892B11F4D4 +S113053081E08983DF91CF911F910F91FF90EF901C +S1130540DF90CF90BF90AF900895FC0161157105C5 +S113055031F0892B21F01182108262837383089514 +S1130560CF93DF93CDB7DEB7CB55D109CDBFDEBF77 +S113057080E090E04BDE40E660E070E0CE01019662 +S11305805FDE4EE351E0BE016F5F7F4FCE01049604 +S1130590D1D1BE016C5F7F4F87E09FE3D6DF88DE59 +S11305A082E7AADE82E7A8DE8AE0A6DE8DE0A4DE8A +S11305B087E09FE317DF2AE684E091E02150804042 +S11305C09040E1F700C0F4CF8F929F92AF92BF9218 +S11305D0CF92DF92EF92FF920F931F93CF93DF930B +S11305E0EC01862E5A0168017901C801019643D2B3 +S11305F0982E192FFC018192CF01A601B5015CD37D +S1130600EA81FB81A70196012F5F3F4F4F4F5F4F58 +S113061001E0692D712F888199810995892D912F88 +S1130620C2D280E090E0DF91CF911F910F91FF90B3 +S1130630EF90DF90CF90BF90AF909F908F900895F0 +S1130640AF92BF92CF92DF92EF92FF920F931F93DC +S1130650FC01862FBA01A9014450510961097E4F5A S1130660440F551F661F771F440F551F661F771FC2 S1130670440F551F661F771F440F551F661F771FB2 -S1130680882319F0813049F14FC0962F937086A1C9 -S11306908C7F892B86A357A340A7F2A6E3A6D60195 -S11306A0C501072E7CE0B695A795979587957A9511 -S11306B0D1F7702D83708295807F0370802B81A782 -S11306C0B4A2A5A2AF014C5D5F4F08E010E020E0AA -S11306D030E06AE2CF016CDF27C0962F937086A5C5 -S11306E08C7F892B86A757A740ABF2AAE3AAD60131 -S11306F0C501072E7CE0B695A795979587957A95C1 -S1130700D1F7702D83708295807F0370802B81AB2D -S1130710B4A6A5A6AF01445D5F4F08E010E020E059 -S113072030E062E3CF0144DF80E090E01F910F915D -S1130730FF90EF90DF90CF90BF90AF9008950F930C -S11307401F93662319F0613039F00BC0FC01278137 -S113075040FB20F9278305C0FC01278140FB21F9D8 -S11307602783AC01495F5F4F01E010E020E030E0F7 -S113077063E01EDF80E090E01F910F9108950F93D6 -S11307801F93662319F06130A1F022C0FC01228579 -S113079040FB27F933853F7D33872F642287AC01E3 -S11307A0465F5F4F01E010E020E030E060E100DFF1 -S11307B00FC0FC01238540FB27F92F662387AC017A -S11307C0455F5F4F01E010E020E030E061E1F0DEE2 -S11307D080E090E01F910F9108950F931F9366237B -S11307E019F0613039F00AC0FC0121852B7F277F85 -S11307F0218704C0FC01218524602187AC01475F67 -S11308005F4F01E010E020E030E060EFD1DE80E0F7 -S113081090E01F910F9108950F931F9331E06111A0 -S113082001C030E0FC01E95AFF4F208130FB25F97B -S1130830208331E0411101C030E0AC01495A5F4FDF -S1130840FA01208130FB27F9208301E010E020E049 -S113085030E061EBADDE80E090E01F910F910895F0 -S1130860AF92BF92CF92DF92EF92FF920F931F93BA -S1130870CF93DF93EC01662319F0613001F13DC0A1 -S113088042708E898C7F482B4E8B3F8B288FD801EA -S1130890C70188279927AF70BB27FA8EEB8E8A2F62 -S11308A08F70898FBC8AAD8A08E010E020E030E0C8 -S11308B0AE014C5E5F4F6AE1CE017ADE1EC042702B -S11308C08E8D8C7F482B4E8F3F8F28A3D801C70174 -S11308D088279927AF70BB27FAA2EBA28A2F8F70C3 -S11308E089A3BC8EAD8E08E010E020E030E0AE01BC -S11308F0445E5F4F62E2CE015BDE41E061E0CE0127 -S11309008BDF80E090E0DF91CF911F910F91FF90FA -S1130910EF90DF90CF90BF90AF900895EF92FF9249 -S11309200F931F93CF93DF931F92CDB7DEB700973A -S113093009F485C06115710509F484C04115510598 -S113094009F483C07C01DC016D937C9311971296AA -S11309504D935C931397FC01349684E5DF011D925B -S11309608A95E9F78FEF898301E010E020E030E019 -S1130970AE014F5F5F4F63E0C7011ADE80E88983F1 -S113098001E010E020E030E0AE014F5F5F4F60E136 -S1130990C7010EDE01E010E020E030E0AE014F5F61 -S11309A05F4F61E1C70104DE01E010E020E030E0C8 -S11309B0AE014F5F5F4F62E1C701FADD01E010E075 -S11309C020E030E0AE014F5F5F4F63E1C701F0DD2F -S11309D001E010E020E030E0AE014F5F5F4F64E1E2 -S11309E0C701E6DD01E010E020E030E0AE014F5F3A -S11309F05F4F65E1C701DCDD01E010E020E030E09D -S1130A00AE014F5F5F4F66E1C701D2DD01E010E048 -S1130A1020E030E0AE014F5F5F4F67E1C701C8DD02 -S1130A2080EC898301E010E020E030E0AE014F5F0C -S1130A305F4F67EBC701BCDD80E090E008C08FEF3B -S1130A409FEF05C08FEF9FEF02C08FEF9FEF0F90D6 -S1130A50DF91CF911F910F91FF90EF9008950F9325 -S1130A601F93CF93DF938230910510F482E090E0DE -S1130A70E0910D3FF0910E3F20E030E0A0E0B0E0C7 -S1130A80309719F140815181028113814817590728 -S1130A90C8F08417950769F4109731F012960C93F7 -S1130AA0129713961C9327C000930D3F10930E3F8B -S1130AB022C02115310519F04217530718F49A0181 -S1130AC0BD01EF01DF01F801DBCF21153105F9F09C -S1130AD0281B390B2430310580F48A819B816115F0 -S1130AE0710521F0FB018283938304C080930D3F41 -S1130AF090930E3FFE01329644C0FE01E20FF31FB5 -S1130B008193919322503109288339833AC02091EB -S1130B100B3F30910C3F232B41F42091023F309145 -S1130B20033F20930B3F30930C3F2091003F3091C3 -S1130B30013F2115310541F42DB73EB74091043FE3 -S1130B405091053F241B350BE0910B3FF0910C3F76 -S1130B50E217F307A0F42E1B3F0B2817390778F090 -S1130B60AC014E5F5F4F2417350748F04E0F5F1FEF -S1130B7040930B3F50930C3F8193919302C0E0E06C -S1130B80F0E0CF01DF91CF911F910F910895CF93A2 -S1130B90DF93009709F481C0FC013297128213821B -S1130BA0A0910D3FB0910E3F109781F420813181C7 -S1130BB0820F931F20910B3F30910C3F2817390768 -S1130BC051F5E0930B3FF0930C3F67C0ED0120E03B -S1130BD030E0CE17DF0740F44A815B819E01411566 -S1130BE05105F1F0EA01F5CFC283D38340815181ED -S1130BF0840F951FC817D90759F488819981840FE8 -S1130C00951F0296808391838A819B81828393833B -S1130C102115310529F4E0930D3FF0930E3F3DC0BB -S1130C20E901EA83FB8349915991C40FD51FEC175D -S1130C30FD0761F480819181840F951F0296E9017B -S1130C4088839983828193818A839B83E0E0F0E0A7 -S1130C5012968D919C911397009719F0FD01DC0178 -S1130C60F7CF8D919C9111979D012E5F3F4F820F7D -S1130C70931F20910B3F30910C3F2817390769F4DB -S1130C80309729F410920D3F10920E3F02C0128249 -S1130C901382A0930B3FB0930C3FDF91CF91089543 -S1130CA0FB01DC0102C001900D9241505040D8F785 -S1090CB00895F894FFCF43 -S1090CB600000F3F2000C6 +S1130680440F551F661F771F440F551F661F771FA2 +S1130690440F551F661F771F882319F0813049F1D5 +S11306A04FC0962F937086A18C7F892B86A357A366 +S11306B040A7F2A6E3A6D601C501072E7CE0B695B5 +S11306C0A795979587957A95D1F7702D8370829524 +S11306D0807F0370802B81A7B4A2A5A2AF014C5DDB +S11306E05F4F08E010E020E030E06AE2CF016CDF09 +S11306F027C0962F937086A58C7F892B86A757A732 +S113070040ABF2AAE3AAD601C501072E7CE0B69558 +S1130710A795979587957A95D1F7702D83708295D3 +S1130720807F0370802B81ABB4A6A5A6AF01445D86 +S11307305F4F08E010E020E030E062E3CF0144DFE7 +S113074080E090E01F910F91FF90EF90DF90CF90A9 +S1130750BF90AF9008950F931F93662319F06130F3 +S113076039F00BC0FC01278140FB20F9278305C029 +S1130770FC01278140FB21F92783AC01495F5F4FCE +S113078001E010E020E030E063E01EDF80E090E074 +S11307901F910F9108950F931F93662319F06130F1 +S11307A0A1F022C0FC01228540FB27F933853F7D5F +S11307B033872F642287AC01465F5F4F01E010E06E +S11307C020E030E060E100DF0FC0FC01238540FB46 +S11307D027F92F662387AC01455F5F4F01E010E0E6 +S11307E020E030E061E1F0DE80E090E01F910F91C5 +S11307F008950F931F93662319F0613039F00AC0EE +S1130800FC0121852B7F277F218704C0FC012185E2 +S113081024602187AC01475F5F4F01E010E020E0D6 +S113082030E060EFD1DE80E090E01F910F910895F9 +S11308300F931F9331E0611101C030E0FC01E95ACC +S1130840FF4F208130FB25F9208331E0411101C0A5 +S113085030E0AC01495A5F4FFA01208130FB27F99F +S1130860208301E010E020E030E061EBADDE80E0C9 +S113087090E01F910F910895AF92BF92CF92DF92B3 +S1130880EF92FF920F931F93CF93DF93EC016623B4 +S113089019F0613001F13DC042708E898C7F482B84 +S11308A04E8B3F8B288FD801C70188279927AF70BB +S11308B0BB27FA8EEB8E8A2F8F70898FBC8AAD8A04 +S11308C008E010E020E030E0AE014C5E5F4F6AE1EA +S11308D0CE017ADE1EC042708E8D8C7F482B4E8FE7 +S11308E03F8F28A3D801C70188279927AF70BB275A +S11308F0FAA2EBA28A2F8F7089A3BC8EAD8E08E07A +S113090010E020E030E0AE01445E5F4F62E2CE01D1 +S11309105BDE41E061E0CE018BDF80E090E0DF91BF +S1130920CF911F910F91FF90EF90DF90CF90BF90E8 +S1130930AF900895EF92FF920F931F93CF93DF939D +S11309401F92CDB7DEB7009709F485C06115710514 +S113095009F484C04115510509F483C07C01DC010C +S11309606D937C93119712964D935C931397FC01AE +S1130970349684E5DF011D928A95E9F78FEF898328 +S113098001E010E020E030E0AE014F5F5F4F63E034 +S1130990C7011ADE80E8898301E010E020E030E03E +S11309A0AE014F5F5F4F60E1C7010EDE01E010E072 +S11309B020E030E0AE014F5F5F4F61E1C70104DE2C +S11309C001E010E020E030E0AE014F5F5F4F62E1F4 +S11309D0C701FADD01E010E020E030E0AE014F5F36 +S11309E05F4F63E1C701F0DD01E010E020E030E09B +S11309F0AE014F5F5F4F64E1C701E6DD01E010E047 +S1130A0020E030E0AE014F5F5F4F65E1C701DCDD00 +S1130A1001E010E020E030E0AE014F5F5F4F66E19F +S1130A20C701D2DD01E010E020E030E0AE014F5F0D +S1130A305F4F67E1C701C8DD80EC898301E010E006 +S1130A4020E030E0AE014F5F5F4F67EBC701BCDDD4 +S1130A5080E090E008C08FEF9FEF05C08FEF9FEF1D +S1130A6002C08FEF9FEF0F90DF91CF911F910F91F5 +S1130A70FF90EF9008950F931F93CF93DF938230ED +S1130A80910510F482E090E0E0910D3FF0910E3F6B +S1130A9020E030E0A0E0B0E0309719F140815181CE +S1130AA00281138148175907C8F08417950769F420 +S1130AB0109731F012960C93129713961C9327C03B +S1130AC000930D3F10930E3F22C02115310519F0FC +S1130AD04217530718F49A01BD01EF01DF01F80131 +S1130AE0DBCF21153105F9F0281B390B24303105F2 +S1130AF080F48A819B816115710521F0FB01828359 +S1130B00938304C080930D3F90930E3FFE01329671 +S1130B1044C0FE01E20FF31F8193919322503109E7 +S1130B20288339833AC020910B3F30910C3F232B0B +S1130B3041F42091023F3091033F20930B3F3093C7 +S1130B400C3F2091003F3091013F2115310541F4C4 +S1130B502DB73EB74091043F5091053F241B350B00 +S1130B60E0910B3FF0910C3FE217F307A0F42E1B2A +S1130B703F0B2817390778F0AC014E5F5F4F2417FD +S1130B80350748F04E0F5F1F40930B3F50930C3FC7 +S1130B908193919302C0E0E0F0E0CF01DF91CF9127 +S1130BA01F910F910895CF93DF93009709F481C0AB +S1130BB0FC01329712821382A0910D3FB0910E3F37 +S1130BC0109781F420813181820F931F20910B3F74 +S1130BD030910C3F2817390751F5E0930B3FF09300 +S1130BE00C3F67C0ED0120E030E0CE17DF0740F492 +S1130BF04A815B819E0141155105F1F0EA01F5CF6F +S1130C00C283D38340815181840F951FC817D907AC +S1130C1059F488819981840F951F0296808391836A +S1130C208A819B81828393832115310529F4E09382 +S1130C300D3FF0930E3F3DC0E901EA83FB834991E8 +S1130C405991C40FD51FEC17FD0761F48081918180 +S1130C50840F951F0296E901888399838281938189 +S1130C608A839B83E0E0F0E012968D919C91139728 +S1130C70009719F0FD01DC01F7CF8D919C9111973C +S1130C809D012E5F3F4F820F931F20910B3F3091A8 +S1130C900C3F2817390769F4309729F410920D3F57 +S1130CA010920E3F02C012821382A0930B3FB093A6 +S1130CB00C3FDF91CF910895FB01DC0102C001904C +S1110CC00D9241505040D8F70895F894FFCF9C +S1090CCE00000F3F2000AE S9030000FC diff --git a/storno_cqp6xx_digital_xtal/avr_uart_driver b/storno_cqp6xx_digital_xtal/avr_uart_driver index eddc1d9..504b48b 160000 --- a/storno_cqp6xx_digital_xtal/avr_uart_driver +++ b/storno_cqp6xx_digital_xtal/avr_uart_driver @@ -1 +1 @@ -Subproject commit eddc1d974a0f4bac9c002a8ed19baf603e4eb8d4 +Subproject commit 504b48b1b14fd8ff7e89e102e97fb7298e41c6c8 diff --git a/storno_cqp6xx_digital_xtal/cm_msg b/storno_cqp6xx_digital_xtal/cm_msg new file mode 160000 index 0000000..37137d5 --- /dev/null +++ b/storno_cqp6xx_digital_xtal/cm_msg @@ -0,0 +1 @@ +Subproject commit 37137d5fa498f8dd14f44ebefc2067e97ba0849e diff --git a/storno_cqp6xx_digital_xtal/storno_cqp6xx_digital_xtal.cproj b/storno_cqp6xx_digital_xtal/storno_cqp6xx_digital_xtal.cproj index 8281922..293ba4b 100644 --- a/storno_cqp6xx_digital_xtal/storno_cqp6xx_digital_xtal.cproj +++ b/storno_cqp6xx_digital_xtal/storno_cqp6xx_digital_xtal.cproj @@ -168,6 +168,12 @@ compile + + compile + + + compile + compile @@ -191,6 +197,7 @@ + @@ -216,6 +223,12 @@ compile + + compile + + + compile + compile