diff --git a/V2/Fernsteuerung.T3000OPEN b/V2/Fernsteuerung.T3000OPEN deleted file mode 100644 index 2644ba9..0000000 --- a/V2/Fernsteuerung.T3000OPEN +++ /dev/null @@ -1 +0,0 @@ -[PHIL], netz diff --git a/V2/Programm/Programm.atsuo b/V2/Programm/Programm.atsuo index b02b733..83e2fb2 100644 Binary files a/V2/Programm/Programm.atsuo and b/V2/Programm/Programm.atsuo differ diff --git a/V2/Programm/Programm/Debug/Programm.elf b/V2/Programm/Programm/Debug/Programm.elf index f9ac78d..7e96d91 100644 Binary files a/V2/Programm/Programm/Debug/Programm.elf and b/V2/Programm/Programm/Debug/Programm.elf differ diff --git a/V2/Programm/Programm/Debug/Programm.hex b/V2/Programm/Programm/Debug/Programm.hex index 76fb1bf..67585c3 100644 --- a/V2/Programm/Programm/Debug/Programm.hex +++ b/V2/Programm/Programm/Debug/Programm.hex @@ -12,180 +12,183 @@ :1000B0000C94A6000C94A6000C94A6000C94A60028 :1000C0000C94A6000C94A6000C94A6000C94A60018 :1000D0000C94A6000C94A6000C94A6000C94A60008 -:1000E0000C94A6000C94A902A90211241FBECFEF04 +:1000E0000C94A6000C94CE02CE0211241FBECFEFBA :1000F000D1E2DEBFCDBF00E00CBF12E0A0E0B2E075 -:10010000E4ECFBE000E00BBF02C007900D92A630CC +:10010000ECEFFBE000E00BBF02C007900D92A630C1 :10011000B107D9F722E0A6E0B2E001C01D92AB30F2 :10012000B207E1F710E0CAEED0E000E006C0229787 -:100130000109FE010BBF0E940803C83ED10780E001 -:100140000807A9F70E94CD010C94E0050C9400006B -:10015000E5E0F1E08081806180830895EBE0F1E0EB -:100160008081806280830895809105018F7E8093D5 -:1001700005018091030183FFFCCF089598E087FF7C -:1001800002C0A09A01C0A098989AA19A999A880F43 -:1001900000C000C00000A198999A915081F708957D -:1001A000382F98E080E02091050137FF02C02064DD -:1001B00001C02F7B20930501880F2091030123FDAF -:1001C000816020910501206220930501330F00C05A -:1001D00000C00000209105012F7D20930501915062 -:1001E00011F70895EBE0F1E080818068808383ED72 -:1001F00090E00197F1F700C0000080818F77808345 -:100200000895EBE0F1E090819F7B908390819F7D4A -:1002100090838BB90C94F20081E00E9401018FE37E -:100220009FE10197F1F700C000000895CF93C82F18 -:1002300090910B01906490930B0190910B019F7D25 -:1002400090930B011BB81AB80E94F20099B18FEF7E -:100250008AB9CA30E9F4892F8055803110F480E8DA -:100260000EC0903110F480EC0AC0892F8054803188 -:1002700010F480E904C09051903160F580ED0E9447 -:1002800001018FE99FE00197F1F700C0000022C053 -:100290009F3011F480EC0BC09F3411F480E907C04B -:1002A0009F3111F480ED03C09F3549F480E80E942E -:1002B00001018FE99FE00197F1F700C000009091E4 -:1002C0000B019F7B90930B010E94AE00CBB9CF91A5 -:1002D0000C94F200CF9108950F931F93CF93DF9367 -:1002E000CDB7DEB72A970FB6F894DEBF0FBECDBFED -:1002F0009F938F9380E092E09F938F938E010F5F87 -:100300001F4F1F930F930E940C030F900F900F909D -:100310000F900F900F9011C0843E11F481EE0BC02E -:10032000863F11F48FEE07C08C3F11F485EF03C0B8 -:100330008F3D09F482EE0E941601F80181918F0130 -:100340008111EACF2A960FB6F894DEBF0FBECDBF5B -:10035000DF91CF911F910F9108951F93CF93DF935A -:10036000182FC92FE5E0F1E020812F7E20830E9425 -:100370006C018C2F0E94D000D82F80E0C82F812FD5 -:100380000E94D000C82B0E94A800CE010E946C01E0 -:10039000CE01DF91CF911F9108958FEF80932801B7 -:1003A0000E940C0188E792E80E94AD010E94B4000F -:1003B00080E098EB0E94AD010E94B40081E098EBD0 -:1003C0000E94AD010E94B40085E098EB0E94AD014F -:1003D0000E94B40080E098EB0E94AD010E94B4003E -:1003E00088E092E80E94AD012FEF81EE94E0215069 -:1003F00080409040E1F700C0000088ED92E80E9444 -:10040000AD0181E89AEC0E94AD0183E89AEC0E946C -:10041000AD0102C00E940C0180E090EB0E94AD0192 -:1004200090930602809307029F3FA1F70E940C0160 -:10043000809106028F3F29F41092060280910702F4 -:1004400004C080E090EB0E94AD0190E00E946C013E -:100450002FEF81EE94E0215080409040E1F700C002 -:100460000000DACF8FEF99EF0197F1F700C000009D -:1004700088E30E9401018FE19EE40197F1F700C03B -:1004800000000E94F2008FED91E00197F1F700C0AB -:1004900000000E94F2008FED91E00197F1F700C09B -:1004A00000000E94F2008FED91E00197F1F700C08B -:1004B000000080E00E9401018FE39FE10197F1F7C6 -:1004C00000C000000E940C0184E00E9401019FEF27 -:1004D00021EE84E0915020408040E1F700C0000010 -:1004E0008CE00E9401018FE39FE10197F1F700C0CA -:1004F00000000E940C01409881E00E94BE0080E054 -:100500000E94BE00409A8FEF809328010895A19821 -:10051000999A409A389AA098989AEAE0F1E0208156 -:100520002860208321E82093200129E020932101E5 -:10053000A8E2B1E01C921C922081206820832081D7 -:10054000206420832081206220832FEF2AB90C941D -:1005500032020F931F93CF93DF9389E092E00E94C2 -:100560008702109206021092070205E011E0F801DE -:1005700080818F7B8083C4E0D1E088818064888320 -:1005800080818F7D80838881806288830E94A8001B -:100590008881806188838881877F8883F801808152 -:1005A000877F80838FE39CE90197F1F700C000000B -:1005B00080E290EC0E94AD0187ED90E80E94AD01D1 -:1005C0008BEA92EC0E94AD0181E89AEC0E94AD01A9 -:1005D00080E090EE0E94AD0180E098EC0E94AD01B9 -:1005E00087EF94EC0E94AD0180E296EA0E94AD0193 -:1005F00085E294E90E94AD0182E296EC0E94AD0191 -:1006000080E798E9DF91CF911F910F910C94AD0194 -:100610000790F691E02D19940F931F93CF93DF93DA -:10062000CDB7DEB72E970FB6F894DEBF0FBECDBFA5 -:100630000E891F8986E08C831A8309838FEF9FE7D9 -:100640009E838D83CE014A96AC01688D798DCE0153 -:1006500001960E943B03EF81F885E00FF11F1082A5 -:100660002E960FB6F894DEBF0FBECDBFDF91CF91AF -:100670001F910F9108952F923F924F925F926F9228 -:100680007F928F929F92AF92BF92CF92DF92EF9222 -:10069000FF920F931F93CF93DF93CDB7DEB72C97C5 -:1006A0000FB6F894DEBF0FBECDBF7C016B018A018F -:1006B000FC0117821682838181FFC6C1882483943E -:1006C000912C8C0E9D1EF7019381F60193FD85916F -:1006D00093FF81916F01882309F4B2C1853239F407 -:1006E00093FD859193FF81916F01853229F4B701C4 -:1006F00090E00E945605E7CF512C312C20E02032AB -:10070000A8F48B3261F028F4803251F0833271F416 -:100710000BC08D3239F0803349F4216028C022604B -:10072000246025C0286023C0206121C027FD27C088 -:10073000382F30533A3078F426FF06C0FAE05F9E37 -:10074000300D1124532E13C08AE0389E300D112431 -:10075000332E20620CC08E3221F426FD71C120643C -:1007600006C08C3611F4206802C0883641F4F601C8 -:1007700093FD859193FF81916F018111C0CF982FD7 -:100780009554933018F09052933028F40C5F1F4F1B -:10079000FFE3F9830DC0833631F0833771F0833581 -:1007A00009F05EC023C0F801808189830E5F1F4F6E -:1007B00044244394512C540115C03801F2E06F0ECB -:1007C000711CF801A080B18026FF03C0652D70E088 -:1007D00002C06FEF7FEFC5012C870E944B052C01F3 -:1007E00083012C856FE7262E222218C03801F2E003 -:1007F0006F0E711CF801A080B18026FF03C0652D2B -:1008000070E002C06FEF7FEFC5012C870E944005AA -:100810002C012C8550E8252E222A830123FC1CC0A4 -:1008200006C0B70180E290E00E9456053A94832DFD -:1008300090E048165906A8F30FC0F50127FC8591F2 -:1008400027FE81915F01B70190E00E9456053110AB -:100850003A94F1E04F1A51084114510471F7EDC078 -:10086000843611F0893641F5F80127FF07C0608111 -:100870007181828193810C5F1F4F08C060817181FB -:10088000882777FD8095982F0E5F1F4F4FE6B42E77 -:10089000B22297FF09C090958095709561957F4F22 -:1008A0008F4F9F4FF0E8BF2A2AE030E0A4010E945A -:1008B0008205A82EA81843C0853731F43FEEB32E29 -:1008C000B2222AE030E024C099EFB92EB2228F364E -:1008D000B9F020F4883509F0B3C00DC0803721F09D -:1008E000883709F0ADC002C020E1B22AB4FE0BC0C7 -:1008F00084E0B82A08C024FF09C0E6E0BE2A06C08A -:1009000028E030E005C020E130E002C020E132E024 -:10091000F801B7FE07C060817181828193810C5F0D -:100920001F4F06C06081718180E090E00E5F1F4F15 -:10093000A4010E948205A82EA818FFE7BF22B6FED8 -:100940000BC02B2D2E7FA51450F4B4FE0AC0B2FCB0 -:1009500008C02B2D2E7E05C07A2C2B2D03C07A2C9F -:1009600001C0752C24FF0DC0FE01EA0DF11D808130 -:10097000803311F4297E09C022FF06C0739473945A -:1009800004C0822F867809F0739423FD14C020FFE1 -:100990000FC05A2C731460F4530C5718732C08C0F2 -:1009A000B70180E290E02C870E94560573942C8555 -:1009B0007314B0F304C0731410F4371801C0312C51 -:1009C00024FF12C0B70180E390E02C870E945605F7 -:1009D0002C8522FF1EC021FF03C088E590E002C0E5 -:1009E00088E790E0B7010CC0822F867891F021FD56 -:1009F00002C080E201C08BE227FD8DE2B70190E0EA -:100A00000E94560506C0B70180E390E00E9456059B -:100A10005A94A514C0F3AA94F401EA0DF11DB7018C -:100A2000808190E00E945605A110F5CF06C0B70165 -:100A300080E290E00E9456053A943110F8CF43CE00 -:100A4000F7012681378102C02FEF3FEFC9012C96B5 -:100A50000FB6F894DEBF0FBECDBFDF91CF911F91CF -:100A60000F91FF90EF90DF90CF90BF90AF909F904D -:100A70008F907F906F905F904F903F902F90089550 -:100A8000FC010590615070400110D8F78095909559 -:100A90008E0F9F1F0895FC0161507040019001105E -:100AA000D8F7809590958E0F9F1F08950F931F93F1 -:100AB000CF93DF938C01EB018B8181FD03C00FEF9E -:100AC0001FEF1AC082FF0DC02E813F818C819D8156 -:100AD0002817390764F4E881F9810193F983E883E1 -:100AE00006C0E885F985802F1995892B41F78E81FD -:100AF0009F8101969F838E83C801DF91CF911F91C3 -:100B00000F910895FA01AA27283051F1203181F17F -:100B1000E8946F936E7F6E5F7F4F8F4F9F4FAF4F05 -:100B2000B1E03ED0B4E03CD0670F781F891F9A1F18 -:100B3000A11D680F791F8A1F911DA11D6A0F711DCC -:100B4000811D911DA11D20D009F468943F912AE0D8 -:100B5000269F11243019305D3193DEF6CF010895C0 -:100B6000462F4770405D4193B3E00FD0C9F7F6CFF1 -:100B7000462F4F70405D4A3318F0495D31FD4052B9 -:100B8000419302D0A9F7EACFB4E0A695979587954F -:100B900077956795BA95C9F700976105710508952E -:100BA0009B01AC010A2E06945795479537952795DA -:100BB000BA95C9F7620F731F841F951FA01D089572 -:040BC000F894FFCFD7 -:060BC4002530345820002A +:100130000109FE010BBF0E942403C83ED10780E0E5 +:100140000807A9F70E94CC010C94FC050C94000050 +:10015000EBE0F1E08081806280830895382F98E0A1 +:1001600080E02091050137FF02C0206401C02F7B91 +:1001700020930501880F2091030123FD81602091C8 +:100180000501206220930501330F00C000C000006C +:10019000209105012F7D20930501915011F70895BD +:1001A00098E087FF02C0A09A01C0A098989AA19AEF +:1001B000999A880F00C000C00000A198999A9150A8 +:1001C00081F70895EBE0F1E080818068808383ED22 +:1001D00090E00197F1F700C0000080818F77808365 +:1001E0000895EBE0F1E090819F7B908390819F7D6B +:1001F00090838BB90C94E200CF93C82F90910B01A0 +:10020000906490930B0190910B019F7D90930B0153 +:100210001BB81AB80E94E20099B18FEF8AB9CA30B0 +:10022000E9F4892F8055803110F480E80EC09031B8 +:1002300010F480EC0AC0892F8054803110F480E9DA +:1002400004C09051903160F580ED0E94F1008FE97B +:100250009FE00197F1F700C0000022C09F3011F429 +:1002600080EC0BC09F3411F480E907C09F3111F47A +:1002700080ED03C09F3549F480E80E94F1008FE9CA +:100280009FE00197F1F700C0000090910B019F7B68 +:1002900090930B010E94A800CBB9CF910C94E2007F +:1002A000CF910895CF93DF93EC0111C0843E11F4F8 +:1002B00081EE0BC0863F11F48FEE07C08C3F11F426 +:1002C00085EF03C08F3D09F482EE0E94FC00899106 +:1002D0008111ECCFDF91CF9108959F92AF92BF92A1 +:1002E000CF92DF92EF92FF920F931F93CF93DF9302 +:1002F000CDB7DEB72A970FB6F894DEBF0FBECDBFDD +:10030000982EF92E85E0A82EBB24B394F501208108 +:100310002F7E20839F939F9290E0C92E92E0D92E4A +:10032000DF92CF928E010F5F1F4F1F930F930E949A +:100330002803C8010E9452018F2D0E94AE00F82EA2 +:10034000E12C892D0E94AE00E82AF50180818061B0 +:100350008083FF92EF92DF92CF921F930F930E94C0 +:100360002803C8010E9452010FB6F894DEBF0FBEE9 +:10037000CDBFC7012A960FB6F894DEBF0FBECDBF22 +:10038000DF91CF911F910F91FF90EF90DF90CF9071 +:10039000BF90AF909F90089581E00E94F1008FE39D +:1003A0009FE10197F1F700C0000088E792E80E9402 +:1003B0006D019FEF21EE84E0915020408040E1F7F5 +:1003C00000C000008AEA98EB0E946D018FE39CE96F +:1003D0000197F1F700C000008AEA98EB0E946D01D6 +:1003E0008FE39CE90197F1F700C000008AEA98EBDF +:1003F0000E946D018FE39CE90197F1F700C00000B6 +:100400008DE298EB0E946D018FE39CE90197F1F773 +:1004100000C0000084ED98EB0E946D018FE39CE921 +:100420000197F1F700C0000080E098EB0E946D0199 +:100430008FE39CE90197F1F700C0000081E098EBA1 +:100440000E946D018FE39CE90197F1F700C0000065 +:1004500085E098EB0E946D018FE39CE90197F1F72D +:1004600000C0000080E098EB0E946D018FE39CE9E2 +:100470000197F1F700C0000088E592E80E946D0145 +:100480009FEF21EE84E0915020408040E1F700C0D2 +:10049000000082CF8FEF99EF0197F1F700C00000C5 +:1004A00088E30E94F1008FE19EE40197F1F700C01C +:1004B00000000E94E2008FED91E00197F1F700C08B +:1004C00000000E94E2008FED91E00197F1F700C07B +:1004D00000000E94E2008FED91E00197F1F700C06B +:1004E000000080E00E94F1008FE39FE10197F1F7A7 +:1004F00000C0000081E00E94F1008FE39FE10197BE +:10050000F1F700C0000084E00E94F1009FEF21EEAF +:1005100084E0915020408040E1F700C000008CE072 +:100520000E94F1008FE39FE10197F1F700C0000006 +:1005300081E00E94F1008FE39FE10197F1F700C095 +:100540000000409881E00E94D00080E00E94D0002E +:10055000409A109228010895A198999A409A389A41 +:10056000A098989AEAE0F1E020812860208321E8B1 +:100570002093200129E020932101A8E2B1E01C9200 +:100580001C92208120682083208120642083208188 +:10059000206220832FEF2AB90C944A0289E092E06E +:1005A0000E94AC021092060210920702E5E0F1E010 +:1005B00080818F7B8083A4E0B1E08C9180648C93F8 +:1005C00080818F7D80838C9180628C93808180611B +:1005D00080838C9180618C938C91877F8C938081B8 +:1005E000877F80838FE39CE90197F1F700C00000CB +:1005F00080E290EC0E946D0187ED90E80E946D0111 +:100600008BEA92EC0E946D0181E89AEC0E946D01E8 +:1006100080E090EE0E946D0180E098EC0E946D01F8 +:1006200087EF94EC0E946D0180E296EA0E946D01D2 +:1006300085E294E90E946D0182E296EC0E946D01D0 +:1006400080E798E90C946D010790F691E02D1994DC +:100650000F931F93CF93DF93CDB7DEB72E970FB6CF +:10066000F894DEBF0FBECDBF0E891F8986E08C8354 +:100670001A8309838FEF9FE79E838D83CE014A966D +:10068000AC01688D798DCE0101960E945703EF81F0 +:10069000F885E00FF11F10822E960FB6F894DEBF9A +:1006A0000FBECDBFDF91CF911F910F9108952F9273 +:1006B0003F924F925F926F927F928F929F92AF92F2 +:1006C000BF92CF92DF92EF92FF920F931F93CF933F +:1006D000DF93CDB7DEB72C970FB6F894DEBF0FBE11 +:1006E000CDBF7C016B018A01FC01178216828381D8 +:1006F00081FFC6C188248394912C8C0E9D1EF70126 +:100700009381F60193FD859193FF81916F01882379 +:1007100009F4B2C1853239F493FD859193FF81913B +:100720006F01853229F4B70190E00E947205E7CF8E +:10073000512C312C20E02032A8F48B3261F028F4C7 +:10074000803251F0833271F40BC08D3239F0803336 +:1007500049F4216028C02260246025C0286023C09D +:10076000206121C027FD27C0382F30533A3078F45C +:1007700026FF06C0FAE05F9E300D1124532E13C0F1 +:100780008AE0389E300D1124332E20620CC08E3248 +:1007900021F426FD71C1206406C08C3611F4206856 +:1007A00002C0883641F4F60193FD859193FF819153 +:1007B0006F018111C0CF982F9554933018F090524B +:1007C000933028F40C5F1F4FFFE3F9830DC083368D +:1007D00031F0833771F0833509F05EC023C0F80132 +:1007E000808189830E5F1F4F44244394512C540110 +:1007F00015C03801F2E06F0E711CF801A080B180C5 +:1008000026FF03C0652D70E002C06FEF7FEFC501CA +:100810002C870E9467052C0183012C856FE7262E0B +:10082000222218C03801F2E06F0E711CF801A0807E +:10083000B18026FF03C0652D70E002C06FEF7FEF2F +:10084000C5012C870E945C052C012C8550E8252EC3 +:10085000222A830123FC1CC006C0B70180E290E07D +:100860000E9472053A94832D90E048165906A8F329 +:100870000FC0F50127FC859127FE81915F01B7012B +:1008800090E00E94720531103A94F1E04F1A51083D +:100890004114510471F7EDC0843611F0893641F5E9 +:1008A000F80127FF07C060817181828193810C5F0D +:1008B0001F4F08C060817181882777FD8095982F30 +:1008C0000E5F1F4F4FE6B42EB22297FF09C09095DE +:1008D0008095709561957F4F8F4F9F4FF0E8BF2AAD +:1008E0002AE030E0A4010E949E05A82EA81843C06B +:1008F000853731F43FEEB32EB2222AE030E024C037 +:1009000099EFB92EB2228F36B9F020F4883509F06C +:10091000B3C00DC0803721F0883709F0ADC002C0E8 +:1009200020E1B22AB4FE0BC084E0B82A08C024FF3C +:1009300009C0E6E0BE2A06C028E030E005C020E19C +:1009400030E002C020E132E0F801B7FE07C060816C +:100950007181828193810C5F1F4F06C0608171811C +:1009600080E090E00E5F1F4FA4010E949E05A82E1C +:10097000A818FFE7BF22B6FE0BC02B2D2E7FA514B3 +:1009800050F4B4FE0AC0B2FC08C02B2D2E7E05C068 +:100990007A2C2B2D03C07A2C01C0752C24FF0DC09E +:1009A000FE01EA0DF11D8081803311F4297E09C01A +:1009B00022FF06C07394739404C0822F867809F0D6 +:1009C000739423FD14C020FF0FC05A2C731460F4DD +:1009D000530C5718732C08C0B70180E290E02C87A5 +:1009E0000E94720573942C857314B0F304C07314C1 +:1009F00010F4371801C0312C24FF12C0B70180E376 +:100A000090E02C870E9472052C8522FF1EC021FFDA +:100A100003C088E590E002C088E790E0B7010CC011 +:100A2000822F867891F021FD02C080E201C08BE226 +:100A300027FD8DE2B70190E00E94720506C0B70164 +:100A400080E390E00E9472055A94A514C0F3AA9422 +:100A5000F401EA0DF11DB701808190E00E9472055A +:100A6000A110F5CF06C0B70180E290E00E947205A8 +:100A70003A943110F8CF43CEF7012681378102C076 +:100A80002FEF3FEFC9012C960FB6F894DEBF0FBED3 +:100A9000CDBFDF91CF911F910F91FF90EF90DF902D +:100AA000CF90BF90AF909F908F907F906F905F900E +:100AB0004F903F902F900895FC0105906150704039 +:100AC0000110D8F7809590958E0F9F1F0895FC0117 +:100AD0006150704001900110D8F7809590958E0F6D +:100AE0009F1F08950F931F93CF93DF938C01EB010A +:100AF0008B8181FD03C00FEF1FEF1AC082FF0DC075 +:100B00002E813F818C819D812817390764F4E8810B +:100B1000F9810193F983E88306C0E885F985802F80 +:100B20001995892B41F78E819F8101969F838E8332 +:100B3000C801DF91CF911F910F910895FA01AA2763 +:100B4000283051F1203181F1E8946F936E7F6E5F10 +:100B50007F4F8F4F9F4FAF4FB1E03ED0B4E03CD0BE +:100B6000670F781F891F9A1FA11D680F791F8A1FA1 +:100B7000911DA11D6A0F711D811D911DA11D20D008 +:100B800009F468943F912AE0269F11243019305DC2 +:100B90003193DEF6CF010895462F4770405D4193B3 +:100BA000B3E00FD0C9F7F6CF462F4F70405D4A3300 +:100BB00018F0495D31FD4052419302D0A9F7EACFC8 +:100BC000B4E0A6959795879577956795BA95C9F7F7 +:100BD00000976105710508959B01AC010A2E0694EA +:100BE0005795479537952795BA95C9F7620F731FA3 +:0C0BF000841F951FA01D0895F894FFCFEE +:060BFC00253034582000F2 :00000001FF diff --git a/V2/Programm/Programm/Debug/Programm.lss b/V2/Programm/Programm/Debug/Programm.lss index 6d4f0a9..49a8433 100644 --- a/V2/Programm/Programm/Debug/Programm.lss +++ b/V2/Programm/Programm/Debug/Programm.lss @@ -3,35 +3,35 @@ Programm.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn - 0 .data 00000006 00800200 00000bc4 00000c58 2**0 + 0 .data 00000006 00800200 00000bfc 00000c90 2**0 CONTENTS, ALLOC, LOAD, DATA - 1 .text 00000bc4 00000000 00000000 00000094 2**1 + 1 .text 00000bfc 00000000 00000000 00000094 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE - 2 .bss 00000005 00800206 00800206 00000c5e 2**0 + 2 .bss 00000005 00800206 00800206 00000c96 2**0 ALLOC - 3 .stab 00000c9c 00000000 00000000 00000c60 2**2 + 3 .stab 00000c9c 00000000 00000000 00000c98 2**2 CONTENTS, READONLY, DEBUGGING - 4 .stabstr 000001aa 00000000 00000000 000018fc 2**0 + 4 .stabstr 000001aa 00000000 00000000 00001934 2**0 CONTENTS, READONLY, DEBUGGING - 5 .comment 0000002f 00000000 00000000 00001aa6 2**0 + 5 .comment 0000002f 00000000 00000000 00001ade 2**0 CONTENTS, READONLY - 6 .debug_aranges 000000f0 00000000 00000000 00001ad5 2**0 + 6 .debug_aranges 000000d8 00000000 00000000 00001b0d 2**0 CONTENTS, READONLY, DEBUGGING - 7 .debug_info 00004783 00000000 00000000 00001bc5 2**0 + 7 .debug_info 0000482e 00000000 00000000 00001be5 2**0 CONTENTS, READONLY, DEBUGGING - 8 .debug_abbrev 000008a6 00000000 00000000 00006348 2**0 + 8 .debug_abbrev 0000089b 00000000 00000000 00006413 2**0 CONTENTS, READONLY, DEBUGGING - 9 .debug_line 00000d82 00000000 00000000 00006bee 2**0 + 9 .debug_line 00000dd5 00000000 00000000 00006cae 2**0 CONTENTS, READONLY, DEBUGGING - 10 .debug_frame 00000248 00000000 00000000 00007970 2**2 + 10 .debug_frame 00000224 00000000 00000000 00007a84 2**2 CONTENTS, READONLY, DEBUGGING - 11 .debug_str 000097de 00000000 00000000 00007bb8 2**0 + 11 .debug_str 000097d8 00000000 00000000 00007ca8 2**0 CONTENTS, READONLY, DEBUGGING - 12 .debug_loc 00000fc9 00000000 00000000 00011396 2**0 + 12 .debug_loc 00000fde 00000000 00000000 00011480 2**0 CONTENTS, READONLY, DEBUGGING - 13 .debug_ranges 00000218 00000000 00000000 0001235f 2**0 + 13 .debug_ranges 00000158 00000000 00000000 0001245e 2**0 CONTENTS, READONLY, DEBUGGING - 14 .debug_macro 00002f76 00000000 00000000 00012577 2**0 + 14 .debug_macro 00002f76 00000000 00000000 000125b6 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: @@ -96,10 +96,10 @@ Disassembly of section .text: e0: 0c 94 a6 00 jmp 0x14c ; 0x14c <__bad_interrupt> 000000e4 <__trampolines_start>: - e4: 0c 94 a9 02 jmp 0x552 ; 0x552 <_GLOBAL__sub_I_d> + e4: 0c 94 ce 02 jmp 0x59c ; 0x59c <_GLOBAL__sub_I_d> 000000e8 <__ctors_start>: - e8: a9 02 muls r26, r25 + e8: ce 02 muls r28, r30 000000ea <__ctors_end>: ea: 11 24 eor r1, r1 @@ -115,7 +115,7 @@ Disassembly of section .text: fa: 12 e0 ldi r17, 0x02 ; 2 fc: a0 e0 ldi r26, 0x00 ; 0 fe: b2 e0 ldi r27, 0x02 ; 2 - 100: e4 ec ldi r30, 0xC4 ; 196 + 100: ec ef ldi r30, 0xFC ; 252 102: fb e0 ldi r31, 0x0B ; 11 104: 00 e0 ldi r16, 0x00 ; 0 106: 0b bf out 0x3b, r16 ; 59 @@ -150,26 +150,26 @@ Disassembly of section .text: 130: 01 09 sbc r16, r1 132: fe 01 movw r30, r28 134: 0b bf out 0x3b, r16 ; 59 - 136: 0e 94 08 03 call 0x610 ; 0x610 <__tablejump_elpm__> + 136: 0e 94 24 03 call 0x648 ; 0x648 <__tablejump_elpm__> 13a: c8 3e cpi r28, 0xE8 ; 232 13c: d1 07 cpc r29, r17 13e: 80 e0 ldi r24, 0x00 ; 0 140: 08 07 cpc r16, r24 142: a9 f7 brne .-22 ; 0x12e <__do_global_ctors+0xa> - 144: 0e 94 cd 01 call 0x39a ; 0x39a
- 148: 0c 94 e0 05 jmp 0xbc0 ; 0xbc0 <_exit> + 144: 0e 94 cc 01 call 0x398 ; 0x398
+ 148: 0c 94 fc 05 jmp 0xbf8 ; 0xbf8 <_exit> 0000014c <__bad_interrupt>: 14c: 0c 94 00 00 jmp 0 ; 0x0 <__vectors> -00000150 <_ZN6avrlib3pinINS_5portjELh4EE3setEb.part.8>: +00000150 <_ZN6avrlib3pinINS_5portlELh5EE3setEb.part.9>: namespace avrlib { - struct portj + struct portl { - static uint8_t port() { return PORTJ; } - 150: e5 e0 ldi r30, 0x05 ; 5 + static uint8_t port() { return PORTL; } + 150: eb e0 ldi r30, 0x0B ; 11 152: f1 e0 ldi r31, 0x01 ; 1 154: 80 81 ld r24, Z struct pin @@ -178,2101 +178,2130 @@ namespace avrlib { { if (value) Port::port(Port::port() | (1<: - -namespace avrlib { - - struct portl - { - static uint8_t port() { return PORTL; } - 15c: eb e0 ldi r30, 0x0B ; 11 - 15e: f1 e0 ldi r31, 0x01 ; 1 - 160: 80 81 ld r24, Z - 162: 80 62 ori r24, 0x20 ; 32 - static void port(uint8_t v) { PORTL = v; } - 164: 80 83 st Z, r24 - 166: 08 95 ret - -00000168 <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE5readyEv.isra.18>: - -namespace avrlib { - - struct portj - { - static uint8_t port() { return PORTJ; } - 168: 80 91 05 01 lds r24, 0x0105 - else - Port::port(Port::port() & ~(1<init(); - } - - void ready(void) { - s.CSOn(); - while(s.has_data()); // wait until FIFO ready - 176: 83 ff sbrs r24, 3 - 178: fc cf rjmp .-8 ; 0x172 <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE5readyEv.isra.18+0xa> - } - 17a: 08 95 ret - -0000017c <_ZN7Mcp4151IN6avrlib5portcELi0ENS0_5portgELi0ES2_Li1EE9send_softEh.isra.51>: - void init_port() { - sck::make_low(); //output und low; - cs::make_high(); //output und low; - sdi::make_low(); //output und low; - } - void send_soft(uint8_t data) { - 17c: 98 e0 ldi r25, 0x08 ; 8 - for (uint8_t i=0; i<8; i++) - { - if (data & 0x80) { - 17e: 87 ff sbrs r24, 7 - 180: 02 c0 rjmp .+4 ; 0x186 <_ZN7Mcp4151IN6avrlib5portcELi0ENS0_5portgELi0ES2_Li1EE9send_softEh.isra.51+0xa> -namespace avrlib { - - struct portg - { - static uint8_t port() { return PORTG; } - static void port(uint8_t v) { PORTG = v; } - 182: a0 9a sbi 0x14, 0 ; 20 - 184: 01 c0 rjmp .+2 ; 0x188 <_ZN7Mcp4151IN6avrlib5portcELi0ENS0_5portgELi0ES2_Li1EE9send_softEh.isra.51+0xc> - 186: a0 98 cbi 0x14, 0 ; 20 - - static uint8_t pin() { return PING; } - static void pin(uint8_t v) { PING = v; } - - static uint8_t dir() { return DDRG; } - static void dir(uint8_t v) { DDRG = v; } - 188: 98 9a sbi 0x13, 0 ; 19 -namespace avrlib { - - struct portg - { - static uint8_t port() { return PORTG; } - static void port(uint8_t v) { PORTG = v; } - 18a: a1 9a sbi 0x14, 1 ; 20 - - static uint8_t pin() { return PING; } - static void pin(uint8_t v) { PING = v; } - - static uint8_t dir() { return DDRG; } - static void dir(uint8_t v) { DDRG = v; } - 18c: 99 9a sbi 0x13, 1 ; 19 - } - else { - sdi::make_low(); - } - sck::make_high(); - data<<=1; - 18e: 88 0f add r24, r24 - #else - //round up by default - __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); - #endif - - __builtin_avr_delay_cycles(__ticks_dc); - 190: 00 c0 rjmp .+0 ; 0x192 <_ZN7Mcp4151IN6avrlib5portcELi0ENS0_5portgELi0ES2_Li1EE9send_softEh.isra.51+0x16> - 192: 00 c0 rjmp .+0 ; 0x194 <_ZN7Mcp4151IN6avrlib5portcELi0ENS0_5portgELi0ES2_Li1EE9send_softEh.isra.51+0x18> - 194: 00 00 nop -namespace avrlib { - - struct portg - { - static uint8_t port() { return PORTG; } - static void port(uint8_t v) { PORTG = v; } - 196: a1 98 cbi 0x14, 1 ; 20 - - static uint8_t pin() { return PING; } - static void pin(uint8_t v) { PING = v; } - - static uint8_t dir() { return DDRG; } - static void dir(uint8_t v) { DDRG = v; } - 198: 99 9a sbi 0x13, 1 ; 19 - 19a: 91 50 subi r25, 0x01 ; 1 - sck::make_low(); //output und low; - cs::make_high(); //output und low; - sdi::make_low(); //output und low; - } - void send_soft(uint8_t data) { - for (uint8_t i=0; i<8; i++) - 19c: 81 f7 brne .-32 ; 0x17e <_ZN7Mcp4151IN6avrlib5portcELi0ENS0_5portgELi0ES2_Li1EE9send_softEh.isra.51+0x2> - sck::make_high(); - data<<=1; - _delay_us(0.3); - sck::make_low(); - } - } - 19e: 08 95 ret - -000001a0 <_ZN3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EE9send_softEh.isra.15>: +0000015c <_ZN3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EE9send_softEh.isra.33>: } void init_spi() { SPCR = (1< - struct pin - { - static void set(bool value = true) - { - if (value) - Port::port(Port::port() | (1< + 166: 37 ff sbrs r19, 7 + 168: 02 c0 rjmp .+4 ; 0x16e <_ZN3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EE9send_softEh.isra.33+0x12> + 16a: 20 64 ori r18, 0x40 ; 64 + 16c: 01 c0 rjmp .+2 ; 0x170 <_ZN3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EE9send_softEh.isra.33+0x14> else Port::port(Port::port() & ~(1< - 1d0: 00 c0 rjmp .+0 ; 0x1d2 <_ZN3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EE9send_softEh.isra.15+0x32> - 1d2: 00 00 nop + 188: 33 0f add r19, r19 + #else + //round up by default + __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); + #endif + + __builtin_avr_delay_cycles(__ticks_dc); + 18a: 00 c0 rjmp .+0 ; 0x18c <_ZN3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EE9send_softEh.isra.33+0x30> + 18c: 00 c0 rjmp .+0 ; 0x18e <_ZN3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EE9send_softEh.isra.33+0x32> + 18e: 00 00 nop namespace avrlib { struct portj { static uint8_t port() { return PORTJ; } - 1d4: 20 91 05 01 lds r18, 0x0105 + 190: 20 91 05 01 lds r18, 0x0105 else Port::port(Port::port() & ~(1< + 19c: 11 f7 brne .-60 ; 0x162 <_ZN3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EE9send_softEh.isra.33+0x6> data<<=1; _delay_us(0.3); sck::clear(); } return datain; } - 1e2: 08 95 ret + 19e: 08 95 ret -000001e4 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE7toggleEEv.isra.5>: +000001a0 <_ZN7Mcp4151IN6avrlib5portcELi0ENS0_5portgELi0ES2_Li1EE9send_softEh.isra.45>: + void init_port() { + sck::make_low(); //output und low; + cs::make_high(); //output und low; + sdi::make_low(); //output und low; + } + void send_soft(uint8_t data) { + 1a0: 98 e0 ldi r25, 0x08 ; 8 + for (uint8_t i=0; i<8; i++) + { + if (data & 0x80) { + 1a2: 87 ff sbrs r24, 7 + 1a4: 02 c0 rjmp .+4 ; 0x1aa <_ZN7Mcp4151IN6avrlib5portcELi0ENS0_5portgELi0ES2_Li1EE9send_softEh.isra.45+0xa> +namespace avrlib { + + struct portg + { + static uint8_t port() { return PORTG; } + static void port(uint8_t v) { PORTG = v; } + 1a6: a0 9a sbi 0x14, 0 ; 20 + 1a8: 01 c0 rjmp .+2 ; 0x1ac <_ZN7Mcp4151IN6avrlib5portcELi0ENS0_5portgELi0ES2_Li1EE9send_softEh.isra.45+0xc> + 1aa: a0 98 cbi 0x14, 0 ; 20 + + static uint8_t pin() { return PING; } + static void pin(uint8_t v) { PING = v; } + + static uint8_t dir() { return DDRG; } + static void dir(uint8_t v) { DDRG = v; } + 1ac: 98 9a sbi 0x13, 0 ; 19 +namespace avrlib { + + struct portg + { + static uint8_t port() { return PORTG; } + static void port(uint8_t v) { PORTG = v; } + 1ae: a1 9a sbi 0x14, 1 ; 20 + + static uint8_t pin() { return PING; } + static void pin(uint8_t v) { PING = v; } + + static uint8_t dir() { return DDRG; } + static void dir(uint8_t v) { DDRG = v; } + 1b0: 99 9a sbi 0x13, 1 ; 19 + } + else { + sdi::make_low(); + } + sck::make_high(); + data<<=1; + 1b2: 88 0f add r24, r24 + 1b4: 00 c0 rjmp .+0 ; 0x1b6 <_ZN7Mcp4151IN6avrlib5portcELi0ENS0_5portgELi0ES2_Li1EE9send_softEh.isra.45+0x16> + 1b6: 00 c0 rjmp .+0 ; 0x1b8 <_ZN7Mcp4151IN6avrlib5portcELi0ENS0_5portgELi0ES2_Li1EE9send_softEh.isra.45+0x18> + 1b8: 00 00 nop +namespace avrlib { + + struct portg + { + static uint8_t port() { return PORTG; } + static void port(uint8_t v) { PORTG = v; } + 1ba: a1 98 cbi 0x14, 1 ; 20 + + static uint8_t pin() { return PING; } + static void pin(uint8_t v) { PING = v; } + + static uint8_t dir() { return DDRG; } + static void dir(uint8_t v) { DDRG = v; } + 1bc: 99 9a sbi 0x13, 1 ; 19 + 1be: 91 50 subi r25, 0x01 ; 1 + sck::make_low(); //output und low; + cs::make_high(); //output und low; + sdi::make_low(); //output und low; + } + void send_soft(uint8_t data) { + for (uint8_t i=0; i<8; i++) + 1c0: 81 f7 brne .-32 ; 0x1a2 <_ZN7Mcp4151IN6avrlib5portcELi0ENS0_5portgELi0ES2_Li1EE9send_softEh.isra.45+0x2> + sck::make_high(); + data<<=1; + _delay_us(0.3); + sck::make_low(); + } + } + 1c2: 08 95 ret + +000001c4 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE7toggleEEv.isra.5>: namespace avrlib { struct portl { static uint8_t port() { return PORTL; } - 1e4: eb e0 ldi r30, 0x0B ; 11 - 1e6: f1 e0 ldi r31, 0x01 ; 1 - 1e8: 80 81 ld r24, Z + 1c4: eb e0 ldi r30, 0x0B ; 11 + 1c6: f1 e0 ldi r31, 0x01 ; 1 + 1c8: 80 81 ld r24, Z struct pin { static void set(bool value = true) { if (value) Port::port(Port::port() | (1< - 1f6: 00 c0 rjmp .+0 ; 0x1f8 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE7toggleEEv.isra.5+0x14> - 1f8: 00 00 nop + 1cc: 80 83 st Z, r24 + 1ce: 83 ed ldi r24, 0xD3 ; 211 + 1d0: 90 e0 ldi r25, 0x00 ; 0 + 1d2: 01 97 sbiw r24, 0x01 ; 1 + 1d4: f1 f7 brne .-4 ; 0x1d2 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE7toggleEEv.isra.5+0xe> + 1d6: 00 c0 rjmp .+0 ; 0x1d8 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE7toggleEEv.isra.5+0x14> + 1d8: 00 00 nop namespace avrlib { struct portl { static uint8_t port() { return PORTL; } - 1fa: 80 81 ld r24, Z + 1da: 80 81 ld r24, Z else Port::port(Port::port() & ~(1<: +000001e2 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE14setInstructionEh.isra.15>: namespace avrlib { struct portl { static uint8_t port() { return PORTL; } - 202: eb e0 ldi r30, 0x0B ; 11 - 204: f1 e0 ldi r31, 0x01 ; 1 - 206: 90 81 ld r25, Z - 208: 9f 7b andi r25, 0xBF ; 191 + 1e2: eb e0 ldi r30, 0x0B ; 11 + 1e4: f1 e0 ldi r31, 0x01 ; 1 + 1e6: 90 81 ld r25, Z + 1e8: 9f 7b andi r25, 0xBF ; 191 static void port(uint8_t v) { PORTL = v; } - 20a: 90 83 st Z, r25 + 1ea: 90 83 st Z, r25 namespace avrlib { struct portl { static uint8_t port() { return PORTL; } - 20c: 90 81 ld r25, Z - 20e: 9f 7d andi r25, 0xDF ; 223 + 1ec: 90 81 ld r25, Z + 1ee: 9f 7d andi r25, 0xDF ; 223 static void port(uint8_t v) { PORTL = v; } - 210: 90 83 st Z, r25 + 1f0: 90 83 st Z, r25 namespace avrlib { struct portd { static uint8_t port() { return PORTD; } static void port(uint8_t v) { PORTD = v; } - 212: 8b b9 out 0x0b, r24 ; 11 + 1f2: 8b b9 out 0x0b, r24 ; 11 prs::set(); } else { prs::clear(); } PortData::port(data); this->toggleE(); - 214: 0c 94 f2 00 jmp 0x1e4 ; 0x1e4 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE7toggleEEv.isra.5> + 1f4: 0c 94 e2 00 jmp 0x1c4 ; 0x1c4 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE7toggleEEv.isra.5> -00000218 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5clearEv.isra.25>: - this->setInstruction(0b00000000); - _delay_ms(2); - } - - void clear() { - this->setInstruction(0b00000001); - 218: 81 e0 ldi r24, 0x01 ; 1 - 21a: 0e 94 01 01 call 0x202 ; 0x202 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE14setInstructionEh.isra.21> - #else - //round up by default - __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); - #endif - - __builtin_avr_delay_cycles(__ticks_dc); - 21e: 8f e3 ldi r24, 0x3F ; 63 - 220: 9f e1 ldi r25, 0x1F ; 31 - 222: 01 97 sbiw r24, 0x01 ; 1 - 224: f1 f7 brne .-4 ; 0x222 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5clearEv.isra.25+0xa> - 226: 00 c0 rjmp .+0 ; 0x228 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5clearEv.isra.25+0x10> - 228: 00 00 nop - 22a: 08 95 ret - -0000022c <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.31>: +000001f8 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.25>: lputc(c); } } } void lputc(uint8_t c) { - 22c: cf 93 push r28 - 22e: c8 2f mov r28, r24 + 1f8: cf 93 push r28 + 1fa: c8 2f mov r28, r24 namespace avrlib { struct portl { static uint8_t port() { return PORTL; } - 230: 90 91 0b 01 lds r25, 0x010B + 1fc: 90 91 0b 01 lds r25, 0x010B struct pin { static void set(bool value = true) { if (value) Port::port(Port::port() | (1<toggleE(); - 248: 0e 94 f2 00 call 0x1e4 ; 0x1e4 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE7toggleEEv.isra.5> + 214: 0e 94 e2 00 call 0x1c4 ; 0x1c4 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE7toggleEEv.isra.5> struct portd { static uint8_t port() { return PORTD; } static void port(uint8_t v) { PORTD = v; } static uint8_t pin() { return PIND; } - 24c: 99 b1 in r25, 0x09 ; 9 + 218: 99 b1 in r25, 0x09 ; 9 static void pin(uint8_t v) { PIND = v; } static uint8_t dir() { return DDRD; } static void dir(uint8_t v) { DDRD = v; } - 24e: 8f ef ldi r24, 0xFF ; 255 - 250: 8a b9 out 0x0a, r24 ; 10 + 21a: 8f ef ldi r24, 0xFF ; 255 + 21c: 8a b9 out 0x0a, r24 ; 10 } } void lputc(uint8_t c) { uint8_t pos = this->getAddress(); // read busy-flag and address counter if (c == '\n') { - 252: ca 30 cpi r28, 0x0A ; 10 - 254: e9 f4 brne .+58 ; 0x290 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.31+0x64> + 21e: ca 30 cpi r28, 0x0A ; 10 + 220: e9 f4 brne .+58 ; 0x25c <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.25+0x64> _delay_us(53); pen::clear(); } void newline(uint8_t pos) { if ( pos >= 0x50 && pos <= 0x5F ) { - 256: 89 2f mov r24, r25 - 258: 80 55 subi r24, 0x50 ; 80 - 25a: 80 31 cpi r24, 0x10 ; 16 - 25c: 10 f4 brcc .+4 ; 0x262 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.31+0x36> + 222: 89 2f mov r24, r25 + 224: 80 55 subi r24, 0x50 ; 80 + 226: 80 31 cpi r24, 0x10 ; 16 + 228: 10 f4 brcc .+4 ; 0x22e <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.25+0x36> return data; } void setLine(uint8_t l) { switch(l) { case 1: this->setInstruction(0b10000000); break; //0x00-0x0F - 25e: 80 e8 ldi r24, 0x80 ; 128 - 260: 0e c0 rjmp .+28 ; 0x27e <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.31+0x52> + 22a: 80 e8 ldi r24, 0x80 ; 128 + 22c: 0e c0 rjmp .+28 ; 0x24a <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.25+0x52> void newline(uint8_t pos) { if ( pos >= 0x50 && pos <= 0x5F ) { return this->setLine(1); } if ( pos >= 0x00 && pos <= 0x0F) { - 262: 90 31 cpi r25, 0x10 ; 16 - 264: 10 f4 brcc .+4 ; 0x26a <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.31+0x3e> + 22e: 90 31 cpi r25, 0x10 ; 16 + 230: 10 f4 brcc .+4 ; 0x236 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.25+0x3e> } void setLine(uint8_t l) { switch(l) { case 1: this->setInstruction(0b10000000); break; //0x00-0x0F case 2: this->setInstruction(0b11000000); break; //0x40-0x4F - 266: 80 ec ldi r24, 0xC0 ; 192 - 268: 0a c0 rjmp .+20 ; 0x27e <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.31+0x52> + 232: 80 ec ldi r24, 0xC0 ; 192 + 234: 0a c0 rjmp .+20 ; 0x24a <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.25+0x52> return this->setLine(1); } if ( pos >= 0x00 && pos <= 0x0F) { return this->setLine(2); } if ( pos >= 0x40 && pos <= 0x4F) { - 26a: 89 2f mov r24, r25 - 26c: 80 54 subi r24, 0x40 ; 64 - 26e: 80 31 cpi r24, 0x10 ; 16 - 270: 10 f4 brcc .+4 ; 0x276 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.31+0x4a> + 236: 89 2f mov r24, r25 + 238: 80 54 subi r24, 0x40 ; 64 + 23a: 80 31 cpi r24, 0x10 ; 16 + 23c: 10 f4 brcc .+4 ; 0x242 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.25+0x4a> void setLine(uint8_t l) { switch(l) { case 1: this->setInstruction(0b10000000); break; //0x00-0x0F case 2: this->setInstruction(0b11000000); break; //0x40-0x4F case 3: this->setInstruction(0b10010000); break; //0x10-0x1F - 272: 80 e9 ldi r24, 0x90 ; 144 - 274: 04 c0 rjmp .+8 ; 0x27e <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.31+0x52> + 23e: 80 e9 ldi r24, 0x90 ; 144 + 240: 04 c0 rjmp .+8 ; 0x24a <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.25+0x52> return this->setLine(2); } if ( pos >= 0x40 && pos <= 0x4F) { return this->setLine(3); } if ( pos >= 0x10 && pos <= 0x1F) { - 276: 90 51 subi r25, 0x10 ; 16 - 278: 90 31 cpi r25, 0x10 ; 16 - 27a: 60 f5 brcc .+88 ; 0x2d4 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.31+0xa8> + 242: 90 51 subi r25, 0x10 ; 16 + 244: 90 31 cpi r25, 0x10 ; 16 + 246: 60 f5 brcc .+88 ; 0x2a0 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.25+0xa8> void setLine(uint8_t l) { switch(l) { case 1: this->setInstruction(0b10000000); break; //0x00-0x0F case 2: this->setInstruction(0b11000000); break; //0x40-0x4F case 3: this->setInstruction(0b10010000); break; //0x10-0x1F case 4: this->setInstruction(0b11010000); break; //0x50-0x5F - 27c: 80 ed ldi r24, 0xD0 ; 208 - 27e: 0e 94 01 01 call 0x202 ; 0x202 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE14setInstructionEh.isra.21> - 282: 8f e9 ldi r24, 0x9F ; 159 - 284: 9f e0 ldi r25, 0x0F ; 15 - 286: 01 97 sbiw r24, 0x01 ; 1 - 288: f1 f7 brne .-4 ; 0x286 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.31+0x5a> - 28a: 00 c0 rjmp .+0 ; 0x28c <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.31+0x60> - 28c: 00 00 nop - 28e: 22 c0 rjmp .+68 ; 0x2d4 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.31+0xa8> + 248: 80 ed ldi r24, 0xD0 ; 208 + 24a: 0e 94 f1 00 call 0x1e2 ; 0x1e2 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE14setInstructionEh.isra.15> + #else + //round up by default + __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); + #endif + + __builtin_avr_delay_cycles(__ticks_dc); + 24e: 8f e9 ldi r24, 0x9F ; 159 + 250: 9f e0 ldi r25, 0x0F ; 15 + 252: 01 97 sbiw r24, 0x01 ; 1 + 254: f1 f7 brne .-4 ; 0x252 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.25+0x5a> + 256: 00 c0 rjmp .+0 ; 0x258 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.25+0x60> + 258: 00 00 nop + 25a: 22 c0 rjmp .+68 ; 0x2a0 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.25+0xa8> void lputc(uint8_t c) { uint8_t pos = this->getAddress(); // read busy-flag and address counter if (c == '\n') { this->newline(pos); } else { if ( pos == 0x0F ) { - 290: 9f 30 cpi r25, 0x0F ; 15 - 292: 11 f4 brne .+4 ; 0x298 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.31+0x6c> + 25c: 9f 30 cpi r25, 0x0F ; 15 + 25e: 11 f4 brne .+4 ; 0x264 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.25+0x6c> } void setLine(uint8_t l) { switch(l) { case 1: this->setInstruction(0b10000000); break; //0x00-0x0F case 2: this->setInstruction(0b11000000); break; //0x40-0x4F - 294: 80 ec ldi r24, 0xC0 ; 192 - 296: 0b c0 rjmp .+22 ; 0x2ae <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.31+0x82> + 260: 80 ec ldi r24, 0xC0 ; 192 + 262: 0b c0 rjmp .+22 ; 0x27a <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.25+0x82> if (c == '\n') { this->newline(pos); } else { if ( pos == 0x0F ) { this->setLine(2); } else if ( pos == 0x4F ) { - 298: 9f 34 cpi r25, 0x4F ; 79 - 29a: 11 f4 brne .+4 ; 0x2a0 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.31+0x74> + 264: 9f 34 cpi r25, 0x4F ; 79 + 266: 11 f4 brne .+4 ; 0x26c <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.25+0x74> void setLine(uint8_t l) { switch(l) { case 1: this->setInstruction(0b10000000); break; //0x00-0x0F case 2: this->setInstruction(0b11000000); break; //0x40-0x4F case 3: this->setInstruction(0b10010000); break; //0x10-0x1F - 29c: 80 e9 ldi r24, 0x90 ; 144 - 29e: 07 c0 rjmp .+14 ; 0x2ae <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.31+0x82> + 268: 80 e9 ldi r24, 0x90 ; 144 + 26a: 07 c0 rjmp .+14 ; 0x27a <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.25+0x82> } else { if ( pos == 0x0F ) { this->setLine(2); } else if ( pos == 0x4F ) { this->setLine(3); } else if ( pos == 0x1F ) { - 2a0: 9f 31 cpi r25, 0x1F ; 31 - 2a2: 11 f4 brne .+4 ; 0x2a8 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.31+0x7c> + 26c: 9f 31 cpi r25, 0x1F ; 31 + 26e: 11 f4 brne .+4 ; 0x274 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.25+0x7c> void setLine(uint8_t l) { switch(l) { case 1: this->setInstruction(0b10000000); break; //0x00-0x0F case 2: this->setInstruction(0b11000000); break; //0x40-0x4F case 3: this->setInstruction(0b10010000); break; //0x10-0x1F case 4: this->setInstruction(0b11010000); break; //0x50-0x5F - 2a4: 80 ed ldi r24, 0xD0 ; 208 - 2a6: 03 c0 rjmp .+6 ; 0x2ae <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.31+0x82> + 270: 80 ed ldi r24, 0xD0 ; 208 + 272: 03 c0 rjmp .+6 ; 0x27a <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.25+0x82> this->setLine(2); } else if ( pos == 0x4F ) { this->setLine(3); } else if ( pos == 0x1F ) { this->setLine(4); } else if ( pos == 0x5F ) { - 2a8: 9f 35 cpi r25, 0x5F ; 95 - 2aa: 49 f4 brne .+18 ; 0x2be <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.31+0x92> + 274: 9f 35 cpi r25, 0x5F ; 95 + 276: 49 f4 brne .+18 ; 0x28a <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.25+0x92> return data; } void setLine(uint8_t l) { switch(l) { case 1: this->setInstruction(0b10000000); break; //0x00-0x0F - 2ac: 80 e8 ldi r24, 0x80 ; 128 - 2ae: 0e 94 01 01 call 0x202 ; 0x202 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE14setInstructionEh.isra.21> - 2b2: 8f e9 ldi r24, 0x9F ; 159 - 2b4: 9f e0 ldi r25, 0x0F ; 15 - 2b6: 01 97 sbiw r24, 0x01 ; 1 - 2b8: f1 f7 brne .-4 ; 0x2b6 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.31+0x8a> - 2ba: 00 c0 rjmp .+0 ; 0x2bc <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.31+0x90> - 2bc: 00 00 nop + 278: 80 e8 ldi r24, 0x80 ; 128 + 27a: 0e 94 f1 00 call 0x1e2 ; 0x1e2 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE14setInstructionEh.isra.15> + 27e: 8f e9 ldi r24, 0x9F ; 159 + 280: 9f e0 ldi r25, 0x0F ; 15 + 282: 01 97 sbiw r24, 0x01 ; 1 + 284: f1 f7 brne .-4 ; 0x282 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.25+0x8a> + 286: 00 c0 rjmp .+0 ; 0x288 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.25+0x90> + 288: 00 00 nop namespace avrlib { struct portl { static uint8_t port() { return PORTL; } - 2be: 90 91 0b 01 lds r25, 0x010B - 2c2: 9f 7b andi r25, 0xBF ; 191 + 28a: 90 91 0b 01 lds r25, 0x010B + 28e: 9f 7b andi r25, 0xBF ; 191 static void port(uint8_t v) { PORTL = v; } - 2c4: 90 93 0b 01 sts 0x010B, r25 - 2c8: 0e 94 ae 00 call 0x15c ; 0x15c <_ZN6avrlib3pinINS_5portlELh5EE3setEb.part.11> + 290: 90 93 0b 01 sts 0x010B, r25 + 294: 0e 94 a8 00 call 0x150 ; 0x150 <_ZN6avrlib3pinINS_5portlELh5EE3setEb.part.9> namespace avrlib { struct portd { static uint8_t port() { return PORTD; } static void port(uint8_t v) { PORTD = v; } - 2cc: cb b9 out 0x0b, r28 ; 11 + 298: cb b9 out 0x0b, r28 ; 11 } else if ( pos == 0x5F ) { this->setLine(1); } this->setChar(c); } } - 2ce: cf 91 pop r28 + 29a: cf 91 pop r28 prs::set(); } else { prs::clear(); } PortData::port(data); this->toggleE(); - 2d0: 0c 94 f2 00 jmp 0x1e4 ; 0x1e4 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE7toggleEEv.isra.5> + 29c: 0c 94 e2 00 jmp 0x1c4 ; 0x1c4 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE7toggleEEv.isra.5> } else if ( pos == 0x5F ) { this->setLine(1); } this->setChar(c); } } - 2d4: cf 91 pop r28 - 2d6: 08 95 ret + 2a0: cf 91 pop r28 + 2a2: 08 95 ret -000002d8 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE8printHexEj.isra.33>: - void on() { - this->setInstruction(0b00001100); - _delay_ms(2); - } - - void printHex(uint16_t d) { - 2d8: 0f 93 push r16 - 2da: 1f 93 push r17 - 2dc: cf 93 push r28 - 2de: df 93 push r29 - 2e0: cd b7 in r28, 0x3d ; 61 - 2e2: de b7 in r29, 0x3e ; 62 - 2e4: 2a 97 sbiw r28, 0x0a ; 10 - 2e6: 0f b6 in r0, 0x3f ; 63 - 2e8: f8 94 cli - 2ea: de bf out 0x3e, r29 ; 62 - 2ec: 0f be out 0x3f, r0 ; 63 - 2ee: cd bf out 0x3d, r28 ; 61 +000002a4 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputsEPKc.isra.26>: char t[10]; sprintf(t, "%04X ", d); - 2f0: 9f 93 push r25 - 2f2: 8f 93 push r24 - 2f4: 80 e0 ldi r24, 0x00 ; 0 - 2f6: 92 e0 ldi r25, 0x02 ; 2 - 2f8: 9f 93 push r25 - 2fa: 8f 93 push r24 - 2fc: 8e 01 movw r16, r28 - 2fe: 0f 5f subi r16, 0xFF ; 255 - 300: 1f 4f sbci r17, 0xFF ; 255 - 302: 1f 93 push r17 - 304: 0f 93 push r16 - 306: 0e 94 0c 03 call 0x618 ; 0x618 - 30a: 0f 90 pop r0 - 30c: 0f 90 pop r0 - 30e: 0f 90 pop r0 - 310: 0f 90 pop r0 - 312: 0f 90 pop r0 - 314: 0f 90 pop r0 - 316: 11 c0 rjmp .+34 ; 0x33a <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE8printHexEj.isra.33+0x62> + this->lputs(t); } void lputs(const char *s) { /* print string on lcd (no auto linefeed) */ + 2a4: cf 93 push r28 + 2a6: df 93 push r29 + 2a8: ec 01 movw r28, r24 + 2aa: 11 c0 rjmp .+34 ; 0x2ce <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputsEPKc.isra.26+0x2a> register char c; while ( (c = *s++) ) { if(c == 0xE4) { //ä - 318: 84 3e cpi r24, 0xE4 ; 228 - 31a: 11 f4 brne .+4 ; 0x320 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE8printHexEj.isra.33+0x48> + 2ac: 84 3e cpi r24, 0xE4 ; 228 + 2ae: 11 f4 brne .+4 ; 0x2b4 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputsEPKc.isra.26+0x10> lputc(0xE1); - 31c: 81 ee ldi r24, 0xE1 ; 225 - 31e: 0b c0 rjmp .+22 ; 0x336 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE8printHexEj.isra.33+0x5e> + 2b0: 81 ee ldi r24, 0xE1 ; 225 + 2b2: 0b c0 rjmp .+22 ; 0x2ca <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputsEPKc.isra.26+0x26> } else if(c == 0xF6) { //ö - 320: 86 3f cpi r24, 0xF6 ; 246 - 322: 11 f4 brne .+4 ; 0x328 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE8printHexEj.isra.33+0x50> + 2b4: 86 3f cpi r24, 0xF6 ; 246 + 2b6: 11 f4 brne .+4 ; 0x2bc <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputsEPKc.isra.26+0x18> lputc(0xEF); - 324: 8f ee ldi r24, 0xEF ; 239 - 326: 07 c0 rjmp .+14 ; 0x336 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE8printHexEj.isra.33+0x5e> + 2b8: 8f ee ldi r24, 0xEF ; 239 + 2ba: 07 c0 rjmp .+14 ; 0x2ca <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputsEPKc.isra.26+0x26> } else if(c == 0xFC) { //ü - 328: 8c 3f cpi r24, 0xFC ; 252 - 32a: 11 f4 brne .+4 ; 0x330 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE8printHexEj.isra.33+0x58> + 2bc: 8c 3f cpi r24, 0xFC ; 252 + 2be: 11 f4 brne .+4 ; 0x2c4 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputsEPKc.isra.26+0x20> lputc(0xF5); - 32c: 85 ef ldi r24, 0xF5 ; 245 - 32e: 03 c0 rjmp .+6 ; 0x336 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE8printHexEj.isra.33+0x5e> + 2c0: 85 ef ldi r24, 0xF5 ; 245 + 2c2: 03 c0 rjmp .+6 ; 0x2ca <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputsEPKc.isra.26+0x26> } else if(c == 0xDF) { //ü - 330: 8f 3d cpi r24, 0xDF ; 223 - 332: 09 f4 brne .+2 ; 0x336 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE8printHexEj.isra.33+0x5e> + 2c4: 8f 3d cpi r24, 0xDF ; 223 + 2c6: 09 f4 brne .+2 ; 0x2ca <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputsEPKc.isra.26+0x26> lputc(0xE2); - 334: 82 ee ldi r24, 0xE2 ; 226 + 2c8: 82 ee ldi r24, 0xE2 ; 226 } else { lputc(c); - 336: 0e 94 16 01 call 0x22c ; 0x22c <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.31> + 2ca: 0e 94 fc 00 call 0x1f8 ; 0x1f8 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.25> this->lputs(t); } void lputs(const char *s) { /* print string on lcd (no auto linefeed) */ register char c; while ( (c = *s++) ) { - 33a: f8 01 movw r30, r16 - 33c: 81 91 ld r24, Z+ - 33e: 8f 01 movw r16, r30 - 340: 81 11 cpse r24, r1 - 342: ea cf rjmp .-44 ; 0x318 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE8printHexEj.isra.33+0x40> - - void printHex(uint16_t d) { - char t[10]; - sprintf(t, "%04X ", d); - this->lputs(t); + 2ce: 89 91 ld r24, Y+ + 2d0: 81 11 cpse r24, r1 + 2d2: ec cf rjmp .-40 ; 0x2ac <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputsEPKc.isra.26+0x8> + lputc(0xE2); + } else { + lputc(c); + } + } } - 344: 2a 96 adiw r28, 0x0a ; 10 - 346: 0f b6 in r0, 0x3f ; 63 - 348: f8 94 cli - 34a: de bf out 0x3e, r29 ; 62 - 34c: 0f be out 0x3f, r0 ; 63 - 34e: cd bf out 0x3d, r28 ; 61 - 350: df 91 pop r29 - 352: cf 91 pop r28 - 354: 1f 91 pop r17 - 356: 0f 91 pop r16 - 358: 08 95 ret + 2d4: df 91 pop r29 + 2d6: cf 91 pop r28 + 2d8: 08 95 ret -0000035a <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.34>: +000002da <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.35>: } private: uint8_t hasdatav = 0; uint8_t data = 0; Spi s; uint16_t send(uint16_t wert) { - 35a: 1f 93 push r17 - 35c: cf 93 push r28 - 35e: df 93 push r29 - 360: 18 2f mov r17, r24 - 362: c9 2f mov r28, r25 + 2da: 9f 92 push r9 + 2dc: af 92 push r10 + 2de: bf 92 push r11 + 2e0: cf 92 push r12 + 2e2: df 92 push r13 + 2e4: ef 92 push r14 + 2e6: ff 92 push r15 + 2e8: 0f 93 push r16 + 2ea: 1f 93 push r17 + 2ec: cf 93 push r28 + 2ee: df 93 push r29 + 2f0: cd b7 in r28, 0x3d ; 61 + 2f2: de b7 in r29, 0x3e ; 62 + 2f4: 2a 97 sbiw r28, 0x0a ; 10 + 2f6: 0f b6 in r0, 0x3f ; 63 + 2f8: f8 94 cli + 2fa: de bf out 0x3e, r29 ; 62 + 2fc: 0f be out 0x3f, r0 ; 63 + 2fe: cd bf out 0x3d, r28 ; 61 + 300: 98 2e mov r9, r24 + 302: f9 2e mov r15, r25 namespace avrlib { struct portj { static uint8_t port() { return PORTJ; } - 364: e5 e0 ldi r30, 0x05 ; 5 - 366: f1 e0 ldi r31, 0x01 ; 1 - 368: 20 81 ld r18, Z - 36a: 2f 7e andi r18, 0xEF ; 239 + 304: 85 e0 ldi r24, 0x05 ; 5 + 306: a8 2e mov r10, r24 + 308: bb 24 eor r11, r11 + 30a: b3 94 inc r11 + 30c: f5 01 movw r30, r10 + 30e: 20 81 ld r18, Z + 310: 2f 7e andi r18, 0xEF ; 239 static void port(uint8_t v) { PORTJ = v; } - 36c: 20 83 st Z, r18 - s.CSOn(); - d.printHex(wert); - 36e: 0e 94 6c 01 call 0x2d8 ; 0x2d8 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE8printHexEj.isra.33> + 312: 20 83 st Z, r18 + _delay_ms(2); + } + + void printHex(uint16_t d) { + char t[10]; + sprintf(t, "%04X ", d); + 314: 9f 93 push r25 + 316: 9f 92 push r9 + 318: 90 e0 ldi r25, 0x00 ; 0 + 31a: c9 2e mov r12, r25 + 31c: 92 e0 ldi r25, 0x02 ; 2 + 31e: d9 2e mov r13, r25 + 320: df 92 push r13 + 322: cf 92 push r12 + 324: 8e 01 movw r16, r28 + 326: 0f 5f subi r16, 0xFF ; 255 + 328: 1f 4f sbci r17, 0xFF ; 255 + 32a: 1f 93 push r17 + 32c: 0f 93 push r16 + 32e: 0e 94 28 03 call 0x650 ; 0x650 + this->lputs(t); + 332: c8 01 movw r24, r16 + 334: 0e 94 52 01 call 0x2a4 ; 0x2a4 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputsEPKc.isra.26> } uint8_t send(uint8_t data) { if(mode == 0) { return this->send_hard(data); } return this->send_soft(data); - 372: 8c 2f mov r24, r28 - 374: 0e 94 d0 00 call 0x1a0 ; 0x1a0 <_ZN3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EE9send_softEh.isra.15> + 338: 8f 2d mov r24, r15 + 33a: 0e 94 ae 00 call 0x15c ; 0x15c <_ZN3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EE9send_softEh.isra.33> + s.CSOn(); + d.printHex(wert); uint16_t werti = s.send((uint8_t)(wert >> 8)) << 8; - 378: d8 2f mov r29, r24 - 37a: 80 e0 ldi r24, 0x00 ; 0 - 37c: c8 2f mov r28, r24 - 37e: 81 2f mov r24, r17 - 380: 0e 94 d0 00 call 0x1a0 ; 0x1a0 <_ZN3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EE9send_softEh.isra.15> + 33e: f8 2e mov r15, r24 + 340: e1 2c mov r14, r1 + 342: 89 2d mov r24, r9 + 344: 0e 94 ae 00 call 0x15c ; 0x15c <_ZN3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EE9send_softEh.isra.33> werti |= s.send((uint8_t)wert); - 384: c8 2b or r28, r24 - 386: 0e 94 a8 00 call 0x150 ; 0x150 <_ZN6avrlib3pinINS_5portjELh4EE3setEb.part.8> + 348: e8 2a or r14, r24 + +namespace avrlib { + + struct portj + { + static uint8_t port() { return PORTJ; } + 34a: f5 01 movw r30, r10 + 34c: 80 81 ld r24, Z + struct pin + { + static void set(bool value = true) + { + if (value) + Port::port(Port::port() | (1< + this->lputs(t); + 362: c8 01 movw r24, r16 + 364: 0e 94 52 01 call 0x2a4 ; 0x2a4 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputsEPKc.isra.26> s.CSOff(); d.printHex(werti); - 38a: ce 01 movw r24, r28 - 38c: 0e 94 6c 01 call 0x2d8 ; 0x2d8 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE8printHexEj.isra.33> return werti; + 368: 0f b6 in r0, 0x3f ; 63 + 36a: f8 94 cli + 36c: de bf out 0x3e, r29 ; 62 + 36e: 0f be out 0x3f, r0 ; 63 + 370: cd bf out 0x3d, r28 ; 61 } - 390: ce 01 movw r24, r28 - 392: df 91 pop r29 - 394: cf 91 pop r28 - 396: 1f 91 pop r17 - 398: 08 95 ret + 372: c7 01 movw r24, r14 + 374: 2a 96 adiw r28, 0x0a ; 10 + 376: 0f b6 in r0, 0x3f ; 63 + 378: f8 94 cli + 37a: de bf out 0x3e, r29 ; 62 + 37c: 0f be out 0x3f, r0 ; 63 + 37e: cd bf out 0x3d, r28 ; 61 + 380: df 91 pop r29 + 382: cf 91 pop r28 + 384: 1f 91 pop r17 + 386: 0f 91 pop r16 + 388: ff 90 pop r15 + 38a: ef 90 pop r14 + 38c: df 90 pop r13 + 38e: cf 90 pop r12 + 390: bf 90 pop r11 + 392: af 90 pop r10 + 394: 9f 90 pop r9 + 396: 08 95 ret -0000039a
: - } - void off() { - this->setValue(0); - } - void setValue(uint8_t wert) { - OCR5AL = wert; - 39a: 8f ef ldi r24, 0xFF ; 255 - 39c: 80 93 28 01 sts 0x0128, r24 - void txpacket(uint8_t addr, uint8_t from, uint8_t data) { +00000398
: + this->setInstruction(0b00000000); + _delay_ms(2); + } + + void clear() { + this->setInstruction(0b00000001); + 398: 81 e0 ldi r24, 0x01 ; 1 + 39a: 0e 94 f1 00 call 0x1e2 ; 0x1e2 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE14setInstructionEh.isra.15> + 39e: 8f e3 ldi r24, 0x3F ; 63 + 3a0: 9f e1 ldi r25, 0x1F ; 31 + 3a2: 01 97 sbiw r24, 0x01 ; 1 + 3a4: f1 f7 brne .-4 ; 0x3a2 + 3a6: 00 c0 rjmp .+0 ; 0x3a8 + 3a8: 00 00 nop /************************************************************************ * 0x8278 - 2 * rx off, baseband on, tx on, synth on, crystal on ************************************************************************/ d.clear(); - 3a0: 0e 94 0c 01 call 0x218 ; 0x218 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5clearEv.isra.25> this->send(0x8278); //war 8238 // TX on - 3a4: 88 e7 ldi r24, 0x78 ; 120 - 3a6: 92 e8 ldi r25, 0x82 ; 130 - 3a8: 0e 94 ad 01 call 0x35a ; 0x35a <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.34> - this->ready(); - 3ac: 0e 94 b4 00 call 0x168 ; 0x168 <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE5readyEv.isra.18> + 3aa: 88 e7 ldi r24, 0x78 ; 120 + 3ac: 92 e8 ldi r25, 0x82 ; 130 + 3ae: 0e 94 6d 01 call 0x2da ; 0x2da <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.35> + 3b2: 9f ef ldi r25, 0xFF ; 255 + 3b4: 21 ee ldi r18, 0xE1 ; 225 + 3b6: 84 e0 ldi r24, 0x04 ; 4 + 3b8: 91 50 subi r25, 0x01 ; 1 + 3ba: 20 40 sbci r18, 0x00 ; 0 + 3bc: 80 40 sbci r24, 0x00 ; 0 + 3be: e1 f7 brne .-8 ; 0x3b8 + 3c0: 00 c0 rjmp .+0 ; 0x3c2 + 3c2: 00 00 nop + _delay_ms(100); + //this->ready(); + //_delay_ms(3000); + this->send(0xB8AA); + 3c4: 8a ea ldi r24, 0xAA ; 170 + 3c6: 98 eb ldi r25, 0xB8 ; 184 + 3c8: 0e 94 6d 01 call 0x2da ; 0x2da <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.35> + 3cc: 8f e3 ldi r24, 0x3F ; 63 + 3ce: 9c e9 ldi r25, 0x9C ; 156 + 3d0: 01 97 sbiw r24, 0x01 ; 1 + 3d2: f1 f7 brne .-4 ; 0x3d0 + 3d4: 00 c0 rjmp .+0 ; 0x3d6 + 3d6: 00 00 nop + _delay_ms(10); + //this->ready(); + this->send(0xB8AA); + 3d8: 8a ea ldi r24, 0xAA ; 170 + 3da: 98 eb ldi r25, 0xB8 ; 184 + 3dc: 0e 94 6d 01 call 0x2da ; 0x2da <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.35> + 3e0: 8f e3 ldi r24, 0x3F ; 63 + 3e2: 9c e9 ldi r25, 0x9C ; 156 + 3e4: 01 97 sbiw r24, 0x01 ; 1 + 3e6: f1 f7 brne .-4 ; 0x3e4 + 3e8: 00 c0 rjmp .+0 ; 0x3ea + 3ea: 00 00 nop + _delay_ms(10); + //this->ready(); + this->send(0xB8AA); + 3ec: 8a ea ldi r24, 0xAA ; 170 + 3ee: 98 eb ldi r25, 0xB8 ; 184 + 3f0: 0e 94 6d 01 call 0x2da ; 0x2da <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.35> + 3f4: 8f e3 ldi r24, 0x3F ; 63 + 3f6: 9c e9 ldi r25, 0x9C ; 156 + 3f8: 01 97 sbiw r24, 0x01 ; 1 + 3fa: f1 f7 brne .-4 ; 0x3f8 + 3fc: 00 c0 rjmp .+0 ; 0x3fe + 3fe: 00 00 nop + _delay_ms(10); + //this->ready(); this->send(0xB82D); + 400: 8d e2 ldi r24, 0x2D ; 45 + 402: 98 eb ldi r25, 0xB8 ; 184 + 404: 0e 94 6d 01 call 0x2da ; 0x2da <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.35> + 408: 8f e3 ldi r24, 0x3F ; 63 + 40a: 9c e9 ldi r25, 0x9C ; 156 + 40c: 01 97 sbiw r24, 0x01 ; 1 + 40e: f1 f7 brne .-4 ; 0x40c + 410: 00 c0 rjmp .+0 ; 0x412 + 412: 00 00 nop + _delay_ms(10); //_delay_ms(15000); - this->ready(); + //this->ready(); this->send(0xB8D4); - this->ready();*/ + 414: 84 ed ldi r24, 0xD4 ; 212 + 416: 98 eb ldi r25, 0xB8 ; 184 + 418: 0e 94 6d 01 call 0x2da ; 0x2da <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.35> + 41c: 8f e3 ldi r24, 0x3F ; 63 + 41e: 9c e9 ldi r25, 0x9C ; 156 + 420: 01 97 sbiw r24, 0x01 ; 1 + 422: f1 f7 brne .-4 ; 0x420 + 424: 00 c0 rjmp .+0 ; 0x426 + 426: 00 00 nop + _delay_ms(10); + //this->ready();*/ this->send(0xB800|addr); - 3b0: 80 e0 ldi r24, 0x00 ; 0 - 3b2: 98 eb ldi r25, 0xB8 ; 184 - 3b4: 0e 94 ad 01 call 0x35a ; 0x35a <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.34> - this->ready(); - 3b8: 0e 94 b4 00 call 0x168 ; 0x168 <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE5readyEv.isra.18> + 428: 80 e0 ldi r24, 0x00 ; 0 + 42a: 98 eb ldi r25, 0xB8 ; 184 + 42c: 0e 94 6d 01 call 0x2da ; 0x2da <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.35> + 430: 8f e3 ldi r24, 0x3F ; 63 + 432: 9c e9 ldi r25, 0x9C ; 156 + 434: 01 97 sbiw r24, 0x01 ; 1 + 436: f1 f7 brne .-4 ; 0x434 + 438: 00 c0 rjmp .+0 ; 0x43a + 43a: 00 00 nop + _delay_ms(10); + //this->ready(); this->send(0xB800|from); - 3bc: 81 e0 ldi r24, 0x01 ; 1 - 3be: 98 eb ldi r25, 0xB8 ; 184 - 3c0: 0e 94 ad 01 call 0x35a ; 0x35a <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.34> - this->ready(); - 3c4: 0e 94 b4 00 call 0x168 ; 0x168 <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE5readyEv.isra.18> + 43c: 81 e0 ldi r24, 0x01 ; 1 + 43e: 98 eb ldi r25, 0xB8 ; 184 + 440: 0e 94 6d 01 call 0x2da ; 0x2da <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.35> + 444: 8f e3 ldi r24, 0x3F ; 63 + 446: 9c e9 ldi r25, 0x9C ; 156 + 448: 01 97 sbiw r24, 0x01 ; 1 + 44a: f1 f7 brne .-4 ; 0x448 + 44c: 00 c0 rjmp .+0 ; 0x44e + 44e: 00 00 nop + _delay_ms(10); + //this->ready(); this->send(0xB800|data); - 3c8: 85 e0 ldi r24, 0x05 ; 5 - 3ca: 98 eb ldi r25, 0xB8 ; 184 - 3cc: 0e 94 ad 01 call 0x35a ; 0x35a <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.34> - this->ready(); - 3d0: 0e 94 b4 00 call 0x168 ; 0x168 <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE5readyEv.isra.18> + 450: 85 e0 ldi r24, 0x05 ; 5 + 452: 98 eb ldi r25, 0xB8 ; 184 + 454: 0e 94 6d 01 call 0x2da ; 0x2da <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.35> + 458: 8f e3 ldi r24, 0x3F ; 63 + 45a: 9c e9 ldi r25, 0x9C ; 156 + 45c: 01 97 sbiw r24, 0x01 ; 1 + 45e: f1 f7 brne .-4 ; 0x45c + 460: 00 c0 rjmp .+0 ; 0x462 + 462: 00 00 nop + _delay_ms(10); + //this->ready(); this->send(0xB800); - 3d4: 80 e0 ldi r24, 0x00 ; 0 - 3d6: 98 eb ldi r25, 0xB8 ; 184 - 3d8: 0e 94 ad 01 call 0x35a ; 0x35a <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.34> - this->ready(); - 3dc: 0e 94 b4 00 call 0x168 ; 0x168 <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE5readyEv.isra.18> - this->send(0x8208); // TX off - 3e0: 88 e0 ldi r24, 0x08 ; 8 - 3e2: 92 e8 ldi r25, 0x82 ; 130 - 3e4: 0e 94 ad 01 call 0x35a ; 0x35a <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.34> - 3e8: 2f ef ldi r18, 0xFF ; 255 - 3ea: 81 ee ldi r24, 0xE1 ; 225 - 3ec: 94 e0 ldi r25, 0x04 ; 4 - 3ee: 21 50 subi r18, 0x01 ; 1 - 3f0: 80 40 sbci r24, 0x00 ; 0 - 3f2: 90 40 sbci r25, 0x00 ; 0 - 3f4: e1 f7 brne .-8 ; 0x3ee - 3f6: 00 c0 rjmp .+0 ; 0x3f8 - 3f8: 00 00 nop - * 0xCA81 - 7 - * FIFO 8 Bit, sp 0, Sync pattern, fifo stop, non sensitive reset - * 0xCA83 - 7 - * FIFO 8 Bit, sp 0, Sync pattern, fifo start, non sensitive reset - ************************************************************************/ - this->send(0x82D8); //war 0x82C8 - 3fa: 88 ed ldi r24, 0xD8 ; 216 - 3fc: 92 e8 ldi r25, 0x82 ; 130 - 3fe: 0e 94 ad 01 call 0x35a ; 0x35a <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.34> - this->send(0xCA81); - 402: 81 e8 ldi r24, 0x81 ; 129 - 404: 9a ec ldi r25, 0xCA ; 202 - 406: 0e 94 ad 01 call 0x35a ; 0x35a <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.34> - this->send(0xCA83); - 40a: 83 e8 ldi r24, 0x83 ; 131 - 40c: 9a ec ldi r25, 0xCA ; 202 - 40e: 0e 94 ad 01 call 0x35a ; 0x35a <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.34> - 412: 02 c0 rjmp .+4 ; 0x418 -{ - d.setBacklight(255); - r.txpacket(ALL, MASTER, SETACTIVE); - r.beginasyncrx(); - while(1) { - while(!r.hasdata()) {d.clear();} - 414: 0e 94 0c 01 call 0x218 ; 0x218 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5clearEv.isra.25> - } - - uint16_t hasdata() { - uint16_t rec = this->send(0xB000); - 418: 80 e0 ldi r24, 0x00 ; 0 - 41a: 90 eb ldi r25, 0xB0 ; 176 - 41c: 0e 94 ad 01 call 0x35a ; 0x35a <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.34> - this->hasdatav = (uint8_t)(rec >> 8); - 420: 90 93 06 02 sts 0x0206, r25 - this->data = (uint8_t)rec; - 424: 80 93 07 02 sts 0x0207, r24 - 428: 9f 3f cpi r25, 0xFF ; 255 - 42a: a1 f7 brne .-24 ; 0x414 - d.clear(); - 42c: 0e 94 0c 01 call 0x218 ; 0x218 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5clearEv.isra.25> - return (this->hasdatav == 0xFF); - } - - uint8_t rxbyte() { - if((this->hasdatav == 0xFF)) { - 430: 80 91 06 02 lds r24, 0x0206 - 434: 8f 3f cpi r24, 0xFF ; 255 - 436: 29 f4 brne .+10 ; 0x442 - this->hasdatav = 0; - 438: 10 92 06 02 sts 0x0206, r1 - return this->data; - 43c: 80 91 07 02 lds r24, 0x0207 - 440: 04 c0 rjmp .+8 ; 0x44a - } - return this->send(0xB000); - 442: 80 e0 ldi r24, 0x00 ; 0 - 444: 90 eb ldi r25, 0xB0 ; 176 - 446: 0e 94 ad 01 call 0x35a ; 0x35a <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.34> - d.printHex(r.rxbyte()); - 44a: 90 e0 ldi r25, 0x00 ; 0 - 44c: 0e 94 6c 01 call 0x2d8 ; 0x2d8 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE8printHexEj.isra.33> - 450: 2f ef ldi r18, 0xFF ; 255 - 452: 81 ee ldi r24, 0xE1 ; 225 - 454: 94 e0 ldi r25, 0x04 ; 4 - 456: 21 50 subi r18, 0x01 ; 1 - 458: 80 40 sbci r24, 0x00 ; 0 - 45a: 90 40 sbci r25, 0x00 ; 0 - 45c: e1 f7 brne .-8 ; 0x456 - 45e: 00 c0 rjmp .+0 ; 0x460 - 460: 00 00 nop - 462: da cf rjmp .-76 ; 0x418 + 464: 80 e0 ldi r24, 0x00 ; 0 + 466: 98 eb ldi r25, 0xB8 ; 184 + 468: 0e 94 6d 01 call 0x2da ; 0x2da <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.35> + 46c: 8f e3 ldi r24, 0x3F ; 63 + 46e: 9c e9 ldi r25, 0x9C ; 156 + 470: 01 97 sbiw r24, 0x01 ; 1 + 472: f1 f7 brne .-4 ; 0x470 + 474: 00 c0 rjmp .+0 ; 0x476 + 476: 00 00 nop + _delay_ms(10); + //this->ready(); + this->send(0x8258); // TX off + 478: 88 e5 ldi r24, 0x58 ; 88 + 47a: 92 e8 ldi r25, 0x82 ; 130 + 47c: 0e 94 6d 01 call 0x2da ; 0x2da <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.35> + 480: 9f ef ldi r25, 0xFF ; 255 + 482: 21 ee ldi r18, 0xE1 ; 225 + 484: 84 e0 ldi r24, 0x04 ; 4 + 486: 91 50 subi r25, 0x01 ; 1 + 488: 20 40 sbci r18, 0x00 ; 0 + 48a: 80 40 sbci r24, 0x00 ; 0 + 48c: e1 f7 brne .-8 ; 0x486 + 48e: 00 c0 rjmp .+0 ; 0x490 + 490: 00 00 nop + 492: 82 cf rjmp .-252 ; 0x398
-00000464 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv>: - 464: 8f ef ldi r24, 0xFF ; 255 - 466: 99 ef ldi r25, 0xF9 ; 249 - 468: 01 97 sbiw r24, 0x01 ; 1 - 46a: f1 f7 brne .-4 ; 0x468 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x4> - 46c: 00 c0 rjmp .+0 ; 0x46e <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0xa> - 46e: 00 00 nop +00000494 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv>: + 494: 8f ef ldi r24, 0xFF ; 255 + 496: 99 ef ldi r25, 0xF9 ; 249 + 498: 01 97 sbiw r24, 0x01 ; 1 + 49a: f1 f7 brne .-4 ; 0x498 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x4> + 49c: 00 c0 rjmp .+0 ; 0x49e <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0xa> + 49e: 00 00 nop const typedef avrlib::pin prw; const typedef avrlib::pin prs; void init() { _delay_ms(16); this->setInstruction(0x38); - 470: 88 e3 ldi r24, 0x38 ; 56 - 472: 0e 94 01 01 call 0x202 ; 0x202 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE14setInstructionEh.isra.21> - 476: 8f e1 ldi r24, 0x1F ; 31 - 478: 9e e4 ldi r25, 0x4E ; 78 - 47a: 01 97 sbiw r24, 0x01 ; 1 - 47c: f1 f7 brne .-4 ; 0x47a <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x16> - 47e: 00 c0 rjmp .+0 ; 0x480 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x1c> - 480: 00 00 nop + 4a0: 88 e3 ldi r24, 0x38 ; 56 + 4a2: 0e 94 f1 00 call 0x1e2 ; 0x1e2 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE14setInstructionEh.isra.15> + 4a6: 8f e1 ldi r24, 0x1F ; 31 + 4a8: 9e e4 ldi r25, 0x4E ; 78 + 4aa: 01 97 sbiw r24, 0x01 ; 1 + 4ac: f1 f7 brne .-4 ; 0x4aa <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x16> + 4ae: 00 c0 rjmp .+0 ; 0x4b0 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x1c> + 4b0: 00 00 nop _delay_ms(5); this->toggleE(); - 482: 0e 94 f2 00 call 0x1e4 ; 0x1e4 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE7toggleEEv.isra.5> + 4b2: 0e 94 e2 00 call 0x1c4 ; 0x1c4 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE7toggleEEv.isra.5> #else //round up by default __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); #endif __builtin_avr_delay_cycles(__ticks_dc); - 486: 8f ed ldi r24, 0xDF ; 223 - 488: 91 e0 ldi r25, 0x01 ; 1 - 48a: 01 97 sbiw r24, 0x01 ; 1 - 48c: f1 f7 brne .-4 ; 0x48a <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x26> - 48e: 00 c0 rjmp .+0 ; 0x490 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x2c> - 490: 00 00 nop + 4b6: 8f ed ldi r24, 0xDF ; 223 + 4b8: 91 e0 ldi r25, 0x01 ; 1 + 4ba: 01 97 sbiw r24, 0x01 ; 1 + 4bc: f1 f7 brne .-4 ; 0x4ba <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x26> + 4be: 00 c0 rjmp .+0 ; 0x4c0 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x2c> + 4c0: 00 00 nop _delay_us(120); this->toggleE(); - 492: 0e 94 f2 00 call 0x1e4 ; 0x1e4 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE7toggleEEv.isra.5> - 496: 8f ed ldi r24, 0xDF ; 223 - 498: 91 e0 ldi r25, 0x01 ; 1 - 49a: 01 97 sbiw r24, 0x01 ; 1 - 49c: f1 f7 brne .-4 ; 0x49a <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x36> - 49e: 00 c0 rjmp .+0 ; 0x4a0 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x3c> - 4a0: 00 00 nop + 4c2: 0e 94 e2 00 call 0x1c4 ; 0x1c4 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE7toggleEEv.isra.5> + 4c6: 8f ed ldi r24, 0xDF ; 223 + 4c8: 91 e0 ldi r25, 0x01 ; 1 + 4ca: 01 97 sbiw r24, 0x01 ; 1 + 4cc: f1 f7 brne .-4 ; 0x4ca <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x36> + 4ce: 00 c0 rjmp .+0 ; 0x4d0 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x3c> + 4d0: 00 00 nop _delay_us(120); this->toggleE(); - 4a2: 0e 94 f2 00 call 0x1e4 ; 0x1e4 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE7toggleEEv.isra.5> - 4a6: 8f ed ldi r24, 0xDF ; 223 - 4a8: 91 e0 ldi r25, 0x01 ; 1 - 4aa: 01 97 sbiw r24, 0x01 ; 1 - 4ac: f1 f7 brne .-4 ; 0x4aa <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x46> - 4ae: 00 c0 rjmp .+0 ; 0x4b0 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x4c> - 4b0: 00 00 nop + 4d2: 0e 94 e2 00 call 0x1c4 ; 0x1c4 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE7toggleEEv.isra.5> + 4d6: 8f ed ldi r24, 0xDF ; 223 + 4d8: 91 e0 ldi r25, 0x01 ; 1 + 4da: 01 97 sbiw r24, 0x01 ; 1 + 4dc: f1 f7 brne .-4 ; 0x4da <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x46> + 4de: 00 c0 rjmp .+0 ; 0x4e0 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x4c> + 4e0: 00 00 nop void setBacklight(uint8_t level) { backlight.setValue(level); } void off() { this->setInstruction(0b00000000); - 4b2: 80 e0 ldi r24, 0x00 ; 0 - 4b4: 0e 94 01 01 call 0x202 ; 0x202 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE14setInstructionEh.isra.21> + 4e2: 80 e0 ldi r24, 0x00 ; 0 + 4e4: 0e 94 f1 00 call 0x1e2 ; 0x1e2 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE14setInstructionEh.isra.15> #else //round up by default __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); #endif __builtin_avr_delay_cycles(__ticks_dc); - 4b8: 8f e3 ldi r24, 0x3F ; 63 - 4ba: 9f e1 ldi r25, 0x1F ; 31 - 4bc: 01 97 sbiw r24, 0x01 ; 1 - 4be: f1 f7 brne .-4 ; 0x4bc <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x58> - 4c0: 00 c0 rjmp .+0 ; 0x4c2 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x5e> - 4c2: 00 00 nop - _delay_us(120); - this->toggleE(); - _delay_us(120); - - this->off(); - this->clear(); - 4c4: 0e 94 0c 01 call 0x218 ; 0x218 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5clearEv.isra.25> + 4e8: 8f e3 ldi r24, 0x3F ; 63 + 4ea: 9f e1 ldi r25, 0x1F ; 31 + 4ec: 01 97 sbiw r24, 0x01 ; 1 + 4ee: f1 f7 brne .-4 ; 0x4ec <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x58> + 4f0: 00 c0 rjmp .+0 ; 0x4f2 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x5e> + 4f2: 00 00 nop + _delay_ms(2); + } + + void clear() { + this->setInstruction(0b00000001); + 4f4: 81 e0 ldi r24, 0x01 ; 1 + 4f6: 0e 94 f1 00 call 0x1e2 ; 0x1e2 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE14setInstructionEh.isra.15> + 4fa: 8f e3 ldi r24, 0x3F ; 63 + 4fc: 9f e1 ldi r25, 0x1F ; 31 + 4fe: 01 97 sbiw r24, 0x01 ; 1 + 500: f1 f7 brne .-4 ; 0x4fe <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x6a> + 502: 00 c0 rjmp .+0 ; 0x504 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x70> + 504: 00 00 nop this->setContrastMax(); - this->setBacklightMax(); + this->setBacklightMin(); } void entrymode() { this->setInstruction(0b00000100); - 4c8: 84 e0 ldi r24, 0x04 ; 4 - 4ca: 0e 94 01 01 call 0x202 ; 0x202 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE14setInstructionEh.isra.21> - 4ce: 9f ef ldi r25, 0xFF ; 255 - 4d0: 21 ee ldi r18, 0xE1 ; 225 - 4d2: 84 e0 ldi r24, 0x04 ; 4 - 4d4: 91 50 subi r25, 0x01 ; 1 - 4d6: 20 40 sbci r18, 0x00 ; 0 - 4d8: 80 40 sbci r24, 0x00 ; 0 - 4da: e1 f7 brne .-8 ; 0x4d4 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x70> - 4dc: 00 c0 rjmp .+0 ; 0x4de <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x7a> - 4de: 00 00 nop + 506: 84 e0 ldi r24, 0x04 ; 4 + 508: 0e 94 f1 00 call 0x1e2 ; 0x1e2 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE14setInstructionEh.isra.15> + 50c: 9f ef ldi r25, 0xFF ; 255 + 50e: 21 ee ldi r18, 0xE1 ; 225 + 510: 84 e0 ldi r24, 0x04 ; 4 + 512: 91 50 subi r25, 0x01 ; 1 + 514: 20 40 sbci r18, 0x00 ; 0 + 516: 80 40 sbci r24, 0x00 ; 0 + 518: e1 f7 brne .-8 ; 0x512 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x7e> + 51a: 00 c0 rjmp .+0 ; 0x51c <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x88> + 51c: 00 00 nop this->setInstruction(0b00000001); _delay_ms(2); } void on() { this->setInstruction(0b00001100); - 4e0: 8c e0 ldi r24, 0x0C ; 12 - 4e2: 0e 94 01 01 call 0x202 ; 0x202 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE14setInstructionEh.isra.21> - 4e6: 8f e3 ldi r24, 0x3F ; 63 - 4e8: 9f e1 ldi r25, 0x1F ; 31 - 4ea: 01 97 sbiw r24, 0x01 ; 1 - 4ec: f1 f7 brne .-4 ; 0x4ea <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x86> - 4ee: 00 c0 rjmp .+0 ; 0x4f0 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x8c> - 4f0: 00 00 nop - this->clear(); - this->entrymode(); - - _delay_ms(100); - this->on(); - this->clear(); - 4f2: 0e 94 0c 01 call 0x218 ; 0x218 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5clearEv.isra.25> + 51e: 8c e0 ldi r24, 0x0C ; 12 + 520: 0e 94 f1 00 call 0x1e2 ; 0x1e2 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE14setInstructionEh.isra.15> + 524: 8f e3 ldi r24, 0x3F ; 63 + 526: 9f e1 ldi r25, 0x1F ; 31 + 528: 01 97 sbiw r24, 0x01 ; 1 + 52a: f1 f7 brne .-4 ; 0x528 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x94> + 52c: 00 c0 rjmp .+0 ; 0x52e <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0x9a> + 52e: 00 00 nop + this->setInstruction(0b00000000); + _delay_ms(2); + } + + void clear() { + this->setInstruction(0b00000001); + 530: 81 e0 ldi r24, 0x01 ; 1 + 532: 0e 94 f1 00 call 0x1e2 ; 0x1e2 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE14setInstructionEh.isra.15> + 536: 8f e3 ldi r24, 0x3F ; 63 + 538: 9f e1 ldi r25, 0x1F ; 31 + 53a: 01 97 sbiw r24, 0x01 ; 1 + 53c: f1 f7 brne .-4 ; 0x53a <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0xa6> + 53e: 00 c0 rjmp .+0 ; 0x540 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv+0xac> + 540: 00 00 nop namespace avrlib { struct portc { static uint8_t port() { return PORTC; } static void port(uint8_t v) { PORTC = v; } - 4f6: 40 98 cbi 0x08, 0 ; 8 + 542: 40 98 cbi 0x08, 0 ; 8 void CSOff() { cs::set(); } void digitalPotWrite(uint16_t value) { this->CSOn(); this->send_soft((value>>8)&0b00000001); //high byte least significant bit - 4f8: 81 e0 ldi r24, 0x01 ; 1 - 4fa: 0e 94 be 00 call 0x17c ; 0x17c <_ZN7Mcp4151IN6avrlib5portcELi0ENS0_5portgELi0ES2_Li1EE9send_softEh.isra.51> + 544: 81 e0 ldi r24, 0x01 ; 1 + 546: 0e 94 d0 00 call 0x1a0 ; 0x1a0 <_ZN7Mcp4151IN6avrlib5portcELi0ENS0_5portgELi0ES2_Li1EE9send_softEh.isra.45> this->send_soft(value & 0xff); - 4fe: 80 e0 ldi r24, 0x00 ; 0 - 500: 0e 94 be 00 call 0x17c ; 0x17c <_ZN7Mcp4151IN6avrlib5portcELi0ENS0_5portgELi0ES2_Li1EE9send_softEh.isra.51> - 504: 40 9a sbi 0x08, 0 ; 8 - 506: 8f ef ldi r24, 0xFF ; 255 - 508: 80 93 28 01 sts 0x0128, r24 - 50c: 08 95 ret - -0000050e <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EEC1Ev>: -namespace avrlib { - - struct portg - { - static uint8_t port() { return PORTG; } - static void port(uint8_t v) { PORTG = v; } - 50e: a1 98 cbi 0x14, 1 ; 20 - - static uint8_t pin() { return PING; } - static void pin(uint8_t v) { PING = v; } - - static uint8_t dir() { return DDRG; } - static void dir(uint8_t v) { DDRG = v; } - 510: 99 9a sbi 0x13, 1 ; 19 - 512: 40 9a sbi 0x08, 0 ; 8 - - static uint8_t pin() { return PINC; } - static void pin(uint8_t v) { PINC = v; } - - static uint8_t dir() { return DDRC; } - static void dir(uint8_t v) { DDRC = v; } - 514: 38 9a sbi 0x07, 0 ; 7 -namespace avrlib { - - struct portg - { - static uint8_t port() { return PORTG; } - static void port(uint8_t v) { PORTG = v; } - 516: a0 98 cbi 0x14, 0 ; 20 - - static uint8_t pin() { return PING; } - static void pin(uint8_t v) { PING = v; } - - static uint8_t dir() { return DDRG; } - static void dir(uint8_t v) { DDRG = v; } - 518: 98 9a sbi 0x13, 0 ; 19 - - static uint8_t pin() { return PINL; } - static void pin(uint8_t v) { PINL = v; } - - static uint8_t dir() { return DDRL; } - 51a: ea e0 ldi r30, 0x0A ; 10 - 51c: f1 e0 ldi r31, 0x01 ; 1 - 51e: 20 81 ld r18, Z - static bool value() { return (Port::pin() & (1< + 550: 40 9a sbi 0x08, 0 ; 8 } void off() { this->setValue(0); } void setValue(uint8_t wert) { OCR5AL = wert; - 536: 1c 92 st X, r1 + 552: 10 92 28 01 sts 0x0128, r1 + 556: 08 95 ret + +00000558 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EEC1Ev>: +namespace avrlib { + + struct portg + { + static uint8_t port() { return PORTG; } + static void port(uint8_t v) { PORTG = v; } + 558: a1 98 cbi 0x14, 1 ; 20 + + static uint8_t pin() { return PING; } + static void pin(uint8_t v) { PING = v; } + + static uint8_t dir() { return DDRG; } + static void dir(uint8_t v) { DDRG = v; } + 55a: 99 9a sbi 0x13, 1 ; 19 + 55c: 40 9a sbi 0x08, 0 ; 8 + + static uint8_t pin() { return PINC; } + static void pin(uint8_t v) { PINC = v; } + + static uint8_t dir() { return DDRC; } + static void dir(uint8_t v) { DDRC = v; } + 55e: 38 9a sbi 0x07, 0 ; 7 +namespace avrlib { + + struct portg + { + static uint8_t port() { return PORTG; } + static void port(uint8_t v) { PORTG = v; } + 560: a0 98 cbi 0x14, 0 ; 20 + + static uint8_t pin() { return PING; } + static void pin(uint8_t v) { PING = v; } + + static uint8_t dir() { return DDRG; } + static void dir(uint8_t v) { DDRG = v; } + 562: 98 9a sbi 0x13, 0 ; 19 + + static uint8_t pin() { return PINL; } + static void pin(uint8_t v) { PINL = v; } + + static uint8_t dir() { return DDRL; } + 564: ea e0 ldi r30, 0x0A ; 10 + 566: f1 e0 ldi r31, 0x01 ; 1 + 568: 20 81 ld r18, Z + static bool value() { return (Port::pin() & (1<setValue(0); + } + void setValue(uint8_t wert) { + OCR5AL = wert; + 580: 1c 92 st X, r1 static void port(uint8_t v) { PORTL = v; } static uint8_t pin() { return PINL; } static void pin(uint8_t v) { PINL = v; } static uint8_t dir() { return DDRL; } - 538: 20 81 ld r18, Z - 53a: 20 68 ori r18, 0x80 ; 128 + 582: 20 81 ld r18, Z + 584: 20 68 ori r18, 0x80 ; 128 static void dir(uint8_t v) { DDRL = v; } - 53c: 20 83 st Z, r18 + 586: 20 83 st Z, r18 static void port(uint8_t v) { PORTL = v; } static uint8_t pin() { return PINL; } static void pin(uint8_t v) { PINL = v; } static uint8_t dir() { return DDRL; } - 53e: 20 81 ld r18, Z - 540: 20 64 ori r18, 0x40 ; 64 + 588: 20 81 ld r18, Z + 58a: 20 64 ori r18, 0x40 ; 64 static void dir(uint8_t v) { DDRL = v; } - 542: 20 83 st Z, r18 + 58c: 20 83 st Z, r18 static void port(uint8_t v) { PORTL = v; } static uint8_t pin() { return PINL; } static void pin(uint8_t v) { PINL = v; } static uint8_t dir() { return DDRL; } - 544: 20 81 ld r18, Z - 546: 20 62 ori r18, 0x20 ; 32 + 58e: 20 81 ld r18, Z + 590: 20 62 ori r18, 0x20 ; 32 static void dir(uint8_t v) { DDRL = v; } - 548: 20 83 st Z, r18 + 592: 20 83 st Z, r18 static uint8_t pin() { return PIND; } static void pin(uint8_t v) { PIND = v; } static uint8_t dir() { return DDRD; } static void dir(uint8_t v) { DDRD = v; } - 54a: 2f ef ldi r18, 0xFF ; 255 - 54c: 2a b9 out 0x0a, r18 ; 10 + 594: 2f ef ldi r18, 0xFF ; 255 + 596: 2a b9 out 0x0a, r18 ; 10 Display() { pen::make_output(); prw::make_output(); prs::make_output(); PortData::dir(0xFF); this->init(); - 54e: 0c 94 32 02 jmp 0x464 ; 0x464 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv> + 598: 0c 94 4a 02 jmp 0x494 ; 0x494 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv> -00000552 <_GLOBAL__sub_I_d>: - uint8_t addr = r.rxbyte(); - d.printHex(addr); - d.lputs(" Addr");*/ - _delay_ms(500); - } - 552: 0f 93 push r16 - 554: 1f 93 push r17 - 556: cf 93 push r28 - 558: df 93 push r29 +0000059c <_GLOBAL__sub_I_d>: PINL7, PINL6, PINL5 > displayclass; displayclass d; - 55a: 89 e0 ldi r24, 0x09 ; 9 - 55c: 92 e0 ldi r25, 0x02 ; 2 - 55e: 0e 94 87 02 call 0x50e ; 0x50e <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EEC1Ev> + 59c: 89 e0 ldi r24, 0x09 ; 9 + 59e: 92 e0 ldi r25, 0x02 ; 2 + 5a0: 0e 94 ac 02 call 0x558 ; 0x558 <_ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EEC1Ev> #define RFM12_H_ template class Rfm12B { public: Rfm12B() { - 562: 10 92 06 02 sts 0x0206, r1 - 566: 10 92 07 02 sts 0x0207, r1 + 5a4: 10 92 06 02 sts 0x0206, r1 + 5a8: 10 92 07 02 sts 0x0207, r1 namespace avrlib { struct portj { static uint8_t port() { return PORTJ; } - 56a: 05 e0 ldi r16, 0x05 ; 5 - 56c: 11 e0 ldi r17, 0x01 ; 1 - 56e: f8 01 movw r30, r16 - 570: 80 81 ld r24, Z + 5ac: e5 e0 ldi r30, 0x05 ; 5 + 5ae: f1 e0 ldi r31, 0x01 ; 1 + 5b0: 80 81 ld r24, Z static void set(bool value = true) { if (value) Port::port(Port::port() | (1< + 5ca: 8c 93 st X, r24 + +namespace avrlib { + + struct portj + { + static uint8_t port() { return PORTJ; } + 5cc: 80 81 ld r24, Z + struct pin + { + static void set(bool value = true) + { + if (value) + Port::port(Port::port() | (1< - 5ac: 00 c0 rjmp .+0 ; 0x5ae <_GLOBAL__sub_I_d+0x5c> - 5ae: 00 00 nop + 5e2: 80 83 st Z, r24 + 5e4: 8f e3 ldi r24, 0x3F ; 63 + 5e6: 9c e9 ldi r25, 0x9C ; 156 + 5e8: 01 97 sbiw r24, 0x01 ; 1 + 5ea: f1 f7 brne .-4 ; 0x5e8 <_GLOBAL__sub_I_d+0x4c> + 5ec: 00 c0 rjmp .+0 ; 0x5ee <_GLOBAL__sub_I_d+0x52> + 5ee: 00 00 nop * 0xC800 - 15 * low duty off * 0xC4F7 - 10 * independely from VDI, +7,5 -10 rangelimit, fine mode, frequenzy offst register, calc offset ************************************************************************/ this->send(0xC020); - 5b0: 80 e2 ldi r24, 0x20 ; 32 - 5b2: 90 ec ldi r25, 0xC0 ; 192 - 5b4: 0e 94 ad 01 call 0x35a ; 0x35a <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.34> + 5f0: 80 e2 ldi r24, 0x20 ; 32 + 5f2: 90 ec ldi r25, 0xC0 ; 192 + 5f4: 0e 94 6d 01 call 0x2da ; 0x2da <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.35> this->send(0x80D7); - 5b8: 87 ed ldi r24, 0xD7 ; 215 - 5ba: 90 e8 ldi r25, 0x80 ; 128 - 5bc: 0e 94 ad 01 call 0x35a ; 0x35a <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.34> + 5f8: 87 ed ldi r24, 0xD7 ; 215 + 5fa: 90 e8 ldi r25, 0x80 ; 128 + 5fc: 0e 94 6d 01 call 0x2da ; 0x2da <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.35> this->send(0xC2AB); - 5c0: 8b ea ldi r24, 0xAB ; 171 - 5c2: 92 ec ldi r25, 0xC2 ; 194 - 5c4: 0e 94 ad 01 call 0x35a ; 0x35a <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.34> + 600: 8b ea ldi r24, 0xAB ; 171 + 602: 92 ec ldi r25, 0xC2 ; 194 + 604: 0e 94 6d 01 call 0x2da ; 0x2da <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.35> this->send(0xCA81); - 5c8: 81 e8 ldi r24, 0x81 ; 129 - 5ca: 9a ec ldi r25, 0xCA ; 202 - 5cc: 0e 94 ad 01 call 0x35a ; 0x35a <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.34> + 608: 81 e8 ldi r24, 0x81 ; 129 + 60a: 9a ec ldi r25, 0xCA ; 202 + 60c: 0e 94 6d 01 call 0x2da ; 0x2da <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.35> this->send(0xE000); - 5d0: 80 e0 ldi r24, 0x00 ; 0 - 5d2: 90 ee ldi r25, 0xE0 ; 224 - 5d4: 0e 94 ad 01 call 0x35a ; 0x35a <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.34> + 610: 80 e0 ldi r24, 0x00 ; 0 + 612: 90 ee ldi r25, 0xE0 ; 224 + 614: 0e 94 6d 01 call 0x2da ; 0x2da <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.35> this->send(0xC800); - 5d8: 80 e0 ldi r24, 0x00 ; 0 - 5da: 98 ec ldi r25, 0xC8 ; 200 - 5dc: 0e 94 ad 01 call 0x35a ; 0x35a <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.34> + 618: 80 e0 ldi r24, 0x00 ; 0 + 61a: 98 ec ldi r25, 0xC8 ; 200 + 61c: 0e 94 6d 01 call 0x2da ; 0x2da <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.35> this->send(0xC4F7); - 5e0: 87 ef ldi r24, 0xF7 ; 247 - 5e2: 94 ec ldi r25, 0xC4 ; 196 - 5e4: 0e 94 ad 01 call 0x35a ; 0x35a <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.34> + 620: 87 ef ldi r24, 0xF7 ; 247 + 622: 94 ec ldi r25, 0xC4 ; 196 + 624: 0e 94 6d 01 call 0x2da ; 0x2da <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.35> if( freq < 96 ) { // 430,2400MHz this->send( 0xA000 | 96 ); } else if( freq > 3903 ) { // 439,7575MHz this->send( 0xA000 | 3903 ); } this->send( 0xA000 | freq ); - 5e8: 80 e2 ldi r24, 0x20 ; 32 - 5ea: 96 ea ldi r25, 0xA6 ; 166 - 5ec: 0e 94 ad 01 call 0x35a ; 0x35a <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.34> + 628: 80 e2 ldi r24, 0x20 ; 32 + 62a: 96 ea ldi r25, 0xA6 ; 166 + 62c: 0e 94 6d 01 call 0x2da ; 0x2da <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.35> this->setbandwidth(); this->setbaud(); this->setpower(); } void setbandwidth() { this->send( 0x9400 | ( ( bandwidth & 7 ) << 5 ) | ( ( gain & 3 ) << 3 ) | ( drssi & 5 ) ); - 5f0: 85 e2 ldi r24, 0x25 ; 37 - 5f2: 94 e9 ldi r25, 0x94 ; 148 - 5f4: 0e 94 ad 01 call 0x35a ; 0x35a <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.34> + 630: 85 e2 ldi r24, 0x25 ; 37 + 632: 94 e9 ldi r25, 0x94 ; 148 + 634: 0e 94 6d 01 call 0x2da ; 0x2da <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.35> return; } if (baud < 5400) { // Baudrate= 344827,58621/(R+1)/(1+CS*7) this->send(0xC680 | ( ( 43104 / baud ) - 1 ) ); } else { this->send(0xC600 | ( ( 344828UL / baud ) - 1 ) ); - 5f8: 82 e2 ldi r24, 0x22 ; 34 - 5fa: 96 ec ldi r25, 0xC6 ; 198 - 5fc: 0e 94 ad 01 call 0x35a ; 0x35a <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.34> + 638: 82 e2 ldi r24, 0x22 ; 34 + 63a: 96 ec ldi r25, 0xC6 ; 198 + 63c: 0e 94 6d 01 call 0x2da ; 0x2da <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.35> } } void setpower() { this->send( 0x9800 | ( power & 7 ) | ( ( mod & 15 ) << 4 ) ); - 600: 80 e7 ldi r24, 0x70 ; 112 - 602: 98 e9 ldi r25, 0x98 ; 152 - 604: df 91 pop r29 - 606: cf 91 pop r28 - 608: 1f 91 pop r17 - 60a: 0f 91 pop r16 - 60c: 0c 94 ad 01 jmp 0x35a ; 0x35a <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.34> + 640: 80 e7 ldi r24, 0x70 ; 112 + 642: 98 e9 ldi r25, 0x98 ; 152 + 644: 0c 94 6d 01 jmp 0x2da ; 0x2da <_ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.35> -00000610 <__tablejump_elpm__>: - 610: 07 90 elpm r0, Z+ - 612: f6 91 elpm r31, Z - 614: e0 2d mov r30, r0 - 616: 19 94 eijmp +00000648 <__tablejump_elpm__>: + 648: 07 90 elpm r0, Z+ + 64a: f6 91 elpm r31, Z + 64c: e0 2d mov r30, r0 + 64e: 19 94 eijmp -00000618 : - 618: 0f 93 push r16 - 61a: 1f 93 push r17 - 61c: cf 93 push r28 - 61e: df 93 push r29 - 620: cd b7 in r28, 0x3d ; 61 - 622: de b7 in r29, 0x3e ; 62 - 624: 2e 97 sbiw r28, 0x0e ; 14 - 626: 0f b6 in r0, 0x3f ; 63 - 628: f8 94 cli - 62a: de bf out 0x3e, r29 ; 62 - 62c: 0f be out 0x3f, r0 ; 63 - 62e: cd bf out 0x3d, r28 ; 61 - 630: 0e 89 ldd r16, Y+22 ; 0x16 - 632: 1f 89 ldd r17, Y+23 ; 0x17 - 634: 86 e0 ldi r24, 0x06 ; 6 - 636: 8c 83 std Y+4, r24 ; 0x04 - 638: 1a 83 std Y+2, r17 ; 0x02 - 63a: 09 83 std Y+1, r16 ; 0x01 - 63c: 8f ef ldi r24, 0xFF ; 255 - 63e: 9f e7 ldi r25, 0x7F ; 127 - 640: 9e 83 std Y+6, r25 ; 0x06 - 642: 8d 83 std Y+5, r24 ; 0x05 - 644: ce 01 movw r24, r28 - 646: 4a 96 adiw r24, 0x1a ; 26 - 648: ac 01 movw r20, r24 - 64a: 68 8d ldd r22, Y+24 ; 0x18 - 64c: 79 8d ldd r23, Y+25 ; 0x19 - 64e: ce 01 movw r24, r28 - 650: 01 96 adiw r24, 0x01 ; 1 - 652: 0e 94 3b 03 call 0x676 ; 0x676 - 656: ef 81 ldd r30, Y+7 ; 0x07 - 658: f8 85 ldd r31, Y+8 ; 0x08 - 65a: e0 0f add r30, r16 - 65c: f1 1f adc r31, r17 - 65e: 10 82 st Z, r1 - 660: 2e 96 adiw r28, 0x0e ; 14 - 662: 0f b6 in r0, 0x3f ; 63 - 664: f8 94 cli - 666: de bf out 0x3e, r29 ; 62 - 668: 0f be out 0x3f, r0 ; 63 - 66a: cd bf out 0x3d, r28 ; 61 - 66c: df 91 pop r29 - 66e: cf 91 pop r28 - 670: 1f 91 pop r17 - 672: 0f 91 pop r16 - 674: 08 95 ret +00000650 : + 650: 0f 93 push r16 + 652: 1f 93 push r17 + 654: cf 93 push r28 + 656: df 93 push r29 + 658: cd b7 in r28, 0x3d ; 61 + 65a: de b7 in r29, 0x3e ; 62 + 65c: 2e 97 sbiw r28, 0x0e ; 14 + 65e: 0f b6 in r0, 0x3f ; 63 + 660: f8 94 cli + 662: de bf out 0x3e, r29 ; 62 + 664: 0f be out 0x3f, r0 ; 63 + 666: cd bf out 0x3d, r28 ; 61 + 668: 0e 89 ldd r16, Y+22 ; 0x16 + 66a: 1f 89 ldd r17, Y+23 ; 0x17 + 66c: 86 e0 ldi r24, 0x06 ; 6 + 66e: 8c 83 std Y+4, r24 ; 0x04 + 670: 1a 83 std Y+2, r17 ; 0x02 + 672: 09 83 std Y+1, r16 ; 0x01 + 674: 8f ef ldi r24, 0xFF ; 255 + 676: 9f e7 ldi r25, 0x7F ; 127 + 678: 9e 83 std Y+6, r25 ; 0x06 + 67a: 8d 83 std Y+5, r24 ; 0x05 + 67c: ce 01 movw r24, r28 + 67e: 4a 96 adiw r24, 0x1a ; 26 + 680: ac 01 movw r20, r24 + 682: 68 8d ldd r22, Y+24 ; 0x18 + 684: 79 8d ldd r23, Y+25 ; 0x19 + 686: ce 01 movw r24, r28 + 688: 01 96 adiw r24, 0x01 ; 1 + 68a: 0e 94 57 03 call 0x6ae ; 0x6ae + 68e: ef 81 ldd r30, Y+7 ; 0x07 + 690: f8 85 ldd r31, Y+8 ; 0x08 + 692: e0 0f add r30, r16 + 694: f1 1f adc r31, r17 + 696: 10 82 st Z, r1 + 698: 2e 96 adiw r28, 0x0e ; 14 + 69a: 0f b6 in r0, 0x3f ; 63 + 69c: f8 94 cli + 69e: de bf out 0x3e, r29 ; 62 + 6a0: 0f be out 0x3f, r0 ; 63 + 6a2: cd bf out 0x3d, r28 ; 61 + 6a4: df 91 pop r29 + 6a6: cf 91 pop r28 + 6a8: 1f 91 pop r17 + 6aa: 0f 91 pop r16 + 6ac: 08 95 ret -00000676 : - 676: 2f 92 push r2 - 678: 3f 92 push r3 - 67a: 4f 92 push r4 - 67c: 5f 92 push r5 - 67e: 6f 92 push r6 - 680: 7f 92 push r7 - 682: 8f 92 push r8 - 684: 9f 92 push r9 - 686: af 92 push r10 - 688: bf 92 push r11 - 68a: cf 92 push r12 - 68c: df 92 push r13 - 68e: ef 92 push r14 - 690: ff 92 push r15 - 692: 0f 93 push r16 - 694: 1f 93 push r17 - 696: cf 93 push r28 - 698: df 93 push r29 - 69a: cd b7 in r28, 0x3d ; 61 - 69c: de b7 in r29, 0x3e ; 62 - 69e: 2c 97 sbiw r28, 0x0c ; 12 - 6a0: 0f b6 in r0, 0x3f ; 63 - 6a2: f8 94 cli - 6a4: de bf out 0x3e, r29 ; 62 - 6a6: 0f be out 0x3f, r0 ; 63 - 6a8: cd bf out 0x3d, r28 ; 61 - 6aa: 7c 01 movw r14, r24 - 6ac: 6b 01 movw r12, r22 - 6ae: 8a 01 movw r16, r20 - 6b0: fc 01 movw r30, r24 - 6b2: 17 82 std Z+7, r1 ; 0x07 - 6b4: 16 82 std Z+6, r1 ; 0x06 - 6b6: 83 81 ldd r24, Z+3 ; 0x03 - 6b8: 81 ff sbrs r24, 1 - 6ba: c6 c1 rjmp .+908 ; 0xa48 - 6bc: 88 24 eor r8, r8 - 6be: 83 94 inc r8 - 6c0: 91 2c mov r9, r1 - 6c2: 8c 0e add r8, r28 - 6c4: 9d 1e adc r9, r29 - 6c6: f7 01 movw r30, r14 - 6c8: 93 81 ldd r25, Z+3 ; 0x03 - 6ca: f6 01 movw r30, r12 - 6cc: 93 fd sbrc r25, 3 - 6ce: 85 91 lpm r24, Z+ - 6d0: 93 ff sbrs r25, 3 - 6d2: 81 91 ld r24, Z+ - 6d4: 6f 01 movw r12, r30 - 6d6: 88 23 and r24, r24 - 6d8: 09 f4 brne .+2 ; 0x6dc - 6da: b2 c1 rjmp .+868 ; 0xa40 - 6dc: 85 32 cpi r24, 0x25 ; 37 - 6de: 39 f4 brne .+14 ; 0x6ee - 6e0: 93 fd sbrc r25, 3 - 6e2: 85 91 lpm r24, Z+ - 6e4: 93 ff sbrs r25, 3 - 6e6: 81 91 ld r24, Z+ - 6e8: 6f 01 movw r12, r30 - 6ea: 85 32 cpi r24, 0x25 ; 37 - 6ec: 29 f4 brne .+10 ; 0x6f8 - 6ee: b7 01 movw r22, r14 - 6f0: 90 e0 ldi r25, 0x00 ; 0 - 6f2: 0e 94 56 05 call 0xaac ; 0xaac - 6f6: e7 cf rjmp .-50 ; 0x6c6 - 6f8: 51 2c mov r5, r1 - 6fa: 31 2c mov r3, r1 - 6fc: 20 e0 ldi r18, 0x00 ; 0 - 6fe: 20 32 cpi r18, 0x20 ; 32 - 700: a8 f4 brcc .+42 ; 0x72c - 702: 8b 32 cpi r24, 0x2B ; 43 - 704: 61 f0 breq .+24 ; 0x71e - 706: 28 f4 brcc .+10 ; 0x712 - 708: 80 32 cpi r24, 0x20 ; 32 - 70a: 51 f0 breq .+20 ; 0x720 - 70c: 83 32 cpi r24, 0x23 ; 35 - 70e: 71 f4 brne .+28 ; 0x72c - 710: 0b c0 rjmp .+22 ; 0x728 - 712: 8d 32 cpi r24, 0x2D ; 45 - 714: 39 f0 breq .+14 ; 0x724 - 716: 80 33 cpi r24, 0x30 ; 48 - 718: 49 f4 brne .+18 ; 0x72c - 71a: 21 60 ori r18, 0x01 ; 1 - 71c: 28 c0 rjmp .+80 ; 0x76e - 71e: 22 60 ori r18, 0x02 ; 2 - 720: 24 60 ori r18, 0x04 ; 4 - 722: 25 c0 rjmp .+74 ; 0x76e - 724: 28 60 ori r18, 0x08 ; 8 - 726: 23 c0 rjmp .+70 ; 0x76e - 728: 20 61 ori r18, 0x10 ; 16 - 72a: 21 c0 rjmp .+66 ; 0x76e - 72c: 27 fd sbrc r18, 7 - 72e: 27 c0 rjmp .+78 ; 0x77e - 730: 38 2f mov r19, r24 - 732: 30 53 subi r19, 0x30 ; 48 - 734: 3a 30 cpi r19, 0x0A ; 10 - 736: 78 f4 brcc .+30 ; 0x756 - 738: 26 ff sbrs r18, 6 - 73a: 06 c0 rjmp .+12 ; 0x748 - 73c: fa e0 ldi r31, 0x0A ; 10 - 73e: 5f 9e mul r5, r31 - 740: 30 0d add r19, r0 - 742: 11 24 eor r1, r1 - 744: 53 2e mov r5, r19 - 746: 13 c0 rjmp .+38 ; 0x76e - 748: 8a e0 ldi r24, 0x0A ; 10 - 74a: 38 9e mul r3, r24 - 74c: 30 0d add r19, r0 - 74e: 11 24 eor r1, r1 - 750: 33 2e mov r3, r19 - 752: 20 62 ori r18, 0x20 ; 32 - 754: 0c c0 rjmp .+24 ; 0x76e - 756: 8e 32 cpi r24, 0x2E ; 46 - 758: 21 f4 brne .+8 ; 0x762 - 75a: 26 fd sbrc r18, 6 - 75c: 71 c1 rjmp .+738 ; 0xa40 - 75e: 20 64 ori r18, 0x40 ; 64 - 760: 06 c0 rjmp .+12 ; 0x76e - 762: 8c 36 cpi r24, 0x6C ; 108 - 764: 11 f4 brne .+4 ; 0x76a - 766: 20 68 ori r18, 0x80 ; 128 - 768: 02 c0 rjmp .+4 ; 0x76e - 76a: 88 36 cpi r24, 0x68 ; 104 - 76c: 41 f4 brne .+16 ; 0x77e - 76e: f6 01 movw r30, r12 - 770: 93 fd sbrc r25, 3 - 772: 85 91 lpm r24, Z+ - 774: 93 ff sbrs r25, 3 - 776: 81 91 ld r24, Z+ - 778: 6f 01 movw r12, r30 - 77a: 81 11 cpse r24, r1 - 77c: c0 cf rjmp .-128 ; 0x6fe - 77e: 98 2f mov r25, r24 - 780: 95 54 subi r25, 0x45 ; 69 - 782: 93 30 cpi r25, 0x03 ; 3 - 784: 18 f0 brcs .+6 ; 0x78c - 786: 90 52 subi r25, 0x20 ; 32 - 788: 93 30 cpi r25, 0x03 ; 3 - 78a: 28 f4 brcc .+10 ; 0x796 - 78c: 0c 5f subi r16, 0xFC ; 252 - 78e: 1f 4f sbci r17, 0xFF ; 255 - 790: ff e3 ldi r31, 0x3F ; 63 - 792: f9 83 std Y+1, r31 ; 0x01 - 794: 0d c0 rjmp .+26 ; 0x7b0 - 796: 83 36 cpi r24, 0x63 ; 99 - 798: 31 f0 breq .+12 ; 0x7a6 - 79a: 83 37 cpi r24, 0x73 ; 115 - 79c: 71 f0 breq .+28 ; 0x7ba - 79e: 83 35 cpi r24, 0x53 ; 83 - 7a0: 09 f0 breq .+2 ; 0x7a4 - 7a2: 5e c0 rjmp .+188 ; 0x860 - 7a4: 23 c0 rjmp .+70 ; 0x7ec - 7a6: f8 01 movw r30, r16 - 7a8: 80 81 ld r24, Z - 7aa: 89 83 std Y+1, r24 ; 0x01 - 7ac: 0e 5f subi r16, 0xFE ; 254 - 7ae: 1f 4f sbci r17, 0xFF ; 255 - 7b0: 44 24 eor r4, r4 - 7b2: 43 94 inc r4 - 7b4: 51 2c mov r5, r1 - 7b6: 54 01 movw r10, r8 - 7b8: 15 c0 rjmp .+42 ; 0x7e4 - 7ba: 38 01 movw r6, r16 - 7bc: f2 e0 ldi r31, 0x02 ; 2 - 7be: 6f 0e add r6, r31 - 7c0: 71 1c adc r7, r1 - 7c2: f8 01 movw r30, r16 - 7c4: a0 80 ld r10, Z - 7c6: b1 80 ldd r11, Z+1 ; 0x01 - 7c8: 26 ff sbrs r18, 6 - 7ca: 03 c0 rjmp .+6 ; 0x7d2 - 7cc: 65 2d mov r22, r5 - 7ce: 70 e0 ldi r23, 0x00 ; 0 - 7d0: 02 c0 rjmp .+4 ; 0x7d6 - 7d2: 6f ef ldi r22, 0xFF ; 255 - 7d4: 7f ef ldi r23, 0xFF ; 255 - 7d6: c5 01 movw r24, r10 - 7d8: 2c 87 std Y+12, r18 ; 0x0c - 7da: 0e 94 4b 05 call 0xa96 ; 0xa96 - 7de: 2c 01 movw r4, r24 - 7e0: 83 01 movw r16, r6 - 7e2: 2c 85 ldd r18, Y+12 ; 0x0c - 7e4: 6f e7 ldi r22, 0x7F ; 127 - 7e6: 26 2e mov r2, r22 - 7e8: 22 22 and r2, r18 - 7ea: 18 c0 rjmp .+48 ; 0x81c - 7ec: 38 01 movw r6, r16 - 7ee: f2 e0 ldi r31, 0x02 ; 2 - 7f0: 6f 0e add r6, r31 - 7f2: 71 1c adc r7, r1 - 7f4: f8 01 movw r30, r16 - 7f6: a0 80 ld r10, Z - 7f8: b1 80 ldd r11, Z+1 ; 0x01 - 7fa: 26 ff sbrs r18, 6 - 7fc: 03 c0 rjmp .+6 ; 0x804 - 7fe: 65 2d mov r22, r5 - 800: 70 e0 ldi r23, 0x00 ; 0 - 802: 02 c0 rjmp .+4 ; 0x808 - 804: 6f ef ldi r22, 0xFF ; 255 - 806: 7f ef ldi r23, 0xFF ; 255 - 808: c5 01 movw r24, r10 - 80a: 2c 87 std Y+12, r18 ; 0x0c - 80c: 0e 94 40 05 call 0xa80 ; 0xa80 - 810: 2c 01 movw r4, r24 - 812: 2c 85 ldd r18, Y+12 ; 0x0c - 814: 50 e8 ldi r21, 0x80 ; 128 - 816: 25 2e mov r2, r21 - 818: 22 2a or r2, r18 - 81a: 83 01 movw r16, r6 - 81c: 23 fc sbrc r2, 3 - 81e: 1c c0 rjmp .+56 ; 0x858 - 820: 06 c0 rjmp .+12 ; 0x82e - 822: b7 01 movw r22, r14 - 824: 80 e2 ldi r24, 0x20 ; 32 - 826: 90 e0 ldi r25, 0x00 ; 0 - 828: 0e 94 56 05 call 0xaac ; 0xaac - 82c: 3a 94 dec r3 - 82e: 83 2d mov r24, r3 - 830: 90 e0 ldi r25, 0x00 ; 0 - 832: 48 16 cp r4, r24 - 834: 59 06 cpc r5, r25 - 836: a8 f3 brcs .-22 ; 0x822 - 838: 0f c0 rjmp .+30 ; 0x858 - 83a: f5 01 movw r30, r10 - 83c: 27 fc sbrc r2, 7 - 83e: 85 91 lpm r24, Z+ - 840: 27 fe sbrs r2, 7 - 842: 81 91 ld r24, Z+ - 844: 5f 01 movw r10, r30 - 846: b7 01 movw r22, r14 - 848: 90 e0 ldi r25, 0x00 ; 0 - 84a: 0e 94 56 05 call 0xaac ; 0xaac - 84e: 31 10 cpse r3, r1 - 850: 3a 94 dec r3 - 852: f1 e0 ldi r31, 0x01 ; 1 - 854: 4f 1a sub r4, r31 - 856: 51 08 sbc r5, r1 - 858: 41 14 cp r4, r1 - 85a: 51 04 cpc r5, r1 - 85c: 71 f7 brne .-36 ; 0x83a - 85e: ed c0 rjmp .+474 ; 0xa3a - 860: 84 36 cpi r24, 0x64 ; 100 - 862: 11 f0 breq .+4 ; 0x868 - 864: 89 36 cpi r24, 0x69 ; 105 - 866: 41 f5 brne .+80 ; 0x8b8 - 868: f8 01 movw r30, r16 - 86a: 27 ff sbrs r18, 7 - 86c: 07 c0 rjmp .+14 ; 0x87c - 86e: 60 81 ld r22, Z - 870: 71 81 ldd r23, Z+1 ; 0x01 - 872: 82 81 ldd r24, Z+2 ; 0x02 - 874: 93 81 ldd r25, Z+3 ; 0x03 - 876: 0c 5f subi r16, 0xFC ; 252 - 878: 1f 4f sbci r17, 0xFF ; 255 - 87a: 08 c0 rjmp .+16 ; 0x88c - 87c: 60 81 ld r22, Z - 87e: 71 81 ldd r23, Z+1 ; 0x01 - 880: 88 27 eor r24, r24 - 882: 77 fd sbrc r23, 7 - 884: 80 95 com r24 - 886: 98 2f mov r25, r24 - 888: 0e 5f subi r16, 0xFE ; 254 - 88a: 1f 4f sbci r17, 0xFF ; 255 - 88c: 4f e6 ldi r20, 0x6F ; 111 - 88e: b4 2e mov r11, r20 - 890: b2 22 and r11, r18 - 892: 97 ff sbrs r25, 7 - 894: 09 c0 rjmp .+18 ; 0x8a8 - 896: 90 95 com r25 - 898: 80 95 com r24 - 89a: 70 95 com r23 - 89c: 61 95 neg r22 - 89e: 7f 4f sbci r23, 0xFF ; 255 - 8a0: 8f 4f sbci r24, 0xFF ; 255 - 8a2: 9f 4f sbci r25, 0xFF ; 255 - 8a4: f0 e8 ldi r31, 0x80 ; 128 - 8a6: bf 2a or r11, r31 - 8a8: 2a e0 ldi r18, 0x0A ; 10 - 8aa: 30 e0 ldi r19, 0x00 ; 0 - 8ac: a4 01 movw r20, r8 - 8ae: 0e 94 82 05 call 0xb04 ; 0xb04 <__ultoa_invert> - 8b2: a8 2e mov r10, r24 - 8b4: a8 18 sub r10, r8 - 8b6: 43 c0 rjmp .+134 ; 0x93e - 8b8: 85 37 cpi r24, 0x75 ; 117 - 8ba: 31 f4 brne .+12 ; 0x8c8 - 8bc: 3f ee ldi r19, 0xEF ; 239 - 8be: b3 2e mov r11, r19 - 8c0: b2 22 and r11, r18 - 8c2: 2a e0 ldi r18, 0x0A ; 10 - 8c4: 30 e0 ldi r19, 0x00 ; 0 - 8c6: 24 c0 rjmp .+72 ; 0x910 - 8c8: 99 ef ldi r25, 0xF9 ; 249 - 8ca: b9 2e mov r11, r25 - 8cc: b2 22 and r11, r18 - 8ce: 8f 36 cpi r24, 0x6F ; 111 - 8d0: b9 f0 breq .+46 ; 0x900 - 8d2: 20 f4 brcc .+8 ; 0x8dc - 8d4: 88 35 cpi r24, 0x58 ; 88 - 8d6: 09 f0 breq .+2 ; 0x8da - 8d8: b3 c0 rjmp .+358 ; 0xa40 - 8da: 0d c0 rjmp .+26 ; 0x8f6 - 8dc: 80 37 cpi r24, 0x70 ; 112 - 8de: 21 f0 breq .+8 ; 0x8e8 - 8e0: 88 37 cpi r24, 0x78 ; 120 - 8e2: 09 f0 breq .+2 ; 0x8e6 - 8e4: ad c0 rjmp .+346 ; 0xa40 - 8e6: 02 c0 rjmp .+4 ; 0x8ec - 8e8: 20 e1 ldi r18, 0x10 ; 16 - 8ea: b2 2a or r11, r18 - 8ec: b4 fe sbrs r11, 4 - 8ee: 0b c0 rjmp .+22 ; 0x906 - 8f0: 84 e0 ldi r24, 0x04 ; 4 - 8f2: b8 2a or r11, r24 - 8f4: 08 c0 rjmp .+16 ; 0x906 - 8f6: 24 ff sbrs r18, 4 - 8f8: 09 c0 rjmp .+18 ; 0x90c - 8fa: e6 e0 ldi r30, 0x06 ; 6 - 8fc: be 2a or r11, r30 - 8fe: 06 c0 rjmp .+12 ; 0x90c - 900: 28 e0 ldi r18, 0x08 ; 8 - 902: 30 e0 ldi r19, 0x00 ; 0 - 904: 05 c0 rjmp .+10 ; 0x910 - 906: 20 e1 ldi r18, 0x10 ; 16 - 908: 30 e0 ldi r19, 0x00 ; 0 - 90a: 02 c0 rjmp .+4 ; 0x910 - 90c: 20 e1 ldi r18, 0x10 ; 16 - 90e: 32 e0 ldi r19, 0x02 ; 2 - 910: f8 01 movw r30, r16 - 912: b7 fe sbrs r11, 7 - 914: 07 c0 rjmp .+14 ; 0x924 - 916: 60 81 ld r22, Z - 918: 71 81 ldd r23, Z+1 ; 0x01 - 91a: 82 81 ldd r24, Z+2 ; 0x02 - 91c: 93 81 ldd r25, Z+3 ; 0x03 - 91e: 0c 5f subi r16, 0xFC ; 252 - 920: 1f 4f sbci r17, 0xFF ; 255 - 922: 06 c0 rjmp .+12 ; 0x930 - 924: 60 81 ld r22, Z - 926: 71 81 ldd r23, Z+1 ; 0x01 - 928: 80 e0 ldi r24, 0x00 ; 0 - 92a: 90 e0 ldi r25, 0x00 ; 0 - 92c: 0e 5f subi r16, 0xFE ; 254 - 92e: 1f 4f sbci r17, 0xFF ; 255 - 930: a4 01 movw r20, r8 - 932: 0e 94 82 05 call 0xb04 ; 0xb04 <__ultoa_invert> - 936: a8 2e mov r10, r24 - 938: a8 18 sub r10, r8 - 93a: ff e7 ldi r31, 0x7F ; 127 - 93c: bf 22 and r11, r31 - 93e: b6 fe sbrs r11, 6 - 940: 0b c0 rjmp .+22 ; 0x958 - 942: 2b 2d mov r18, r11 - 944: 2e 7f andi r18, 0xFE ; 254 - 946: a5 14 cp r10, r5 - 948: 50 f4 brcc .+20 ; 0x95e - 94a: b4 fe sbrs r11, 4 - 94c: 0a c0 rjmp .+20 ; 0x962 - 94e: b2 fc sbrc r11, 2 - 950: 08 c0 rjmp .+16 ; 0x962 - 952: 2b 2d mov r18, r11 - 954: 2e 7e andi r18, 0xEE ; 238 - 956: 05 c0 rjmp .+10 ; 0x962 - 958: 7a 2c mov r7, r10 - 95a: 2b 2d mov r18, r11 - 95c: 03 c0 rjmp .+6 ; 0x964 - 95e: 7a 2c mov r7, r10 - 960: 01 c0 rjmp .+2 ; 0x964 - 962: 75 2c mov r7, r5 - 964: 24 ff sbrs r18, 4 - 966: 0d c0 rjmp .+26 ; 0x982 - 968: fe 01 movw r30, r28 - 96a: ea 0d add r30, r10 - 96c: f1 1d adc r31, r1 - 96e: 80 81 ld r24, Z - 970: 80 33 cpi r24, 0x30 ; 48 - 972: 11 f4 brne .+4 ; 0x978 - 974: 29 7e andi r18, 0xE9 ; 233 - 976: 09 c0 rjmp .+18 ; 0x98a - 978: 22 ff sbrs r18, 2 - 97a: 06 c0 rjmp .+12 ; 0x988 - 97c: 73 94 inc r7 - 97e: 73 94 inc r7 - 980: 04 c0 rjmp .+8 ; 0x98a - 982: 82 2f mov r24, r18 - 984: 86 78 andi r24, 0x86 ; 134 - 986: 09 f0 breq .+2 ; 0x98a - 988: 73 94 inc r7 - 98a: 23 fd sbrc r18, 3 - 98c: 14 c0 rjmp .+40 ; 0x9b6 - 98e: 20 ff sbrs r18, 0 - 990: 0f c0 rjmp .+30 ; 0x9b0 - 992: 5a 2c mov r5, r10 - 994: 73 14 cp r7, r3 - 996: 60 f4 brcc .+24 ; 0x9b0 - 998: 53 0c add r5, r3 - 99a: 57 18 sub r5, r7 - 99c: 73 2c mov r7, r3 - 99e: 08 c0 rjmp .+16 ; 0x9b0 - 9a0: b7 01 movw r22, r14 - 9a2: 80 e2 ldi r24, 0x20 ; 32 - 9a4: 90 e0 ldi r25, 0x00 ; 0 - 9a6: 2c 87 std Y+12, r18 ; 0x0c - 9a8: 0e 94 56 05 call 0xaac ; 0xaac - 9ac: 73 94 inc r7 - 9ae: 2c 85 ldd r18, Y+12 ; 0x0c - 9b0: 73 14 cp r7, r3 - 9b2: b0 f3 brcs .-20 ; 0x9a0 - 9b4: 04 c0 rjmp .+8 ; 0x9be - 9b6: 73 14 cp r7, r3 - 9b8: 10 f4 brcc .+4 ; 0x9be - 9ba: 37 18 sub r3, r7 - 9bc: 01 c0 rjmp .+2 ; 0x9c0 - 9be: 31 2c mov r3, r1 - 9c0: 24 ff sbrs r18, 4 - 9c2: 12 c0 rjmp .+36 ; 0x9e8 - 9c4: b7 01 movw r22, r14 - 9c6: 80 e3 ldi r24, 0x30 ; 48 - 9c8: 90 e0 ldi r25, 0x00 ; 0 - 9ca: 2c 87 std Y+12, r18 ; 0x0c - 9cc: 0e 94 56 05 call 0xaac ; 0xaac - 9d0: 2c 85 ldd r18, Y+12 ; 0x0c - 9d2: 22 ff sbrs r18, 2 - 9d4: 1e c0 rjmp .+60 ; 0xa12 - 9d6: 21 ff sbrs r18, 1 - 9d8: 03 c0 rjmp .+6 ; 0x9e0 - 9da: 88 e5 ldi r24, 0x58 ; 88 +000006ae : + 6ae: 2f 92 push r2 + 6b0: 3f 92 push r3 + 6b2: 4f 92 push r4 + 6b4: 5f 92 push r5 + 6b6: 6f 92 push r6 + 6b8: 7f 92 push r7 + 6ba: 8f 92 push r8 + 6bc: 9f 92 push r9 + 6be: af 92 push r10 + 6c0: bf 92 push r11 + 6c2: cf 92 push r12 + 6c4: df 92 push r13 + 6c6: ef 92 push r14 + 6c8: ff 92 push r15 + 6ca: 0f 93 push r16 + 6cc: 1f 93 push r17 + 6ce: cf 93 push r28 + 6d0: df 93 push r29 + 6d2: cd b7 in r28, 0x3d ; 61 + 6d4: de b7 in r29, 0x3e ; 62 + 6d6: 2c 97 sbiw r28, 0x0c ; 12 + 6d8: 0f b6 in r0, 0x3f ; 63 + 6da: f8 94 cli + 6dc: de bf out 0x3e, r29 ; 62 + 6de: 0f be out 0x3f, r0 ; 63 + 6e0: cd bf out 0x3d, r28 ; 61 + 6e2: 7c 01 movw r14, r24 + 6e4: 6b 01 movw r12, r22 + 6e6: 8a 01 movw r16, r20 + 6e8: fc 01 movw r30, r24 + 6ea: 17 82 std Z+7, r1 ; 0x07 + 6ec: 16 82 std Z+6, r1 ; 0x06 + 6ee: 83 81 ldd r24, Z+3 ; 0x03 + 6f0: 81 ff sbrs r24, 1 + 6f2: c6 c1 rjmp .+908 ; 0xa80 + 6f4: 88 24 eor r8, r8 + 6f6: 83 94 inc r8 + 6f8: 91 2c mov r9, r1 + 6fa: 8c 0e add r8, r28 + 6fc: 9d 1e adc r9, r29 + 6fe: f7 01 movw r30, r14 + 700: 93 81 ldd r25, Z+3 ; 0x03 + 702: f6 01 movw r30, r12 + 704: 93 fd sbrc r25, 3 + 706: 85 91 lpm r24, Z+ + 708: 93 ff sbrs r25, 3 + 70a: 81 91 ld r24, Z+ + 70c: 6f 01 movw r12, r30 + 70e: 88 23 and r24, r24 + 710: 09 f4 brne .+2 ; 0x714 + 712: b2 c1 rjmp .+868 ; 0xa78 + 714: 85 32 cpi r24, 0x25 ; 37 + 716: 39 f4 brne .+14 ; 0x726 + 718: 93 fd sbrc r25, 3 + 71a: 85 91 lpm r24, Z+ + 71c: 93 ff sbrs r25, 3 + 71e: 81 91 ld r24, Z+ + 720: 6f 01 movw r12, r30 + 722: 85 32 cpi r24, 0x25 ; 37 + 724: 29 f4 brne .+10 ; 0x730 + 726: b7 01 movw r22, r14 + 728: 90 e0 ldi r25, 0x00 ; 0 + 72a: 0e 94 72 05 call 0xae4 ; 0xae4 + 72e: e7 cf rjmp .-50 ; 0x6fe + 730: 51 2c mov r5, r1 + 732: 31 2c mov r3, r1 + 734: 20 e0 ldi r18, 0x00 ; 0 + 736: 20 32 cpi r18, 0x20 ; 32 + 738: a8 f4 brcc .+42 ; 0x764 + 73a: 8b 32 cpi r24, 0x2B ; 43 + 73c: 61 f0 breq .+24 ; 0x756 + 73e: 28 f4 brcc .+10 ; 0x74a + 740: 80 32 cpi r24, 0x20 ; 32 + 742: 51 f0 breq .+20 ; 0x758 + 744: 83 32 cpi r24, 0x23 ; 35 + 746: 71 f4 brne .+28 ; 0x764 + 748: 0b c0 rjmp .+22 ; 0x760 + 74a: 8d 32 cpi r24, 0x2D ; 45 + 74c: 39 f0 breq .+14 ; 0x75c + 74e: 80 33 cpi r24, 0x30 ; 48 + 750: 49 f4 brne .+18 ; 0x764 + 752: 21 60 ori r18, 0x01 ; 1 + 754: 28 c0 rjmp .+80 ; 0x7a6 + 756: 22 60 ori r18, 0x02 ; 2 + 758: 24 60 ori r18, 0x04 ; 4 + 75a: 25 c0 rjmp .+74 ; 0x7a6 + 75c: 28 60 ori r18, 0x08 ; 8 + 75e: 23 c0 rjmp .+70 ; 0x7a6 + 760: 20 61 ori r18, 0x10 ; 16 + 762: 21 c0 rjmp .+66 ; 0x7a6 + 764: 27 fd sbrc r18, 7 + 766: 27 c0 rjmp .+78 ; 0x7b6 + 768: 38 2f mov r19, r24 + 76a: 30 53 subi r19, 0x30 ; 48 + 76c: 3a 30 cpi r19, 0x0A ; 10 + 76e: 78 f4 brcc .+30 ; 0x78e + 770: 26 ff sbrs r18, 6 + 772: 06 c0 rjmp .+12 ; 0x780 + 774: fa e0 ldi r31, 0x0A ; 10 + 776: 5f 9e mul r5, r31 + 778: 30 0d add r19, r0 + 77a: 11 24 eor r1, r1 + 77c: 53 2e mov r5, r19 + 77e: 13 c0 rjmp .+38 ; 0x7a6 + 780: 8a e0 ldi r24, 0x0A ; 10 + 782: 38 9e mul r3, r24 + 784: 30 0d add r19, r0 + 786: 11 24 eor r1, r1 + 788: 33 2e mov r3, r19 + 78a: 20 62 ori r18, 0x20 ; 32 + 78c: 0c c0 rjmp .+24 ; 0x7a6 + 78e: 8e 32 cpi r24, 0x2E ; 46 + 790: 21 f4 brne .+8 ; 0x79a + 792: 26 fd sbrc r18, 6 + 794: 71 c1 rjmp .+738 ; 0xa78 + 796: 20 64 ori r18, 0x40 ; 64 + 798: 06 c0 rjmp .+12 ; 0x7a6 + 79a: 8c 36 cpi r24, 0x6C ; 108 + 79c: 11 f4 brne .+4 ; 0x7a2 + 79e: 20 68 ori r18, 0x80 ; 128 + 7a0: 02 c0 rjmp .+4 ; 0x7a6 + 7a2: 88 36 cpi r24, 0x68 ; 104 + 7a4: 41 f4 brne .+16 ; 0x7b6 + 7a6: f6 01 movw r30, r12 + 7a8: 93 fd sbrc r25, 3 + 7aa: 85 91 lpm r24, Z+ + 7ac: 93 ff sbrs r25, 3 + 7ae: 81 91 ld r24, Z+ + 7b0: 6f 01 movw r12, r30 + 7b2: 81 11 cpse r24, r1 + 7b4: c0 cf rjmp .-128 ; 0x736 + 7b6: 98 2f mov r25, r24 + 7b8: 95 54 subi r25, 0x45 ; 69 + 7ba: 93 30 cpi r25, 0x03 ; 3 + 7bc: 18 f0 brcs .+6 ; 0x7c4 + 7be: 90 52 subi r25, 0x20 ; 32 + 7c0: 93 30 cpi r25, 0x03 ; 3 + 7c2: 28 f4 brcc .+10 ; 0x7ce + 7c4: 0c 5f subi r16, 0xFC ; 252 + 7c6: 1f 4f sbci r17, 0xFF ; 255 + 7c8: ff e3 ldi r31, 0x3F ; 63 + 7ca: f9 83 std Y+1, r31 ; 0x01 + 7cc: 0d c0 rjmp .+26 ; 0x7e8 + 7ce: 83 36 cpi r24, 0x63 ; 99 + 7d0: 31 f0 breq .+12 ; 0x7de + 7d2: 83 37 cpi r24, 0x73 ; 115 + 7d4: 71 f0 breq .+28 ; 0x7f2 + 7d6: 83 35 cpi r24, 0x53 ; 83 + 7d8: 09 f0 breq .+2 ; 0x7dc + 7da: 5e c0 rjmp .+188 ; 0x898 + 7dc: 23 c0 rjmp .+70 ; 0x824 + 7de: f8 01 movw r30, r16 + 7e0: 80 81 ld r24, Z + 7e2: 89 83 std Y+1, r24 ; 0x01 + 7e4: 0e 5f subi r16, 0xFE ; 254 + 7e6: 1f 4f sbci r17, 0xFF ; 255 + 7e8: 44 24 eor r4, r4 + 7ea: 43 94 inc r4 + 7ec: 51 2c mov r5, r1 + 7ee: 54 01 movw r10, r8 + 7f0: 15 c0 rjmp .+42 ; 0x81c + 7f2: 38 01 movw r6, r16 + 7f4: f2 e0 ldi r31, 0x02 ; 2 + 7f6: 6f 0e add r6, r31 + 7f8: 71 1c adc r7, r1 + 7fa: f8 01 movw r30, r16 + 7fc: a0 80 ld r10, Z + 7fe: b1 80 ldd r11, Z+1 ; 0x01 + 800: 26 ff sbrs r18, 6 + 802: 03 c0 rjmp .+6 ; 0x80a + 804: 65 2d mov r22, r5 + 806: 70 e0 ldi r23, 0x00 ; 0 + 808: 02 c0 rjmp .+4 ; 0x80e + 80a: 6f ef ldi r22, 0xFF ; 255 + 80c: 7f ef ldi r23, 0xFF ; 255 + 80e: c5 01 movw r24, r10 + 810: 2c 87 std Y+12, r18 ; 0x0c + 812: 0e 94 67 05 call 0xace ; 0xace + 816: 2c 01 movw r4, r24 + 818: 83 01 movw r16, r6 + 81a: 2c 85 ldd r18, Y+12 ; 0x0c + 81c: 6f e7 ldi r22, 0x7F ; 127 + 81e: 26 2e mov r2, r22 + 820: 22 22 and r2, r18 + 822: 18 c0 rjmp .+48 ; 0x854 + 824: 38 01 movw r6, r16 + 826: f2 e0 ldi r31, 0x02 ; 2 + 828: 6f 0e add r6, r31 + 82a: 71 1c adc r7, r1 + 82c: f8 01 movw r30, r16 + 82e: a0 80 ld r10, Z + 830: b1 80 ldd r11, Z+1 ; 0x01 + 832: 26 ff sbrs r18, 6 + 834: 03 c0 rjmp .+6 ; 0x83c + 836: 65 2d mov r22, r5 + 838: 70 e0 ldi r23, 0x00 ; 0 + 83a: 02 c0 rjmp .+4 ; 0x840 + 83c: 6f ef ldi r22, 0xFF ; 255 + 83e: 7f ef ldi r23, 0xFF ; 255 + 840: c5 01 movw r24, r10 + 842: 2c 87 std Y+12, r18 ; 0x0c + 844: 0e 94 5c 05 call 0xab8 ; 0xab8 + 848: 2c 01 movw r4, r24 + 84a: 2c 85 ldd r18, Y+12 ; 0x0c + 84c: 50 e8 ldi r21, 0x80 ; 128 + 84e: 25 2e mov r2, r21 + 850: 22 2a or r2, r18 + 852: 83 01 movw r16, r6 + 854: 23 fc sbrc r2, 3 + 856: 1c c0 rjmp .+56 ; 0x890 + 858: 06 c0 rjmp .+12 ; 0x866 + 85a: b7 01 movw r22, r14 + 85c: 80 e2 ldi r24, 0x20 ; 32 + 85e: 90 e0 ldi r25, 0x00 ; 0 + 860: 0e 94 72 05 call 0xae4 ; 0xae4 + 864: 3a 94 dec r3 + 866: 83 2d mov r24, r3 + 868: 90 e0 ldi r25, 0x00 ; 0 + 86a: 48 16 cp r4, r24 + 86c: 59 06 cpc r5, r25 + 86e: a8 f3 brcs .-22 ; 0x85a + 870: 0f c0 rjmp .+30 ; 0x890 + 872: f5 01 movw r30, r10 + 874: 27 fc sbrc r2, 7 + 876: 85 91 lpm r24, Z+ + 878: 27 fe sbrs r2, 7 + 87a: 81 91 ld r24, Z+ + 87c: 5f 01 movw r10, r30 + 87e: b7 01 movw r22, r14 + 880: 90 e0 ldi r25, 0x00 ; 0 + 882: 0e 94 72 05 call 0xae4 ; 0xae4 + 886: 31 10 cpse r3, r1 + 888: 3a 94 dec r3 + 88a: f1 e0 ldi r31, 0x01 ; 1 + 88c: 4f 1a sub r4, r31 + 88e: 51 08 sbc r5, r1 + 890: 41 14 cp r4, r1 + 892: 51 04 cpc r5, r1 + 894: 71 f7 brne .-36 ; 0x872 + 896: ed c0 rjmp .+474 ; 0xa72 + 898: 84 36 cpi r24, 0x64 ; 100 + 89a: 11 f0 breq .+4 ; 0x8a0 + 89c: 89 36 cpi r24, 0x69 ; 105 + 89e: 41 f5 brne .+80 ; 0x8f0 + 8a0: f8 01 movw r30, r16 + 8a2: 27 ff sbrs r18, 7 + 8a4: 07 c0 rjmp .+14 ; 0x8b4 + 8a6: 60 81 ld r22, Z + 8a8: 71 81 ldd r23, Z+1 ; 0x01 + 8aa: 82 81 ldd r24, Z+2 ; 0x02 + 8ac: 93 81 ldd r25, Z+3 ; 0x03 + 8ae: 0c 5f subi r16, 0xFC ; 252 + 8b0: 1f 4f sbci r17, 0xFF ; 255 + 8b2: 08 c0 rjmp .+16 ; 0x8c4 + 8b4: 60 81 ld r22, Z + 8b6: 71 81 ldd r23, Z+1 ; 0x01 + 8b8: 88 27 eor r24, r24 + 8ba: 77 fd sbrc r23, 7 + 8bc: 80 95 com r24 + 8be: 98 2f mov r25, r24 + 8c0: 0e 5f subi r16, 0xFE ; 254 + 8c2: 1f 4f sbci r17, 0xFF ; 255 + 8c4: 4f e6 ldi r20, 0x6F ; 111 + 8c6: b4 2e mov r11, r20 + 8c8: b2 22 and r11, r18 + 8ca: 97 ff sbrs r25, 7 + 8cc: 09 c0 rjmp .+18 ; 0x8e0 + 8ce: 90 95 com r25 + 8d0: 80 95 com r24 + 8d2: 70 95 com r23 + 8d4: 61 95 neg r22 + 8d6: 7f 4f sbci r23, 0xFF ; 255 + 8d8: 8f 4f sbci r24, 0xFF ; 255 + 8da: 9f 4f sbci r25, 0xFF ; 255 + 8dc: f0 e8 ldi r31, 0x80 ; 128 + 8de: bf 2a or r11, r31 + 8e0: 2a e0 ldi r18, 0x0A ; 10 + 8e2: 30 e0 ldi r19, 0x00 ; 0 + 8e4: a4 01 movw r20, r8 + 8e6: 0e 94 9e 05 call 0xb3c ; 0xb3c <__ultoa_invert> + 8ea: a8 2e mov r10, r24 + 8ec: a8 18 sub r10, r8 + 8ee: 43 c0 rjmp .+134 ; 0x976 + 8f0: 85 37 cpi r24, 0x75 ; 117 + 8f2: 31 f4 brne .+12 ; 0x900 + 8f4: 3f ee ldi r19, 0xEF ; 239 + 8f6: b3 2e mov r11, r19 + 8f8: b2 22 and r11, r18 + 8fa: 2a e0 ldi r18, 0x0A ; 10 + 8fc: 30 e0 ldi r19, 0x00 ; 0 + 8fe: 24 c0 rjmp .+72 ; 0x948 + 900: 99 ef ldi r25, 0xF9 ; 249 + 902: b9 2e mov r11, r25 + 904: b2 22 and r11, r18 + 906: 8f 36 cpi r24, 0x6F ; 111 + 908: b9 f0 breq .+46 ; 0x938 + 90a: 20 f4 brcc .+8 ; 0x914 + 90c: 88 35 cpi r24, 0x58 ; 88 + 90e: 09 f0 breq .+2 ; 0x912 + 910: b3 c0 rjmp .+358 ; 0xa78 + 912: 0d c0 rjmp .+26 ; 0x92e + 914: 80 37 cpi r24, 0x70 ; 112 + 916: 21 f0 breq .+8 ; 0x920 + 918: 88 37 cpi r24, 0x78 ; 120 + 91a: 09 f0 breq .+2 ; 0x91e + 91c: ad c0 rjmp .+346 ; 0xa78 + 91e: 02 c0 rjmp .+4 ; 0x924 + 920: 20 e1 ldi r18, 0x10 ; 16 + 922: b2 2a or r11, r18 + 924: b4 fe sbrs r11, 4 + 926: 0b c0 rjmp .+22 ; 0x93e + 928: 84 e0 ldi r24, 0x04 ; 4 + 92a: b8 2a or r11, r24 + 92c: 08 c0 rjmp .+16 ; 0x93e + 92e: 24 ff sbrs r18, 4 + 930: 09 c0 rjmp .+18 ; 0x944 + 932: e6 e0 ldi r30, 0x06 ; 6 + 934: be 2a or r11, r30 + 936: 06 c0 rjmp .+12 ; 0x944 + 938: 28 e0 ldi r18, 0x08 ; 8 + 93a: 30 e0 ldi r19, 0x00 ; 0 + 93c: 05 c0 rjmp .+10 ; 0x948 + 93e: 20 e1 ldi r18, 0x10 ; 16 + 940: 30 e0 ldi r19, 0x00 ; 0 + 942: 02 c0 rjmp .+4 ; 0x948 + 944: 20 e1 ldi r18, 0x10 ; 16 + 946: 32 e0 ldi r19, 0x02 ; 2 + 948: f8 01 movw r30, r16 + 94a: b7 fe sbrs r11, 7 + 94c: 07 c0 rjmp .+14 ; 0x95c + 94e: 60 81 ld r22, Z + 950: 71 81 ldd r23, Z+1 ; 0x01 + 952: 82 81 ldd r24, Z+2 ; 0x02 + 954: 93 81 ldd r25, Z+3 ; 0x03 + 956: 0c 5f subi r16, 0xFC ; 252 + 958: 1f 4f sbci r17, 0xFF ; 255 + 95a: 06 c0 rjmp .+12 ; 0x968 + 95c: 60 81 ld r22, Z + 95e: 71 81 ldd r23, Z+1 ; 0x01 + 960: 80 e0 ldi r24, 0x00 ; 0 + 962: 90 e0 ldi r25, 0x00 ; 0 + 964: 0e 5f subi r16, 0xFE ; 254 + 966: 1f 4f sbci r17, 0xFF ; 255 + 968: a4 01 movw r20, r8 + 96a: 0e 94 9e 05 call 0xb3c ; 0xb3c <__ultoa_invert> + 96e: a8 2e mov r10, r24 + 970: a8 18 sub r10, r8 + 972: ff e7 ldi r31, 0x7F ; 127 + 974: bf 22 and r11, r31 + 976: b6 fe sbrs r11, 6 + 978: 0b c0 rjmp .+22 ; 0x990 + 97a: 2b 2d mov r18, r11 + 97c: 2e 7f andi r18, 0xFE ; 254 + 97e: a5 14 cp r10, r5 + 980: 50 f4 brcc .+20 ; 0x996 + 982: b4 fe sbrs r11, 4 + 984: 0a c0 rjmp .+20 ; 0x99a + 986: b2 fc sbrc r11, 2 + 988: 08 c0 rjmp .+16 ; 0x99a + 98a: 2b 2d mov r18, r11 + 98c: 2e 7e andi r18, 0xEE ; 238 + 98e: 05 c0 rjmp .+10 ; 0x99a + 990: 7a 2c mov r7, r10 + 992: 2b 2d mov r18, r11 + 994: 03 c0 rjmp .+6 ; 0x99c + 996: 7a 2c mov r7, r10 + 998: 01 c0 rjmp .+2 ; 0x99c + 99a: 75 2c mov r7, r5 + 99c: 24 ff sbrs r18, 4 + 99e: 0d c0 rjmp .+26 ; 0x9ba + 9a0: fe 01 movw r30, r28 + 9a2: ea 0d add r30, r10 + 9a4: f1 1d adc r31, r1 + 9a6: 80 81 ld r24, Z + 9a8: 80 33 cpi r24, 0x30 ; 48 + 9aa: 11 f4 brne .+4 ; 0x9b0 + 9ac: 29 7e andi r18, 0xE9 ; 233 + 9ae: 09 c0 rjmp .+18 ; 0x9c2 + 9b0: 22 ff sbrs r18, 2 + 9b2: 06 c0 rjmp .+12 ; 0x9c0 + 9b4: 73 94 inc r7 + 9b6: 73 94 inc r7 + 9b8: 04 c0 rjmp .+8 ; 0x9c2 + 9ba: 82 2f mov r24, r18 + 9bc: 86 78 andi r24, 0x86 ; 134 + 9be: 09 f0 breq .+2 ; 0x9c2 + 9c0: 73 94 inc r7 + 9c2: 23 fd sbrc r18, 3 + 9c4: 14 c0 rjmp .+40 ; 0x9ee + 9c6: 20 ff sbrs r18, 0 + 9c8: 0f c0 rjmp .+30 ; 0x9e8 + 9ca: 5a 2c mov r5, r10 + 9cc: 73 14 cp r7, r3 + 9ce: 60 f4 brcc .+24 ; 0x9e8 + 9d0: 53 0c add r5, r3 + 9d2: 57 18 sub r5, r7 + 9d4: 73 2c mov r7, r3 + 9d6: 08 c0 rjmp .+16 ; 0x9e8 + 9d8: b7 01 movw r22, r14 + 9da: 80 e2 ldi r24, 0x20 ; 32 9dc: 90 e0 ldi r25, 0x00 ; 0 - 9de: 02 c0 rjmp .+4 ; 0x9e4 - 9e0: 88 e7 ldi r24, 0x78 ; 120 - 9e2: 90 e0 ldi r25, 0x00 ; 0 - 9e4: b7 01 movw r22, r14 - 9e6: 0c c0 rjmp .+24 ; 0xa00 - 9e8: 82 2f mov r24, r18 - 9ea: 86 78 andi r24, 0x86 ; 134 - 9ec: 91 f0 breq .+36 ; 0xa12 - 9ee: 21 fd sbrc r18, 1 - 9f0: 02 c0 rjmp .+4 ; 0x9f6 - 9f2: 80 e2 ldi r24, 0x20 ; 32 - 9f4: 01 c0 rjmp .+2 ; 0x9f8 - 9f6: 8b e2 ldi r24, 0x2B ; 43 - 9f8: 27 fd sbrc r18, 7 - 9fa: 8d e2 ldi r24, 0x2D ; 45 + 9de: 2c 87 std Y+12, r18 ; 0x0c + 9e0: 0e 94 72 05 call 0xae4 ; 0xae4 + 9e4: 73 94 inc r7 + 9e6: 2c 85 ldd r18, Y+12 ; 0x0c + 9e8: 73 14 cp r7, r3 + 9ea: b0 f3 brcs .-20 ; 0x9d8 + 9ec: 04 c0 rjmp .+8 ; 0x9f6 + 9ee: 73 14 cp r7, r3 + 9f0: 10 f4 brcc .+4 ; 0x9f6 + 9f2: 37 18 sub r3, r7 + 9f4: 01 c0 rjmp .+2 ; 0x9f8 + 9f6: 31 2c mov r3, r1 + 9f8: 24 ff sbrs r18, 4 + 9fa: 12 c0 rjmp .+36 ; 0xa20 9fc: b7 01 movw r22, r14 - 9fe: 90 e0 ldi r25, 0x00 ; 0 - a00: 0e 94 56 05 call 0xaac ; 0xaac - a04: 06 c0 rjmp .+12 ; 0xa12 - a06: b7 01 movw r22, r14 - a08: 80 e3 ldi r24, 0x30 ; 48 - a0a: 90 e0 ldi r25, 0x00 ; 0 - a0c: 0e 94 56 05 call 0xaac ; 0xaac - a10: 5a 94 dec r5 - a12: a5 14 cp r10, r5 - a14: c0 f3 brcs .-16 ; 0xa06 - a16: aa 94 dec r10 - a18: f4 01 movw r30, r8 - a1a: ea 0d add r30, r10 - a1c: f1 1d adc r31, r1 - a1e: b7 01 movw r22, r14 - a20: 80 81 ld r24, Z - a22: 90 e0 ldi r25, 0x00 ; 0 - a24: 0e 94 56 05 call 0xaac ; 0xaac - a28: a1 10 cpse r10, r1 - a2a: f5 cf rjmp .-22 ; 0xa16 - a2c: 06 c0 rjmp .+12 ; 0xa3a - a2e: b7 01 movw r22, r14 - a30: 80 e2 ldi r24, 0x20 ; 32 - a32: 90 e0 ldi r25, 0x00 ; 0 - a34: 0e 94 56 05 call 0xaac ; 0xaac - a38: 3a 94 dec r3 - a3a: 31 10 cpse r3, r1 - a3c: f8 cf rjmp .-16 ; 0xa2e - a3e: 43 ce rjmp .-890 ; 0x6c6 - a40: f7 01 movw r30, r14 - a42: 26 81 ldd r18, Z+6 ; 0x06 - a44: 37 81 ldd r19, Z+7 ; 0x07 - a46: 02 c0 rjmp .+4 ; 0xa4c - a48: 2f ef ldi r18, 0xFF ; 255 - a4a: 3f ef ldi r19, 0xFF ; 255 - a4c: c9 01 movw r24, r18 - a4e: 2c 96 adiw r28, 0x0c ; 12 - a50: 0f b6 in r0, 0x3f ; 63 - a52: f8 94 cli - a54: de bf out 0x3e, r29 ; 62 - a56: 0f be out 0x3f, r0 ; 63 - a58: cd bf out 0x3d, r28 ; 61 - a5a: df 91 pop r29 - a5c: cf 91 pop r28 - a5e: 1f 91 pop r17 - a60: 0f 91 pop r16 - a62: ff 90 pop r15 - a64: ef 90 pop r14 - a66: df 90 pop r13 - a68: cf 90 pop r12 - a6a: bf 90 pop r11 - a6c: af 90 pop r10 - a6e: 9f 90 pop r9 - a70: 8f 90 pop r8 - a72: 7f 90 pop r7 - a74: 6f 90 pop r6 - a76: 5f 90 pop r5 - a78: 4f 90 pop r4 - a7a: 3f 90 pop r3 - a7c: 2f 90 pop r2 - a7e: 08 95 ret + 9fe: 80 e3 ldi r24, 0x30 ; 48 + a00: 90 e0 ldi r25, 0x00 ; 0 + a02: 2c 87 std Y+12, r18 ; 0x0c + a04: 0e 94 72 05 call 0xae4 ; 0xae4 + a08: 2c 85 ldd r18, Y+12 ; 0x0c + a0a: 22 ff sbrs r18, 2 + a0c: 1e c0 rjmp .+60 ; 0xa4a + a0e: 21 ff sbrs r18, 1 + a10: 03 c0 rjmp .+6 ; 0xa18 + a12: 88 e5 ldi r24, 0x58 ; 88 + a14: 90 e0 ldi r25, 0x00 ; 0 + a16: 02 c0 rjmp .+4 ; 0xa1c + a18: 88 e7 ldi r24, 0x78 ; 120 + a1a: 90 e0 ldi r25, 0x00 ; 0 + a1c: b7 01 movw r22, r14 + a1e: 0c c0 rjmp .+24 ; 0xa38 + a20: 82 2f mov r24, r18 + a22: 86 78 andi r24, 0x86 ; 134 + a24: 91 f0 breq .+36 ; 0xa4a + a26: 21 fd sbrc r18, 1 + a28: 02 c0 rjmp .+4 ; 0xa2e + a2a: 80 e2 ldi r24, 0x20 ; 32 + a2c: 01 c0 rjmp .+2 ; 0xa30 + a2e: 8b e2 ldi r24, 0x2B ; 43 + a30: 27 fd sbrc r18, 7 + a32: 8d e2 ldi r24, 0x2D ; 45 + a34: b7 01 movw r22, r14 + a36: 90 e0 ldi r25, 0x00 ; 0 + a38: 0e 94 72 05 call 0xae4 ; 0xae4 + a3c: 06 c0 rjmp .+12 ; 0xa4a + a3e: b7 01 movw r22, r14 + a40: 80 e3 ldi r24, 0x30 ; 48 + a42: 90 e0 ldi r25, 0x00 ; 0 + a44: 0e 94 72 05 call 0xae4 ; 0xae4 + a48: 5a 94 dec r5 + a4a: a5 14 cp r10, r5 + a4c: c0 f3 brcs .-16 ; 0xa3e + a4e: aa 94 dec r10 + a50: f4 01 movw r30, r8 + a52: ea 0d add r30, r10 + a54: f1 1d adc r31, r1 + a56: b7 01 movw r22, r14 + a58: 80 81 ld r24, Z + a5a: 90 e0 ldi r25, 0x00 ; 0 + a5c: 0e 94 72 05 call 0xae4 ; 0xae4 + a60: a1 10 cpse r10, r1 + a62: f5 cf rjmp .-22 ; 0xa4e + a64: 06 c0 rjmp .+12 ; 0xa72 + a66: b7 01 movw r22, r14 + a68: 80 e2 ldi r24, 0x20 ; 32 + a6a: 90 e0 ldi r25, 0x00 ; 0 + a6c: 0e 94 72 05 call 0xae4 ; 0xae4 + a70: 3a 94 dec r3 + a72: 31 10 cpse r3, r1 + a74: f8 cf rjmp .-16 ; 0xa66 + a76: 43 ce rjmp .-890 ; 0x6fe + a78: f7 01 movw r30, r14 + a7a: 26 81 ldd r18, Z+6 ; 0x06 + a7c: 37 81 ldd r19, Z+7 ; 0x07 + a7e: 02 c0 rjmp .+4 ; 0xa84 + a80: 2f ef ldi r18, 0xFF ; 255 + a82: 3f ef ldi r19, 0xFF ; 255 + a84: c9 01 movw r24, r18 + a86: 2c 96 adiw r28, 0x0c ; 12 + a88: 0f b6 in r0, 0x3f ; 63 + a8a: f8 94 cli + a8c: de bf out 0x3e, r29 ; 62 + a8e: 0f be out 0x3f, r0 ; 63 + a90: cd bf out 0x3d, r28 ; 61 + a92: df 91 pop r29 + a94: cf 91 pop r28 + a96: 1f 91 pop r17 + a98: 0f 91 pop r16 + a9a: ff 90 pop r15 + a9c: ef 90 pop r14 + a9e: df 90 pop r13 + aa0: cf 90 pop r12 + aa2: bf 90 pop r11 + aa4: af 90 pop r10 + aa6: 9f 90 pop r9 + aa8: 8f 90 pop r8 + aaa: 7f 90 pop r7 + aac: 6f 90 pop r6 + aae: 5f 90 pop r5 + ab0: 4f 90 pop r4 + ab2: 3f 90 pop r3 + ab4: 2f 90 pop r2 + ab6: 08 95 ret -00000a80 : - a80: fc 01 movw r30, r24 - a82: 05 90 lpm r0, Z+ - a84: 61 50 subi r22, 0x01 ; 1 - a86: 70 40 sbci r23, 0x00 ; 0 - a88: 01 10 cpse r0, r1 - a8a: d8 f7 brcc .-10 ; 0xa82 - a8c: 80 95 com r24 - a8e: 90 95 com r25 - a90: 8e 0f add r24, r30 - a92: 9f 1f adc r25, r31 - a94: 08 95 ret +00000ab8 : + ab8: fc 01 movw r30, r24 + aba: 05 90 lpm r0, Z+ + abc: 61 50 subi r22, 0x01 ; 1 + abe: 70 40 sbci r23, 0x00 ; 0 + ac0: 01 10 cpse r0, r1 + ac2: d8 f7 brcc .-10 ; 0xaba + ac4: 80 95 com r24 + ac6: 90 95 com r25 + ac8: 8e 0f add r24, r30 + aca: 9f 1f adc r25, r31 + acc: 08 95 ret -00000a96 : - a96: fc 01 movw r30, r24 - a98: 61 50 subi r22, 0x01 ; 1 - a9a: 70 40 sbci r23, 0x00 ; 0 - a9c: 01 90 ld r0, Z+ - a9e: 01 10 cpse r0, r1 - aa0: d8 f7 brcc .-10 ; 0xa98 - aa2: 80 95 com r24 - aa4: 90 95 com r25 - aa6: 8e 0f add r24, r30 - aa8: 9f 1f adc r25, r31 - aaa: 08 95 ret +00000ace : + ace: fc 01 movw r30, r24 + ad0: 61 50 subi r22, 0x01 ; 1 + ad2: 70 40 sbci r23, 0x00 ; 0 + ad4: 01 90 ld r0, Z+ + ad6: 01 10 cpse r0, r1 + ad8: d8 f7 brcc .-10 ; 0xad0 + ada: 80 95 com r24 + adc: 90 95 com r25 + ade: 8e 0f add r24, r30 + ae0: 9f 1f adc r25, r31 + ae2: 08 95 ret -00000aac : - aac: 0f 93 push r16 - aae: 1f 93 push r17 - ab0: cf 93 push r28 - ab2: df 93 push r29 - ab4: 8c 01 movw r16, r24 - ab6: eb 01 movw r28, r22 - ab8: 8b 81 ldd r24, Y+3 ; 0x03 - aba: 81 fd sbrc r24, 1 - abc: 03 c0 rjmp .+6 ; 0xac4 - abe: 0f ef ldi r16, 0xFF ; 255 - ac0: 1f ef ldi r17, 0xFF ; 255 - ac2: 1a c0 rjmp .+52 ; 0xaf8 - ac4: 82 ff sbrs r24, 2 - ac6: 0d c0 rjmp .+26 ; 0xae2 - ac8: 2e 81 ldd r18, Y+6 ; 0x06 - aca: 3f 81 ldd r19, Y+7 ; 0x07 - acc: 8c 81 ldd r24, Y+4 ; 0x04 - ace: 9d 81 ldd r25, Y+5 ; 0x05 - ad0: 28 17 cp r18, r24 - ad2: 39 07 cpc r19, r25 - ad4: 64 f4 brge .+24 ; 0xaee - ad6: e8 81 ld r30, Y - ad8: f9 81 ldd r31, Y+1 ; 0x01 - ada: 01 93 st Z+, r16 - adc: f9 83 std Y+1, r31 ; 0x01 - ade: e8 83 st Y, r30 - ae0: 06 c0 rjmp .+12 ; 0xaee - ae2: e8 85 ldd r30, Y+8 ; 0x08 - ae4: f9 85 ldd r31, Y+9 ; 0x09 - ae6: 80 2f mov r24, r16 - ae8: 19 95 eicall - aea: 89 2b or r24, r25 - aec: 41 f7 brne .-48 ; 0xabe - aee: 8e 81 ldd r24, Y+6 ; 0x06 - af0: 9f 81 ldd r25, Y+7 ; 0x07 - af2: 01 96 adiw r24, 0x01 ; 1 - af4: 9f 83 std Y+7, r25 ; 0x07 - af6: 8e 83 std Y+6, r24 ; 0x06 - af8: c8 01 movw r24, r16 - afa: df 91 pop r29 - afc: cf 91 pop r28 - afe: 1f 91 pop r17 - b00: 0f 91 pop r16 - b02: 08 95 ret +00000ae4 : + ae4: 0f 93 push r16 + ae6: 1f 93 push r17 + ae8: cf 93 push r28 + aea: df 93 push r29 + aec: 8c 01 movw r16, r24 + aee: eb 01 movw r28, r22 + af0: 8b 81 ldd r24, Y+3 ; 0x03 + af2: 81 fd sbrc r24, 1 + af4: 03 c0 rjmp .+6 ; 0xafc + af6: 0f ef ldi r16, 0xFF ; 255 + af8: 1f ef ldi r17, 0xFF ; 255 + afa: 1a c0 rjmp .+52 ; 0xb30 + afc: 82 ff sbrs r24, 2 + afe: 0d c0 rjmp .+26 ; 0xb1a + b00: 2e 81 ldd r18, Y+6 ; 0x06 + b02: 3f 81 ldd r19, Y+7 ; 0x07 + b04: 8c 81 ldd r24, Y+4 ; 0x04 + b06: 9d 81 ldd r25, Y+5 ; 0x05 + b08: 28 17 cp r18, r24 + b0a: 39 07 cpc r19, r25 + b0c: 64 f4 brge .+24 ; 0xb26 + b0e: e8 81 ld r30, Y + b10: f9 81 ldd r31, Y+1 ; 0x01 + b12: 01 93 st Z+, r16 + b14: f9 83 std Y+1, r31 ; 0x01 + b16: e8 83 st Y, r30 + b18: 06 c0 rjmp .+12 ; 0xb26 + b1a: e8 85 ldd r30, Y+8 ; 0x08 + b1c: f9 85 ldd r31, Y+9 ; 0x09 + b1e: 80 2f mov r24, r16 + b20: 19 95 eicall + b22: 89 2b or r24, r25 + b24: 41 f7 brne .-48 ; 0xaf6 + b26: 8e 81 ldd r24, Y+6 ; 0x06 + b28: 9f 81 ldd r25, Y+7 ; 0x07 + b2a: 01 96 adiw r24, 0x01 ; 1 + b2c: 9f 83 std Y+7, r25 ; 0x07 + b2e: 8e 83 std Y+6, r24 ; 0x06 + b30: c8 01 movw r24, r16 + b32: df 91 pop r29 + b34: cf 91 pop r28 + b36: 1f 91 pop r17 + b38: 0f 91 pop r16 + b3a: 08 95 ret -00000b04 <__ultoa_invert>: - b04: fa 01 movw r30, r20 - b06: aa 27 eor r26, r26 - b08: 28 30 cpi r18, 0x08 ; 8 - b0a: 51 f1 breq .+84 ; 0xb60 <__ultoa_invert+0x5c> - b0c: 20 31 cpi r18, 0x10 ; 16 - b0e: 81 f1 breq .+96 ; 0xb70 <__ultoa_invert+0x6c> - b10: e8 94 clt - b12: 6f 93 push r22 - b14: 6e 7f andi r22, 0xFE ; 254 - b16: 6e 5f subi r22, 0xFE ; 254 - b18: 7f 4f sbci r23, 0xFF ; 255 - b1a: 8f 4f sbci r24, 0xFF ; 255 - b1c: 9f 4f sbci r25, 0xFF ; 255 - b1e: af 4f sbci r26, 0xFF ; 255 - b20: b1 e0 ldi r27, 0x01 ; 1 - b22: 3e d0 rcall .+124 ; 0xba0 <__ultoa_invert+0x9c> - b24: b4 e0 ldi r27, 0x04 ; 4 - b26: 3c d0 rcall .+120 ; 0xba0 <__ultoa_invert+0x9c> - b28: 67 0f add r22, r23 - b2a: 78 1f adc r23, r24 - b2c: 89 1f adc r24, r25 - b2e: 9a 1f adc r25, r26 - b30: a1 1d adc r26, r1 - b32: 68 0f add r22, r24 - b34: 79 1f adc r23, r25 - b36: 8a 1f adc r24, r26 - b38: 91 1d adc r25, r1 - b3a: a1 1d adc r26, r1 - b3c: 6a 0f add r22, r26 - b3e: 71 1d adc r23, r1 - b40: 81 1d adc r24, r1 - b42: 91 1d adc r25, r1 - b44: a1 1d adc r26, r1 - b46: 20 d0 rcall .+64 ; 0xb88 <__ultoa_invert+0x84> - b48: 09 f4 brne .+2 ; 0xb4c <__ultoa_invert+0x48> - b4a: 68 94 set - b4c: 3f 91 pop r19 - b4e: 2a e0 ldi r18, 0x0A ; 10 - b50: 26 9f mul r18, r22 - b52: 11 24 eor r1, r1 - b54: 30 19 sub r19, r0 - b56: 30 5d subi r19, 0xD0 ; 208 - b58: 31 93 st Z+, r19 - b5a: de f6 brtc .-74 ; 0xb12 <__ultoa_invert+0xe> - b5c: cf 01 movw r24, r30 - b5e: 08 95 ret - b60: 46 2f mov r20, r22 - b62: 47 70 andi r20, 0x07 ; 7 - b64: 40 5d subi r20, 0xD0 ; 208 - b66: 41 93 st Z+, r20 - b68: b3 e0 ldi r27, 0x03 ; 3 - b6a: 0f d0 rcall .+30 ; 0xb8a <__ultoa_invert+0x86> - b6c: c9 f7 brne .-14 ; 0xb60 <__ultoa_invert+0x5c> - b6e: f6 cf rjmp .-20 ; 0xb5c <__ultoa_invert+0x58> - b70: 46 2f mov r20, r22 - b72: 4f 70 andi r20, 0x0F ; 15 - b74: 40 5d subi r20, 0xD0 ; 208 - b76: 4a 33 cpi r20, 0x3A ; 58 - b78: 18 f0 brcs .+6 ; 0xb80 <__ultoa_invert+0x7c> - b7a: 49 5d subi r20, 0xD9 ; 217 - b7c: 31 fd sbrc r19, 1 - b7e: 40 52 subi r20, 0x20 ; 32 - b80: 41 93 st Z+, r20 - b82: 02 d0 rcall .+4 ; 0xb88 <__ultoa_invert+0x84> - b84: a9 f7 brne .-22 ; 0xb70 <__ultoa_invert+0x6c> - b86: ea cf rjmp .-44 ; 0xb5c <__ultoa_invert+0x58> - b88: b4 e0 ldi r27, 0x04 ; 4 - b8a: a6 95 lsr r26 - b8c: 97 95 ror r25 - b8e: 87 95 ror r24 - b90: 77 95 ror r23 - b92: 67 95 ror r22 - b94: ba 95 dec r27 - b96: c9 f7 brne .-14 ; 0xb8a <__ultoa_invert+0x86> - b98: 00 97 sbiw r24, 0x00 ; 0 - b9a: 61 05 cpc r22, r1 - b9c: 71 05 cpc r23, r1 - b9e: 08 95 ret - ba0: 9b 01 movw r18, r22 - ba2: ac 01 movw r20, r24 - ba4: 0a 2e mov r0, r26 - ba6: 06 94 lsr r0 - ba8: 57 95 ror r21 - baa: 47 95 ror r20 - bac: 37 95 ror r19 - bae: 27 95 ror r18 - bb0: ba 95 dec r27 - bb2: c9 f7 brne .-14 ; 0xba6 <__ultoa_invert+0xa2> - bb4: 62 0f add r22, r18 - bb6: 73 1f adc r23, r19 - bb8: 84 1f adc r24, r20 - bba: 95 1f adc r25, r21 - bbc: a0 1d adc r26, r0 - bbe: 08 95 ret +00000b3c <__ultoa_invert>: + b3c: fa 01 movw r30, r20 + b3e: aa 27 eor r26, r26 + b40: 28 30 cpi r18, 0x08 ; 8 + b42: 51 f1 breq .+84 ; 0xb98 <__ultoa_invert+0x5c> + b44: 20 31 cpi r18, 0x10 ; 16 + b46: 81 f1 breq .+96 ; 0xba8 <__ultoa_invert+0x6c> + b48: e8 94 clt + b4a: 6f 93 push r22 + b4c: 6e 7f andi r22, 0xFE ; 254 + b4e: 6e 5f subi r22, 0xFE ; 254 + b50: 7f 4f sbci r23, 0xFF ; 255 + b52: 8f 4f sbci r24, 0xFF ; 255 + b54: 9f 4f sbci r25, 0xFF ; 255 + b56: af 4f sbci r26, 0xFF ; 255 + b58: b1 e0 ldi r27, 0x01 ; 1 + b5a: 3e d0 rcall .+124 ; 0xbd8 <__ultoa_invert+0x9c> + b5c: b4 e0 ldi r27, 0x04 ; 4 + b5e: 3c d0 rcall .+120 ; 0xbd8 <__ultoa_invert+0x9c> + b60: 67 0f add r22, r23 + b62: 78 1f adc r23, r24 + b64: 89 1f adc r24, r25 + b66: 9a 1f adc r25, r26 + b68: a1 1d adc r26, r1 + b6a: 68 0f add r22, r24 + b6c: 79 1f adc r23, r25 + b6e: 8a 1f adc r24, r26 + b70: 91 1d adc r25, r1 + b72: a1 1d adc r26, r1 + b74: 6a 0f add r22, r26 + b76: 71 1d adc r23, r1 + b78: 81 1d adc r24, r1 + b7a: 91 1d adc r25, r1 + b7c: a1 1d adc r26, r1 + b7e: 20 d0 rcall .+64 ; 0xbc0 <__ultoa_invert+0x84> + b80: 09 f4 brne .+2 ; 0xb84 <__ultoa_invert+0x48> + b82: 68 94 set + b84: 3f 91 pop r19 + b86: 2a e0 ldi r18, 0x0A ; 10 + b88: 26 9f mul r18, r22 + b8a: 11 24 eor r1, r1 + b8c: 30 19 sub r19, r0 + b8e: 30 5d subi r19, 0xD0 ; 208 + b90: 31 93 st Z+, r19 + b92: de f6 brtc .-74 ; 0xb4a <__ultoa_invert+0xe> + b94: cf 01 movw r24, r30 + b96: 08 95 ret + b98: 46 2f mov r20, r22 + b9a: 47 70 andi r20, 0x07 ; 7 + b9c: 40 5d subi r20, 0xD0 ; 208 + b9e: 41 93 st Z+, r20 + ba0: b3 e0 ldi r27, 0x03 ; 3 + ba2: 0f d0 rcall .+30 ; 0xbc2 <__ultoa_invert+0x86> + ba4: c9 f7 brne .-14 ; 0xb98 <__ultoa_invert+0x5c> + ba6: f6 cf rjmp .-20 ; 0xb94 <__ultoa_invert+0x58> + ba8: 46 2f mov r20, r22 + baa: 4f 70 andi r20, 0x0F ; 15 + bac: 40 5d subi r20, 0xD0 ; 208 + bae: 4a 33 cpi r20, 0x3A ; 58 + bb0: 18 f0 brcs .+6 ; 0xbb8 <__ultoa_invert+0x7c> + bb2: 49 5d subi r20, 0xD9 ; 217 + bb4: 31 fd sbrc r19, 1 + bb6: 40 52 subi r20, 0x20 ; 32 + bb8: 41 93 st Z+, r20 + bba: 02 d0 rcall .+4 ; 0xbc0 <__ultoa_invert+0x84> + bbc: a9 f7 brne .-22 ; 0xba8 <__ultoa_invert+0x6c> + bbe: ea cf rjmp .-44 ; 0xb94 <__ultoa_invert+0x58> + bc0: b4 e0 ldi r27, 0x04 ; 4 + bc2: a6 95 lsr r26 + bc4: 97 95 ror r25 + bc6: 87 95 ror r24 + bc8: 77 95 ror r23 + bca: 67 95 ror r22 + bcc: ba 95 dec r27 + bce: c9 f7 brne .-14 ; 0xbc2 <__ultoa_invert+0x86> + bd0: 00 97 sbiw r24, 0x00 ; 0 + bd2: 61 05 cpc r22, r1 + bd4: 71 05 cpc r23, r1 + bd6: 08 95 ret + bd8: 9b 01 movw r18, r22 + bda: ac 01 movw r20, r24 + bdc: 0a 2e mov r0, r26 + bde: 06 94 lsr r0 + be0: 57 95 ror r21 + be2: 47 95 ror r20 + be4: 37 95 ror r19 + be6: 27 95 ror r18 + be8: ba 95 dec r27 + bea: c9 f7 brne .-14 ; 0xbde <__ultoa_invert+0xa2> + bec: 62 0f add r22, r18 + bee: 73 1f adc r23, r19 + bf0: 84 1f adc r24, r20 + bf2: 95 1f adc r25, r21 + bf4: a0 1d adc r26, r0 + bf6: 08 95 ret -00000bc0 <_exit>: - bc0: f8 94 cli +00000bf8 <_exit>: + bf8: f8 94 cli -00000bc2 <__stop_program>: - bc2: ff cf rjmp .-2 ; 0xbc2 <__stop_program> +00000bfa <__stop_program>: + bfa: ff cf rjmp .-2 ; 0xbfa <__stop_program> diff --git a/V2/Programm/Programm/Debug/Programm.map b/V2/Programm/Programm/Debug/Programm.map index 11f94e5..6541d19 100644 --- a/V2/Programm/Programm/Debug/Programm.map +++ b/V2/Programm/Programm/Debug/Programm.map @@ -240,7 +240,7 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8 .rela.plt *(.rela.plt) -.text 0x00000000 0xbc4 +.text 0x00000000 0xbfc *(.vectors) .vectors 0x00000000 0xe4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6/crtm2560.o 0x00000000 __vector_default @@ -358,65 +358,59 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8 0x0000014c __vector_42 0x00000150 . = ALIGN (0x2) *(.text.*) - .text._ZN6avrlib3pinINS_5portjELh4EE3setEb.part.8 + .text._ZN6avrlib3pinINS_5portlELh5EE3setEb.part.9 0x00000150 0xc Programm.o - .text._ZN6avrlib3pinINS_5portlELh5EE3setEb.part.11 - 0x0000015c 0xc Programm.o - .text._ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE5readyEv.isra.18 - 0x00000168 0x14 Programm.o - .text._ZN7Mcp4151IN6avrlib5portcELi0ENS0_5portgELi0ES2_Li1EE9send_softEh.isra.51 - 0x0000017c 0x24 Programm.o - .text._ZN3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EE9send_softEh.isra.15 - 0x000001a0 0x44 Programm.o + .text._ZN3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EE9send_softEh.isra.33 + 0x0000015c 0x44 Programm.o + .text._ZN7Mcp4151IN6avrlib5portcELi0ENS0_5portgELi0ES2_Li1EE9send_softEh.isra.45 + 0x000001a0 0x24 Programm.o .text._ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE7toggleEEv.isra.5 - 0x000001e4 0x1e Programm.o - .text._ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE14setInstructionEh.isra.21 - 0x00000202 0x16 Programm.o - .text._ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5clearEv.isra.25 - 0x00000218 0x14 Programm.o - .text._ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.31 - 0x0000022c 0xac Programm.o - .text._ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE8printHexEj.isra.33 - 0x000002d8 0x82 Programm.o - .text._ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.34 - 0x0000035a 0x40 Programm.o + 0x000001c4 0x1e Programm.o + .text._ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE14setInstructionEh.isra.15 + 0x000001e2 0x16 Programm.o + .text._ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputcEh.isra.25 + 0x000001f8 0xac Programm.o + .text._ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE5lputsEPKc.isra.26 + 0x000002a4 0x36 Programm.o + .text._ZN6Rfm12BI3SpiIN6avrlib5portjELi4ELi3ELi6ELi5ELi1EELh1ELh0ELh5ELm433920ELj9600ELh0ELh7EE4sendEj.isra.35 + 0x000002da 0xbe Programm.o .text.startup.main - 0x0000039a 0xca Programm.o - 0x0000039a main + 0x00000398 0xfc Programm.o + 0x00000398 main .text._ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv - 0x00000464 0xaa Programm.o - 0x00000464 _ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv + 0x00000494 0xc4 Programm.o + 0x00000494 _ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EE4initEv .text._ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EEC2Ev - 0x0000050e 0x44 Programm.o - 0x0000050e _ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EEC1Ev - 0x0000050e _ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EEC2Ev + 0x00000558 0x44 Programm.o + 0x00000558 _ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EEC1Ev + 0x00000558 _ZN7DisplayI7Mcp4151IN6avrlib5portcELi0ENS1_5portgELi0ES3_Li1EE6LedPWMINS1_5portlELi3EENS1_5portdES6_Li7ELi6ELi5EEC2Ev .text.startup._GLOBAL__sub_I_d - 0x00000552 0xbe Programm.o - .text.libgcc 0x00000610 0x8 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_tablejump_elpm.o) - 0x00000610 __tablejump_elpm__ + 0x0000059c 0xac Programm.o + .text.libgcc 0x00000648 0x8 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_tablejump_elpm.o) + 0x00000648 __tablejump_elpm__ .text.avr-libc - 0x00000618 0x5e c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(sprintf.o) - 0x00000618 sprintf + 0x00000650 0x5e c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(sprintf.o) + 0x00000650 sprintf .text.avr-libc - 0x00000676 0x40a c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(vfprintf_std.o) - 0x00000676 vfprintf + 0x000006ae 0x40a c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(vfprintf_std.o) + 0x000006ae vfprintf .text.avr-libc - 0x00000a80 0x16 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(strnlen_P.o) - 0x00000a80 strnlen_P + 0x00000ab8 0x16 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(strnlen_P.o) + 0x00000ab8 strnlen_P .text.avr-libc - 0x00000a96 0x16 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(strnlen.o) - 0x00000a96 strnlen + 0x00000ace 0x16 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(strnlen.o) + 0x00000ace strnlen .text.avr-libc - 0x00000aac 0x58 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(fputc.o) - 0x00000aac fputc + 0x00000ae4 0x58 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(fputc.o) + 0x00000ae4 fputc .text.avr-libc - 0x00000b04 0xbc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(ultoa_invert.o) - 0x00000b04 __ultoa_invert - 0x00000bc0 . = ALIGN (0x2) + 0x00000b3c 0xbc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(ultoa_invert.o) + 0x00000b3c __ultoa_invert + 0x00000bf8 . = ALIGN (0x2) *(.fini9) - .fini9 0x00000bc0 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_exit.o) - 0x00000bc0 _exit - 0x00000bc0 exit + .fini9 0x00000bf8 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_exit.o) + 0x00000bf8 _exit + 0x00000bf8 exit *(.fini9) *(.fini8) *(.fini8) @@ -435,11 +429,11 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8 *(.fini1) *(.fini1) *(.fini0) - .fini0 0x00000bc0 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_exit.o) + .fini0 0x00000bf8 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_exit.o) *(.fini0) - 0x00000bc4 _etext = . + 0x00000bfc _etext = . -.data 0x00800200 0x6 load address 0x00000bc4 +.data 0x00800200 0x6 load address 0x00000bfc 0x00800200 PROVIDE (__data_start, .) *(.data) .data 0x00800200 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6/crtm2560.o @@ -474,8 +468,8 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8 *(.bss*) *(COMMON) 0x0080020b PROVIDE (__bss_end, .) - 0x00000bc4 __data_load_start = LOADADDR (.data) - 0x00000bca __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x00000bfc __data_load_start = LOADADDR (.data) + 0x00000c02 __data_load_end = (__data_load_start + SIZEOF (.data)) .noinit 0x0080020b 0x0 0x0080020b PROVIDE (__noinit_start, .) @@ -549,66 +543,66 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8 .debug_sfnames *(.debug_sfnames) -.debug_aranges 0x00000000 0xf0 +.debug_aranges 0x00000000 0xd8 *(.debug_aranges) .debug_aranges - 0x00000000 0x90 Programm.o + 0x00000000 0x78 Programm.o .debug_aranges - 0x00000090 0x20 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(sprintf.o) + 0x00000078 0x20 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(sprintf.o) .debug_aranges - 0x000000b0 0x20 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(vfprintf_std.o) + 0x00000098 0x20 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(vfprintf_std.o) .debug_aranges - 0x000000d0 0x20 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(fputc.o) + 0x000000b8 0x20 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(fputc.o) .debug_pubnames *(.debug_pubnames) -.debug_info 0x00000000 0x4783 +.debug_info 0x00000000 0x482e *(.debug_info) - .debug_info 0x00000000 0x3ec2 Programm.o - .debug_info 0x00003ec2 0x204 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(sprintf.o) - .debug_info 0x000040c6 0x549 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(vfprintf_std.o) - .debug_info 0x0000460f 0x174 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(fputc.o) + .debug_info 0x00000000 0x3f6d Programm.o + .debug_info 0x00003f6d 0x204 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(sprintf.o) + .debug_info 0x00004171 0x549 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(vfprintf_std.o) + .debug_info 0x000046ba 0x174 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(fputc.o) *(.gnu.linkonce.wi.*) -.debug_abbrev 0x00000000 0x8a6 +.debug_abbrev 0x00000000 0x89b *(.debug_abbrev) - .debug_abbrev 0x00000000 0x4b5 Programm.o - .debug_abbrev 0x000004b5 0x12a c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(sprintf.o) - .debug_abbrev 0x000005df 0x1d6 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(vfprintf_std.o) - .debug_abbrev 0x000007b5 0xf1 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(fputc.o) + .debug_abbrev 0x00000000 0x4aa Programm.o + .debug_abbrev 0x000004aa 0x12a c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(sprintf.o) + .debug_abbrev 0x000005d4 0x1d6 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(vfprintf_std.o) + .debug_abbrev 0x000007aa 0xf1 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(fputc.o) -.debug_line 0x00000000 0xd82 +.debug_line 0x00000000 0xdd5 *(.debug_line) - .debug_line 0x00000000 0x85b Programm.o - .debug_line 0x0000085b 0x14e c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(sprintf.o) - .debug_line 0x000009a9 0x2ff c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(vfprintf_std.o) - .debug_line 0x00000ca8 0xda c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(fputc.o) + .debug_line 0x00000000 0x8ae Programm.o + .debug_line 0x000008ae 0x14e c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(sprintf.o) + .debug_line 0x000009fc 0x2ff c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(vfprintf_std.o) + .debug_line 0x00000cfb 0xda c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(fputc.o) -.debug_frame 0x00000000 0x248 +.debug_frame 0x00000000 0x224 *(.debug_frame) - .debug_frame 0x00000000 0x14c Programm.o - .debug_frame 0x0000014c 0x40 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(sprintf.o) - .debug_frame 0x0000018c 0x84 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(vfprintf_std.o) - .debug_frame 0x00000210 0x38 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(fputc.o) + .debug_frame 0x00000000 0x128 Programm.o + .debug_frame 0x00000128 0x40 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(sprintf.o) + .debug_frame 0x00000168 0x84 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(vfprintf_std.o) + .debug_frame 0x000001ec 0x38 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(fputc.o) -.debug_str 0x00000000 0x97de +.debug_str 0x00000000 0x97d8 *(.debug_str) - .debug_str 0x00000000 0x9643 Programm.o - 0x97b0 (size before relaxing) - .debug_str 0x00009643 0x9c c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(sprintf.o) + .debug_str 0x00000000 0x963d Programm.o + 0x97aa (size before relaxing) + .debug_str 0x0000963d 0x9c c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(sprintf.o) 0x127 (size before relaxing) - .debug_str 0x000096df 0xb2 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(vfprintf_std.o) + .debug_str 0x000096d9 0xb2 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(vfprintf_std.o) 0x198 (size before relaxing) - .debug_str 0x00009791 0x4d c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(fputc.o) + .debug_str 0x0000978b 0x4d c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(fputc.o) 0xf8 (size before relaxing) -.debug_loc 0x00000000 0xfc9 +.debug_loc 0x00000000 0xfde *(.debug_loc) - .debug_loc 0x00000000 0x852 Programm.o - .debug_loc 0x00000852 0x61 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(sprintf.o) - .debug_loc 0x000008b3 0x623 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(vfprintf_std.o) - .debug_loc 0x00000ed6 0xf3 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(fputc.o) + .debug_loc 0x00000000 0x867 Programm.o + .debug_loc 0x00000867 0x61 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(sprintf.o) + .debug_loc 0x000008c8 0x623 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(vfprintf_std.o) + .debug_loc 0x00000eeb 0xf3 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(fputc.o) .debug_macinfo *(.debug_macinfo) @@ -616,12 +610,12 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8 .debug_pubtypes *(.debug_pubtypes) -.debug_ranges 0x00000000 0x218 +.debug_ranges 0x00000000 0x158 *(.debug_ranges) - .debug_ranges 0x00000000 0x1e8 Programm.o - .debug_ranges 0x000001e8 0x10 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(sprintf.o) - .debug_ranges 0x000001f8 0x10 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(vfprintf_std.o) - .debug_ranges 0x00000208 0x10 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(fputc.o) + .debug_ranges 0x00000000 0x128 Programm.o + .debug_ranges 0x00000128 0x10 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(sprintf.o) + .debug_ranges 0x00000138 0x10 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(vfprintf_std.o) + .debug_ranges 0x00000148 0x10 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a(fputc.o) .debug_macro 0x00000000 0x2f76 *(.debug_macro) diff --git a/V2/Programm/Programm/Debug/Programm.srec b/V2/Programm/Programm/Debug/Programm.srec index c5641a2..b39ecb4 100644 --- a/V2/Programm/Programm/Debug/Programm.srec +++ b/V2/Programm/Programm/Debug/Programm.srec @@ -13,180 +13,183 @@ S11300A00C94A6000C94A6000C94A6000C94A60034 S11300B00C94A6000C94A6000C94A6000C94A60024 S11300C00C94A6000C94A6000C94A6000C94A60014 S11300D00C94A6000C94A6000C94A6000C94A60004 -S11300E00C94A6000C94A902A90211241FBECFEF00 +S11300E00C94A6000C94CE02CE0211241FBECFEFB6 S11300F0D1E2DEBFCDBF00E00CBF12E0A0E0B2E071 -S1130100E4ECFBE000E00BBF02C007900D92A630C8 +S1130100ECEFFBE000E00BBF02C007900D92A630BD S1130110B107D9F722E0A6E0B2E001C01D92AB30EE S1130120B207E1F710E0CAEED0E000E006C0229783 -S11301300109FE010BBF0E940803C83ED10780E0FD -S11301400807A9F70E94CD010C94E0050C94000067 -S1130150E5E0F1E08081806180830895EBE0F1E0E7 -S11301608081806280830895809105018F7E8093D1 -S113017005018091030183FFFCCF089598E087FF78 -S113018002C0A09A01C0A098989AA19A999A880F3F -S113019000C000C00000A198999A915081F7089579 -S11301A0382F98E080E02091050137FF02C02064D9 -S11301B001C02F7B20930501880F2091030123FDAB -S11301C0816020910501206220930501330F00C056 -S11301D000C00000209105012F7D2093050191505E -S11301E011F70895EBE0F1E080818068808383ED6E -S11301F090E00197F1F700C0000080818F77808341 -S11302000895EBE0F1E090819F7B908390819F7D46 -S113021090838BB90C94F20081E00E9401018FE37A -S11302209FE10197F1F700C000000895CF93C82F14 -S113023090910B01906490930B0190910B019F7D21 -S113024090930B011BB81AB80E94F20099B18FEF7A -S11302508AB9CA30E9F4892F8055803110F480E8D6 -S11302600EC0903110F480EC0AC0892F8054803184 -S113027010F480E904C09051903160F580ED0E9443 -S113028001018FE99FE00197F1F700C0000022C04F -S11302909F3011F480EC0BC09F3411F480E907C047 -S11302A09F3111F480ED03C09F3549F480E80E942A -S11302B001018FE99FE00197F1F700C000009091E0 -S11302C00B019F7B90930B010E94AE00CBB9CF91A1 -S11302D00C94F200CF9108950F931F93CF93DF9363 -S11302E0CDB7DEB72A970FB6F894DEBF0FBECDBFE9 -S11302F09F938F9380E092E09F938F938E010F5F83 -S11303001F4F1F930F930E940C030F900F900F9099 -S11303100F900F900F9011C0843E11F481EE0BC02A -S1130320863F11F48FEE07C08C3F11F485EF03C0B4 -S11303308F3D09F482EE0E941601F80181918F012C -S11303408111EACF2A960FB6F894DEBF0FBECDBF57 -S1130350DF91CF911F910F9108951F93CF93DF9356 -S1130360182FC92FE5E0F1E020812F7E20830E9421 -S11303706C018C2F0E94D000D82F80E0C82F812FD1 -S11303800E94D000C82B0E94A800CE010E946C01DC -S1130390CE01DF91CF911F9108958FEF80932801B3 -S11303A00E940C0188E792E80E94AD010E94B4000B -S11303B080E098EB0E94AD010E94B40081E098EBCC -S11303C00E94AD010E94B40085E098EB0E94AD014B -S11303D00E94B40080E098EB0E94AD010E94B4003A -S11303E088E092E80E94AD012FEF81EE94E0215065 -S11303F080409040E1F700C0000088ED92E80E9440 -S1130400AD0181E89AEC0E94AD0183E89AEC0E9468 -S1130410AD0102C00E940C0180E090EB0E94AD018E -S113042090930602809307029F3FA1F70E940C015C -S1130430809106028F3F29F41092060280910702F0 -S113044004C080E090EB0E94AD0190E00E946C013A -S11304502FEF81EE94E0215080409040E1F700C0FE -S11304600000DACF8FEF99EF0197F1F700C0000099 -S113047088E30E9401018FE19EE40197F1F700C037 -S113048000000E94F2008FED91E00197F1F700C0A7 -S113049000000E94F2008FED91E00197F1F700C097 -S11304A000000E94F2008FED91E00197F1F700C087 -S11304B0000080E00E9401018FE39FE10197F1F7C2 -S11304C000C000000E940C0184E00E9401019FEF23 -S11304D021EE84E0915020408040E1F700C000000C -S11304E08CE00E9401018FE39FE10197F1F700C0C6 -S11304F000000E940C01409881E00E94BE0080E050 -S11305000E94BE00409A8FEF809328010895A1981D -S1130510999A409A389AA098989AEAE0F1E0208152 -S11305202860208321E82093200129E020932101E1 -S1130530A8E2B1E01C921C922081206820832081D3 -S1130540206420832081206220832FEF2AB90C9419 -S113055032020F931F93CF93DF9389E092E00E94BE -S11305608702109206021092070205E011E0F801DA -S113057080818F7B8083C4E0D1E08881806488831C -S113058080818F7D80838881806288830E94A80017 -S11305908881806188838881877F8883F80180814E -S11305A0877F80838FE39CE90197F1F700C0000007 -S11305B080E290EC0E94AD0187ED90E80E94AD01CD -S11305C08BEA92EC0E94AD0181E89AEC0E94AD01A5 -S11305D080E090EE0E94AD0180E098EC0E94AD01B5 -S11305E087EF94EC0E94AD0180E296EA0E94AD018F -S11305F085E294E90E94AD0182E296EC0E94AD018D -S113060080E798E9DF91CF911F910F910C94AD0190 -S11306100790F691E02D19940F931F93CF93DF93D6 -S1130620CDB7DEB72E970FB6F894DEBF0FBECDBFA1 -S11306300E891F8986E08C831A8309838FEF9FE7D5 -S11306409E838D83CE014A96AC01688D798DCE014F -S113065001960E943B03EF81F885E00FF11F1082A1 -S11306602E960FB6F894DEBF0FBECDBFDF91CF91AB -S11306701F910F9108952F923F924F925F926F9224 -S11306807F928F929F92AF92BF92CF92DF92EF921E -S1130690FF920F931F93CF93DF93CDB7DEB72C97C1 -S11306A00FB6F894DEBF0FBECDBF7C016B018A018B -S11306B0FC0117821682838181FFC6C1882483943A -S11306C0912C8C0E9D1EF7019381F60193FD85916B -S11306D093FF81916F01882309F4B2C1853239F403 -S11306E093FD859193FF81916F01853229F4B701C0 -S11306F090E00E945605E7CF512C312C20E02032A7 -S1130700A8F48B3261F028F4803251F0833271F412 -S11307100BC08D3239F0803349F4216028C0226047 -S1130720246025C0286023C0206121C027FD27C084 -S1130730382F30533A3078F426FF06C0FAE05F9E33 -S1130740300D1124532E13C08AE0389E300D11242D -S1130750332E20620CC08E3221F426FD71C1206438 -S113076006C08C3611F4206802C0883641F4F601C4 -S113077093FD859193FF81916F018111C0CF982FD3 -S11307809554933018F09052933028F40C5F1F4F17 -S1130790FFE3F9830DC0833631F0833771F083357D -S11307A009F05EC023C0F801808189830E5F1F4F6A -S11307B044244394512C540115C03801F2E06F0EC7 -S11307C0711CF801A080B18026FF03C0652D70E084 -S11307D002C06FEF7FEFC5012C870E944B052C01EF -S11307E083012C856FE7262E222218C03801F2E0FF -S11307F06F0E711CF801A080B18026FF03C0652D27 -S113080070E002C06FEF7FEFC5012C870E944005A6 -S11308102C012C8550E8252E222A830123FC1CC0A0 -S113082006C0B70180E290E00E9456053A94832DF9 -S113083090E048165906A8F30FC0F50127FC8591EE -S113084027FE81915F01B70190E00E9456053110A7 -S11308503A94F1E04F1A51084114510471F7EDC074 -S1130860843611F0893641F5F80127FF07C060810D -S11308707181828193810C5F1F4F08C060817181F7 -S1130880882777FD8095982F0E5F1F4F4FE6B42E73 -S1130890B22297FF09C090958095709561957F4F1E -S11308A08F4F9F4FF0E8BF2A2AE030E0A4010E9456 -S11308B08205A82EA81843C0853731F43FEEB32E25 -S11308C0B2222AE030E024C099EFB92EB2228F364A -S11308D0B9F020F4883509F0B3C00DC0803721F099 -S11308E0883709F0ADC002C020E1B22AB4FE0BC0C3 -S11308F084E0B82A08C024FF09C0E6E0BE2A06C086 -S113090028E030E005C020E130E002C020E132E020 -S1130910F801B7FE07C060817181828193810C5F09 -S11309201F4F06C06081718180E090E00E5F1F4F11 -S1130930A4010E948205A82EA818FFE7BF22B6FED4 -S11309400BC02B2D2E7FA51450F4B4FE0AC0B2FCAC -S113095008C02B2D2E7E05C07A2C2B2D03C07A2C9B -S113096001C0752C24FF0DC0FE01EA0DF11D80812C -S1130970803311F4297E09C022FF06C07394739456 -S113098004C0822F867809F0739423FD14C020FFDD -S11309900FC05A2C731460F4530C5718732C08C0EE -S11309A0B70180E290E02C870E94560573942C8551 -S11309B07314B0F304C0731410F4371801C0312C4D -S11309C024FF12C0B70180E390E02C870E945605F3 -S11309D02C8522FF1EC021FF03C088E590E002C0E1 -S11309E088E790E0B7010CC0822F867891F021FD52 -S11309F002C080E201C08BE227FD8DE2B70190E0E6 -S1130A000E94560506C0B70180E390E00E94560597 -S1130A105A94A514C0F3AA94F401EA0DF11DB70188 -S1130A20808190E00E945605A110F5CF06C0B70161 -S1130A3080E290E00E9456053A943110F8CF43CEFC -S1130A40F7012681378102C02FEF3FEFC9012C96B1 -S1130A500FB6F894DEBF0FBECDBFDF91CF911F91CB -S1130A600F91FF90EF90DF90CF90BF90AF909F9049 -S1130A708F907F906F905F904F903F902F9008954C -S1130A80FC010590615070400110D8F78095909555 -S1130A908E0F9F1F0895FC0161507040019001105A -S1130AA0D8F7809590958E0F9F1F08950F931F93ED -S1130AB0CF93DF938C01EB018B8181FD03C00FEF9A -S1130AC01FEF1AC082FF0DC02E813F818C819D8152 -S1130AD02817390764F4E881F9810193F983E883DD -S1130AE006C0E885F985802F1995892B41F78E81F9 -S1130AF09F8101969F838E83C801DF91CF911F91BF -S1130B000F910895FA01AA27283051F1203181F17B -S1130B10E8946F936E7F6E5F7F4F8F4F9F4FAF4F01 -S1130B20B1E03ED0B4E03CD0670F781F891F9A1F14 -S1130B30A11D680F791F8A1F911DA11D6A0F711DC8 -S1130B40811D911DA11D20D009F468943F912AE0D4 -S1130B50269F11243019305D3193DEF6CF010895BC -S1130B60462F4770405D4193B3E00FD0C9F7F6CFED -S1130B70462F4F70405D4A3318F0495D31FD4052B5 -S1130B80419302D0A9F7EACFB4E0A695979587954B -S1130B9077956795BA95C9F700976105710508952A -S1130BA09B01AC010A2E06945795479537952795D6 -S1130BB0BA95C9F7620F731F841F951FA01D08956E -S1070BC0F894FFCFD3 -S1090BC425303458200026 +S11301300109FE010BBF0E942403C83ED10780E0E1 +S11301400807A9F70E94CC010C94FC050C9400004C +S1130150EBE0F1E08081806280830895382F98E09D +S113016080E02091050137FF02C0206401C02F7B8D +S113017020930501880F2091030123FD81602091C4 +S11301800501206220930501330F00C000C0000068 +S1130190209105012F7D20930501915011F70895B9 +S11301A098E087FF02C0A09A01C0A098989AA19AEB +S11301B0999A880F00C000C00000A198999A9150A4 +S11301C081F70895EBE0F1E080818068808383ED1E +S11301D090E00197F1F700C0000080818F77808361 +S11301E00895EBE0F1E090819F7B908390819F7D67 +S11301F090838BB90C94E200CF93C82F90910B019C +S1130200906490930B0190910B019F7D90930B014F +S11302101BB81AB80E94E20099B18FEF8AB9CA30AC +S1130220E9F4892F8055803110F480E80EC09031B4 +S113023010F480EC0AC0892F8054803110F480E9D6 +S113024004C09051903160F580ED0E94F1008FE977 +S11302509FE00197F1F700C0000022C09F3011F425 +S113026080EC0BC09F3411F480E907C09F3111F476 +S113027080ED03C09F3549F480E80E94F1008FE9C6 +S11302809FE00197F1F700C0000090910B019F7B64 +S113029090930B010E94A800CBB9CF910C94E2007B +S11302A0CF910895CF93DF93EC0111C0843E11F4F4 +S11302B081EE0BC0863F11F48FEE07C08C3F11F422 +S11302C085EF03C08F3D09F482EE0E94FC00899102 +S11302D08111ECCFDF91CF9108959F92AF92BF929D +S11302E0CF92DF92EF92FF920F931F93CF93DF93FE +S11302F0CDB7DEB72A970FB6F894DEBF0FBECDBFD9 +S1130300982EF92E85E0A82EBB24B394F501208104 +S11303102F7E20839F939F9290E0C92E92E0D92E46 +S1130320DF92CF928E010F5F1F4F1F930F930E9496 +S11303302803C8010E9452018F2D0E94AE00F82E9E +S1130340E12C892D0E94AE00E82AF50180818061AC +S11303508083FF92EF92DF92CF921F930F930E94BC +S11303602803C8010E9452010FB6F894DEBF0FBEE5 +S1130370CDBFC7012A960FB6F894DEBF0FBECDBF1E +S1130380DF91CF911F910F91FF90EF90DF90CF906D +S1130390BF90AF909F90089581E00E94F1008FE399 +S11303A09FE10197F1F700C0000088E792E80E94FE +S11303B06D019FEF21EE84E0915020408040E1F7F1 +S11303C000C000008AEA98EB0E946D018FE39CE96B +S11303D00197F1F700C000008AEA98EB0E946D01D2 +S11303E08FE39CE90197F1F700C000008AEA98EBDB +S11303F00E946D018FE39CE90197F1F700C00000B2 +S11304008DE298EB0E946D018FE39CE90197F1F76F +S113041000C0000084ED98EB0E946D018FE39CE91D +S11304200197F1F700C0000080E098EB0E946D0195 +S11304308FE39CE90197F1F700C0000081E098EB9D +S11304400E946D018FE39CE90197F1F700C0000061 +S113045085E098EB0E946D018FE39CE90197F1F729 +S113046000C0000080E098EB0E946D018FE39CE9DE +S11304700197F1F700C0000088E592E80E946D0141 +S11304809FEF21EE84E0915020408040E1F700C0CE +S1130490000082CF8FEF99EF0197F1F700C00000C1 +S11304A088E30E94F1008FE19EE40197F1F700C018 +S11304B000000E94E2008FED91E00197F1F700C087 +S11304C000000E94E2008FED91E00197F1F700C077 +S11304D000000E94E2008FED91E00197F1F700C067 +S11304E0000080E00E94F1008FE39FE10197F1F7A3 +S11304F000C0000081E00E94F1008FE39FE10197BA +S1130500F1F700C0000084E00E94F1009FEF21EEAB +S113051084E0915020408040E1F700C000008CE06E +S11305200E94F1008FE39FE10197F1F700C0000002 +S113053081E00E94F1008FE39FE10197F1F700C091 +S11305400000409881E00E94D00080E00E94D0002A +S1130550409A109228010895A198999A409A389A3D +S1130560A098989AEAE0F1E020812860208321E8AD +S11305702093200129E020932101A8E2B1E01C92FC +S11305801C92208120682083208120642083208184 +S1130590206220832FEF2AB90C944A0289E092E06A +S11305A00E94AC021092060210920702E5E0F1E00C +S11305B080818F7B8083A4E0B1E08C9180648C93F4 +S11305C080818F7D80838C9180628C938081806117 +S11305D080838C9180618C938C91877F8C938081B4 +S11305E0877F80838FE39CE90197F1F700C00000C7 +S11305F080E290EC0E946D0187ED90E80E946D010D +S11306008BEA92EC0E946D0181E89AEC0E946D01E4 +S113061080E090EE0E946D0180E098EC0E946D01F4 +S113062087EF94EC0E946D0180E296EA0E946D01CE +S113063085E294E90E946D0182E296EC0E946D01CC +S113064080E798E90C946D010790F691E02D1994D8 +S11306500F931F93CF93DF93CDB7DEB72E970FB6CB +S1130660F894DEBF0FBECDBF0E891F8986E08C8350 +S11306701A8309838FEF9FE79E838D83CE014A9669 +S1130680AC01688D798DCE0101960E945703EF81EC +S1130690F885E00FF11F10822E960FB6F894DEBF96 +S11306A00FBECDBFDF91CF911F910F9108952F926F +S11306B03F924F925F926F927F928F929F92AF92EE +S11306C0BF92CF92DF92EF92FF920F931F93CF933B +S11306D0DF93CDB7DEB72C970FB6F894DEBF0FBE0D +S11306E0CDBF7C016B018A01FC01178216828381D4 +S11306F081FFC6C188248394912C8C0E9D1EF70122 +S11307009381F60193FD859193FF81916F01882375 +S113071009F4B2C1853239F493FD859193FF819137 +S11307206F01853229F4B70190E00E947205E7CF8A +S1130730512C312C20E02032A8F48B3261F028F4C3 +S1130740803251F0833271F40BC08D3239F0803332 +S113075049F4216028C02260246025C0286023C099 +S1130760206121C027FD27C0382F30533A3078F458 +S113077026FF06C0FAE05F9E300D1124532E13C0ED +S11307808AE0389E300D1124332E20620CC08E3244 +S113079021F426FD71C1206406C08C3611F4206852 +S11307A002C0883641F4F60193FD859193FF81914F +S11307B06F018111C0CF982F9554933018F0905247 +S11307C0933028F40C5F1F4FFFE3F9830DC0833689 +S11307D031F0833771F0833509F05EC023C0F8012E +S11307E0808189830E5F1F4F44244394512C54010C +S11307F015C03801F2E06F0E711CF801A080B180C1 +S113080026FF03C0652D70E002C06FEF7FEFC501C6 +S11308102C870E9467052C0183012C856FE7262E07 +S1130820222218C03801F2E06F0E711CF801A0807A +S1130830B18026FF03C0652D70E002C06FEF7FEF2B +S1130840C5012C870E945C052C012C8550E8252EBF +S1130850222A830123FC1CC006C0B70180E290E079 +S11308600E9472053A94832D90E048165906A8F325 +S11308700FC0F50127FC859127FE81915F01B70127 +S113088090E00E94720531103A94F1E04F1A510839 +S11308904114510471F7EDC0843611F0893641F5E5 +S11308A0F80127FF07C060817181828193810C5F09 +S11308B01F4F08C060817181882777FD8095982F2C +S11308C00E5F1F4F4FE6B42EB22297FF09C09095DA +S11308D08095709561957F4F8F4F9F4FF0E8BF2AA9 +S11308E02AE030E0A4010E949E05A82EA81843C067 +S11308F0853731F43FEEB32EB2222AE030E024C033 +S113090099EFB92EB2228F36B9F020F4883509F068 +S1130910B3C00DC0803721F0883709F0ADC002C0E4 +S113092020E1B22AB4FE0BC084E0B82A08C024FF38 +S113093009C0E6E0BE2A06C028E030E005C020E198 +S113094030E002C020E132E0F801B7FE07C0608168 +S11309507181828193810C5F1F4F06C06081718118 +S113096080E090E00E5F1F4FA4010E949E05A82E18 +S1130970A818FFE7BF22B6FE0BC02B2D2E7FA514AF +S113098050F4B4FE0AC0B2FC08C02B2D2E7E05C064 +S11309907A2C2B2D03C07A2C01C0752C24FF0DC09A +S11309A0FE01EA0DF11D8081803311F4297E09C016 +S11309B022FF06C07394739404C0822F867809F0D2 +S11309C0739423FD14C020FF0FC05A2C731460F4D9 +S11309D0530C5718732C08C0B70180E290E02C87A1 +S11309E00E94720573942C857314B0F304C07314BD +S11309F010F4371801C0312C24FF12C0B70180E372 +S1130A0090E02C870E9472052C8522FF1EC021FFD6 +S1130A1003C088E590E002C088E790E0B7010CC00D +S1130A20822F867891F021FD02C080E201C08BE222 +S1130A3027FD8DE2B70190E00E94720506C0B70160 +S1130A4080E390E00E9472055A94A514C0F3AA941E +S1130A50F401EA0DF11DB701808190E00E94720556 +S1130A60A110F5CF06C0B70180E290E00E947205A4 +S1130A703A943110F8CF43CEF7012681378102C072 +S1130A802FEF3FEFC9012C960FB6F894DEBF0FBECF +S1130A90CDBFDF91CF911F910F91FF90EF90DF9029 +S1130AA0CF90BF90AF909F908F907F906F905F900A +S1130AB04F903F902F900895FC0105906150704035 +S1130AC00110D8F7809590958E0F9F1F0895FC0113 +S1130AD06150704001900110D8F7809590958E0F69 +S1130AE09F1F08950F931F93CF93DF938C01EB0106 +S1130AF08B8181FD03C00FEF1FEF1AC082FF0DC071 +S1130B002E813F818C819D812817390764F4E88107 +S1130B10F9810193F983E88306C0E885F985802F7C +S1130B201995892B41F78E819F8101969F838E832E +S1130B30C801DF91CF911F910F910895FA01AA275F +S1130B40283051F1203181F1E8946F936E7F6E5F0C +S1130B507F4F8F4F9F4FAF4FB1E03ED0B4E03CD0BA +S1130B60670F781F891F9A1FA11D680F791F8A1F9D +S1130B70911DA11D6A0F711D811D911DA11D20D004 +S1130B8009F468943F912AE0269F11243019305DBE +S1130B903193DEF6CF010895462F4770405D4193AF +S1130BA0B3E00FD0C9F7F6CF462F4F70405D4A33FC +S1130BB018F0495D31FD4052419302D0A9F7EACFC4 +S1130BC0B4E0A6959795879577956795BA95C9F7F3 +S1130BD000976105710508959B01AC010A2E0694E6 +S1130BE05795479537952795BA95C9F7620F731F9F +S10F0BF0841F951FA01D0895F894FFCFEA +S1090BFC253034582000EE S9030000FC diff --git a/V2/Programm/Programm/Programm.cpp b/V2/Programm/Programm/Programm.cpp index 6ced6b6..28549c8 100644 --- a/V2/Programm/Programm/Programm.cpp +++ b/V2/Programm/Programm/Programm.cpp @@ -25,7 +25,9 @@ rfm12class r; int main(void) { + while(1) { r.txpacket(ALL, MASTER, SETACTIVE); + } r.beginasyncrx(); while(1) { while(!r.hasdata()) {d.clear();} diff --git a/V2/Programm/Programm/io/Display.hpp b/V2/Programm/Programm/io/Display.hpp index 79e03c2..bcaae68 100644 --- a/V2/Programm/Programm/io/Display.hpp +++ b/V2/Programm/Programm/io/Display.hpp @@ -124,7 +124,7 @@ class Display { this->clear(); this->setContrastMax(); - this->setBacklightMax(); + this->setBacklightMin(); } void entrymode() { diff --git a/V2/Programm/Programm/io/rfm12b.hpp b/V2/Programm/Programm/io/rfm12b.hpp index 551e8ba..a0946ec 100644 --- a/V2/Programm/Programm/io/rfm12b.hpp +++ b/V2/Programm/Programm/io/rfm12b.hpp @@ -100,28 +100,38 @@ class Rfm12B { ************************************************************************/ d.clear(); this->send(0x8278); //war 8238 // TX on - this->ready(); - /*//_delay_ms(3000); + _delay_ms(100); + //this->ready(); + //_delay_ms(3000); this->send(0xB8AA); - this->ready(); + _delay_ms(10); + //this->ready(); this->send(0xB8AA); - this->ready(); + _delay_ms(10); + //this->ready(); this->send(0xB8AA); - this->ready(); + _delay_ms(10); + //this->ready(); this->send(0xB82D); + _delay_ms(10); //_delay_ms(15000); - this->ready(); + //this->ready(); this->send(0xB8D4); - this->ready();*/ + _delay_ms(10); + //this->ready();*/ this->send(0xB800|addr); - this->ready(); + _delay_ms(10); + //this->ready(); this->send(0xB800|from); - this->ready(); + _delay_ms(10); + //this->ready(); this->send(0xB800|data); - this->ready(); + _delay_ms(10); + //this->ready(); this->send(0xB800); - this->ready(); - this->send(0x8208); // TX off + _delay_ms(10); + //this->ready(); + this->send(0x8258); // TX off _delay_ms(100); } private: diff --git a/V2/Programm/Programm/peripheral.h b/V2/Programm/Programm/peripheral.h index 2735114..fa15ef8 100644 --- a/V2/Programm/Programm/peripheral.h +++ b/V2/Programm/Programm/peripheral.h @@ -94,7 +94,7 @@ typedef Rfm12B< 5, //DRRSI 433920,//(uint16_t)RF12FREQ(433.92), // Sende/Empfangsfrequenz auf 433,92MHz einstellen 9600, //Baudrate // 9600 baud - 7, //Power // 1mW Ausgangsleistung, 120kHz Frequenzshift + 0, //Power // 1mW Ausgangsleistung, 120kHz Frequenzshift 7 //Shift (war 6 = 105 kHz) > rfm12class;