Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 652 → Rev 653

/branches/MicroMag3_Nick666/Festkomma/V0.68d/Flight-Ctrl_MEGA644_V0_68d.eep
0,0 → 1,25
:1000000000000000000000000000000000000000F0
:1000100000000000000000000000000000000000E0
:1000200000000000000000000000000000000000D0
:1000300000000000000000000000000000000000C0
:1000400000000000000000000000000000000000B0
:1000500000000000000000000000000000000000A0
:100060000000000000000000000000000000000090
:100070000000000000000000000000000000000080
:100080000000000000000000000000000000000070
:100090000000000000000000000000000000000060
:1000A0000000000000000000000000000000000050
:1000B0000000000000000000000000000000000040
:1000C0000000000000000000000000000000000030
:1000D0000000000000000000000000000000000020
:1000E0000000000000000000000000000000000010
:1000F0000000000000000000000000000000000000
:1001000000000000000000000000000000000000EF
:1001100000000000000000000000000000000000DF
:1001200000000000000000000000000000000000CF
:1001300000000000000000000000000000000000BF
:1001400000000000000000000000000000000000AF
:10015000000000000000000000000000000000009F
:10016000000000000000000000000000000000008F
:0901700000000000000000000086
:00000001FF
/branches/MicroMag3_Nick666/Festkomma/V0.68d/Flight-Ctrl_MEGA644_V0_68d.elf
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/MicroMag3_Nick666/Festkomma/V0.68d/Flight-Ctrl_MEGA644_V0_68d.hex
0,0 → 1,2006
:100000000C94A8030C94C5030C94C5030C94C5036D
:100010000C94C5030C94C5030C94C5030C94C50340
:100020000C94C5030C94C50C0C94C5030C94C50327
:100030000C9493160C94C5030C94C5030C94C5033F
:100040000C94C5030C94C5030C94680D0C94B33741
:100050000C947F060C94C5030C9449060C94C503BC
:100060000C94100E0C94C5030C94D2150C94C5037B
:10007000E708F3080509BB09BB09BB0951091C09BD
:10008000BB09BB0940097D097D097D097D097D0901
:100090005509BB09BB093709BB094D093A0E4F0E7B
:1000A000580E620E7F0E970EB00ECD0EEA0E070FA1
:1000B000EB0F44118C11ED11431297121B13C21355
:1000C000101434146A14A614E41436156F150A0AB1
:1000D0000D004E65757472616C0048656164696EEF
:1000E00067486F6C64000A0D537465756572756EB0
:1000F000673A20004F4B0A0D000A0D4162676C659C
:10010000696368204C756674647275636B73656EA1
:10011000736F722E2E000A0D4B616C6962726965F5
:100120007265204E65757472616C6C616765000A5A
:100130000D4B616C69627269657265204B6F6D7001
:10014000617373000A0D42656E75747A65205061A3
:1001500072616D657465727361747A202564000A3A
:100160000D496E69742E20454550524F4D3A204737
:10017000656E6572696572652044656661756C744B
:100180002D506172616D657465722E2E2E000A0D00
:100190003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D8F
:1001A0003D3D3D3D3D3D3D3D3D3D3D3D3D3D000AEF
:1001B0000D466C69676874436F6E74726F6C0A0DDC
:1001C00048617264776172653A25642E25640A0D70
:1001D000536F6674776172653A5625642E256425DF
:1001E0006320002E005A5F52616E67653A20202519
:1001F000346900595F52616E67653A202025346981
:1002000000585F52616E67653A2020253469004DC1
:100210004D332052616E6765005A5F4F66667365A5
:10022000743A202025336900595F4F666673657400
:100230003A202025336900585F4F66667365743A2B
:100240002020253369004D4D33204F6666004869F4
:100250003A253469202043663A25346920004773E3
:100260003A253469202047693A25346920004E69CF
:100270003A2534692020526F3A25346920004578A8
:100280007465726E436F6E74726F6C2020005261E1
:100290006E67653A2533692D253369005374656CA3
:1002A0006C756E673A2025336900536574706F6909
:1002B0006E74202025336900536572766F2020000C
:1002C000506F7469343A202025336900506F746987
:1002D000333A202025336900506F7469323A202068
:1002E00025336900506F7469313A20202533690045
:1002F00053746172743A2020202020253569004D06
:10030000657373776572743A2020253569005269E8
:10031000636874756E673A2020253569004B6F6DF0
:10032000706173732020202020202000456D7066AE
:100330002E506567656C3A253569005370616E6EA5
:10034000756E673A202025356900486F636820255F
:10035000346920282533692900526F6C6C202534BC
:1003600069202825336929004E69636B202534698B
:1003700020282533692900414343202D2053656EF1
:10038000736F720047696572202534692028253310
:10039000692900526F6C6C20253469202825336947
:1003A00029004E69636B202534692028253369298B
:1003B00000476965722025346920282533692900A2
:1003C000526F6C6C20253469202825336929004E32
:1003D00069636B2025346920282533692900477912
:1003E000726F202D2053656E736F720050333A2563
:1003F0003469202050343A253469200050313A25A0
:100400003469202050323A253469200047733A2558
:100410003469202047693A25346920004E693A251D
:1004200034692020526F3A25346920004B373A2531
:10043000346920204B383A25346920004B353A2561
:10044000346920204B363A25346920004B333A2555
:10045000346920204B343A25346920004B313A2549
:10046000346920204B323A25346920004B6F6D707F
:100470006173733A20202025356900526F6C6C3A05
:10048000202020202020253569004E69636B3A200A
:10049000202020202025356900616B742E204C61BE
:1004A00067650048F668656E726567656C756E67AE
:1004B000004B65696E6520004F6666202020202075
:1004C000203A20253569004C756674647275636B3B
:1004D0003A2025356900536F6C6C486F6568653A42
:1004E0002025356900486F6568653A202020202066
:1004F0002535690028632920486F6C6765722042A2
:100500007573730053657474696E673A20256420AF
:100510000048573A5625642E25642053573A2564DF
:100520002E25642563002B204D696B726F4B6F7015
:10053000746572202B005B25695D005B25695D0099
:1005400000010203040405060708090A0B0B0C0D41
:100550000E0F101111121314151516171818191A59
:100560001B1B1C1D1D1E1F1F202121222323242491
:100570002525262727282829292A2A2B2B2C2C2DEC
:100580002D2D2E2E2F2F3030303131323232333369
:1005900033343434353535363636373737373838FF
:1005A00038393939393A3A3A3A3B3B3B3B3C3C3CA7
:1005B0003C3C3D3D3D3D3E3E3E3E3E3F3F3F3F3F5E
:1005C0003F40404040404041414141414142424220
:1005D00042424242434343434343434444444444EA
:1005E00044444445454545454545454546464646BA
:1005F0004646464646474747474747474747474790
:100600004848484848484848484848494949494965
:100610004949494949494949494A4A4A4A4A4A4A43
:100620004A4A4A4A4A4A4A4B4B4B4B4B4B4B4B4B21
:100630004B4B4B4B4B4B4B4B4C4C4C4C4C4C4C4C02
:100640004C4C4C4C4C4C4C4C4C4C4C4D4D4D4D4DE5
:100650004D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4DCA
:100660004D4E4E4E4E4E4E4E4E4E4E4E4E4E4E4EAB
:100670004E4E4E4E4E4E4E4E4E4E4E4F4F4F4F4F95
:100680004F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F7A
:100690004F4F4F4F4F4F4F4F4F4F0000120024000E
:1006A0003600470059006B007D008F00A000B200AB
:1006B000C300D500E600F80009011A012B013C0136
:1006C0004D015E016F0180019001A001B101C101E6
:1006D000D101E101F00100020F021F022E023D02D2
:1006E0004B025A026802760284029202A002AD0214
:1006F000BA02C702D402E102ED02F90205031003B7
:100700001C03270332033C03470351035B036403C9
:100710006E0377038003880390039803A003A70365
:10072000AF03B503BC03C203C803CE03D303D8038E
:10073000DD03E203E603EA03ED03F003F303F6034C
:10074000F803FA03FC03FE03FF03FF0300040004A5
:1007500011241FBECFEFD0E1DEBFCDBF13E0A0E07C
:10076000B1E0E8E9FAE702C005900D92A23AB107BC
:10077000D9F717E0A2EAB3E001C01D92A73CB10788
:10078000E1F70E9405040C944B3D0C94000022E01C
:1007900030E0D9010E942D3D802D863028F082E086
:1007A000D901082E0E943A3D99270895FB01863011
:1007B00008F085E0282F2150842F9927A6E42A9F4E
:1007C000D0011124A65FBF4F019724F001900E9431
:1007D0003A3DFACFA2E0B0E0022E0E943A3D0895E1
:1007E000FB01282F863008F025E0842F992721501F
:1007F000A6E42A9FD0011124A65FBF4F019724F0E1
:100800000E942D3D0192FACF08951F93CF93DF935D
:1008100014B815B8189B02C08BE001C08AE0809321
:10082000000181E887B98FEF88B98BE184B981E055
:1008300085B98EE38AB9579A87EF8BB984B7877FDA
:1008400084BF809160008861809360001092600096
:1008500080ED97E09093C1038093C00310924B0406
:1008600010924A0410920807109207071092490448
:10087000109248041092470410924604809100019F
:100880008A3011F4289801C0289A0E94930C0E9483
:1008900008080E947E160E940A0E0E94B6150E9449
:1008A000F93978941092FA0584E48093FB0587E087
:1008B0008093FC052091000184E690E09F938F9344
:1008C00084E490E09F938F931F921F92822F6AE09F
:1008D0000E94803C892F99279F938F93822F0E949B
:1008E000803C99279F938F938FEA91E09F938F93FA
:1008F0001F920E941A0A8EE891E09F938F931F9295
:100900000E941A0A299AA1E0B0E00E942D3D802D94
:100910002DB73EB7205F3F4F2DBF853409F43FC050
:100920008FE591E09F938F931F920E941A0A0E9475
:10093000F83610E00F900F900F90123049F40E949B
:10094000673646E46FE277E082E00E94D60302C099
:10095000133051F40E94D63546E46FE277E083E02D
:100960000E94D60314E002C0143010F00E946736D3
:1009700046E46FE277E0812F0E94D6031F5F1630B6
:10098000E0F283E022E030E0D901082E0E943A3DF7
:1009900085E421503040D901082E0E943A3DC2E042
:1009A000D0E0DE010E942D3D802D863028F082E0CF
:1009B000DE01082E0E943A3D46E46FE277E00E9495
:1009C000F003DE010E942D3D802D863028F082E06C
:1009D000DE01082E0E943A3D99279F938F9384E46D
:1009E00091E09F938F931F920E941A0A84EF91E0E7
:1009F0000E94B00CEC010F900F900F900F900F9091
:100A0000CE010E94B90C8823D9F3E0913107FF276A
:100A1000EE0FFF1FED5FF84F8081918185369105C4
:100A2000C4F0E0913207FF27EE0FFF1FED5FF84F94
:100A3000808191818536910564F08FE291E09F93EA
:100A40008F931F920E941A0A0E942D390F900F90C7
:100A50000F90E0913107FF27EE0FFF1FED5FF84F7A
:100A60008081918185369105C4F0E0913207FF279E
:100A7000EE0FFF1FED5FF84F808191818C599F4FE2
:100A800064F486E191E09F938F931F920E941A0A6B
:100A90000E943F220F900F900F908091370780FFA8
:100AA00020C089EF90E09F938F931F920E941A0AB3
:100AB00088EE93E00E94B00CEC010E948C100F9025
:100AC0000F900F90CE010E94B90C8823D9F384EFC8
:100AD00090E09F938F931F920E941A0A0F900F909D
:100AE0000F900E945421809100018A3011F42898BF
:100AF00001C0289A80ED97E09093C1038093C003D2
:100B000085E58093040686EE90E09F938F931F9275
:100B10000E941A0A809137070F900F900F9082FF62
:100B200003C08AED90E002C082ED90E09F938F9326
:100B30001F920E941A0A0F900F900F908EEC90E077
:100B40009F938F931F920E941A0A0E94D01088E8E8
:100B500093E190938603809385030F900F900F90FD
:100B60008091BF038823E1F31092BF030E94B22259
:100B70000E940D21209100012A3011F4289801C013
:100B8000289A80910301882321F0815080930301EA
:100B900012C01092B1031092B20310920E0610927E
:100BA00068041092670410926A041092690410920B
:100BB0006C0410926B0480914504882329F0809185
:100BC000450481508093450480918503909186036C
:100BD000892B01F585E090E090938603809385034F
:100BE0000E94561680910403909105038F5F9F4FDA
:100BF000F9F480914E048823D9F080E197E2909334
:100C0000C1038093C00380E890E090930503809334
:100C100004030EC080918503909186030197909301
:100C20008603809385032A3011F4289801C0289AFE
:100C30008091BF03882311F40E9423080E94C908F1
:100C4000CE010E94B90C882309F48ACF20910803B1
:100C500030910903809147079927281739079CF499
:100C600080910403909105038F5F9F4F61F480E7AB
:100C700097E19093C1038093C00380E093E0909349
:100C800005038093040384E690E00E94B00CEC011D
:100C900067CF1F920F920FB60F9211248F939F93DD
:100CA000EF93FF93809101018823E1F48091BB03CE
:100CB0009091BC0301969093BC038093BB03FC010D
:100CC000E453FB4FE081ED3019F08639910539F49A
:100CD0001092BC031092BB0381E080930101E0936A
:100CE000C60004C01092BC031092BB03FF91EF91A9
:100CF0009F918F910F900FBE0F901F9018951F928C
:100D00000F920FB60F9211242F933F934F935F933F
:100D10006F937F938F939F93EF93FF939091C60070
:100D20006091B603663918F01092B50369C0662366
:100D300091F4933239F48091A603882319F481E069
:100D40008093B60390930F06892F99279093BA0347
:100D50008093B90357C0E62FFF272091B903309144
:100D6000BA039D3069F0E15FF94F90836F5F609344
:100D7000B603290F311D3093BA032093B90342C043
:100D8000E15FF94F32978081329672913196281B3C
:100D90003109271B31093F703093BA032093B903FF
:100DA000A90136E0569547953A95E1F7435C4093A3
:100DB000B8032F73235C2093B7034817E1F4271778
:100DC000D1F48091A6038823D9F481E08093A6030F
:100DD0006093A903908380911106823589F488E19C
:100DE00090E02CE00FB6F894A895809360000FBEB9
:100DF0002093600005C08091A8038F5F8093A803B3
:100E00001092B603FF91EF919F918F917F916F9117
:100E10005F914F913F912F910F900FBE0F901F90B8
:100E20001895AC0120E030E060E070E0ECECF4E01C
:100E300005C08191280F311D6F5F7F4F64177507C3
:100E4000C1F73F70FA01E453FB4FC90166E0969584
:100E500087956A95E1F7835C8083FA01E353FB4F42
:100E60002F73235C20838DE0818310920101809198
:100E7000CC048093C60008950F931F93CF93DF9304
:100E80008A01722F93E29093CC046093CD048093F7
:100E9000CE0460E0AFECB4E044C0F801E60FF11D11
:100EA00090816F5F715019F4E0E040E00FC0F801ED
:100EB000E60FF11D40816F5F715011F4E0E006C054
:100EC000F801E60FF11DE0816F5F7150892F869563
:100ED0008695835C8C935527892F99278370907012
:100EE00024E0880F991F2A95E1F79A0194E036953E
:100EF00027959A95E1F7822B835CED0189834F70EA
:100F00005070440F551F440F551F8E2F82958695A4
:100F100086958370842B835C8A83EF73E35CEB8319
:100F20001496772309F0B9CFCD018C5C94400E94D0
:100F30001107DF91CF911F910F9108951F93CF93C8
:100F4000DF93EC0170E0A22FBB27129748C0E42F7B
:100F5000FF27E15FF94F30814F5FE42FFF27E15F0B
:100F6000F94F50814F5FE42FFF27E15FF94F108168
:100F70004F5FE42FFF27E15FF94F20814F5F842F00
:100F80009927A817B90774F15D53FE01E70FF11D0A
:100F90003D53330F330F852F82958F70382B30835D
:100FA000613001F1912F9D537F5FFE01E70FF11D2D
:100FB00071505295507F892F86958695582B508376
:100FC00063506F3F79F07E5FFE01E70FF11D929550
:100FD000990F990F907C2D53922B90837F5F6623FE
:100FE00009F0B5CFDF91CF911F9108951F93182F6E
:100FF0008A3019F48DE00E94F6078091C00085FFC9
:10100000FCCF1093C60080E090E01F9108950895F2
:10101000E1ECF0E088E18083A0ECB0E08C918260AC
:101020008C938081806880838081806480838AE261
:101030008093C40088EC90E00E94B00C9093F90576
:101040008093F805089580910101882309F4A0C0D8
:101050008091A203882371F080910101882351F0CF
:101060002BE044E056E06091CB0487E40E943C070B
:101070001092A2038091F8059091F9050E94B90C95
:10108000882321F48091A4038823B1F08091010189
:10109000882391F022E445EA56E06091CB0484E491
:1010A0000E943C071092A40384EF91E00E94B00CD0
:1010B0009093F9058093F805609102016F3F89F0E4
:1010C000462F552734E0440F551F3A95E1F74C5F02
:1010D0005E4F605D20E181E40E943C078FEF8093CA
:1010E00002012091E706222391F0809101018823DB
:1010F00071F093E29093CC042093CD048DE0809323
:10110000CE04109201011092E7069093C6008091E0
:10111000A303882359F180910101882339F10E94AA
:10112000D9101092A3033091AB03932F9F5F90933C
:10113000AB03943021F08091AC03882359F026E171
:1011400043E057E060E084E30E943C078FEF809328
:10115000AB030CC044E1949FA0011124465E5C4F98
:1011600024E160E0832F8F5C0E943C078091A503FF
:10117000882371F080910101882351F02AE04AEF21
:1011800055E06091CB0486E50E943C071092A503D0
:101190000895A2E0B0E0EFECF8E00C94FF3C809101
:1011A000A603882309F4E9C08FEF8093030180919F
:1011B00011069927AA27BB27FC01E156F040E6312A
:1011C000F10508F0D8C0E85CFF4F0C94273D209152
:1011D000A90343E062E0CE0101960E949E07898147
:1011E00080930201C8C02091A90343E06BE084E032
:1011F00096E00E949E078091E60390910606892B57
:101200008093E60380910D0645C02091A90343E039
:101210006BE084E096E00E949E078091E603909147
:101220000606892B8093E60380910D068093E706DE
:1012300081E08093A4039FC02091A90343E062E072
:10124000CE0101960E949E078091E6039981892B29
:101250008093E6038A818F3F21F481E08093AC0381
:1012600002C01092AC0381E08093A30384C020915C
:10127000A90343E064E08DEA93E00E949E077BC0EF
:101280002091A90343E064E081EB93E00E949E0774
:101290008091B4038093E7066EC081E08093A5033C
:1012A0006AC081E08093A20366C02091A90343E055
:1012B00062E0CE0101960E949E0789818F3F89F0EE
:1012C000863010F085E0898346E46FE277E089811B
:1012D0000E94F003898126E44FE257E06091CB043D
:1012E00008C01091CB040E94C70326E44FE257E0E8
:1012F000612F855B0E943C073EC02091A90343E01B
:1013000066E48FE297E00E949E078091110646E412
:101310006FE277E08B560E94D603809111068B56C0
:10132000A2E0B0E0082E0E943A3D60915A0777276C
:101330008827992724EC39E040E050E00E94613C86
:1013400060938703709388038093890390938A0343
:1013500060915B077727882799270E94613C6093FB
:101360008B0370938C0380938D0390938E030E9464
:10137000C7030E949D221092A603E3E0CE5F0C9467
:101380001B3D982F8091E806813069F48091E50338
:10139000E82FFF27E65EFC4F90838F5F8093E50385
:1013A00021E030E005C0892F0E94F607282F33275F
:1013B000C90108951F93182F04C080E30E94C1093A
:1013C00011501116D4F31F9108951F93182F04C0C4
:1013D00080E20E94C10911501116D4F31F910895A3
:1013E0000F931F93CF93DF938C01EB0108C0F8019B
:1013F0000F5F1F4FE4918E2F0E94C1092197209704
:10140000B1F7DF91CF911F910F9108950F931F9323
:10141000CF93DF938C01EB0106C0F80181918F011E
:101420000E94C10921972097C1F7DF91CF911F91A9
:101430000F910895A3E3B0E0E0E2FAE00C94F03CF1
:1014400029968FAD29978093E806CE01855B9F4F43
:101450009D838C832B968EAD9FAD2B979FA78EA7D8
:1014600022243324210102C0130124010EA51FA54B
:1014700002C00F5F1F4FF801F490FF2019F0F5E252
:10148000FF16B9F7B8018EA59FA5681B790B11F05F
:101490000E94F009FF2009F442C20F5F1F4F1FA7EF
:1014A0000EA71982AC81BD811BAA1AAA9FEF99AB26
:1014B000EEA5FFA5CF0101969FA78EA7B49095E753
:1014C000B91621F08B2D8062883789F4EBA9E0FFF3
:1014D00007C02D903D904D905C901397149607C0D7
:1014E0008D919C9111971C01442455241296F0E291
:1014F000BF1621F489818823D9F685C083E2B81606
:1015000009F483C09AE2B91621F0EDE2BE1669F43F
:1015100008C0FD011296E081EAABE7FFC9CFE19573
:10152000EAABFBA9F061FF7D72C08BE2B81609F44B
:101530006AC09EE2B916B1F52EA53FA52F5F3F4FB9
:10154000EEA5FFA584918A3221F0B82E20E030E08C
:101550001BC0FD0112964081518157FF02C04FEF21
:101560005FEF49AB3FA72EA7A3CFC90103E0880FC8
:10157000991F0A95E1F7220F331F280F391F2B0DF2
:10158000311D20533040B49031968B2D80538A30DA
:1015900060F3FFA7EEA7A90137FF02C04FEF5FEF8F
:1015A00049AB8DCFF0E3BF1631F48BA984FD80CF1A
:1015B00080628BAB7DCF8B2D81538930E8F420E0A6
:1015C00030E0C901F3E0880F991FFA95E1F7220F87
:1015D000331F280F391F2B0D311D20533040EEA52E
:1015E000FFA5CF0101969FA78EA7B4908B2D8053A6
:1015F0008A3038F32AAB63CF98E6B91651F4EBA9D9
:10160000E460EBAB55CFB98253CFFBA9F860FBABDD
:101610004FCF8CE6B81621F49BA991609BAB48CFC5
:10162000BD83AC83E3E6BE1639F41296BD83AC836A
:1016300012978C918E8318C1F4E4BF1639F084E6BA
:10164000B81639F099E6B91659F503C0EBA9E1606F
:10165000EBABFBA9F0FF08C01496BD83AC835E9092
:101660004E903E902E900AC01296BD83AC839E9100
:101670008E911C01442437FC4094542C57FC03C029
:101680008AE088AB92C05094409430942094211CFE
:10169000311C411C511C8DE289839AE098AB85C0B6
:1016A000EFE4BE1629F0FFE6BF1639F488E061C00A
:1016B0009BA991609BABE8E056C0F0E7BF1671F4C0
:1016C0001296BD83AC839E918E911C0144245524B7
:1016D0008BA980648BAB78E7B72E5EC0E3E7BE16BC
:1016E000D9F51296BD83AC83DE90CE90C114D1049F
:1016F00089F488E28E838EE68F8385E788878CE67F
:1017000089878A8789E28B871C8666E0C62ED12C62
:10171000CC0EDD1EF9A9F7FD13C04F2F552747FD4D
:10172000509560E070E0C6010E94EC3A009711F419
:1017300019A90DC08C1919A981174CF4182F07C0CD
:10174000F60101900020E9F731971E2F1C1919822C
:101750004201310140E094C085E5B81631F095E7CB
:10176000B91649F4EAE0E8AB1FC0FBA9F160FBAB96
:101770008AE088AB19C098E5B91621F0E8E7BE16F3
:1017800009F06EC0FBA9F3FD02C080E1F2CF211485
:1017900031044104510419F490E198AB05C0EBA960
:1017A000E064EBABF0E1F8AB198289A987FD03C0D7
:1017B0009BA99F7D9BAB211431044104510461F42A
:1017C000E9A9EE2349F46624772443015EE2C52E9D
:1017D000D12CCC0EDD1E3EC04EE2C42ED12CCC0E40
:1017E000DD1EF8A9EF2EFF2400271127C201B10149
:1017F000A80197010E94B33C6A3020F430E3A32E85
:10180000A60E08C027E5A22EA60E88E5B81611F48C
:101810009FEDA922F601A2926F01C201B101A801B8
:1018200097010E94B33C39014A012E143F0440063F
:10183000510618F019012A01D9CFF8A9F83051F44E
:101840008BA983FF07C090E3A91621F080E3F6017E
:1018500082936F01CE018C19182F125D49A910C017
:10186000BB2009F45CC0BE8219824201310100E054
:1018700096E0C92ED12CCC0EDD1E11E021E005C072
:10188000212F042F011B07FD00E08981882319F017
:10189000812F8F5F07C09BA996FD02C0812F02C0D8
:1018A000822F8E5FA82EA00EEBA9EE2EFF2480E3E0
:1018B000482E512C4E205F204114510421F48AA956
:1018C0008A190E94E5098981882329F061E070E086
:1018D000CE01019609C0E6FE09C080E38A83BB827F
:1018E00062E070E0CE0102960E94060AF0E24F1616
:1018F000510421F48AA98A190E94DA09802F0E94D2
:10190000DA09612F772767FD7095C6010E94060AE4
:10191000E4FEAACD8AA98A190E94E509A5CDE2E1D3
:10192000CD5C0C940C3D82E085BD83EA84BD17BC80
:1019300088E788BD83EC8093B00086E08093B10097
:10194000E0E7F0E0808182608083EEE6F0E0808175
:10195000816080838AE08093B3001092B200089582
:101960002091BD033091BE032F5F3F4F820F931F25
:1019700008952091BD033091BE03821B930B892FE4
:10198000992786958074992708951F920F920FB614
:101990000F921124EF92FF920F931F932F933F9377
:1019A0004F935F936F937F938F939F93AF93BF9367
:1019B000CF93DF93EF93FF93809106038150809341
:1019C00006038F3F09F069C083E88093B0008091DF
:1019D0009C03C82FDD27D093C303C093C20380911B
:1019E0006407E09051072091F9033091FA03409188
:1019F000FB035091FC0380FF18C0FF240027112730
:101A0000CA01B90120E830E040E050E00E94D53C36
:101A1000C801B7010E94613C20E032E040E050E0A4
:101A20000E94D53CC20FD31F17C0FF2400271127E7
:101A3000CA01B90120E830E040E050E00E94D53C06
:101A4000C801B7010E94613C20E032E040E050E074
:101A50000E94D53CC21BD30BD093C303C093C203D7
:101A60002091C2033091C303809152079927281710
:101A7000390734F08091530799278217930724F48C
:101A80009093C3038093C2038091C2038093B300F9
:101A9000809154078093060304C083E08093B000D4
:101AA0005F98FF91EF91DF91CF91BF91AF919F919F
:101AB0008F917F916F915F914F913F912F911F91E6
:101AC0000F91FF90EF900F900FBE0F901F90189501
:101AD0001F920F920FB60F9211242F933F934F93A3
:101AE0005F936F937F938F939F93AF93BF93EF9386
:101AF000FF938091C40381508093C4038F3FB9F456
:101B00008AE08093C403809107038F5F8170809384
:101B10000703882319F481E08093BF038091BD03FC
:101B20009091BE0301969093BE038093BD03809174
:101B3000C0039091C1030297B0F08091C0039091CF
:101B4000C10301979093C1038093C0038091C003A8
:101B50009091C103209104033091050382239323C4
:101B6000892BD1F406C08FEF9FEF909305038093EC
:101B70000403809100018A3039F404C05A9A05C0E8
:101B8000479A03C05A9801C047988091370783FF4E
:101B900008C00E94FB3805C0809100018A3081F79F
:101BA000EDCFFF91EF91BF91AF919F918F917F9179
:101BB0006F915F914F913F912F910F900FBE0F90BA
:101BC0001F9018952091BD033091BE032F5F3F4FAA
:101BD000280F391F4FEE02C040937A008091BD0359
:101BE0009091BE03B901681B790B77FFF5CF08957B
:101BF0002091BD033091BE032F5F3F4F280F391F47
:101C00008091BD039091BE03A901481B590B57FF5A
:101C1000F7CF089510927C008FEE80937A0008959C
:101C20001F920F920FB60F921124DF92EF92FF9244
:101C30000F931F932F933F934F935F936F937F93D4
:101C40008F939F93AF93BF93CF93DF93EF93FF93C4
:101C500010927A008091E103D82ED394D092E103C0
:101C6000E82FFF27EB30F10508F038C2E25BFF4FA9
:101C70000C94273D80917800909179009093E00337
:101C80008093DF0381E08093E2038091D9039091F8
:101C9000DA0301969093DA038093D90315C28091F9
:101CA0007800909179009093DE038093DD0390C0DB
:101CB00080917800909179009093DC038093DB030E
:101CC00084E086C140910803509109038091780017
:101CD000909179009A01220F331F240F351F63E082
:101CE00070E00E948C3C260F371F3695279536955D
:101CF0002795309309032093080386E069C18091FA
:101D00009A0790919B072091780030917900821B6F
:101D1000930B9093EA068093E9068091E9069091EF
:101D2000EA069093CC038093CB0387E051C1809166
:101D30007800909179002091980730919907821B43
:101D4000930B9093F5068093F4068091F40690919E
:101D5000F5069093CE038093CD031092E203B4C1B5
:101D6000809100012091DF033091E0038A3049F433
:101D70008091780090917900820F931F96958795B6
:101D800006C08091780090917900820F931F909304
:101D9000CA038093C90381E01BC180910001209197
:101DA000DD033091DE038A3049F480917800909110
:101DB0007900820F931F9695879506C080917800D1
:101DC00090917900820F931F9093C8038093C7036B
:101DD00082E0FEC0809100012091DB033091DC03A2
:101DE0008A3049F48091780090917900820F931F96
:101DF0009695879506C08091780090917900820F22
:101E0000931F9093C6038093C50385E0E1C0609162
:101E1000780070917900E0909C07F0909D07009108
:101E20009E0710919F07882777FD8095982F0E9425
:101E30009F3BA80197010E94F93A0E94823B709350
:101E4000D0036093CF032091CF033091D003E09172
:101E5000E906F091EA068091F4069091F50697FF65
:101E600003C0909581959F4F64E070E00E94A03C74
:101E7000EB01CF01F7FF03C0909581959F4F64E080
:101E800070E00E94A03C260F371F2C0F3D1F30939F
:101E9000D0032093CF038091CF039091D00302977A
:101EA00004F160919C0770919D0780919E0790912D
:101EB0009F0720E030E048E454E40E94A93B8823D7
:101EC0000CF03CC060919C0770919D0780919E072B
:101ED00090919F072AE037ED43EA5CE30E94FA3ACB
:101EE00025C08091CF039091D0038F5F9F4F34F531
:101EF00060919C0770919D0780919E0790919F072C
:101F000020E030E046E154E40E94AC3B1816B4F403
:101F100060919C0770919D0780919E0790919F070B
:101F20002AE037ED43EA5CE30E94F93A60939C07AC
:101F300070939D0780939E0790939F0781E0809305
:101F4000D60380917800909179009093EC0680936D
:101F5000EB062091310430913204409133045091CA
:101F600034048091CF039091D003AA2797FDA095C8
:101F7000BA2F280F391F4A1F5B1F2093310430935B
:101F800032044093330450933404E0903104F090D1
:101F90003204009133041091340460913104709143
:101FA0003204809133049091340420E034E040E026
:101FB00050E00E94D53CE21AF30A040B150BE092A4
:101FC0003104F0923204009333041093340483E01C
:101FD0008093E20379C08091F9069091FA062091EE
:101FE000780030917900820F931F9093FA068093C6
:101FF000F9068091F1068F5F8093F1068091F106DA
:10200000853008F46BC080917800909179009093AE
:102010000F0380930E031092F1068091ED069091CC
:10202000EE062091F9063091FA06821B930B20915F
:102030004F0430915004821B930B9093D8038093EC
:10204000D7036091F9067091FA06E0900A03F090C8
:102050000B0300910C0310910D03882777FD8095E9
:10206000982FA8019701220F331F441F551F2E0DD3
:102070003F1D401F511F620F731F841F951F24E0D7
:1020800030E040E050E00E94D53C20930A033093BA
:102090000B0340930C0350930D032091ED063091F8
:1020A000EE0680910A0390910B03A0910C03B0916E
:1020B0000D03281B390B3093500420934F041092CA
:1020C000FA061092F9060AC08091E20380937C0020
:1020D000DD2051F08FEE80937A0006C01092E2036B
:1020E0001092E10310927C00FF91EF91DF91CF916C
:1020F000BF91AF919F918F917F916F915F914F9120
:102100003F912F911F910F91FF90EF90DF900F90D3
:102110000FBE0F901F901895CF93DF93A3E0B0E010
:102120000E942D3D802DC82FDD27C531D10508F037
:102130002A97C7BD84E690E00E94E20D80910E03CD
:1021400090910F0382559340D0F4C0E0D0E017C0C7
:10215000C7BD82E390E00E94E20D83EE91E09F9381
:102160008F931F920E941A0A80910E0390910F0381
:102170000F900F900F908458934020F02196CA3F03
:10218000D10530F3A3E0B0E00C2E0E943A3DC0939D
:10219000F6068CE291E00E94E20DDF91CF91089566
:1021A000EAE1F3E080E2819393E0EA36F907D9F7B8
:1021B00008951F938091E603282F3327C90181706A
:1021C0009070682F8823A9F08091E703882311F08D
:1021D000815002C080916A038093E703EAE1F3E053
:1021E00080E2819393E0EA36F907D9F78FEF809385
:1021F000AB03A9014270507021FF10C08091E7032A
:102200008F5F8093E703EAE1F3E080E2819393E05C
:10221000EA36F907D9F78FEF8093AB03662331F0E5
:10222000452B21F01092E70390E004C09091E70362
:102230009A3050F481E18093E503892F99279F9389
:102240008F938BE395E009C080E18093E503892FAC
:1022500099279F938F9386E395E09F938F9381E0D7
:102260008F930E941A0A0F900F900F900F900F906B
:102270008091E703E82FFF27EE30F10508F06DC4E9
:10228000E75AFF4F0C94273D1092E50386E295E054
:102290009F938F9311E01F930E941A0A84E1809309
:1022A000E5032091000184E690E09F938F9384E4FE
:1022B00090E09F938F931F921F92822F6AE00E945B
:1022C000803C892F99279F938F93822F0E94803C77
:1022D00099279F938F9381E195E09F938F931F930D
:1022E0000E941A0A88E28093E5030E94C703992797
:1022F0009F938F9384E095E09F938F931F930E9409
:102300001A0A8CE38093E50384EF94E09F938F9304
:102310001F930E941A0AA6C38091370780FF44C00A
:102320001092E50380914F04909150049F938F93F6
:1023300085EE94E09F938F9311E01F930E941A0AF9
:1023400084E18093E50380915104909152049F931E
:102350008F9386ED94E09F938F931F930E941A0AA8
:1023600088E28093E50380910E0390910F039F9381
:102370008F9387EC94E09F938F931F930E941A0A88
:102380008CE38093E5038091F60699279F938F93C2
:1023900088EB94E09F938F931F930E941A0A8DB746
:1023A0009EB744968DBFDEC384E18093E50381EB45
:1023B00094E09F938F9311E01F930E941A0A88E282
:1023C0008093E50383EA94E09F938F931F930E9489
:1023D0001A0A8DB79EB70696E5CF1092E50389E9F4
:1023E00094E09F938F9311E01F930E941A0A84E157
:1023F0008093E5036091F9037091FA038091FB03E8
:102400009091FC0320E034E040E050E00E94D53C95
:102410005F934F933F932F938AE894E09F938F931A
:102420001F930E941A0A88E28093E50360910104D9
:1024300070910204809103049091040420E034E040
:1024400040E050E00E94D53C5F934F933F932F9321
:102450008BE794E09F938F931F930E941A0A8CE35B
:102460008093E50380913504909136049F938F9378
:102470008CE694E09F938F931F930E941A0A8DB766
:102480009EB746968FCF1092E503809107079091F3
:10249000080720910507309106079F938F933F937C
:1024A0002F938CE594E09F938F9311E01F930E94EC
:1024B0001A0A84E18093E50380910B0790910C0741
:1024C0002091090730910A079F938F933F932F9391
:1024D0008CE494E09F938F931F930E941A0A88E2E2
:1024E0008093E50380910F079091100720910D07CD
:1024F00030910E079F938F933F932F938CE394E03B
:102500009F938F931F930E941A0A8CE38093E50395
:1025100080911307909114072091110730911207B1
:102520009F938F933F932F938CE294E07BC0109204
:10253000E503E0913007FF27EE0FFF1FED5FF84F37
:1025400020813181E0912F07FF27EE0FFF1FED5F04
:10255000F84F808191813F932F939F938F938CE1CC
:1025600094E09F938F9311E01F930E941A0A84E1D5
:102570008093E503E0913207FF27EE0FFF1FED5F29
:10258000F84F20813181E0913107FF27EE0FFF1FC7
:10259000ED5FF84F808191813F932F939F938F93AD
:1025A0008CE094E09F938F931F930E941A0A88E215
:1025B0008093E503E0913407FF27EE0FFF1FED5FE7
:1025C000F84F20813181E0913307FF27EE0FFF1F85
:1025D000ED5FF84F808191813F932F939F938F936D
:1025E0008CEF93E09F938F931F930E941A0A8CE3C2
:1025F0008093E503E0913607FF27EE0FFF1FED5FA5
:10260000F84F20813181E0913507FF27EE0FFF1F42
:10261000ED5FF84F808191813F932F939F938F932C
:102620008CEE93E09F938F931F930E941A0A8DB7AD
:102630009EB74C96B7CE1092E5038EED93E09F9334
:102640008F9311E01F930E941A0A0F900F900F9022
:1026500080910001E091EF03F091F0038A30F1F5F1
:1026600084E18093E5038091C5039091C603FF93B5
:10267000EF938E1B9F0B9F938F938FEC93E09F9311
:102680008F931F930E941A0A88E28093E50320919A
:10269000F1033091F2038091C7039091C8033F93F7
:1026A0002F93821B930B9F938F9380EC93E09F93C8
:1026B0008F931F930E941A0A8CE38093E503809105
:1026C000F3039091F4039F938F938091A6079091C9
:1026D000A7079F938F9381EB93E04BC084E1809396
:1026E000E5032091C5033091C603CF0162E070E09D
:1026F0000E94A03C7F936F932E1B3F0B3F932F9321
:1027000082EA93E09F938F931F930E941A0A88E2B4
:102710008093E503E091F103F091F2032091C70368
:102720003091C803CF0162E070E00E94A03C7F932B
:102730006F932E1B3F0B3F932F9383E993E09F935F
:102740008F931F930E941A0A8CE38093E503809174
:10275000F3039091F40362E070E00E94A03C7F9349
:102760006F938091A6079091A7079F938F9384E81A
:1027700093E09F938F931F930E941A0A8DB79EB781
:10278000459610CE1092E50387E793E09F938F93D1
:1027900011E01F930E941A0A84E18093E50380915F
:1027A0009807909199072091CD033091CE039F9384
:1027B0008F933F932F9388E693E09F938F931F937C
:1027C0000E941A0A88E28093E50380919A0790910B
:1027D0009B072091CB033091CC039F938F933F9322
:1027E0002F9389E593E09F938F931F930E941A0A7A
:1027F0008CE38093E50360919C0770919D07809125
:102800009E0790919F070E94823B7F936F938091D8
:102810008607909187079F938F938AE493E01DC169
:1028200084E18093E50380910803909109039F93CD
:102830008F938BE393E09F938F9311E01F930E94FC
:102840001A0A88E28093E5038091450499279F93B3
:102850008F938CE293E09F938F931F930E941A0AA9
:102860008DB79EB70A969ECD1092E5038DE193E059
:102870009F938F9311E01F930E941A0A84E1809323
:10288000E5038091390490913A049F938F938EE0F1
:1028900093E09F938F931F930E941A0A88E280937C
:1028A000E50380913504909136049F938F938FEFC9
:1028B00092E09F938F931F930E941A0A8CE3809358
:1028C000E50380913704909138049F938F9380EFB4
:1028D00092E03AC11092E50380913D0490913E044C
:1028E0009F938F9384EE92E09F938F9311E01F93B9
:1028F0000E941A0A84E18093E50380913F0490913D
:1029000040049F938F9388ED92E09F938F931F9342
:102910000E941A0A88E28093E50380914104909115
:1029200042049F938F938CEC92E09F938F931F931D
:102930000E941A0A8CE38093E503809143049091EE
:1029400044049F938F9380EC92E024CD1092E50392
:1029500088EB92E09F938F9311E01F930E941A0AD5
:1029600084E18093E50380919C0399279F938F9343
:102970008AEA92E09F938F931F930E941A0A88E23B
:102980008093E5038091C2039091C3039F938F933B
:102990008CE992E09F938F931F930E941A0A8CE315
:1029A0008093E5038091530799279F938F9380919C
:1029B000520799279F938F938EE892E09F938F936E
:1029C0001F930E941A0AEBCC1092E5038EE792E067
:1029D0009F938F9311E01F930E941A0A84E18093C2
:1029E000E50380910806992787FD90959F938F9323
:1029F00080910706992787FD90959F938F938EE688
:102A000092E09F938F931F930E941A0A88E280930B
:102A1000E50380910906992787FD90959F938F93F1
:102A200080910A0699279F938F938EE592E09F935A
:102A30008F931F930E941A0A8CE38093E503809181
:102A40000E0699279F938F9380910B06992787FDF8
:102A500090959F938F938EE492E09F938F931F9313
:102A60000E941A0A8DB79EB748969CCC1092E50337
:102A700086E492E09F938F9311E01F930E941A0ABD
:102A800084E18093E5038091B407992787FD9095B1
:102A90009F938F9387E392E09F938F931F930E945E
:102AA0001A0A88E28093E5038091B507992787FD8C
:102AB00090959F938F9388E292E09F938F931F93BB
:102AC0000E941A0A8CE38093E5038091B607992748
:102AD00087FD90959F938F9389E192E035C0109286
:102AE000E5038FE092E09F938F9311E01F930E9484
:102AF0001A0A84E18093E5038091B7079091B807A3
:102B00009F938F9381E092E09F938F931F930E94F6
:102B10001A0A88E28093E5038091B9079091BA0779
:102B20009F938F9383EF91E09F938F931F930E94C6
:102B30001A0A8CE38093E5038091BB079091BC0750
:102B40009F938F9385EE91E09F938F931F930E94A5
:102B50001A0A8DB79EB7429625CC815080936A039E
:102B60001092E7031092E6031F9108951092B900A6
:102B70008AE28093B800089585EA8093BC000895A6
:102B800084E98093BC0008958093BB0085E880931E
:102B9000BC00089585EC8093BC00089585E880937F
:102BA000BC0008951F920F920FB60F9211248F93BD
:102BB0009F93EF93FF938091E8038F5F8093E803E7
:102BC00081508330E9F1843028F4813081F0823003
:102BD00078F508C08530D9F18530B8F1863009F034
:102BE0004FC03EC08091E903880F8E5A12C0809179
:102BF000E9038F5F8093E9038150813081F0813058
:102C000030F0823079F0833009F047C00EC08091F7
:102C100079078093BB0085E88093BC003EC080911B
:102C20007E07F7CF80919607F4CF8091A007F1CF70
:102C30008091E903843010F41092E80385EAECCF28
:102C40008091EA03880F8D5AE4CF85ECE5CF80911F
:102C5000BB00E091EA03FF27E550F94F8083DBCF0B
:102C60008091EA039091BB00E82FFF27E550F94FD0
:102C700094838F5F8093EA03843010F01092EA030C
:102C800084E98093BC001092E8038AE090E090937E
:102C90008603809385031092E903FF91EF919F9142
:102CA0008F910F900FBE0F901F9018954CEB50E036
:102CB00084E9FA0180831092E8032BEB30E0F901FC
:102CC00080811092E90380E8FA0180831092BD00B0
:102CD0001092BA00F9011082E9EBF0E01082A8EB43
:102CE000B0E01C9210828AE28C9385EAFA0180831C
:102CF000F901108285E8FA018083089583EC8093BE
:102D00008100EFE6F0E08081806280831092F4031E
:102D10001092F3031092F2031092F1031092F00359
:102D20001092EF0308951F920F920FB60F92112485
:102D30000F931F932F933F934F935F936F937F93C3
:102D40008F939F93AF93BF93CF93DF93EF93FF93B3
:102D500020918600309187008091ED039091EE03E1
:102D6000281B390B80918600909187009093EE0389
:102D70008093ED03C9018D5494400091EB031091B1
:102D8000EC03835F9A4160F40430110514F0109253
:102D90006B0381E090E09093EC038093EB038BC096
:102DA0000A3011050CF087C0C9018B5F9040845B2D
:102DB000914008F068C0E901C25DD140F801EE0F12
:102DC000FF1FED5FF84F808191819E01281B390B19
:102DD000C90137FF03C0909581959F4F06974CF42A
:102DE00080914504883C28F480914504865F809357
:102DF0004504F801EE0FFF1FED5FF84F2081318190
:102E0000C901880F991F820F931F8C0F9D1F64E0CB
:102E100070E00E94A03C9B01CE01019686179707A7
:102E20001CF42150304006C021976C177D0714F424
:102E30002F5F3F4F80914504E801CC0FDD1F833C9D
:102E4000B8F0FE01ED5FF84F80819181A901481B28
:102E5000590BCA0163E070E00E94A03CCB01880FCF
:102E6000991F860F971FC75ED84F9983888304C028
:102E7000C75ED84F19821882F801EE0FFF1FED5F71
:102E8000F84F31832083F8013196F093EC03E093FF
:102E9000EB03E530F10519F45D9A5C980BC05D9881
:102EA000E630F10511F45C9A05C05C98379711F48F
:102EB0005B9A01C05B98FF91EF91DF91CF91BF9139
:102EC000AF919F918F917F916F915F914F913F91C2
:102ED0002F911F910F910F900FBE0F901F9018957B
:102EE000A0E1B0E0E6E7F7E10C94F03C8091C90383
:102EF0009091CA034090F3035090F403481A590A82
:102F00005092A7074092A6072091C7033091C803AB
:102F10008091C5039091C6039E878D87A091EF0392
:102F2000B091F003BC87AB878091F1039091F203DD
:102F3000281B390B388B2F873093E0062093DF0650
:102F40006091CD037091CE03E090A307F090A407A9
:102F50000027F7FC0095102F882777FD8095982F84
:102F60002CE030E040E050E00E94613CE60EF71EAD
:102F7000081F191FC801B70122E030E040E050E00F
:102F80000E94D53C3093A4072093A3076091CB0304
:102F90007091CC03E090AD07F090AE070027F7FCEE
:102FA0000095102F882777FD8095982F2CE030E032
:102FB00040E050E00E94613CE60EF71E081F191F1A
:102FC000C801B70122E030E040E050E00E94D53C6B
:102FD0003093AE072093AD072091CF033091D003FB
:102FE0006091860770918707882777FD8095982FD5
:102FF000442737FD4095542F620F731F841F951F80
:1030000022E030E040E050E00E94D53C309387075A
:10301000209386072091CD033091CE03C901880FFC
:10302000991F820F931F880F991F880F991FAA2736
:1030300097FDA095BA2F2091090430910A04409180
:103040000B0450910C04280F391F4A1F5B1F20935B
:10305000090430930A0440930B0450930C0420910C
:10306000CB033091CC03C901880F991F820F931FA6
:10307000880F991F880F991FAA2797FDA095BA2F2F
:1030800020910D0430910E0440910F0450911004D2
:10309000280F391F4A1F5B1F20930D0430930E0425
:1030A00040930F0450931004E090EB06F090EC0670
:1030B000A0909C07B0909D07C0909E07D0909F075E
:1030C0006091110470911204809113049091140482
:1030D0000E949F3B3B014C010027F7FC0095102FFD
:1030E000C801B7010E949F3BA60195010E94F93AD1
:1030F0009B01AC01C401B3010E94FA3A0E94823BD9
:103100006093110470931204809313049093140439
:103110005201CC24B7FCC094DC2C60902904709040
:103120002A0480902B0490902C046A0C7B1C8C1C2D
:103130009D1C6092290470922A0480922B04909224
:103140002C0480912D0490912E04A0912F04B09115
:1031500030048A0D9B1DAC1DBD1D80932D049093E2
:103160002E04A0932F04B0933004B0915704BA8773
:10317000BB2309F05FC080915804882309F05AC02E
:103180008091370786FF56C0E0906504FF24002732
:1031900011276091190470911A0480911B04909179
:1031A0001C0420E030E140E050E00E94D53CCA0120
:1031B000B901A80197010E94613C9B01AC01C601C5
:1031C000B5010E94613C20E038E040E050E00E9400
:1031D000D53C2093B2043093B3044093B40450938D
:1031E000B504609121047091220480912304909190
:1031F000240420E030E140E050E00E94D53CCA01C8
:10320000B901A80197010E94613C9B01AC01C60174
:10321000B5010E94613C20E038E040E050E00E94AF
:10322000D53C2093AE043093AF044093B004509348
:10323000B10410C01092AE041092AF041092B0040A
:103240001092B1041092B2041092B3041092B4041C
:103250001092B5048091B2049091B304A091B4048B
:10326000B091B5048E839F83A887B9878091AE04FF
:103270009091AF04A091B004B091B1048A839B8374
:10328000AC83BD8380916604282E332444245524C6
:10329000EE80FF80AF85B889EA0EFB1E6A817B81D4
:1032A0008C819D81A20191010E94613C20E032E06D
:1032B00040E050E00E94D53CE20EF31EF092780709
:1032C000E09277079701442737FD4095542F80916E
:1032D000250490912604A0912704B0912804820F20
:1032E000931FA41FB51F8093250490932604A093D9
:1032F0002704B09328048091530490915404E81A51
:10330000F90A0027F7FC0095102F80912104909175
:103310002204A0912304B0912404E80EF91E0A1F90
:103320001B1FE0922104F0922204009323041093C7
:103330002404A0908B03B0908C03C0908D03D09098
:103340008E03AE14BF04C006D106C4F480E197E238
:10335000A0E0B0E08A199B09AC09BD098093210463
:1033600090932204A0932304B09324048093250413
:1033700090932604A0932704B09328042227332790
:10338000A9012A193B094C095D09809121049091FA
:103390002204A0912304B091240482179307A40768
:1033A000B507B4F4D601C50180519742A040B040A2
:1033B0008093210490932204A0932304B0932404C7
:1033C0008093250490932604A0932704B0932804A7
:1033D0008091C7039091C8030F9734F488E19CEF64
:1033E00090937807809377078091C7039091C803E3
:1033F000079734F480E398EF9093780780937707EA
:10340000B0910001B983BA30A9F48091C7039091BB
:10341000C803835F934034F088EE93E0909378077D
:10342000809377078091C7039091C8038A5F934088
:10343000DCF014C08091C7039091C803855E97406B
:1034400034F088EE93E0909378078093770780912B
:10345000C7039091C803835F974034F080ED97E0F5
:103460009093780780937707ED84FE848B859C8505
:10347000E81AF90AAA81BB81EA1AFB0A6E817F81E8
:1034800088859985A20191010E94613C20E032E08B
:1034900040E050E00E94D53CE21AF30AF092800727
:1034A000E0927F079701442737FD4095542F809184
:1034B0001D0490911E04A0911F04B0912004820F5E
:1034C000931FA41FB51F80931D0490931E04A09307
:1034D0001F04B09320048091550490915604E81A7B
:1034E000F90A0027F7FC0095102F8091190490919C
:1034F0001A04A0911B04B0911C04E80EF91E0A1FC7
:103500001B1FE0921904F0921A0400931B041093FD
:103510001C04A0908703B0908803C0908903D090CA
:103520008A03AE14BF04C006D106C4F480E197E25A
:10353000A0E0B0E08A199B09AC09BD098093190489
:1035400090931A04A0931B04B0931C0480931D0451
:1035500090931E04A0931F04B093200422273327C6
:10356000A9012A193B094C095D0980911904909120
:103570001A04A0911B04B0911C0482179307A4079E
:10358000B507B4F4D601C50180519742A040B040C0
:103590008093190490931A04A0931B04B0931C0405
:1035A00080931D0490931E04A0931F04B0932004E5
:1035B0008091C5039091C6030F9734F488E19CEF86
:1035C0009093800780937F078091C5039091C603F5
:1035D000079734F480E398EF9093800780937F07F8
:1035E000B981BA30A9F48091C5039091C603835F75
:1035F000934034F088EE93E09093800780937F07A8
:103600008091C5039091C6038A5F9340DCF014C09B
:103610008091C5039091C603855E974034F088EE93
:1036200093E09093800780937F078091C5039091EA
:10363000C603835F974034F080ED97E09093800756
:1036400080937F078FEE80937A00609215047092CA
:103650001604809217049092180480911904909196
:103660001A04A0911B04B0911C048093F903909359
:10367000FA03A093FB03B093FC0380912104909183
:103680002204A0912304B091240480930104909318
:103690000204A0930304B093040480911D0490914C
:1036A0001E04A0911F04B09120048093FD03909309
:1036B000FE03A093FF03B093000480912504909132
:1036C0002604A0912704B0912804809305049093C8
:1036D0000604A0930704B09308048091370787FF7E
:1036E0003FC08A858823E1F5809158048823C1F57D
:1036F00020917F0730918007293C310524F0C901D2
:103700008052934007C09FEF283339076CF4C901FA
:10371000805E9C4F220F331F220F331F280F391F4B
:103720003093800720937F072091770730917807A7
:10373000293C310524F0C9018052934007C0AFEF06
:1037400028333A076CF4C901805E9C4F220F331F67
:10375000220F331F280F391F3093780720937707E4
:1037600020913D0430913E0480913307E82FFF27DC
:10377000EE0FFF1FED5FF84F8081918182599F4FBF
:10378000281739071CF42F5F3F4F0CC080819181AF
:1037900082599F4F821793074CF42115310531F060
:1037A0002150304030933E0420933D0420913F044B
:1037B0003091400480913407E82FFF27EE0FFF1F60
:1037C000ED5FF84F8081918182599F4F281739070B
:1037D0001CF42F5F3F4F0CC08081918182599F4F15
:1037E000821793074CF42115310531F021503040F8
:1037F0003093400420933F042091410430914204CF
:1038000080913507E82FFF27EE0FFF1FED5FF84F80
:103810008081918182599F4F281739071CF42F5FAF
:103820003F4F0CC08081918182599F4F821793072F
:103830004CF42115310531F02150304030934204D1
:103840002093410420914304309144048091360731
:10385000E82FFF27EE0FFF1FED5FF84F808191816A
:1038600082599F4F281739071CF42F5F3F4F0CC018
:103870008081918182599F4F821793074CF42115C3
:10388000310531F0215030403093440420934304FB
:1038900080913D0490913E0497FF05C010923E0434
:1038A00010923D040AC08F3F910539F034F08FEF3C
:1038B00090E090933E0480933D0480913F0490916A
:1038C000400497FF05C01092400410923F040AC0C4
:1038D0008F3F910539F034F08FEF90E090934004E2
:1038E00080933F04809141049091420497FF05C06A
:1038F00010924204109241040AC08F3F910539F0A2
:1039000034F08FEF90E090934204809341048091D3
:1039100043049091440497FF05C010924404109210
:1039200043040AC08F3F910539F034F08FEF90E0E7
:103930009093440480934304E2E1C05F0C940C3DF7
:1039400010927A008091C5039091C60390938007EE
:1039500080937F078091C7039091C8039093780765
:10396000809377078091C9039091CA039093A7072A
:103970008093A6076091CD037091CE03882777FDD1
:103980008095982F2CE030E040E050E00E94613CB0
:103990007093A4076093A3076091CB037091CC034D
:1039A000882777FD8095982F0E94613C7093AE0721
:1039B0006093AD078091CF039091D00390938707D8
:1039C000809386078FEE80937A0020913D0430919A
:1039D0003E0480913307E82FFF27EE0FFF1FED5FB6
:1039E000F84F8081918182599F4F281739071CF425
:1039F0002F5F3F4F0CC08081918182599F4F82176A
:103A000093074CF42115310531F0215030403093AB
:103A10003E0420933D0420913F0430914004809166
:103A20003407E82FFF27EE0FFF1FED5FF84F80816F
:103A3000918182599F4F281739071CF42F5F3F4F00
:103A40000CC08081918182599F4F821793074CF45B
:103A50002115310531F0215030403093400420933E
:103A60003F04209141043091420480913507E82FB2
:103A7000FF27EE0FFF1FED5FF84F80819181825984
:103A80009F4F281739071CF42F5F3F4F0CC08081D0
:103A9000918182599F4F821793074CF4211531056C
:103AA00031F0215030403093420420934104209162
:103AB00043043091440480913607E82FFF27EE0F2E
:103AC000FF1FED5FF84F8081918182599F4F28172A
:103AD00039071CF42F5F3F4F0CC0808191818259C0
:103AE0009F4F821793074CF42115310531F0215077
:103AF0003040309344042093430480913D049091DE
:103B00003E0497FF05C010923E0410923D040AC087
:103B10008F3F910539F034F08FEF90E090933E04A1
:103B200080933D0480913F049091400497FF05C02D
:103B30001092400410923F040AC08F3F910539F063
:103B400034F08FEF90E09093400480933F04809195
:103B500041049091420497FF05C0109242041092D4
:103B600041040AC08F3F910539F034F08FEF90E0A7
:103B700090934204809341048091430490914404C3
:103B800097FF05C010924404109243040AC08F3F6F
:103B9000910539F034F08FEF90E0909344048093D6
:103BA000430460915A0777278827992724EC39E046
:103BB00040E050E00E94613C60938703709388036B
:103BC0008093890390938A0360938B0370938C0393
:103BD00080938D0390938E0308951F9380913A07ED
:103BE0008B3F98F08B3F19F480913D040EC08C3FC1
:103BF00019F480913F0409C08D3F19F4809141046C
:103C000004C08E3F21F480914304809394038091FB
:103C10009403882319F41092940304C08F3F11F485
:103C200080939403809139078B3F98F08B3F19F470
:103C300080913D040EC08C3F19F480913F0409C06F
:103C40008D3F19F48091410404C08E3F21F480918E
:103C500043048093930380919303882319F4109273
:103C6000930305C0843618F084E680939303809113
:103C70003B078B3F98F08B3F19F480913D040EC0B9
:103C80008C3F19F480913F0409C08D3F19F4809155
:103C9000410404C08E3F21F4809143048093950336
:103CA00080919503882319F41092950305C08436FA
:103CB00018F084E68093950380913D078B3F98F040
:103CC0008B3F19F480913D040EC08C3F19F4809114
:103CD0003F0409C08D3F19F48091410404C08E3F18
:103CE00021F4809143048093960380919603882366
:103CF00019F41092960304C08F3F11F48093960339
:103D0000809144078B3F98F08B3F19F480913D04DC
:103D10000EC08C3F19F480913F0409C08D3F19F407
:103D20008091410404C08E3F21F48091430480932C
:103D3000970380919703882319F41092970304C086
:103D40008F3F11F480939703809145078B3F98F044
:103D50008B3F19F480913D040EC08C3F19F4809183
:103D60003F0409C08D3F19F48091410404C08E3F87
:103D700021F48091430480939803809198038B30C1
:103D800010F48AE002C08F3F11F480939803809171
:103D900046078B3F98F08B3F19F480913D040EC08D
:103DA0008C3F19F480913F0409C08D3F19F4809134
:103DB000410404C08E3F21F4809143048093990311
:103DC00080919903882319F41092990304C08F3FBE
:103DD00011F48093990380914B078B3F98F08B3FB0
:103DE00019F480913D040EC08C3F19F480913F047A
:103DF00009C08D3F19F48091410404C08E3F21F425
:103E00008091430480939B0380919B03882319F442
:103E100010929B0304C08F3F11F480939B03809109
:103E20004C078B3F98F08B3F19F480913D040EC0F6
:103E30008C3F19F480913F0409C08D3F19F48091A3
:103E4000410404C08E3F21F48091430480935D04BB
:103E500080915D04882319F410925D0404C08F3FA3
:103E600011F480935D0480914D078B3F98F08B3F58
:103E700019F480913D040EC08C3F19F480913F04E9
:103E800009C08D3F19F48091410404C08E3F21F494
:103E90008091430480935E0480915E04882319F42A
:103EA00010925E0404C08F3F11F480935E048091F1
:103EB0004E078B3F98F08B3F19F480913D040EC064
:103EC0008C3F19F480913F0409C08D3F19F4809113
:103ED000410404C08E3F21F48091430480935F0429
:103EE00080915F04882319F410925F0404C08F3F0F
:103EF00011F480935F0480914F078B3F98F08B3FC4
:103F000019F480913D040EC08C3F19F480913F0458
:103F100009C08D3F19F48091410404C08E3F21F403
:103F2000809143048093600480916004882319F495
:103F30001092600404C08F3F11F48093600480915C
:103F40005F078B3F98F08B3F19F480913D040EC0C2
:103F50008C3F19F480913F0409C08D3F19F4809182
:103F6000410404C08E3F21F4809143048093610496
:103F700080916104882319F41092610404C08F3F7A
:103F800011F480936104809160078B3F98F08B3F20
:103F900019F480913D040EC08C3F19F480913F04C8
:103FA00009C08D3F19F48091410404C08E3F21F473
:103FB000809143048093620480916204882319F401
:103FC0001092620404C08F3F11F4809362048091C8
:103FD00061078B3F98F08B3F19F480913D040EC030
:103FE0008C3F19F480913F0409C08D3F19F48091F2
:103FF000410404C08E3F21F4809143048093630404
:1040000080916304882319F41092630404C08F3FE5
:1040100011F480936304809162078B3F98F08B3F8B
:1040200019F480913D040EC08C3F19F480913F0437
:1040300009C08D3F19F48091410404C08E3F21F4E2
:10404000809143048093640480916404882319F46C
:104050001092640404C08F3F11F480936404809133
:1040600050078B3F98F08B3F19F480913D040EC0B0
:104070008C3F19F480913F0409C08D3F19F4809161
:10408000410404C08E3F21F48091430480939C033B
:1040900080919C03882319F410929C0304C08F3FE5
:1040A00011F480939C03809155078B3F98F08B3FD0
:1040B00019F480913D040EC08C3F19F480913F04A7
:1040C00009C08D3F19F48091410404C08E3F21F452
:1040D0008091430480939D0380919D03882319F46C
:1040E00010929D0304C08F3F11F480939D03809133
:1040F00058078B3F98F08B3F19F480913D040EC018
:104100008C3F19F480913F0409C08D3F19F48091D0
:10411000410404C08E3F21F48091430480936504E0
:1041200080916504882319F41092650404C08F3FC0
:1041300011F480936504809159078B3F98F08B3F71
:1041400019F480913D040EC08C3F19F480913F0416
:1041500009C08D3F19F48091410404C08E3F21F4C1
:10416000809143048093660480916604882319F447
:104170001092660404C08F3F11F48093660480910E
:104180005E078B3F98F08B3F19F480913D040EC081
:104190008C3F19F480913F0409C08D3F19F4809140
:1041A000410404C08E3F21F48091430480939E0318
:1041B00080919E03882319F410929E0304C08F3FC0
:1041C00011F480939E0310919B03612F772767FD65
:1041D0007095872F972F0E949F3B17FF06C020E006
:1041E00030E040E853E40E94FA3A27E137EB41ED32
:1041F00058E30E94193C60938F037093900380935F
:10420000910390939203809142078093A507809138
:104210004107809381071F91089580914E04882360
:1042200001F510927E07109279071092960710926E
:10423000A0078091AD03882311F0809379078091C6
:10424000AE03882311F080937E078091AF0388230B
:1042500011F08093A0078091B003882311F0809320
:1042600096078091790799279093C0068093BF069F
:1042700080917E0799279093C2068093C106809112
:10428000A00799279093C4068093C3068091960750
:1042900099279093C6068093C5061092E803109262
:1042A000E9030E94BC15089510929907109298078F
:1042B00010929B0710929A0780E090E0A0E0B0E097
:1042C00080939C0790939D07A0939E07B0939F07B0
:1042D0001092F0031092EF031092F2031092F10388
:1042E0001092F4031092F303109265041092660486
:1042F0000E94A01C84E690E00E94E20D0E94A01C97
:104300008091370780FF10C080910E0390910F03BA
:10431000875B934038F480910E0390910F038E5E7B
:10432000924010F40E948C104091C5035091C60336
:104330005093F0034093EF032091C7033091C803DB
:104340003093F2032093F1038091C9039091CA0343
:104350009093F4038093F3033093F6032093F503D3
:104360005093F8034093F70388E0E8E9F7E0A8E604
:10437000B1E0182E0E94353D1092190410921A04D3
:1043800010921B0410921C0410921D0410921E0423
:1043900010921F0410922004109221041092220403
:1043A00010922304109224041092250410922604E3
:1043B00010922704109228041092290410922A04C3
:1043C00010922B0410922C041092800710927F07F9
:1043D00010927807109277071092A7071092A607FD
:1043E00080910A0390910B03A0910C03B0910D03EF
:1043F0009093EE068093ED061092D8031092D703A7
:10440000109231041092320410923304109234044A
:10441000809135049091360490933804809337044A
:104420000E94893782E390E09093C1038093C00398
:1044300060915A0777278827992724EC39E040E0D4
:1044400050E00E94613C60938703709388038093DF
:10445000890390938A0360915B07772788279927C0
:104460000E94613C60938B0370938C0380938D0357
:1044700090938E031092A00310929F030895CF9300
:10448000DF93C8E9D7E0109299071092980710922D
:104490009B0710929A0780E090E0A0E0B0E0809344
:1044A0009C0790939D07A0939E07B0939F070E943F
:1044B000A01C84E690E00E94E20D0E94A01C809166
:1044C000A3079091A40797FF03C0909581959F4FF4
:1044D0006CE070E00E94A03C70939907609398078D
:1044E0008091AD079091AE0797FF03C0909581959D
:1044F0009F4F6CE070E00E94A03C70939B0760931C
:104500009A076091EB067091EC06882777FD8095FD
:10451000982F0E949F3B60939C0770939D07809308
:104520009E0790939F0788E0A8E6B1E0FE01182E51
:104530000E94463DDF91CF9108951F93182F0EC022
:1045400080914E04882361F484E690E09093C10347
:104550008093C0038AEF90E00E94F80D115080F71D
:104560001F910895ADE3B0E0E8EBF2E20C94F03C6B
:104570000E947017299A20914C0430914D043C837D
:104580002B8337FF02C01C821B8280914504843636
:1045900008F05DC080910301882399F480910403A1
:1045A000909105038F5F9F4F61F488E99AE39093A0
:1045B000C1038093C00380E09CE090930503809347
:1045C00004038091900490919104009731F0019739
:1045D000909391048093900404C010924E04109222
:1045E0003B04809100018A3011F4289A01C0289878
:1045F00080918B0490918C04815D974028F180918B
:104600004807682F77277C836B8381E080933B0486
:10461000E0912F07FF27EE0FFF1FED5FF84F11828C
:104620001082E0913007FF27EE0FFF1FED5FF84F7C
:1046300011821082E0913207FF27EE0FFF1FED5F1E
:10464000F84F11821082D9C110924E04D6C18091C8
:1046500045048D3808F4D1C110923B04809149077C
:1046600022E3829FC00111249093910480939004CF
:104670008B819C8189976CF080918B0490918C0444
:10468000AFEF8F3F9A0781F1019690938C0480934E
:104690008B0480918B0490918C04883C910520F0D0
:1046A000EB81FC81B89704F51092AA041092AB0438
:1046B0001092AC041092AD041092A6041092A704BC
:1046C0001092A8041092A9041092290410922A04AE
:1046D00010922B0410922C0410922D0410922E0490
:1046E00010922F0410923004E0913107FF27EE0F53
:1046F000FF1FED5FF84F80819181813591050CF4AA
:10470000D4C080914E04882309F0CFC0E0913207D5
:10471000FF27EE0FFF1FED5FF84F808191818C34F2
:1047200091050CF4C0C080918F048F5F80938F043B
:10473000893C08F4BAC0299810924E0410928F0454
:1047400010928C0410928B0480912F07282F33270E
:10475000F901EE0FFF1FED5FF84F808191818734E3
:1047600091059CF4E0913007FF27EE0FFF1FED5FEE
:10477000F84F0190F081E02DF7FF03C0F095E1952F
:10478000FF4FE734F1050CF46CC080913007682FBF
:104790007727DB01AA0FBB1FAD5FB84F8D919C91AE
:1047A0001197873491053CF0F901EE0FFF1FED5F83
:1047B000F84F808191818D919C918734910564F0AF
:1047C000F901EE0FFF1FED5FF84F80819181873473
:1047D000910514F042E001C041E0FB01EE0FFF1F24
:1047E000ED5FF84F80819181863491055CF4F90189
:1047F000EE0FFF1FED5FF84F8081918187349105A7
:104800000CF043E0FB01EE0FFF1FED5FF84F8081DE
:1048100091818A5B9F4F5CF4F901EE0FFF1FED5F02
:10482000F84F80819181873491050CF044E0660F48
:10483000771F6D5F784FDB018D919C918A5B9F4F55
:104840005CF4220F331F2D5F384FF9018081918175
:10485000863491050CF445E0A2E0B0E0042E0E94FD
:104860003A3D8091370780FF10C080910E039091F0
:104870000F03875B934038F480910E0390910F03F0
:104880008E5E924010F40E948C100E94C70346E492
:104890006FE277E00E94F0030E9454210E94C70358
:1048A0000E949D2202C010928F04E0913107FF27E1
:1048B000EE0FFF1FED5FF84F808191818B5A9F4F64
:1048C0000CF09BC080913207482F5527FA01EE0F5C
:1048D000FF1FED5FF84F80819181855B9F4F0CF04A
:1048E0006DC080918E048F5F80938E04893C08F4A4
:1048F00067C088EC80938E0481E090E090938C04F4
:1049000080938B0481E080934E041092A204109255
:10491000A3041092A4041092A504109229041092EA
:104920002A0410922B0410922C0410922D04109241
:104930002E0410922F041092300410921904109239
:104940001A0410921B0410921C041092210410925D
:10495000220410922304109224048091F903909170
:10496000FA03A091FB03B091FC0380931D04909384
:104970001E04A0931F04B093200480910104909121
:104980000204A0910304B091040480932504909341
:104990002604A0932704B09328041092AA0410922E
:1049A000AB041092AC041092AD041092A6041092C5
:1049B000A7041092A8041092A90402C010928E04B9
:1049C000440F551F4D5F584FDA018D919C918C34E7
:1049D00091058CF080918D048F5F80938D04893CCC
:1049E00060F010924E0488EC80938D0410928C0439
:1049F00010928B0402C010928D0480916B03815041
:104A000080936B0380916B038F3F29F080913B046F
:104A1000882309F46CC30E94ED1D20904604309059
:104A2000470480912F07C82EDD24D601AA0FBB1F93
:104A3000AD014D5F584FFA010190F081E02DFBABC5
:104A4000EAAB80913E07882E9924A75EB84F0D905F
:104A5000BC91A02DB9ABA8AB80913F07282F33277D
:104A60003FA72EA760914804709149047A83698317
:104A700080913007E82EFF24C701880F991FDC01C1
:104A8000AD5FB84F0D90BC91A02DBBA7AAA7875EC4
:104A9000984FDC018D919C9199A788A7E0913207EE
:104AA000AE2FBB27AA0FBB1FAD5FB84F0D90BC91B7
:104AB000A02DBFA3AEA3E0913107FF27EE0FFF1F8C
:104AC000ED5FF84FA080B180E8E7F0E0AE0EBF1ECA
:104AD000B0924D04A0924C04DA018D919C912091EA
:104AE0006D0430916E0497FF03C0909581959F4FA0
:104AF000281739078CF4FA018081918190936E0414
:104B000080936D0497FF0EC0909581959F4F909371
:104B10006E0480936D0406C02150304030936E04C3
:104B200020936D04F701EE0FFF1FED5FF84F8081BA
:104B3000918120916F043091700497FF03C090958C
:104B400081959F4F2817390784F480819181909334
:104B5000700480936F0497FF0EC0909581959F4FCE
:104B60009093700480936F0406C0215030403093BE
:104B7000700420936F0480913B04882341F01092CD
:104B80006E0410926D041092700410926F041091D4
:104B90009803612F772767FD7095872F972F0E94C5
:104BA0009F3B17FF06C020E030E040E853E40E943E
:104BB000FA3A20E030E040E251E40E94FA3A20E084
:104BC00030E040E85BE30E94193C2B013C0160931C
:104BD000A8077093A9078093AA079093AB07109139
:104BE0009903612F772767FD7095872F972F0E9474
:104BF0009F3B17FF06C020E030E040E853E40E94EE
:104C0000FA3A20E030EE4BE257E40E943C3B6093DE
:104C10009207709393078093940790939507209140
:104C2000B203222311F40C94FD348AE090E09093B7
:104C3000C1038093C003E22FFF27E2FF09C08091E8
:104C40005D04482F5527440F551F440F551F10C0B2
:104C5000E3FD03C040E050E00BC080915D04992764
:104C6000880F991F880F991F44275527481B590BF8
:104C70002091670430916804C901F3E0880F991FFF
:104C8000FA95E1F7821B930B840F951F68E070E0A3
:104C90000E94A03C7DAF6CAF709368046093670482
:104CA000E4FF09C080915D04482F5527440F551F2C
:104CB000440F551F0FC0E5FD02C00C9413358091C1
:104CC0005D049927880F991F880F991F442755273E
:104CD000481B590B2091690430916A04C90163E0B3
:104CE000880F991F6A95E1F7821B930B840F951F1C
:104CF00068E070E00E94A03C8B0170936A046093AE
:104D000069048091B103282F332723FF03C082E376
:104D100090E004C022FF07C08EEC9FEF90936C04DC
:104D200080936B0404C010926C0410926B0421FFFA
:104D300009C080919F039091A00301969093A003D6
:104D400080939F0324FF09C080919F039091A0034B
:104D500001979093A00380939F03C101880F991F2F
:104D6000820D931D4AA95BA9489D9001499D300D74
:104D7000589D300D1124820F931F64E070E00E9453
:104D8000A03C1B0168A979A9AEA5BFA56A9FC00177
:104D90006B9F900D7A9F900D1124280E391E8CADBB
:104DA0009DAD68E070E00E94A03C260E371E309258
:104DB00047042092460489819A81880F991FE981CE
:104DC000FA818E0F9F1F4AA55BA5489D9001499DC2
:104DD000300D589D300D1124820F931F64E070E058
:104DE0000E94A03C9B0168A579A5AEA5BFA56A9FBE
:104DF000C0016B9F900D7A9F900D1124280F391FD1
:104E0000C80168E070E00E94A03C260F371F309375
:104E100049042093480440916B0450916C04EEA126
:104E2000FFA14E1B5F0B50934B0440934A048091AB
:104E30000E0680FF54C080915D04813808F44FC095
:104E400080910706992787FD9095BC01689DC00158
:104E5000699D900D789D900D1124280E391E309279
:104E600047042092460480910806992787FD909573
:104E7000DC01A89DC001A99D900DB89D900D112445
:104E8000280F391F30934904209348048091090664
:104E9000992787FD9095480F591F50934B044093D5
:104EA0004A0420910B06332727FD309580913C075B
:104EB0009927FC012E9FC0012F9F900D3E9F900DC2
:104EC00011249093A00380939F0380910A06992751
:104ED0008A159B0524F490934D0480934C04809193
:104EE000370782FF0CC080E090E0A0E0B0E0809344
:104EF000920790939307A0939407B093950720E0AF
:104F000030E040E050E0C301B2010E94A93B882399
:104F100064F480E090E0A0E0B0E08093A807909374
:104F2000A907A093AA07B093AB0720E030E040E0C8
:104F300050E060919207709193078091940790914F
:104F400095070E94A93B882364F480E090E0A0E0EC
:104F5000B0E08093920790939307A0939407B09347
:104F60009507F701EE0FFF1FED5FF84F20813181AC
:104F700080915607482F55274217530744F48091D4
:104F8000630782FF04C081E08093590411C0F701D8
:104F9000EE0FFF1FED5FF84F2081318180915707A1
:104FA000BA01681B71092617370714F410925904C7
:104FB000F701EE0FFF1FED5FF84F808191816627AB
:104FC0007727641B750B8617970744F48091630756
:104FD00083FF04C081E080935A0417C080915A0473
:104FE000882399F0EE0CFF1C83E097E0E80EF91E91
:104FF000D7012D913C91809157079927841B950BE0
:105000008217930714F410925A04F601EE0FFF1F53
:10501000ED5FF84F808191814817590744F48091E2
:10502000630780FF04C081E080935C0415C0809119
:105030005C04882389F0F601EE0FFF1FED5FF84F47
:105040002081318180915707FA01E81BF1092E1761
:105050003F0714F410925C04F601EE0FFF1FED5FA2
:10506000F84F808191818617970744F480916307F8
:1050700081FF04C081E080935B0417C080915B04D2
:10508000882399F0CC0CDD1C23E037E0C20ED31E40
:10509000D6012D913C91809157079927841B950B40
:1050A0008217930714F410925B04809159048823AB
:1050B00021F480915A04882321F081E080935804E0
:1050C00002C01092580480915C04882321F48091DE
:1050D0005B04882351F081E08093570410925804B8
:1050E0001092590410925A040EC0109257048091E5
:1050F0005804882311F40C94173584E690E09093BB
:10510000C1038093C003809155079927EB81FC81EF
:105110008E179F0714F49C838B8380913B04882314
:1051200041F110924B0410924A04109247041092DD
:10513000460410924904109248048DEC9CECACECAF
:10514000BDE38093A8079093A907A093AA07B09303
:10515000AB078AE097EDA3EABBE3809392079093B5
:105160009307A0939407B093950710925804109258
:1051700057042091F9033091FA034091FB035091B9
:10518000FC0328AF39AF4AAF5BAF80918A0790919B
:105190008B07A0918C07B0918D07820F931FA41FDE
:1051A000B51F80938A0790938B07A0938C07B093C9
:1051B0008D074091010450910204609103047091A5
:1051C00004044CAB5DAB6EAB7FAB80918E079091CE
:1051D0008F07A0919007B0919107840F951FA61F8C
:1051E000B71F80938E0790938F07A0939007B0937B
:1051F00091076091FD037091FE038091FF039091F0
:1052000000046D8F7E8F8F8F98A38091820790917D
:105210008307A0918407B09185072D8D3E8D4F8D1A
:1052200058A1820F931FA41FB51F809382079093EC
:105230008307A0938407B09385074091050450919C
:1052400006046091070470910804498F5A8F6B8F90
:105250007C8F80917A0790917B07A0917C07B09119
:105260007D07840F951FA61FB71F80937A07909321
:105270007B07A0937C07B0937D075091570459A3F7
:10528000552311F00C94723580915804882311F045
:105290000C9472350C941F3580916F0490917004BA
:1052A0004097A4F0C201B10123E030E040E050E0BB
:1052B0000E94D53C59016A01C401B30123E030E0EA
:1052C00040E050E00E94D53C79018A01E09132072C
:1052D000FF27EE0FFF1FED5FF84F0190F081E02DEB
:1052E000F7FF03C0F095E195FF4F7A97A4F0C60150
:1052F000B50123E030E040E050E00E94D53C590188
:105300006A01C801B70123E030E040E050E00E94AC
:10531000D53C79018A0161E2A616B104C104D10429
:1053200034F090E2A92EB12CC12CD12C11C070EE1A
:10533000A7167FEFB7067FEFC7067FEFD70644F4C7
:1053400080EEA82E8FEFB82E8FEFC82E8FEFD82EBD
:1053500081E2E816F1040105110534F010E2E12EB6
:10536000F12C012D112D11C090EEE9169FEFF906D9
:105370009FEF09079FEF190744F4B0EEEB2EBFEF44
:10538000FB2EBFEF0B2FBFEF1B2F809119049091C5
:105390001A04A0911B04B0911C048A199B09AC0942
:1053A000BD098093190490931A04A0931B04B09331
:1053B0001C048091210490912204A0912304B091B7
:1053C00024048E199F09A00BB10B809321049093A4
:1053D0002204A0932304B09324048091D9039091D4
:1053E000DA038F3F910509F008F4D5C4A9A1AA23D7
:1053F00009F055C480915804882309F050C4609185
:105400008A0770918B0780918C0790918D0720E01F
:1054100031E040E050E00E94D53C2D8B3E8B4F8B1D
:10542000588F20938A0730938B0740938C075093B3
:105430008D0760918E0770918F07809190079091F2
:10544000910720E031E040E050E00E94D53C298BFC
:105450003A8B4B8B5C8B20938E0730938F07409356
:10546000900750939107E0904307FF2400271127EE
:105470002091090430910A0440910B0450910C04CE
:10548000C801B7010E94613C20E031E040E050E0FB
:105490000E94D53C19012A012093090430930A0483
:1054A00040930B0450930C0420910D0430910E0492
:1054B00040910F0450911004C801B7010E94613C53
:1054C00020E031E040E050E00E94D53C39014A0143
:1054D00020930D0430930E0440930F045093100456
:1054E000609111047091120480911304909114043E
:1054F00020E031E040E050E00E94D53C20931104D0
:105500003093120440931304509314046D897E89E0
:105510008F89988D6219730984099509609396049F
:10552000709397048093980490939904E0905C079B
:10553000FF2400271127A80197010E94D53C59019B
:105540006A01209384043093850440938604509329
:10555000870469897A898B899C8966197709880902
:1055600099096093920470939304809394049093A8
:105570009504A80197010E94D53C2D873E874F874F
:10558000588BC601B50120E031E040E050E00E94B8
:10559000D53C890130935604209355046D857E8552
:1055A0008F85988920E031E040E050E00E94D53CB2
:1055B0003DAF2CAF309354042093530480916D047D
:1055C00090916E044097BCF480916F0490917004A8
:1055D00040978CF4E0913207FF27EE0FFF1FED5F3D
:1055E000F84F0190F081E02DF7FF03C0F095E195B1
:1055F000FF4F7A9774F0C80162E070E00E94A03C0F
:10560000CB0162E070E00E94A03C7093560460936E
:10561000550460918207709183078091840790916F
:10562000850720E031E040E050E00E94D53C209327
:1056300082073093830740938407509385076091D6
:105640007A0770917B0780917C0790917D0720E01D
:1056500031E040E050E00E94D53C20937A0730933F
:105660007B0740937C0750937D07ED8CFE8C0F8D5C
:1056700018A128AD39AD4AAD5BADE21AF30A040BAF
:10568000150BE0929E04F0929F040093A0041093E7
:10569000A104A98CBA8CCB8CDC8C4CA95DA96EA919
:1056A0007FA9A41AB50AC60AD70AA0929A04B09292
:1056B0009B04C0929C04D0929D04E0929604F092C8
:1056C00097040093980410939904A0929204B092C6
:1056D0009304C0929404D092950480911D049091FB
:1056E0001E04A0911F04B09120048E199F09A00BE5
:1056F000B10B80931D0490931E04A0931F04B093DC
:1057000020048091250490912604A0912704B09153
:1057100028048A199B09AC09BD098093250490933C
:105720002604A0932704B0932804C201B1012AE102
:1057300030E040E050E00E94D53C3093CA06209310
:10574000C906C401B3012AE130E040E050E00E9404
:10575000D53C3093CC062093CB06F092CE06E09257
:10576000CD06B092D006A092CF066D897E898F8932
:10577000988D2AE130E040E050E00E94D53C309323
:10578000D2062093D10669897A898B899C892AE17E
:1057900030E040E050E00E94D53C3093D4062093A6
:1057A000D3066D857E857093E2066093E1068CAD2D
:1057B0009DAD880F991F2CAD3DAD63E0220F331FC7
:1057C0006A95E1F7820F931F9093E4068093E306B6
:1057D00081E090E090937F0480937E048091760432
:1057E00090917704A0917804B09179042D893E8935
:1057F0004F89588D821B930BA40BB50B815E914B87
:10580000AF4FBF4F8F539C49A040B04008F0C1C07C
:1058100041E0E41640E1F40640E0040740E01407EC
:105820000CF452C080917D04882309F449C0D8014A
:10583000C7015CE0B595A795979587955A95D1F7DF
:10584000019690937F0480937E04D801C70143E0C2
:10585000B595A795979587954A95D1F78093840438
:1058600090938504A0938604B0938704895893414C
:10587000A040B04064F088E893E1A0E0B0E08093FD
:10588000840490938504A0938604B0938704609168
:10589000840470918504809186049091870420E0AF
:1058A00031E040E050E00E94D53C80915504909159
:1058B0005604820F931F909356048093550466C03C
:1058C00081E080937D0462C010927D0460E0E61662
:1058D00060EFF6066FEF06076FEF16070CF056C085
:1058E00080917C04882309F44DC088279927DC0126
:1058F0008E199F09A00BB10B3CE0B595A795979524
:1059000087953A95D1F7019690937F0480937E0412
:10591000C801B70128E030E040E050E00E94D53CEB
:105920002093840430938504409386045093870425
:1059300028573C4E4F4F5F4F64F488E79CEEAFEF23
:10594000BFEF8093840490938504A0938604B09362
:1059500087046091840470918504809186049091FD
:10596000870420E031E040E050E00E94D53C809187
:10597000550490915604820F931F90935604809380
:1059800055040BC081E080937C0407C010927C0416
:1059900004C010927F0410927E0480915D07882ECF
:1059A000992480917E0490917F048816990624F4AE
:1059B00090927F0480927E0481E0E81684E0F806ED
:1059C00080E0080780E018075CF08091EF03909179
:1059D000F00320917E0430917F04820F931F13C047
:1059E00090E0E9169CEFF9069FEF09079FEF190772
:1059F00074F48091EF039091F00320917E04309134
:105A00007F04821B930B9093F0038093EF0381E05C
:105A100090E090937F0480937E0410928004109213
:105A200081041092820410928304809172049091F8
:105A30007304A0917404B091750429893A894B8943
:105A40005C89821B930BA40BB50B815E914BAF4F0E
:105A5000BF4F8F539C49A040B04008F0BDC041E00B
:105A6000A41640E1B40640E0C40640E0D4060CF4BD
:105A700050C080917B04882309F447C0D601C5013A
:105A80002CE0B595A795979587952A95D1F701961E
:105A900090937F0480937E04D601C50103E0B59501
:105AA000A795979587950A95D1F780938004909351
:105AB0008104A0938204B093830489589341A04049
:105AC000B04064F088E893E1A0E0B0E08093800407
:105AD00090938104A0938204B09383046091800426
:105AE00070918104809182049091830420E031E0E0
:105AF00040E050E00E94D53C6CAD7DAD620F731F5D
:105B0000709354046093530464C081E080937B04D9
:105B100060C010927B0470E0A71670EFB7067FEFAD
:105B2000C7067FEFD7060CF054C080917A04882313
:105B300009F44BC088279927DC018A199B09AC0915
:105B4000BD091CE0B595A795979587951A95D1F74E
:105B5000019690937F0480937E04C601B50128E0EE
:105B600030E040E050E00E94D53C20938004309328
:105B70008104409382045093830428573C4E4F4F36
:105B80005F4F64F488E79CEEAFEFBFEF8093800433
:105B900090938104A0938204B09383046091800465
:105BA00070918104809182049091830420E031E01F
:105BB00040E050E00E94D53CACADBDADA20FB31F9C
:105BC000B0935404A09353040BC081E080937A04F3
:105BD00007C010927A0404C010927F0410927E04D1
:105BE00080917E0490917F048816990624F4909207
:105BF0007F0480927E04B1E0AB16B4E0BB06B0E057
:105C0000CB06B0E0DB065CF08091F1039091F203EB
:105C100020917E0430917F04820F931F13C0E0E037
:105C2000AE16ECEFBE06EFEFCE06EFEFDE0674F435
:105C30008091F1039091F20320917E0430917F04D2
:105C4000821B930B9093F2038093F1038091800465
:105C5000909181049093DE068093DD068091EF039E
:105C60009091F0039093D6068093D5068091F1032E
:105C70009091F2032091F5033091F603821B930B70
:105C80009C01A3E0220F331FAA95E1F7880F991F0B
:105C9000820F931F9093D8068093D70608C0109266
:105CA000540410925304109256041092550420E0AC
:105CB00030E040E050E0609192077091930780914E
:105CC0009407909195070E94A93B882341F4109274
:105CD000540410925304109256041092550480916B
:105CE0008A0790918B07A0918C07B0918D078093C4
:105CF000760490937704A0937804B093790480910C
:105D00008E0790918F07A0919007B0919107809393
:105D1000720490937304A0937404B093750410926A
:105D2000090410920A0410920B0410920C041092B1
:105D30000D0410920E0410920F0410921004109291
:105D40001104109212041092130410921404109271
:105D50008A0710928B0710928C0710928D07109271
:105D60008E0710928F071092900710929107109251
:105D70008207109283071092840710928507109271
:105D80007A0710927B0710927C0710927D07109281
:105D9000DA031092D90380904A0490904B04540186
:105DA00097FE04C0AA24BB24A818B908F5E1AF16D1
:105DB000B1043CF08091370784FD03C081E08093FB
:105DC000A103E0904007CC24B7FCC094DC2CB401C4
:105DD000882777FD8095982F2E2D33274427552728
:105DE0000E94613C9B01AC01C601B5010E94613C6F
:105DF00020E032E040E050E00E94D53C89019A0169
:105E0000FF24E89CC001E99C900DF89C900D1124A2
:105E100064E070E00E94A03C600F711F882777FD4E
:105E20008095982F6093A2047093A3048093A40498
:105E30009093A5042091290430912A0440912B04C9
:105E400050912C04261B370B480B590B2093290427
:105E500030932A0440932B0450932C04213563EC97
:105E6000360760E0460760E056072CF080E593ECCB
:105E7000A0E0B0E009C0205B3C434F4F5F4F64F4AB
:105E800080EB9CE3AFEFBFEF8093290490932A044B
:105E9000A0932B04B0932C048091370783FF9AC002
:105EA000809171048150809371048F3FD9F40E94D6
:105EB0000138909336048093350420913704309153
:105EC0003804821B930B845E9D4F68E671E00E944C
:105ED000A03C845B904090933A048093390482E321
:105EE000809371046091F9037091FA038091FB0330
:105EF0009091FC0320E032E040E050E00E94D53C6D
:105F0000890137FF03C0109501951F4F609101046F
:105F100070910204809103049091040420E032E027
:105F200040E050E00E94D53CB90137FF03C07095B6
:105F300061957F4F601771070CF4B80163327105EA
:105F400074F48091A103882351F0809135049091DD
:105F5000360490933804809337041092A103209163
:105F600097033327629FC001639F900D729F900D2E
:105F7000112460E470E00E94A03C261B370B12162F
:105F8000130644F58091390490913A04DC012A9F6C
:105F9000C0012B9F900D3A9F900D112460E270E09C
:105FA0000E94A03C882777FD8095982F2091290496
:105FB00030912A0440912B0450912C04260F371F56
:105FC000481F591F2093290430932A0440932B041F
:105FD00050932C04809188048150809388048F3FD3
:105FE00009F079C088E180938804E0904307FF249A
:105FF000002711276091F9037091FA038091FB0348
:106000009091FC03A80197010E94D53C3093A8060B
:106010002093A7066091010470910204809103040B
:1060200090910404A80197010E94D53C3093AA06E0
:106030002093A9068091A3079091A4079093AC06A2
:106040008093AB068091AD079091AE079093AE061A
:106050008093AD068091A6079091A7079093B00614
:106060008093AF0680914F04909150049093B206B4
:106070008093B106609131047091320480913304B1
:106080009091340420E032E040E050E00E94D53CA2
:106090003093B4062093B306809135049091360472
:1060A0009093B8068093B7068091080390910903F6
:1060B0009093BA068093B9068091450499279093EE
:1060C000BC068093BB0680918607909187079093CA
:1060D000C8068093C70680915704C0907F07D09070
:1060E0008007882391F0B601882777FD8095982F47
:1060F0000E949F3B2091A8073091A9074091AA07D1
:106100005091AB070E94193C2DC06091F90370912A
:10611000FA038091FB039091FC030E949F3B209126
:1061200092073091930740919407509195070E94F0
:10613000193C7B018C01B601882777FD8095982F4B
:106140000E949F3B2091A8073091A9074091AA0780
:106150005091AB070E94193C9B01AC01C801B701EB
:106160000E94FA3A0E94823B7093800760937F07F7
:1061700080915804C0907707D0907807882391F0D9
:10618000B601882777FD8095982F0E949F3B20912C
:10619000A8073091A9074091AA075091AB070E9428
:1061A000193C2DC060910104709102048091030498
:1061B000909104040E949F3B209192073091930795
:1061C00040919407509195070E94193C7B018C01E6
:1061D000B601882777FD8095982F0E949F3B2091DC
:1061E000A8073091A9074091AA075091AB070E94D8
:1061F000193C9B01AC01C801B7010E94FA3A0E9408
:10620000823B7093780760937707209192073091D3
:10621000930740919407509195072AA33BA34CA361
:106220005DA36091A6077091A707882777FD8095E9
:10623000982F0E949F3B7B018C016091A807709171
:10624000A9078091AA079091AB079B01AC010E941E
:10625000FA3A9B01AC01C801B7010E94193C7B01CD
:106260008C0160911504709116048091170490912F
:1062700018040E949F3B2AA13BA14CA15DA10E9452
:10628000193C20E030E040E05FE30E94193C9B01B4
:10629000AC01C801B7010E94FA3A0E94823B8B010F
:1062A0007093A7076093A6076091010470910204A0
:1062B00080910304909104040E949F3B2AA13BA17A
:1062C0004CA15DA10E94193C69877A878B879C87C6
:1062D0000E94823B7093DA066093D906409148048D
:1062E000509149045DA74CA75093E6064093E506FC
:1062F00020917707309178073093E0062093DF06EE
:1063000080917F079091800758E0813095071CF0BD
:1063100080E098E005C08050984F34F480E098EF1A
:106320009093800780937F0778E0213037071CF037
:1063300080E098E005C02050384F34F480E098EFBA
:10634000909378078093770798E0013019071CF045
:1063500080E098E005C00050184F34F480E098EFDA
:106360009093A7078093A60780913707992780FF0E
:10637000D9C04091940381FF0EC0423310F5809143
:106380004F04909150044497909352048093510489
:1063900010923C0419C020919F033091A003240F58
:1063A000311D80913C079927FC012E9FC0012F9F32
:1063B000900D3E9F900D112444979093520480932A
:1063C000510481E080933C0480913B04882321F0B8
:1063D000109252041092510420914F0430915004B5
:1063E0004091510450915204421753070CF09AC047
:1063F00080913C04882309F495C0241B350B8091BF
:1064000095039927AC01249FC001259F900D349FCF
:10641000900D112460E170E00E94A03C0B811C8172
:10642000061B170B2091D7033091D803809193035B
:106430009927BC01269FC001279F900D369F900D84
:10644000112468E070E00E94A03C061B170B6091CD
:10645000310470913204809133049091340420E02F
:1064600032E040E050E00E94D53CCA01B9012091E1
:1064700096033327442755270E94613C20E230E0F1
:1064800040E050E00E94D53C7FEF2E3C370714F4EB
:106490002EEC3FEF8091890490918A04AC01E4E0F6
:1064A000440F551FEA95E1F7481B590B233331057B
:1064B00014F022E330E0021B130BCA01800F911F7E
:1064C00060E170E00E94A03C70938A0460938904AC
:1064D000809138079927681779078CF4AB81BC81C4
:1064E000A817B9072CF090938A048093890407C0F9
:1064F000EB81FC81F0938A04E09389040DC08091C4
:10650000890490918A042B813C812817390724F44F
:1065100030938A04209389044091890450918A041D
:106520005C834B838091A507682E77247CEE872EB1
:106530007FEF972E860C971C6B817C8168157905FF
:106540000CF44B019092B6068092B506E091A60736
:10655000F091A7070091A2041091A3042091A40434
:106560003091A50474E1871691041CF4222433248D
:1065700022C0C40162E070E00E94A03C9F01201B89
:10658000310BCB01261737070CF4C90170956195C3
:106590007F4F681779070CF4BC01C301881999096A
:1065A000681779070CF4CB01140126183708281650
:1065B00039060CF41C014090460450904704809129
:1065C000B6049091B704481A590A80917F079091B8
:1065D000800784199509909389078093880720E0A4
:1065E00030E040E050E06AA17BA18CA19DA10E9417
:1065F000A93B8823E1F16091AA047091AB048091DA
:10660000AC049091AD040E949F3B5B016C016091D2
:10661000F9037091FA038091FB039091FC030E94AF
:106620009F3B2AA13BA14CA15DA10E94193C7B018B
:106630008C01B201882777FD8095982F0E949F3B9F
:106640009B01AC01C801B7010E94F93A9B01AC0162
:10665000C601B5010E94FA3A0E94823B6093AA04E7
:106660007093AB048093AC049093AD041CC0209154
:10667000880730918907442737FD4095542F809132
:10668000AA049091AB04A091AC04B091AD04820F28
:10669000931FA41FB51F8093AA049093AB04A093EB
:1066A000AC04B093AD048091AA049091AB04A09186
:1066B000AC04B091AD048138EEE39E07E0E0AE0794
:1066C000E0E0BE072CF080E89EE3A0E0B0E009C067
:1066D0008058914CAF4FBF4F64F480E891ECAFEF1E
:1066E000BFEF8093AA049093AB04A093AC04B09343
:1066F000AD04609188077091890720918F033091D4
:10670000900340919103509192032D833E834F83D8
:106710005887882777FD8095982F0E949F3B7B01A3
:106720008C016091AA047091AB048091AC049091AB
:10673000AD040E949F3B9B01AC016D817E818F81E6
:1067400098850E94193C9B01AC01C801B7010E94C9
:10675000FA3A0E94823B5B016C017DAF6CAF809185
:106760009E03E82EFF2400271127C10137FE04C035
:10677000882799278219930962E070E00E94A03C63
:106780009B01280D391D442737FD4095542FC80122
:10679000B7010E94613C20E430E040E050E00E94FC
:1067A000D53C29014CAD5DAD441555050CF4950162
:1067B000AA24BB24A418B508A501A216B3060CF49C
:1067C000A901C401820D931D840F951F97FF03C07B
:1067D00020E030E005C09301861597050CF49C017C
:1067E00080918107C82EDD24C601C216D3060CF4A1
:1067F000C90180937907C401841B950B820D931DF9
:1068000097FF03C020E030E005C09301861597058F
:106810000CF49C01C601C216D3060CF4C901809386
:106820007E078091B8049091B9046CA57DA5681B82
:10683000790B7DAF6CAF8091770790917807861BBD
:10684000970B909376078093750720E030E040E047
:1068500050E06AA17BA18CA19DA10E94A93B882345
:1068600071F16091A6047091A7048091A8049091A1
:10687000A9040E949F3B7B018C01ACADBDADBD0165
:10688000882777FD8095982F0E949F3B9B01AC0144
:1068900069857A858B859C850E94F93A9B01AC01BC
:1068A000C801B7010E94FA3A0E94823B6093A60495
:1068B0007093A7048093A8049093A9041CC020910E
:1068C000750730917607442737FD4095542F809106
:1068D000A6049091A704A091A804B091A904820FE6
:1068E000931FA41FB51F8093A6049093A704A093A1
:1068F000A804B093A9048091A6049091A704A09144
:10690000A804B091A9048138EEE39E07E0E0AE0749
:10691000E0E0BE072CF080E89EE3A0E0B0E009C014
:106920008058914CAF4FBF4F64F480E891ECAFEFCB
:10693000BFEF8093A6049093A704A093A804B093FC
:10694000A9046091750770917607882777FD809577
:10695000982F0E949F3B7B018C016091A60470914F
:10696000A7048091A8049091A9040E949F3B9B01D9
:10697000AC016D817E818F8198850E94193C9B01BD
:10698000AC01C801B7010E94FA3A0E94823B920111
:10699000641575050CF49B01C501A216B3060CF431
:1069A000C901A401480F591F4219530957FF03C0D9
:1069B00060E070E005C0B301461557050CF4BA015C
:1069C000A601C616D7060CF4AB014093A0079401AC
:1069D000281B390B2219330937FF03C040E050E070
:1069E00005C0A301261537050CF4A901C601C4167C
:1069F000D5060CF0D5C0CA01D3C0209167043091F0
:106A00006804C90163E0880F991F6A95E1F7821B4A
:106A1000930B68E070E00E94A03C7DAF6CAF709378
:106A200068046093670440E050E00C946A2680910B
:106A30005704882311F40C948D280C948328E0903B
:106A40004307FF240027112768AD79AD8AAD9BADC0
:106A5000A80197010E94D53C59016A018091A307C2
:106A60009091A407AA2797FDA095BA2FA81AB90A52
:106A7000CA0ADB0A6CA97DA98EA99FA9A801970162
:106A80000E94D53C79018A018091AD079091AE07B3
:106A9000AA2797FDA095BA2FE81AF90A0A0B1B0B33
:106AA000C601B50120E130E040E050E00E94D53C55
:106AB00019012A0159016A01C801B70120E130E03A
:106AC00040E050E00E94D53C39014A0179018A0139
:106AD00080916D0490916E04409714F00C945229AB
:106AE0000C944C291092090410920A0410920B0481
:106AF00010920C0410920D0410920E0410920F04C8
:106B00001092100410928A0710928B0710928C0733
:106B100010928D0710928E0710928F071092900797
:106B200010929107109282071092830710928407A7
:106B30001092850710927A0710927B0710927C07BB
:106B400010927D078091190490911A04A0911B0462
:106B5000B0911C0480931D0490931E04A0931F0405
:106B6000B09320048091210490912204A0912304E9
:106B7000B09124048093250490932604A0932704C5
:106B8000B09328041092DA031092D903109256049D
:106B90001092550410925404109253040C94ED2951
:106BA00080939607E2E1C35C0C940C3D81E08093F6
:106BB0002F0722E02093300783E08093310754E0D1
:106BC0005093320745E04093330736E03093340763
:106BD00087E08093350788E08093360780EC8093C8
:106BE00037079EE1909338078BEF80933A078AE04E
:106BF00080933B079093390790933D0720933C0780
:106C000020933E0750933F07309340078FE08093D7
:106C100041078AEF809342079093430780E880936F
:106C2000440724E6209345078CE8809346078EE5C9
:106C30008093470783E28093480784E18093490764
:106C400010924A0780E180934B0780E580934C07C0
:106C500010924D0710924E0710924F0710925F0747
:106C600010926007109261071092620720935007FC
:106C700088E2809351071092640792E39093520741
:106C800086E98093530740935407909355078AE50C
:106C90008093560790935707109263078093580785
:106CA0004093590720935A0720935B0780E2809313
:106CB0005C0750935D0790935E07A9E6B7E0ECE6AA
:106CC000F3E08CE001900D928150E1F7089581E0AE
:106CD00080932F0782E08093300723E020933107D1
:106CE00054E05093320745E04093330736E0309349
:106CF000340787E08093350788E08093360780E487
:106D0000809337079EE1909338078BEF80933A0783
:106D10008AE080933B079093390790933D07209337
:106D20003C0720933E0750933F07309340078FE086
:106D3000809341078AEF809342079093430780E84E
:106D40008093440790E59093450788E78093460732
:106D50008EE58093470783E28093480784E1809320
:106D6000490710924A0730E230934B0790934C0743
:106D700010924D0710924E0710924F0710925F0726
:106D800010926007109261071092620724E6209328
:106D9000500788E2809351071092640792E3909322
:106DA000520786E980935307409354079093550701
:106DB0008AE5809356079093570710926307809354
:106DC00058074093590720935A0720935B07309345
:106DD0005C0750935D078BE480935E07A9E6B7E0FC
:106DE000E6E7F3E08CE001900D928150E1F7089521
:106DF00081E080932F0782E08093300783E08093C7
:106E0000310734E03093320745E04093330786E0A2
:106E10008093340787E08093350728E02093360776
:106E200080E4809337079EE1909338078BEF80933F
:106E30003A078AE080933B079093390790933D0788
:106E400030933C0730933E0720933F078CE08093BC
:106E500040078FE0809341078AEF80934207909329
:106E6000430790E89093440780E58093450756E9EF
:106E7000509346078EE58093470783E28093480747
:106E800084E18093490710924A0780E280934B0780
:106E900090934C0710924D0710924E0710924F0797
:106EA00010925F07109260071092610710926207BC
:106EB00024E62093500788E28093510710926407DC
:106EC00082E3809352075093530740935407809373
:106ED00055079AE5909356078093570710926307DA
:106EE000909358074093590720935A0720935B07C4
:106EF00080E180935C0730935D0720935E07A9E6ED
:106F0000B7E0EEE7F3E08CE001900D928150E1F7FD
:106F100008958091BA049091BB04A091BC04B091F3
:106F2000BD048093C2049093C304A093C404B0939F
:106F3000C5048091BE049091BF04A091C004B0919B
:106F4000C1048093C6049093C704A093C804B0936F
:106F5000C90408951092B7041092B6041092B904AF
:106F60001092B80408951F920F920FB60F92112439
:106F70002F933F934F938F939F938091BD078330BF
:106F800019F08430A1F508C08EB58093CA041EBCE8
:106F900084E08093BD072BC08091CA049927382FC5
:106FA00022278EB59927282B392BC9018D509E4F4A
:106FB000875E9340D0F48091C007853019F0863009
:106FC00069F406C03093C2072093C10786E00BC066
:106FD0003093C4072093C30787E005C03093C607EA
:106FE0002093C50785E08093C0071092BD079F914D
:106FF0008F914F913F912F910F900FBE0F901F9047
:107000001895AAE0B0E0E7E0F8E30C94F03CA0901B
:107010004E07BB2433E0AA0CBB1C3A95E1F7CC2405
:10702000DD246091F9037091FA038091FB03909144
:10703000FC03A60195010E94D53C79018A01FF2439
:10704000E7FCF094C7010E94A13A2C01C7010E94FD
:10705000E43A3C01609101047091020480910304C0
:1070600090910404A60195010E94D53C79018A0102
:10707000FF24E7FCF094C7010E94A13A9A87898710
:10708000C7010E94E43A1C016091C1077091C207D8
:10709000E090C307F090C4072091B507332727FD80
:1070A0003095E21AF30A0027F7FC0095102FA09004
:1070B000C507B090C6072091B607332727FD309546
:1070C000A21AB30ACC24B7FCC094DC2C2091B407DC
:1070D000332727FD3095621B730B882777FD80953A
:1070E000982F882477FC8094982CA40193010E9407
:1070F000613C3B014C0189859A85AA2797FDA095A3
:10710000BA2F8D839E83AF83B887C201AA2797FDCC
:10711000A095BA2F89839A83AB83BC83C801B7013A
:107120002D813E814F8158850E94613C29813A81A1
:107130004B815C810E94613C20E034E040E050E003
:107140000E94D53C620E731E841E951E442437FC9B
:107150004094542CC601B501A20191010E94613CEA
:1071600029813A814B815C810E94613C20E034E0BE
:1071700040E050E00E94D53C621A730A840A950AE6
:10718000C801B701A20191010E94613C7B018C0101
:10719000C601B5012D813E814F8158850E94613C19
:1071A000E60EF71E081F191FC801B70120E130E0E5
:1071B00040E050E00E94D53C79018A01C401B3014E
:1071C00020E034E040E050E00E94D53CDA01C90103
:1071D000B7010E94153A9C0197FF05C0882799279F
:1071E000821B930B04C088E691E0821B930BE2E1C3
:1071F000C65F0C940C3D8091BD07813041F0813019
:1072000018F0823049F51CC02A9A81E016C02A98ED
:107210008091C007853011F481E305C0863011F4F8
:1072200082E301C083E38EBD88E090E00E94B00C51
:107230009093BF078093BE0782E08093BD070895B7
:107240008091BE079091BF070E94B90C882321F05E
:107250001EBC83E08093BD070895A0E0B0E0E3E3A7
:10726000F9E30C94F23C299A809100018A3011F4E0
:10727000289801C0289AAA24BB2400E010E08824A2
:107280009924EE24FF2466247724CC24DD2462E3B1
:10729000462E55248091C1079091C20708171907FF
:1072A0002CF40091C1071091C2070BC08091C10757
:1072B0009091C2078A159B0524F4A090C107B09055
:1072C000C2078091C3079091C407E816F9062CF411
:1072D000E090C307F090C4070BC08091C307909162
:1072E000C4078815990524F48090C3079090C407BB
:1072F0008091C5079091C607C816D9062CF4C09096
:10730000C507D090C6070BC08091C5079091C607EE
:107310008615970524F46090C5077090C607552020
:1073200081F485B191E0892785B985B192E08927FB
:1073300085B982E390E09093C1038093C00352E348
:10734000552E8AE090E00E94B00CEC01CE010E9424
:10735000B90C8823D9F3E0913107FF27EE0FFF1F07
:10736000ED5FF84F80819181843691050CF44A9449
:10737000442011F05A948ECFC8018A199B0990932A
:10738000B8078093B707C701881999099093BA077E
:107390008093B907C601861997099093BC0780931B
:1073A000BB07E4EBF7E0C8018A0D9B1D62E070E0CB
:1073B0000E94A03C6093B407C701880D991D62E04C
:1073C00070E00E94A03C6093B507C601860D971D32
:1073D00062E070E00E94A03C6093B60789E0A0E7FD
:1073E000B1E0182E0E94463DE0E1CDB7DEB70C9427
:1073F0000E3D83ED8CBD84B1846A84B98091000117
:107400008A3019F4539A5B9802C03E9A469885E0F8
:107410008093C0071092BD0789E0E4EBF7E0A0E796
:10742000B1E0182E0E94353D08959C01892B31F45E
:107430006115710519F480E090E0089577FD02C0B0
:1074400041E001C04FEF2115310529F48AE54802DA
:10745000C00111240895CB01B9010E94A03CFB0199
:1074600077FF03C0F095E195FF4F81E0EA35F8071B
:1074700030F4E05CFA4F8491682F772747C08CE1A5
:10748000E73AF80718F06AE570E040C089E0ED38A7
:10749000F80718F069E570E039C085E0EA3BF807C5
:1074A00018F068E570E032C084E0E731F80718F0C2
:1074B00067E570E02BC083E0EE32F80718F066E570
:1074C00070E024C082E0E939F80718F065E570E063
:1074D0001DC082E0E233F80718F064E570E016C0E2
:1074E00081E0E73EF80718F063E570E00FC081E047
:1074F000ED3AF80718F062E570E008C0EF57F14088
:1075000018F061E570E002C060E570E01216130645
:107510006CF4842F992787FD90959C01629FC00190
:10752000639F900D729F900D1124089514162CF4F2
:1075300084EB90E0861B970B0895CB01845B904011
:107540000895FC0197FD03C041E050E005C0F095AF
:10755000E195FF4F4FEF5FEFEB35F1055CF0CF01A9
:107560008B5590408A35910540F484EB90E08E1B5A
:107570009F0BFC0121E030E010C0CF01855B904003
:107580008A35910518F4E45BF04005C088E691E087
:107590008E1B9F0BFC012FEF3FEFEE0FFF1FE656F8
:1075A000F94F85919491BC01629FC001639F900D3A
:1075B000729F900D11249C01429FC001439F900D2A
:1075C000529F900D112408952AE530E0281B390BB5
:1075D000C9010E94A13A0895FC014150504030F089
:1075E00001900616D1F73197CF0108958827992782
:1075F00008955058192EEFD001D0D2C0BA176207A3
:10760000730784079507B1F188F40EF410940B2EDC
:10761000BA2FA02D062E622F202D072E732F302D6E
:10762000082E842F402D092E952F502DFF275523EE
:10763000B9F0591B49F0573E98F046953795279574
:10764000A795F0405395C9F776F0BA0F621F731FE4
:10765000841F30F4879577956795B795F04093959B
:1076600017FA0F2E0895BF1BBB27BA0B620B730BC3
:10767000840BF6CFDEF6DBC0AED001D091C055232F
:1076800059F0992369F09F575F57951B33F442F4E3
:10769000903811F4915805C09BC091589F3F09F450
:1076A000C6C0BB27112462177307840730F4660F26
:1076B000771F881FBB1F915098F311D00F920FD0E6
:1076C0000F920DD0A0E82617370748071B0609F0D0
:1076D000A048BA2F602D7F918F9100240895A0E8D3
:1076E0000024621773078407B10528F0621B730B2F
:1076F000840BB1090A2A660F771F881FBB1FA69546
:1077000081F7089597FB73D09F3738F0FEE9F91B96
:10771000982F872F762F6B2F05C086C0969587955B
:1077200077956795F150D0F73EF4909580957095D8
:1077300061957F4F8F4F9F4F0895E89403C097FB4B
:107740000EF4F3DFB62F672F782F892F9EE90024E0
:1077500027C00ED05EF004C00BD026F001C008D0C8
:1077600019F020F48FEF089580E0089581E00895E6
:1077700097FB092E052600F8689430D0E89407FCA2
:1077800007C0621773078407950721F008F4009477
:107790000794989408959A95BB0F661F771F881FCA
:1077A00011249923A1F08823B2F79F3F59F0BB0F12
:1077B00048F421F4002011F460FF04C06F5F7F4F94
:1077C0008F4F9F4F881F9795879597F908952CC0E5
:1077D0009FEF80EC0895052E092607FA440F551FE8
:1077E0005F3F79F0AA27A51708F051E04795880F69
:1077F000991F9F3F31F0BB27B91708F091E087959B
:1078000008959F919F911124E3CF97FB880F991FB3
:107810009F3F31F0BB27B91708F091E08795089595
:107820009F919F911124D4CF662777278827992786
:107830000895D1DF01D0B4CF992339F0552329F031
:107840009F575F57950F13F49AF1F1CF91589F3FCF
:10785000E1F3629FA12D0F92BB27639FA00DB11D85
:10786000EE27729FA00DB11DEE1FAF93AA27649F54
:10787000B00DE11D739FB00DE11DAA1F6627829F09
:10788000B00DE11DA61F5527749FE00DA11D551FCA
:10789000839FE00DA11D561F849FA00D511D852FB4
:1078A0007A2F6E2F1F900F9088231AF4939539F436
:1078B0008FCF000C111CBB1F661F771F881F01286C
:1078C0000895629FD001739FF001829FE00DF11D2A
:1078D000649FE00DF11D929FF00D839FF00D749F4A
:1078E000F00D659FF00D9927729FB00DE11DF91FF6
:1078F000639FB00DE11DF91FBD01CF011124089553
:10790000991B79E004C0991F961708F0961B881FF1
:107910007A95C9F780950895AA1BBB1B51E107C052
:10792000AA1FBB1FA617B70710F0A61BB70B881F0F
:10793000991F5A95A9F780959095BC01CD0108959E
:1079400097FB092E07260AD077FD04D0E5DF06D085
:1079500000201AF4709561957F4F0895F6F7909581
:1079600081959F4F0895A1E21A2EAA1BBB1BFD0112
:107970000DC0AA1FBB1FEE1FFF1FA217B307E4070E
:10798000F50720F0A21BB30BE40BF50B661F771F66
:10799000881F991F1A9469F7609570958095909546
:1079A0009B01AC01BD01CF01089597FB092E05266F
:1079B0000ED057FD04D0D7DF0AD0001C38F4509504
:1079C0004095309521953F4F4F4F5F4F0895F6F703
:1079D00090958095709561957F4F8F4F9F4F08953B
:1079E0002F923F924F925F926F927F928F929F92CF
:1079F000AF92BF92CF92DF92EF92FF920F931F93BD
:107A0000CF93DF93CDB7DEB7CA1BDB0B0FB6F8946D
:107A1000DEBF0FBECDBF09942A88398848885F84AD
:107A20006E847D848C849B84AA84B984C884DF801E
:107A3000EE80FD800C811B81AA81B981CE0FD11D02
:107A40000FB6F894DEBF0FBECDBFED010895EE0F67
:107A5000FF1F0590F491E02D0994F999FECFB2BD76
:107A6000A1BDF89A119600B40895F7DF01921A9417
:107A7000E1F70895F999FECFB2BDA1BD00BC119602
:107A80000FB6F894FA9AF99A0FBE08950190F2DFB2
:087A90001A94E1F70895FFCFFD
:107A98000A01FF64496E74656772616C4E69636BB5
:107AA80020202020496E74656772616C526F6C6C7F
:107AB800202020204163634E69636B202020202012
:107AC80020202020416363526F6C6C2020202020EE
:107AD800202020204779726F476965722020202076
:107AE80020202020486F6568656E576572742020D5
:107AF800202020204163635A20202020202020209D
:107B080020202020476173202020202020202020B2
:107B1800202020204B6F6D7061737356616C756502
:107B2800202020205370616E6E756E672020202003
:107B380020202020456D7066616E6720202020205F
:107B480020202020416E616C6F6731312020202079
:107B5800202020204D6F746F725F566F726E652003
:107B6800202020204D6F746F725F48696E74656EB7
:107B7800202020204D6F746F725F4C696E6B7320EC
:107B8800202020204D6F746F725F52656368747394
:107B9800202020204163635F5A20202020202020BD
:107BA800202020204D697474656C4163634E6963BD
:107BB8006B2020204D697474656C416363526F6C4F
:107BC8006C202020496E74656772616C4572724E34
:107BD80069636B20496E74656772616C4572725295
:107BE8006F6C6C204D697474656C496E744E696372
:107BF8006B2020204D697474656C496E74526F6CEB
:107C08006C0920004E65757472616C4E69636B2057
:107C180020202020526F6C6C4F666673657420209C
:107C280020202020496E74526F6C6C2A46616B7458
:107C38006F722020416E616C6F67323620202020E1
:107C480020202020446972656B74417573676C52FB
:107C58006F6C6C204D65737377657274526F6C6CC2
:107C680020202020417573676C65696368526F6CCA
:107C78006C202020492D4C616765526F6C6C202068
:107C880020202020537469636B526F6C6C20202075
:107C980020202020FFFF0A016400007D0000FF0370
:107CA8000102030405060708090A48616C6C6F2085
:107CB80057656C7400000000000000000000000020
:107CC80000000000000000000000000000000000AC
:107CD800000000000000000000000000000000009C
:107CE800000000000000000000000000000000008C
:107CF800000000000000000000000D0142656769F7
:107D08006E6E657200004E6F726D616C000053708C
:107D18006F72740000640090D0030090D0030017C5
:107D2800B7D13830FB103A409696020A644664ECA4
:027D3800FF0149
:00000001FF
/branches/MicroMag3_Nick666/Festkomma/V0.68d/Flight-Ctrl_MEGA644_V0_68d.lss
0,0 → 1,12103
 
Flight-Ctrl_MEGA644_V0_68d.elf: file format elf32-avr
 
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 000002a2 00800100 00007a98 00007b4c 2**0
CONTENTS, ALLOC, LOAD, DATA
1 .text 00007a98 00000000 00000000 000000b4 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .bss 00000425 008003a2 008003a2 00007dee 2**0
ALLOC
3 .eeprom 00000179 00810000 00810000 00007dee 2**0
CONTENTS, ALLOC, LOAD, DATA
4 .stab 00000378 00000000 00000000 00007f68 2**2
CONTENTS, READONLY, DEBUGGING
5 .stabstr 00000071 00000000 00000000 000082e0 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
 
00000000 <__vectors>:
0: 0c 94 a8 03 jmp 0x750 ; 0x750 <__ctors_end>
4: 0c 94 c5 03 jmp 0x78a ; 0x78a <__bad_interrupt>
8: 0c 94 c5 03 jmp 0x78a ; 0x78a <__bad_interrupt>
c: 0c 94 c5 03 jmp 0x78a ; 0x78a <__bad_interrupt>
10: 0c 94 c5 03 jmp 0x78a ; 0x78a <__bad_interrupt>
14: 0c 94 c5 03 jmp 0x78a ; 0x78a <__bad_interrupt>
18: 0c 94 c5 03 jmp 0x78a ; 0x78a <__bad_interrupt>
1c: 0c 94 c5 03 jmp 0x78a ; 0x78a <__bad_interrupt>
20: 0c 94 c5 03 jmp 0x78a ; 0x78a <__bad_interrupt>
24: 0c 94 c5 0c jmp 0x198a ; 0x198a <__vector_9>
28: 0c 94 c5 03 jmp 0x78a ; 0x78a <__bad_interrupt>
2c: 0c 94 c5 03 jmp 0x78a ; 0x78a <__bad_interrupt>
30: 0c 94 93 16 jmp 0x2d26 ; 0x2d26 <__vector_12>
34: 0c 94 c5 03 jmp 0x78a ; 0x78a <__bad_interrupt>
38: 0c 94 c5 03 jmp 0x78a ; 0x78a <__bad_interrupt>
3c: 0c 94 c5 03 jmp 0x78a ; 0x78a <__bad_interrupt>
40: 0c 94 c5 03 jmp 0x78a ; 0x78a <__bad_interrupt>
44: 0c 94 c5 03 jmp 0x78a ; 0x78a <__bad_interrupt>
48: 0c 94 68 0d jmp 0x1ad0 ; 0x1ad0 <__vector_18>
4c: 0c 94 b3 37 jmp 0x6f66 ; 0x6f66 <__vector_19>
50: 0c 94 7f 06 jmp 0xcfe ; 0xcfe <__vector_20>
54: 0c 94 c5 03 jmp 0x78a ; 0x78a <__bad_interrupt>
58: 0c 94 49 06 jmp 0xc92 ; 0xc92 <__vector_22>
5c: 0c 94 c5 03 jmp 0x78a ; 0x78a <__bad_interrupt>
60: 0c 94 10 0e jmp 0x1c20 ; 0x1c20 <__vector_24>
64: 0c 94 c5 03 jmp 0x78a ; 0x78a <__bad_interrupt>
68: 0c 94 d2 15 jmp 0x2ba4 ; 0x2ba4 <__vector_26>
6c: 0c 94 c5 03 jmp 0x78a ; 0x78a <__bad_interrupt>
70: e7 08 sbc r14, r7
72: f3 08 sbc r15, r3
74: 05 09 sbc r16, r5
76: bb 09 sbc r27, r11
78: bb 09 sbc r27, r11
7a: bb 09 sbc r27, r11
7c: 51 09 sbc r21, r1
7e: 1c 09 sbc r17, r12
80: bb 09 sbc r27, r11
82: bb 09 sbc r27, r11
84: 40 09 sbc r20, r0
86: 7d 09 sbc r23, r13
88: 7d 09 sbc r23, r13
8a: 7d 09 sbc r23, r13
8c: 7d 09 sbc r23, r13
8e: 7d 09 sbc r23, r13
90: 55 09 sbc r21, r5
92: bb 09 sbc r27, r11
94: bb 09 sbc r27, r11
96: 37 09 sbc r19, r7
98: bb 09 sbc r27, r11
9a: 4d 09 sbc r20, r13
9c: 3a 0e add r3, r26
9e: 4f 0e add r4, r31
a0: 58 0e add r5, r24
a2: 62 0e add r6, r18
a4: 7f 0e add r7, r31
a6: 97 0e add r9, r23
a8: b0 0e add r11, r16
aa: cd 0e add r12, r29
ac: ea 0e add r14, r26
ae: 07 0f add r16, r23
b0: eb 0f add r30, r27
b2: 44 11 cpse r20, r4
b4: 8c 11 cpse r24, r12
b6: ed 11 cpse r30, r13
b8: 43 12 cpse r4, r19
ba: 97 12 cpse r9, r23
bc: 1b 13 cpse r17, r27
be: c2 13 cpse r28, r18
c0: 10 14 cp r1, r0
c2: 34 14 cp r3, r4
c4: 6a 14 cp r6, r10
c6: a6 14 cp r10, r6
c8: e4 14 cp r14, r4
ca: 36 15 cp r19, r6
cc: 6f 15 cp r22, r15
 
000000ce <__c.2081>:
ce: 0a 0a 0d 00 ....
 
000000d2 <__c.2079>:
d2: 4e 65 75 74 72 61 6c 00 Neutral.
 
000000da <__c.2077>:
da: 48 65 61 64 69 6e 67 48 6f 6c 64 00 HeadingHold.
 
000000e6 <__c.2075>:
e6: 0a 0d 53 74 65 75 65 72 75 6e 67 3a 20 00 ..Steuerung: .
 
000000f4 <__c.2073>:
f4: 4f 4b 0a 0d 00 OK...
 
000000f9 <__c.2068>:
f9: 0a 0d 41 62 67 6c 65 69 63 68 20 4c 75 66 74 64 ..Abgleich Luftd
109: 72 75 63 6b 73 65 6e 73 6f 72 2e 2e 00 rucksensor...
 
00000116 <__c.2066>:
116: 0a 0d 4b 61 6c 69 62 72 69 65 72 65 20 4e 65 75 ..Kalibriere Neu
126: 74 72 61 6c 6c 61 67 65 00 trallage.
 
0000012f <__c.2064>:
12f: 0a 0d 4b 61 6c 69 62 72 69 65 72 65 20 4b 6f 6d ..Kalibriere Kom
13f: 70 61 73 73 00 pass.
 
00000144 <__c.2059>:
144: 0a 0d 42 65 6e 75 74 7a 65 20 50 61 72 61 6d 65 ..Benutze Parame
154: 74 65 72 73 61 74 7a 20 25 64 00 tersatz %d.
 
0000015f <__c.2052>:
15f: 0a 0d 49 6e 69 74 2e 20 45 45 50 52 4f 4d 3a 20 ..Init. EEPROM:
16f: 47 65 6e 65 72 69 65 72 65 20 44 65 66 61 75 6c Generiere Defaul
17f: 74 2d 50 61 72 61 6d 65 74 65 72 2e 2e 2e 00 t-Parameter....
 
0000018e <__c.2050>:
18e: 0a 0d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ..==============
19e: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
...
 
000001af <__c.2048>:
1af: 0a 0d 46 6c 69 67 68 74 43 6f 6e 74 72 6f 6c 0a ..FlightControl.
1bf: 0d 48 61 72 64 77 61 72 65 3a 25 64 2e 25 64 0a .Hardware:%d.%d.
1cf: 0d 53 6f 66 74 77 61 72 65 3a 56 25 64 2e 25 64 .Software:V%d.%d
1df: 25 63 20 00 %c .
 
000001e3 <__c.2046>:
1e3: 2e 00 ..
 
000001e5 <__c.2163>:
1e5: 5a 5f 52 61 6e 67 65 3a 20 20 25 34 69 00 Z_Range: %4i.
 
000001f3 <__c.2161>:
1f3: 59 5f 52 61 6e 67 65 3a 20 20 25 34 69 00 Y_Range: %4i.
 
00000201 <__c.2159>:
201: 58 5f 52 61 6e 67 65 3a 20 20 25 34 69 00 X_Range: %4i.
 
0000020f <__c.2157>:
20f: 4d 4d 33 20 52 61 6e 67 65 00 MM3 Range.
 
00000219 <__c.2154>:
219: 5a 5f 4f 66 66 73 65 74 3a 20 20 25 33 69 00 Z_Offset: %3i.
 
00000228 <__c.2152>:
228: 59 5f 4f 66 66 73 65 74 3a 20 20 25 33 69 00 Y_Offset: %3i.
 
00000237 <__c.2150>:
237: 58 5f 4f 66 66 73 65 74 3a 20 20 25 33 69 00 X_Offset: %3i.
 
00000246 <__c.2148>:
246: 4d 4d 33 20 4f 66 66 00 MM3 Off.
 
0000024e <__c.2145>:
24e: 48 69 3a 25 34 69 20 20 43 66 3a 25 34 69 20 00 Hi:%4i Cf:%4i .
 
0000025e <__c.2143>:
25e: 47 73 3a 25 34 69 20 20 47 69 3a 25 34 69 20 00 Gs:%4i Gi:%4i .
 
0000026e <__c.2141>:
26e: 4e 69 3a 25 34 69 20 20 52 6f 3a 25 34 69 20 00 Ni:%4i Ro:%4i .
 
0000027e <__c.2139>:
27e: 45 78 74 65 72 6e 43 6f 6e 74 72 6f 6c 20 20 00 ExternControl .
 
0000028e <__c.2136>:
28e: 52 61 6e 67 65 3a 25 33 69 2d 25 33 69 00 Range:%3i-%3i.
 
0000029c <__c.2134>:
29c: 53 74 65 6c 6c 75 6e 67 3a 20 25 33 69 00 Stellung: %3i.
 
000002aa <__c.2132>:
2aa: 53 65 74 70 6f 69 6e 74 20 20 25 33 69 00 Setpoint %3i.
 
000002b8 <__c.2130>:
2b8: 53 65 72 76 6f 20 20 00 Servo .
 
000002c0 <__c.2127>:
2c0: 50 6f 74 69 34 3a 20 20 25 33 69 00 Poti4: %3i.
 
000002cc <__c.2125>:
2cc: 50 6f 74 69 33 3a 20 20 25 33 69 00 Poti3: %3i.
 
000002d8 <__c.2123>:
2d8: 50 6f 74 69 32 3a 20 20 25 33 69 00 Poti2: %3i.
 
000002e4 <__c.2121>:
2e4: 50 6f 74 69 31 3a 20 20 25 33 69 00 Poti1: %3i.
 
000002f0 <__c.2118>:
2f0: 53 74 61 72 74 3a 20 20 20 20 20 25 35 69 00 Start: %5i.
 
000002ff <__c.2116>:
2ff: 4d 65 73 73 77 65 72 74 3a 20 20 25 35 69 00 Messwert: %5i.
 
0000030e <__c.2114>:
30e: 52 69 63 68 74 75 6e 67 3a 20 20 25 35 69 00 Richtung: %5i.
 
0000031d <__c.2112>:
31d: 4b 6f 6d 70 61 73 73 20 20 20 20 20 20 20 00 Kompass .
 
0000032c <__c.2109>:
32c: 45 6d 70 66 2e 50 65 67 65 6c 3a 25 35 69 00 Empf.Pegel:%5i.
 
0000033b <__c.2107>:
33b: 53 70 61 6e 6e 75 6e 67 3a 20 20 25 35 69 00 Spannung: %5i.
 
0000034a <__c.2104>:
34a: 48 6f 63 68 20 25 34 69 20 28 25 33 69 29 00 Hoch %4i (%3i).
 
00000359 <__c.2102>:
359: 52 6f 6c 6c 20 25 34 69 20 28 25 33 69 29 00 Roll %4i (%3i).
 
00000368 <__c.2100>:
368: 4e 69 63 6b 20 25 34 69 20 28 25 33 69 29 00 Nick %4i (%3i).
 
00000377 <__c.2098>:
377: 41 43 43 20 2d 20 53 65 6e 73 6f 72 00 ACC - Sensor.
 
00000384 <__c.2095>:
384: 47 69 65 72 20 25 34 69 20 28 25 33 69 29 00 Gier %4i (%3i).
 
00000393 <__c.2093>:
393: 52 6f 6c 6c 20 25 34 69 20 28 25 33 69 29 00 Roll %4i (%3i).
 
000003a2 <__c.2091>:
3a2: 4e 69 63 6b 20 25 34 69 20 28 25 33 69 29 00 Nick %4i (%3i).
 
000003b1 <__c.2089>:
3b1: 47 69 65 72 20 25 34 69 20 28 25 33 69 29 00 Gier %4i (%3i).
 
000003c0 <__c.2087>:
3c0: 52 6f 6c 6c 20 25 34 69 20 28 25 33 69 29 00 Roll %4i (%3i).
 
000003cf <__c.2085>:
3cf: 4e 69 63 6b 20 25 34 69 20 28 25 33 69 29 00 Nick %4i (%3i).
 
000003de <__c.2083>:
3de: 47 79 72 6f 20 2d 20 53 65 6e 73 6f 72 00 Gyro - Sensor.
 
000003ec <__c.2080>:
3ec: 50 33 3a 25 34 69 20 20 50 34 3a 25 34 69 20 00 P3:%4i P4:%4i .
 
000003fc <__c.2078>:
3fc: 50 31 3a 25 34 69 20 20 50 32 3a 25 34 69 20 00 P1:%4i P2:%4i .
 
0000040c <__c.2076>:
40c: 47 73 3a 25 34 69 20 20 47 69 3a 25 34 69 20 00 Gs:%4i Gi:%4i .
 
0000041c <__c.2074>:
41c: 4e 69 3a 25 34 69 20 20 52 6f 3a 25 34 69 20 00 Ni:%4i Ro:%4i .
 
0000042c <__c.2071>:
42c: 4b 37 3a 25 34 69 20 20 4b 38 3a 25 34 69 20 00 K7:%4i K8:%4i .
 
0000043c <__c.2069>:
43c: 4b 35 3a 25 34 69 20 20 4b 36 3a 25 34 69 20 00 K5:%4i K6:%4i .
 
0000044c <__c.2067>:
44c: 4b 33 3a 25 34 69 20 20 4b 34 3a 25 34 69 20 00 K3:%4i K4:%4i .
 
0000045c <__c.2065>:
45c: 4b 31 3a 25 34 69 20 20 4b 32 3a 25 34 69 20 00 K1:%4i K2:%4i .
 
0000046c <__c.2062>:
46c: 4b 6f 6d 70 61 73 73 3a 20 20 20 25 35 69 00 Kompass: %5i.
 
0000047b <__c.2060>:
47b: 52 6f 6c 6c 3a 20 20 20 20 20 20 25 35 69 00 Roll: %5i.
 
0000048a <__c.2058>:
48a: 4e 69 63 6b 3a 20 20 20 20 20 20 25 35 69 00 Nick: %5i.
 
00000499 <__c.2056>:
499: 61 6b 74 2e 20 4c 61 67 65 00 akt. Lage.
 
000004a3 <__c.2053>:
4a3: 48 f6 68 65 6e 72 65 67 65 6c 75 6e 67 00 H.henregelung.
 
000004b1 <__c.2051>:
4b1: 4b 65 69 6e 65 20 00 Keine .
 
000004b8 <__c.2049>:
4b8: 4f 66 66 20 20 20 20 20 20 3a 20 25 35 69 00 Off : %5i.
 
000004c7 <__c.2047>:
4c7: 4c 75 66 74 64 72 75 63 6b 3a 20 25 35 69 00 Luftdruck: %5i.
 
000004d6 <__c.2045>:
4d6: 53 6f 6c 6c 48 6f 65 68 65 3a 20 25 35 69 00 SollHoehe: %5i.
 
000004e5 <__c.2043>:
4e5: 48 6f 65 68 65 3a 20 20 20 20 20 25 35 69 00 Hoehe: %5i.
 
000004f4 <__c.2039>:
4f4: 28 63 29 20 48 6f 6c 67 65 72 20 42 75 73 73 00 (c) Holger Buss.
 
00000504 <__c.2037>:
504: 53 65 74 74 69 6e 67 3a 20 25 64 20 00 Setting: %d .
 
00000511 <__c.2035>:
511: 48 57 3a 56 25 64 2e 25 64 20 53 57 3a 25 64 2e HW:V%d.%d SW:%d.
521: 25 64 25 63 00 %d%c.
 
00000526 <__c.2033>:
526: 2b 20 4d 69 6b 72 6f 4b 6f 70 74 65 72 20 2b 00 + MikroKopter +.
 
00000536 <__c.2030>:
536: 5b 25 69 5d 00 [%i].
 
0000053b <__c.2028>:
53b: 5b 25 69 5d 00 [%i].
 
00000540 <pgm_atan>:
540: 00 01 02 03 04 04 05 06 07 08 09 0a 0b 0b 0c 0d ................
550: 0e 0f 10 11 11 12 13 14 15 15 16 17 18 18 19 1a ................
560: 1b 1b 1c 1d 1d 1e 1f 1f 20 21 21 22 23 23 24 24 ........ !!"##$$
570: 25 25 26 27 27 28 28 29 29 2a 2a 2b 2b 2c 2c 2d %%&''(())**++,,-
580: 2d 2d 2e 2e 2f 2f 30 30 30 31 31 32 32 32 33 33 --..//0001122233
590: 33 34 34 34 35 35 35 36 36 36 37 37 37 37 38 38 3444555666777788
5a0: 38 39 39 39 39 3a 3a 3a 3a 3b 3b 3b 3b 3c 3c 3c 89999::::;;;;<<<
5b0: 3c 3c 3d 3d 3d 3d 3e 3e 3e 3e 3e 3f 3f 3f 3f 3f <<====>>>>>?????
5c0: 3f 40 40 40 40 40 40 41 41 41 41 41 41 42 42 42 ?@@@@@@AAAAAABBB
5d0: 42 42 42 42 43 43 43 43 43 43 43 44 44 44 44 44 BBBBCCCCCCCDDDDD
5e0: 44 44 44 45 45 45 45 45 45 45 45 45 46 46 46 46 DDDEEEEEEEEEFFFF
5f0: 46 46 46 46 46 47 47 47 47 47 47 47 47 47 47 47 FFFFFGGGGGGGGGGG
600: 48 48 48 48 48 48 48 48 48 48 48 49 49 49 49 49 HHHHHHHHHHHIIIII
610: 49 49 49 49 49 49 49 49 49 4a 4a 4a 4a 4a 4a 4a IIIIIIIIIJJJJJJJ
620: 4a 4a 4a 4a 4a 4a 4a 4b 4b 4b 4b 4b 4b 4b 4b 4b JJJJJJJKKKKKKKKK
630: 4b 4b 4b 4b 4b 4b 4b 4b 4c 4c 4c 4c 4c 4c 4c 4c KKKKKKKKLLLLLLLL
640: 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4d 4d 4d 4d 4d LLLLLLLLLLLMMMMM
650: 4d 4d 4d 4d 4d 4d 4d 4d 4d 4d 4d 4d 4d 4d 4d 4d MMMMMMMMMMMMMMMM
660: 4d 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e MNNNNNNNNNNNNNNN
670: 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4f 4f 4f 4f 4f NNNNNNNNNNNOOOOO
680: 4f 4f 4f 4f 4f 4f 4f 4f 4f 4f 4f 4f 4f 4f 4f 4f OOOOOOOOOOOOOOOO
690: 4f 4f 4f 4f 4f 4f 4f 4f 4f 4f OOOOOOOOOO
 
0000069a <pgm_sinus_i>:
69a: 00 00 12 00 24 00 36 00 47 00 59 00 6b 00 7d 00 ....$.6.G.Y.k.}.
6aa: 8f 00 a0 00 b2 00 c3 00 d5 00 e6 00 f8 00 09 01 ................
6ba: 1a 01 2b 01 3c 01 4d 01 5e 01 6f 01 80 01 90 01 ..+.<.M.^.o.....
6ca: a0 01 b1 01 c1 01 d1 01 e1 01 f0 01 00 02 0f 02 ................
6da: 1f 02 2e 02 3d 02 4b 02 5a 02 68 02 76 02 84 02 ....=.K.Z.h.v...
6ea: 92 02 a0 02 ad 02 ba 02 c7 02 d4 02 e1 02 ed 02 ................
6fa: f9 02 05 03 10 03 1c 03 27 03 32 03 3c 03 47 03 ........'.2.<.G.
70a: 51 03 5b 03 64 03 6e 03 77 03 80 03 88 03 90 03 Q.[.d.n.w.......
71a: 98 03 a0 03 a7 03 af 03 b5 03 bc 03 c2 03 c8 03 ................
72a: ce 03 d3 03 d8 03 dd 03 e2 03 e6 03 ea 03 ed 03 ................
73a: f0 03 f3 03 f6 03 f8 03 fa 03 fc 03 fe 03 ff 03 ................
74a: ff 03 00 04 00 04 ......
 
00000750 <__ctors_end>:
750: 11 24 eor r1, r1
752: 1f be out 0x3f, r1 ; 63
754: cf ef ldi r28, 0xFF ; 255
756: d0 e1 ldi r29, 0x10 ; 16
758: de bf out 0x3e, r29 ; 62
75a: cd bf out 0x3d, r28 ; 61
 
0000075c <__do_copy_data>:
75c: 13 e0 ldi r17, 0x03 ; 3
75e: a0 e0 ldi r26, 0x00 ; 0
760: b1 e0 ldi r27, 0x01 ; 1
762: e8 e9 ldi r30, 0x98 ; 152
764: fa e7 ldi r31, 0x7A ; 122
766: 02 c0 rjmp .+4 ; 0x76c <.do_copy_data_start>
 
00000768 <.do_copy_data_loop>:
768: 05 90 lpm r0, Z+
76a: 0d 92 st X+, r0
 
0000076c <.do_copy_data_start>:
76c: a2 3a cpi r26, 0xA2 ; 162
76e: b1 07 cpc r27, r17
770: d9 f7 brne .-10 ; 0x768 <.do_copy_data_loop>
 
00000772 <__do_clear_bss>:
772: 17 e0 ldi r17, 0x07 ; 7
774: a2 ea ldi r26, 0xA2 ; 162
776: b3 e0 ldi r27, 0x03 ; 3
778: 01 c0 rjmp .+2 ; 0x77c <.do_clear_bss_start>
 
0000077a <.do_clear_bss_loop>:
77a: 1d 92 st X+, r1
 
0000077c <.do_clear_bss_start>:
77c: a7 3c cpi r26, 0xC7 ; 199
77e: b1 07 cpc r27, r17
780: e1 f7 brne .-8 ; 0x77a <.do_clear_bss_loop>
782: 0e 94 05 04 call 0x80a ; 0x80a <main>
786: 0c 94 4b 3d jmp 0x7a96 ; 0x7a96 <_exit>
 
0000078a <__bad_interrupt>:
78a: 0c 94 00 00 jmp 0 ; 0x0 <__vectors>
 
0000078e <GetActiveParamSetNumber>:
78e: 22 e0 ldi r18, 0x02 ; 2
790: 30 e0 ldi r19, 0x00 ; 0
792: d9 01 movw r26, r18
794: 0e 94 2d 3d call 0x7a5a ; 0x7a5a <__eeprom_read_byte_1F2021>
798: 80 2d mov r24, r0
79a: 86 30 cpi r24, 0x06 ; 6
79c: 28 f0 brcs .+10 ; 0x7a8 <GetActiveParamSetNumber+0x1a>
79e: 82 e0 ldi r24, 0x02 ; 2
7a0: d9 01 movw r26, r18
7a2: 08 2e mov r0, r24
7a4: 0e 94 3a 3d call 0x7a74 ; 0x7a74 <__eeprom_write_byte_1F2021>
7a8: 99 27 eor r25, r25
7aa: 08 95 ret
 
000007ac <WriteParameterSet>:
7ac: fb 01 movw r30, r22
7ae: 86 30 cpi r24, 0x06 ; 6
7b0: 08 f0 brcs .+2 ; 0x7b4 <WriteParameterSet+0x8>
7b2: 85 e0 ldi r24, 0x05 ; 5
7b4: 28 2f mov r18, r24
7b6: 21 50 subi r18, 0x01 ; 1
7b8: 84 2f mov r24, r20
7ba: 99 27 eor r25, r25
7bc: a6 e4 ldi r26, 0x46 ; 70
7be: 2a 9f mul r18, r26
7c0: d0 01 movw r26, r0
7c2: 11 24 eor r1, r1
7c4: a6 5f subi r26, 0xF6 ; 246
7c6: bf 4f sbci r27, 0xFF ; 255
 
000007c8 <.36_start>:
7c8: 01 97 sbiw r24, 0x01 ; 1
7ca: 24 f0 brlt .+8 ; 0x7d4 <.36_finished>
7cc: 01 90 ld r0, Z+
7ce: 0e 94 3a 3d call 0x7a74 ; 0x7a74 <__eeprom_write_byte_1F2021>
7d2: fa cf rjmp .-12 ; 0x7c8 <.36_start>
 
000007d4 <.36_finished>:
7d4: a2 e0 ldi r26, 0x02 ; 2
7d6: b0 e0 ldi r27, 0x00 ; 0
7d8: 02 2e mov r0, r18
7da: 0e 94 3a 3d call 0x7a74 ; 0x7a74 <__eeprom_write_byte_1F2021>
7de: 08 95 ret
 
000007e0 <ReadParameterSet>:
7e0: fb 01 movw r30, r22
7e2: 28 2f mov r18, r24
7e4: 86 30 cpi r24, 0x06 ; 6
7e6: 08 f0 brcs .+2 ; 0x7ea <ReadParameterSet+0xa>
7e8: 25 e0 ldi r18, 0x05 ; 5
7ea: 84 2f mov r24, r20
7ec: 99 27 eor r25, r25
7ee: 21 50 subi r18, 0x01 ; 1
7f0: a6 e4 ldi r26, 0x46 ; 70
7f2: 2a 9f mul r18, r26
7f4: d0 01 movw r26, r0
7f6: 11 24 eor r1, r1
7f8: a6 5f subi r26, 0xF6 ; 246
7fa: bf 4f sbci r27, 0xFF ; 255
 
000007fc <.57_start>:
7fc: 01 97 sbiw r24, 0x01 ; 1
7fe: 24 f0 brlt .+8 ; 0x808 <.57_finished>
800: 0e 94 2d 3d call 0x7a5a ; 0x7a5a <__eeprom_read_byte_1F2021>
804: 01 92 st Z+, r0
806: fa cf rjmp .-12 ; 0x7fc <.57_start>
 
00000808 <.57_finished>:
808: 08 95 ret
 
0000080a <main>:
80a: 1f 93 push r17
80c: cf 93 push r28
80e: df 93 push r29
810: 14 b8 out 0x04, r1 ; 4
812: 15 b8 out 0x05, r1 ; 5
814: 18 9b sbis 0x03, 0 ; 3
816: 02 c0 rjmp .+4 ; 0x81c <main+0x12>
818: 8b e0 ldi r24, 0x0B ; 11
81a: 01 c0 rjmp .+2 ; 0x81e <main+0x14>
81c: 8a e0 ldi r24, 0x0A ; 10
81e: 80 93 00 01 sts 0x0100, r24
822: 81 e8 ldi r24, 0x81 ; 129
824: 87 b9 out 0x07, r24 ; 7
826: 8f ef ldi r24, 0xFF ; 255
828: 88 b9 out 0x08, r24 ; 8
82a: 8b e1 ldi r24, 0x1B ; 27
82c: 84 b9 out 0x04, r24 ; 4
82e: 81 e0 ldi r24, 0x01 ; 1
830: 85 b9 out 0x05, r24 ; 5
832: 8e e3 ldi r24, 0x3E ; 62
834: 8a b9 out 0x0a, r24 ; 10
836: 57 9a sbi 0x0a, 7 ; 10
838: 87 ef ldi r24, 0xF7 ; 247
83a: 8b b9 out 0x0b, r24 ; 11
83c: 84 b7 in r24, 0x34 ; 52
83e: 87 7f andi r24, 0xF7 ; 247
840: 84 bf out 0x34, r24 ; 52
842: 80 91 60 00 lds r24, 0x0060
846: 88 61 ori r24, 0x18 ; 24
848: 80 93 60 00 sts 0x0060, r24
84c: 10 92 60 00 sts 0x0060, r1
850: 80 ed ldi r24, 0xD0 ; 208
852: 97 e0 ldi r25, 0x07 ; 7
854: 90 93 c1 03 sts 0x03C1, r25
858: 80 93 c0 03 sts 0x03C0, r24
85c: 10 92 4b 04 sts 0x044B, r1
860: 10 92 4a 04 sts 0x044A, r1
864: 10 92 08 07 sts 0x0708, r1
868: 10 92 07 07 sts 0x0707, r1
86c: 10 92 49 04 sts 0x0449, r1
870: 10 92 48 04 sts 0x0448, r1
874: 10 92 47 04 sts 0x0447, r1
878: 10 92 46 04 sts 0x0446, r1
87c: 80 91 00 01 lds r24, 0x0100
880: 8a 30 cpi r24, 0x0A ; 10
882: 11 f4 brne .+4 ; 0x888 <main+0x7e>
884: 28 98 cbi 0x05, 0 ; 5
886: 01 c0 rjmp .+2 ; 0x88a <main+0x80>
888: 28 9a sbi 0x05, 0 ; 5
88a: 0e 94 93 0c call 0x1926 ; 0x1926 <Timer_Init>
88e: 0e 94 08 08 call 0x1010 ; 0x1010 <UART_Init>
892: 0e 94 7e 16 call 0x2cfc ; 0x2cfc <rc_sum_init>
896: 0e 94 0a 0e call 0x1c14 ; 0x1c14 <ADC_Init>
89a: 0e 94 b6 15 call 0x2b6c ; 0x2b6c <i2c_init>
89e: 0e 94 f9 39 call 0x73f2 ; 0x73f2 <init_MM3>
8a2: 78 94 sei
8a4: 10 92 fa 05 sts 0x05FA, r1
8a8: 84 e4 ldi r24, 0x44 ; 68
8aa: 80 93 fb 05 sts 0x05FB, r24
8ae: 87 e0 ldi r24, 0x07 ; 7
8b0: 80 93 fc 05 sts 0x05FC, r24
8b4: 20 91 00 01 lds r18, 0x0100
8b8: 84 e6 ldi r24, 0x64 ; 100
8ba: 90 e0 ldi r25, 0x00 ; 0
8bc: 9f 93 push r25
8be: 8f 93 push r24
8c0: 84 e4 ldi r24, 0x44 ; 68
8c2: 90 e0 ldi r25, 0x00 ; 0
8c4: 9f 93 push r25
8c6: 8f 93 push r24
8c8: 1f 92 push r1
8ca: 1f 92 push r1
8cc: 82 2f mov r24, r18
8ce: 6a e0 ldi r22, 0x0A ; 10
8d0: 0e 94 80 3c call 0x7900 ; 0x7900 <__udivmodqi4>
8d4: 89 2f mov r24, r25
8d6: 99 27 eor r25, r25
8d8: 9f 93 push r25
8da: 8f 93 push r24
8dc: 82 2f mov r24, r18
8de: 0e 94 80 3c call 0x7900 ; 0x7900 <__udivmodqi4>
8e2: 99 27 eor r25, r25
8e4: 9f 93 push r25
8e6: 8f 93 push r24
8e8: 8f ea ldi r24, 0xAF ; 175
8ea: 91 e0 ldi r25, 0x01 ; 1
8ec: 9f 93 push r25
8ee: 8f 93 push r24
8f0: 1f 92 push r1
8f2: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
8f6: 8e e8 ldi r24, 0x8E ; 142
8f8: 91 e0 ldi r25, 0x01 ; 1
8fa: 9f 93 push r25
8fc: 8f 93 push r24
8fe: 1f 92 push r1
900: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
904: 29 9a sbi 0x05, 1 ; 5
906: a1 e0 ldi r26, 0x01 ; 1
908: b0 e0 ldi r27, 0x00 ; 0
90a: 0e 94 2d 3d call 0x7a5a ; 0x7a5a <__eeprom_read_byte_1F2021>
90e: 80 2d mov r24, r0
910: 2d b7 in r18, 0x3d ; 61
912: 3e b7 in r19, 0x3e ; 62
914: 20 5f subi r18, 0xF0 ; 240
916: 3f 4f sbci r19, 0xFF ; 255
918: 2d bf out 0x3d, r18 ; 61
91a: 85 34 cpi r24, 0x45 ; 69
91c: 09 f4 brne .+2 ; 0x920 <main+0x116>
91e: 3f c0 rjmp .+126 ; 0x99e <main+0x194>
920: 8f e5 ldi r24, 0x5F ; 95
922: 91 e0 ldi r25, 0x01 ; 1
924: 9f 93 push r25
926: 8f 93 push r24
928: 1f 92 push r1
92a: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
92e: 0e 94 f8 36 call 0x6df0 ; 0x6df0 <DefaultKonstanten1>
932: 10 e0 ldi r17, 0x00 ; 0
934: 0f 90 pop r0
936: 0f 90 pop r0
938: 0f 90 pop r0
93a: 12 30 cpi r17, 0x02 ; 2
93c: 49 f4 brne .+18 ; 0x950 <main+0x146>
93e: 0e 94 67 36 call 0x6cce ; 0x6cce <DefaultKonstanten2>
942: 46 e4 ldi r20, 0x46 ; 70
944: 6f e2 ldi r22, 0x2F ; 47
946: 77 e0 ldi r23, 0x07 ; 7
948: 82 e0 ldi r24, 0x02 ; 2
94a: 0e 94 d6 03 call 0x7ac ; 0x7ac <WriteParameterSet>
94e: 02 c0 rjmp .+4 ; 0x954 <main+0x14a>
950: 13 30 cpi r17, 0x03 ; 3
952: 51 f4 brne .+20 ; 0x968 <main+0x15e>
954: 0e 94 d6 35 call 0x6bac ; 0x6bac <DefaultKonstanten3>
958: 46 e4 ldi r20, 0x46 ; 70
95a: 6f e2 ldi r22, 0x2F ; 47
95c: 77 e0 ldi r23, 0x07 ; 7
95e: 83 e0 ldi r24, 0x03 ; 3
960: 0e 94 d6 03 call 0x7ac ; 0x7ac <WriteParameterSet>
964: 14 e0 ldi r17, 0x04 ; 4
966: 02 c0 rjmp .+4 ; 0x96c <main+0x162>
968: 14 30 cpi r17, 0x04 ; 4
96a: 10 f0 brcs .+4 ; 0x970 <main+0x166>
96c: 0e 94 67 36 call 0x6cce ; 0x6cce <DefaultKonstanten2>
970: 46 e4 ldi r20, 0x46 ; 70
972: 6f e2 ldi r22, 0x2F ; 47
974: 77 e0 ldi r23, 0x07 ; 7
976: 81 2f mov r24, r17
978: 0e 94 d6 03 call 0x7ac ; 0x7ac <WriteParameterSet>
97c: 1f 5f subi r17, 0xFF ; 255
97e: 16 30 cpi r17, 0x06 ; 6
980: e0 f2 brcs .-72 ; 0x93a <main+0x130>
982: 83 e0 ldi r24, 0x03 ; 3
984: 22 e0 ldi r18, 0x02 ; 2
986: 30 e0 ldi r19, 0x00 ; 0
988: d9 01 movw r26, r18
98a: 08 2e mov r0, r24
98c: 0e 94 3a 3d call 0x7a74 ; 0x7a74 <__eeprom_write_byte_1F2021>
990: 85 e4 ldi r24, 0x45 ; 69
992: 21 50 subi r18, 0x01 ; 1
994: 30 40 sbci r19, 0x00 ; 0
996: d9 01 movw r26, r18
998: 08 2e mov r0, r24
99a: 0e 94 3a 3d call 0x7a74 ; 0x7a74 <__eeprom_write_byte_1F2021>
99e: c2 e0 ldi r28, 0x02 ; 2
9a0: d0 e0 ldi r29, 0x00 ; 0
9a2: de 01 movw r26, r28
9a4: 0e 94 2d 3d call 0x7a5a ; 0x7a5a <__eeprom_read_byte_1F2021>
9a8: 80 2d mov r24, r0
9aa: 86 30 cpi r24, 0x06 ; 6
9ac: 28 f0 brcs .+10 ; 0x9b8 <main+0x1ae>
9ae: 82 e0 ldi r24, 0x02 ; 2
9b0: de 01 movw r26, r28
9b2: 08 2e mov r0, r24
9b4: 0e 94 3a 3d call 0x7a74 ; 0x7a74 <__eeprom_write_byte_1F2021>
9b8: 46 e4 ldi r20, 0x46 ; 70
9ba: 6f e2 ldi r22, 0x2F ; 47
9bc: 77 e0 ldi r23, 0x07 ; 7
9be: 0e 94 f0 03 call 0x7e0 ; 0x7e0 <ReadParameterSet>
9c2: de 01 movw r26, r28
9c4: 0e 94 2d 3d call 0x7a5a ; 0x7a5a <__eeprom_read_byte_1F2021>
9c8: 80 2d mov r24, r0
9ca: 86 30 cpi r24, 0x06 ; 6
9cc: 28 f0 brcs .+10 ; 0x9d8 <main+0x1ce>
9ce: 82 e0 ldi r24, 0x02 ; 2
9d0: de 01 movw r26, r28
9d2: 08 2e mov r0, r24
9d4: 0e 94 3a 3d call 0x7a74 ; 0x7a74 <__eeprom_write_byte_1F2021>
9d8: 99 27 eor r25, r25
9da: 9f 93 push r25
9dc: 8f 93 push r24
9de: 84 e4 ldi r24, 0x44 ; 68
9e0: 91 e0 ldi r25, 0x01 ; 1
9e2: 9f 93 push r25
9e4: 8f 93 push r24
9e6: 1f 92 push r1
9e8: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
9ec: 84 ef ldi r24, 0xF4 ; 244
9ee: 91 e0 ldi r25, 0x01 ; 1
9f0: 0e 94 b0 0c call 0x1960 ; 0x1960 <SetDelay>
9f4: ec 01 movw r28, r24
9f6: 0f 90 pop r0
9f8: 0f 90 pop r0
9fa: 0f 90 pop r0
9fc: 0f 90 pop r0
9fe: 0f 90 pop r0
a00: ce 01 movw r24, r28
a02: 0e 94 b9 0c call 0x1972 ; 0x1972 <CheckDelay>
a06: 88 23 and r24, r24
a08: d9 f3 breq .-10 ; 0xa00 <main+0x1f6>
a0a: e0 91 31 07 lds r30, 0x0731
a0e: ff 27 eor r31, r31
a10: ee 0f add r30, r30
a12: ff 1f adc r31, r31
a14: ed 5f subi r30, 0xFD ; 253
a16: f8 4f sbci r31, 0xF8 ; 248
a18: 80 81 ld r24, Z
a1a: 91 81 ldd r25, Z+1 ; 0x01
a1c: 85 36 cpi r24, 0x65 ; 101
a1e: 91 05 cpc r25, r1
a20: c4 f0 brlt .+48 ; 0xa52 <main+0x248>
a22: e0 91 32 07 lds r30, 0x0732
a26: ff 27 eor r31, r31
a28: ee 0f add r30, r30
a2a: ff 1f adc r31, r31
a2c: ed 5f subi r30, 0xFD ; 253
a2e: f8 4f sbci r31, 0xF8 ; 248
a30: 80 81 ld r24, Z
a32: 91 81 ldd r25, Z+1 ; 0x01
a34: 85 36 cpi r24, 0x65 ; 101
a36: 91 05 cpc r25, r1
a38: 64 f0 brlt .+24 ; 0xa52 <main+0x248>
a3a: 8f e2 ldi r24, 0x2F ; 47
a3c: 91 e0 ldi r25, 0x01 ; 1
a3e: 9f 93 push r25
a40: 8f 93 push r24
a42: 1f 92 push r1
a44: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
a48: 0e 94 2d 39 call 0x725a ; 0x725a <calib_MM3>
a4c: 0f 90 pop r0
a4e: 0f 90 pop r0
a50: 0f 90 pop r0
a52: e0 91 31 07 lds r30, 0x0731
a56: ff 27 eor r31, r31
a58: ee 0f add r30, r30
a5a: ff 1f adc r31, r31
a5c: ed 5f subi r30, 0xFD ; 253
a5e: f8 4f sbci r31, 0xF8 ; 248
a60: 80 81 ld r24, Z
a62: 91 81 ldd r25, Z+1 ; 0x01
a64: 85 36 cpi r24, 0x65 ; 101
a66: 91 05 cpc r25, r1
a68: c4 f0 brlt .+48 ; 0xa9a <main+0x290>
a6a: e0 91 32 07 lds r30, 0x0732
a6e: ff 27 eor r31, r31
a70: ee 0f add r30, r30
a72: ff 1f adc r31, r31
a74: ed 5f subi r30, 0xFD ; 253
a76: f8 4f sbci r31, 0xF8 ; 248
a78: 80 81 ld r24, Z
a7a: 91 81 ldd r25, Z+1 ; 0x01
a7c: 8c 59 subi r24, 0x9C ; 156
a7e: 9f 4f sbci r25, 0xFF ; 255
a80: 64 f4 brge .+24 ; 0xa9a <main+0x290>
a82: 86 e1 ldi r24, 0x16 ; 22
a84: 91 e0 ldi r25, 0x01 ; 1
a86: 9f 93 push r25
a88: 8f 93 push r24
a8a: 1f 92 push r1
a8c: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
a90: 0e 94 3f 22 call 0x447e ; 0x447e <calib_acc>
a94: 0f 90 pop r0
a96: 0f 90 pop r0
a98: 0f 90 pop r0
a9a: 80 91 37 07 lds r24, 0x0737
a9e: 80 ff sbrs r24, 0
aa0: 20 c0 rjmp .+64 ; 0xae2 <main+0x2d8>
aa2: 89 ef ldi r24, 0xF9 ; 249
aa4: 90 e0 ldi r25, 0x00 ; 0
aa6: 9f 93 push r25
aa8: 8f 93 push r24
aaa: 1f 92 push r1
aac: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
ab0: 88 ee ldi r24, 0xE8 ; 232
ab2: 93 e0 ldi r25, 0x03 ; 3
ab4: 0e 94 b0 0c call 0x1960 ; 0x1960 <SetDelay>
ab8: ec 01 movw r28, r24
aba: 0e 94 8c 10 call 0x2118 ; 0x2118 <SucheLuftruckOffset>
abe: 0f 90 pop r0
ac0: 0f 90 pop r0
ac2: 0f 90 pop r0
ac4: ce 01 movw r24, r28
ac6: 0e 94 b9 0c call 0x1972 ; 0x1972 <CheckDelay>
aca: 88 23 and r24, r24
acc: d9 f3 breq .-10 ; 0xac4 <main+0x2ba>
ace: 84 ef ldi r24, 0xF4 ; 244
ad0: 90 e0 ldi r25, 0x00 ; 0
ad2: 9f 93 push r25
ad4: 8f 93 push r24
ad6: 1f 92 push r1
ad8: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
adc: 0f 90 pop r0
ade: 0f 90 pop r0
ae0: 0f 90 pop r0
ae2: 0e 94 54 21 call 0x42a8 ; 0x42a8 <SetNeutral>
ae6: 80 91 00 01 lds r24, 0x0100
aea: 8a 30 cpi r24, 0x0A ; 10
aec: 11 f4 brne .+4 ; 0xaf2 <main+0x2e8>
aee: 28 98 cbi 0x05, 0 ; 5
af0: 01 c0 rjmp .+2 ; 0xaf4 <main+0x2ea>
af2: 28 9a sbi 0x05, 0 ; 5
af4: 80 ed ldi r24, 0xD0 ; 208
af6: 97 e0 ldi r25, 0x07 ; 7
af8: 90 93 c1 03 sts 0x03C1, r25
afc: 80 93 c0 03 sts 0x03C0, r24
b00: 85 e5 ldi r24, 0x55 ; 85
b02: 80 93 04 06 sts 0x0604, r24
b06: 86 ee ldi r24, 0xE6 ; 230
b08: 90 e0 ldi r25, 0x00 ; 0
b0a: 9f 93 push r25
b0c: 8f 93 push r24
b0e: 1f 92 push r1
b10: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
b14: 80 91 37 07 lds r24, 0x0737
b18: 0f 90 pop r0
b1a: 0f 90 pop r0
b1c: 0f 90 pop r0
b1e: 82 ff sbrs r24, 2
b20: 03 c0 rjmp .+6 ; 0xb28 <main+0x31e>
b22: 8a ed ldi r24, 0xDA ; 218
b24: 90 e0 ldi r25, 0x00 ; 0
b26: 02 c0 rjmp .+4 ; 0xb2c <main+0x322>
b28: 82 ed ldi r24, 0xD2 ; 210
b2a: 90 e0 ldi r25, 0x00 ; 0
b2c: 9f 93 push r25
b2e: 8f 93 push r24
b30: 1f 92 push r1
b32: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
b36: 0f 90 pop r0
b38: 0f 90 pop r0
b3a: 0f 90 pop r0
b3c: 8e ec ldi r24, 0xCE ; 206
b3e: 90 e0 ldi r25, 0x00 ; 0
b40: 9f 93 push r25
b42: 8f 93 push r24
b44: 1f 92 push r1
b46: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
b4a: 0e 94 d0 10 call 0x21a0 ; 0x21a0 <LcdClear>
b4e: 88 e8 ldi r24, 0x88 ; 136
b50: 93 e1 ldi r25, 0x13 ; 19
b52: 90 93 86 03 sts 0x0386, r25
b56: 80 93 85 03 sts 0x0385, r24
b5a: 0f 90 pop r0
b5c: 0f 90 pop r0
b5e: 0f 90 pop r0
b60: 80 91 bf 03 lds r24, 0x03BF
b64: 88 23 and r24, r24
b66: e1 f3 breq .-8 ; 0xb60 <main+0x356>
b68: 10 92 bf 03 sts 0x03BF, r1
b6c: 0e 94 b2 22 call 0x4564 ; 0x4564 <MotorRegler>
b70: 0e 94 0d 21 call 0x421a ; 0x421a <SendMotorData>
b74: 20 91 00 01 lds r18, 0x0100
b78: 2a 30 cpi r18, 0x0A ; 10
b7a: 11 f4 brne .+4 ; 0xb80 <main+0x376>
b7c: 28 98 cbi 0x05, 0 ; 5
b7e: 01 c0 rjmp .+2 ; 0xb82 <main+0x378>
b80: 28 9a sbi 0x05, 0 ; 5
b82: 80 91 03 01 lds r24, 0x0103
b86: 88 23 and r24, r24
b88: 21 f0 breq .+8 ; 0xb92 <main+0x388>
b8a: 81 50 subi r24, 0x01 ; 1
b8c: 80 93 03 01 sts 0x0103, r24
b90: 12 c0 rjmp .+36 ; 0xbb6 <main+0x3ac>
b92: 10 92 b1 03 sts 0x03B1, r1
b96: 10 92 b2 03 sts 0x03B2, r1
b9a: 10 92 0e 06 sts 0x060E, r1
b9e: 10 92 68 04 sts 0x0468, r1
ba2: 10 92 67 04 sts 0x0467, r1
ba6: 10 92 6a 04 sts 0x046A, r1
baa: 10 92 69 04 sts 0x0469, r1
bae: 10 92 6c 04 sts 0x046C, r1
bb2: 10 92 6b 04 sts 0x046B, r1
bb6: 80 91 45 04 lds r24, 0x0445
bba: 88 23 and r24, r24
bbc: 29 f0 breq .+10 ; 0xbc8 <main+0x3be>
bbe: 80 91 45 04 lds r24, 0x0445
bc2: 81 50 subi r24, 0x01 ; 1
bc4: 80 93 45 04 sts 0x0445, r24
bc8: 80 91 85 03 lds r24, 0x0385
bcc: 90 91 86 03 lds r25, 0x0386
bd0: 89 2b or r24, r25
bd2: 01 f5 brne .+64 ; 0xc14 <main+0x40a>
bd4: 85 e0 ldi r24, 0x05 ; 5
bd6: 90 e0 ldi r25, 0x00 ; 0
bd8: 90 93 86 03 sts 0x0386, r25
bdc: 80 93 85 03 sts 0x0385, r24
be0: 0e 94 56 16 call 0x2cac ; 0x2cac <i2c_reset>
be4: 80 91 04 03 lds r24, 0x0304
be8: 90 91 05 03 lds r25, 0x0305
bec: 8f 5f subi r24, 0xFF ; 255
bee: 9f 4f sbci r25, 0xFF ; 255
bf0: f9 f4 brne .+62 ; 0xc30 <main+0x426>
bf2: 80 91 4e 04 lds r24, 0x044E
bf6: 88 23 and r24, r24
bf8: d9 f0 breq .+54 ; 0xc30 <main+0x426>
bfa: 80 e1 ldi r24, 0x10 ; 16
bfc: 97 e2 ldi r25, 0x27 ; 39
bfe: 90 93 c1 03 sts 0x03C1, r25
c02: 80 93 c0 03 sts 0x03C0, r24
c06: 80 e8 ldi r24, 0x80 ; 128
c08: 90 e0 ldi r25, 0x00 ; 0
c0a: 90 93 05 03 sts 0x0305, r25
c0e: 80 93 04 03 sts 0x0304, r24
c12: 0e c0 rjmp .+28 ; 0xc30 <main+0x426>
c14: 80 91 85 03 lds r24, 0x0385
c18: 90 91 86 03 lds r25, 0x0386
c1c: 01 97 sbiw r24, 0x01 ; 1
c1e: 90 93 86 03 sts 0x0386, r25
c22: 80 93 85 03 sts 0x0385, r24
c26: 2a 30 cpi r18, 0x0A ; 10
c28: 11 f4 brne .+4 ; 0xc2e <main+0x424>
c2a: 28 98 cbi 0x05, 0 ; 5
c2c: 01 c0 rjmp .+2 ; 0xc30 <main+0x426>
c2e: 28 9a sbi 0x05, 0 ; 5
c30: 80 91 bf 03 lds r24, 0x03BF
c34: 88 23 and r24, r24
c36: 11 f4 brne .+4 ; 0xc3c <main+0x432>
c38: 0e 94 23 08 call 0x1046 ; 0x1046 <DatenUebertragung>
c3c: 0e 94 c9 08 call 0x1192 ; 0x1192 <BearbeiteRxDaten>
c40: ce 01 movw r24, r28
c42: 0e 94 b9 0c call 0x1972 ; 0x1972 <CheckDelay>
c46: 88 23 and r24, r24
c48: 09 f4 brne .+2 ; 0xc4c <main+0x442>
c4a: 8a cf rjmp .-236 ; 0xb60 <main+0x356>
c4c: 20 91 08 03 lds r18, 0x0308
c50: 30 91 09 03 lds r19, 0x0309
c54: 80 91 47 07 lds r24, 0x0747
c58: 99 27 eor r25, r25
c5a: 28 17 cp r18, r24
c5c: 39 07 cpc r19, r25
c5e: 9c f4 brge .+38 ; 0xc86 <main+0x47c>
c60: 80 91 04 03 lds r24, 0x0304
c64: 90 91 05 03 lds r25, 0x0305
c68: 8f 5f subi r24, 0xFF ; 255
c6a: 9f 4f sbci r25, 0xFF ; 255
c6c: 61 f4 brne .+24 ; 0xc86 <main+0x47c>
c6e: 80 e7 ldi r24, 0x70 ; 112
c70: 97 e1 ldi r25, 0x17 ; 23
c72: 90 93 c1 03 sts 0x03C1, r25
c76: 80 93 c0 03 sts 0x03C0, r24
c7a: 80 e0 ldi r24, 0x00 ; 0
c7c: 93 e0 ldi r25, 0x03 ; 3
c7e: 90 93 05 03 sts 0x0305, r25
c82: 80 93 04 03 sts 0x0304, r24
c86: 84 e6 ldi r24, 0x64 ; 100
c88: 90 e0 ldi r25, 0x00 ; 0
c8a: 0e 94 b0 0c call 0x1960 ; 0x1960 <SetDelay>
c8e: ec 01 movw r28, r24
c90: 67 cf rjmp .-306 ; 0xb60 <main+0x356>
 
00000c92 <__vector_22>:
c92: 1f 92 push r1
c94: 0f 92 push r0
c96: 0f b6 in r0, 0x3f ; 63
c98: 0f 92 push r0
c9a: 11 24 eor r1, r1
c9c: 8f 93 push r24
c9e: 9f 93 push r25
ca0: ef 93 push r30
ca2: ff 93 push r31
ca4: 80 91 01 01 lds r24, 0x0101
ca8: 88 23 and r24, r24
caa: e1 f4 brne .+56 ; 0xce4 <__vector_22+0x52>
cac: 80 91 bb 03 lds r24, 0x03BB
cb0: 90 91 bc 03 lds r25, 0x03BC
cb4: 01 96 adiw r24, 0x01 ; 1
cb6: 90 93 bc 03 sts 0x03BC, r25
cba: 80 93 bb 03 sts 0x03BB, r24
cbe: fc 01 movw r30, r24
cc0: e4 53 subi r30, 0x34 ; 52
cc2: fb 4f sbci r31, 0xFB ; 251
cc4: e0 81 ld r30, Z
cc6: ed 30 cpi r30, 0x0D ; 13
cc8: 19 f0 breq .+6 ; 0xcd0 <__vector_22+0x3e>
cca: 86 39 cpi r24, 0x96 ; 150
ccc: 91 05 cpc r25, r1
cce: 39 f4 brne .+14 ; 0xcde <__vector_22+0x4c>
cd0: 10 92 bc 03 sts 0x03BC, r1
cd4: 10 92 bb 03 sts 0x03BB, r1
cd8: 81 e0 ldi r24, 0x01 ; 1
cda: 80 93 01 01 sts 0x0101, r24
cde: e0 93 c6 00 sts 0x00C6, r30
ce2: 04 c0 rjmp .+8 ; 0xcec <__vector_22+0x5a>
ce4: 10 92 bc 03 sts 0x03BC, r1
ce8: 10 92 bb 03 sts 0x03BB, r1
cec: ff 91 pop r31
cee: ef 91 pop r30
cf0: 9f 91 pop r25
cf2: 8f 91 pop r24
cf4: 0f 90 pop r0
cf6: 0f be out 0x3f, r0 ; 63
cf8: 0f 90 pop r0
cfa: 1f 90 pop r1
cfc: 18 95 reti
 
00000cfe <__vector_20>:
cfe: 1f 92 push r1
d00: 0f 92 push r0
d02: 0f b6 in r0, 0x3f ; 63
d04: 0f 92 push r0
d06: 11 24 eor r1, r1
d08: 2f 93 push r18
d0a: 3f 93 push r19
d0c: 4f 93 push r20
d0e: 5f 93 push r21
d10: 6f 93 push r22
d12: 7f 93 push r23
d14: 8f 93 push r24
d16: 9f 93 push r25
d18: ef 93 push r30
d1a: ff 93 push r31
d1c: 90 91 c6 00 lds r25, 0x00C6
d20: 60 91 b6 03 lds r22, 0x03B6
d24: 66 39 cpi r22, 0x96 ; 150
d26: 18 f0 brcs .+6 ; 0xd2e <__vector_20+0x30>
d28: 10 92 b5 03 sts 0x03B5, r1
d2c: 69 c0 rjmp .+210 ; 0xe00 <__vector_20+0x102>
d2e: 66 23 and r22, r22
d30: 91 f4 brne .+36 ; 0xd56 <__vector_20+0x58>
d32: 93 32 cpi r25, 0x23 ; 35
d34: 39 f4 brne .+14 ; 0xd44 <__vector_20+0x46>
d36: 80 91 a6 03 lds r24, 0x03A6
d3a: 88 23 and r24, r24
d3c: 19 f4 brne .+6 ; 0xd44 <__vector_20+0x46>
d3e: 81 e0 ldi r24, 0x01 ; 1
d40: 80 93 b6 03 sts 0x03B6, r24
d44: 90 93 0f 06 sts 0x060F, r25
d48: 89 2f mov r24, r25
d4a: 99 27 eor r25, r25
d4c: 90 93 ba 03 sts 0x03BA, r25
d50: 80 93 b9 03 sts 0x03B9, r24
d54: 57 c0 rjmp .+174 ; 0xe04 <__vector_20+0x106>
d56: e6 2f mov r30, r22
d58: ff 27 eor r31, r31
d5a: 20 91 b9 03 lds r18, 0x03B9
d5e: 30 91 ba 03 lds r19, 0x03BA
d62: 9d 30 cpi r25, 0x0D ; 13
d64: 69 f0 breq .+26 ; 0xd80 <__vector_20+0x82>
d66: e1 5f subi r30, 0xF1 ; 241
d68: f9 4f sbci r31, 0xF9 ; 249
d6a: 90 83 st Z, r25
d6c: 6f 5f subi r22, 0xFF ; 255
d6e: 60 93 b6 03 sts 0x03B6, r22
d72: 29 0f add r18, r25
d74: 31 1d adc r19, r1
d76: 30 93 ba 03 sts 0x03BA, r19
d7a: 20 93 b9 03 sts 0x03B9, r18
d7e: 42 c0 rjmp .+132 ; 0xe04 <__vector_20+0x106>
d80: e1 5f subi r30, 0xF1 ; 241
d82: f9 4f sbci r31, 0xF9 ; 249
d84: 32 97 sbiw r30, 0x02 ; 2
d86: 80 81 ld r24, Z
d88: 32 96 adiw r30, 0x02 ; 2
d8a: 72 91 ld r23, -Z
d8c: 31 96 adiw r30, 0x01 ; 1
d8e: 28 1b sub r18, r24
d90: 31 09 sbc r19, r1
d92: 27 1b sub r18, r23
d94: 31 09 sbc r19, r1
d96: 3f 70 andi r19, 0x0F ; 15
d98: 30 93 ba 03 sts 0x03BA, r19
d9c: 20 93 b9 03 sts 0x03B9, r18
da0: a9 01 movw r20, r18
da2: 36 e0 ldi r19, 0x06 ; 6
da4: 56 95 lsr r21
da6: 47 95 ror r20
da8: 3a 95 dec r19
daa: e1 f7 brne .-8 ; 0xda4 <__vector_20+0xa6>
dac: 43 5c subi r20, 0xC3 ; 195
dae: 40 93 b8 03 sts 0x03B8, r20
db2: 2f 73 andi r18, 0x3F ; 63
db4: 23 5c subi r18, 0xC3 ; 195
db6: 20 93 b7 03 sts 0x03B7, r18
dba: 48 17 cp r20, r24
dbc: e1 f4 brne .+56 ; 0xdf6 <__vector_20+0xf8>
dbe: 27 17 cp r18, r23
dc0: d1 f4 brne .+52 ; 0xdf6 <__vector_20+0xf8>
dc2: 80 91 a6 03 lds r24, 0x03A6
dc6: 88 23 and r24, r24
dc8: d9 f4 brne .+54 ; 0xe00 <__vector_20+0x102>
dca: 81 e0 ldi r24, 0x01 ; 1
dcc: 80 93 a6 03 sts 0x03A6, r24
dd0: 60 93 a9 03 sts 0x03A9, r22
dd4: 90 83 st Z, r25
dd6: 80 91 11 06 lds r24, 0x0611
dda: 82 35 cpi r24, 0x52 ; 82
ddc: 89 f4 brne .+34 ; 0xe00 <__vector_20+0x102>
dde: 88 e1 ldi r24, 0x18 ; 24
de0: 90 e0 ldi r25, 0x00 ; 0
de2: 2c e0 ldi r18, 0x0C ; 12
de4: 0f b6 in r0, 0x3f ; 63
de6: f8 94 cli
de8: a8 95 wdr
dea: 80 93 60 00 sts 0x0060, r24
dee: 0f be out 0x3f, r0 ; 63
df0: 20 93 60 00 sts 0x0060, r18
df4: 05 c0 rjmp .+10 ; 0xe00 <__vector_20+0x102>
df6: 80 91 a8 03 lds r24, 0x03A8
dfa: 8f 5f subi r24, 0xFF ; 255
dfc: 80 93 a8 03 sts 0x03A8, r24
e00: 10 92 b6 03 sts 0x03B6, r1
e04: ff 91 pop r31
e06: ef 91 pop r30
e08: 9f 91 pop r25
e0a: 8f 91 pop r24
e0c: 7f 91 pop r23
e0e: 6f 91 pop r22
e10: 5f 91 pop r21
e12: 4f 91 pop r20
e14: 3f 91 pop r19
e16: 2f 91 pop r18
e18: 0f 90 pop r0
e1a: 0f be out 0x3f, r0 ; 63
e1c: 0f 90 pop r0
e1e: 1f 90 pop r1
e20: 18 95 reti
 
00000e22 <AddCRC>:
e22: ac 01 movw r20, r24
e24: 20 e0 ldi r18, 0x00 ; 0
e26: 30 e0 ldi r19, 0x00 ; 0
e28: 60 e0 ldi r22, 0x00 ; 0
e2a: 70 e0 ldi r23, 0x00 ; 0
e2c: ec ec ldi r30, 0xCC ; 204
e2e: f4 e0 ldi r31, 0x04 ; 4
e30: 05 c0 rjmp .+10 ; 0xe3c <AddCRC+0x1a>
e32: 81 91 ld r24, Z+
e34: 28 0f add r18, r24
e36: 31 1d adc r19, r1
e38: 6f 5f subi r22, 0xFF ; 255
e3a: 7f 4f sbci r23, 0xFF ; 255
e3c: 64 17 cp r22, r20
e3e: 75 07 cpc r23, r21
e40: c1 f7 brne .-16 ; 0xe32 <AddCRC+0x10>
e42: 3f 70 andi r19, 0x0F ; 15
e44: fa 01 movw r30, r20
e46: e4 53 subi r30, 0x34 ; 52
e48: fb 4f sbci r31, 0xFB ; 251
e4a: c9 01 movw r24, r18
e4c: 66 e0 ldi r22, 0x06 ; 6
e4e: 96 95 lsr r25
e50: 87 95 ror r24
e52: 6a 95 dec r22
e54: e1 f7 brne .-8 ; 0xe4e <AddCRC+0x2c>
e56: 83 5c subi r24, 0xC3 ; 195
e58: 80 83 st Z, r24
e5a: fa 01 movw r30, r20
e5c: e3 53 subi r30, 0x33 ; 51
e5e: fb 4f sbci r31, 0xFB ; 251
e60: 2f 73 andi r18, 0x3F ; 63
e62: 23 5c subi r18, 0xC3 ; 195
e64: 20 83 st Z, r18
e66: 8d e0 ldi r24, 0x0D ; 13
e68: 81 83 std Z+1, r24 ; 0x01
e6a: 10 92 01 01 sts 0x0101, r1
e6e: 80 91 cc 04 lds r24, 0x04CC
e72: 80 93 c6 00 sts 0x00C6, r24
e76: 08 95 ret
 
00000e78 <SendOutData>:
e78: 0f 93 push r16
e7a: 1f 93 push r17
e7c: cf 93 push r28
e7e: df 93 push r29
e80: 8a 01 movw r16, r20
e82: 72 2f mov r23, r18
e84: 93 e2 ldi r25, 0x23 ; 35
e86: 90 93 cc 04 sts 0x04CC, r25
e8a: 60 93 cd 04 sts 0x04CD, r22
e8e: 80 93 ce 04 sts 0x04CE, r24
e92: 60 e0 ldi r22, 0x00 ; 0
e94: af ec ldi r26, 0xCF ; 207
e96: b4 e0 ldi r27, 0x04 ; 4
e98: 44 c0 rjmp .+136 ; 0xf22 <SendOutData+0xaa>
e9a: f8 01 movw r30, r16
e9c: e6 0f add r30, r22
e9e: f1 1d adc r31, r1
ea0: 90 81 ld r25, Z
ea2: 6f 5f subi r22, 0xFF ; 255
ea4: 71 50 subi r23, 0x01 ; 1
ea6: 19 f4 brne .+6 ; 0xeae <SendOutData+0x36>
ea8: e0 e0 ldi r30, 0x00 ; 0
eaa: 40 e0 ldi r20, 0x00 ; 0
eac: 0f c0 rjmp .+30 ; 0xecc <SendOutData+0x54>
eae: f8 01 movw r30, r16
eb0: e6 0f add r30, r22
eb2: f1 1d adc r31, r1
eb4: 40 81 ld r20, Z
eb6: 6f 5f subi r22, 0xFF ; 255
eb8: 71 50 subi r23, 0x01 ; 1
eba: 11 f4 brne .+4 ; 0xec0 <SendOutData+0x48>
ebc: e0 e0 ldi r30, 0x00 ; 0
ebe: 06 c0 rjmp .+12 ; 0xecc <SendOutData+0x54>
ec0: f8 01 movw r30, r16
ec2: e6 0f add r30, r22
ec4: f1 1d adc r31, r1
ec6: e0 81 ld r30, Z
ec8: 6f 5f subi r22, 0xFF ; 255
eca: 71 50 subi r23, 0x01 ; 1
ecc: 89 2f mov r24, r25
ece: 86 95 lsr r24
ed0: 86 95 lsr r24
ed2: 83 5c subi r24, 0xC3 ; 195
ed4: 8c 93 st X, r24
ed6: 55 27 eor r21, r21
ed8: 89 2f mov r24, r25
eda: 99 27 eor r25, r25
edc: 83 70 andi r24, 0x03 ; 3
ede: 90 70 andi r25, 0x00 ; 0
ee0: 24 e0 ldi r18, 0x04 ; 4
ee2: 88 0f add r24, r24
ee4: 99 1f adc r25, r25
ee6: 2a 95 dec r18
ee8: e1 f7 brne .-8 ; 0xee2 <SendOutData+0x6a>
eea: 9a 01 movw r18, r20
eec: 94 e0 ldi r25, 0x04 ; 4
eee: 36 95 lsr r19
ef0: 27 95 ror r18
ef2: 9a 95 dec r25
ef4: e1 f7 brne .-8 ; 0xeee <SendOutData+0x76>
ef6: 82 2b or r24, r18
ef8: 83 5c subi r24, 0xC3 ; 195
efa: ed 01 movw r28, r26
efc: 89 83 std Y+1, r24 ; 0x01
efe: 4f 70 andi r20, 0x0F ; 15
f00: 50 70 andi r21, 0x00 ; 0
f02: 44 0f add r20, r20
f04: 55 1f adc r21, r21
f06: 44 0f add r20, r20
f08: 55 1f adc r21, r21
f0a: 8e 2f mov r24, r30
f0c: 82 95 swap r24
f0e: 86 95 lsr r24
f10: 86 95 lsr r24
f12: 83 70 andi r24, 0x03 ; 3
f14: 84 2b or r24, r20
f16: 83 5c subi r24, 0xC3 ; 195
f18: 8a 83 std Y+2, r24 ; 0x02
f1a: ef 73 andi r30, 0x3F ; 63
f1c: e3 5c subi r30, 0xC3 ; 195
f1e: eb 83 std Y+3, r30 ; 0x03
f20: 14 96 adiw r26, 0x04 ; 4
f22: 77 23 and r23, r23
f24: 09 f0 breq .+2 ; 0xf28 <SendOutData+0xb0>
f26: b9 cf rjmp .-142 ; 0xe9a <SendOutData+0x22>
f28: cd 01 movw r24, r26
f2a: 8c 5c subi r24, 0xCC ; 204
f2c: 94 40 sbci r25, 0x04 ; 4
f2e: 0e 94 11 07 call 0xe22 ; 0xe22 <AddCRC>
f32: df 91 pop r29
f34: cf 91 pop r28
f36: 1f 91 pop r17
f38: 0f 91 pop r16
f3a: 08 95 ret
 
00000f3c <Decode64>:
f3c: 1f 93 push r17
f3e: cf 93 push r28
f40: df 93 push r29
f42: ec 01 movw r28, r24
f44: 70 e0 ldi r23, 0x00 ; 0
f46: a2 2f mov r26, r18
f48: bb 27 eor r27, r27
f4a: 12 97 sbiw r26, 0x02 ; 2
f4c: 48 c0 rjmp .+144 ; 0xfde <Decode64+0xa2>
f4e: e4 2f mov r30, r20
f50: ff 27 eor r31, r31
f52: e1 5f subi r30, 0xF1 ; 241
f54: f9 4f sbci r31, 0xF9 ; 249
f56: 30 81 ld r19, Z
f58: 4f 5f subi r20, 0xFF ; 255
f5a: e4 2f mov r30, r20
f5c: ff 27 eor r31, r31
f5e: e1 5f subi r30, 0xF1 ; 241
f60: f9 4f sbci r31, 0xF9 ; 249
f62: 50 81 ld r21, Z
f64: 4f 5f subi r20, 0xFF ; 255
f66: e4 2f mov r30, r20
f68: ff 27 eor r31, r31
f6a: e1 5f subi r30, 0xF1 ; 241
f6c: f9 4f sbci r31, 0xF9 ; 249
f6e: 10 81 ld r17, Z
f70: 4f 5f subi r20, 0xFF ; 255
f72: e4 2f mov r30, r20
f74: ff 27 eor r31, r31
f76: e1 5f subi r30, 0xF1 ; 241
f78: f9 4f sbci r31, 0xF9 ; 249
f7a: 20 81 ld r18, Z
f7c: 4f 5f subi r20, 0xFF ; 255
f7e: 84 2f mov r24, r20
f80: 99 27 eor r25, r25
f82: a8 17 cp r26, r24
f84: b9 07 cpc r27, r25
f86: 74 f1 brlt .+92 ; 0xfe4 <Decode64+0xa8>
f88: 5d 53 subi r21, 0x3D ; 61
f8a: fe 01 movw r30, r28
f8c: e7 0f add r30, r23
f8e: f1 1d adc r31, r1
f90: 3d 53 subi r19, 0x3D ; 61
f92: 33 0f add r19, r19
f94: 33 0f add r19, r19
f96: 85 2f mov r24, r21
f98: 82 95 swap r24
f9a: 8f 70 andi r24, 0x0F ; 15
f9c: 38 2b or r19, r24
f9e: 30 83 st Z, r19
fa0: 61 30 cpi r22, 0x01 ; 1
fa2: 01 f1 breq .+64 ; 0xfe4 <Decode64+0xa8>
fa4: 91 2f mov r25, r17
fa6: 9d 53 subi r25, 0x3D ; 61
fa8: 7f 5f subi r23, 0xFF ; 255
faa: fe 01 movw r30, r28
fac: e7 0f add r30, r23
fae: f1 1d adc r31, r1
fb0: 71 50 subi r23, 0x01 ; 1
fb2: 52 95 swap r21
fb4: 50 7f andi r21, 0xF0 ; 240
fb6: 89 2f mov r24, r25
fb8: 86 95 lsr r24
fba: 86 95 lsr r24
fbc: 58 2b or r21, r24
fbe: 50 83 st Z, r21
fc0: 63 50 subi r22, 0x03 ; 3
fc2: 6f 3f cpi r22, 0xFF ; 255
fc4: 79 f0 breq .+30 ; 0xfe4 <Decode64+0xa8>
fc6: 7e 5f subi r23, 0xFE ; 254
fc8: fe 01 movw r30, r28
fca: e7 0f add r30, r23
fcc: f1 1d adc r31, r1
fce: 92 95 swap r25
fd0: 99 0f add r25, r25
fd2: 99 0f add r25, r25
fd4: 90 7c andi r25, 0xC0 ; 192
fd6: 2d 53 subi r18, 0x3D ; 61
fd8: 92 2b or r25, r18
fda: 90 83 st Z, r25
fdc: 7f 5f subi r23, 0xFF ; 255
fde: 66 23 and r22, r22
fe0: 09 f0 breq .+2 ; 0xfe4 <Decode64+0xa8>
fe2: b5 cf rjmp .-150 ; 0xf4e <Decode64+0x12>
fe4: df 91 pop r29
fe6: cf 91 pop r28
fe8: 1f 91 pop r17
fea: 08 95 ret
 
00000fec <uart_putchar>:
fec: 1f 93 push r17
fee: 18 2f mov r17, r24
ff0: 8a 30 cpi r24, 0x0A ; 10
ff2: 19 f4 brne .+6 ; 0xffa <uart_putchar+0xe>
ff4: 8d e0 ldi r24, 0x0D ; 13
ff6: 0e 94 f6 07 call 0xfec ; 0xfec <uart_putchar>
ffa: 80 91 c0 00 lds r24, 0x00C0
ffe: 85 ff sbrs r24, 5
1000: fc cf rjmp .-8 ; 0xffa <uart_putchar+0xe>
1002: 10 93 c6 00 sts 0x00C6, r17
1006: 80 e0 ldi r24, 0x00 ; 0
1008: 90 e0 ldi r25, 0x00 ; 0
100a: 1f 91 pop r17
100c: 08 95 ret
 
0000100e <WriteProgramData>:
100e: 08 95 ret
 
00001010 <UART_Init>:
1010: e1 ec ldi r30, 0xC1 ; 193
1012: f0 e0 ldi r31, 0x00 ; 0
1014: 88 e1 ldi r24, 0x18 ; 24
1016: 80 83 st Z, r24
1018: a0 ec ldi r26, 0xC0 ; 192
101a: b0 e0 ldi r27, 0x00 ; 0
101c: 8c 91 ld r24, X
101e: 82 60 ori r24, 0x02 ; 2
1020: 8c 93 st X, r24
1022: 80 81 ld r24, Z
1024: 80 68 ori r24, 0x80 ; 128
1026: 80 83 st Z, r24
1028: 80 81 ld r24, Z
102a: 80 64 ori r24, 0x40 ; 64
102c: 80 83 st Z, r24
102e: 8a e2 ldi r24, 0x2A ; 42
1030: 80 93 c4 00 sts 0x00C4, r24
1034: 88 ec ldi r24, 0xC8 ; 200
1036: 90 e0 ldi r25, 0x00 ; 0
1038: 0e 94 b0 0c call 0x1960 ; 0x1960 <SetDelay>
103c: 90 93 f9 05 sts 0x05F9, r25
1040: 80 93 f8 05 sts 0x05F8, r24
1044: 08 95 ret
 
00001046 <DatenUebertragung>:
1046: 80 91 01 01 lds r24, 0x0101
104a: 88 23 and r24, r24
104c: 09 f4 brne .+2 ; 0x1050 <DatenUebertragung+0xa>
104e: a0 c0 rjmp .+320 ; 0x1190 <__stack+0x91>
1050: 80 91 a2 03 lds r24, 0x03A2
1054: 88 23 and r24, r24
1056: 71 f0 breq .+28 ; 0x1074 <DatenUebertragung+0x2e>
1058: 80 91 01 01 lds r24, 0x0101
105c: 88 23 and r24, r24
105e: 51 f0 breq .+20 ; 0x1074 <DatenUebertragung+0x2e>
1060: 2b e0 ldi r18, 0x0B ; 11
1062: 44 e0 ldi r20, 0x04 ; 4
1064: 56 e0 ldi r21, 0x06 ; 6
1066: 60 91 cb 04 lds r22, 0x04CB
106a: 87 e4 ldi r24, 0x47 ; 71
106c: 0e 94 3c 07 call 0xe78 ; 0xe78 <SendOutData>
1070: 10 92 a2 03 sts 0x03A2, r1
1074: 80 91 f8 05 lds r24, 0x05F8
1078: 90 91 f9 05 lds r25, 0x05F9
107c: 0e 94 b9 0c call 0x1972 ; 0x1972 <CheckDelay>
1080: 88 23 and r24, r24
1082: 21 f4 brne .+8 ; 0x108c <DatenUebertragung+0x46>
1084: 80 91 a4 03 lds r24, 0x03A4
1088: 88 23 and r24, r24
108a: b1 f0 breq .+44 ; 0x10b8 <DatenUebertragung+0x72>
108c: 80 91 01 01 lds r24, 0x0101
1090: 88 23 and r24, r24
1092: 91 f0 breq .+36 ; 0x10b8 <DatenUebertragung+0x72>
1094: 22 e4 ldi r18, 0x42 ; 66
1096: 45 ea ldi r20, 0xA5 ; 165
1098: 56 e0 ldi r21, 0x06 ; 6
109a: 60 91 cb 04 lds r22, 0x04CB
109e: 84 e4 ldi r24, 0x44 ; 68
10a0: 0e 94 3c 07 call 0xe78 ; 0xe78 <SendOutData>
10a4: 10 92 a4 03 sts 0x03A4, r1
10a8: 84 ef ldi r24, 0xF4 ; 244
10aa: 91 e0 ldi r25, 0x01 ; 1
10ac: 0e 94 b0 0c call 0x1960 ; 0x1960 <SetDelay>
10b0: 90 93 f9 05 sts 0x05F9, r25
10b4: 80 93 f8 05 sts 0x05F8, r24
10b8: 60 91 02 01 lds r22, 0x0102
10bc: 6f 3f cpi r22, 0xFF ; 255
10be: 89 f0 breq .+34 ; 0x10e2 <DatenUebertragung+0x9c>
10c0: 46 2f mov r20, r22
10c2: 55 27 eor r21, r21
10c4: 34 e0 ldi r19, 0x04 ; 4
10c6: 44 0f add r20, r20
10c8: 55 1f adc r21, r21
10ca: 3a 95 dec r19
10cc: e1 f7 brne .-8 ; 0x10c6 <DatenUebertragung+0x80>
10ce: 4c 5f subi r20, 0xFC ; 252
10d0: 5e 4f sbci r21, 0xFE ; 254
10d2: 60 5d subi r22, 0xD0 ; 208
10d4: 20 e1 ldi r18, 0x10 ; 16
10d6: 81 e4 ldi r24, 0x41 ; 65
10d8: 0e 94 3c 07 call 0xe78 ; 0xe78 <SendOutData>
10dc: 8f ef ldi r24, 0xFF ; 255
10de: 80 93 02 01 sts 0x0102, r24
10e2: 20 91 e7 06 lds r18, 0x06E7
10e6: 22 23 and r18, r18
10e8: 91 f0 breq .+36 ; 0x110e <__stack+0xf>
10ea: 80 91 01 01 lds r24, 0x0101
10ee: 88 23 and r24, r24
10f0: 71 f0 breq .+28 ; 0x110e <__stack+0xf>
10f2: 93 e2 ldi r25, 0x23 ; 35
10f4: 90 93 cc 04 sts 0x04CC, r25
10f8: 20 93 cd 04 sts 0x04CD, r18
10fc: 8d e0 ldi r24, 0x0D ; 13
10fe: 80 93 ce 04 sts 0x04CE, r24
1102: 10 92 01 01 sts 0x0101, r1
1106: 10 92 e7 06 sts 0x06E7, r1
110a: 90 93 c6 00 sts 0x00C6, r25
110e: 80 91 a3 03 lds r24, 0x03A3
1112: 88 23 and r24, r24
1114: 59 f1 breq .+86 ; 0x116c <__stack+0x6d>
1116: 80 91 01 01 lds r24, 0x0101
111a: 88 23 and r24, r24
111c: 39 f1 breq .+78 ; 0x116c <__stack+0x6d>
111e: 0e 94 d9 10 call 0x21b2 ; 0x21b2 <Menu>
1122: 10 92 a3 03 sts 0x03A3, r1
1126: 30 91 ab 03 lds r19, 0x03AB
112a: 93 2f mov r25, r19
112c: 9f 5f subi r25, 0xFF ; 255
112e: 90 93 ab 03 sts 0x03AB, r25
1132: 94 30 cpi r25, 0x04 ; 4
1134: 21 f0 breq .+8 ; 0x113e <__stack+0x3f>
1136: 80 91 ac 03 lds r24, 0x03AC
113a: 88 23 and r24, r24
113c: 59 f0 breq .+22 ; 0x1154 <__stack+0x55>
113e: 26 e1 ldi r18, 0x16 ; 22
1140: 43 e0 ldi r20, 0x03 ; 3
1142: 57 e0 ldi r21, 0x07 ; 7
1144: 60 e0 ldi r22, 0x00 ; 0
1146: 84 e3 ldi r24, 0x34 ; 52
1148: 0e 94 3c 07 call 0xe78 ; 0xe78 <SendOutData>
114c: 8f ef ldi r24, 0xFF ; 255
114e: 80 93 ab 03 sts 0x03AB, r24
1152: 0c c0 rjmp .+24 ; 0x116c <__stack+0x6d>
1154: 44 e1 ldi r20, 0x14 ; 20
1156: 94 9f mul r25, r20
1158: a0 01 movw r20, r0
115a: 11 24 eor r1, r1
115c: 46 5e subi r20, 0xE6 ; 230
115e: 5c 4f sbci r21, 0xFC ; 252
1160: 24 e1 ldi r18, 0x14 ; 20
1162: 60 e0 ldi r22, 0x00 ; 0
1164: 83 2f mov r24, r19
1166: 8f 5c subi r24, 0xCF ; 207
1168: 0e 94 3c 07 call 0xe78 ; 0xe78 <SendOutData>
116c: 80 91 a5 03 lds r24, 0x03A5
1170: 88 23 and r24, r24
1172: 71 f0 breq .+28 ; 0x1190 <__stack+0x91>
1174: 80 91 01 01 lds r24, 0x0101
1178: 88 23 and r24, r24
117a: 51 f0 breq .+20 ; 0x1190 <__stack+0x91>
117c: 2a e0 ldi r18, 0x0A ; 10
117e: 4a ef ldi r20, 0xFA ; 250
1180: 55 e0 ldi r21, 0x05 ; 5
1182: 60 91 cb 04 lds r22, 0x04CB
1186: 86 e5 ldi r24, 0x56 ; 86
1188: 0e 94 3c 07 call 0xe78 ; 0xe78 <SendOutData>
118c: 10 92 a5 03 sts 0x03A5, r1
1190: 08 95 ret
 
00001192 <BearbeiteRxDaten>:
1192: a2 e0 ldi r26, 0x02 ; 2
1194: b0 e0 ldi r27, 0x00 ; 0
1196: ef ec ldi r30, 0xCF ; 207
1198: f8 e0 ldi r31, 0x08 ; 8
119a: 0c 94 ff 3c jmp 0x79fe ; 0x79fe <__prologue_saves__+0x1e>
119e: 80 91 a6 03 lds r24, 0x03A6
11a2: 88 23 and r24, r24
11a4: 09 f4 brne .+2 ; 0x11a8 <BearbeiteRxDaten+0x16>
11a6: e9 c0 rjmp .+466 ; 0x137a <BearbeiteRxDaten+0x1e8>
11a8: 8f ef ldi r24, 0xFF ; 255
11aa: 80 93 03 01 sts 0x0103, r24
11ae: 80 91 11 06 lds r24, 0x0611
11b2: 99 27 eor r25, r25
11b4: aa 27 eor r26, r26
11b6: bb 27 eor r27, r27
11b8: fc 01 movw r30, r24
11ba: e1 56 subi r30, 0x61 ; 97
11bc: f0 40 sbci r31, 0x00 ; 0
11be: e6 31 cpi r30, 0x16 ; 22
11c0: f1 05 cpc r31, r1
11c2: 08 f0 brcs .+2 ; 0x11c6 <BearbeiteRxDaten+0x34>
11c4: d8 c0 rjmp .+432 ; 0x1376 <BearbeiteRxDaten+0x1e4>
11c6: e8 5c subi r30, 0xC8 ; 200
11c8: ff 4f sbci r31, 0xFF ; 255
11ca: 0c 94 27 3d jmp 0x7a4e ; 0x7a4e <__tablejump2__>
11ce: 20 91 a9 03 lds r18, 0x03A9
11d2: 43 e0 ldi r20, 0x03 ; 3
11d4: 62 e0 ldi r22, 0x02 ; 2
11d6: ce 01 movw r24, r28
11d8: 01 96 adiw r24, 0x01 ; 1
11da: 0e 94 9e 07 call 0xf3c ; 0xf3c <Decode64>
11de: 89 81 ldd r24, Y+1 ; 0x01
11e0: 80 93 02 01 sts 0x0102, r24
11e4: c8 c0 rjmp .+400 ; 0x1376 <BearbeiteRxDaten+0x1e4>
11e6: 20 91 a9 03 lds r18, 0x03A9
11ea: 43 e0 ldi r20, 0x03 ; 3
11ec: 6b e0 ldi r22, 0x0B ; 11
11ee: 84 e0 ldi r24, 0x04 ; 4
11f0: 96 e0 ldi r25, 0x06 ; 6
11f2: 0e 94 9e 07 call 0xf3c ; 0xf3c <Decode64>
11f6: 80 91 e6 03 lds r24, 0x03E6
11fa: 90 91 06 06 lds r25, 0x0606
11fe: 89 2b or r24, r25
1200: 80 93 e6 03 sts 0x03E6, r24
1204: 80 91 0d 06 lds r24, 0x060D
1208: 45 c0 rjmp .+138 ; 0x1294 <BearbeiteRxDaten+0x102>
120a: 20 91 a9 03 lds r18, 0x03A9
120e: 43 e0 ldi r20, 0x03 ; 3
1210: 6b e0 ldi r22, 0x0B ; 11
1212: 84 e0 ldi r24, 0x04 ; 4
1214: 96 e0 ldi r25, 0x06 ; 6
1216: 0e 94 9e 07 call 0xf3c ; 0xf3c <Decode64>
121a: 80 91 e6 03 lds r24, 0x03E6
121e: 90 91 06 06 lds r25, 0x0606
1222: 89 2b or r24, r25
1224: 80 93 e6 03 sts 0x03E6, r24
1228: 80 91 0d 06 lds r24, 0x060D
122c: 80 93 e7 06 sts 0x06E7, r24
1230: 81 e0 ldi r24, 0x01 ; 1
1232: 80 93 a4 03 sts 0x03A4, r24
1236: 9f c0 rjmp .+318 ; 0x1376 <BearbeiteRxDaten+0x1e4>
1238: 20 91 a9 03 lds r18, 0x03A9
123c: 43 e0 ldi r20, 0x03 ; 3
123e: 62 e0 ldi r22, 0x02 ; 2
1240: ce 01 movw r24, r28
1242: 01 96 adiw r24, 0x01 ; 1
1244: 0e 94 9e 07 call 0xf3c ; 0xf3c <Decode64>
1248: 80 91 e6 03 lds r24, 0x03E6
124c: 99 81 ldd r25, Y+1 ; 0x01
124e: 89 2b or r24, r25
1250: 80 93 e6 03 sts 0x03E6, r24
1254: 8a 81 ldd r24, Y+2 ; 0x02
1256: 8f 3f cpi r24, 0xFF ; 255
1258: 21 f4 brne .+8 ; 0x1262 <BearbeiteRxDaten+0xd0>
125a: 81 e0 ldi r24, 0x01 ; 1
125c: 80 93 ac 03 sts 0x03AC, r24
1260: 02 c0 rjmp .+4 ; 0x1266 <BearbeiteRxDaten+0xd4>
1262: 10 92 ac 03 sts 0x03AC, r1
1266: 81 e0 ldi r24, 0x01 ; 1
1268: 80 93 a3 03 sts 0x03A3, r24
126c: 84 c0 rjmp .+264 ; 0x1376 <BearbeiteRxDaten+0x1e4>
126e: 20 91 a9 03 lds r18, 0x03A9
1272: 43 e0 ldi r20, 0x03 ; 3
1274: 64 e0 ldi r22, 0x04 ; 4
1276: 8d ea ldi r24, 0xAD ; 173
1278: 93 e0 ldi r25, 0x03 ; 3
127a: 0e 94 9e 07 call 0xf3c ; 0xf3c <Decode64>
127e: 7b c0 rjmp .+246 ; 0x1376 <BearbeiteRxDaten+0x1e4>
1280: 20 91 a9 03 lds r18, 0x03A9
1284: 43 e0 ldi r20, 0x03 ; 3
1286: 64 e0 ldi r22, 0x04 ; 4
1288: 81 eb ldi r24, 0xB1 ; 177
128a: 93 e0 ldi r25, 0x03 ; 3
128c: 0e 94 9e 07 call 0xf3c ; 0xf3c <Decode64>
1290: 80 91 b4 03 lds r24, 0x03B4
1294: 80 93 e7 06 sts 0x06E7, r24
1298: 6e c0 rjmp .+220 ; 0x1376 <BearbeiteRxDaten+0x1e4>
129a: 81 e0 ldi r24, 0x01 ; 1
129c: 80 93 a5 03 sts 0x03A5, r24
12a0: 6a c0 rjmp .+212 ; 0x1376 <BearbeiteRxDaten+0x1e4>
12a2: 81 e0 ldi r24, 0x01 ; 1
12a4: 80 93 a2 03 sts 0x03A2, r24
12a8: 66 c0 rjmp .+204 ; 0x1376 <BearbeiteRxDaten+0x1e4>
12aa: 20 91 a9 03 lds r18, 0x03A9
12ae: 43 e0 ldi r20, 0x03 ; 3
12b0: 62 e0 ldi r22, 0x02 ; 2
12b2: ce 01 movw r24, r28
12b4: 01 96 adiw r24, 0x01 ; 1
12b6: 0e 94 9e 07 call 0xf3c ; 0xf3c <Decode64>
12ba: 89 81 ldd r24, Y+1 ; 0x01
12bc: 8f 3f cpi r24, 0xFF ; 255
12be: 89 f0 breq .+34 ; 0x12e2 <BearbeiteRxDaten+0x150>
12c0: 86 30 cpi r24, 0x06 ; 6
12c2: 10 f0 brcs .+4 ; 0x12c8 <BearbeiteRxDaten+0x136>
12c4: 85 e0 ldi r24, 0x05 ; 5
12c6: 89 83 std Y+1, r24 ; 0x01
12c8: 46 e4 ldi r20, 0x46 ; 70
12ca: 6f e2 ldi r22, 0x2F ; 47
12cc: 77 e0 ldi r23, 0x07 ; 7
12ce: 89 81 ldd r24, Y+1 ; 0x01
12d0: 0e 94 f0 03 call 0x7e0 ; 0x7e0 <ReadParameterSet>
12d4: 89 81 ldd r24, Y+1 ; 0x01
12d6: 26 e4 ldi r18, 0x46 ; 70
12d8: 4f e2 ldi r20, 0x2F ; 47
12da: 57 e0 ldi r21, 0x07 ; 7
12dc: 60 91 cb 04 lds r22, 0x04CB
12e0: 08 c0 rjmp .+16 ; 0x12f2 <BearbeiteRxDaten+0x160>
12e2: 10 91 cb 04 lds r17, 0x04CB
12e6: 0e 94 c7 03 call 0x78e ; 0x78e <GetActiveParamSetNumber>
12ea: 26 e4 ldi r18, 0x46 ; 70
12ec: 4f e2 ldi r20, 0x2F ; 47
12ee: 57 e0 ldi r21, 0x07 ; 7
12f0: 61 2f mov r22, r17
12f2: 85 5b subi r24, 0xB5 ; 181
12f4: 0e 94 3c 07 call 0xe78 ; 0xe78 <SendOutData>
12f8: 3e c0 rjmp .+124 ; 0x1376 <BearbeiteRxDaten+0x1e4>
12fa: 20 91 a9 03 lds r18, 0x03A9
12fe: 43 e0 ldi r20, 0x03 ; 3
1300: 66 e4 ldi r22, 0x46 ; 70
1302: 8f e2 ldi r24, 0x2F ; 47
1304: 97 e0 ldi r25, 0x07 ; 7
1306: 0e 94 9e 07 call 0xf3c ; 0xf3c <Decode64>
130a: 80 91 11 06 lds r24, 0x0611
130e: 46 e4 ldi r20, 0x46 ; 70
1310: 6f e2 ldi r22, 0x2F ; 47
1312: 77 e0 ldi r23, 0x07 ; 7
1314: 8b 56 subi r24, 0x6B ; 107
1316: 0e 94 d6 03 call 0x7ac ; 0x7ac <WriteParameterSet>
131a: 80 91 11 06 lds r24, 0x0611
131e: 8b 56 subi r24, 0x6B ; 107
1320: a2 e0 ldi r26, 0x02 ; 2
1322: b0 e0 ldi r27, 0x00 ; 0
1324: 08 2e mov r0, r24
1326: 0e 94 3a 3d call 0x7a74 ; 0x7a74 <__eeprom_write_byte_1F2021>
132a: 60 91 5a 07 lds r22, 0x075A
132e: 77 27 eor r23, r23
1330: 88 27 eor r24, r24
1332: 99 27 eor r25, r25
1334: 24 ec ldi r18, 0xC4 ; 196
1336: 39 e0 ldi r19, 0x09 ; 9
1338: 40 e0 ldi r20, 0x00 ; 0
133a: 50 e0 ldi r21, 0x00 ; 0
133c: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
1340: 60 93 87 03 sts 0x0387, r22
1344: 70 93 88 03 sts 0x0388, r23
1348: 80 93 89 03 sts 0x0389, r24
134c: 90 93 8a 03 sts 0x038A, r25
1350: 60 91 5b 07 lds r22, 0x075B
1354: 77 27 eor r23, r23
1356: 88 27 eor r24, r24
1358: 99 27 eor r25, r25
135a: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
135e: 60 93 8b 03 sts 0x038B, r22
1362: 70 93 8c 03 sts 0x038C, r23
1366: 80 93 8d 03 sts 0x038D, r24
136a: 90 93 8e 03 sts 0x038E, r25
136e: 0e 94 c7 03 call 0x78e ; 0x78e <GetActiveParamSetNumber>
1372: 0e 94 9d 22 call 0x453a ; 0x453a <Piep>
1376: 10 92 a6 03 sts 0x03A6, r1
137a: e3 e0 ldi r30, 0x03 ; 3
137c: ce 5f subi r28, 0xFE ; 254
137e: 0c 94 1b 3d jmp 0x7a36 ; 0x7a36 <__epilogue_restores__+0x1e>
 
00001382 <Putchar>:
1382: 98 2f mov r25, r24
1384: 80 91 e8 06 lds r24, 0x06E8
1388: 81 30 cpi r24, 0x01 ; 1
138a: 69 f4 brne .+26 ; 0x13a6 <Putchar+0x24>
138c: 80 91 e5 03 lds r24, 0x03E5
1390: e8 2f mov r30, r24
1392: ff 27 eor r31, r31
1394: e6 5e subi r30, 0xE6 ; 230
1396: fc 4f sbci r31, 0xFC ; 252
1398: 90 83 st Z, r25
139a: 8f 5f subi r24, 0xFF ; 255
139c: 80 93 e5 03 sts 0x03E5, r24
13a0: 21 e0 ldi r18, 0x01 ; 1
13a2: 30 e0 ldi r19, 0x00 ; 0
13a4: 05 c0 rjmp .+10 ; 0x13b0 <Putchar+0x2e>
13a6: 89 2f mov r24, r25
13a8: 0e 94 f6 07 call 0xfec ; 0xfec <uart_putchar>
13ac: 28 2f mov r18, r24
13ae: 33 27 eor r19, r19
13b0: c9 01 movw r24, r18
13b2: 08 95 ret
 
000013b4 <PAD_0>:
13b4: 1f 93 push r17
13b6: 18 2f mov r17, r24
13b8: 04 c0 rjmp .+8 ; 0x13c2 <PAD_0+0xe>
13ba: 80 e3 ldi r24, 0x30 ; 48
13bc: 0e 94 c1 09 call 0x1382 ; 0x1382 <Putchar>
13c0: 11 50 subi r17, 0x01 ; 1
13c2: 11 16 cp r1, r17
13c4: d4 f3 brlt .-12 ; 0x13ba <PAD_0+0x6>
13c6: 1f 91 pop r17
13c8: 08 95 ret
 
000013ca <PAD_SP>:
13ca: 1f 93 push r17
13cc: 18 2f mov r17, r24
13ce: 04 c0 rjmp .+8 ; 0x13d8 <PAD_SP+0xe>
13d0: 80 e2 ldi r24, 0x20 ; 32
13d2: 0e 94 c1 09 call 0x1382 ; 0x1382 <Putchar>
13d6: 11 50 subi r17, 0x01 ; 1
13d8: 11 16 cp r1, r17
13da: d4 f3 brlt .-12 ; 0x13d0 <PAD_SP+0x6>
13dc: 1f 91 pop r17
13de: 08 95 ret
 
000013e0 <PRINTP>:
13e0: 0f 93 push r16
13e2: 1f 93 push r17
13e4: cf 93 push r28
13e6: df 93 push r29
13e8: 8c 01 movw r16, r24
13ea: eb 01 movw r28, r22
13ec: 08 c0 rjmp .+16 ; 0x13fe <PRINTP+0x1e>
13ee: f8 01 movw r30, r16
13f0: 0f 5f subi r16, 0xFF ; 255
13f2: 1f 4f sbci r17, 0xFF ; 255
13f4: e4 91 lpm r30, Z
13f6: 8e 2f mov r24, r30
13f8: 0e 94 c1 09 call 0x1382 ; 0x1382 <Putchar>
13fc: 21 97 sbiw r28, 0x01 ; 1
13fe: 20 97 sbiw r28, 0x00 ; 0
1400: b1 f7 brne .-20 ; 0x13ee <PRINTP+0xe>
1402: df 91 pop r29
1404: cf 91 pop r28
1406: 1f 91 pop r17
1408: 0f 91 pop r16
140a: 08 95 ret
 
0000140c <PRINT>:
140c: 0f 93 push r16
140e: 1f 93 push r17
1410: cf 93 push r28
1412: df 93 push r29
1414: 8c 01 movw r16, r24
1416: eb 01 movw r28, r22
1418: 06 c0 rjmp .+12 ; 0x1426 <PRINT+0x1a>
141a: f8 01 movw r30, r16
141c: 81 91 ld r24, Z+
141e: 8f 01 movw r16, r30
1420: 0e 94 c1 09 call 0x1382 ; 0x1382 <Putchar>
1424: 21 97 sbiw r28, 0x01 ; 1
1426: 20 97 sbiw r28, 0x00 ; 0
1428: c1 f7 brne .-16 ; 0x141a <PRINT+0xe>
142a: df 91 pop r29
142c: cf 91 pop r28
142e: 1f 91 pop r17
1430: 0f 91 pop r16
1432: 08 95 ret
 
00001434 <_printf_P>:
1434: a3 e3 ldi r26, 0x33 ; 51
1436: b0 e0 ldi r27, 0x00 ; 0
1438: e0 e2 ldi r30, 0x20 ; 32
143a: fa e0 ldi r31, 0x0A ; 10
143c: 0c 94 f0 3c jmp 0x79e0 ; 0x79e0 <__prologue_saves__>
1440: 29 96 adiw r28, 0x09 ; 9
1442: 8f ad ldd r24, Y+63 ; 0x3f
1444: 29 97 sbiw r28, 0x09 ; 9
1446: 80 93 e8 06 sts 0x06E8, r24
144a: ce 01 movw r24, r28
144c: 85 5b subi r24, 0xB5 ; 181
144e: 9f 4f sbci r25, 0xFF ; 255
1450: 9d 83 std Y+5, r25 ; 0x05
1452: 8c 83 std Y+4, r24 ; 0x04
1454: 2b 96 adiw r28, 0x0b ; 11
1456: 8e ad ldd r24, Y+62 ; 0x3e
1458: 9f ad ldd r25, Y+63 ; 0x3f
145a: 2b 97 sbiw r28, 0x0b ; 11
145c: 9f a7 std Y+47, r25 ; 0x2f
145e: 8e a7 std Y+46, r24 ; 0x2e
1460: 22 24 eor r2, r2
1462: 33 24 eor r3, r3
1464: 21 01 movw r4, r2
1466: 02 c0 rjmp .+4 ; 0x146c <_printf_P+0x38>
1468: 13 01 movw r2, r6
146a: 24 01 movw r4, r8
146c: 0e a5 ldd r16, Y+46 ; 0x2e
146e: 1f a5 ldd r17, Y+47 ; 0x2f
1470: 02 c0 rjmp .+4 ; 0x1476 <_printf_P+0x42>
1472: 0f 5f subi r16, 0xFF ; 255
1474: 1f 4f sbci r17, 0xFF ; 255
1476: f8 01 movw r30, r16
1478: f4 90 lpm r15, Z
147a: ff 20 and r15, r15
147c: 19 f0 breq .+6 ; 0x1484 <_printf_P+0x50>
147e: f5 e2 ldi r31, 0x25 ; 37
1480: ff 16 cp r15, r31
1482: b9 f7 brne .-18 ; 0x1472 <_printf_P+0x3e>
1484: b8 01 movw r22, r16
1486: 8e a5 ldd r24, Y+46 ; 0x2e
1488: 9f a5 ldd r25, Y+47 ; 0x2f
148a: 68 1b sub r22, r24
148c: 79 0b sbc r23, r25
148e: 11 f0 breq .+4 ; 0x1494 <_printf_P+0x60>
1490: 0e 94 f0 09 call 0x13e0 ; 0x13e0 <PRINTP>
1494: ff 20 and r15, r15
1496: 09 f4 brne .+2 ; 0x149a <_printf_P+0x66>
1498: 42 c2 rjmp .+1156 ; 0x191e <_printf_P+0x4ea>
149a: 0f 5f subi r16, 0xFF ; 255
149c: 1f 4f sbci r17, 0xFF ; 255
149e: 1f a7 std Y+47, r17 ; 0x2f
14a0: 0e a7 std Y+46, r16 ; 0x2e
14a2: 19 82 std Y+1, r1 ; 0x01
14a4: ac 81 ldd r26, Y+4 ; 0x04
14a6: bd 81 ldd r27, Y+5 ; 0x05
14a8: 1b aa std Y+51, r1 ; 0x33
14aa: 1a aa std Y+50, r1 ; 0x32
14ac: 9f ef ldi r25, 0xFF ; 255
14ae: 99 ab std Y+49, r25 ; 0x31
14b0: ee a5 ldd r30, Y+46 ; 0x2e
14b2: ff a5 ldd r31, Y+47 ; 0x2f
14b4: cf 01 movw r24, r30
14b6: 01 96 adiw r24, 0x01 ; 1
14b8: 9f a7 std Y+47, r25 ; 0x2f
14ba: 8e a7 std Y+46, r24 ; 0x2e
14bc: b4 90 lpm r11, Z
14be: 95 e7 ldi r25, 0x75 ; 117
14c0: b9 16 cp r11, r25
14c2: 21 f0 breq .+8 ; 0x14cc <_printf_P+0x98>
14c4: 8b 2d mov r24, r11
14c6: 80 62 ori r24, 0x20 ; 32
14c8: 88 37 cpi r24, 0x78 ; 120
14ca: 89 f4 brne .+34 ; 0x14ee <_printf_P+0xba>
14cc: eb a9 ldd r30, Y+51 ; 0x33
14ce: e0 ff sbrs r30, 0
14d0: 07 c0 rjmp .+14 ; 0x14e0 <_printf_P+0xac>
14d2: 2d 90 ld r2, X+
14d4: 3d 90 ld r3, X+
14d6: 4d 90 ld r4, X+
14d8: 5c 90 ld r5, X
14da: 13 97 sbiw r26, 0x03 ; 3
14dc: 14 96 adiw r26, 0x04 ; 4
14de: 07 c0 rjmp .+14 ; 0x14ee <_printf_P+0xba>
14e0: 8d 91 ld r24, X+
14e2: 9c 91 ld r25, X
14e4: 11 97 sbiw r26, 0x01 ; 1
14e6: 1c 01 movw r2, r24
14e8: 44 24 eor r4, r4
14ea: 55 24 eor r5, r5
14ec: 12 96 adiw r26, 0x02 ; 2
14ee: f0 e2 ldi r31, 0x20 ; 32
14f0: bf 16 cp r11, r31
14f2: 21 f4 brne .+8 ; 0x14fc <_printf_P+0xc8>
14f4: 89 81 ldd r24, Y+1 ; 0x01
14f6: 88 23 and r24, r24
14f8: d9 f6 brne .-74 ; 0x14b0 <_printf_P+0x7c>
14fa: 85 c0 rjmp .+266 ; 0x1606 <_printf_P+0x1d2>
14fc: 83 e2 ldi r24, 0x23 ; 35
14fe: b8 16 cp r11, r24
1500: 09 f4 brne .+2 ; 0x1504 <_printf_P+0xd0>
1502: 83 c0 rjmp .+262 ; 0x160a <_printf_P+0x1d6>
1504: 9a e2 ldi r25, 0x2A ; 42
1506: b9 16 cp r11, r25
1508: 21 f0 breq .+8 ; 0x1512 <_printf_P+0xde>
150a: ed e2 ldi r30, 0x2D ; 45
150c: be 16 cp r11, r30
150e: 69 f4 brne .+26 ; 0x152a <_printf_P+0xf6>
1510: 08 c0 rjmp .+16 ; 0x1522 <_printf_P+0xee>
1512: fd 01 movw r30, r26
1514: 12 96 adiw r26, 0x02 ; 2
1516: e0 81 ld r30, Z
1518: ea ab std Y+50, r30 ; 0x32
151a: e7 ff sbrs r30, 7
151c: c9 cf rjmp .-110 ; 0x14b0 <_printf_P+0x7c>
151e: e1 95 neg r30
1520: ea ab std Y+50, r30 ; 0x32
1522: fb a9 ldd r31, Y+51 ; 0x33
1524: f0 61 ori r31, 0x10 ; 16
1526: ff 7d andi r31, 0xDF ; 223
1528: 72 c0 rjmp .+228 ; 0x160e <_printf_P+0x1da>
152a: 8b e2 ldi r24, 0x2B ; 43
152c: b8 16 cp r11, r24
152e: 09 f4 brne .+2 ; 0x1532 <_printf_P+0xfe>
1530: 6a c0 rjmp .+212 ; 0x1606 <_printf_P+0x1d2>
1532: 9e e2 ldi r25, 0x2E ; 46
1534: b9 16 cp r11, r25
1536: b1 f5 brne .+108 ; 0x15a4 <_printf_P+0x170>
1538: 2e a5 ldd r18, Y+46 ; 0x2e
153a: 3f a5 ldd r19, Y+47 ; 0x2f
153c: 2f 5f subi r18, 0xFF ; 255
153e: 3f 4f sbci r19, 0xFF ; 255
1540: ee a5 ldd r30, Y+46 ; 0x2e
1542: ff a5 ldd r31, Y+47 ; 0x2f
1544: 84 91 lpm r24, Z
1546: 8a 32 cpi r24, 0x2A ; 42
1548: 21 f0 breq .+8 ; 0x1552 <_printf_P+0x11e>
154a: b8 2e mov r11, r24
154c: 20 e0 ldi r18, 0x00 ; 0
154e: 30 e0 ldi r19, 0x00 ; 0
1550: 1b c0 rjmp .+54 ; 0x1588 <_printf_P+0x154>
1552: fd 01 movw r30, r26
1554: 12 96 adiw r26, 0x02 ; 2
1556: 40 81 ld r20, Z
1558: 51 81 ldd r21, Z+1 ; 0x01
155a: 57 ff sbrs r21, 7
155c: 02 c0 rjmp .+4 ; 0x1562 <_printf_P+0x12e>
155e: 4f ef ldi r20, 0xFF ; 255
1560: 5f ef ldi r21, 0xFF ; 255
1562: 49 ab std Y+49, r20 ; 0x31
1564: 3f a7 std Y+47, r19 ; 0x2f
1566: 2e a7 std Y+46, r18 ; 0x2e
1568: a3 cf rjmp .-186 ; 0x14b0 <_printf_P+0x7c>
156a: c9 01 movw r24, r18
156c: 03 e0 ldi r16, 0x03 ; 3
156e: 88 0f add r24, r24
1570: 99 1f adc r25, r25
1572: 0a 95 dec r16
1574: e1 f7 brne .-8 ; 0x156e <_printf_P+0x13a>
1576: 22 0f add r18, r18
1578: 33 1f adc r19, r19
157a: 28 0f add r18, r24
157c: 39 1f adc r19, r25
157e: 2b 0d add r18, r11
1580: 31 1d adc r19, r1
1582: 20 53 subi r18, 0x30 ; 48
1584: 30 40 sbci r19, 0x00 ; 0
1586: b4 90 lpm r11, Z
1588: 31 96 adiw r30, 0x01 ; 1
158a: 8b 2d mov r24, r11
158c: 80 53 subi r24, 0x30 ; 48
158e: 8a 30 cpi r24, 0x0A ; 10
1590: 60 f3 brcs .-40 ; 0x156a <_printf_P+0x136>
1592: ff a7 std Y+47, r31 ; 0x2f
1594: ee a7 std Y+46, r30 ; 0x2e
1596: a9 01 movw r20, r18
1598: 37 ff sbrs r19, 7
159a: 02 c0 rjmp .+4 ; 0x15a0 <_printf_P+0x16c>
159c: 4f ef ldi r20, 0xFF ; 255
159e: 5f ef ldi r21, 0xFF ; 255
15a0: 49 ab std Y+49, r20 ; 0x31
15a2: 8d cf rjmp .-230 ; 0x14be <_printf_P+0x8a>
15a4: f0 e3 ldi r31, 0x30 ; 48
15a6: bf 16 cp r11, r31
15a8: 31 f4 brne .+12 ; 0x15b6 <_printf_P+0x182>
15aa: 8b a9 ldd r24, Y+51 ; 0x33
15ac: 84 fd sbrc r24, 4
15ae: 80 cf rjmp .-256 ; 0x14b0 <_printf_P+0x7c>
15b0: 80 62 ori r24, 0x20 ; 32
15b2: 8b ab std Y+51, r24 ; 0x33
15b4: 7d cf rjmp .-262 ; 0x14b0 <_printf_P+0x7c>
15b6: 8b 2d mov r24, r11
15b8: 81 53 subi r24, 0x31 ; 49
15ba: 89 30 cpi r24, 0x09 ; 9
15bc: e8 f4 brcc .+58 ; 0x15f8 <_printf_P+0x1c4>
15be: 20 e0 ldi r18, 0x00 ; 0
15c0: 30 e0 ldi r19, 0x00 ; 0
15c2: c9 01 movw r24, r18
15c4: f3 e0 ldi r31, 0x03 ; 3
15c6: 88 0f add r24, r24
15c8: 99 1f adc r25, r25
15ca: fa 95 dec r31
15cc: e1 f7 brne .-8 ; 0x15c6 <_printf_P+0x192>
15ce: 22 0f add r18, r18
15d0: 33 1f adc r19, r19
15d2: 28 0f add r18, r24
15d4: 39 1f adc r19, r25
15d6: 2b 0d add r18, r11
15d8: 31 1d adc r19, r1
15da: 20 53 subi r18, 0x30 ; 48
15dc: 30 40 sbci r19, 0x00 ; 0
15de: ee a5 ldd r30, Y+46 ; 0x2e
15e0: ff a5 ldd r31, Y+47 ; 0x2f
15e2: cf 01 movw r24, r30
15e4: 01 96 adiw r24, 0x01 ; 1
15e6: 9f a7 std Y+47, r25 ; 0x2f
15e8: 8e a7 std Y+46, r24 ; 0x2e
15ea: b4 90 lpm r11, Z
15ec: 8b 2d mov r24, r11
15ee: 80 53 subi r24, 0x30 ; 48
15f0: 8a 30 cpi r24, 0x0A ; 10
15f2: 38 f3 brcs .-50 ; 0x15c2 <_printf_P+0x18e>
15f4: 2a ab std Y+50, r18 ; 0x32
15f6: 63 cf rjmp .-314 ; 0x14be <_printf_P+0x8a>
15f8: 98 e6 ldi r25, 0x68 ; 104
15fa: b9 16 cp r11, r25
15fc: 51 f4 brne .+20 ; 0x1612 <_printf_P+0x1de>
15fe: eb a9 ldd r30, Y+51 ; 0x33
1600: e4 60 ori r30, 0x04 ; 4
1602: eb ab std Y+51, r30 ; 0x33
1604: 55 cf rjmp .-342 ; 0x14b0 <_printf_P+0x7c>
1606: b9 82 std Y+1, r11 ; 0x01
1608: 53 cf rjmp .-346 ; 0x14b0 <_printf_P+0x7c>
160a: fb a9 ldd r31, Y+51 ; 0x33
160c: f8 60 ori r31, 0x08 ; 8
160e: fb ab std Y+51, r31 ; 0x33
1610: 4f cf rjmp .-354 ; 0x14b0 <_printf_P+0x7c>
1612: 8c e6 ldi r24, 0x6C ; 108
1614: b8 16 cp r11, r24
1616: 21 f4 brne .+8 ; 0x1620 <_printf_P+0x1ec>
1618: 9b a9 ldd r25, Y+51 ; 0x33
161a: 91 60 ori r25, 0x01 ; 1
161c: 9b ab std Y+51, r25 ; 0x33
161e: 48 cf rjmp .-368 ; 0x14b0 <_printf_P+0x7c>
1620: bd 83 std Y+5, r27 ; 0x05
1622: ac 83 std Y+4, r26 ; 0x04
1624: e3 e6 ldi r30, 0x63 ; 99
1626: be 16 cp r11, r30
1628: 39 f4 brne .+14 ; 0x1638 <_printf_P+0x204>
162a: 12 96 adiw r26, 0x02 ; 2
162c: bd 83 std Y+5, r27 ; 0x05
162e: ac 83 std Y+4, r26 ; 0x04
1630: 12 97 sbiw r26, 0x02 ; 2
1632: 8c 91 ld r24, X
1634: 8e 83 std Y+6, r24 ; 0x06
1636: 18 c1 rjmp .+560 ; 0x1868 <_printf_P+0x434>
1638: f4 e4 ldi r31, 0x44 ; 68
163a: bf 16 cp r11, r31
163c: 39 f0 breq .+14 ; 0x164c <_printf_P+0x218>
163e: 84 e6 ldi r24, 0x64 ; 100
1640: b8 16 cp r11, r24
1642: 39 f0 breq .+14 ; 0x1652 <_printf_P+0x21e>
1644: 99 e6 ldi r25, 0x69 ; 105
1646: b9 16 cp r11, r25
1648: 59 f5 brne .+86 ; 0x16a0 <_printf_P+0x26c>
164a: 03 c0 rjmp .+6 ; 0x1652 <_printf_P+0x21e>
164c: eb a9 ldd r30, Y+51 ; 0x33
164e: e1 60 ori r30, 0x01 ; 1
1650: eb ab std Y+51, r30 ; 0x33
1652: fb a9 ldd r31, Y+51 ; 0x33
1654: f0 ff sbrs r31, 0
1656: 08 c0 rjmp .+16 ; 0x1668 <_printf_P+0x234>
1658: 14 96 adiw r26, 0x04 ; 4
165a: bd 83 std Y+5, r27 ; 0x05
165c: ac 83 std Y+4, r26 ; 0x04
165e: 5e 90 ld r5, -X
1660: 4e 90 ld r4, -X
1662: 3e 90 ld r3, -X
1664: 2e 90 ld r2, -X
1666: 0a c0 rjmp .+20 ; 0x167c <_printf_P+0x248>
1668: 12 96 adiw r26, 0x02 ; 2
166a: bd 83 std Y+5, r27 ; 0x05
166c: ac 83 std Y+4, r26 ; 0x04
166e: 9e 91 ld r25, -X
1670: 8e 91 ld r24, -X
1672: 1c 01 movw r2, r24
1674: 44 24 eor r4, r4
1676: 37 fc sbrc r3, 7
1678: 40 94 com r4
167a: 54 2c mov r5, r4
167c: 57 fc sbrc r5, 7
167e: 03 c0 rjmp .+6 ; 0x1686 <_printf_P+0x252>
1680: 8a e0 ldi r24, 0x0A ; 10
1682: 88 ab std Y+48, r24 ; 0x30
1684: 92 c0 rjmp .+292 ; 0x17aa <_printf_P+0x376>
1686: 50 94 com r5
1688: 40 94 com r4
168a: 30 94 com r3
168c: 20 94 com r2
168e: 21 1c adc r2, r1
1690: 31 1c adc r3, r1
1692: 41 1c adc r4, r1
1694: 51 1c adc r5, r1
1696: 8d e2 ldi r24, 0x2D ; 45
1698: 89 83 std Y+1, r24 ; 0x01
169a: 9a e0 ldi r25, 0x0A ; 10
169c: 98 ab std Y+48, r25 ; 0x30
169e: 85 c0 rjmp .+266 ; 0x17aa <_printf_P+0x376>
16a0: ef e4 ldi r30, 0x4F ; 79
16a2: be 16 cp r11, r30
16a4: 29 f0 breq .+10 ; 0x16b0 <_printf_P+0x27c>
16a6: ff e6 ldi r31, 0x6F ; 111
16a8: bf 16 cp r11, r31
16aa: 39 f4 brne .+14 ; 0x16ba <_printf_P+0x286>
16ac: 88 e0 ldi r24, 0x08 ; 8
16ae: 61 c0 rjmp .+194 ; 0x1772 <_printf_P+0x33e>
16b0: 9b a9 ldd r25, Y+51 ; 0x33
16b2: 91 60 ori r25, 0x01 ; 1
16b4: 9b ab std Y+51, r25 ; 0x33
16b6: e8 e0 ldi r30, 0x08 ; 8
16b8: 56 c0 rjmp .+172 ; 0x1766 <_printf_P+0x332>
16ba: f0 e7 ldi r31, 0x70 ; 112
16bc: bf 16 cp r11, r31
16be: 71 f4 brne .+28 ; 0x16dc <_printf_P+0x2a8>
16c0: 12 96 adiw r26, 0x02 ; 2
16c2: bd 83 std Y+5, r27 ; 0x05
16c4: ac 83 std Y+4, r26 ; 0x04
16c6: 9e 91 ld r25, -X
16c8: 8e 91 ld r24, -X
16ca: 1c 01 movw r2, r24
16cc: 44 24 eor r4, r4
16ce: 55 24 eor r5, r5
16d0: 8b a9 ldd r24, Y+51 ; 0x33
16d2: 80 64 ori r24, 0x40 ; 64
16d4: 8b ab std Y+51, r24 ; 0x33
16d6: 78 e7 ldi r23, 0x78 ; 120
16d8: b7 2e mov r11, r23
16da: 5e c0 rjmp .+188 ; 0x1798 <_printf_P+0x364>
16dc: e3 e7 ldi r30, 0x73 ; 115
16de: be 16 cp r11, r30
16e0: d9 f5 brne .+118 ; 0x1758 <_printf_P+0x324>
16e2: 12 96 adiw r26, 0x02 ; 2
16e4: bd 83 std Y+5, r27 ; 0x05
16e6: ac 83 std Y+4, r26 ; 0x04
16e8: de 90 ld r13, -X
16ea: ce 90 ld r12, -X
16ec: c1 14 cp r12, r1
16ee: d1 04 cpc r13, r1
16f0: 89 f4 brne .+34 ; 0x1714 <_printf_P+0x2e0>
16f2: 88 e2 ldi r24, 0x28 ; 40
16f4: 8e 83 std Y+6, r24 ; 0x06
16f6: 8e e6 ldi r24, 0x6E ; 110
16f8: 8f 83 std Y+7, r24 ; 0x07
16fa: 85 e7 ldi r24, 0x75 ; 117
16fc: 88 87 std Y+8, r24 ; 0x08
16fe: 8c e6 ldi r24, 0x6C ; 108
1700: 89 87 std Y+9, r24 ; 0x09
1702: 8a 87 std Y+10, r24 ; 0x0a
1704: 89 e2 ldi r24, 0x29 ; 41
1706: 8b 87 std Y+11, r24 ; 0x0b
1708: 1c 86 std Y+12, r1 ; 0x0c
170a: 66 e0 ldi r22, 0x06 ; 6
170c: c6 2e mov r12, r22
170e: d1 2c mov r13, r1
1710: cc 0e add r12, r28
1712: dd 1e adc r13, r29
1714: f9 a9 ldd r31, Y+49 ; 0x31
1716: f7 fd sbrc r31, 7
1718: 13 c0 rjmp .+38 ; 0x1740 <_printf_P+0x30c>
171a: 4f 2f mov r20, r31
171c: 55 27 eor r21, r21
171e: 47 fd sbrc r20, 7
1720: 50 95 com r21
1722: 60 e0 ldi r22, 0x00 ; 0
1724: 70 e0 ldi r23, 0x00 ; 0
1726: c6 01 movw r24, r12
1728: 0e 94 ec 3a call 0x75d8 ; 0x75d8 <memchr>
172c: 00 97 sbiw r24, 0x00 ; 0
172e: 11 f4 brne .+4 ; 0x1734 <_printf_P+0x300>
1730: 19 a9 ldd r17, Y+49 ; 0x31
1732: 0d c0 rjmp .+26 ; 0x174e <_printf_P+0x31a>
1734: 8c 19 sub r24, r12
1736: 19 a9 ldd r17, Y+49 ; 0x31
1738: 81 17 cp r24, r17
173a: 4c f4 brge .+18 ; 0x174e <_printf_P+0x31a>
173c: 18 2f mov r17, r24
173e: 07 c0 rjmp .+14 ; 0x174e <_printf_P+0x31a>
1740: f6 01 movw r30, r12
1742: 01 90 ld r0, Z+
1744: 00 20 and r0, r0
1746: e9 f7 brne .-6 ; 0x1742 <_printf_P+0x30e>
1748: 31 97 sbiw r30, 0x01 ; 1
174a: 1e 2f mov r17, r30
174c: 1c 19 sub r17, r12
174e: 19 82 std Y+1, r1 ; 0x01
1750: 42 01 movw r8, r4
1752: 31 01 movw r6, r2
1754: 40 e0 ldi r20, 0x00 ; 0
1756: 94 c0 rjmp .+296 ; 0x1880 <_printf_P+0x44c>
1758: 85 e5 ldi r24, 0x55 ; 85
175a: b8 16 cp r11, r24
175c: 31 f0 breq .+12 ; 0x176a <_printf_P+0x336>
175e: 95 e7 ldi r25, 0x75 ; 117
1760: b9 16 cp r11, r25
1762: 49 f4 brne .+18 ; 0x1776 <_printf_P+0x342>
1764: ea e0 ldi r30, 0x0A ; 10
1766: e8 ab std Y+48, r30 ; 0x30
1768: 1f c0 rjmp .+62 ; 0x17a8 <_printf_P+0x374>
176a: fb a9 ldd r31, Y+51 ; 0x33
176c: f1 60 ori r31, 0x01 ; 1
176e: fb ab std Y+51, r31 ; 0x33
1770: 8a e0 ldi r24, 0x0A ; 10
1772: 88 ab std Y+48, r24 ; 0x30
1774: 19 c0 rjmp .+50 ; 0x17a8 <_printf_P+0x374>
1776: 98 e5 ldi r25, 0x58 ; 88
1778: b9 16 cp r11, r25
177a: 21 f0 breq .+8 ; 0x1784 <_printf_P+0x350>
177c: e8 e7 ldi r30, 0x78 ; 120
177e: be 16 cp r11, r30
1780: 09 f0 breq .+2 ; 0x1784 <_printf_P+0x350>
1782: 6e c0 rjmp .+220 ; 0x1860 <_printf_P+0x42c>
1784: fb a9 ldd r31, Y+51 ; 0x33
1786: f3 fd sbrc r31, 3
1788: 02 c0 rjmp .+4 ; 0x178e <_printf_P+0x35a>
178a: 80 e1 ldi r24, 0x10 ; 16
178c: f2 cf rjmp .-28 ; 0x1772 <_printf_P+0x33e>
178e: 21 14 cp r2, r1
1790: 31 04 cpc r3, r1
1792: 41 04 cpc r4, r1
1794: 51 04 cpc r5, r1
1796: 19 f4 brne .+6 ; 0x179e <_printf_P+0x36a>
1798: 90 e1 ldi r25, 0x10 ; 16
179a: 98 ab std Y+48, r25 ; 0x30
179c: 05 c0 rjmp .+10 ; 0x17a8 <_printf_P+0x374>
179e: eb a9 ldd r30, Y+51 ; 0x33
17a0: e0 64 ori r30, 0x40 ; 64
17a2: eb ab std Y+51, r30 ; 0x33
17a4: f0 e1 ldi r31, 0x10 ; 16
17a6: f8 ab std Y+48, r31 ; 0x30
17a8: 19 82 std Y+1, r1 ; 0x01
17aa: 89 a9 ldd r24, Y+49 ; 0x31
17ac: 87 fd sbrc r24, 7
17ae: 03 c0 rjmp .+6 ; 0x17b6 <_printf_P+0x382>
17b0: 9b a9 ldd r25, Y+51 ; 0x33
17b2: 9f 7d andi r25, 0xDF ; 223
17b4: 9b ab std Y+51, r25 ; 0x33
17b6: 21 14 cp r2, r1
17b8: 31 04 cpc r3, r1
17ba: 41 04 cpc r4, r1
17bc: 51 04 cpc r5, r1
17be: 61 f4 brne .+24 ; 0x17d8 <_printf_P+0x3a4>
17c0: e9 a9 ldd r30, Y+49 ; 0x31
17c2: ee 23 and r30, r30
17c4: 49 f4 brne .+18 ; 0x17d8 <_printf_P+0x3a4>
17c6: 66 24 eor r6, r6
17c8: 77 24 eor r7, r7
17ca: 43 01 movw r8, r6
17cc: 5e e2 ldi r21, 0x2E ; 46
17ce: c5 2e mov r12, r21
17d0: d1 2c mov r13, r1
17d2: cc 0e add r12, r28
17d4: dd 1e adc r13, r29
17d6: 3e c0 rjmp .+124 ; 0x1854 <_printf_P+0x420>
17d8: 4e e2 ldi r20, 0x2E ; 46
17da: c4 2e mov r12, r20
17dc: d1 2c mov r13, r1
17de: cc 0e add r12, r28
17e0: dd 1e adc r13, r29
17e2: f8 a9 ldd r31, Y+48 ; 0x30
17e4: ef 2e mov r14, r31
17e6: ff 24 eor r15, r15
17e8: 00 27 eor r16, r16
17ea: 11 27 eor r17, r17
17ec: c2 01 movw r24, r4
17ee: b1 01 movw r22, r2
17f0: a8 01 movw r20, r16
17f2: 97 01 movw r18, r14
17f4: 0e 94 b3 3c call 0x7966 ; 0x7966 <__udivmodsi4>
17f8: 6a 30 cpi r22, 0x0A ; 10
17fa: 20 f4 brcc .+8 ; 0x1804 <_printf_P+0x3d0>
17fc: 30 e3 ldi r19, 0x30 ; 48
17fe: a3 2e mov r10, r19
1800: a6 0e add r10, r22
1802: 08 c0 rjmp .+16 ; 0x1814 <_printf_P+0x3e0>
1804: 27 e5 ldi r18, 0x57 ; 87
1806: a2 2e mov r10, r18
1808: a6 0e add r10, r22
180a: 88 e5 ldi r24, 0x58 ; 88
180c: b8 16 cp r11, r24
180e: 11 f4 brne .+4 ; 0x1814 <_printf_P+0x3e0>
1810: 9f ed ldi r25, 0xDF ; 223
1812: a9 22 and r10, r25
1814: f6 01 movw r30, r12
1816: a2 92 st -Z, r10
1818: 6f 01 movw r12, r30
181a: c2 01 movw r24, r4
181c: b1 01 movw r22, r2
181e: a8 01 movw r20, r16
1820: 97 01 movw r18, r14
1822: 0e 94 b3 3c call 0x7966 ; 0x7966 <__udivmodsi4>
1826: 39 01 movw r6, r18
1828: 4a 01 movw r8, r20
182a: 2e 14 cp r2, r14
182c: 3f 04 cpc r3, r15
182e: 40 06 cpc r4, r16
1830: 51 06 cpc r5, r17
1832: 18 f0 brcs .+6 ; 0x183a <_printf_P+0x406>
1834: 19 01 movw r2, r18
1836: 2a 01 movw r4, r20
1838: d9 cf rjmp .-78 ; 0x17ec <_printf_P+0x3b8>
183a: f8 a9 ldd r31, Y+48 ; 0x30
183c: f8 30 cpi r31, 0x08 ; 8
183e: 51 f4 brne .+20 ; 0x1854 <_printf_P+0x420>
1840: 8b a9 ldd r24, Y+51 ; 0x33
1842: 83 ff sbrs r24, 3
1844: 07 c0 rjmp .+14 ; 0x1854 <_printf_P+0x420>
1846: 90 e3 ldi r25, 0x30 ; 48
1848: a9 16 cp r10, r25
184a: 21 f0 breq .+8 ; 0x1854 <_printf_P+0x420>
184c: 80 e3 ldi r24, 0x30 ; 48
184e: f6 01 movw r30, r12
1850: 82 93 st -Z, r24
1852: 6f 01 movw r12, r30
1854: ce 01 movw r24, r28
1856: 8c 19 sub r24, r12
1858: 18 2f mov r17, r24
185a: 12 5d subi r17, 0xD2 ; 210
185c: 49 a9 ldd r20, Y+49 ; 0x31
185e: 10 c0 rjmp .+32 ; 0x1880 <_printf_P+0x44c>
1860: bb 20 and r11, r11
1862: 09 f4 brne .+2 ; 0x1866 <_printf_P+0x432>
1864: 5c c0 rjmp .+184 ; 0x191e <_printf_P+0x4ea>
1866: be 82 std Y+6, r11 ; 0x06
1868: 19 82 std Y+1, r1 ; 0x01
186a: 42 01 movw r8, r4
186c: 31 01 movw r6, r2
186e: 00 e0 ldi r16, 0x00 ; 0
1870: 96 e0 ldi r25, 0x06 ; 6
1872: c9 2e mov r12, r25
1874: d1 2c mov r13, r1
1876: cc 0e add r12, r28
1878: dd 1e adc r13, r29
187a: 11 e0 ldi r17, 0x01 ; 1
187c: 21 e0 ldi r18, 0x01 ; 1
187e: 05 c0 rjmp .+10 ; 0x188a <_printf_P+0x456>
1880: 21 2f mov r18, r17
1882: 04 2f mov r16, r20
1884: 01 1b sub r16, r17
1886: 07 fd sbrc r16, 7
1888: 00 e0 ldi r16, 0x00 ; 0
188a: 89 81 ldd r24, Y+1 ; 0x01
188c: 88 23 and r24, r24
188e: 19 f0 breq .+6 ; 0x1896 <_printf_P+0x462>
1890: 81 2f mov r24, r17
1892: 8f 5f subi r24, 0xFF ; 255
1894: 07 c0 rjmp .+14 ; 0x18a4 <_printf_P+0x470>
1896: 9b a9 ldd r25, Y+51 ; 0x33
1898: 96 fd sbrc r25, 6
189a: 02 c0 rjmp .+4 ; 0x18a0 <_printf_P+0x46c>
189c: 81 2f mov r24, r17
189e: 02 c0 rjmp .+4 ; 0x18a4 <_printf_P+0x470>
18a0: 82 2f mov r24, r18
18a2: 8e 5f subi r24, 0xFE ; 254
18a4: a8 2e mov r10, r24
18a6: a0 0e add r10, r16
18a8: eb a9 ldd r30, Y+51 ; 0x33
18aa: ee 2e mov r14, r30
18ac: ff 24 eor r15, r15
18ae: 80 e3 ldi r24, 0x30 ; 48
18b0: 48 2e mov r4, r24
18b2: 51 2c mov r5, r1
18b4: 4e 20 and r4, r14
18b6: 5f 20 and r5, r15
18b8: 41 14 cp r4, r1
18ba: 51 04 cpc r5, r1
18bc: 21 f4 brne .+8 ; 0x18c6 <_printf_P+0x492>
18be: 8a a9 ldd r24, Y+50 ; 0x32
18c0: 8a 19 sub r24, r10
18c2: 0e 94 e5 09 call 0x13ca ; 0x13ca <PAD_SP>
18c6: 89 81 ldd r24, Y+1 ; 0x01
18c8: 88 23 and r24, r24
18ca: 29 f0 breq .+10 ; 0x18d6 <_printf_P+0x4a2>
18cc: 61 e0 ldi r22, 0x01 ; 1
18ce: 70 e0 ldi r23, 0x00 ; 0
18d0: ce 01 movw r24, r28
18d2: 01 96 adiw r24, 0x01 ; 1
18d4: 09 c0 rjmp .+18 ; 0x18e8 <_printf_P+0x4b4>
18d6: e6 fe sbrs r14, 6
18d8: 09 c0 rjmp .+18 ; 0x18ec <_printf_P+0x4b8>
18da: 80 e3 ldi r24, 0x30 ; 48
18dc: 8a 83 std Y+2, r24 ; 0x02
18de: bb 82 std Y+3, r11 ; 0x03
18e0: 62 e0 ldi r22, 0x02 ; 2
18e2: 70 e0 ldi r23, 0x00 ; 0
18e4: ce 01 movw r24, r28
18e6: 02 96 adiw r24, 0x02 ; 2
18e8: 0e 94 06 0a call 0x140c ; 0x140c <PRINT>
18ec: f0 e2 ldi r31, 0x20 ; 32
18ee: 4f 16 cp r4, r31
18f0: 51 04 cpc r5, r1
18f2: 21 f4 brne .+8 ; 0x18fc <_printf_P+0x4c8>
18f4: 8a a9 ldd r24, Y+50 ; 0x32
18f6: 8a 19 sub r24, r10
18f8: 0e 94 da 09 call 0x13b4 ; 0x13b4 <PAD_0>
18fc: 80 2f mov r24, r16
18fe: 0e 94 da 09 call 0x13b4 ; 0x13b4 <PAD_0>
1902: 61 2f mov r22, r17
1904: 77 27 eor r23, r23
1906: 67 fd sbrc r22, 7
1908: 70 95 com r23
190a: c6 01 movw r24, r12
190c: 0e 94 06 0a call 0x140c ; 0x140c <PRINT>
1910: e4 fe sbrs r14, 4
1912: aa cd rjmp .-1196 ; 0x1468 <_printf_P+0x34>
1914: 8a a9 ldd r24, Y+50 ; 0x32
1916: 8a 19 sub r24, r10
1918: 0e 94 e5 09 call 0x13ca ; 0x13ca <PAD_SP>
191c: a5 cd rjmp .-1206 ; 0x1468 <_printf_P+0x34>
191e: e2 e1 ldi r30, 0x12 ; 18
1920: cd 5c subi r28, 0xCD ; 205
1922: 0c 94 0c 3d jmp 0x7a18 ; 0x7a18 <__epilogue_restores__>
 
00001926 <Timer_Init>:
1926: 82 e0 ldi r24, 0x02 ; 2
1928: 85 bd out 0x25, r24 ; 37
192a: 83 ea ldi r24, 0xA3 ; 163
192c: 84 bd out 0x24, r24 ; 36
192e: 17 bc out 0x27, r1 ; 39
1930: 88 e7 ldi r24, 0x78 ; 120
1932: 88 bd out 0x28, r24 ; 40
1934: 83 ec ldi r24, 0xC3 ; 195
1936: 80 93 b0 00 sts 0x00B0, r24
193a: 86 e0 ldi r24, 0x06 ; 6
193c: 80 93 b1 00 sts 0x00B1, r24
1940: e0 e7 ldi r30, 0x70 ; 112
1942: f0 e0 ldi r31, 0x00 ; 0
1944: 80 81 ld r24, Z
1946: 82 60 ori r24, 0x02 ; 2
1948: 80 83 st Z, r24
194a: ee e6 ldi r30, 0x6E ; 110
194c: f0 e0 ldi r31, 0x00 ; 0
194e: 80 81 ld r24, Z
1950: 81 60 ori r24, 0x01 ; 1
1952: 80 83 st Z, r24
1954: 8a e0 ldi r24, 0x0A ; 10
1956: 80 93 b3 00 sts 0x00B3, r24
195a: 10 92 b2 00 sts 0x00B2, r1
195e: 08 95 ret
 
00001960 <SetDelay>:
1960: 20 91 bd 03 lds r18, 0x03BD
1964: 30 91 be 03 lds r19, 0x03BE
1968: 2f 5f subi r18, 0xFF ; 255
196a: 3f 4f sbci r19, 0xFF ; 255
196c: 82 0f add r24, r18
196e: 93 1f adc r25, r19
1970: 08 95 ret
 
00001972 <CheckDelay>:
1972: 20 91 bd 03 lds r18, 0x03BD
1976: 30 91 be 03 lds r19, 0x03BE
197a: 82 1b sub r24, r18
197c: 93 0b sbc r25, r19
197e: 89 2f mov r24, r25
1980: 99 27 eor r25, r25
1982: 86 95 lsr r24
1984: 80 74 andi r24, 0x40 ; 64
1986: 99 27 eor r25, r25
1988: 08 95 ret
 
0000198a <__vector_9>:
198a: 1f 92 push r1
198c: 0f 92 push r0
198e: 0f b6 in r0, 0x3f ; 63
1990: 0f 92 push r0
1992: 11 24 eor r1, r1
1994: ef 92 push r14
1996: ff 92 push r15
1998: 0f 93 push r16
199a: 1f 93 push r17
199c: 2f 93 push r18
199e: 3f 93 push r19
19a0: 4f 93 push r20
19a2: 5f 93 push r21
19a4: 6f 93 push r22
19a6: 7f 93 push r23
19a8: 8f 93 push r24
19aa: 9f 93 push r25
19ac: af 93 push r26
19ae: bf 93 push r27
19b0: cf 93 push r28
19b2: df 93 push r29
19b4: ef 93 push r30
19b6: ff 93 push r31
19b8: 80 91 06 03 lds r24, 0x0306
19bc: 81 50 subi r24, 0x01 ; 1
19be: 80 93 06 03 sts 0x0306, r24
19c2: 8f 3f cpi r24, 0xFF ; 255
19c4: 09 f0 breq .+2 ; 0x19c8 <__vector_9+0x3e>
19c6: 69 c0 rjmp .+210 ; 0x1a9a <__vector_9+0x110>
19c8: 83 e8 ldi r24, 0x83 ; 131
19ca: 80 93 b0 00 sts 0x00B0, r24
19ce: 80 91 9c 03 lds r24, 0x039C
19d2: c8 2f mov r28, r24
19d4: dd 27 eor r29, r29
19d6: d0 93 c3 03 sts 0x03C3, r29
19da: c0 93 c2 03 sts 0x03C2, r28
19de: 80 91 64 07 lds r24, 0x0764
19e2: e0 90 51 07 lds r14, 0x0751
19e6: 20 91 f9 03 lds r18, 0x03F9
19ea: 30 91 fa 03 lds r19, 0x03FA
19ee: 40 91 fb 03 lds r20, 0x03FB
19f2: 50 91 fc 03 lds r21, 0x03FC
19f6: 80 ff sbrs r24, 0
19f8: 18 c0 rjmp .+48 ; 0x1a2a <__vector_9+0xa0>
19fa: ff 24 eor r15, r15
19fc: 00 27 eor r16, r16
19fe: 11 27 eor r17, r17
1a00: ca 01 movw r24, r20
1a02: b9 01 movw r22, r18
1a04: 20 e8 ldi r18, 0x80 ; 128
1a06: 30 e0 ldi r19, 0x00 ; 0
1a08: 40 e0 ldi r20, 0x00 ; 0
1a0a: 50 e0 ldi r21, 0x00 ; 0
1a0c: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
1a10: c8 01 movw r24, r16
1a12: b7 01 movw r22, r14
1a14: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
1a18: 20 e0 ldi r18, 0x00 ; 0
1a1a: 32 e0 ldi r19, 0x02 ; 2
1a1c: 40 e0 ldi r20, 0x00 ; 0
1a1e: 50 e0 ldi r21, 0x00 ; 0
1a20: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
1a24: c2 0f add r28, r18
1a26: d3 1f adc r29, r19
1a28: 17 c0 rjmp .+46 ; 0x1a58 <__vector_9+0xce>
1a2a: ff 24 eor r15, r15
1a2c: 00 27 eor r16, r16
1a2e: 11 27 eor r17, r17
1a30: ca 01 movw r24, r20
1a32: b9 01 movw r22, r18
1a34: 20 e8 ldi r18, 0x80 ; 128
1a36: 30 e0 ldi r19, 0x00 ; 0
1a38: 40 e0 ldi r20, 0x00 ; 0
1a3a: 50 e0 ldi r21, 0x00 ; 0
1a3c: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
1a40: c8 01 movw r24, r16
1a42: b7 01 movw r22, r14
1a44: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
1a48: 20 e0 ldi r18, 0x00 ; 0
1a4a: 32 e0 ldi r19, 0x02 ; 2
1a4c: 40 e0 ldi r20, 0x00 ; 0
1a4e: 50 e0 ldi r21, 0x00 ; 0
1a50: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
1a54: c2 1b sub r28, r18
1a56: d3 0b sbc r29, r19
1a58: d0 93 c3 03 sts 0x03C3, r29
1a5c: c0 93 c2 03 sts 0x03C2, r28
1a60: 20 91 c2 03 lds r18, 0x03C2
1a64: 30 91 c3 03 lds r19, 0x03C3
1a68: 80 91 52 07 lds r24, 0x0752
1a6c: 99 27 eor r25, r25
1a6e: 28 17 cp r18, r24
1a70: 39 07 cpc r19, r25
1a72: 34 f0 brlt .+12 ; 0x1a80 <__vector_9+0xf6>
1a74: 80 91 53 07 lds r24, 0x0753
1a78: 99 27 eor r25, r25
1a7a: 82 17 cp r24, r18
1a7c: 93 07 cpc r25, r19
1a7e: 24 f4 brge .+8 ; 0x1a88 <__vector_9+0xfe>
1a80: 90 93 c3 03 sts 0x03C3, r25
1a84: 80 93 c2 03 sts 0x03C2, r24
1a88: 80 91 c2 03 lds r24, 0x03C2
1a8c: 80 93 b3 00 sts 0x00B3, r24
1a90: 80 91 54 07 lds r24, 0x0754
1a94: 80 93 06 03 sts 0x0306, r24
1a98: 04 c0 rjmp .+8 ; 0x1aa2 <__vector_9+0x118>
1a9a: 83 e0 ldi r24, 0x03 ; 3
1a9c: 80 93 b0 00 sts 0x00B0, r24
1aa0: 5f 98 cbi 0x0b, 7 ; 11
1aa2: ff 91 pop r31
1aa4: ef 91 pop r30
1aa6: df 91 pop r29
1aa8: cf 91 pop r28
1aaa: bf 91 pop r27
1aac: af 91 pop r26
1aae: 9f 91 pop r25
1ab0: 8f 91 pop r24
1ab2: 7f 91 pop r23
1ab4: 6f 91 pop r22
1ab6: 5f 91 pop r21
1ab8: 4f 91 pop r20
1aba: 3f 91 pop r19
1abc: 2f 91 pop r18
1abe: 1f 91 pop r17
1ac0: 0f 91 pop r16
1ac2: ff 90 pop r15
1ac4: ef 90 pop r14
1ac6: 0f 90 pop r0
1ac8: 0f be out 0x3f, r0 ; 63
1aca: 0f 90 pop r0
1acc: 1f 90 pop r1
1ace: 18 95 reti
 
00001ad0 <__vector_18>:
1ad0: 1f 92 push r1
1ad2: 0f 92 push r0
1ad4: 0f b6 in r0, 0x3f ; 63
1ad6: 0f 92 push r0
1ad8: 11 24 eor r1, r1
1ada: 2f 93 push r18
1adc: 3f 93 push r19
1ade: 4f 93 push r20
1ae0: 5f 93 push r21
1ae2: 6f 93 push r22
1ae4: 7f 93 push r23
1ae6: 8f 93 push r24
1ae8: 9f 93 push r25
1aea: af 93 push r26
1aec: bf 93 push r27
1aee: ef 93 push r30
1af0: ff 93 push r31
1af2: 80 91 c4 03 lds r24, 0x03C4
1af6: 81 50 subi r24, 0x01 ; 1
1af8: 80 93 c4 03 sts 0x03C4, r24
1afc: 8f 3f cpi r24, 0xFF ; 255
1afe: b9 f4 brne .+46 ; 0x1b2e <__vector_18+0x5e>
1b00: 8a e0 ldi r24, 0x0A ; 10
1b02: 80 93 c4 03 sts 0x03C4, r24
1b06: 80 91 07 03 lds r24, 0x0307
1b0a: 8f 5f subi r24, 0xFF ; 255
1b0c: 81 70 andi r24, 0x01 ; 1
1b0e: 80 93 07 03 sts 0x0307, r24
1b12: 88 23 and r24, r24
1b14: 19 f4 brne .+6 ; 0x1b1c <__vector_18+0x4c>
1b16: 81 e0 ldi r24, 0x01 ; 1
1b18: 80 93 bf 03 sts 0x03BF, r24
1b1c: 80 91 bd 03 lds r24, 0x03BD
1b20: 90 91 be 03 lds r25, 0x03BE
1b24: 01 96 adiw r24, 0x01 ; 1
1b26: 90 93 be 03 sts 0x03BE, r25
1b2a: 80 93 bd 03 sts 0x03BD, r24
1b2e: 80 91 c0 03 lds r24, 0x03C0
1b32: 90 91 c1 03 lds r25, 0x03C1
1b36: 02 97 sbiw r24, 0x02 ; 2
1b38: b0 f0 brcs .+44 ; 0x1b66 <__vector_18+0x96>
1b3a: 80 91 c0 03 lds r24, 0x03C0
1b3e: 90 91 c1 03 lds r25, 0x03C1
1b42: 01 97 sbiw r24, 0x01 ; 1
1b44: 90 93 c1 03 sts 0x03C1, r25
1b48: 80 93 c0 03 sts 0x03C0, r24
1b4c: 80 91 c0 03 lds r24, 0x03C0
1b50: 90 91 c1 03 lds r25, 0x03C1
1b54: 20 91 04 03 lds r18, 0x0304
1b58: 30 91 05 03 lds r19, 0x0305
1b5c: 82 23 and r24, r18
1b5e: 93 23 and r25, r19
1b60: 89 2b or r24, r25
1b62: d1 f4 brne .+52 ; 0x1b98 <__vector_18+0xc8>
1b64: 06 c0 rjmp .+12 ; 0x1b72 <__vector_18+0xa2>
1b66: 8f ef ldi r24, 0xFF ; 255
1b68: 9f ef ldi r25, 0xFF ; 255
1b6a: 90 93 05 03 sts 0x0305, r25
1b6e: 80 93 04 03 sts 0x0304, r24
1b72: 80 91 00 01 lds r24, 0x0100
1b76: 8a 30 cpi r24, 0x0A ; 10
1b78: 39 f4 brne .+14 ; 0x1b88 <__vector_18+0xb8>
1b7a: 04 c0 rjmp .+8 ; 0x1b84 <__vector_18+0xb4>
1b7c: 5a 9a sbi 0x0b, 2 ; 11
1b7e: 05 c0 rjmp .+10 ; 0x1b8a <__vector_18+0xba>
1b80: 47 9a sbi 0x08, 7 ; 8
1b82: 03 c0 rjmp .+6 ; 0x1b8a <__vector_18+0xba>
1b84: 5a 98 cbi 0x0b, 2 ; 11
1b86: 01 c0 rjmp .+2 ; 0x1b8a <__vector_18+0xba>
1b88: 47 98 cbi 0x08, 7 ; 8
1b8a: 80 91 37 07 lds r24, 0x0737
1b8e: 83 ff sbrs r24, 3
1b90: 08 c0 rjmp .+16 ; 0x1ba2 <__vector_18+0xd2>
1b92: 0e 94 fb 38 call 0x71f6 ; 0x71f6 <timer0_MM3>
1b96: 05 c0 rjmp .+10 ; 0x1ba2 <__vector_18+0xd2>
1b98: 80 91 00 01 lds r24, 0x0100
1b9c: 8a 30 cpi r24, 0x0A ; 10
1b9e: 81 f7 brne .-32 ; 0x1b80 <__vector_18+0xb0>
1ba0: ed cf rjmp .-38 ; 0x1b7c <__vector_18+0xac>
1ba2: ff 91 pop r31
1ba4: ef 91 pop r30
1ba6: bf 91 pop r27
1ba8: af 91 pop r26
1baa: 9f 91 pop r25
1bac: 8f 91 pop r24
1bae: 7f 91 pop r23
1bb0: 6f 91 pop r22
1bb2: 5f 91 pop r21
1bb4: 4f 91 pop r20
1bb6: 3f 91 pop r19
1bb8: 2f 91 pop r18
1bba: 0f 90 pop r0
1bbc: 0f be out 0x3f, r0 ; 63
1bbe: 0f 90 pop r0
1bc0: 1f 90 pop r1
1bc2: 18 95 reti
 
00001bc4 <Delay_ms_Mess>:
1bc4: 20 91 bd 03 lds r18, 0x03BD
1bc8: 30 91 be 03 lds r19, 0x03BE
1bcc: 2f 5f subi r18, 0xFF ; 255
1bce: 3f 4f sbci r19, 0xFF ; 255
1bd0: 28 0f add r18, r24
1bd2: 39 1f adc r19, r25
1bd4: 4f ee ldi r20, 0xEF ; 239
1bd6: 02 c0 rjmp .+4 ; 0x1bdc <Delay_ms_Mess+0x18>
1bd8: 40 93 7a 00 sts 0x007A, r20
1bdc: 80 91 bd 03 lds r24, 0x03BD
1be0: 90 91 be 03 lds r25, 0x03BE
1be4: b9 01 movw r22, r18
1be6: 68 1b sub r22, r24
1be8: 79 0b sbc r23, r25
1bea: 77 ff sbrs r23, 7
1bec: f5 cf rjmp .-22 ; 0x1bd8 <Delay_ms_Mess+0x14>
1bee: 08 95 ret
 
00001bf0 <Delay_ms>:
1bf0: 20 91 bd 03 lds r18, 0x03BD
1bf4: 30 91 be 03 lds r19, 0x03BE
1bf8: 2f 5f subi r18, 0xFF ; 255
1bfa: 3f 4f sbci r19, 0xFF ; 255
1bfc: 28 0f add r18, r24
1bfe: 39 1f adc r19, r25
1c00: 80 91 bd 03 lds r24, 0x03BD
1c04: 90 91 be 03 lds r25, 0x03BE
1c08: a9 01 movw r20, r18
1c0a: 48 1b sub r20, r24
1c0c: 59 0b sbc r21, r25
1c0e: 57 ff sbrs r21, 7
1c10: f7 cf rjmp .-18 ; 0x1c00 <Delay_ms+0x10>
1c12: 08 95 ret
 
00001c14 <ADC_Init>:
1c14: 10 92 7c 00 sts 0x007C, r1
1c18: 8f ee ldi r24, 0xEF ; 239
1c1a: 80 93 7a 00 sts 0x007A, r24
1c1e: 08 95 ret
 
00001c20 <__vector_24>:
1c20: 1f 92 push r1
1c22: 0f 92 push r0
1c24: 0f b6 in r0, 0x3f ; 63
1c26: 0f 92 push r0
1c28: 11 24 eor r1, r1
1c2a: df 92 push r13
1c2c: ef 92 push r14
1c2e: ff 92 push r15
1c30: 0f 93 push r16
1c32: 1f 93 push r17
1c34: 2f 93 push r18
1c36: 3f 93 push r19
1c38: 4f 93 push r20
1c3a: 5f 93 push r21
1c3c: 6f 93 push r22
1c3e: 7f 93 push r23
1c40: 8f 93 push r24
1c42: 9f 93 push r25
1c44: af 93 push r26
1c46: bf 93 push r27
1c48: cf 93 push r28
1c4a: df 93 push r29
1c4c: ef 93 push r30
1c4e: ff 93 push r31
1c50: 10 92 7a 00 sts 0x007A, r1
1c54: 80 91 e1 03 lds r24, 0x03E1
1c58: d8 2e mov r13, r24
1c5a: d3 94 inc r13
1c5c: d0 92 e1 03 sts 0x03E1, r13
1c60: e8 2f mov r30, r24
1c62: ff 27 eor r31, r31
1c64: eb 30 cpi r30, 0x0B ; 11
1c66: f1 05 cpc r31, r1
1c68: 08 f0 brcs .+2 ; 0x1c6c <__vector_24+0x4c>
1c6a: 38 c2 rjmp .+1136 ; 0x20dc <__vector_24+0x4bc>
1c6c: e2 5b subi r30, 0xB2 ; 178
1c6e: ff 4f sbci r31, 0xFF ; 255
1c70: 0c 94 27 3d jmp 0x7a4e ; 0x7a4e <__tablejump2__>
1c74: 80 91 78 00 lds r24, 0x0078
1c78: 90 91 79 00 lds r25, 0x0079
1c7c: 90 93 e0 03 sts 0x03E0, r25
1c80: 80 93 df 03 sts 0x03DF, r24
1c84: 81 e0 ldi r24, 0x01 ; 1
1c86: 80 93 e2 03 sts 0x03E2, r24
1c8a: 80 91 d9 03 lds r24, 0x03D9
1c8e: 90 91 da 03 lds r25, 0x03DA
1c92: 01 96 adiw r24, 0x01 ; 1
1c94: 90 93 da 03 sts 0x03DA, r25
1c98: 80 93 d9 03 sts 0x03D9, r24
1c9c: 15 c2 rjmp .+1066 ; 0x20c8 <__vector_24+0x4a8>
1c9e: 80 91 78 00 lds r24, 0x0078
1ca2: 90 91 79 00 lds r25, 0x0079
1ca6: 90 93 de 03 sts 0x03DE, r25
1caa: 80 93 dd 03 sts 0x03DD, r24
1cae: 90 c0 rjmp .+288 ; 0x1dd0 <__vector_24+0x1b0>
1cb0: 80 91 78 00 lds r24, 0x0078
1cb4: 90 91 79 00 lds r25, 0x0079
1cb8: 90 93 dc 03 sts 0x03DC, r25
1cbc: 80 93 db 03 sts 0x03DB, r24
1cc0: 84 e0 ldi r24, 0x04 ; 4
1cc2: 86 c1 rjmp .+780 ; 0x1fd0 <__vector_24+0x3b0>
1cc4: 40 91 08 03 lds r20, 0x0308
1cc8: 50 91 09 03 lds r21, 0x0309
1ccc: 80 91 78 00 lds r24, 0x0078
1cd0: 90 91 79 00 lds r25, 0x0079
1cd4: 9a 01 movw r18, r20
1cd6: 22 0f add r18, r18
1cd8: 33 1f adc r19, r19
1cda: 24 0f add r18, r20
1cdc: 35 1f adc r19, r21
1cde: 63 e0 ldi r22, 0x03 ; 3
1ce0: 70 e0 ldi r23, 0x00 ; 0
1ce2: 0e 94 8c 3c call 0x7918 ; 0x7918 <__udivmodhi4>
1ce6: 26 0f add r18, r22
1ce8: 37 1f adc r19, r23
1cea: 36 95 lsr r19
1cec: 27 95 ror r18
1cee: 36 95 lsr r19
1cf0: 27 95 ror r18
1cf2: 30 93 09 03 sts 0x0309, r19
1cf6: 20 93 08 03 sts 0x0308, r18
1cfa: 86 e0 ldi r24, 0x06 ; 6
1cfc: 69 c1 rjmp .+722 ; 0x1fd0 <__vector_24+0x3b0>
1cfe: 80 91 9a 07 lds r24, 0x079A
1d02: 90 91 9b 07 lds r25, 0x079B
1d06: 20 91 78 00 lds r18, 0x0078
1d0a: 30 91 79 00 lds r19, 0x0079
1d0e: 82 1b sub r24, r18
1d10: 93 0b sbc r25, r19
1d12: 90 93 ea 06 sts 0x06EA, r25
1d16: 80 93 e9 06 sts 0x06E9, r24
1d1a: 80 91 e9 06 lds r24, 0x06E9
1d1e: 90 91 ea 06 lds r25, 0x06EA
1d22: 90 93 cc 03 sts 0x03CC, r25
1d26: 80 93 cb 03 sts 0x03CB, r24
1d2a: 87 e0 ldi r24, 0x07 ; 7
1d2c: 51 c1 rjmp .+674 ; 0x1fd0 <__vector_24+0x3b0>
1d2e: 80 91 78 00 lds r24, 0x0078
1d32: 90 91 79 00 lds r25, 0x0079
1d36: 20 91 98 07 lds r18, 0x0798
1d3a: 30 91 99 07 lds r19, 0x0799
1d3e: 82 1b sub r24, r18
1d40: 93 0b sbc r25, r19
1d42: 90 93 f5 06 sts 0x06F5, r25
1d46: 80 93 f4 06 sts 0x06F4, r24
1d4a: 80 91 f4 06 lds r24, 0x06F4
1d4e: 90 91 f5 06 lds r25, 0x06F5
1d52: 90 93 ce 03 sts 0x03CE, r25
1d56: 80 93 cd 03 sts 0x03CD, r24
1d5a: 10 92 e2 03 sts 0x03E2, r1
1d5e: b4 c1 rjmp .+872 ; 0x20c8 <__vector_24+0x4a8>
1d60: 80 91 00 01 lds r24, 0x0100
1d64: 20 91 df 03 lds r18, 0x03DF
1d68: 30 91 e0 03 lds r19, 0x03E0
1d6c: 8a 30 cpi r24, 0x0A ; 10
1d6e: 49 f4 brne .+18 ; 0x1d82 <__vector_24+0x162>
1d70: 80 91 78 00 lds r24, 0x0078
1d74: 90 91 79 00 lds r25, 0x0079
1d78: 82 0f add r24, r18
1d7a: 93 1f adc r25, r19
1d7c: 96 95 lsr r25
1d7e: 87 95 ror r24
1d80: 06 c0 rjmp .+12 ; 0x1d8e <__vector_24+0x16e>
1d82: 80 91 78 00 lds r24, 0x0078
1d86: 90 91 79 00 lds r25, 0x0079
1d8a: 82 0f add r24, r18
1d8c: 93 1f adc r25, r19
1d8e: 90 93 ca 03 sts 0x03CA, r25
1d92: 80 93 c9 03 sts 0x03C9, r24
1d96: 81 e0 ldi r24, 0x01 ; 1
1d98: 1b c1 rjmp .+566 ; 0x1fd0 <__vector_24+0x3b0>
1d9a: 80 91 00 01 lds r24, 0x0100
1d9e: 20 91 dd 03 lds r18, 0x03DD
1da2: 30 91 de 03 lds r19, 0x03DE
1da6: 8a 30 cpi r24, 0x0A ; 10
1da8: 49 f4 brne .+18 ; 0x1dbc <__vector_24+0x19c>
1daa: 80 91 78 00 lds r24, 0x0078
1dae: 90 91 79 00 lds r25, 0x0079
1db2: 82 0f add r24, r18
1db4: 93 1f adc r25, r19
1db6: 96 95 lsr r25
1db8: 87 95 ror r24
1dba: 06 c0 rjmp .+12 ; 0x1dc8 <__vector_24+0x1a8>
1dbc: 80 91 78 00 lds r24, 0x0078
1dc0: 90 91 79 00 lds r25, 0x0079
1dc4: 82 0f add r24, r18
1dc6: 93 1f adc r25, r19
1dc8: 90 93 c8 03 sts 0x03C8, r25
1dcc: 80 93 c7 03 sts 0x03C7, r24
1dd0: 82 e0 ldi r24, 0x02 ; 2
1dd2: fe c0 rjmp .+508 ; 0x1fd0 <__vector_24+0x3b0>
1dd4: 80 91 00 01 lds r24, 0x0100
1dd8: 20 91 db 03 lds r18, 0x03DB
1ddc: 30 91 dc 03 lds r19, 0x03DC
1de0: 8a 30 cpi r24, 0x0A ; 10
1de2: 49 f4 brne .+18 ; 0x1df6 <__vector_24+0x1d6>
1de4: 80 91 78 00 lds r24, 0x0078
1de8: 90 91 79 00 lds r25, 0x0079
1dec: 82 0f add r24, r18
1dee: 93 1f adc r25, r19
1df0: 96 95 lsr r25
1df2: 87 95 ror r24
1df4: 06 c0 rjmp .+12 ; 0x1e02 <__vector_24+0x1e2>
1df6: 80 91 78 00 lds r24, 0x0078
1dfa: 90 91 79 00 lds r25, 0x0079
1dfe: 82 0f add r24, r18
1e00: 93 1f adc r25, r19
1e02: 90 93 c6 03 sts 0x03C6, r25
1e06: 80 93 c5 03 sts 0x03C5, r24
1e0a: 85 e0 ldi r24, 0x05 ; 5
1e0c: e1 c0 rjmp .+450 ; 0x1fd0 <__vector_24+0x3b0>
1e0e: 60 91 78 00 lds r22, 0x0078
1e12: 70 91 79 00 lds r23, 0x0079
1e16: e0 90 9c 07 lds r14, 0x079C
1e1a: f0 90 9d 07 lds r15, 0x079D
1e1e: 00 91 9e 07 lds r16, 0x079E
1e22: 10 91 9f 07 lds r17, 0x079F
1e26: 88 27 eor r24, r24
1e28: 77 fd sbrc r23, 7
1e2a: 80 95 com r24
1e2c: 98 2f mov r25, r24
1e2e: 0e 94 9f 3b call 0x773e ; 0x773e <__floatsisf>
1e32: a8 01 movw r20, r16
1e34: 97 01 movw r18, r14
1e36: 0e 94 f9 3a call 0x75f2 ; 0x75f2 <__subsf3>
1e3a: 0e 94 82 3b call 0x7704 ; 0x7704 <__fixsfsi>
1e3e: 70 93 d0 03 sts 0x03D0, r23
1e42: 60 93 cf 03 sts 0x03CF, r22
1e46: 20 91 cf 03 lds r18, 0x03CF
1e4a: 30 91 d0 03 lds r19, 0x03D0
1e4e: e0 91 e9 06 lds r30, 0x06E9
1e52: f0 91 ea 06 lds r31, 0x06EA
1e56: 80 91 f4 06 lds r24, 0x06F4
1e5a: 90 91 f5 06 lds r25, 0x06F5
1e5e: 97 ff sbrs r25, 7
1e60: 03 c0 rjmp .+6 ; 0x1e68 <__vector_24+0x248>
1e62: 90 95 com r25
1e64: 81 95 neg r24
1e66: 9f 4f sbci r25, 0xFF ; 255
1e68: 64 e0 ldi r22, 0x04 ; 4
1e6a: 70 e0 ldi r23, 0x00 ; 0
1e6c: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
1e70: eb 01 movw r28, r22
1e72: cf 01 movw r24, r30
1e74: f7 ff sbrs r31, 7
1e76: 03 c0 rjmp .+6 ; 0x1e7e <__vector_24+0x25e>
1e78: 90 95 com r25
1e7a: 81 95 neg r24
1e7c: 9f 4f sbci r25, 0xFF ; 255
1e7e: 64 e0 ldi r22, 0x04 ; 4
1e80: 70 e0 ldi r23, 0x00 ; 0
1e82: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
1e86: 26 0f add r18, r22
1e88: 37 1f adc r19, r23
1e8a: 2c 0f add r18, r28
1e8c: 3d 1f adc r19, r29
1e8e: 30 93 d0 03 sts 0x03D0, r19
1e92: 20 93 cf 03 sts 0x03CF, r18
1e96: 80 91 cf 03 lds r24, 0x03CF
1e9a: 90 91 d0 03 lds r25, 0x03D0
1e9e: 02 97 sbiw r24, 0x02 ; 2
1ea0: 04 f1 brlt .+64 ; 0x1ee2 <__vector_24+0x2c2>
1ea2: 60 91 9c 07 lds r22, 0x079C
1ea6: 70 91 9d 07 lds r23, 0x079D
1eaa: 80 91 9e 07 lds r24, 0x079E
1eae: 90 91 9f 07 lds r25, 0x079F
1eb2: 20 e0 ldi r18, 0x00 ; 0
1eb4: 30 e0 ldi r19, 0x00 ; 0
1eb6: 48 e4 ldi r20, 0x48 ; 72
1eb8: 54 e4 ldi r21, 0x44 ; 68
1eba: 0e 94 a9 3b call 0x7752 ; 0x7752 <__eqsf2>
1ebe: 88 23 and r24, r24
1ec0: 0c f0 brlt .+2 ; 0x1ec4 <__vector_24+0x2a4>
1ec2: 3c c0 rjmp .+120 ; 0x1f3c <__vector_24+0x31c>
1ec4: 60 91 9c 07 lds r22, 0x079C
1ec8: 70 91 9d 07 lds r23, 0x079D
1ecc: 80 91 9e 07 lds r24, 0x079E
1ed0: 90 91 9f 07 lds r25, 0x079F
1ed4: 2a e0 ldi r18, 0x0A ; 10
1ed6: 37 ed ldi r19, 0xD7 ; 215
1ed8: 43 ea ldi r20, 0xA3 ; 163
1eda: 5c e3 ldi r21, 0x3C ; 60
1edc: 0e 94 fa 3a call 0x75f4 ; 0x75f4 <__addsf3>
1ee0: 25 c0 rjmp .+74 ; 0x1f2c <__vector_24+0x30c>
1ee2: 80 91 cf 03 lds r24, 0x03CF
1ee6: 90 91 d0 03 lds r25, 0x03D0
1eea: 8f 5f subi r24, 0xFF ; 255
1eec: 9f 4f sbci r25, 0xFF ; 255
1eee: 34 f5 brge .+76 ; 0x1f3c <__vector_24+0x31c>
1ef0: 60 91 9c 07 lds r22, 0x079C
1ef4: 70 91 9d 07 lds r23, 0x079D
1ef8: 80 91 9e 07 lds r24, 0x079E
1efc: 90 91 9f 07 lds r25, 0x079F
1f00: 20 e0 ldi r18, 0x00 ; 0
1f02: 30 e0 ldi r19, 0x00 ; 0
1f04: 46 e1 ldi r20, 0x16 ; 22
1f06: 54 e4 ldi r21, 0x44 ; 68
1f08: 0e 94 ac 3b call 0x7758 ; 0x7758 <__gesf2>
1f0c: 18 16 cp r1, r24
1f0e: b4 f4 brge .+44 ; 0x1f3c <__vector_24+0x31c>
1f10: 60 91 9c 07 lds r22, 0x079C
1f14: 70 91 9d 07 lds r23, 0x079D
1f18: 80 91 9e 07 lds r24, 0x079E
1f1c: 90 91 9f 07 lds r25, 0x079F
1f20: 2a e0 ldi r18, 0x0A ; 10
1f22: 37 ed ldi r19, 0xD7 ; 215
1f24: 43 ea ldi r20, 0xA3 ; 163
1f26: 5c e3 ldi r21, 0x3C ; 60
1f28: 0e 94 f9 3a call 0x75f2 ; 0x75f2 <__subsf3>
1f2c: 60 93 9c 07 sts 0x079C, r22
1f30: 70 93 9d 07 sts 0x079D, r23
1f34: 80 93 9e 07 sts 0x079E, r24
1f38: 90 93 9f 07 sts 0x079F, r25
1f3c: 81 e0 ldi r24, 0x01 ; 1
1f3e: 80 93 d6 03 sts 0x03D6, r24
1f42: 80 91 78 00 lds r24, 0x0078
1f46: 90 91 79 00 lds r25, 0x0079
1f4a: 90 93 ec 06 sts 0x06EC, r25
1f4e: 80 93 eb 06 sts 0x06EB, r24
1f52: 20 91 31 04 lds r18, 0x0431
1f56: 30 91 32 04 lds r19, 0x0432
1f5a: 40 91 33 04 lds r20, 0x0433
1f5e: 50 91 34 04 lds r21, 0x0434
1f62: 80 91 cf 03 lds r24, 0x03CF
1f66: 90 91 d0 03 lds r25, 0x03D0
1f6a: aa 27 eor r26, r26
1f6c: 97 fd sbrc r25, 7
1f6e: a0 95 com r26
1f70: ba 2f mov r27, r26
1f72: 28 0f add r18, r24
1f74: 39 1f adc r19, r25
1f76: 4a 1f adc r20, r26
1f78: 5b 1f adc r21, r27
1f7a: 20 93 31 04 sts 0x0431, r18
1f7e: 30 93 32 04 sts 0x0432, r19
1f82: 40 93 33 04 sts 0x0433, r20
1f86: 50 93 34 04 sts 0x0434, r21
1f8a: e0 90 31 04 lds r14, 0x0431
1f8e: f0 90 32 04 lds r15, 0x0432
1f92: 00 91 33 04 lds r16, 0x0433
1f96: 10 91 34 04 lds r17, 0x0434
1f9a: 60 91 31 04 lds r22, 0x0431
1f9e: 70 91 32 04 lds r23, 0x0432
1fa2: 80 91 33 04 lds r24, 0x0433
1fa6: 90 91 34 04 lds r25, 0x0434
1faa: 20 e0 ldi r18, 0x00 ; 0
1fac: 34 e0 ldi r19, 0x04 ; 4
1fae: 40 e0 ldi r20, 0x00 ; 0
1fb0: 50 e0 ldi r21, 0x00 ; 0
1fb2: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
1fb6: e2 1a sub r14, r18
1fb8: f3 0a sbc r15, r19
1fba: 04 0b sbc r16, r20
1fbc: 15 0b sbc r17, r21
1fbe: e0 92 31 04 sts 0x0431, r14
1fc2: f0 92 32 04 sts 0x0432, r15
1fc6: 00 93 33 04 sts 0x0433, r16
1fca: 10 93 34 04 sts 0x0434, r17
1fce: 83 e0 ldi r24, 0x03 ; 3
1fd0: 80 93 e2 03 sts 0x03E2, r24
1fd4: 79 c0 rjmp .+242 ; 0x20c8 <__vector_24+0x4a8>
1fd6: 80 91 f9 06 lds r24, 0x06F9
1fda: 90 91 fa 06 lds r25, 0x06FA
1fde: 20 91 78 00 lds r18, 0x0078
1fe2: 30 91 79 00 lds r19, 0x0079
1fe6: 82 0f add r24, r18
1fe8: 93 1f adc r25, r19
1fea: 90 93 fa 06 sts 0x06FA, r25
1fee: 80 93 f9 06 sts 0x06F9, r24
1ff2: 80 91 f1 06 lds r24, 0x06F1
1ff6: 8f 5f subi r24, 0xFF ; 255
1ff8: 80 93 f1 06 sts 0x06F1, r24
1ffc: 80 91 f1 06 lds r24, 0x06F1
2000: 85 30 cpi r24, 0x05 ; 5
2002: 08 f4 brcc .+2 ; 0x2006 <__vector_24+0x3e6>
2004: 6b c0 rjmp .+214 ; 0x20dc <__vector_24+0x4bc>
2006: 80 91 78 00 lds r24, 0x0078
200a: 90 91 79 00 lds r25, 0x0079
200e: 90 93 0f 03 sts 0x030F, r25
2012: 80 93 0e 03 sts 0x030E, r24
2016: 10 92 f1 06 sts 0x06F1, r1
201a: 80 91 ed 06 lds r24, 0x06ED
201e: 90 91 ee 06 lds r25, 0x06EE
2022: 20 91 f9 06 lds r18, 0x06F9
2026: 30 91 fa 06 lds r19, 0x06FA
202a: 82 1b sub r24, r18
202c: 93 0b sbc r25, r19
202e: 20 91 4f 04 lds r18, 0x044F
2032: 30 91 50 04 lds r19, 0x0450
2036: 82 1b sub r24, r18
2038: 93 0b sbc r25, r19
203a: 90 93 d8 03 sts 0x03D8, r25
203e: 80 93 d7 03 sts 0x03D7, r24
2042: 60 91 f9 06 lds r22, 0x06F9
2046: 70 91 fa 06 lds r23, 0x06FA
204a: e0 90 0a 03 lds r14, 0x030A
204e: f0 90 0b 03 lds r15, 0x030B
2052: 00 91 0c 03 lds r16, 0x030C
2056: 10 91 0d 03 lds r17, 0x030D
205a: 88 27 eor r24, r24
205c: 77 fd sbrc r23, 7
205e: 80 95 com r24
2060: 98 2f mov r25, r24
2062: a8 01 movw r20, r16
2064: 97 01 movw r18, r14
2066: 22 0f add r18, r18
2068: 33 1f adc r19, r19
206a: 44 1f adc r20, r20
206c: 55 1f adc r21, r21
206e: 2e 0d add r18, r14
2070: 3f 1d adc r19, r15
2072: 40 1f adc r20, r16
2074: 51 1f adc r21, r17
2076: 62 0f add r22, r18
2078: 73 1f adc r23, r19
207a: 84 1f adc r24, r20
207c: 95 1f adc r25, r21
207e: 24 e0 ldi r18, 0x04 ; 4
2080: 30 e0 ldi r19, 0x00 ; 0
2082: 40 e0 ldi r20, 0x00 ; 0
2084: 50 e0 ldi r21, 0x00 ; 0
2086: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
208a: 20 93 0a 03 sts 0x030A, r18
208e: 30 93 0b 03 sts 0x030B, r19
2092: 40 93 0c 03 sts 0x030C, r20
2096: 50 93 0d 03 sts 0x030D, r21
209a: 20 91 ed 06 lds r18, 0x06ED
209e: 30 91 ee 06 lds r19, 0x06EE
20a2: 80 91 0a 03 lds r24, 0x030A
20a6: 90 91 0b 03 lds r25, 0x030B
20aa: a0 91 0c 03 lds r26, 0x030C
20ae: b0 91 0d 03 lds r27, 0x030D
20b2: 28 1b sub r18, r24
20b4: 39 0b sbc r19, r25
20b6: 30 93 50 04 sts 0x0450, r19
20ba: 20 93 4f 04 sts 0x044F, r18
20be: 10 92 fa 06 sts 0x06FA, r1
20c2: 10 92 f9 06 sts 0x06F9, r1
20c6: 0a c0 rjmp .+20 ; 0x20dc <__vector_24+0x4bc>
20c8: 80 91 e2 03 lds r24, 0x03E2
20cc: 80 93 7c 00 sts 0x007C, r24
20d0: dd 20 and r13, r13
20d2: 51 f0 breq .+20 ; 0x20e8 <__vector_24+0x4c8>
20d4: 8f ee ldi r24, 0xEF ; 239
20d6: 80 93 7a 00 sts 0x007A, r24
20da: 06 c0 rjmp .+12 ; 0x20e8 <__vector_24+0x4c8>
20dc: 10 92 e2 03 sts 0x03E2, r1
20e0: 10 92 e1 03 sts 0x03E1, r1
20e4: 10 92 7c 00 sts 0x007C, r1
20e8: ff 91 pop r31
20ea: ef 91 pop r30
20ec: df 91 pop r29
20ee: cf 91 pop r28
20f0: bf 91 pop r27
20f2: af 91 pop r26
20f4: 9f 91 pop r25
20f6: 8f 91 pop r24
20f8: 7f 91 pop r23
20fa: 6f 91 pop r22
20fc: 5f 91 pop r21
20fe: 4f 91 pop r20
2100: 3f 91 pop r19
2102: 2f 91 pop r18
2104: 1f 91 pop r17
2106: 0f 91 pop r16
2108: ff 90 pop r15
210a: ef 90 pop r14
210c: df 90 pop r13
210e: 0f 90 pop r0
2110: 0f be out 0x3f, r0 ; 63
2112: 0f 90 pop r0
2114: 1f 90 pop r1
2116: 18 95 reti
 
00002118 <SucheLuftruckOffset>:
2118: cf 93 push r28
211a: df 93 push r29
211c: a3 e0 ldi r26, 0x03 ; 3
211e: b0 e0 ldi r27, 0x00 ; 0
2120: 0e 94 2d 3d call 0x7a5a ; 0x7a5a <__eeprom_read_byte_1F2021>
2124: 80 2d mov r24, r0
2126: c8 2f mov r28, r24
2128: dd 27 eor r29, r29
212a: c5 31 cpi r28, 0x15 ; 21
212c: d1 05 cpc r29, r1
212e: 08 f0 brcs .+2 ; 0x2132 <SucheLuftruckOffset+0x1a>
2130: 2a 97 sbiw r28, 0x0a ; 10
2132: c7 bd out 0x27, r28 ; 39
2134: 84 e6 ldi r24, 0x64 ; 100
2136: 90 e0 ldi r25, 0x00 ; 0
2138: 0e 94 e2 0d call 0x1bc4 ; 0x1bc4 <Delay_ms_Mess>
213c: 80 91 0e 03 lds r24, 0x030E
2140: 90 91 0f 03 lds r25, 0x030F
2144: 82 55 subi r24, 0x52 ; 82
2146: 93 40 sbci r25, 0x03 ; 3
2148: d0 f4 brcc .+52 ; 0x217e <SucheLuftruckOffset+0x66>
214a: c0 e0 ldi r28, 0x00 ; 0
214c: d0 e0 ldi r29, 0x00 ; 0
214e: 17 c0 rjmp .+46 ; 0x217e <SucheLuftruckOffset+0x66>
2150: c7 bd out 0x27, r28 ; 39
2152: 82 e3 ldi r24, 0x32 ; 50
2154: 90 e0 ldi r25, 0x00 ; 0
2156: 0e 94 e2 0d call 0x1bc4 ; 0x1bc4 <Delay_ms_Mess>
215a: 83 ee ldi r24, 0xE3 ; 227
215c: 91 e0 ldi r25, 0x01 ; 1
215e: 9f 93 push r25
2160: 8f 93 push r24
2162: 1f 92 push r1
2164: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2168: 80 91 0e 03 lds r24, 0x030E
216c: 90 91 0f 03 lds r25, 0x030F
2170: 0f 90 pop r0
2172: 0f 90 pop r0
2174: 0f 90 pop r0
2176: 84 58 subi r24, 0x84 ; 132
2178: 93 40 sbci r25, 0x03 ; 3
217a: 20 f0 brcs .+8 ; 0x2184 <SucheLuftruckOffset+0x6c>
217c: 21 96 adiw r28, 0x01 ; 1
217e: ca 3f cpi r28, 0xFA ; 250
2180: d1 05 cpc r29, r1
2182: 30 f3 brcs .-52 ; 0x2150 <SucheLuftruckOffset+0x38>
2184: a3 e0 ldi r26, 0x03 ; 3
2186: b0 e0 ldi r27, 0x00 ; 0
2188: 0c 2e mov r0, r28
218a: 0e 94 3a 3d call 0x7a74 ; 0x7a74 <__eeprom_write_byte_1F2021>
218e: c0 93 f6 06 sts 0x06F6, r28
2192: 8c e2 ldi r24, 0x2C ; 44
2194: 91 e0 ldi r25, 0x01 ; 1
2196: 0e 94 e2 0d call 0x1bc4 ; 0x1bc4 <Delay_ms_Mess>
219a: df 91 pop r29
219c: cf 91 pop r28
219e: 08 95 ret
 
000021a0 <LcdClear>:
21a0: ea e1 ldi r30, 0x1A ; 26
21a2: f3 e0 ldi r31, 0x03 ; 3
21a4: 80 e2 ldi r24, 0x20 ; 32
21a6: 81 93 st Z+, r24
21a8: 93 e0 ldi r25, 0x03 ; 3
21aa: ea 36 cpi r30, 0x6A ; 106
21ac: f9 07 cpc r31, r25
21ae: d9 f7 brne .-10 ; 0x21a6 <LcdClear+0x6>
21b0: 08 95 ret
 
000021b2 <Menu>:
21b2: 1f 93 push r17
21b4: 80 91 e6 03 lds r24, 0x03E6
21b8: 28 2f mov r18, r24
21ba: 33 27 eor r19, r19
21bc: c9 01 movw r24, r18
21be: 81 70 andi r24, 0x01 ; 1
21c0: 90 70 andi r25, 0x00 ; 0
21c2: 68 2f mov r22, r24
21c4: 88 23 and r24, r24
21c6: a9 f0 breq .+42 ; 0x21f2 <Menu+0x40>
21c8: 80 91 e7 03 lds r24, 0x03E7
21cc: 88 23 and r24, r24
21ce: 11 f0 breq .+4 ; 0x21d4 <Menu+0x22>
21d0: 81 50 subi r24, 0x01 ; 1
21d2: 02 c0 rjmp .+4 ; 0x21d8 <Menu+0x26>
21d4: 80 91 6a 03 lds r24, 0x036A
21d8: 80 93 e7 03 sts 0x03E7, r24
21dc: ea e1 ldi r30, 0x1A ; 26
21de: f3 e0 ldi r31, 0x03 ; 3
21e0: 80 e2 ldi r24, 0x20 ; 32
21e2: 81 93 st Z+, r24
21e4: 93 e0 ldi r25, 0x03 ; 3
21e6: ea 36 cpi r30, 0x6A ; 106
21e8: f9 07 cpc r31, r25
21ea: d9 f7 brne .-10 ; 0x21e2 <Menu+0x30>
21ec: 8f ef ldi r24, 0xFF ; 255
21ee: 80 93 ab 03 sts 0x03AB, r24
21f2: a9 01 movw r20, r18
21f4: 42 70 andi r20, 0x02 ; 2
21f6: 50 70 andi r21, 0x00 ; 0
21f8: 21 ff sbrs r18, 1
21fa: 10 c0 rjmp .+32 ; 0x221c <Menu+0x6a>
21fc: 80 91 e7 03 lds r24, 0x03E7
2200: 8f 5f subi r24, 0xFF ; 255
2202: 80 93 e7 03 sts 0x03E7, r24
2206: ea e1 ldi r30, 0x1A ; 26
2208: f3 e0 ldi r31, 0x03 ; 3
220a: 80 e2 ldi r24, 0x20 ; 32
220c: 81 93 st Z+, r24
220e: 93 e0 ldi r25, 0x03 ; 3
2210: ea 36 cpi r30, 0x6A ; 106
2212: f9 07 cpc r31, r25
2214: d9 f7 brne .-10 ; 0x220c <Menu+0x5a>
2216: 8f ef ldi r24, 0xFF ; 255
2218: 80 93 ab 03 sts 0x03AB, r24
221c: 66 23 and r22, r22
221e: 31 f0 breq .+12 ; 0x222c <Menu+0x7a>
2220: 45 2b or r20, r21
2222: 21 f0 breq .+8 ; 0x222c <Menu+0x7a>
2224: 10 92 e7 03 sts 0x03E7, r1
2228: 90 e0 ldi r25, 0x00 ; 0
222a: 04 c0 rjmp .+8 ; 0x2234 <Menu+0x82>
222c: 90 91 e7 03 lds r25, 0x03E7
2230: 9a 30 cpi r25, 0x0A ; 10
2232: 50 f4 brcc .+20 ; 0x2248 <Menu+0x96>
2234: 81 e1 ldi r24, 0x11 ; 17
2236: 80 93 e5 03 sts 0x03E5, r24
223a: 89 2f mov r24, r25
223c: 99 27 eor r25, r25
223e: 9f 93 push r25
2240: 8f 93 push r24
2242: 8b e3 ldi r24, 0x3B ; 59
2244: 95 e0 ldi r25, 0x05 ; 5
2246: 09 c0 rjmp .+18 ; 0x225a <Menu+0xa8>
2248: 80 e1 ldi r24, 0x10 ; 16
224a: 80 93 e5 03 sts 0x03E5, r24
224e: 89 2f mov r24, r25
2250: 99 27 eor r25, r25
2252: 9f 93 push r25
2254: 8f 93 push r24
2256: 86 e3 ldi r24, 0x36 ; 54
2258: 95 e0 ldi r25, 0x05 ; 5
225a: 9f 93 push r25
225c: 8f 93 push r24
225e: 81 e0 ldi r24, 0x01 ; 1
2260: 8f 93 push r24
2262: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2266: 0f 90 pop r0
2268: 0f 90 pop r0
226a: 0f 90 pop r0
226c: 0f 90 pop r0
226e: 0f 90 pop r0
2270: 80 91 e7 03 lds r24, 0x03E7
2274: e8 2f mov r30, r24
2276: ff 27 eor r31, r31
2278: ee 30 cpi r30, 0x0E ; 14
227a: f1 05 cpc r31, r1
227c: 08 f0 brcs .+2 ; 0x2280 <Menu+0xce>
227e: 6d c4 rjmp .+2266 ; 0x2b5a <Menu+0x9a8>
2280: e7 5a subi r30, 0xA7 ; 167
2282: ff 4f sbci r31, 0xFF ; 255
2284: 0c 94 27 3d jmp 0x7a4e ; 0x7a4e <__tablejump2__>
2288: 10 92 e5 03 sts 0x03E5, r1
228c: 86 e2 ldi r24, 0x26 ; 38
228e: 95 e0 ldi r25, 0x05 ; 5
2290: 9f 93 push r25
2292: 8f 93 push r24
2294: 11 e0 ldi r17, 0x01 ; 1
2296: 1f 93 push r17
2298: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
229c: 84 e1 ldi r24, 0x14 ; 20
229e: 80 93 e5 03 sts 0x03E5, r24
22a2: 20 91 00 01 lds r18, 0x0100
22a6: 84 e6 ldi r24, 0x64 ; 100
22a8: 90 e0 ldi r25, 0x00 ; 0
22aa: 9f 93 push r25
22ac: 8f 93 push r24
22ae: 84 e4 ldi r24, 0x44 ; 68
22b0: 90 e0 ldi r25, 0x00 ; 0
22b2: 9f 93 push r25
22b4: 8f 93 push r24
22b6: 1f 92 push r1
22b8: 1f 92 push r1
22ba: 82 2f mov r24, r18
22bc: 6a e0 ldi r22, 0x0A ; 10
22be: 0e 94 80 3c call 0x7900 ; 0x7900 <__udivmodqi4>
22c2: 89 2f mov r24, r25
22c4: 99 27 eor r25, r25
22c6: 9f 93 push r25
22c8: 8f 93 push r24
22ca: 82 2f mov r24, r18
22cc: 0e 94 80 3c call 0x7900 ; 0x7900 <__udivmodqi4>
22d0: 99 27 eor r25, r25
22d2: 9f 93 push r25
22d4: 8f 93 push r24
22d6: 81 e1 ldi r24, 0x11 ; 17
22d8: 95 e0 ldi r25, 0x05 ; 5
22da: 9f 93 push r25
22dc: 8f 93 push r24
22de: 1f 93 push r17
22e0: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
22e4: 88 e2 ldi r24, 0x28 ; 40
22e6: 80 93 e5 03 sts 0x03E5, r24
22ea: 0e 94 c7 03 call 0x78e ; 0x78e <GetActiveParamSetNumber>
22ee: 99 27 eor r25, r25
22f0: 9f 93 push r25
22f2: 8f 93 push r24
22f4: 84 e0 ldi r24, 0x04 ; 4
22f6: 95 e0 ldi r25, 0x05 ; 5
22f8: 9f 93 push r25
22fa: 8f 93 push r24
22fc: 1f 93 push r17
22fe: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2302: 8c e3 ldi r24, 0x3C ; 60
2304: 80 93 e5 03 sts 0x03E5, r24
2308: 84 ef ldi r24, 0xF4 ; 244
230a: 94 e0 ldi r25, 0x04 ; 4
230c: 9f 93 push r25
230e: 8f 93 push r24
2310: 1f 93 push r17
2312: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2316: a6 c3 rjmp .+1868 ; 0x2a64 <Menu+0x8b2>
2318: 80 91 37 07 lds r24, 0x0737
231c: 80 ff sbrs r24, 0
231e: 44 c0 rjmp .+136 ; 0x23a8 <Menu+0x1f6>
2320: 10 92 e5 03 sts 0x03E5, r1
2324: 80 91 4f 04 lds r24, 0x044F
2328: 90 91 50 04 lds r25, 0x0450
232c: 9f 93 push r25
232e: 8f 93 push r24
2330: 85 ee ldi r24, 0xE5 ; 229
2332: 94 e0 ldi r25, 0x04 ; 4
2334: 9f 93 push r25
2336: 8f 93 push r24
2338: 11 e0 ldi r17, 0x01 ; 1
233a: 1f 93 push r17
233c: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2340: 84 e1 ldi r24, 0x14 ; 20
2342: 80 93 e5 03 sts 0x03E5, r24
2346: 80 91 51 04 lds r24, 0x0451
234a: 90 91 52 04 lds r25, 0x0452
234e: 9f 93 push r25
2350: 8f 93 push r24
2352: 86 ed ldi r24, 0xD6 ; 214
2354: 94 e0 ldi r25, 0x04 ; 4
2356: 9f 93 push r25
2358: 8f 93 push r24
235a: 1f 93 push r17
235c: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2360: 88 e2 ldi r24, 0x28 ; 40
2362: 80 93 e5 03 sts 0x03E5, r24
2366: 80 91 0e 03 lds r24, 0x030E
236a: 90 91 0f 03 lds r25, 0x030F
236e: 9f 93 push r25
2370: 8f 93 push r24
2372: 87 ec ldi r24, 0xC7 ; 199
2374: 94 e0 ldi r25, 0x04 ; 4
2376: 9f 93 push r25
2378: 8f 93 push r24
237a: 1f 93 push r17
237c: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2380: 8c e3 ldi r24, 0x3C ; 60
2382: 80 93 e5 03 sts 0x03E5, r24
2386: 80 91 f6 06 lds r24, 0x06F6
238a: 99 27 eor r25, r25
238c: 9f 93 push r25
238e: 8f 93 push r24
2390: 88 eb ldi r24, 0xB8 ; 184
2392: 94 e0 ldi r25, 0x04 ; 4
2394: 9f 93 push r25
2396: 8f 93 push r24
2398: 1f 93 push r17
239a: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
239e: 8d b7 in r24, 0x3d ; 61
23a0: 9e b7 in r25, 0x3e ; 62
23a2: 44 96 adiw r24, 0x14 ; 20
23a4: 8d bf out 0x3d, r24 ; 61
23a6: de c3 rjmp .+1980 ; 0x2b64 <Menu+0x9b2>
23a8: 84 e1 ldi r24, 0x14 ; 20
23aa: 80 93 e5 03 sts 0x03E5, r24
23ae: 81 eb ldi r24, 0xB1 ; 177
23b0: 94 e0 ldi r25, 0x04 ; 4
23b2: 9f 93 push r25
23b4: 8f 93 push r24
23b6: 11 e0 ldi r17, 0x01 ; 1
23b8: 1f 93 push r17
23ba: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
23be: 88 e2 ldi r24, 0x28 ; 40
23c0: 80 93 e5 03 sts 0x03E5, r24
23c4: 83 ea ldi r24, 0xA3 ; 163
23c6: 94 e0 ldi r25, 0x04 ; 4
23c8: 9f 93 push r25
23ca: 8f 93 push r24
23cc: 1f 93 push r17
23ce: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
23d2: 8d b7 in r24, 0x3d ; 61
23d4: 9e b7 in r25, 0x3e ; 62
23d6: 06 96 adiw r24, 0x06 ; 6
23d8: e5 cf rjmp .-54 ; 0x23a4 <Menu+0x1f2>
23da: 10 92 e5 03 sts 0x03E5, r1
23de: 89 e9 ldi r24, 0x99 ; 153
23e0: 94 e0 ldi r25, 0x04 ; 4
23e2: 9f 93 push r25
23e4: 8f 93 push r24
23e6: 11 e0 ldi r17, 0x01 ; 1
23e8: 1f 93 push r17
23ea: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
23ee: 84 e1 ldi r24, 0x14 ; 20
23f0: 80 93 e5 03 sts 0x03E5, r24
23f4: 60 91 f9 03 lds r22, 0x03F9
23f8: 70 91 fa 03 lds r23, 0x03FA
23fc: 80 91 fb 03 lds r24, 0x03FB
2400: 90 91 fc 03 lds r25, 0x03FC
2404: 20 e0 ldi r18, 0x00 ; 0
2406: 34 e0 ldi r19, 0x04 ; 4
2408: 40 e0 ldi r20, 0x00 ; 0
240a: 50 e0 ldi r21, 0x00 ; 0
240c: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
2410: 5f 93 push r21
2412: 4f 93 push r20
2414: 3f 93 push r19
2416: 2f 93 push r18
2418: 8a e8 ldi r24, 0x8A ; 138
241a: 94 e0 ldi r25, 0x04 ; 4
241c: 9f 93 push r25
241e: 8f 93 push r24
2420: 1f 93 push r17
2422: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2426: 88 e2 ldi r24, 0x28 ; 40
2428: 80 93 e5 03 sts 0x03E5, r24
242c: 60 91 01 04 lds r22, 0x0401
2430: 70 91 02 04 lds r23, 0x0402
2434: 80 91 03 04 lds r24, 0x0403
2438: 90 91 04 04 lds r25, 0x0404
243c: 20 e0 ldi r18, 0x00 ; 0
243e: 34 e0 ldi r19, 0x04 ; 4
2440: 40 e0 ldi r20, 0x00 ; 0
2442: 50 e0 ldi r21, 0x00 ; 0
2444: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
2448: 5f 93 push r21
244a: 4f 93 push r20
244c: 3f 93 push r19
244e: 2f 93 push r18
2450: 8b e7 ldi r24, 0x7B ; 123
2452: 94 e0 ldi r25, 0x04 ; 4
2454: 9f 93 push r25
2456: 8f 93 push r24
2458: 1f 93 push r17
245a: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
245e: 8c e3 ldi r24, 0x3C ; 60
2460: 80 93 e5 03 sts 0x03E5, r24
2464: 80 91 35 04 lds r24, 0x0435
2468: 90 91 36 04 lds r25, 0x0436
246c: 9f 93 push r25
246e: 8f 93 push r24
2470: 8c e6 ldi r24, 0x6C ; 108
2472: 94 e0 ldi r25, 0x04 ; 4
2474: 9f 93 push r25
2476: 8f 93 push r24
2478: 1f 93 push r17
247a: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
247e: 8d b7 in r24, 0x3d ; 61
2480: 9e b7 in r25, 0x3e ; 62
2482: 46 96 adiw r24, 0x16 ; 22
2484: 8f cf rjmp .-226 ; 0x23a4 <Menu+0x1f2>
2486: 10 92 e5 03 sts 0x03E5, r1
248a: 80 91 07 07 lds r24, 0x0707
248e: 90 91 08 07 lds r25, 0x0708
2492: 20 91 05 07 lds r18, 0x0705
2496: 30 91 06 07 lds r19, 0x0706
249a: 9f 93 push r25
249c: 8f 93 push r24
249e: 3f 93 push r19
24a0: 2f 93 push r18
24a2: 8c e5 ldi r24, 0x5C ; 92
24a4: 94 e0 ldi r25, 0x04 ; 4
24a6: 9f 93 push r25
24a8: 8f 93 push r24
24aa: 11 e0 ldi r17, 0x01 ; 1
24ac: 1f 93 push r17
24ae: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
24b2: 84 e1 ldi r24, 0x14 ; 20
24b4: 80 93 e5 03 sts 0x03E5, r24
24b8: 80 91 0b 07 lds r24, 0x070B
24bc: 90 91 0c 07 lds r25, 0x070C
24c0: 20 91 09 07 lds r18, 0x0709
24c4: 30 91 0a 07 lds r19, 0x070A
24c8: 9f 93 push r25
24ca: 8f 93 push r24
24cc: 3f 93 push r19
24ce: 2f 93 push r18
24d0: 8c e4 ldi r24, 0x4C ; 76
24d2: 94 e0 ldi r25, 0x04 ; 4
24d4: 9f 93 push r25
24d6: 8f 93 push r24
24d8: 1f 93 push r17
24da: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
24de: 88 e2 ldi r24, 0x28 ; 40
24e0: 80 93 e5 03 sts 0x03E5, r24
24e4: 80 91 0f 07 lds r24, 0x070F
24e8: 90 91 10 07 lds r25, 0x0710
24ec: 20 91 0d 07 lds r18, 0x070D
24f0: 30 91 0e 07 lds r19, 0x070E
24f4: 9f 93 push r25
24f6: 8f 93 push r24
24f8: 3f 93 push r19
24fa: 2f 93 push r18
24fc: 8c e3 ldi r24, 0x3C ; 60
24fe: 94 e0 ldi r25, 0x04 ; 4
2500: 9f 93 push r25
2502: 8f 93 push r24
2504: 1f 93 push r17
2506: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
250a: 8c e3 ldi r24, 0x3C ; 60
250c: 80 93 e5 03 sts 0x03E5, r24
2510: 80 91 13 07 lds r24, 0x0713
2514: 90 91 14 07 lds r25, 0x0714
2518: 20 91 11 07 lds r18, 0x0711
251c: 30 91 12 07 lds r19, 0x0712
2520: 9f 93 push r25
2522: 8f 93 push r24
2524: 3f 93 push r19
2526: 2f 93 push r18
2528: 8c e2 ldi r24, 0x2C ; 44
252a: 94 e0 ldi r25, 0x04 ; 4
252c: 7b c0 rjmp .+246 ; 0x2624 <Menu+0x472>
252e: 10 92 e5 03 sts 0x03E5, r1
2532: e0 91 30 07 lds r30, 0x0730
2536: ff 27 eor r31, r31
2538: ee 0f add r30, r30
253a: ff 1f adc r31, r31
253c: ed 5f subi r30, 0xFD ; 253
253e: f8 4f sbci r31, 0xF8 ; 248
2540: 20 81 ld r18, Z
2542: 31 81 ldd r19, Z+1 ; 0x01
2544: e0 91 2f 07 lds r30, 0x072F
2548: ff 27 eor r31, r31
254a: ee 0f add r30, r30
254c: ff 1f adc r31, r31
254e: ed 5f subi r30, 0xFD ; 253
2550: f8 4f sbci r31, 0xF8 ; 248
2552: 80 81 ld r24, Z
2554: 91 81 ldd r25, Z+1 ; 0x01
2556: 3f 93 push r19
2558: 2f 93 push r18
255a: 9f 93 push r25
255c: 8f 93 push r24
255e: 8c e1 ldi r24, 0x1C ; 28
2560: 94 e0 ldi r25, 0x04 ; 4
2562: 9f 93 push r25
2564: 8f 93 push r24
2566: 11 e0 ldi r17, 0x01 ; 1
2568: 1f 93 push r17
256a: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
256e: 84 e1 ldi r24, 0x14 ; 20
2570: 80 93 e5 03 sts 0x03E5, r24
2574: e0 91 32 07 lds r30, 0x0732
2578: ff 27 eor r31, r31
257a: ee 0f add r30, r30
257c: ff 1f adc r31, r31
257e: ed 5f subi r30, 0xFD ; 253
2580: f8 4f sbci r31, 0xF8 ; 248
2582: 20 81 ld r18, Z
2584: 31 81 ldd r19, Z+1 ; 0x01
2586: e0 91 31 07 lds r30, 0x0731
258a: ff 27 eor r31, r31
258c: ee 0f add r30, r30
258e: ff 1f adc r31, r31
2590: ed 5f subi r30, 0xFD ; 253
2592: f8 4f sbci r31, 0xF8 ; 248
2594: 80 81 ld r24, Z
2596: 91 81 ldd r25, Z+1 ; 0x01
2598: 3f 93 push r19
259a: 2f 93 push r18
259c: 9f 93 push r25
259e: 8f 93 push r24
25a0: 8c e0 ldi r24, 0x0C ; 12
25a2: 94 e0 ldi r25, 0x04 ; 4
25a4: 9f 93 push r25
25a6: 8f 93 push r24
25a8: 1f 93 push r17
25aa: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
25ae: 88 e2 ldi r24, 0x28 ; 40
25b0: 80 93 e5 03 sts 0x03E5, r24
25b4: e0 91 34 07 lds r30, 0x0734
25b8: ff 27 eor r31, r31
25ba: ee 0f add r30, r30
25bc: ff 1f adc r31, r31
25be: ed 5f subi r30, 0xFD ; 253
25c0: f8 4f sbci r31, 0xF8 ; 248
25c2: 20 81 ld r18, Z
25c4: 31 81 ldd r19, Z+1 ; 0x01
25c6: e0 91 33 07 lds r30, 0x0733
25ca: ff 27 eor r31, r31
25cc: ee 0f add r30, r30
25ce: ff 1f adc r31, r31
25d0: ed 5f subi r30, 0xFD ; 253
25d2: f8 4f sbci r31, 0xF8 ; 248
25d4: 80 81 ld r24, Z
25d6: 91 81 ldd r25, Z+1 ; 0x01
25d8: 3f 93 push r19
25da: 2f 93 push r18
25dc: 9f 93 push r25
25de: 8f 93 push r24
25e0: 8c ef ldi r24, 0xFC ; 252
25e2: 93 e0 ldi r25, 0x03 ; 3
25e4: 9f 93 push r25
25e6: 8f 93 push r24
25e8: 1f 93 push r17
25ea: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
25ee: 8c e3 ldi r24, 0x3C ; 60
25f0: 80 93 e5 03 sts 0x03E5, r24
25f4: e0 91 36 07 lds r30, 0x0736
25f8: ff 27 eor r31, r31
25fa: ee 0f add r30, r30
25fc: ff 1f adc r31, r31
25fe: ed 5f subi r30, 0xFD ; 253
2600: f8 4f sbci r31, 0xF8 ; 248
2602: 20 81 ld r18, Z
2604: 31 81 ldd r19, Z+1 ; 0x01
2606: e0 91 35 07 lds r30, 0x0735
260a: ff 27 eor r31, r31
260c: ee 0f add r30, r30
260e: ff 1f adc r31, r31
2610: ed 5f subi r30, 0xFD ; 253
2612: f8 4f sbci r31, 0xF8 ; 248
2614: 80 81 ld r24, Z
2616: 91 81 ldd r25, Z+1 ; 0x01
2618: 3f 93 push r19
261a: 2f 93 push r18
261c: 9f 93 push r25
261e: 8f 93 push r24
2620: 8c ee ldi r24, 0xEC ; 236
2622: 93 e0 ldi r25, 0x03 ; 3
2624: 9f 93 push r25
2626: 8f 93 push r24
2628: 1f 93 push r17
262a: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
262e: 8d b7 in r24, 0x3d ; 61
2630: 9e b7 in r25, 0x3e ; 62
2632: 4c 96 adiw r24, 0x1c ; 28
2634: b7 ce rjmp .-658 ; 0x23a4 <Menu+0x1f2>
2636: 10 92 e5 03 sts 0x03E5, r1
263a: 8e ed ldi r24, 0xDE ; 222
263c: 93 e0 ldi r25, 0x03 ; 3
263e: 9f 93 push r25
2640: 8f 93 push r24
2642: 11 e0 ldi r17, 0x01 ; 1
2644: 1f 93 push r17
2646: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
264a: 0f 90 pop r0
264c: 0f 90 pop r0
264e: 0f 90 pop r0
2650: 80 91 00 01 lds r24, 0x0100
2654: e0 91 ef 03 lds r30, 0x03EF
2658: f0 91 f0 03 lds r31, 0x03F0
265c: 8a 30 cpi r24, 0x0A ; 10
265e: f1 f5 brne .+124 ; 0x26dc <Menu+0x52a>
2660: 84 e1 ldi r24, 0x14 ; 20
2662: 80 93 e5 03 sts 0x03E5, r24
2666: 80 91 c5 03 lds r24, 0x03C5
266a: 90 91 c6 03 lds r25, 0x03C6
266e: ff 93 push r31
2670: ef 93 push r30
2672: 8e 1b sub r24, r30
2674: 9f 0b sbc r25, r31
2676: 9f 93 push r25
2678: 8f 93 push r24
267a: 8f ec ldi r24, 0xCF ; 207
267c: 93 e0 ldi r25, 0x03 ; 3
267e: 9f 93 push r25
2680: 8f 93 push r24
2682: 1f 93 push r17
2684: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2688: 88 e2 ldi r24, 0x28 ; 40
268a: 80 93 e5 03 sts 0x03E5, r24
268e: 20 91 f1 03 lds r18, 0x03F1
2692: 30 91 f2 03 lds r19, 0x03F2
2696: 80 91 c7 03 lds r24, 0x03C7
269a: 90 91 c8 03 lds r25, 0x03C8
269e: 3f 93 push r19
26a0: 2f 93 push r18
26a2: 82 1b sub r24, r18
26a4: 93 0b sbc r25, r19
26a6: 9f 93 push r25
26a8: 8f 93 push r24
26aa: 80 ec ldi r24, 0xC0 ; 192
26ac: 93 e0 ldi r25, 0x03 ; 3
26ae: 9f 93 push r25
26b0: 8f 93 push r24
26b2: 1f 93 push r17
26b4: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
26b8: 8c e3 ldi r24, 0x3C ; 60
26ba: 80 93 e5 03 sts 0x03E5, r24
26be: 80 91 f3 03 lds r24, 0x03F3
26c2: 90 91 f4 03 lds r25, 0x03F4
26c6: 9f 93 push r25
26c8: 8f 93 push r24
26ca: 80 91 a6 07 lds r24, 0x07A6
26ce: 90 91 a7 07 lds r25, 0x07A7
26d2: 9f 93 push r25
26d4: 8f 93 push r24
26d6: 81 eb ldi r24, 0xB1 ; 177
26d8: 93 e0 ldi r25, 0x03 ; 3
26da: 4b c0 rjmp .+150 ; 0x2772 <Menu+0x5c0>
26dc: 84 e1 ldi r24, 0x14 ; 20
26de: 80 93 e5 03 sts 0x03E5, r24
26e2: 20 91 c5 03 lds r18, 0x03C5
26e6: 30 91 c6 03 lds r19, 0x03C6
26ea: cf 01 movw r24, r30
26ec: 62 e0 ldi r22, 0x02 ; 2
26ee: 70 e0 ldi r23, 0x00 ; 0
26f0: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
26f4: 7f 93 push r23
26f6: 6f 93 push r22
26f8: 2e 1b sub r18, r30
26fa: 3f 0b sbc r19, r31
26fc: 3f 93 push r19
26fe: 2f 93 push r18
2700: 82 ea ldi r24, 0xA2 ; 162
2702: 93 e0 ldi r25, 0x03 ; 3
2704: 9f 93 push r25
2706: 8f 93 push r24
2708: 1f 93 push r17
270a: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
270e: 88 e2 ldi r24, 0x28 ; 40
2710: 80 93 e5 03 sts 0x03E5, r24
2714: e0 91 f1 03 lds r30, 0x03F1
2718: f0 91 f2 03 lds r31, 0x03F2
271c: 20 91 c7 03 lds r18, 0x03C7
2720: 30 91 c8 03 lds r19, 0x03C8
2724: cf 01 movw r24, r30
2726: 62 e0 ldi r22, 0x02 ; 2
2728: 70 e0 ldi r23, 0x00 ; 0
272a: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
272e: 7f 93 push r23
2730: 6f 93 push r22
2732: 2e 1b sub r18, r30
2734: 3f 0b sbc r19, r31
2736: 3f 93 push r19
2738: 2f 93 push r18
273a: 83 e9 ldi r24, 0x93 ; 147
273c: 93 e0 ldi r25, 0x03 ; 3
273e: 9f 93 push r25
2740: 8f 93 push r24
2742: 1f 93 push r17
2744: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2748: 8c e3 ldi r24, 0x3C ; 60
274a: 80 93 e5 03 sts 0x03E5, r24
274e: 80 91 f3 03 lds r24, 0x03F3
2752: 90 91 f4 03 lds r25, 0x03F4
2756: 62 e0 ldi r22, 0x02 ; 2
2758: 70 e0 ldi r23, 0x00 ; 0
275a: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
275e: 7f 93 push r23
2760: 6f 93 push r22
2762: 80 91 a6 07 lds r24, 0x07A6
2766: 90 91 a7 07 lds r25, 0x07A7
276a: 9f 93 push r25
276c: 8f 93 push r24
276e: 84 e8 ldi r24, 0x84 ; 132
2770: 93 e0 ldi r25, 0x03 ; 3
2772: 9f 93 push r25
2774: 8f 93 push r24
2776: 1f 93 push r17
2778: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
277c: 8d b7 in r24, 0x3d ; 61
277e: 9e b7 in r25, 0x3e ; 62
2780: 45 96 adiw r24, 0x15 ; 21
2782: 10 ce rjmp .-992 ; 0x23a4 <Menu+0x1f2>
2784: 10 92 e5 03 sts 0x03E5, r1
2788: 87 e7 ldi r24, 0x77 ; 119
278a: 93 e0 ldi r25, 0x03 ; 3
278c: 9f 93 push r25
278e: 8f 93 push r24
2790: 11 e0 ldi r17, 0x01 ; 1
2792: 1f 93 push r17
2794: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2798: 84 e1 ldi r24, 0x14 ; 20
279a: 80 93 e5 03 sts 0x03E5, r24
279e: 80 91 98 07 lds r24, 0x0798
27a2: 90 91 99 07 lds r25, 0x0799
27a6: 20 91 cd 03 lds r18, 0x03CD
27aa: 30 91 ce 03 lds r19, 0x03CE
27ae: 9f 93 push r25
27b0: 8f 93 push r24
27b2: 3f 93 push r19
27b4: 2f 93 push r18
27b6: 88 e6 ldi r24, 0x68 ; 104
27b8: 93 e0 ldi r25, 0x03 ; 3
27ba: 9f 93 push r25
27bc: 8f 93 push r24
27be: 1f 93 push r17
27c0: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
27c4: 88 e2 ldi r24, 0x28 ; 40
27c6: 80 93 e5 03 sts 0x03E5, r24
27ca: 80 91 9a 07 lds r24, 0x079A
27ce: 90 91 9b 07 lds r25, 0x079B
27d2: 20 91 cb 03 lds r18, 0x03CB
27d6: 30 91 cc 03 lds r19, 0x03CC
27da: 9f 93 push r25
27dc: 8f 93 push r24
27de: 3f 93 push r19
27e0: 2f 93 push r18
27e2: 89 e5 ldi r24, 0x59 ; 89
27e4: 93 e0 ldi r25, 0x03 ; 3
27e6: 9f 93 push r25
27e8: 8f 93 push r24
27ea: 1f 93 push r17
27ec: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
27f0: 8c e3 ldi r24, 0x3C ; 60
27f2: 80 93 e5 03 sts 0x03E5, r24
27f6: 60 91 9c 07 lds r22, 0x079C
27fa: 70 91 9d 07 lds r23, 0x079D
27fe: 80 91 9e 07 lds r24, 0x079E
2802: 90 91 9f 07 lds r25, 0x079F
2806: 0e 94 82 3b call 0x7704 ; 0x7704 <__fixsfsi>
280a: 7f 93 push r23
280c: 6f 93 push r22
280e: 80 91 86 07 lds r24, 0x0786
2812: 90 91 87 07 lds r25, 0x0787
2816: 9f 93 push r25
2818: 8f 93 push r24
281a: 8a e4 ldi r24, 0x4A ; 74
281c: 93 e0 ldi r25, 0x03 ; 3
281e: 1d c1 rjmp .+570 ; 0x2a5a <Menu+0x8a8>
2820: 84 e1 ldi r24, 0x14 ; 20
2822: 80 93 e5 03 sts 0x03E5, r24
2826: 80 91 08 03 lds r24, 0x0308
282a: 90 91 09 03 lds r25, 0x0309
282e: 9f 93 push r25
2830: 8f 93 push r24
2832: 8b e3 ldi r24, 0x3B ; 59
2834: 93 e0 ldi r25, 0x03 ; 3
2836: 9f 93 push r25
2838: 8f 93 push r24
283a: 11 e0 ldi r17, 0x01 ; 1
283c: 1f 93 push r17
283e: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2842: 88 e2 ldi r24, 0x28 ; 40
2844: 80 93 e5 03 sts 0x03E5, r24
2848: 80 91 45 04 lds r24, 0x0445
284c: 99 27 eor r25, r25
284e: 9f 93 push r25
2850: 8f 93 push r24
2852: 8c e2 ldi r24, 0x2C ; 44
2854: 93 e0 ldi r25, 0x03 ; 3
2856: 9f 93 push r25
2858: 8f 93 push r24
285a: 1f 93 push r17
285c: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2860: 8d b7 in r24, 0x3d ; 61
2862: 9e b7 in r25, 0x3e ; 62
2864: 0a 96 adiw r24, 0x0a ; 10
2866: 9e cd rjmp .-1220 ; 0x23a4 <Menu+0x1f2>
2868: 10 92 e5 03 sts 0x03E5, r1
286c: 8d e1 ldi r24, 0x1D ; 29
286e: 93 e0 ldi r25, 0x03 ; 3
2870: 9f 93 push r25
2872: 8f 93 push r24
2874: 11 e0 ldi r17, 0x01 ; 1
2876: 1f 93 push r17
2878: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
287c: 84 e1 ldi r24, 0x14 ; 20
287e: 80 93 e5 03 sts 0x03E5, r24
2882: 80 91 39 04 lds r24, 0x0439
2886: 90 91 3a 04 lds r25, 0x043A
288a: 9f 93 push r25
288c: 8f 93 push r24
288e: 8e e0 ldi r24, 0x0E ; 14
2890: 93 e0 ldi r25, 0x03 ; 3
2892: 9f 93 push r25
2894: 8f 93 push r24
2896: 1f 93 push r17
2898: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
289c: 88 e2 ldi r24, 0x28 ; 40
289e: 80 93 e5 03 sts 0x03E5, r24
28a2: 80 91 35 04 lds r24, 0x0435
28a6: 90 91 36 04 lds r25, 0x0436
28aa: 9f 93 push r25
28ac: 8f 93 push r24
28ae: 8f ef ldi r24, 0xFF ; 255
28b0: 92 e0 ldi r25, 0x02 ; 2
28b2: 9f 93 push r25
28b4: 8f 93 push r24
28b6: 1f 93 push r17
28b8: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
28bc: 8c e3 ldi r24, 0x3C ; 60
28be: 80 93 e5 03 sts 0x03E5, r24
28c2: 80 91 37 04 lds r24, 0x0437
28c6: 90 91 38 04 lds r25, 0x0438
28ca: 9f 93 push r25
28cc: 8f 93 push r24
28ce: 80 ef ldi r24, 0xF0 ; 240
28d0: 92 e0 ldi r25, 0x02 ; 2
28d2: 3a c1 rjmp .+628 ; 0x2b48 <Menu+0x996>
28d4: 10 92 e5 03 sts 0x03E5, r1
28d8: 80 91 3d 04 lds r24, 0x043D
28dc: 90 91 3e 04 lds r25, 0x043E
28e0: 9f 93 push r25
28e2: 8f 93 push r24
28e4: 84 ee ldi r24, 0xE4 ; 228
28e6: 92 e0 ldi r25, 0x02 ; 2
28e8: 9f 93 push r25
28ea: 8f 93 push r24
28ec: 11 e0 ldi r17, 0x01 ; 1
28ee: 1f 93 push r17
28f0: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
28f4: 84 e1 ldi r24, 0x14 ; 20
28f6: 80 93 e5 03 sts 0x03E5, r24
28fa: 80 91 3f 04 lds r24, 0x043F
28fe: 90 91 40 04 lds r25, 0x0440
2902: 9f 93 push r25
2904: 8f 93 push r24
2906: 88 ed ldi r24, 0xD8 ; 216
2908: 92 e0 ldi r25, 0x02 ; 2
290a: 9f 93 push r25
290c: 8f 93 push r24
290e: 1f 93 push r17
2910: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2914: 88 e2 ldi r24, 0x28 ; 40
2916: 80 93 e5 03 sts 0x03E5, r24
291a: 80 91 41 04 lds r24, 0x0441
291e: 90 91 42 04 lds r25, 0x0442
2922: 9f 93 push r25
2924: 8f 93 push r24
2926: 8c ec ldi r24, 0xCC ; 204
2928: 92 e0 ldi r25, 0x02 ; 2
292a: 9f 93 push r25
292c: 8f 93 push r24
292e: 1f 93 push r17
2930: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2934: 8c e3 ldi r24, 0x3C ; 60
2936: 80 93 e5 03 sts 0x03E5, r24
293a: 80 91 43 04 lds r24, 0x0443
293e: 90 91 44 04 lds r25, 0x0444
2942: 9f 93 push r25
2944: 8f 93 push r24
2946: 80 ec ldi r24, 0xC0 ; 192
2948: 92 e0 ldi r25, 0x02 ; 2
294a: 24 cd rjmp .-1464 ; 0x2394 <Menu+0x1e2>
294c: 10 92 e5 03 sts 0x03E5, r1
2950: 88 eb ldi r24, 0xB8 ; 184
2952: 92 e0 ldi r25, 0x02 ; 2
2954: 9f 93 push r25
2956: 8f 93 push r24
2958: 11 e0 ldi r17, 0x01 ; 1
295a: 1f 93 push r17
295c: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2960: 84 e1 ldi r24, 0x14 ; 20
2962: 80 93 e5 03 sts 0x03E5, r24
2966: 80 91 9c 03 lds r24, 0x039C
296a: 99 27 eor r25, r25
296c: 9f 93 push r25
296e: 8f 93 push r24
2970: 8a ea ldi r24, 0xAA ; 170
2972: 92 e0 ldi r25, 0x02 ; 2
2974: 9f 93 push r25
2976: 8f 93 push r24
2978: 1f 93 push r17
297a: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
297e: 88 e2 ldi r24, 0x28 ; 40
2980: 80 93 e5 03 sts 0x03E5, r24
2984: 80 91 c2 03 lds r24, 0x03C2
2988: 90 91 c3 03 lds r25, 0x03C3
298c: 9f 93 push r25
298e: 8f 93 push r24
2990: 8c e9 ldi r24, 0x9C ; 156
2992: 92 e0 ldi r25, 0x02 ; 2
2994: 9f 93 push r25
2996: 8f 93 push r24
2998: 1f 93 push r17
299a: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
299e: 8c e3 ldi r24, 0x3C ; 60
29a0: 80 93 e5 03 sts 0x03E5, r24
29a4: 80 91 53 07 lds r24, 0x0753
29a8: 99 27 eor r25, r25
29aa: 9f 93 push r25
29ac: 8f 93 push r24
29ae: 80 91 52 07 lds r24, 0x0752
29b2: 99 27 eor r25, r25
29b4: 9f 93 push r25
29b6: 8f 93 push r24
29b8: 8e e8 ldi r24, 0x8E ; 142
29ba: 92 e0 ldi r25, 0x02 ; 2
29bc: 9f 93 push r25
29be: 8f 93 push r24
29c0: 1f 93 push r17
29c2: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
29c6: eb cc rjmp .-1578 ; 0x239e <Menu+0x1ec>
29c8: 10 92 e5 03 sts 0x03E5, r1
29cc: 8e e7 ldi r24, 0x7E ; 126
29ce: 92 e0 ldi r25, 0x02 ; 2
29d0: 9f 93 push r25
29d2: 8f 93 push r24
29d4: 11 e0 ldi r17, 0x01 ; 1
29d6: 1f 93 push r17
29d8: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
29dc: 84 e1 ldi r24, 0x14 ; 20
29de: 80 93 e5 03 sts 0x03E5, r24
29e2: 80 91 08 06 lds r24, 0x0608
29e6: 99 27 eor r25, r25
29e8: 87 fd sbrc r24, 7
29ea: 90 95 com r25
29ec: 9f 93 push r25
29ee: 8f 93 push r24
29f0: 80 91 07 06 lds r24, 0x0607
29f4: 99 27 eor r25, r25
29f6: 87 fd sbrc r24, 7
29f8: 90 95 com r25
29fa: 9f 93 push r25
29fc: 8f 93 push r24
29fe: 8e e6 ldi r24, 0x6E ; 110
2a00: 92 e0 ldi r25, 0x02 ; 2
2a02: 9f 93 push r25
2a04: 8f 93 push r24
2a06: 1f 93 push r17
2a08: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2a0c: 88 e2 ldi r24, 0x28 ; 40
2a0e: 80 93 e5 03 sts 0x03E5, r24
2a12: 80 91 09 06 lds r24, 0x0609
2a16: 99 27 eor r25, r25
2a18: 87 fd sbrc r24, 7
2a1a: 90 95 com r25
2a1c: 9f 93 push r25
2a1e: 8f 93 push r24
2a20: 80 91 0a 06 lds r24, 0x060A
2a24: 99 27 eor r25, r25
2a26: 9f 93 push r25
2a28: 8f 93 push r24
2a2a: 8e e5 ldi r24, 0x5E ; 94
2a2c: 92 e0 ldi r25, 0x02 ; 2
2a2e: 9f 93 push r25
2a30: 8f 93 push r24
2a32: 1f 93 push r17
2a34: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2a38: 8c e3 ldi r24, 0x3C ; 60
2a3a: 80 93 e5 03 sts 0x03E5, r24
2a3e: 80 91 0e 06 lds r24, 0x060E
2a42: 99 27 eor r25, r25
2a44: 9f 93 push r25
2a46: 8f 93 push r24
2a48: 80 91 0b 06 lds r24, 0x060B
2a4c: 99 27 eor r25, r25
2a4e: 87 fd sbrc r24, 7
2a50: 90 95 com r25
2a52: 9f 93 push r25
2a54: 8f 93 push r24
2a56: 8e e4 ldi r24, 0x4E ; 78
2a58: 92 e0 ldi r25, 0x02 ; 2
2a5a: 9f 93 push r25
2a5c: 8f 93 push r24
2a5e: 1f 93 push r17
2a60: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2a64: 8d b7 in r24, 0x3d ; 61
2a66: 9e b7 in r25, 0x3e ; 62
2a68: 48 96 adiw r24, 0x18 ; 24
2a6a: 9c cc rjmp .-1736 ; 0x23a4 <Menu+0x1f2>
2a6c: 10 92 e5 03 sts 0x03E5, r1
2a70: 86 e4 ldi r24, 0x46 ; 70
2a72: 92 e0 ldi r25, 0x02 ; 2
2a74: 9f 93 push r25
2a76: 8f 93 push r24
2a78: 11 e0 ldi r17, 0x01 ; 1
2a7a: 1f 93 push r17
2a7c: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2a80: 84 e1 ldi r24, 0x14 ; 20
2a82: 80 93 e5 03 sts 0x03E5, r24
2a86: 80 91 b4 07 lds r24, 0x07B4
2a8a: 99 27 eor r25, r25
2a8c: 87 fd sbrc r24, 7
2a8e: 90 95 com r25
2a90: 9f 93 push r25
2a92: 8f 93 push r24
2a94: 87 e3 ldi r24, 0x37 ; 55
2a96: 92 e0 ldi r25, 0x02 ; 2
2a98: 9f 93 push r25
2a9a: 8f 93 push r24
2a9c: 1f 93 push r17
2a9e: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2aa2: 88 e2 ldi r24, 0x28 ; 40
2aa4: 80 93 e5 03 sts 0x03E5, r24
2aa8: 80 91 b5 07 lds r24, 0x07B5
2aac: 99 27 eor r25, r25
2aae: 87 fd sbrc r24, 7
2ab0: 90 95 com r25
2ab2: 9f 93 push r25
2ab4: 8f 93 push r24
2ab6: 88 e2 ldi r24, 0x28 ; 40
2ab8: 92 e0 ldi r25, 0x02 ; 2
2aba: 9f 93 push r25
2abc: 8f 93 push r24
2abe: 1f 93 push r17
2ac0: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2ac4: 8c e3 ldi r24, 0x3C ; 60
2ac6: 80 93 e5 03 sts 0x03E5, r24
2aca: 80 91 b6 07 lds r24, 0x07B6
2ace: 99 27 eor r25, r25
2ad0: 87 fd sbrc r24, 7
2ad2: 90 95 com r25
2ad4: 9f 93 push r25
2ad6: 8f 93 push r24
2ad8: 89 e1 ldi r24, 0x19 ; 25
2ada: 92 e0 ldi r25, 0x02 ; 2
2adc: 35 c0 rjmp .+106 ; 0x2b48 <Menu+0x996>
2ade: 10 92 e5 03 sts 0x03E5, r1
2ae2: 8f e0 ldi r24, 0x0F ; 15
2ae4: 92 e0 ldi r25, 0x02 ; 2
2ae6: 9f 93 push r25
2ae8: 8f 93 push r24
2aea: 11 e0 ldi r17, 0x01 ; 1
2aec: 1f 93 push r17
2aee: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2af2: 84 e1 ldi r24, 0x14 ; 20
2af4: 80 93 e5 03 sts 0x03E5, r24
2af8: 80 91 b7 07 lds r24, 0x07B7
2afc: 90 91 b8 07 lds r25, 0x07B8
2b00: 9f 93 push r25
2b02: 8f 93 push r24
2b04: 81 e0 ldi r24, 0x01 ; 1
2b06: 92 e0 ldi r25, 0x02 ; 2
2b08: 9f 93 push r25
2b0a: 8f 93 push r24
2b0c: 1f 93 push r17
2b0e: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2b12: 88 e2 ldi r24, 0x28 ; 40
2b14: 80 93 e5 03 sts 0x03E5, r24
2b18: 80 91 b9 07 lds r24, 0x07B9
2b1c: 90 91 ba 07 lds r25, 0x07BA
2b20: 9f 93 push r25
2b22: 8f 93 push r24
2b24: 83 ef ldi r24, 0xF3 ; 243
2b26: 91 e0 ldi r25, 0x01 ; 1
2b28: 9f 93 push r25
2b2a: 8f 93 push r24
2b2c: 1f 93 push r17
2b2e: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2b32: 8c e3 ldi r24, 0x3C ; 60
2b34: 80 93 e5 03 sts 0x03E5, r24
2b38: 80 91 bb 07 lds r24, 0x07BB
2b3c: 90 91 bc 07 lds r25, 0x07BC
2b40: 9f 93 push r25
2b42: 8f 93 push r24
2b44: 85 ee ldi r24, 0xE5 ; 229
2b46: 91 e0 ldi r25, 0x01 ; 1
2b48: 9f 93 push r25
2b4a: 8f 93 push r24
2b4c: 1f 93 push r17
2b4e: 0e 94 1a 0a call 0x1434 ; 0x1434 <_printf_P>
2b52: 8d b7 in r24, 0x3d ; 61
2b54: 9e b7 in r25, 0x3e ; 62
2b56: 42 96 adiw r24, 0x12 ; 18
2b58: 25 cc rjmp .-1974 ; 0x23a4 <Menu+0x1f2>
2b5a: 81 50 subi r24, 0x01 ; 1
2b5c: 80 93 6a 03 sts 0x036A, r24
2b60: 10 92 e7 03 sts 0x03E7, r1
2b64: 10 92 e6 03 sts 0x03E6, r1
2b68: 1f 91 pop r17
2b6a: 08 95 ret
 
00002b6c <i2c_init>:
2b6c: 10 92 b9 00 sts 0x00B9, r1
2b70: 8a e2 ldi r24, 0x2A ; 42
2b72: 80 93 b8 00 sts 0x00B8, r24
2b76: 08 95 ret
 
00002b78 <i2c_start>:
2b78: 85 ea ldi r24, 0xA5 ; 165
2b7a: 80 93 bc 00 sts 0x00BC, r24
2b7e: 08 95 ret
 
00002b80 <i2c_stop>:
2b80: 84 e9 ldi r24, 0x94 ; 148
2b82: 80 93 bc 00 sts 0x00BC, r24
2b86: 08 95 ret
 
00002b88 <i2c_write_byte>:
2b88: 80 93 bb 00 sts 0x00BB, r24
2b8c: 85 e8 ldi r24, 0x85 ; 133
2b8e: 80 93 bc 00 sts 0x00BC, r24
2b92: 08 95 ret
 
00002b94 <i2c_receive_byte>:
2b94: 85 ec ldi r24, 0xC5 ; 197
2b96: 80 93 bc 00 sts 0x00BC, r24
2b9a: 08 95 ret
 
00002b9c <i2c_receive_last_byte>:
2b9c: 85 e8 ldi r24, 0x85 ; 133
2b9e: 80 93 bc 00 sts 0x00BC, r24
2ba2: 08 95 ret
 
00002ba4 <__vector_26>:
2ba4: 1f 92 push r1
2ba6: 0f 92 push r0
2ba8: 0f b6 in r0, 0x3f ; 63
2baa: 0f 92 push r0
2bac: 11 24 eor r1, r1
2bae: 8f 93 push r24
2bb0: 9f 93 push r25
2bb2: ef 93 push r30
2bb4: ff 93 push r31
2bb6: 80 91 e8 03 lds r24, 0x03E8
2bba: 8f 5f subi r24, 0xFF ; 255
2bbc: 80 93 e8 03 sts 0x03E8, r24
2bc0: 81 50 subi r24, 0x01 ; 1
2bc2: 83 30 cpi r24, 0x03 ; 3
2bc4: e9 f1 breq .+122 ; 0x2c40 <__vector_26+0x9c>
2bc6: 84 30 cpi r24, 0x04 ; 4
2bc8: 28 f4 brcc .+10 ; 0x2bd4 <__vector_26+0x30>
2bca: 81 30 cpi r24, 0x01 ; 1
2bcc: 81 f0 breq .+32 ; 0x2bee <__vector_26+0x4a>
2bce: 82 30 cpi r24, 0x02 ; 2
2bd0: 78 f5 brcc .+94 ; 0x2c30 <__vector_26+0x8c>
2bd2: 08 c0 rjmp .+16 ; 0x2be4 <__vector_26+0x40>
2bd4: 85 30 cpi r24, 0x05 ; 5
2bd6: d9 f1 breq .+118 ; 0x2c4e <__vector_26+0xaa>
2bd8: 85 30 cpi r24, 0x05 ; 5
2bda: b8 f1 brcs .+110 ; 0x2c4a <__vector_26+0xa6>
2bdc: 86 30 cpi r24, 0x06 ; 6
2bde: 09 f0 breq .+2 ; 0x2be2 <__vector_26+0x3e>
2be0: 4f c0 rjmp .+158 ; 0x2c80 <__vector_26+0xdc>
2be2: 3e c0 rjmp .+124 ; 0x2c60 <__vector_26+0xbc>
2be4: 80 91 e9 03 lds r24, 0x03E9
2be8: 88 0f add r24, r24
2bea: 8e 5a subi r24, 0xAE ; 174
2bec: 12 c0 rjmp .+36 ; 0x2c12 <__vector_26+0x6e>
2bee: 80 91 e9 03 lds r24, 0x03E9
2bf2: 8f 5f subi r24, 0xFF ; 255
2bf4: 80 93 e9 03 sts 0x03E9, r24
2bf8: 81 50 subi r24, 0x01 ; 1
2bfa: 81 30 cpi r24, 0x01 ; 1
2bfc: 81 f0 breq .+32 ; 0x2c1e <__vector_26+0x7a>
2bfe: 81 30 cpi r24, 0x01 ; 1
2c00: 30 f0 brcs .+12 ; 0x2c0e <__vector_26+0x6a>
2c02: 82 30 cpi r24, 0x02 ; 2
2c04: 79 f0 breq .+30 ; 0x2c24 <__vector_26+0x80>
2c06: 83 30 cpi r24, 0x03 ; 3
2c08: 09 f0 breq .+2 ; 0x2c0c <__vector_26+0x68>
2c0a: 47 c0 rjmp .+142 ; 0x2c9a <__vector_26+0xf6>
2c0c: 0e c0 rjmp .+28 ; 0x2c2a <__vector_26+0x86>
2c0e: 80 91 79 07 lds r24, 0x0779
2c12: 80 93 bb 00 sts 0x00BB, r24
2c16: 85 e8 ldi r24, 0x85 ; 133
2c18: 80 93 bc 00 sts 0x00BC, r24
2c1c: 3e c0 rjmp .+124 ; 0x2c9a <__vector_26+0xf6>
2c1e: 80 91 7e 07 lds r24, 0x077E
2c22: f7 cf rjmp .-18 ; 0x2c12 <__vector_26+0x6e>
2c24: 80 91 96 07 lds r24, 0x0796
2c28: f4 cf rjmp .-24 ; 0x2c12 <__vector_26+0x6e>
2c2a: 80 91 a0 07 lds r24, 0x07A0
2c2e: f1 cf rjmp .-30 ; 0x2c12 <__vector_26+0x6e>
2c30: 80 91 e9 03 lds r24, 0x03E9
2c34: 84 30 cpi r24, 0x04 ; 4
2c36: 10 f4 brcc .+4 ; 0x2c3c <__vector_26+0x98>
2c38: 10 92 e8 03 sts 0x03E8, r1
2c3c: 85 ea ldi r24, 0xA5 ; 165
2c3e: ec cf rjmp .-40 ; 0x2c18 <__vector_26+0x74>
2c40: 80 91 ea 03 lds r24, 0x03EA
2c44: 88 0f add r24, r24
2c46: 8d 5a subi r24, 0xAD ; 173
2c48: e4 cf rjmp .-56 ; 0x2c12 <__vector_26+0x6e>
2c4a: 85 ec ldi r24, 0xC5 ; 197
2c4c: e5 cf rjmp .-54 ; 0x2c18 <__vector_26+0x74>
2c4e: 80 91 bb 00 lds r24, 0x00BB
2c52: e0 91 ea 03 lds r30, 0x03EA
2c56: ff 27 eor r31, r31
2c58: e5 50 subi r30, 0x05 ; 5
2c5a: f9 4f sbci r31, 0xF9 ; 249
2c5c: 80 83 st Z, r24
2c5e: db cf rjmp .-74 ; 0x2c16 <__vector_26+0x72>
2c60: 80 91 ea 03 lds r24, 0x03EA
2c64: 90 91 bb 00 lds r25, 0x00BB
2c68: e8 2f mov r30, r24
2c6a: ff 27 eor r31, r31
2c6c: e5 50 subi r30, 0x05 ; 5
2c6e: f9 4f sbci r31, 0xF9 ; 249
2c70: 94 83 std Z+4, r25 ; 0x04
2c72: 8f 5f subi r24, 0xFF ; 255
2c74: 80 93 ea 03 sts 0x03EA, r24
2c78: 84 30 cpi r24, 0x04 ; 4
2c7a: 10 f0 brcs .+4 ; 0x2c80 <__vector_26+0xdc>
2c7c: 10 92 ea 03 sts 0x03EA, r1
2c80: 84 e9 ldi r24, 0x94 ; 148
2c82: 80 93 bc 00 sts 0x00BC, r24
2c86: 10 92 e8 03 sts 0x03E8, r1
2c8a: 8a e0 ldi r24, 0x0A ; 10
2c8c: 90 e0 ldi r25, 0x00 ; 0
2c8e: 90 93 86 03 sts 0x0386, r25
2c92: 80 93 85 03 sts 0x0385, r24
2c96: 10 92 e9 03 sts 0x03E9, r1
2c9a: ff 91 pop r31
2c9c: ef 91 pop r30
2c9e: 9f 91 pop r25
2ca0: 8f 91 pop r24
2ca2: 0f 90 pop r0
2ca4: 0f be out 0x3f, r0 ; 63
2ca6: 0f 90 pop r0
2ca8: 1f 90 pop r1
2caa: 18 95 reti
 
00002cac <i2c_reset>:
2cac: 4c eb ldi r20, 0xBC ; 188
2cae: 50 e0 ldi r21, 0x00 ; 0
2cb0: 84 e9 ldi r24, 0x94 ; 148
2cb2: fa 01 movw r30, r20
2cb4: 80 83 st Z, r24
2cb6: 10 92 e8 03 sts 0x03E8, r1
2cba: 2b eb ldi r18, 0xBB ; 187
2cbc: 30 e0 ldi r19, 0x00 ; 0
2cbe: f9 01 movw r30, r18
2cc0: 80 81 ld r24, Z
2cc2: 10 92 e9 03 sts 0x03E9, r1
2cc6: 80 e8 ldi r24, 0x80 ; 128
2cc8: fa 01 movw r30, r20
2cca: 80 83 st Z, r24
2ccc: 10 92 bd 00 sts 0x00BD, r1
2cd0: 10 92 ba 00 sts 0x00BA, r1
2cd4: f9 01 movw r30, r18
2cd6: 10 82 st Z, r1
2cd8: e9 eb ldi r30, 0xB9 ; 185
2cda: f0 e0 ldi r31, 0x00 ; 0
2cdc: 10 82 st Z, r1
2cde: a8 eb ldi r26, 0xB8 ; 184
2ce0: b0 e0 ldi r27, 0x00 ; 0
2ce2: 1c 92 st X, r1
2ce4: 10 82 st Z, r1
2ce6: 8a e2 ldi r24, 0x2A ; 42
2ce8: 8c 93 st X, r24
2cea: 85 ea ldi r24, 0xA5 ; 165
2cec: fa 01 movw r30, r20
2cee: 80 83 st Z, r24
2cf0: f9 01 movw r30, r18
2cf2: 10 82 st Z, r1
2cf4: 85 e8 ldi r24, 0x85 ; 133
2cf6: fa 01 movw r30, r20
2cf8: 80 83 st Z, r24
2cfa: 08 95 ret
 
00002cfc <rc_sum_init>:
2cfc: 83 ec ldi r24, 0xC3 ; 195
2cfe: 80 93 81 00 sts 0x0081, r24
2d02: ef e6 ldi r30, 0x6F ; 111
2d04: f0 e0 ldi r31, 0x00 ; 0
2d06: 80 81 ld r24, Z
2d08: 80 62 ori r24, 0x20 ; 32
2d0a: 80 83 st Z, r24
2d0c: 10 92 f4 03 sts 0x03F4, r1
2d10: 10 92 f3 03 sts 0x03F3, r1
2d14: 10 92 f2 03 sts 0x03F2, r1
2d18: 10 92 f1 03 sts 0x03F1, r1
2d1c: 10 92 f0 03 sts 0x03F0, r1
2d20: 10 92 ef 03 sts 0x03EF, r1
2d24: 08 95 ret
 
00002d26 <__vector_12>:
2d26: 1f 92 push r1
2d28: 0f 92 push r0
2d2a: 0f b6 in r0, 0x3f ; 63
2d2c: 0f 92 push r0
2d2e: 11 24 eor r1, r1
2d30: 0f 93 push r16
2d32: 1f 93 push r17
2d34: 2f 93 push r18
2d36: 3f 93 push r19
2d38: 4f 93 push r20
2d3a: 5f 93 push r21
2d3c: 6f 93 push r22
2d3e: 7f 93 push r23
2d40: 8f 93 push r24
2d42: 9f 93 push r25
2d44: af 93 push r26
2d46: bf 93 push r27
2d48: cf 93 push r28
2d4a: df 93 push r29
2d4c: ef 93 push r30
2d4e: ff 93 push r31
2d50: 20 91 86 00 lds r18, 0x0086
2d54: 30 91 87 00 lds r19, 0x0087
2d58: 80 91 ed 03 lds r24, 0x03ED
2d5c: 90 91 ee 03 lds r25, 0x03EE
2d60: 28 1b sub r18, r24
2d62: 39 0b sbc r19, r25
2d64: 80 91 86 00 lds r24, 0x0086
2d68: 90 91 87 00 lds r25, 0x0087
2d6c: 90 93 ee 03 sts 0x03EE, r25
2d70: 80 93 ed 03 sts 0x03ED, r24
2d74: c9 01 movw r24, r18
2d76: 8d 54 subi r24, 0x4D ; 77
2d78: 94 40 sbci r25, 0x04 ; 4
2d7a: 00 91 eb 03 lds r16, 0x03EB
2d7e: 10 91 ec 03 lds r17, 0x03EC
2d82: 83 5f subi r24, 0xF3 ; 243
2d84: 9a 41 sbci r25, 0x1A ; 26
2d86: 60 f4 brcc .+24 ; 0x2da0 <__vector_12+0x7a>
2d88: 04 30 cpi r16, 0x04 ; 4
2d8a: 11 05 cpc r17, r1
2d8c: 14 f0 brlt .+4 ; 0x2d92 <__vector_12+0x6c>
2d8e: 10 92 6b 03 sts 0x036B, r1
2d92: 81 e0 ldi r24, 0x01 ; 1
2d94: 90 e0 ldi r25, 0x00 ; 0
2d96: 90 93 ec 03 sts 0x03EC, r25
2d9a: 80 93 eb 03 sts 0x03EB, r24
2d9e: 8b c0 rjmp .+278 ; 0x2eb6 <__vector_12+0x190>
2da0: 0a 30 cpi r16, 0x0A ; 10
2da2: 11 05 cpc r17, r1
2da4: 0c f0 brlt .+2 ; 0x2da8 <__vector_12+0x82>
2da6: 87 c0 rjmp .+270 ; 0x2eb6 <__vector_12+0x190>
2da8: c9 01 movw r24, r18
2daa: 8b 5f subi r24, 0xFB ; 251
2dac: 90 40 sbci r25, 0x00 ; 0
2dae: 84 5b subi r24, 0xB4 ; 180
2db0: 91 40 sbci r25, 0x01 ; 1
2db2: 08 f0 brcs .+2 ; 0x2db6 <__vector_12+0x90>
2db4: 68 c0 rjmp .+208 ; 0x2e86 <__vector_12+0x160>
2db6: e9 01 movw r28, r18
2db8: c2 5d subi r28, 0xD2 ; 210
2dba: d1 40 sbci r29, 0x01 ; 1
2dbc: f8 01 movw r30, r16
2dbe: ee 0f add r30, r30
2dc0: ff 1f adc r31, r31
2dc2: ed 5f subi r30, 0xFD ; 253
2dc4: f8 4f sbci r31, 0xF8 ; 248
2dc6: 80 81 ld r24, Z
2dc8: 91 81 ldd r25, Z+1 ; 0x01
2dca: 9e 01 movw r18, r28
2dcc: 28 1b sub r18, r24
2dce: 39 0b sbc r19, r25
2dd0: c9 01 movw r24, r18
2dd2: 37 ff sbrs r19, 7
2dd4: 03 c0 rjmp .+6 ; 0x2ddc <__vector_12+0xb6>
2dd6: 90 95 com r25
2dd8: 81 95 neg r24
2dda: 9f 4f sbci r25, 0xFF ; 255
2ddc: 06 97 sbiw r24, 0x06 ; 6
2dde: 4c f4 brge .+18 ; 0x2df2 <__vector_12+0xcc>
2de0: 80 91 45 04 lds r24, 0x0445
2de4: 88 3c cpi r24, 0xC8 ; 200
2de6: 28 f4 brcc .+10 ; 0x2df2 <__vector_12+0xcc>
2de8: 80 91 45 04 lds r24, 0x0445
2dec: 86 5f subi r24, 0xF6 ; 246
2dee: 80 93 45 04 sts 0x0445, r24
2df2: f8 01 movw r30, r16
2df4: ee 0f add r30, r30
2df6: ff 1f adc r31, r31
2df8: ed 5f subi r30, 0xFD ; 253
2dfa: f8 4f sbci r31, 0xF8 ; 248
2dfc: 20 81 ld r18, Z
2dfe: 31 81 ldd r19, Z+1 ; 0x01
2e00: c9 01 movw r24, r18
2e02: 88 0f add r24, r24
2e04: 99 1f adc r25, r25
2e06: 82 0f add r24, r18
2e08: 93 1f adc r25, r19
2e0a: 8c 0f add r24, r28
2e0c: 9d 1f adc r25, r29
2e0e: 64 e0 ldi r22, 0x04 ; 4
2e10: 70 e0 ldi r23, 0x00 ; 0
2e12: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
2e16: 9b 01 movw r18, r22
2e18: ce 01 movw r24, r28
2e1a: 01 96 adiw r24, 0x01 ; 1
2e1c: 86 17 cp r24, r22
2e1e: 97 07 cpc r25, r23
2e20: 1c f4 brge .+6 ; 0x2e28 <__vector_12+0x102>
2e22: 21 50 subi r18, 0x01 ; 1
2e24: 30 40 sbci r19, 0x00 ; 0
2e26: 06 c0 rjmp .+12 ; 0x2e34 <__vector_12+0x10e>
2e28: 21 97 sbiw r28, 0x01 ; 1
2e2a: 6c 17 cp r22, r28
2e2c: 7d 07 cpc r23, r29
2e2e: 14 f4 brge .+4 ; 0x2e34 <__vector_12+0x10e>
2e30: 2f 5f subi r18, 0xFF ; 255
2e32: 3f 4f sbci r19, 0xFF ; 255
2e34: 80 91 45 04 lds r24, 0x0445
2e38: e8 01 movw r28, r16
2e3a: cc 0f add r28, r28
2e3c: dd 1f adc r29, r29
2e3e: 83 3c cpi r24, 0xC3 ; 195
2e40: b8 f0 brcs .+46 ; 0x2e70 <__vector_12+0x14a>
2e42: fe 01 movw r30, r28
2e44: ed 5f subi r30, 0xFD ; 253
2e46: f8 4f sbci r31, 0xF8 ; 248
2e48: 80 81 ld r24, Z
2e4a: 91 81 ldd r25, Z+1 ; 0x01
2e4c: a9 01 movw r20, r18
2e4e: 48 1b sub r20, r24
2e50: 59 0b sbc r21, r25
2e52: ca 01 movw r24, r20
2e54: 63 e0 ldi r22, 0x03 ; 3
2e56: 70 e0 ldi r23, 0x00 ; 0
2e58: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
2e5c: cb 01 movw r24, r22
2e5e: 88 0f add r24, r24
2e60: 99 1f adc r25, r25
2e62: 86 0f add r24, r22
2e64: 97 1f adc r25, r23
2e66: c7 5e subi r28, 0xE7 ; 231
2e68: d8 4f sbci r29, 0xF8 ; 248
2e6a: 99 83 std Y+1, r25 ; 0x01
2e6c: 88 83 st Y, r24
2e6e: 04 c0 rjmp .+8 ; 0x2e78 <__vector_12+0x152>
2e70: c7 5e subi r28, 0xE7 ; 231
2e72: d8 4f sbci r29, 0xF8 ; 248
2e74: 19 82 std Y+1, r1 ; 0x01
2e76: 18 82 st Y, r1
2e78: f8 01 movw r30, r16
2e7a: ee 0f add r30, r30
2e7c: ff 1f adc r31, r31
2e7e: ed 5f subi r30, 0xFD ; 253
2e80: f8 4f sbci r31, 0xF8 ; 248
2e82: 31 83 std Z+1, r19 ; 0x01
2e84: 20 83 st Z, r18
2e86: f8 01 movw r30, r16
2e88: 31 96 adiw r30, 0x01 ; 1
2e8a: f0 93 ec 03 sts 0x03EC, r31
2e8e: e0 93 eb 03 sts 0x03EB, r30
2e92: e5 30 cpi r30, 0x05 ; 5
2e94: f1 05 cpc r31, r1
2e96: 19 f4 brne .+6 ; 0x2e9e <__vector_12+0x178>
2e98: 5d 9a sbi 0x0b, 5 ; 11
2e9a: 5c 98 cbi 0x0b, 4 ; 11
2e9c: 0b c0 rjmp .+22 ; 0x2eb4 <__vector_12+0x18e>
2e9e: 5d 98 cbi 0x0b, 5 ; 11
2ea0: e6 30 cpi r30, 0x06 ; 6
2ea2: f1 05 cpc r31, r1
2ea4: 11 f4 brne .+4 ; 0x2eaa <__vector_12+0x184>
2ea6: 5c 9a sbi 0x0b, 4 ; 11
2ea8: 05 c0 rjmp .+10 ; 0x2eb4 <__vector_12+0x18e>
2eaa: 5c 98 cbi 0x0b, 4 ; 11
2eac: 37 97 sbiw r30, 0x07 ; 7
2eae: 11 f4 brne .+4 ; 0x2eb4 <__vector_12+0x18e>
2eb0: 5b 9a sbi 0x0b, 3 ; 11
2eb2: 01 c0 rjmp .+2 ; 0x2eb6 <__vector_12+0x190>
2eb4: 5b 98 cbi 0x0b, 3 ; 11
2eb6: ff 91 pop r31
2eb8: ef 91 pop r30
2eba: df 91 pop r29
2ebc: cf 91 pop r28
2ebe: bf 91 pop r27
2ec0: af 91 pop r26
2ec2: 9f 91 pop r25
2ec4: 8f 91 pop r24
2ec6: 7f 91 pop r23
2ec8: 6f 91 pop r22
2eca: 5f 91 pop r21
2ecc: 4f 91 pop r20
2ece: 3f 91 pop r19
2ed0: 2f 91 pop r18
2ed2: 1f 91 pop r17
2ed4: 0f 91 pop r16
2ed6: 0f 90 pop r0
2ed8: 0f be out 0x3f, r0 ; 63
2eda: 0f 90 pop r0
2edc: 1f 90 pop r1
2ede: 18 95 reti
 
00002ee0 <Mittelwert>:
2ee0: a0 e1 ldi r26, 0x10 ; 16
2ee2: b0 e0 ldi r27, 0x00 ; 0
2ee4: e6 e7 ldi r30, 0x76 ; 118
2ee6: f7 e1 ldi r31, 0x17 ; 23
2ee8: 0c 94 f0 3c jmp 0x79e0 ; 0x79e0 <__prologue_saves__>
2eec: 80 91 c9 03 lds r24, 0x03C9
2ef0: 90 91 ca 03 lds r25, 0x03CA
2ef4: 40 90 f3 03 lds r4, 0x03F3
2ef8: 50 90 f4 03 lds r5, 0x03F4
2efc: 48 1a sub r4, r24
2efe: 59 0a sbc r5, r25
2f00: 50 92 a7 07 sts 0x07A7, r5
2f04: 40 92 a6 07 sts 0x07A6, r4
2f08: 20 91 c7 03 lds r18, 0x03C7
2f0c: 30 91 c8 03 lds r19, 0x03C8
2f10: 80 91 c5 03 lds r24, 0x03C5
2f14: 90 91 c6 03 lds r25, 0x03C6
2f18: 9e 87 std Y+14, r25 ; 0x0e
2f1a: 8d 87 std Y+13, r24 ; 0x0d
2f1c: a0 91 ef 03 lds r26, 0x03EF
2f20: b0 91 f0 03 lds r27, 0x03F0
2f24: bc 87 std Y+12, r27 ; 0x0c
2f26: ab 87 std Y+11, r26 ; 0x0b
2f28: 80 91 f1 03 lds r24, 0x03F1
2f2c: 90 91 f2 03 lds r25, 0x03F2
2f30: 28 1b sub r18, r24
2f32: 39 0b sbc r19, r25
2f34: 38 8b std Y+16, r19 ; 0x10
2f36: 2f 87 std Y+15, r18 ; 0x0f
2f38: 30 93 e0 06 sts 0x06E0, r19
2f3c: 20 93 df 06 sts 0x06DF, r18
2f40: 60 91 cd 03 lds r22, 0x03CD
2f44: 70 91 ce 03 lds r23, 0x03CE
2f48: e0 90 a3 07 lds r14, 0x07A3
2f4c: f0 90 a4 07 lds r15, 0x07A4
2f50: 00 27 eor r16, r16
2f52: f7 fc sbrc r15, 7
2f54: 00 95 com r16
2f56: 10 2f mov r17, r16
2f58: 88 27 eor r24, r24
2f5a: 77 fd sbrc r23, 7
2f5c: 80 95 com r24
2f5e: 98 2f mov r25, r24
2f60: 2c e0 ldi r18, 0x0C ; 12
2f62: 30 e0 ldi r19, 0x00 ; 0
2f64: 40 e0 ldi r20, 0x00 ; 0
2f66: 50 e0 ldi r21, 0x00 ; 0
2f68: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
2f6c: e6 0e add r14, r22
2f6e: f7 1e adc r15, r23
2f70: 08 1f adc r16, r24
2f72: 19 1f adc r17, r25
2f74: c8 01 movw r24, r16
2f76: b7 01 movw r22, r14
2f78: 22 e0 ldi r18, 0x02 ; 2
2f7a: 30 e0 ldi r19, 0x00 ; 0
2f7c: 40 e0 ldi r20, 0x00 ; 0
2f7e: 50 e0 ldi r21, 0x00 ; 0
2f80: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
2f84: 30 93 a4 07 sts 0x07A4, r19
2f88: 20 93 a3 07 sts 0x07A3, r18
2f8c: 60 91 cb 03 lds r22, 0x03CB
2f90: 70 91 cc 03 lds r23, 0x03CC
2f94: e0 90 ad 07 lds r14, 0x07AD
2f98: f0 90 ae 07 lds r15, 0x07AE
2f9c: 00 27 eor r16, r16
2f9e: f7 fc sbrc r15, 7
2fa0: 00 95 com r16
2fa2: 10 2f mov r17, r16
2fa4: 88 27 eor r24, r24
2fa6: 77 fd sbrc r23, 7
2fa8: 80 95 com r24
2faa: 98 2f mov r25, r24
2fac: 2c e0 ldi r18, 0x0C ; 12
2fae: 30 e0 ldi r19, 0x00 ; 0
2fb0: 40 e0 ldi r20, 0x00 ; 0
2fb2: 50 e0 ldi r21, 0x00 ; 0
2fb4: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
2fb8: e6 0e add r14, r22
2fba: f7 1e adc r15, r23
2fbc: 08 1f adc r16, r24
2fbe: 19 1f adc r17, r25
2fc0: c8 01 movw r24, r16
2fc2: b7 01 movw r22, r14
2fc4: 22 e0 ldi r18, 0x02 ; 2
2fc6: 30 e0 ldi r19, 0x00 ; 0
2fc8: 40 e0 ldi r20, 0x00 ; 0
2fca: 50 e0 ldi r21, 0x00 ; 0
2fcc: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
2fd0: 30 93 ae 07 sts 0x07AE, r19
2fd4: 20 93 ad 07 sts 0x07AD, r18
2fd8: 20 91 cf 03 lds r18, 0x03CF
2fdc: 30 91 d0 03 lds r19, 0x03D0
2fe0: 60 91 86 07 lds r22, 0x0786
2fe4: 70 91 87 07 lds r23, 0x0787
2fe8: 88 27 eor r24, r24
2fea: 77 fd sbrc r23, 7
2fec: 80 95 com r24
2fee: 98 2f mov r25, r24
2ff0: 44 27 eor r20, r20
2ff2: 37 fd sbrc r19, 7
2ff4: 40 95 com r20
2ff6: 54 2f mov r21, r20
2ff8: 62 0f add r22, r18
2ffa: 73 1f adc r23, r19
2ffc: 84 1f adc r24, r20
2ffe: 95 1f adc r25, r21
3000: 22 e0 ldi r18, 0x02 ; 2
3002: 30 e0 ldi r19, 0x00 ; 0
3004: 40 e0 ldi r20, 0x00 ; 0
3006: 50 e0 ldi r21, 0x00 ; 0
3008: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
300c: 30 93 87 07 sts 0x0787, r19
3010: 20 93 86 07 sts 0x0786, r18
3014: 20 91 cd 03 lds r18, 0x03CD
3018: 30 91 ce 03 lds r19, 0x03CE
301c: c9 01 movw r24, r18
301e: 88 0f add r24, r24
3020: 99 1f adc r25, r25
3022: 82 0f add r24, r18
3024: 93 1f adc r25, r19
3026: 88 0f add r24, r24
3028: 99 1f adc r25, r25
302a: 88 0f add r24, r24
302c: 99 1f adc r25, r25
302e: aa 27 eor r26, r26
3030: 97 fd sbrc r25, 7
3032: a0 95 com r26
3034: ba 2f mov r27, r26
3036: 20 91 09 04 lds r18, 0x0409
303a: 30 91 0a 04 lds r19, 0x040A
303e: 40 91 0b 04 lds r20, 0x040B
3042: 50 91 0c 04 lds r21, 0x040C
3046: 28 0f add r18, r24
3048: 39 1f adc r19, r25
304a: 4a 1f adc r20, r26
304c: 5b 1f adc r21, r27
304e: 20 93 09 04 sts 0x0409, r18
3052: 30 93 0a 04 sts 0x040A, r19
3056: 40 93 0b 04 sts 0x040B, r20
305a: 50 93 0c 04 sts 0x040C, r21
305e: 20 91 cb 03 lds r18, 0x03CB
3062: 30 91 cc 03 lds r19, 0x03CC
3066: c9 01 movw r24, r18
3068: 88 0f add r24, r24
306a: 99 1f adc r25, r25
306c: 82 0f add r24, r18
306e: 93 1f adc r25, r19
3070: 88 0f add r24, r24
3072: 99 1f adc r25, r25
3074: 88 0f add r24, r24
3076: 99 1f adc r25, r25
3078: aa 27 eor r26, r26
307a: 97 fd sbrc r25, 7
307c: a0 95 com r26
307e: ba 2f mov r27, r26
3080: 20 91 0d 04 lds r18, 0x040D
3084: 30 91 0e 04 lds r19, 0x040E
3088: 40 91 0f 04 lds r20, 0x040F
308c: 50 91 10 04 lds r21, 0x0410
3090: 28 0f add r18, r24
3092: 39 1f adc r19, r25
3094: 4a 1f adc r20, r26
3096: 5b 1f adc r21, r27
3098: 20 93 0d 04 sts 0x040D, r18
309c: 30 93 0e 04 sts 0x040E, r19
30a0: 40 93 0f 04 sts 0x040F, r20
30a4: 50 93 10 04 sts 0x0410, r21
30a8: e0 90 eb 06 lds r14, 0x06EB
30ac: f0 90 ec 06 lds r15, 0x06EC
30b0: a0 90 9c 07 lds r10, 0x079C
30b4: b0 90 9d 07 lds r11, 0x079D
30b8: c0 90 9e 07 lds r12, 0x079E
30bc: d0 90 9f 07 lds r13, 0x079F
30c0: 60 91 11 04 lds r22, 0x0411
30c4: 70 91 12 04 lds r23, 0x0412
30c8: 80 91 13 04 lds r24, 0x0413
30cc: 90 91 14 04 lds r25, 0x0414
30d0: 0e 94 9f 3b call 0x773e ; 0x773e <__floatsisf>
30d4: 3b 01 movw r6, r22
30d6: 4c 01 movw r8, r24
30d8: 00 27 eor r16, r16
30da: f7 fc sbrc r15, 7
30dc: 00 95 com r16
30de: 10 2f mov r17, r16
30e0: c8 01 movw r24, r16
30e2: b7 01 movw r22, r14
30e4: 0e 94 9f 3b call 0x773e ; 0x773e <__floatsisf>
30e8: a6 01 movw r20, r12
30ea: 95 01 movw r18, r10
30ec: 0e 94 f9 3a call 0x75f2 ; 0x75f2 <__subsf3>
30f0: 9b 01 movw r18, r22
30f2: ac 01 movw r20, r24
30f4: c4 01 movw r24, r8
30f6: b3 01 movw r22, r6
30f8: 0e 94 fa 3a call 0x75f4 ; 0x75f4 <__addsf3>
30fc: 0e 94 82 3b call 0x7704 ; 0x7704 <__fixsfsi>
3100: 60 93 11 04 sts 0x0411, r22
3104: 70 93 12 04 sts 0x0412, r23
3108: 80 93 13 04 sts 0x0413, r24
310c: 90 93 14 04 sts 0x0414, r25
3110: 52 01 movw r10, r4
3112: cc 24 eor r12, r12
3114: b7 fc sbrc r11, 7
3116: c0 94 com r12
3118: dc 2c mov r13, r12
311a: 60 90 29 04 lds r6, 0x0429
311e: 70 90 2a 04 lds r7, 0x042A
3122: 80 90 2b 04 lds r8, 0x042B
3126: 90 90 2c 04 lds r9, 0x042C
312a: 6a 0c add r6, r10
312c: 7b 1c adc r7, r11
312e: 8c 1c adc r8, r12
3130: 9d 1c adc r9, r13
3132: 60 92 29 04 sts 0x0429, r6
3136: 70 92 2a 04 sts 0x042A, r7
313a: 80 92 2b 04 sts 0x042B, r8
313e: 90 92 2c 04 sts 0x042C, r9
3142: 80 91 2d 04 lds r24, 0x042D
3146: 90 91 2e 04 lds r25, 0x042E
314a: a0 91 2f 04 lds r26, 0x042F
314e: b0 91 30 04 lds r27, 0x0430
3152: 8a 0d add r24, r10
3154: 9b 1d adc r25, r11
3156: ac 1d adc r26, r12
3158: bd 1d adc r27, r13
315a: 80 93 2d 04 sts 0x042D, r24
315e: 90 93 2e 04 sts 0x042E, r25
3162: a0 93 2f 04 sts 0x042F, r26
3166: b0 93 30 04 sts 0x0430, r27
316a: b0 91 57 04 lds r27, 0x0457
316e: ba 87 std Y+10, r27 ; 0x0a
3170: bb 23 and r27, r27
3172: 09 f0 breq .+2 ; 0x3176 <Mittelwert+0x296>
3174: 5f c0 rjmp .+190 ; 0x3234 <Mittelwert+0x354>
3176: 80 91 58 04 lds r24, 0x0458
317a: 88 23 and r24, r24
317c: 09 f0 breq .+2 ; 0x3180 <Mittelwert+0x2a0>
317e: 5a c0 rjmp .+180 ; 0x3234 <Mittelwert+0x354>
3180: 80 91 37 07 lds r24, 0x0737
3184: 86 ff sbrs r24, 6
3186: 56 c0 rjmp .+172 ; 0x3234 <Mittelwert+0x354>
3188: e0 90 65 04 lds r14, 0x0465
318c: ff 24 eor r15, r15
318e: 00 27 eor r16, r16
3190: 11 27 eor r17, r17
3192: 60 91 19 04 lds r22, 0x0419
3196: 70 91 1a 04 lds r23, 0x041A
319a: 80 91 1b 04 lds r24, 0x041B
319e: 90 91 1c 04 lds r25, 0x041C
31a2: 20 e0 ldi r18, 0x00 ; 0
31a4: 30 e1 ldi r19, 0x10 ; 16
31a6: 40 e0 ldi r20, 0x00 ; 0
31a8: 50 e0 ldi r21, 0x00 ; 0
31aa: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
31ae: ca 01 movw r24, r20
31b0: b9 01 movw r22, r18
31b2: a8 01 movw r20, r16
31b4: 97 01 movw r18, r14
31b6: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
31ba: 9b 01 movw r18, r22
31bc: ac 01 movw r20, r24
31be: c6 01 movw r24, r12
31c0: b5 01 movw r22, r10
31c2: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
31c6: 20 e0 ldi r18, 0x00 ; 0
31c8: 38 e0 ldi r19, 0x08 ; 8
31ca: 40 e0 ldi r20, 0x00 ; 0
31cc: 50 e0 ldi r21, 0x00 ; 0
31ce: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
31d2: 20 93 b2 04 sts 0x04B2, r18
31d6: 30 93 b3 04 sts 0x04B3, r19
31da: 40 93 b4 04 sts 0x04B4, r20
31de: 50 93 b5 04 sts 0x04B5, r21
31e2: 60 91 21 04 lds r22, 0x0421
31e6: 70 91 22 04 lds r23, 0x0422
31ea: 80 91 23 04 lds r24, 0x0423
31ee: 90 91 24 04 lds r25, 0x0424
31f2: 20 e0 ldi r18, 0x00 ; 0
31f4: 30 e1 ldi r19, 0x10 ; 16
31f6: 40 e0 ldi r20, 0x00 ; 0
31f8: 50 e0 ldi r21, 0x00 ; 0
31fa: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
31fe: ca 01 movw r24, r20
3200: b9 01 movw r22, r18
3202: a8 01 movw r20, r16
3204: 97 01 movw r18, r14
3206: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
320a: 9b 01 movw r18, r22
320c: ac 01 movw r20, r24
320e: c6 01 movw r24, r12
3210: b5 01 movw r22, r10
3212: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
3216: 20 e0 ldi r18, 0x00 ; 0
3218: 38 e0 ldi r19, 0x08 ; 8
321a: 40 e0 ldi r20, 0x00 ; 0
321c: 50 e0 ldi r21, 0x00 ; 0
321e: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
3222: 20 93 ae 04 sts 0x04AE, r18
3226: 30 93 af 04 sts 0x04AF, r19
322a: 40 93 b0 04 sts 0x04B0, r20
322e: 50 93 b1 04 sts 0x04B1, r21
3232: 10 c0 rjmp .+32 ; 0x3254 <Mittelwert+0x374>
3234: 10 92 ae 04 sts 0x04AE, r1
3238: 10 92 af 04 sts 0x04AF, r1
323c: 10 92 b0 04 sts 0x04B0, r1
3240: 10 92 b1 04 sts 0x04B1, r1
3244: 10 92 b2 04 sts 0x04B2, r1
3248: 10 92 b3 04 sts 0x04B3, r1
324c: 10 92 b4 04 sts 0x04B4, r1
3250: 10 92 b5 04 sts 0x04B5, r1
3254: 80 91 b2 04 lds r24, 0x04B2
3258: 90 91 b3 04 lds r25, 0x04B3
325c: a0 91 b4 04 lds r26, 0x04B4
3260: b0 91 b5 04 lds r27, 0x04B5
3264: 8e 83 std Y+6, r24 ; 0x06
3266: 9f 83 std Y+7, r25 ; 0x07
3268: a8 87 std Y+8, r26 ; 0x08
326a: b9 87 std Y+9, r27 ; 0x09
326c: 80 91 ae 04 lds r24, 0x04AE
3270: 90 91 af 04 lds r25, 0x04AF
3274: a0 91 b0 04 lds r26, 0x04B0
3278: b0 91 b1 04 lds r27, 0x04B1
327c: 8a 83 std Y+2, r24 ; 0x02
327e: 9b 83 std Y+3, r25 ; 0x03
3280: ac 83 std Y+4, r26 ; 0x04
3282: bd 83 std Y+5, r27 ; 0x05
3284: 80 91 66 04 lds r24, 0x0466
3288: 28 2e mov r2, r24
328a: 33 24 eor r3, r3
328c: 44 24 eor r4, r4
328e: 55 24 eor r5, r5
3290: ee 80 ldd r14, Y+6 ; 0x06
3292: ff 80 ldd r15, Y+7 ; 0x07
3294: af 85 ldd r26, Y+15 ; 0x0f
3296: b8 89 ldd r27, Y+16 ; 0x10
3298: ea 0e add r14, r26
329a: fb 1e adc r15, r27
329c: 6a 81 ldd r22, Y+2 ; 0x02
329e: 7b 81 ldd r23, Y+3 ; 0x03
32a0: 8c 81 ldd r24, Y+4 ; 0x04
32a2: 9d 81 ldd r25, Y+5 ; 0x05
32a4: a2 01 movw r20, r4
32a6: 91 01 movw r18, r2
32a8: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
32ac: 20 e0 ldi r18, 0x00 ; 0
32ae: 32 e0 ldi r19, 0x02 ; 2
32b0: 40 e0 ldi r20, 0x00 ; 0
32b2: 50 e0 ldi r21, 0x00 ; 0
32b4: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
32b8: e2 0e add r14, r18
32ba: f3 1e adc r15, r19
32bc: f0 92 78 07 sts 0x0778, r15
32c0: e0 92 77 07 sts 0x0777, r14
32c4: 97 01 movw r18, r14
32c6: 44 27 eor r20, r20
32c8: 37 fd sbrc r19, 7
32ca: 40 95 com r20
32cc: 54 2f mov r21, r20
32ce: 80 91 25 04 lds r24, 0x0425
32d2: 90 91 26 04 lds r25, 0x0426
32d6: a0 91 27 04 lds r26, 0x0427
32da: b0 91 28 04 lds r27, 0x0428
32de: 82 0f add r24, r18
32e0: 93 1f adc r25, r19
32e2: a4 1f adc r26, r20
32e4: b5 1f adc r27, r21
32e6: 80 93 25 04 sts 0x0425, r24
32ea: 90 93 26 04 sts 0x0426, r25
32ee: a0 93 27 04 sts 0x0427, r26
32f2: b0 93 28 04 sts 0x0428, r27
32f6: 80 91 53 04 lds r24, 0x0453
32fa: 90 91 54 04 lds r25, 0x0454
32fe: e8 1a sub r14, r24
3300: f9 0a sbc r15, r25
3302: 00 27 eor r16, r16
3304: f7 fc sbrc r15, 7
3306: 00 95 com r16
3308: 10 2f mov r17, r16
330a: 80 91 21 04 lds r24, 0x0421
330e: 90 91 22 04 lds r25, 0x0422
3312: a0 91 23 04 lds r26, 0x0423
3316: b0 91 24 04 lds r27, 0x0424
331a: e8 0e add r14, r24
331c: f9 1e adc r15, r25
331e: 0a 1f adc r16, r26
3320: 1b 1f adc r17, r27
3322: e0 92 21 04 sts 0x0421, r14
3326: f0 92 22 04 sts 0x0422, r15
332a: 00 93 23 04 sts 0x0423, r16
332e: 10 93 24 04 sts 0x0424, r17
3332: a0 90 8b 03 lds r10, 0x038B
3336: b0 90 8c 03 lds r11, 0x038C
333a: c0 90 8d 03 lds r12, 0x038D
333e: d0 90 8e 03 lds r13, 0x038E
3342: ae 14 cp r10, r14
3344: bf 04 cpc r11, r15
3346: c0 06 cpc r12, r16
3348: d1 06 cpc r13, r17
334a: c4 f4 brge .+48 ; 0x337c <Mittelwert+0x49c>
334c: 80 e1 ldi r24, 0x10 ; 16
334e: 97 e2 ldi r25, 0x27 ; 39
3350: a0 e0 ldi r26, 0x00 ; 0
3352: b0 e0 ldi r27, 0x00 ; 0
3354: 8a 19 sub r24, r10
3356: 9b 09 sbc r25, r11
3358: ac 09 sbc r26, r12
335a: bd 09 sbc r27, r13
335c: 80 93 21 04 sts 0x0421, r24
3360: 90 93 22 04 sts 0x0422, r25
3364: a0 93 23 04 sts 0x0423, r26
3368: b0 93 24 04 sts 0x0424, r27
336c: 80 93 25 04 sts 0x0425, r24
3370: 90 93 26 04 sts 0x0426, r25
3374: a0 93 27 04 sts 0x0427, r26
3378: b0 93 28 04 sts 0x0428, r27
337c: 22 27 eor r18, r18
337e: 33 27 eor r19, r19
3380: a9 01 movw r20, r18
3382: 2a 19 sub r18, r10
3384: 3b 09 sbc r19, r11
3386: 4c 09 sbc r20, r12
3388: 5d 09 sbc r21, r13
338a: 80 91 21 04 lds r24, 0x0421
338e: 90 91 22 04 lds r25, 0x0422
3392: a0 91 23 04 lds r26, 0x0423
3396: b0 91 24 04 lds r27, 0x0424
339a: 82 17 cp r24, r18
339c: 93 07 cpc r25, r19
339e: a4 07 cpc r26, r20
33a0: b5 07 cpc r27, r21
33a2: b4 f4 brge .+44 ; 0x33d0 <Mittelwert+0x4f0>
33a4: d6 01 movw r26, r12
33a6: c5 01 movw r24, r10
33a8: 80 51 subi r24, 0x10 ; 16
33aa: 97 42 sbci r25, 0x27 ; 39
33ac: a0 40 sbci r26, 0x00 ; 0
33ae: b0 40 sbci r27, 0x00 ; 0
33b0: 80 93 21 04 sts 0x0421, r24
33b4: 90 93 22 04 sts 0x0422, r25
33b8: a0 93 23 04 sts 0x0423, r26
33bc: b0 93 24 04 sts 0x0424, r27
33c0: 80 93 25 04 sts 0x0425, r24
33c4: 90 93 26 04 sts 0x0426, r25
33c8: a0 93 27 04 sts 0x0427, r26
33cc: b0 93 28 04 sts 0x0428, r27
33d0: 80 91 c7 03 lds r24, 0x03C7
33d4: 90 91 c8 03 lds r25, 0x03C8
33d8: 0f 97 sbiw r24, 0x0f ; 15
33da: 34 f4 brge .+12 ; 0x33e8 <Mittelwert+0x508>
33dc: 88 e1 ldi r24, 0x18 ; 24
33de: 9c ef ldi r25, 0xFC ; 252
33e0: 90 93 78 07 sts 0x0778, r25
33e4: 80 93 77 07 sts 0x0777, r24
33e8: 80 91 c7 03 lds r24, 0x03C7
33ec: 90 91 c8 03 lds r25, 0x03C8
33f0: 07 97 sbiw r24, 0x07 ; 7
33f2: 34 f4 brge .+12 ; 0x3400 <Mittelwert+0x520>
33f4: 80 e3 ldi r24, 0x30 ; 48
33f6: 98 ef ldi r25, 0xF8 ; 248
33f8: 90 93 78 07 sts 0x0778, r25
33fc: 80 93 77 07 sts 0x0777, r24
3400: b0 91 00 01 lds r27, 0x0100
3404: b9 83 std Y+1, r27 ; 0x01
3406: ba 30 cpi r27, 0x0A ; 10
3408: a9 f4 brne .+42 ; 0x3434 <Mittelwert+0x554>
340a: 80 91 c7 03 lds r24, 0x03C7
340e: 90 91 c8 03 lds r25, 0x03C8
3412: 83 5f subi r24, 0xF3 ; 243
3414: 93 40 sbci r25, 0x03 ; 3
3416: 34 f0 brlt .+12 ; 0x3424 <Mittelwert+0x544>
3418: 88 ee ldi r24, 0xE8 ; 232
341a: 93 e0 ldi r25, 0x03 ; 3
341c: 90 93 78 07 sts 0x0778, r25
3420: 80 93 77 07 sts 0x0777, r24
3424: 80 91 c7 03 lds r24, 0x03C7
3428: 90 91 c8 03 lds r25, 0x03C8
342c: 8a 5f subi r24, 0xFA ; 250
342e: 93 40 sbci r25, 0x03 ; 3
3430: dc f0 brlt .+54 ; 0x3468 <Mittelwert+0x588>
3432: 14 c0 rjmp .+40 ; 0x345c <Mittelwert+0x57c>
3434: 80 91 c7 03 lds r24, 0x03C7
3438: 90 91 c8 03 lds r25, 0x03C8
343c: 85 5e subi r24, 0xE5 ; 229
343e: 97 40 sbci r25, 0x07 ; 7
3440: 34 f0 brlt .+12 ; 0x344e <Mittelwert+0x56e>
3442: 88 ee ldi r24, 0xE8 ; 232
3444: 93 e0 ldi r25, 0x03 ; 3
3446: 90 93 78 07 sts 0x0778, r25
344a: 80 93 77 07 sts 0x0777, r24
344e: 80 91 c7 03 lds r24, 0x03C7
3452: 90 91 c8 03 lds r25, 0x03C8
3456: 83 5f subi r24, 0xF3 ; 243
3458: 97 40 sbci r25, 0x07 ; 7
345a: 34 f0 brlt .+12 ; 0x3468 <Mittelwert+0x588>
345c: 80 ed ldi r24, 0xD0 ; 208
345e: 97 e0 ldi r25, 0x07 ; 7
3460: 90 93 78 07 sts 0x0778, r25
3464: 80 93 77 07 sts 0x0777, r24
3468: ed 84 ldd r14, Y+13 ; 0x0d
346a: fe 84 ldd r15, Y+14 ; 0x0e
346c: 8b 85 ldd r24, Y+11 ; 0x0b
346e: 9c 85 ldd r25, Y+12 ; 0x0c
3470: e8 1a sub r14, r24
3472: f9 0a sbc r15, r25
3474: aa 81 ldd r26, Y+2 ; 0x02
3476: bb 81 ldd r27, Y+3 ; 0x03
3478: ea 1a sub r14, r26
347a: fb 0a sbc r15, r27
347c: 6e 81 ldd r22, Y+6 ; 0x06
347e: 7f 81 ldd r23, Y+7 ; 0x07
3480: 88 85 ldd r24, Y+8 ; 0x08
3482: 99 85 ldd r25, Y+9 ; 0x09
3484: a2 01 movw r20, r4
3486: 91 01 movw r18, r2
3488: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
348c: 20 e0 ldi r18, 0x00 ; 0
348e: 32 e0 ldi r19, 0x02 ; 2
3490: 40 e0 ldi r20, 0x00 ; 0
3492: 50 e0 ldi r21, 0x00 ; 0
3494: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
3498: e2 1a sub r14, r18
349a: f3 0a sbc r15, r19
349c: f0 92 80 07 sts 0x0780, r15
34a0: e0 92 7f 07 sts 0x077F, r14
34a4: 97 01 movw r18, r14
34a6: 44 27 eor r20, r20
34a8: 37 fd sbrc r19, 7
34aa: 40 95 com r20
34ac: 54 2f mov r21, r20
34ae: 80 91 1d 04 lds r24, 0x041D
34b2: 90 91 1e 04 lds r25, 0x041E
34b6: a0 91 1f 04 lds r26, 0x041F
34ba: b0 91 20 04 lds r27, 0x0420
34be: 82 0f add r24, r18
34c0: 93 1f adc r25, r19
34c2: a4 1f adc r26, r20
34c4: b5 1f adc r27, r21
34c6: 80 93 1d 04 sts 0x041D, r24
34ca: 90 93 1e 04 sts 0x041E, r25
34ce: a0 93 1f 04 sts 0x041F, r26
34d2: b0 93 20 04 sts 0x0420, r27
34d6: 80 91 55 04 lds r24, 0x0455
34da: 90 91 56 04 lds r25, 0x0456
34de: e8 1a sub r14, r24
34e0: f9 0a sbc r15, r25
34e2: 00 27 eor r16, r16
34e4: f7 fc sbrc r15, 7
34e6: 00 95 com r16
34e8: 10 2f mov r17, r16
34ea: 80 91 19 04 lds r24, 0x0419
34ee: 90 91 1a 04 lds r25, 0x041A
34f2: a0 91 1b 04 lds r26, 0x041B
34f6: b0 91 1c 04 lds r27, 0x041C
34fa: e8 0e add r14, r24
34fc: f9 1e adc r15, r25
34fe: 0a 1f adc r16, r26
3500: 1b 1f adc r17, r27
3502: e0 92 19 04 sts 0x0419, r14
3506: f0 92 1a 04 sts 0x041A, r15
350a: 00 93 1b 04 sts 0x041B, r16
350e: 10 93 1c 04 sts 0x041C, r17
3512: a0 90 87 03 lds r10, 0x0387
3516: b0 90 88 03 lds r11, 0x0388
351a: c0 90 89 03 lds r12, 0x0389
351e: d0 90 8a 03 lds r13, 0x038A
3522: ae 14 cp r10, r14
3524: bf 04 cpc r11, r15
3526: c0 06 cpc r12, r16
3528: d1 06 cpc r13, r17
352a: c4 f4 brge .+48 ; 0x355c <Mittelwert+0x67c>
352c: 80 e1 ldi r24, 0x10 ; 16
352e: 97 e2 ldi r25, 0x27 ; 39
3530: a0 e0 ldi r26, 0x00 ; 0
3532: b0 e0 ldi r27, 0x00 ; 0
3534: 8a 19 sub r24, r10
3536: 9b 09 sbc r25, r11
3538: ac 09 sbc r26, r12
353a: bd 09 sbc r27, r13
353c: 80 93 19 04 sts 0x0419, r24
3540: 90 93 1a 04 sts 0x041A, r25
3544: a0 93 1b 04 sts 0x041B, r26
3548: b0 93 1c 04 sts 0x041C, r27
354c: 80 93 1d 04 sts 0x041D, r24
3550: 90 93 1e 04 sts 0x041E, r25
3554: a0 93 1f 04 sts 0x041F, r26
3558: b0 93 20 04 sts 0x0420, r27
355c: 22 27 eor r18, r18
355e: 33 27 eor r19, r19
3560: a9 01 movw r20, r18
3562: 2a 19 sub r18, r10
3564: 3b 09 sbc r19, r11
3566: 4c 09 sbc r20, r12
3568: 5d 09 sbc r21, r13
356a: 80 91 19 04 lds r24, 0x0419
356e: 90 91 1a 04 lds r25, 0x041A
3572: a0 91 1b 04 lds r26, 0x041B
3576: b0 91 1c 04 lds r27, 0x041C
357a: 82 17 cp r24, r18
357c: 93 07 cpc r25, r19
357e: a4 07 cpc r26, r20
3580: b5 07 cpc r27, r21
3582: b4 f4 brge .+44 ; 0x35b0 <Mittelwert+0x6d0>
3584: d6 01 movw r26, r12
3586: c5 01 movw r24, r10
3588: 80 51 subi r24, 0x10 ; 16
358a: 97 42 sbci r25, 0x27 ; 39
358c: a0 40 sbci r26, 0x00 ; 0
358e: b0 40 sbci r27, 0x00 ; 0
3590: 80 93 19 04 sts 0x0419, r24
3594: 90 93 1a 04 sts 0x041A, r25
3598: a0 93 1b 04 sts 0x041B, r26
359c: b0 93 1c 04 sts 0x041C, r27
35a0: 80 93 1d 04 sts 0x041D, r24
35a4: 90 93 1e 04 sts 0x041E, r25
35a8: a0 93 1f 04 sts 0x041F, r26
35ac: b0 93 20 04 sts 0x0420, r27
35b0: 80 91 c5 03 lds r24, 0x03C5
35b4: 90 91 c6 03 lds r25, 0x03C6
35b8: 0f 97 sbiw r24, 0x0f ; 15
35ba: 34 f4 brge .+12 ; 0x35c8 <Mittelwert+0x6e8>
35bc: 88 e1 ldi r24, 0x18 ; 24
35be: 9c ef ldi r25, 0xFC ; 252
35c0: 90 93 80 07 sts 0x0780, r25
35c4: 80 93 7f 07 sts 0x077F, r24
35c8: 80 91 c5 03 lds r24, 0x03C5
35cc: 90 91 c6 03 lds r25, 0x03C6
35d0: 07 97 sbiw r24, 0x07 ; 7
35d2: 34 f4 brge .+12 ; 0x35e0 <Mittelwert+0x700>
35d4: 80 e3 ldi r24, 0x30 ; 48
35d6: 98 ef ldi r25, 0xF8 ; 248
35d8: 90 93 80 07 sts 0x0780, r25
35dc: 80 93 7f 07 sts 0x077F, r24
35e0: b9 81 ldd r27, Y+1 ; 0x01
35e2: ba 30 cpi r27, 0x0A ; 10
35e4: a9 f4 brne .+42 ; 0x3610 <Mittelwert+0x730>
35e6: 80 91 c5 03 lds r24, 0x03C5
35ea: 90 91 c6 03 lds r25, 0x03C6
35ee: 83 5f subi r24, 0xF3 ; 243
35f0: 93 40 sbci r25, 0x03 ; 3
35f2: 34 f0 brlt .+12 ; 0x3600 <Mittelwert+0x720>
35f4: 88 ee ldi r24, 0xE8 ; 232
35f6: 93 e0 ldi r25, 0x03 ; 3
35f8: 90 93 80 07 sts 0x0780, r25
35fc: 80 93 7f 07 sts 0x077F, r24
3600: 80 91 c5 03 lds r24, 0x03C5
3604: 90 91 c6 03 lds r25, 0x03C6
3608: 8a 5f subi r24, 0xFA ; 250
360a: 93 40 sbci r25, 0x03 ; 3
360c: dc f0 brlt .+54 ; 0x3644 <Mittelwert+0x764>
360e: 14 c0 rjmp .+40 ; 0x3638 <Mittelwert+0x758>
3610: 80 91 c5 03 lds r24, 0x03C5
3614: 90 91 c6 03 lds r25, 0x03C6
3618: 85 5e subi r24, 0xE5 ; 229
361a: 97 40 sbci r25, 0x07 ; 7
361c: 34 f0 brlt .+12 ; 0x362a <Mittelwert+0x74a>
361e: 88 ee ldi r24, 0xE8 ; 232
3620: 93 e0 ldi r25, 0x03 ; 3
3622: 90 93 80 07 sts 0x0780, r25
3626: 80 93 7f 07 sts 0x077F, r24
362a: 80 91 c5 03 lds r24, 0x03C5
362e: 90 91 c6 03 lds r25, 0x03C6
3632: 83 5f subi r24, 0xF3 ; 243
3634: 97 40 sbci r25, 0x07 ; 7
3636: 34 f0 brlt .+12 ; 0x3644 <Mittelwert+0x764>
3638: 80 ed ldi r24, 0xD0 ; 208
363a: 97 e0 ldi r25, 0x07 ; 7
363c: 90 93 80 07 sts 0x0780, r25
3640: 80 93 7f 07 sts 0x077F, r24
3644: 8f ee ldi r24, 0xEF ; 239
3646: 80 93 7a 00 sts 0x007A, r24
364a: 60 92 15 04 sts 0x0415, r6
364e: 70 92 16 04 sts 0x0416, r7
3652: 80 92 17 04 sts 0x0417, r8
3656: 90 92 18 04 sts 0x0418, r9
365a: 80 91 19 04 lds r24, 0x0419
365e: 90 91 1a 04 lds r25, 0x041A
3662: a0 91 1b 04 lds r26, 0x041B
3666: b0 91 1c 04 lds r27, 0x041C
366a: 80 93 f9 03 sts 0x03F9, r24
366e: 90 93 fa 03 sts 0x03FA, r25
3672: a0 93 fb 03 sts 0x03FB, r26
3676: b0 93 fc 03 sts 0x03FC, r27
367a: 80 91 21 04 lds r24, 0x0421
367e: 90 91 22 04 lds r25, 0x0422
3682: a0 91 23 04 lds r26, 0x0423
3686: b0 91 24 04 lds r27, 0x0424
368a: 80 93 01 04 sts 0x0401, r24
368e: 90 93 02 04 sts 0x0402, r25
3692: a0 93 03 04 sts 0x0403, r26
3696: b0 93 04 04 sts 0x0404, r27
369a: 80 91 1d 04 lds r24, 0x041D
369e: 90 91 1e 04 lds r25, 0x041E
36a2: a0 91 1f 04 lds r26, 0x041F
36a6: b0 91 20 04 lds r27, 0x0420
36aa: 80 93 fd 03 sts 0x03FD, r24
36ae: 90 93 fe 03 sts 0x03FE, r25
36b2: a0 93 ff 03 sts 0x03FF, r26
36b6: b0 93 00 04 sts 0x0400, r27
36ba: 80 91 25 04 lds r24, 0x0425
36be: 90 91 26 04 lds r25, 0x0426
36c2: a0 91 27 04 lds r26, 0x0427
36c6: b0 91 28 04 lds r27, 0x0428
36ca: 80 93 05 04 sts 0x0405, r24
36ce: 90 93 06 04 sts 0x0406, r25
36d2: a0 93 07 04 sts 0x0407, r26
36d6: b0 93 08 04 sts 0x0408, r27
36da: 80 91 37 07 lds r24, 0x0737
36de: 87 ff sbrs r24, 7
36e0: 3f c0 rjmp .+126 ; 0x3760 <Mittelwert+0x880>
36e2: 8a 85 ldd r24, Y+10 ; 0x0a
36e4: 88 23 and r24, r24
36e6: e1 f5 brne .+120 ; 0x3760 <Mittelwert+0x880>
36e8: 80 91 58 04 lds r24, 0x0458
36ec: 88 23 and r24, r24
36ee: c1 f5 brne .+112 ; 0x3760 <Mittelwert+0x880>
36f0: 20 91 7f 07 lds r18, 0x077F
36f4: 30 91 80 07 lds r19, 0x0780
36f8: 29 3c cpi r18, 0xC9 ; 201
36fa: 31 05 cpc r19, r1
36fc: 24 f0 brlt .+8 ; 0x3706 <Mittelwert+0x826>
36fe: c9 01 movw r24, r18
3700: 80 52 subi r24, 0x20 ; 32
3702: 93 40 sbci r25, 0x03 ; 3
3704: 07 c0 rjmp .+14 ; 0x3714 <Mittelwert+0x834>
3706: 9f ef ldi r25, 0xFF ; 255
3708: 28 33 cpi r18, 0x38 ; 56
370a: 39 07 cpc r19, r25
370c: 6c f4 brge .+26 ; 0x3728 <Mittelwert+0x848>
370e: c9 01 movw r24, r18
3710: 80 5e subi r24, 0xE0 ; 224
3712: 9c 4f sbci r25, 0xFC ; 252
3714: 22 0f add r18, r18
3716: 33 1f adc r19, r19
3718: 22 0f add r18, r18
371a: 33 1f adc r19, r19
371c: 28 0f add r18, r24
371e: 39 1f adc r19, r25
3720: 30 93 80 07 sts 0x0780, r19
3724: 20 93 7f 07 sts 0x077F, r18
3728: 20 91 77 07 lds r18, 0x0777
372c: 30 91 78 07 lds r19, 0x0778
3730: 29 3c cpi r18, 0xC9 ; 201
3732: 31 05 cpc r19, r1
3734: 24 f0 brlt .+8 ; 0x373e <Mittelwert+0x85e>
3736: c9 01 movw r24, r18
3738: 80 52 subi r24, 0x20 ; 32
373a: 93 40 sbci r25, 0x03 ; 3
373c: 07 c0 rjmp .+14 ; 0x374c <Mittelwert+0x86c>
373e: af ef ldi r26, 0xFF ; 255
3740: 28 33 cpi r18, 0x38 ; 56
3742: 3a 07 cpc r19, r26
3744: 6c f4 brge .+26 ; 0x3760 <Mittelwert+0x880>
3746: c9 01 movw r24, r18
3748: 80 5e subi r24, 0xE0 ; 224
374a: 9c 4f sbci r25, 0xFC ; 252
374c: 22 0f add r18, r18
374e: 33 1f adc r19, r19
3750: 22 0f add r18, r18
3752: 33 1f adc r19, r19
3754: 28 0f add r18, r24
3756: 39 1f adc r19, r25
3758: 30 93 78 07 sts 0x0778, r19
375c: 20 93 77 07 sts 0x0777, r18
3760: 20 91 3d 04 lds r18, 0x043D
3764: 30 91 3e 04 lds r19, 0x043E
3768: 80 91 33 07 lds r24, 0x0733
376c: e8 2f mov r30, r24
376e: ff 27 eor r31, r31
3770: ee 0f add r30, r30
3772: ff 1f adc r31, r31
3774: ed 5f subi r30, 0xFD ; 253
3776: f8 4f sbci r31, 0xF8 ; 248
3778: 80 81 ld r24, Z
377a: 91 81 ldd r25, Z+1 ; 0x01
377c: 82 59 subi r24, 0x92 ; 146
377e: 9f 4f sbci r25, 0xFF ; 255
3780: 28 17 cp r18, r24
3782: 39 07 cpc r19, r25
3784: 1c f4 brge .+6 ; 0x378c <Mittelwert+0x8ac>
3786: 2f 5f subi r18, 0xFF ; 255
3788: 3f 4f sbci r19, 0xFF ; 255
378a: 0c c0 rjmp .+24 ; 0x37a4 <Mittelwert+0x8c4>
378c: 80 81 ld r24, Z
378e: 91 81 ldd r25, Z+1 ; 0x01
3790: 82 59 subi r24, 0x92 ; 146
3792: 9f 4f sbci r25, 0xFF ; 255
3794: 82 17 cp r24, r18
3796: 93 07 cpc r25, r19
3798: 4c f4 brge .+18 ; 0x37ac <Mittelwert+0x8cc>
379a: 21 15 cp r18, r1
379c: 31 05 cpc r19, r1
379e: 31 f0 breq .+12 ; 0x37ac <Mittelwert+0x8cc>
37a0: 21 50 subi r18, 0x01 ; 1
37a2: 30 40 sbci r19, 0x00 ; 0
37a4: 30 93 3e 04 sts 0x043E, r19
37a8: 20 93 3d 04 sts 0x043D, r18
37ac: 20 91 3f 04 lds r18, 0x043F
37b0: 30 91 40 04 lds r19, 0x0440
37b4: 80 91 34 07 lds r24, 0x0734
37b8: e8 2f mov r30, r24
37ba: ff 27 eor r31, r31
37bc: ee 0f add r30, r30
37be: ff 1f adc r31, r31
37c0: ed 5f subi r30, 0xFD ; 253
37c2: f8 4f sbci r31, 0xF8 ; 248
37c4: 80 81 ld r24, Z
37c6: 91 81 ldd r25, Z+1 ; 0x01
37c8: 82 59 subi r24, 0x92 ; 146
37ca: 9f 4f sbci r25, 0xFF ; 255
37cc: 28 17 cp r18, r24
37ce: 39 07 cpc r19, r25
37d0: 1c f4 brge .+6 ; 0x37d8 <Mittelwert+0x8f8>
37d2: 2f 5f subi r18, 0xFF ; 255
37d4: 3f 4f sbci r19, 0xFF ; 255
37d6: 0c c0 rjmp .+24 ; 0x37f0 <Mittelwert+0x910>
37d8: 80 81 ld r24, Z
37da: 91 81 ldd r25, Z+1 ; 0x01
37dc: 82 59 subi r24, 0x92 ; 146
37de: 9f 4f sbci r25, 0xFF ; 255
37e0: 82 17 cp r24, r18
37e2: 93 07 cpc r25, r19
37e4: 4c f4 brge .+18 ; 0x37f8 <Mittelwert+0x918>
37e6: 21 15 cp r18, r1
37e8: 31 05 cpc r19, r1
37ea: 31 f0 breq .+12 ; 0x37f8 <Mittelwert+0x918>
37ec: 21 50 subi r18, 0x01 ; 1
37ee: 30 40 sbci r19, 0x00 ; 0
37f0: 30 93 40 04 sts 0x0440, r19
37f4: 20 93 3f 04 sts 0x043F, r18
37f8: 20 91 41 04 lds r18, 0x0441
37fc: 30 91 42 04 lds r19, 0x0442
3800: 80 91 35 07 lds r24, 0x0735
3804: e8 2f mov r30, r24
3806: ff 27 eor r31, r31
3808: ee 0f add r30, r30
380a: ff 1f adc r31, r31
380c: ed 5f subi r30, 0xFD ; 253
380e: f8 4f sbci r31, 0xF8 ; 248
3810: 80 81 ld r24, Z
3812: 91 81 ldd r25, Z+1 ; 0x01
3814: 82 59 subi r24, 0x92 ; 146
3816: 9f 4f sbci r25, 0xFF ; 255
3818: 28 17 cp r18, r24
381a: 39 07 cpc r19, r25
381c: 1c f4 brge .+6 ; 0x3824 <Mittelwert+0x944>
381e: 2f 5f subi r18, 0xFF ; 255
3820: 3f 4f sbci r19, 0xFF ; 255
3822: 0c c0 rjmp .+24 ; 0x383c <Mittelwert+0x95c>
3824: 80 81 ld r24, Z
3826: 91 81 ldd r25, Z+1 ; 0x01
3828: 82 59 subi r24, 0x92 ; 146
382a: 9f 4f sbci r25, 0xFF ; 255
382c: 82 17 cp r24, r18
382e: 93 07 cpc r25, r19
3830: 4c f4 brge .+18 ; 0x3844 <Mittelwert+0x964>
3832: 21 15 cp r18, r1
3834: 31 05 cpc r19, r1
3836: 31 f0 breq .+12 ; 0x3844 <Mittelwert+0x964>
3838: 21 50 subi r18, 0x01 ; 1
383a: 30 40 sbci r19, 0x00 ; 0
383c: 30 93 42 04 sts 0x0442, r19
3840: 20 93 41 04 sts 0x0441, r18
3844: 20 91 43 04 lds r18, 0x0443
3848: 30 91 44 04 lds r19, 0x0444
384c: 80 91 36 07 lds r24, 0x0736
3850: e8 2f mov r30, r24
3852: ff 27 eor r31, r31
3854: ee 0f add r30, r30
3856: ff 1f adc r31, r31
3858: ed 5f subi r30, 0xFD ; 253
385a: f8 4f sbci r31, 0xF8 ; 248
385c: 80 81 ld r24, Z
385e: 91 81 ldd r25, Z+1 ; 0x01
3860: 82 59 subi r24, 0x92 ; 146
3862: 9f 4f sbci r25, 0xFF ; 255
3864: 28 17 cp r18, r24
3866: 39 07 cpc r19, r25
3868: 1c f4 brge .+6 ; 0x3870 <Mittelwert+0x990>
386a: 2f 5f subi r18, 0xFF ; 255
386c: 3f 4f sbci r19, 0xFF ; 255
386e: 0c c0 rjmp .+24 ; 0x3888 <Mittelwert+0x9a8>
3870: 80 81 ld r24, Z
3872: 91 81 ldd r25, Z+1 ; 0x01
3874: 82 59 subi r24, 0x92 ; 146
3876: 9f 4f sbci r25, 0xFF ; 255
3878: 82 17 cp r24, r18
387a: 93 07 cpc r25, r19
387c: 4c f4 brge .+18 ; 0x3890 <Mittelwert+0x9b0>
387e: 21 15 cp r18, r1
3880: 31 05 cpc r19, r1
3882: 31 f0 breq .+12 ; 0x3890 <Mittelwert+0x9b0>
3884: 21 50 subi r18, 0x01 ; 1
3886: 30 40 sbci r19, 0x00 ; 0
3888: 30 93 44 04 sts 0x0444, r19
388c: 20 93 43 04 sts 0x0443, r18
3890: 80 91 3d 04 lds r24, 0x043D
3894: 90 91 3e 04 lds r25, 0x043E
3898: 97 ff sbrs r25, 7
389a: 05 c0 rjmp .+10 ; 0x38a6 <Mittelwert+0x9c6>
389c: 10 92 3e 04 sts 0x043E, r1
38a0: 10 92 3d 04 sts 0x043D, r1
38a4: 0a c0 rjmp .+20 ; 0x38ba <Mittelwert+0x9da>
38a6: 8f 3f cpi r24, 0xFF ; 255
38a8: 91 05 cpc r25, r1
38aa: 39 f0 breq .+14 ; 0x38ba <Mittelwert+0x9da>
38ac: 34 f0 brlt .+12 ; 0x38ba <Mittelwert+0x9da>
38ae: 8f ef ldi r24, 0xFF ; 255
38b0: 90 e0 ldi r25, 0x00 ; 0
38b2: 90 93 3e 04 sts 0x043E, r25
38b6: 80 93 3d 04 sts 0x043D, r24
38ba: 80 91 3f 04 lds r24, 0x043F
38be: 90 91 40 04 lds r25, 0x0440
38c2: 97 ff sbrs r25, 7
38c4: 05 c0 rjmp .+10 ; 0x38d0 <Mittelwert+0x9f0>
38c6: 10 92 40 04 sts 0x0440, r1
38ca: 10 92 3f 04 sts 0x043F, r1
38ce: 0a c0 rjmp .+20 ; 0x38e4 <Mittelwert+0xa04>
38d0: 8f 3f cpi r24, 0xFF ; 255
38d2: 91 05 cpc r25, r1
38d4: 39 f0 breq .+14 ; 0x38e4 <Mittelwert+0xa04>
38d6: 34 f0 brlt .+12 ; 0x38e4 <Mittelwert+0xa04>
38d8: 8f ef ldi r24, 0xFF ; 255
38da: 90 e0 ldi r25, 0x00 ; 0
38dc: 90 93 40 04 sts 0x0440, r25
38e0: 80 93 3f 04 sts 0x043F, r24
38e4: 80 91 41 04 lds r24, 0x0441
38e8: 90 91 42 04 lds r25, 0x0442
38ec: 97 ff sbrs r25, 7
38ee: 05 c0 rjmp .+10 ; 0x38fa <Mittelwert+0xa1a>
38f0: 10 92 42 04 sts 0x0442, r1
38f4: 10 92 41 04 sts 0x0441, r1
38f8: 0a c0 rjmp .+20 ; 0x390e <Mittelwert+0xa2e>
38fa: 8f 3f cpi r24, 0xFF ; 255
38fc: 91 05 cpc r25, r1
38fe: 39 f0 breq .+14 ; 0x390e <Mittelwert+0xa2e>
3900: 34 f0 brlt .+12 ; 0x390e <Mittelwert+0xa2e>
3902: 8f ef ldi r24, 0xFF ; 255
3904: 90 e0 ldi r25, 0x00 ; 0
3906: 90 93 42 04 sts 0x0442, r25
390a: 80 93 41 04 sts 0x0441, r24
390e: 80 91 43 04 lds r24, 0x0443
3912: 90 91 44 04 lds r25, 0x0444
3916: 97 ff sbrs r25, 7
3918: 05 c0 rjmp .+10 ; 0x3924 <Mittelwert+0xa44>
391a: 10 92 44 04 sts 0x0444, r1
391e: 10 92 43 04 sts 0x0443, r1
3922: 0a c0 rjmp .+20 ; 0x3938 <Mittelwert+0xa58>
3924: 8f 3f cpi r24, 0xFF ; 255
3926: 91 05 cpc r25, r1
3928: 39 f0 breq .+14 ; 0x3938 <Mittelwert+0xa58>
392a: 34 f0 brlt .+12 ; 0x3938 <Mittelwert+0xa58>
392c: 8f ef ldi r24, 0xFF ; 255
392e: 90 e0 ldi r25, 0x00 ; 0
3930: 90 93 44 04 sts 0x0444, r25
3934: 80 93 43 04 sts 0x0443, r24
3938: e2 e1 ldi r30, 0x12 ; 18
393a: c0 5f subi r28, 0xF0 ; 240
393c: 0c 94 0c 3d jmp 0x7a18 ; 0x7a18 <__epilogue_restores__>
 
00003940 <CalibrierMittelwert>:
3940: 10 92 7a 00 sts 0x007A, r1
3944: 80 91 c5 03 lds r24, 0x03C5
3948: 90 91 c6 03 lds r25, 0x03C6
394c: 90 93 80 07 sts 0x0780, r25
3950: 80 93 7f 07 sts 0x077F, r24
3954: 80 91 c7 03 lds r24, 0x03C7
3958: 90 91 c8 03 lds r25, 0x03C8
395c: 90 93 78 07 sts 0x0778, r25
3960: 80 93 77 07 sts 0x0777, r24
3964: 80 91 c9 03 lds r24, 0x03C9
3968: 90 91 ca 03 lds r25, 0x03CA
396c: 90 93 a7 07 sts 0x07A7, r25
3970: 80 93 a6 07 sts 0x07A6, r24
3974: 60 91 cd 03 lds r22, 0x03CD
3978: 70 91 ce 03 lds r23, 0x03CE
397c: 88 27 eor r24, r24
397e: 77 fd sbrc r23, 7
3980: 80 95 com r24
3982: 98 2f mov r25, r24
3984: 2c e0 ldi r18, 0x0C ; 12
3986: 30 e0 ldi r19, 0x00 ; 0
3988: 40 e0 ldi r20, 0x00 ; 0
398a: 50 e0 ldi r21, 0x00 ; 0
398c: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
3990: 70 93 a4 07 sts 0x07A4, r23
3994: 60 93 a3 07 sts 0x07A3, r22
3998: 60 91 cb 03 lds r22, 0x03CB
399c: 70 91 cc 03 lds r23, 0x03CC
39a0: 88 27 eor r24, r24
39a2: 77 fd sbrc r23, 7
39a4: 80 95 com r24
39a6: 98 2f mov r25, r24
39a8: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
39ac: 70 93 ae 07 sts 0x07AE, r23
39b0: 60 93 ad 07 sts 0x07AD, r22
39b4: 80 91 cf 03 lds r24, 0x03CF
39b8: 90 91 d0 03 lds r25, 0x03D0
39bc: 90 93 87 07 sts 0x0787, r25
39c0: 80 93 86 07 sts 0x0786, r24
39c4: 8f ee ldi r24, 0xEF ; 239
39c6: 80 93 7a 00 sts 0x007A, r24
39ca: 20 91 3d 04 lds r18, 0x043D
39ce: 30 91 3e 04 lds r19, 0x043E
39d2: 80 91 33 07 lds r24, 0x0733
39d6: e8 2f mov r30, r24
39d8: ff 27 eor r31, r31
39da: ee 0f add r30, r30
39dc: ff 1f adc r31, r31
39de: ed 5f subi r30, 0xFD ; 253
39e0: f8 4f sbci r31, 0xF8 ; 248
39e2: 80 81 ld r24, Z
39e4: 91 81 ldd r25, Z+1 ; 0x01
39e6: 82 59 subi r24, 0x92 ; 146
39e8: 9f 4f sbci r25, 0xFF ; 255
39ea: 28 17 cp r18, r24
39ec: 39 07 cpc r19, r25
39ee: 1c f4 brge .+6 ; 0x39f6 <CalibrierMittelwert+0xb6>
39f0: 2f 5f subi r18, 0xFF ; 255
39f2: 3f 4f sbci r19, 0xFF ; 255
39f4: 0c c0 rjmp .+24 ; 0x3a0e <CalibrierMittelwert+0xce>
39f6: 80 81 ld r24, Z
39f8: 91 81 ldd r25, Z+1 ; 0x01
39fa: 82 59 subi r24, 0x92 ; 146
39fc: 9f 4f sbci r25, 0xFF ; 255
39fe: 82 17 cp r24, r18
3a00: 93 07 cpc r25, r19
3a02: 4c f4 brge .+18 ; 0x3a16 <CalibrierMittelwert+0xd6>
3a04: 21 15 cp r18, r1
3a06: 31 05 cpc r19, r1
3a08: 31 f0 breq .+12 ; 0x3a16 <CalibrierMittelwert+0xd6>
3a0a: 21 50 subi r18, 0x01 ; 1
3a0c: 30 40 sbci r19, 0x00 ; 0
3a0e: 30 93 3e 04 sts 0x043E, r19
3a12: 20 93 3d 04 sts 0x043D, r18
3a16: 20 91 3f 04 lds r18, 0x043F
3a1a: 30 91 40 04 lds r19, 0x0440
3a1e: 80 91 34 07 lds r24, 0x0734
3a22: e8 2f mov r30, r24
3a24: ff 27 eor r31, r31
3a26: ee 0f add r30, r30
3a28: ff 1f adc r31, r31
3a2a: ed 5f subi r30, 0xFD ; 253
3a2c: f8 4f sbci r31, 0xF8 ; 248
3a2e: 80 81 ld r24, Z
3a30: 91 81 ldd r25, Z+1 ; 0x01
3a32: 82 59 subi r24, 0x92 ; 146
3a34: 9f 4f sbci r25, 0xFF ; 255
3a36: 28 17 cp r18, r24
3a38: 39 07 cpc r19, r25
3a3a: 1c f4 brge .+6 ; 0x3a42 <CalibrierMittelwert+0x102>
3a3c: 2f 5f subi r18, 0xFF ; 255
3a3e: 3f 4f sbci r19, 0xFF ; 255
3a40: 0c c0 rjmp .+24 ; 0x3a5a <CalibrierMittelwert+0x11a>
3a42: 80 81 ld r24, Z
3a44: 91 81 ldd r25, Z+1 ; 0x01
3a46: 82 59 subi r24, 0x92 ; 146
3a48: 9f 4f sbci r25, 0xFF ; 255
3a4a: 82 17 cp r24, r18
3a4c: 93 07 cpc r25, r19
3a4e: 4c f4 brge .+18 ; 0x3a62 <CalibrierMittelwert+0x122>
3a50: 21 15 cp r18, r1
3a52: 31 05 cpc r19, r1
3a54: 31 f0 breq .+12 ; 0x3a62 <CalibrierMittelwert+0x122>
3a56: 21 50 subi r18, 0x01 ; 1
3a58: 30 40 sbci r19, 0x00 ; 0
3a5a: 30 93 40 04 sts 0x0440, r19
3a5e: 20 93 3f 04 sts 0x043F, r18
3a62: 20 91 41 04 lds r18, 0x0441
3a66: 30 91 42 04 lds r19, 0x0442
3a6a: 80 91 35 07 lds r24, 0x0735
3a6e: e8 2f mov r30, r24
3a70: ff 27 eor r31, r31
3a72: ee 0f add r30, r30
3a74: ff 1f adc r31, r31
3a76: ed 5f subi r30, 0xFD ; 253
3a78: f8 4f sbci r31, 0xF8 ; 248
3a7a: 80 81 ld r24, Z
3a7c: 91 81 ldd r25, Z+1 ; 0x01
3a7e: 82 59 subi r24, 0x92 ; 146
3a80: 9f 4f sbci r25, 0xFF ; 255
3a82: 28 17 cp r18, r24
3a84: 39 07 cpc r19, r25
3a86: 1c f4 brge .+6 ; 0x3a8e <CalibrierMittelwert+0x14e>
3a88: 2f 5f subi r18, 0xFF ; 255
3a8a: 3f 4f sbci r19, 0xFF ; 255
3a8c: 0c c0 rjmp .+24 ; 0x3aa6 <CalibrierMittelwert+0x166>
3a8e: 80 81 ld r24, Z
3a90: 91 81 ldd r25, Z+1 ; 0x01
3a92: 82 59 subi r24, 0x92 ; 146
3a94: 9f 4f sbci r25, 0xFF ; 255
3a96: 82 17 cp r24, r18
3a98: 93 07 cpc r25, r19
3a9a: 4c f4 brge .+18 ; 0x3aae <CalibrierMittelwert+0x16e>
3a9c: 21 15 cp r18, r1
3a9e: 31 05 cpc r19, r1
3aa0: 31 f0 breq .+12 ; 0x3aae <CalibrierMittelwert+0x16e>
3aa2: 21 50 subi r18, 0x01 ; 1
3aa4: 30 40 sbci r19, 0x00 ; 0
3aa6: 30 93 42 04 sts 0x0442, r19
3aaa: 20 93 41 04 sts 0x0441, r18
3aae: 20 91 43 04 lds r18, 0x0443
3ab2: 30 91 44 04 lds r19, 0x0444
3ab6: 80 91 36 07 lds r24, 0x0736
3aba: e8 2f mov r30, r24
3abc: ff 27 eor r31, r31
3abe: ee 0f add r30, r30
3ac0: ff 1f adc r31, r31
3ac2: ed 5f subi r30, 0xFD ; 253
3ac4: f8 4f sbci r31, 0xF8 ; 248
3ac6: 80 81 ld r24, Z
3ac8: 91 81 ldd r25, Z+1 ; 0x01
3aca: 82 59 subi r24, 0x92 ; 146
3acc: 9f 4f sbci r25, 0xFF ; 255
3ace: 28 17 cp r18, r24
3ad0: 39 07 cpc r19, r25
3ad2: 1c f4 brge .+6 ; 0x3ada <CalibrierMittelwert+0x19a>
3ad4: 2f 5f subi r18, 0xFF ; 255
3ad6: 3f 4f sbci r19, 0xFF ; 255
3ad8: 0c c0 rjmp .+24 ; 0x3af2 <CalibrierMittelwert+0x1b2>
3ada: 80 81 ld r24, Z
3adc: 91 81 ldd r25, Z+1 ; 0x01
3ade: 82 59 subi r24, 0x92 ; 146
3ae0: 9f 4f sbci r25, 0xFF ; 255
3ae2: 82 17 cp r24, r18
3ae4: 93 07 cpc r25, r19
3ae6: 4c f4 brge .+18 ; 0x3afa <CalibrierMittelwert+0x1ba>
3ae8: 21 15 cp r18, r1
3aea: 31 05 cpc r19, r1
3aec: 31 f0 breq .+12 ; 0x3afa <CalibrierMittelwert+0x1ba>
3aee: 21 50 subi r18, 0x01 ; 1
3af0: 30 40 sbci r19, 0x00 ; 0
3af2: 30 93 44 04 sts 0x0444, r19
3af6: 20 93 43 04 sts 0x0443, r18
3afa: 80 91 3d 04 lds r24, 0x043D
3afe: 90 91 3e 04 lds r25, 0x043E
3b02: 97 ff sbrs r25, 7
3b04: 05 c0 rjmp .+10 ; 0x3b10 <CalibrierMittelwert+0x1d0>
3b06: 10 92 3e 04 sts 0x043E, r1
3b0a: 10 92 3d 04 sts 0x043D, r1
3b0e: 0a c0 rjmp .+20 ; 0x3b24 <CalibrierMittelwert+0x1e4>
3b10: 8f 3f cpi r24, 0xFF ; 255
3b12: 91 05 cpc r25, r1
3b14: 39 f0 breq .+14 ; 0x3b24 <CalibrierMittelwert+0x1e4>
3b16: 34 f0 brlt .+12 ; 0x3b24 <CalibrierMittelwert+0x1e4>
3b18: 8f ef ldi r24, 0xFF ; 255
3b1a: 90 e0 ldi r25, 0x00 ; 0
3b1c: 90 93 3e 04 sts 0x043E, r25
3b20: 80 93 3d 04 sts 0x043D, r24
3b24: 80 91 3f 04 lds r24, 0x043F
3b28: 90 91 40 04 lds r25, 0x0440
3b2c: 97 ff sbrs r25, 7
3b2e: 05 c0 rjmp .+10 ; 0x3b3a <CalibrierMittelwert+0x1fa>
3b30: 10 92 40 04 sts 0x0440, r1
3b34: 10 92 3f 04 sts 0x043F, r1
3b38: 0a c0 rjmp .+20 ; 0x3b4e <CalibrierMittelwert+0x20e>
3b3a: 8f 3f cpi r24, 0xFF ; 255
3b3c: 91 05 cpc r25, r1
3b3e: 39 f0 breq .+14 ; 0x3b4e <CalibrierMittelwert+0x20e>
3b40: 34 f0 brlt .+12 ; 0x3b4e <CalibrierMittelwert+0x20e>
3b42: 8f ef ldi r24, 0xFF ; 255
3b44: 90 e0 ldi r25, 0x00 ; 0
3b46: 90 93 40 04 sts 0x0440, r25
3b4a: 80 93 3f 04 sts 0x043F, r24
3b4e: 80 91 41 04 lds r24, 0x0441
3b52: 90 91 42 04 lds r25, 0x0442
3b56: 97 ff sbrs r25, 7
3b58: 05 c0 rjmp .+10 ; 0x3b64 <CalibrierMittelwert+0x224>
3b5a: 10 92 42 04 sts 0x0442, r1
3b5e: 10 92 41 04 sts 0x0441, r1
3b62: 0a c0 rjmp .+20 ; 0x3b78 <CalibrierMittelwert+0x238>
3b64: 8f 3f cpi r24, 0xFF ; 255
3b66: 91 05 cpc r25, r1
3b68: 39 f0 breq .+14 ; 0x3b78 <CalibrierMittelwert+0x238>
3b6a: 34 f0 brlt .+12 ; 0x3b78 <CalibrierMittelwert+0x238>
3b6c: 8f ef ldi r24, 0xFF ; 255
3b6e: 90 e0 ldi r25, 0x00 ; 0
3b70: 90 93 42 04 sts 0x0442, r25
3b74: 80 93 41 04 sts 0x0441, r24
3b78: 80 91 43 04 lds r24, 0x0443
3b7c: 90 91 44 04 lds r25, 0x0444
3b80: 97 ff sbrs r25, 7
3b82: 05 c0 rjmp .+10 ; 0x3b8e <CalibrierMittelwert+0x24e>
3b84: 10 92 44 04 sts 0x0444, r1
3b88: 10 92 43 04 sts 0x0443, r1
3b8c: 0a c0 rjmp .+20 ; 0x3ba2 <CalibrierMittelwert+0x262>
3b8e: 8f 3f cpi r24, 0xFF ; 255
3b90: 91 05 cpc r25, r1
3b92: 39 f0 breq .+14 ; 0x3ba2 <CalibrierMittelwert+0x262>
3b94: 34 f0 brlt .+12 ; 0x3ba2 <CalibrierMittelwert+0x262>
3b96: 8f ef ldi r24, 0xFF ; 255
3b98: 90 e0 ldi r25, 0x00 ; 0
3b9a: 90 93 44 04 sts 0x0444, r25
3b9e: 80 93 43 04 sts 0x0443, r24
3ba2: 60 91 5a 07 lds r22, 0x075A
3ba6: 77 27 eor r23, r23
3ba8: 88 27 eor r24, r24
3baa: 99 27 eor r25, r25
3bac: 24 ec ldi r18, 0xC4 ; 196
3bae: 39 e0 ldi r19, 0x09 ; 9
3bb0: 40 e0 ldi r20, 0x00 ; 0
3bb2: 50 e0 ldi r21, 0x00 ; 0
3bb4: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
3bb8: 60 93 87 03 sts 0x0387, r22
3bbc: 70 93 88 03 sts 0x0388, r23
3bc0: 80 93 89 03 sts 0x0389, r24
3bc4: 90 93 8a 03 sts 0x038A, r25
3bc8: 60 93 8b 03 sts 0x038B, r22
3bcc: 70 93 8c 03 sts 0x038C, r23
3bd0: 80 93 8d 03 sts 0x038D, r24
3bd4: 90 93 8e 03 sts 0x038E, r25
3bd8: 08 95 ret
 
00003bda <ParameterZuordnung>:
3bda: 1f 93 push r17
3bdc: 80 91 3a 07 lds r24, 0x073A
3be0: 8b 3f cpi r24, 0xFB ; 251
3be2: 98 f0 brcs .+38 ; 0x3c0a <ParameterZuordnung+0x30>
3be4: 8b 3f cpi r24, 0xFB ; 251
3be6: 19 f4 brne .+6 ; 0x3bee <ParameterZuordnung+0x14>
3be8: 80 91 3d 04 lds r24, 0x043D
3bec: 0e c0 rjmp .+28 ; 0x3c0a <ParameterZuordnung+0x30>
3bee: 8c 3f cpi r24, 0xFC ; 252
3bf0: 19 f4 brne .+6 ; 0x3bf8 <ParameterZuordnung+0x1e>
3bf2: 80 91 3f 04 lds r24, 0x043F
3bf6: 09 c0 rjmp .+18 ; 0x3c0a <ParameterZuordnung+0x30>
3bf8: 8d 3f cpi r24, 0xFD ; 253
3bfa: 19 f4 brne .+6 ; 0x3c02 <ParameterZuordnung+0x28>
3bfc: 80 91 41 04 lds r24, 0x0441
3c00: 04 c0 rjmp .+8 ; 0x3c0a <ParameterZuordnung+0x30>
3c02: 8e 3f cpi r24, 0xFE ; 254
3c04: 21 f4 brne .+8 ; 0x3c0e <ParameterZuordnung+0x34>
3c06: 80 91 43 04 lds r24, 0x0443
3c0a: 80 93 94 03 sts 0x0394, r24
3c0e: 80 91 94 03 lds r24, 0x0394
3c12: 88 23 and r24, r24
3c14: 19 f4 brne .+6 ; 0x3c1c <ParameterZuordnung+0x42>
3c16: 10 92 94 03 sts 0x0394, r1
3c1a: 04 c0 rjmp .+8 ; 0x3c24 <ParameterZuordnung+0x4a>
3c1c: 8f 3f cpi r24, 0xFF ; 255
3c1e: 11 f4 brne .+4 ; 0x3c24 <ParameterZuordnung+0x4a>
3c20: 80 93 94 03 sts 0x0394, r24
3c24: 80 91 39 07 lds r24, 0x0739
3c28: 8b 3f cpi r24, 0xFB ; 251
3c2a: 98 f0 brcs .+38 ; 0x3c52 <ParameterZuordnung+0x78>
3c2c: 8b 3f cpi r24, 0xFB ; 251
3c2e: 19 f4 brne .+6 ; 0x3c36 <ParameterZuordnung+0x5c>
3c30: 80 91 3d 04 lds r24, 0x043D
3c34: 0e c0 rjmp .+28 ; 0x3c52 <ParameterZuordnung+0x78>
3c36: 8c 3f cpi r24, 0xFC ; 252
3c38: 19 f4 brne .+6 ; 0x3c40 <ParameterZuordnung+0x66>
3c3a: 80 91 3f 04 lds r24, 0x043F
3c3e: 09 c0 rjmp .+18 ; 0x3c52 <ParameterZuordnung+0x78>
3c40: 8d 3f cpi r24, 0xFD ; 253
3c42: 19 f4 brne .+6 ; 0x3c4a <ParameterZuordnung+0x70>
3c44: 80 91 41 04 lds r24, 0x0441
3c48: 04 c0 rjmp .+8 ; 0x3c52 <ParameterZuordnung+0x78>
3c4a: 8e 3f cpi r24, 0xFE ; 254
3c4c: 21 f4 brne .+8 ; 0x3c56 <ParameterZuordnung+0x7c>
3c4e: 80 91 43 04 lds r24, 0x0443
3c52: 80 93 93 03 sts 0x0393, r24
3c56: 80 91 93 03 lds r24, 0x0393
3c5a: 88 23 and r24, r24
3c5c: 19 f4 brne .+6 ; 0x3c64 <ParameterZuordnung+0x8a>
3c5e: 10 92 93 03 sts 0x0393, r1
3c62: 05 c0 rjmp .+10 ; 0x3c6e <ParameterZuordnung+0x94>
3c64: 84 36 cpi r24, 0x64 ; 100
3c66: 18 f0 brcs .+6 ; 0x3c6e <ParameterZuordnung+0x94>
3c68: 84 e6 ldi r24, 0x64 ; 100
3c6a: 80 93 93 03 sts 0x0393, r24
3c6e: 80 91 3b 07 lds r24, 0x073B
3c72: 8b 3f cpi r24, 0xFB ; 251
3c74: 98 f0 brcs .+38 ; 0x3c9c <ParameterZuordnung+0xc2>
3c76: 8b 3f cpi r24, 0xFB ; 251
3c78: 19 f4 brne .+6 ; 0x3c80 <ParameterZuordnung+0xa6>
3c7a: 80 91 3d 04 lds r24, 0x043D
3c7e: 0e c0 rjmp .+28 ; 0x3c9c <ParameterZuordnung+0xc2>
3c80: 8c 3f cpi r24, 0xFC ; 252
3c82: 19 f4 brne .+6 ; 0x3c8a <ParameterZuordnung+0xb0>
3c84: 80 91 3f 04 lds r24, 0x043F
3c88: 09 c0 rjmp .+18 ; 0x3c9c <ParameterZuordnung+0xc2>
3c8a: 8d 3f cpi r24, 0xFD ; 253
3c8c: 19 f4 brne .+6 ; 0x3c94 <ParameterZuordnung+0xba>
3c8e: 80 91 41 04 lds r24, 0x0441
3c92: 04 c0 rjmp .+8 ; 0x3c9c <ParameterZuordnung+0xc2>
3c94: 8e 3f cpi r24, 0xFE ; 254
3c96: 21 f4 brne .+8 ; 0x3ca0 <ParameterZuordnung+0xc6>
3c98: 80 91 43 04 lds r24, 0x0443
3c9c: 80 93 95 03 sts 0x0395, r24
3ca0: 80 91 95 03 lds r24, 0x0395
3ca4: 88 23 and r24, r24
3ca6: 19 f4 brne .+6 ; 0x3cae <ParameterZuordnung+0xd4>
3ca8: 10 92 95 03 sts 0x0395, r1
3cac: 05 c0 rjmp .+10 ; 0x3cb8 <ParameterZuordnung+0xde>
3cae: 84 36 cpi r24, 0x64 ; 100
3cb0: 18 f0 brcs .+6 ; 0x3cb8 <ParameterZuordnung+0xde>
3cb2: 84 e6 ldi r24, 0x64 ; 100
3cb4: 80 93 95 03 sts 0x0395, r24
3cb8: 80 91 3d 07 lds r24, 0x073D
3cbc: 8b 3f cpi r24, 0xFB ; 251
3cbe: 98 f0 brcs .+38 ; 0x3ce6 <ParameterZuordnung+0x10c>
3cc0: 8b 3f cpi r24, 0xFB ; 251
3cc2: 19 f4 brne .+6 ; 0x3cca <ParameterZuordnung+0xf0>
3cc4: 80 91 3d 04 lds r24, 0x043D
3cc8: 0e c0 rjmp .+28 ; 0x3ce6 <ParameterZuordnung+0x10c>
3cca: 8c 3f cpi r24, 0xFC ; 252
3ccc: 19 f4 brne .+6 ; 0x3cd4 <ParameterZuordnung+0xfa>
3cce: 80 91 3f 04 lds r24, 0x043F
3cd2: 09 c0 rjmp .+18 ; 0x3ce6 <ParameterZuordnung+0x10c>
3cd4: 8d 3f cpi r24, 0xFD ; 253
3cd6: 19 f4 brne .+6 ; 0x3cde <ParameterZuordnung+0x104>
3cd8: 80 91 41 04 lds r24, 0x0441
3cdc: 04 c0 rjmp .+8 ; 0x3ce6 <ParameterZuordnung+0x10c>
3cde: 8e 3f cpi r24, 0xFE ; 254
3ce0: 21 f4 brne .+8 ; 0x3cea <ParameterZuordnung+0x110>
3ce2: 80 91 43 04 lds r24, 0x0443
3ce6: 80 93 96 03 sts 0x0396, r24
3cea: 80 91 96 03 lds r24, 0x0396
3cee: 88 23 and r24, r24
3cf0: 19 f4 brne .+6 ; 0x3cf8 <ParameterZuordnung+0x11e>
3cf2: 10 92 96 03 sts 0x0396, r1
3cf6: 04 c0 rjmp .+8 ; 0x3d00 <ParameterZuordnung+0x126>
3cf8: 8f 3f cpi r24, 0xFF ; 255
3cfa: 11 f4 brne .+4 ; 0x3d00 <ParameterZuordnung+0x126>
3cfc: 80 93 96 03 sts 0x0396, r24
3d00: 80 91 44 07 lds r24, 0x0744
3d04: 8b 3f cpi r24, 0xFB ; 251
3d06: 98 f0 brcs .+38 ; 0x3d2e <ParameterZuordnung+0x154>
3d08: 8b 3f cpi r24, 0xFB ; 251
3d0a: 19 f4 brne .+6 ; 0x3d12 <ParameterZuordnung+0x138>
3d0c: 80 91 3d 04 lds r24, 0x043D
3d10: 0e c0 rjmp .+28 ; 0x3d2e <ParameterZuordnung+0x154>
3d12: 8c 3f cpi r24, 0xFC ; 252
3d14: 19 f4 brne .+6 ; 0x3d1c <ParameterZuordnung+0x142>
3d16: 80 91 3f 04 lds r24, 0x043F
3d1a: 09 c0 rjmp .+18 ; 0x3d2e <ParameterZuordnung+0x154>
3d1c: 8d 3f cpi r24, 0xFD ; 253
3d1e: 19 f4 brne .+6 ; 0x3d26 <ParameterZuordnung+0x14c>
3d20: 80 91 41 04 lds r24, 0x0441
3d24: 04 c0 rjmp .+8 ; 0x3d2e <ParameterZuordnung+0x154>
3d26: 8e 3f cpi r24, 0xFE ; 254
3d28: 21 f4 brne .+8 ; 0x3d32 <ParameterZuordnung+0x158>
3d2a: 80 91 43 04 lds r24, 0x0443
3d2e: 80 93 97 03 sts 0x0397, r24
3d32: 80 91 97 03 lds r24, 0x0397
3d36: 88 23 and r24, r24
3d38: 19 f4 brne .+6 ; 0x3d40 <ParameterZuordnung+0x166>
3d3a: 10 92 97 03 sts 0x0397, r1
3d3e: 04 c0 rjmp .+8 ; 0x3d48 <ParameterZuordnung+0x16e>
3d40: 8f 3f cpi r24, 0xFF ; 255
3d42: 11 f4 brne .+4 ; 0x3d48 <ParameterZuordnung+0x16e>
3d44: 80 93 97 03 sts 0x0397, r24
3d48: 80 91 45 07 lds r24, 0x0745
3d4c: 8b 3f cpi r24, 0xFB ; 251
3d4e: 98 f0 brcs .+38 ; 0x3d76 <ParameterZuordnung+0x19c>
3d50: 8b 3f cpi r24, 0xFB ; 251
3d52: 19 f4 brne .+6 ; 0x3d5a <ParameterZuordnung+0x180>
3d54: 80 91 3d 04 lds r24, 0x043D
3d58: 0e c0 rjmp .+28 ; 0x3d76 <ParameterZuordnung+0x19c>
3d5a: 8c 3f cpi r24, 0xFC ; 252
3d5c: 19 f4 brne .+6 ; 0x3d64 <ParameterZuordnung+0x18a>
3d5e: 80 91 3f 04 lds r24, 0x043F
3d62: 09 c0 rjmp .+18 ; 0x3d76 <ParameterZuordnung+0x19c>
3d64: 8d 3f cpi r24, 0xFD ; 253
3d66: 19 f4 brne .+6 ; 0x3d6e <ParameterZuordnung+0x194>
3d68: 80 91 41 04 lds r24, 0x0441
3d6c: 04 c0 rjmp .+8 ; 0x3d76 <ParameterZuordnung+0x19c>
3d6e: 8e 3f cpi r24, 0xFE ; 254
3d70: 21 f4 brne .+8 ; 0x3d7a <ParameterZuordnung+0x1a0>
3d72: 80 91 43 04 lds r24, 0x0443
3d76: 80 93 98 03 sts 0x0398, r24
3d7a: 80 91 98 03 lds r24, 0x0398
3d7e: 8b 30 cpi r24, 0x0B ; 11
3d80: 10 f4 brcc .+4 ; 0x3d86 <ParameterZuordnung+0x1ac>
3d82: 8a e0 ldi r24, 0x0A ; 10
3d84: 02 c0 rjmp .+4 ; 0x3d8a <ParameterZuordnung+0x1b0>
3d86: 8f 3f cpi r24, 0xFF ; 255
3d88: 11 f4 brne .+4 ; 0x3d8e <ParameterZuordnung+0x1b4>
3d8a: 80 93 98 03 sts 0x0398, r24
3d8e: 80 91 46 07 lds r24, 0x0746
3d92: 8b 3f cpi r24, 0xFB ; 251
3d94: 98 f0 brcs .+38 ; 0x3dbc <ParameterZuordnung+0x1e2>
3d96: 8b 3f cpi r24, 0xFB ; 251
3d98: 19 f4 brne .+6 ; 0x3da0 <ParameterZuordnung+0x1c6>
3d9a: 80 91 3d 04 lds r24, 0x043D
3d9e: 0e c0 rjmp .+28 ; 0x3dbc <ParameterZuordnung+0x1e2>
3da0: 8c 3f cpi r24, 0xFC ; 252
3da2: 19 f4 brne .+6 ; 0x3daa <ParameterZuordnung+0x1d0>
3da4: 80 91 3f 04 lds r24, 0x043F
3da8: 09 c0 rjmp .+18 ; 0x3dbc <ParameterZuordnung+0x1e2>
3daa: 8d 3f cpi r24, 0xFD ; 253
3dac: 19 f4 brne .+6 ; 0x3db4 <ParameterZuordnung+0x1da>
3dae: 80 91 41 04 lds r24, 0x0441
3db2: 04 c0 rjmp .+8 ; 0x3dbc <ParameterZuordnung+0x1e2>
3db4: 8e 3f cpi r24, 0xFE ; 254
3db6: 21 f4 brne .+8 ; 0x3dc0 <ParameterZuordnung+0x1e6>
3db8: 80 91 43 04 lds r24, 0x0443
3dbc: 80 93 99 03 sts 0x0399, r24
3dc0: 80 91 99 03 lds r24, 0x0399
3dc4: 88 23 and r24, r24
3dc6: 19 f4 brne .+6 ; 0x3dce <ParameterZuordnung+0x1f4>
3dc8: 10 92 99 03 sts 0x0399, r1
3dcc: 04 c0 rjmp .+8 ; 0x3dd6 <ParameterZuordnung+0x1fc>
3dce: 8f 3f cpi r24, 0xFF ; 255
3dd0: 11 f4 brne .+4 ; 0x3dd6 <ParameterZuordnung+0x1fc>
3dd2: 80 93 99 03 sts 0x0399, r24
3dd6: 80 91 4b 07 lds r24, 0x074B
3dda: 8b 3f cpi r24, 0xFB ; 251
3ddc: 98 f0 brcs .+38 ; 0x3e04 <ParameterZuordnung+0x22a>
3dde: 8b 3f cpi r24, 0xFB ; 251
3de0: 19 f4 brne .+6 ; 0x3de8 <ParameterZuordnung+0x20e>
3de2: 80 91 3d 04 lds r24, 0x043D
3de6: 0e c0 rjmp .+28 ; 0x3e04 <ParameterZuordnung+0x22a>
3de8: 8c 3f cpi r24, 0xFC ; 252
3dea: 19 f4 brne .+6 ; 0x3df2 <ParameterZuordnung+0x218>
3dec: 80 91 3f 04 lds r24, 0x043F
3df0: 09 c0 rjmp .+18 ; 0x3e04 <ParameterZuordnung+0x22a>
3df2: 8d 3f cpi r24, 0xFD ; 253
3df4: 19 f4 brne .+6 ; 0x3dfc <ParameterZuordnung+0x222>
3df6: 80 91 41 04 lds r24, 0x0441
3dfa: 04 c0 rjmp .+8 ; 0x3e04 <ParameterZuordnung+0x22a>
3dfc: 8e 3f cpi r24, 0xFE ; 254
3dfe: 21 f4 brne .+8 ; 0x3e08 <ParameterZuordnung+0x22e>
3e00: 80 91 43 04 lds r24, 0x0443
3e04: 80 93 9b 03 sts 0x039B, r24
3e08: 80 91 9b 03 lds r24, 0x039B
3e0c: 88 23 and r24, r24
3e0e: 19 f4 brne .+6 ; 0x3e16 <ParameterZuordnung+0x23c>
3e10: 10 92 9b 03 sts 0x039B, r1
3e14: 04 c0 rjmp .+8 ; 0x3e1e <ParameterZuordnung+0x244>
3e16: 8f 3f cpi r24, 0xFF ; 255
3e18: 11 f4 brne .+4 ; 0x3e1e <ParameterZuordnung+0x244>
3e1a: 80 93 9b 03 sts 0x039B, r24
3e1e: 80 91 4c 07 lds r24, 0x074C
3e22: 8b 3f cpi r24, 0xFB ; 251
3e24: 98 f0 brcs .+38 ; 0x3e4c <ParameterZuordnung+0x272>
3e26: 8b 3f cpi r24, 0xFB ; 251
3e28: 19 f4 brne .+6 ; 0x3e30 <ParameterZuordnung+0x256>
3e2a: 80 91 3d 04 lds r24, 0x043D
3e2e: 0e c0 rjmp .+28 ; 0x3e4c <ParameterZuordnung+0x272>
3e30: 8c 3f cpi r24, 0xFC ; 252
3e32: 19 f4 brne .+6 ; 0x3e3a <ParameterZuordnung+0x260>
3e34: 80 91 3f 04 lds r24, 0x043F
3e38: 09 c0 rjmp .+18 ; 0x3e4c <ParameterZuordnung+0x272>
3e3a: 8d 3f cpi r24, 0xFD ; 253
3e3c: 19 f4 brne .+6 ; 0x3e44 <ParameterZuordnung+0x26a>
3e3e: 80 91 41 04 lds r24, 0x0441
3e42: 04 c0 rjmp .+8 ; 0x3e4c <ParameterZuordnung+0x272>
3e44: 8e 3f cpi r24, 0xFE ; 254
3e46: 21 f4 brne .+8 ; 0x3e50 <ParameterZuordnung+0x276>
3e48: 80 91 43 04 lds r24, 0x0443
3e4c: 80 93 5d 04 sts 0x045D, r24
3e50: 80 91 5d 04 lds r24, 0x045D
3e54: 88 23 and r24, r24
3e56: 19 f4 brne .+6 ; 0x3e5e <ParameterZuordnung+0x284>
3e58: 10 92 5d 04 sts 0x045D, r1
3e5c: 04 c0 rjmp .+8 ; 0x3e66 <ParameterZuordnung+0x28c>
3e5e: 8f 3f cpi r24, 0xFF ; 255
3e60: 11 f4 brne .+4 ; 0x3e66 <ParameterZuordnung+0x28c>
3e62: 80 93 5d 04 sts 0x045D, r24
3e66: 80 91 4d 07 lds r24, 0x074D
3e6a: 8b 3f cpi r24, 0xFB ; 251
3e6c: 98 f0 brcs .+38 ; 0x3e94 <ParameterZuordnung+0x2ba>
3e6e: 8b 3f cpi r24, 0xFB ; 251
3e70: 19 f4 brne .+6 ; 0x3e78 <ParameterZuordnung+0x29e>
3e72: 80 91 3d 04 lds r24, 0x043D
3e76: 0e c0 rjmp .+28 ; 0x3e94 <ParameterZuordnung+0x2ba>
3e78: 8c 3f cpi r24, 0xFC ; 252
3e7a: 19 f4 brne .+6 ; 0x3e82 <ParameterZuordnung+0x2a8>
3e7c: 80 91 3f 04 lds r24, 0x043F
3e80: 09 c0 rjmp .+18 ; 0x3e94 <ParameterZuordnung+0x2ba>
3e82: 8d 3f cpi r24, 0xFD ; 253
3e84: 19 f4 brne .+6 ; 0x3e8c <ParameterZuordnung+0x2b2>
3e86: 80 91 41 04 lds r24, 0x0441
3e8a: 04 c0 rjmp .+8 ; 0x3e94 <ParameterZuordnung+0x2ba>
3e8c: 8e 3f cpi r24, 0xFE ; 254
3e8e: 21 f4 brne .+8 ; 0x3e98 <ParameterZuordnung+0x2be>
3e90: 80 91 43 04 lds r24, 0x0443
3e94: 80 93 5e 04 sts 0x045E, r24
3e98: 80 91 5e 04 lds r24, 0x045E
3e9c: 88 23 and r24, r24
3e9e: 19 f4 brne .+6 ; 0x3ea6 <ParameterZuordnung+0x2cc>
3ea0: 10 92 5e 04 sts 0x045E, r1
3ea4: 04 c0 rjmp .+8 ; 0x3eae <ParameterZuordnung+0x2d4>
3ea6: 8f 3f cpi r24, 0xFF ; 255
3ea8: 11 f4 brne .+4 ; 0x3eae <ParameterZuordnung+0x2d4>
3eaa: 80 93 5e 04 sts 0x045E, r24
3eae: 80 91 4e 07 lds r24, 0x074E
3eb2: 8b 3f cpi r24, 0xFB ; 251
3eb4: 98 f0 brcs .+38 ; 0x3edc <ParameterZuordnung+0x302>
3eb6: 8b 3f cpi r24, 0xFB ; 251
3eb8: 19 f4 brne .+6 ; 0x3ec0 <ParameterZuordnung+0x2e6>
3eba: 80 91 3d 04 lds r24, 0x043D
3ebe: 0e c0 rjmp .+28 ; 0x3edc <ParameterZuordnung+0x302>
3ec0: 8c 3f cpi r24, 0xFC ; 252
3ec2: 19 f4 brne .+6 ; 0x3eca <ParameterZuordnung+0x2f0>
3ec4: 80 91 3f 04 lds r24, 0x043F
3ec8: 09 c0 rjmp .+18 ; 0x3edc <ParameterZuordnung+0x302>
3eca: 8d 3f cpi r24, 0xFD ; 253
3ecc: 19 f4 brne .+6 ; 0x3ed4 <ParameterZuordnung+0x2fa>
3ece: 80 91 41 04 lds r24, 0x0441
3ed2: 04 c0 rjmp .+8 ; 0x3edc <ParameterZuordnung+0x302>
3ed4: 8e 3f cpi r24, 0xFE ; 254
3ed6: 21 f4 brne .+8 ; 0x3ee0 <ParameterZuordnung+0x306>
3ed8: 80 91 43 04 lds r24, 0x0443
3edc: 80 93 5f 04 sts 0x045F, r24
3ee0: 80 91 5f 04 lds r24, 0x045F
3ee4: 88 23 and r24, r24
3ee6: 19 f4 brne .+6 ; 0x3eee <ParameterZuordnung+0x314>
3ee8: 10 92 5f 04 sts 0x045F, r1
3eec: 04 c0 rjmp .+8 ; 0x3ef6 <ParameterZuordnung+0x31c>
3eee: 8f 3f cpi r24, 0xFF ; 255
3ef0: 11 f4 brne .+4 ; 0x3ef6 <ParameterZuordnung+0x31c>
3ef2: 80 93 5f 04 sts 0x045F, r24
3ef6: 80 91 4f 07 lds r24, 0x074F
3efa: 8b 3f cpi r24, 0xFB ; 251
3efc: 98 f0 brcs .+38 ; 0x3f24 <ParameterZuordnung+0x34a>
3efe: 8b 3f cpi r24, 0xFB ; 251
3f00: 19 f4 brne .+6 ; 0x3f08 <ParameterZuordnung+0x32e>
3f02: 80 91 3d 04 lds r24, 0x043D
3f06: 0e c0 rjmp .+28 ; 0x3f24 <ParameterZuordnung+0x34a>
3f08: 8c 3f cpi r24, 0xFC ; 252
3f0a: 19 f4 brne .+6 ; 0x3f12 <ParameterZuordnung+0x338>
3f0c: 80 91 3f 04 lds r24, 0x043F
3f10: 09 c0 rjmp .+18 ; 0x3f24 <ParameterZuordnung+0x34a>
3f12: 8d 3f cpi r24, 0xFD ; 253
3f14: 19 f4 brne .+6 ; 0x3f1c <ParameterZuordnung+0x342>
3f16: 80 91 41 04 lds r24, 0x0441
3f1a: 04 c0 rjmp .+8 ; 0x3f24 <ParameterZuordnung+0x34a>
3f1c: 8e 3f cpi r24, 0xFE ; 254
3f1e: 21 f4 brne .+8 ; 0x3f28 <ParameterZuordnung+0x34e>
3f20: 80 91 43 04 lds r24, 0x0443
3f24: 80 93 60 04 sts 0x0460, r24
3f28: 80 91 60 04 lds r24, 0x0460
3f2c: 88 23 and r24, r24
3f2e: 19 f4 brne .+6 ; 0x3f36 <ParameterZuordnung+0x35c>
3f30: 10 92 60 04 sts 0x0460, r1
3f34: 04 c0 rjmp .+8 ; 0x3f3e <ParameterZuordnung+0x364>
3f36: 8f 3f cpi r24, 0xFF ; 255
3f38: 11 f4 brne .+4 ; 0x3f3e <ParameterZuordnung+0x364>
3f3a: 80 93 60 04 sts 0x0460, r24
3f3e: 80 91 5f 07 lds r24, 0x075F
3f42: 8b 3f cpi r24, 0xFB ; 251
3f44: 98 f0 brcs .+38 ; 0x3f6c <ParameterZuordnung+0x392>
3f46: 8b 3f cpi r24, 0xFB ; 251
3f48: 19 f4 brne .+6 ; 0x3f50 <ParameterZuordnung+0x376>
3f4a: 80 91 3d 04 lds r24, 0x043D
3f4e: 0e c0 rjmp .+28 ; 0x3f6c <ParameterZuordnung+0x392>
3f50: 8c 3f cpi r24, 0xFC ; 252
3f52: 19 f4 brne .+6 ; 0x3f5a <ParameterZuordnung+0x380>
3f54: 80 91 3f 04 lds r24, 0x043F
3f58: 09 c0 rjmp .+18 ; 0x3f6c <ParameterZuordnung+0x392>
3f5a: 8d 3f cpi r24, 0xFD ; 253
3f5c: 19 f4 brne .+6 ; 0x3f64 <ParameterZuordnung+0x38a>
3f5e: 80 91 41 04 lds r24, 0x0441
3f62: 04 c0 rjmp .+8 ; 0x3f6c <ParameterZuordnung+0x392>
3f64: 8e 3f cpi r24, 0xFE ; 254
3f66: 21 f4 brne .+8 ; 0x3f70 <ParameterZuordnung+0x396>
3f68: 80 91 43 04 lds r24, 0x0443
3f6c: 80 93 61 04 sts 0x0461, r24
3f70: 80 91 61 04 lds r24, 0x0461
3f74: 88 23 and r24, r24
3f76: 19 f4 brne .+6 ; 0x3f7e <ParameterZuordnung+0x3a4>
3f78: 10 92 61 04 sts 0x0461, r1
3f7c: 04 c0 rjmp .+8 ; 0x3f86 <ParameterZuordnung+0x3ac>
3f7e: 8f 3f cpi r24, 0xFF ; 255
3f80: 11 f4 brne .+4 ; 0x3f86 <ParameterZuordnung+0x3ac>
3f82: 80 93 61 04 sts 0x0461, r24
3f86: 80 91 60 07 lds r24, 0x0760
3f8a: 8b 3f cpi r24, 0xFB ; 251
3f8c: 98 f0 brcs .+38 ; 0x3fb4 <ParameterZuordnung+0x3da>
3f8e: 8b 3f cpi r24, 0xFB ; 251
3f90: 19 f4 brne .+6 ; 0x3f98 <ParameterZuordnung+0x3be>
3f92: 80 91 3d 04 lds r24, 0x043D
3f96: 0e c0 rjmp .+28 ; 0x3fb4 <ParameterZuordnung+0x3da>
3f98: 8c 3f cpi r24, 0xFC ; 252
3f9a: 19 f4 brne .+6 ; 0x3fa2 <ParameterZuordnung+0x3c8>
3f9c: 80 91 3f 04 lds r24, 0x043F
3fa0: 09 c0 rjmp .+18 ; 0x3fb4 <ParameterZuordnung+0x3da>
3fa2: 8d 3f cpi r24, 0xFD ; 253
3fa4: 19 f4 brne .+6 ; 0x3fac <ParameterZuordnung+0x3d2>
3fa6: 80 91 41 04 lds r24, 0x0441
3faa: 04 c0 rjmp .+8 ; 0x3fb4 <ParameterZuordnung+0x3da>
3fac: 8e 3f cpi r24, 0xFE ; 254
3fae: 21 f4 brne .+8 ; 0x3fb8 <ParameterZuordnung+0x3de>
3fb0: 80 91 43 04 lds r24, 0x0443
3fb4: 80 93 62 04 sts 0x0462, r24
3fb8: 80 91 62 04 lds r24, 0x0462
3fbc: 88 23 and r24, r24
3fbe: 19 f4 brne .+6 ; 0x3fc6 <ParameterZuordnung+0x3ec>
3fc0: 10 92 62 04 sts 0x0462, r1
3fc4: 04 c0 rjmp .+8 ; 0x3fce <ParameterZuordnung+0x3f4>
3fc6: 8f 3f cpi r24, 0xFF ; 255
3fc8: 11 f4 brne .+4 ; 0x3fce <ParameterZuordnung+0x3f4>
3fca: 80 93 62 04 sts 0x0462, r24
3fce: 80 91 61 07 lds r24, 0x0761
3fd2: 8b 3f cpi r24, 0xFB ; 251
3fd4: 98 f0 brcs .+38 ; 0x3ffc <ParameterZuordnung+0x422>
3fd6: 8b 3f cpi r24, 0xFB ; 251
3fd8: 19 f4 brne .+6 ; 0x3fe0 <ParameterZuordnung+0x406>
3fda: 80 91 3d 04 lds r24, 0x043D
3fde: 0e c0 rjmp .+28 ; 0x3ffc <ParameterZuordnung+0x422>
3fe0: 8c 3f cpi r24, 0xFC ; 252
3fe2: 19 f4 brne .+6 ; 0x3fea <ParameterZuordnung+0x410>
3fe4: 80 91 3f 04 lds r24, 0x043F
3fe8: 09 c0 rjmp .+18 ; 0x3ffc <ParameterZuordnung+0x422>
3fea: 8d 3f cpi r24, 0xFD ; 253
3fec: 19 f4 brne .+6 ; 0x3ff4 <ParameterZuordnung+0x41a>
3fee: 80 91 41 04 lds r24, 0x0441
3ff2: 04 c0 rjmp .+8 ; 0x3ffc <ParameterZuordnung+0x422>
3ff4: 8e 3f cpi r24, 0xFE ; 254
3ff6: 21 f4 brne .+8 ; 0x4000 <ParameterZuordnung+0x426>
3ff8: 80 91 43 04 lds r24, 0x0443
3ffc: 80 93 63 04 sts 0x0463, r24
4000: 80 91 63 04 lds r24, 0x0463
4004: 88 23 and r24, r24
4006: 19 f4 brne .+6 ; 0x400e <ParameterZuordnung+0x434>
4008: 10 92 63 04 sts 0x0463, r1
400c: 04 c0 rjmp .+8 ; 0x4016 <ParameterZuordnung+0x43c>
400e: 8f 3f cpi r24, 0xFF ; 255
4010: 11 f4 brne .+4 ; 0x4016 <ParameterZuordnung+0x43c>
4012: 80 93 63 04 sts 0x0463, r24
4016: 80 91 62 07 lds r24, 0x0762
401a: 8b 3f cpi r24, 0xFB ; 251
401c: 98 f0 brcs .+38 ; 0x4044 <ParameterZuordnung+0x46a>
401e: 8b 3f cpi r24, 0xFB ; 251
4020: 19 f4 brne .+6 ; 0x4028 <ParameterZuordnung+0x44e>
4022: 80 91 3d 04 lds r24, 0x043D
4026: 0e c0 rjmp .+28 ; 0x4044 <ParameterZuordnung+0x46a>
4028: 8c 3f cpi r24, 0xFC ; 252
402a: 19 f4 brne .+6 ; 0x4032 <ParameterZuordnung+0x458>
402c: 80 91 3f 04 lds r24, 0x043F
4030: 09 c0 rjmp .+18 ; 0x4044 <ParameterZuordnung+0x46a>
4032: 8d 3f cpi r24, 0xFD ; 253
4034: 19 f4 brne .+6 ; 0x403c <ParameterZuordnung+0x462>
4036: 80 91 41 04 lds r24, 0x0441
403a: 04 c0 rjmp .+8 ; 0x4044 <ParameterZuordnung+0x46a>
403c: 8e 3f cpi r24, 0xFE ; 254
403e: 21 f4 brne .+8 ; 0x4048 <ParameterZuordnung+0x46e>
4040: 80 91 43 04 lds r24, 0x0443
4044: 80 93 64 04 sts 0x0464, r24
4048: 80 91 64 04 lds r24, 0x0464
404c: 88 23 and r24, r24
404e: 19 f4 brne .+6 ; 0x4056 <ParameterZuordnung+0x47c>
4050: 10 92 64 04 sts 0x0464, r1
4054: 04 c0 rjmp .+8 ; 0x405e <ParameterZuordnung+0x484>
4056: 8f 3f cpi r24, 0xFF ; 255
4058: 11 f4 brne .+4 ; 0x405e <ParameterZuordnung+0x484>
405a: 80 93 64 04 sts 0x0464, r24
405e: 80 91 50 07 lds r24, 0x0750
4062: 8b 3f cpi r24, 0xFB ; 251
4064: 98 f0 brcs .+38 ; 0x408c <ParameterZuordnung+0x4b2>
4066: 8b 3f cpi r24, 0xFB ; 251
4068: 19 f4 brne .+6 ; 0x4070 <ParameterZuordnung+0x496>
406a: 80 91 3d 04 lds r24, 0x043D
406e: 0e c0 rjmp .+28 ; 0x408c <ParameterZuordnung+0x4b2>
4070: 8c 3f cpi r24, 0xFC ; 252
4072: 19 f4 brne .+6 ; 0x407a <ParameterZuordnung+0x4a0>
4074: 80 91 3f 04 lds r24, 0x043F
4078: 09 c0 rjmp .+18 ; 0x408c <ParameterZuordnung+0x4b2>
407a: 8d 3f cpi r24, 0xFD ; 253
407c: 19 f4 brne .+6 ; 0x4084 <ParameterZuordnung+0x4aa>
407e: 80 91 41 04 lds r24, 0x0441
4082: 04 c0 rjmp .+8 ; 0x408c <ParameterZuordnung+0x4b2>
4084: 8e 3f cpi r24, 0xFE ; 254
4086: 21 f4 brne .+8 ; 0x4090 <ParameterZuordnung+0x4b6>
4088: 80 91 43 04 lds r24, 0x0443
408c: 80 93 9c 03 sts 0x039C, r24
4090: 80 91 9c 03 lds r24, 0x039C
4094: 88 23 and r24, r24
4096: 19 f4 brne .+6 ; 0x409e <ParameterZuordnung+0x4c4>
4098: 10 92 9c 03 sts 0x039C, r1
409c: 04 c0 rjmp .+8 ; 0x40a6 <ParameterZuordnung+0x4cc>
409e: 8f 3f cpi r24, 0xFF ; 255
40a0: 11 f4 brne .+4 ; 0x40a6 <ParameterZuordnung+0x4cc>
40a2: 80 93 9c 03 sts 0x039C, r24
40a6: 80 91 55 07 lds r24, 0x0755
40aa: 8b 3f cpi r24, 0xFB ; 251
40ac: 98 f0 brcs .+38 ; 0x40d4 <ParameterZuordnung+0x4fa>
40ae: 8b 3f cpi r24, 0xFB ; 251
40b0: 19 f4 brne .+6 ; 0x40b8 <ParameterZuordnung+0x4de>
40b2: 80 91 3d 04 lds r24, 0x043D
40b6: 0e c0 rjmp .+28 ; 0x40d4 <ParameterZuordnung+0x4fa>
40b8: 8c 3f cpi r24, 0xFC ; 252
40ba: 19 f4 brne .+6 ; 0x40c2 <ParameterZuordnung+0x4e8>
40bc: 80 91 3f 04 lds r24, 0x043F
40c0: 09 c0 rjmp .+18 ; 0x40d4 <ParameterZuordnung+0x4fa>
40c2: 8d 3f cpi r24, 0xFD ; 253
40c4: 19 f4 brne .+6 ; 0x40cc <ParameterZuordnung+0x4f2>
40c6: 80 91 41 04 lds r24, 0x0441
40ca: 04 c0 rjmp .+8 ; 0x40d4 <ParameterZuordnung+0x4fa>
40cc: 8e 3f cpi r24, 0xFE ; 254
40ce: 21 f4 brne .+8 ; 0x40d8 <ParameterZuordnung+0x4fe>
40d0: 80 91 43 04 lds r24, 0x0443
40d4: 80 93 9d 03 sts 0x039D, r24
40d8: 80 91 9d 03 lds r24, 0x039D
40dc: 88 23 and r24, r24
40de: 19 f4 brne .+6 ; 0x40e6 <ParameterZuordnung+0x50c>
40e0: 10 92 9d 03 sts 0x039D, r1
40e4: 04 c0 rjmp .+8 ; 0x40ee <ParameterZuordnung+0x514>
40e6: 8f 3f cpi r24, 0xFF ; 255
40e8: 11 f4 brne .+4 ; 0x40ee <ParameterZuordnung+0x514>
40ea: 80 93 9d 03 sts 0x039D, r24
40ee: 80 91 58 07 lds r24, 0x0758
40f2: 8b 3f cpi r24, 0xFB ; 251
40f4: 98 f0 brcs .+38 ; 0x411c <ParameterZuordnung+0x542>
40f6: 8b 3f cpi r24, 0xFB ; 251
40f8: 19 f4 brne .+6 ; 0x4100 <ParameterZuordnung+0x526>
40fa: 80 91 3d 04 lds r24, 0x043D
40fe: 0e c0 rjmp .+28 ; 0x411c <ParameterZuordnung+0x542>
4100: 8c 3f cpi r24, 0xFC ; 252
4102: 19 f4 brne .+6 ; 0x410a <ParameterZuordnung+0x530>
4104: 80 91 3f 04 lds r24, 0x043F
4108: 09 c0 rjmp .+18 ; 0x411c <ParameterZuordnung+0x542>
410a: 8d 3f cpi r24, 0xFD ; 253
410c: 19 f4 brne .+6 ; 0x4114 <ParameterZuordnung+0x53a>
410e: 80 91 41 04 lds r24, 0x0441
4112: 04 c0 rjmp .+8 ; 0x411c <ParameterZuordnung+0x542>
4114: 8e 3f cpi r24, 0xFE ; 254
4116: 21 f4 brne .+8 ; 0x4120 <ParameterZuordnung+0x546>
4118: 80 91 43 04 lds r24, 0x0443
411c: 80 93 65 04 sts 0x0465, r24
4120: 80 91 65 04 lds r24, 0x0465
4124: 88 23 and r24, r24
4126: 19 f4 brne .+6 ; 0x412e <ParameterZuordnung+0x554>
4128: 10 92 65 04 sts 0x0465, r1
412c: 04 c0 rjmp .+8 ; 0x4136 <ParameterZuordnung+0x55c>
412e: 8f 3f cpi r24, 0xFF ; 255
4130: 11 f4 brne .+4 ; 0x4136 <ParameterZuordnung+0x55c>
4132: 80 93 65 04 sts 0x0465, r24
4136: 80 91 59 07 lds r24, 0x0759
413a: 8b 3f cpi r24, 0xFB ; 251
413c: 98 f0 brcs .+38 ; 0x4164 <ParameterZuordnung+0x58a>
413e: 8b 3f cpi r24, 0xFB ; 251
4140: 19 f4 brne .+6 ; 0x4148 <ParameterZuordnung+0x56e>
4142: 80 91 3d 04 lds r24, 0x043D
4146: 0e c0 rjmp .+28 ; 0x4164 <ParameterZuordnung+0x58a>
4148: 8c 3f cpi r24, 0xFC ; 252
414a: 19 f4 brne .+6 ; 0x4152 <ParameterZuordnung+0x578>
414c: 80 91 3f 04 lds r24, 0x043F
4150: 09 c0 rjmp .+18 ; 0x4164 <ParameterZuordnung+0x58a>
4152: 8d 3f cpi r24, 0xFD ; 253
4154: 19 f4 brne .+6 ; 0x415c <ParameterZuordnung+0x582>
4156: 80 91 41 04 lds r24, 0x0441
415a: 04 c0 rjmp .+8 ; 0x4164 <ParameterZuordnung+0x58a>
415c: 8e 3f cpi r24, 0xFE ; 254
415e: 21 f4 brne .+8 ; 0x4168 <ParameterZuordnung+0x58e>
4160: 80 91 43 04 lds r24, 0x0443
4164: 80 93 66 04 sts 0x0466, r24
4168: 80 91 66 04 lds r24, 0x0466
416c: 88 23 and r24, r24
416e: 19 f4 brne .+6 ; 0x4176 <ParameterZuordnung+0x59c>
4170: 10 92 66 04 sts 0x0466, r1
4174: 04 c0 rjmp .+8 ; 0x417e <ParameterZuordnung+0x5a4>
4176: 8f 3f cpi r24, 0xFF ; 255
4178: 11 f4 brne .+4 ; 0x417e <ParameterZuordnung+0x5a4>
417a: 80 93 66 04 sts 0x0466, r24
417e: 80 91 5e 07 lds r24, 0x075E
4182: 8b 3f cpi r24, 0xFB ; 251
4184: 98 f0 brcs .+38 ; 0x41ac <ParameterZuordnung+0x5d2>
4186: 8b 3f cpi r24, 0xFB ; 251
4188: 19 f4 brne .+6 ; 0x4190 <ParameterZuordnung+0x5b6>
418a: 80 91 3d 04 lds r24, 0x043D
418e: 0e c0 rjmp .+28 ; 0x41ac <ParameterZuordnung+0x5d2>
4190: 8c 3f cpi r24, 0xFC ; 252
4192: 19 f4 brne .+6 ; 0x419a <ParameterZuordnung+0x5c0>
4194: 80 91 3f 04 lds r24, 0x043F
4198: 09 c0 rjmp .+18 ; 0x41ac <ParameterZuordnung+0x5d2>
419a: 8d 3f cpi r24, 0xFD ; 253
419c: 19 f4 brne .+6 ; 0x41a4 <ParameterZuordnung+0x5ca>
419e: 80 91 41 04 lds r24, 0x0441
41a2: 04 c0 rjmp .+8 ; 0x41ac <ParameterZuordnung+0x5d2>
41a4: 8e 3f cpi r24, 0xFE ; 254
41a6: 21 f4 brne .+8 ; 0x41b0 <ParameterZuordnung+0x5d6>
41a8: 80 91 43 04 lds r24, 0x0443
41ac: 80 93 9e 03 sts 0x039E, r24
41b0: 80 91 9e 03 lds r24, 0x039E
41b4: 88 23 and r24, r24
41b6: 19 f4 brne .+6 ; 0x41be <ParameterZuordnung+0x5e4>
41b8: 10 92 9e 03 sts 0x039E, r1
41bc: 04 c0 rjmp .+8 ; 0x41c6 <ParameterZuordnung+0x5ec>
41be: 8f 3f cpi r24, 0xFF ; 255
41c0: 11 f4 brne .+4 ; 0x41c6 <ParameterZuordnung+0x5ec>
41c2: 80 93 9e 03 sts 0x039E, r24
41c6: 10 91 9b 03 lds r17, 0x039B
41ca: 61 2f mov r22, r17
41cc: 77 27 eor r23, r23
41ce: 67 fd sbrc r22, 7
41d0: 70 95 com r23
41d2: 87 2f mov r24, r23
41d4: 97 2f mov r25, r23
41d6: 0e 94 9f 3b call 0x773e ; 0x773e <__floatsisf>
41da: 17 ff sbrs r17, 7
41dc: 06 c0 rjmp .+12 ; 0x41ea <ParameterZuordnung+0x610>
41de: 20 e0 ldi r18, 0x00 ; 0
41e0: 30 e0 ldi r19, 0x00 ; 0
41e2: 40 e8 ldi r20, 0x80 ; 128
41e4: 53 e4 ldi r21, 0x43 ; 67
41e6: 0e 94 fa 3a call 0x75f4 ; 0x75f4 <__addsf3>
41ea: 27 e1 ldi r18, 0x17 ; 23
41ec: 37 eb ldi r19, 0xB7 ; 183
41ee: 41 ed ldi r20, 0xD1 ; 209
41f0: 58 e3 ldi r21, 0x38 ; 56
41f2: 0e 94 19 3c call 0x7832 ; 0x7832 <__mulsf3>
41f6: 60 93 8f 03 sts 0x038F, r22
41fa: 70 93 90 03 sts 0x0390, r23
41fe: 80 93 91 03 sts 0x0391, r24
4202: 90 93 92 03 sts 0x0392, r25
4206: 80 91 42 07 lds r24, 0x0742
420a: 80 93 a5 07 sts 0x07A5, r24
420e: 80 91 41 07 lds r24, 0x0741
4212: 80 93 81 07 sts 0x0781, r24
4216: 1f 91 pop r17
4218: 08 95 ret
 
0000421a <SendMotorData>:
421a: 80 91 4e 04 lds r24, 0x044E
421e: 88 23 and r24, r24
4220: 01 f5 brne .+64 ; 0x4262 <SendMotorData+0x48>
4222: 10 92 7e 07 sts 0x077E, r1
4226: 10 92 79 07 sts 0x0779, r1
422a: 10 92 96 07 sts 0x0796, r1
422e: 10 92 a0 07 sts 0x07A0, r1
4232: 80 91 ad 03 lds r24, 0x03AD
4236: 88 23 and r24, r24
4238: 11 f0 breq .+4 ; 0x423e <SendMotorData+0x24>
423a: 80 93 79 07 sts 0x0779, r24
423e: 80 91 ae 03 lds r24, 0x03AE
4242: 88 23 and r24, r24
4244: 11 f0 breq .+4 ; 0x424a <SendMotorData+0x30>
4246: 80 93 7e 07 sts 0x077E, r24
424a: 80 91 af 03 lds r24, 0x03AF
424e: 88 23 and r24, r24
4250: 11 f0 breq .+4 ; 0x4256 <SendMotorData+0x3c>
4252: 80 93 a0 07 sts 0x07A0, r24
4256: 80 91 b0 03 lds r24, 0x03B0
425a: 88 23 and r24, r24
425c: 11 f0 breq .+4 ; 0x4262 <SendMotorData+0x48>
425e: 80 93 96 07 sts 0x0796, r24
4262: 80 91 79 07 lds r24, 0x0779
4266: 99 27 eor r25, r25
4268: 90 93 c0 06 sts 0x06C0, r25
426c: 80 93 bf 06 sts 0x06BF, r24
4270: 80 91 7e 07 lds r24, 0x077E
4274: 99 27 eor r25, r25
4276: 90 93 c2 06 sts 0x06C2, r25
427a: 80 93 c1 06 sts 0x06C1, r24
427e: 80 91 a0 07 lds r24, 0x07A0
4282: 99 27 eor r25, r25
4284: 90 93 c4 06 sts 0x06C4, r25
4288: 80 93 c3 06 sts 0x06C3, r24
428c: 80 91 96 07 lds r24, 0x0796
4290: 99 27 eor r25, r25
4292: 90 93 c6 06 sts 0x06C6, r25
4296: 80 93 c5 06 sts 0x06C5, r24
429a: 10 92 e8 03 sts 0x03E8, r1
429e: 10 92 e9 03 sts 0x03E9, r1
42a2: 0e 94 bc 15 call 0x2b78 ; 0x2b78 <i2c_start>
42a6: 08 95 ret
 
000042a8 <SetNeutral>:
42a8: 10 92 99 07 sts 0x0799, r1
42ac: 10 92 98 07 sts 0x0798, r1
42b0: 10 92 9b 07 sts 0x079B, r1
42b4: 10 92 9a 07 sts 0x079A, r1
42b8: 80 e0 ldi r24, 0x00 ; 0
42ba: 90 e0 ldi r25, 0x00 ; 0
42bc: a0 e0 ldi r26, 0x00 ; 0
42be: b0 e0 ldi r27, 0x00 ; 0
42c0: 80 93 9c 07 sts 0x079C, r24
42c4: 90 93 9d 07 sts 0x079D, r25
42c8: a0 93 9e 07 sts 0x079E, r26
42cc: b0 93 9f 07 sts 0x079F, r27
42d0: 10 92 f0 03 sts 0x03F0, r1
42d4: 10 92 ef 03 sts 0x03EF, r1
42d8: 10 92 f2 03 sts 0x03F2, r1
42dc: 10 92 f1 03 sts 0x03F1, r1
42e0: 10 92 f4 03 sts 0x03F4, r1
42e4: 10 92 f3 03 sts 0x03F3, r1
42e8: 10 92 65 04 sts 0x0465, r1
42ec: 10 92 66 04 sts 0x0466, r1
42f0: 0e 94 a0 1c call 0x3940 ; 0x3940 <CalibrierMittelwert>
42f4: 84 e6 ldi r24, 0x64 ; 100
42f6: 90 e0 ldi r25, 0x00 ; 0
42f8: 0e 94 e2 0d call 0x1bc4 ; 0x1bc4 <Delay_ms_Mess>
42fc: 0e 94 a0 1c call 0x3940 ; 0x3940 <CalibrierMittelwert>
4300: 80 91 37 07 lds r24, 0x0737
4304: 80 ff sbrs r24, 0
4306: 10 c0 rjmp .+32 ; 0x4328 <SetNeutral+0x80>
4308: 80 91 0e 03 lds r24, 0x030E
430c: 90 91 0f 03 lds r25, 0x030F
4310: 87 5b subi r24, 0xB7 ; 183
4312: 93 40 sbci r25, 0x03 ; 3
4314: 38 f4 brcc .+14 ; 0x4324 <SetNeutral+0x7c>
4316: 80 91 0e 03 lds r24, 0x030E
431a: 90 91 0f 03 lds r25, 0x030F
431e: 8e 5e subi r24, 0xEE ; 238
4320: 92 40 sbci r25, 0x02 ; 2
4322: 10 f4 brcc .+4 ; 0x4328 <SetNeutral+0x80>
4324: 0e 94 8c 10 call 0x2118 ; 0x2118 <SucheLuftruckOffset>
4328: 40 91 c5 03 lds r20, 0x03C5
432c: 50 91 c6 03 lds r21, 0x03C6
4330: 50 93 f0 03 sts 0x03F0, r21
4334: 40 93 ef 03 sts 0x03EF, r20
4338: 20 91 c7 03 lds r18, 0x03C7
433c: 30 91 c8 03 lds r19, 0x03C8
4340: 30 93 f2 03 sts 0x03F2, r19
4344: 20 93 f1 03 sts 0x03F1, r18
4348: 80 91 c9 03 lds r24, 0x03C9
434c: 90 91 ca 03 lds r25, 0x03CA
4350: 90 93 f4 03 sts 0x03F4, r25
4354: 80 93 f3 03 sts 0x03F3, r24
4358: 30 93 f6 03 sts 0x03F6, r19
435c: 20 93 f5 03 sts 0x03F5, r18
4360: 50 93 f8 03 sts 0x03F8, r21
4364: 40 93 f7 03 sts 0x03F7, r20
4368: 88 e0 ldi r24, 0x08 ; 8
436a: e8 e9 ldi r30, 0x98 ; 152
436c: f7 e0 ldi r31, 0x07 ; 7
436e: a8 e6 ldi r26, 0x68 ; 104
4370: b1 e0 ldi r27, 0x01 ; 1
4372: 18 2e mov r1, r24
4374: 0e 94 35 3d call 0x7a6a ; 0x7a6a <__eeprom_read_block_1F2021>
4378: 10 92 19 04 sts 0x0419, r1
437c: 10 92 1a 04 sts 0x041A, r1
4380: 10 92 1b 04 sts 0x041B, r1
4384: 10 92 1c 04 sts 0x041C, r1
4388: 10 92 1d 04 sts 0x041D, r1
438c: 10 92 1e 04 sts 0x041E, r1
4390: 10 92 1f 04 sts 0x041F, r1
4394: 10 92 20 04 sts 0x0420, r1
4398: 10 92 21 04 sts 0x0421, r1
439c: 10 92 22 04 sts 0x0422, r1
43a0: 10 92 23 04 sts 0x0423, r1
43a4: 10 92 24 04 sts 0x0424, r1
43a8: 10 92 25 04 sts 0x0425, r1
43ac: 10 92 26 04 sts 0x0426, r1
43b0: 10 92 27 04 sts 0x0427, r1
43b4: 10 92 28 04 sts 0x0428, r1
43b8: 10 92 29 04 sts 0x0429, r1
43bc: 10 92 2a 04 sts 0x042A, r1
43c0: 10 92 2b 04 sts 0x042B, r1
43c4: 10 92 2c 04 sts 0x042C, r1
43c8: 10 92 80 07 sts 0x0780, r1
43cc: 10 92 7f 07 sts 0x077F, r1
43d0: 10 92 78 07 sts 0x0778, r1
43d4: 10 92 77 07 sts 0x0777, r1
43d8: 10 92 a7 07 sts 0x07A7, r1
43dc: 10 92 a6 07 sts 0x07A6, r1
43e0: 80 91 0a 03 lds r24, 0x030A
43e4: 90 91 0b 03 lds r25, 0x030B
43e8: a0 91 0c 03 lds r26, 0x030C
43ec: b0 91 0d 03 lds r27, 0x030D
43f0: 90 93 ee 06 sts 0x06EE, r25
43f4: 80 93 ed 06 sts 0x06ED, r24
43f8: 10 92 d8 03 sts 0x03D8, r1
43fc: 10 92 d7 03 sts 0x03D7, r1
4400: 10 92 31 04 sts 0x0431, r1
4404: 10 92 32 04 sts 0x0432, r1
4408: 10 92 33 04 sts 0x0433, r1
440c: 10 92 34 04 sts 0x0434, r1
4410: 80 91 35 04 lds r24, 0x0435
4414: 90 91 36 04 lds r25, 0x0436
4418: 90 93 38 04 sts 0x0438, r25
441c: 80 93 37 04 sts 0x0437, r24
4420: 0e 94 89 37 call 0x6f12 ; 0x6f12 <GPS_Neutral>
4424: 82 e3 ldi r24, 0x32 ; 50
4426: 90 e0 ldi r25, 0x00 ; 0
4428: 90 93 c1 03 sts 0x03C1, r25
442c: 80 93 c0 03 sts 0x03C0, r24
4430: 60 91 5a 07 lds r22, 0x075A
4434: 77 27 eor r23, r23
4436: 88 27 eor r24, r24
4438: 99 27 eor r25, r25
443a: 24 ec ldi r18, 0xC4 ; 196
443c: 39 e0 ldi r19, 0x09 ; 9
443e: 40 e0 ldi r20, 0x00 ; 0
4440: 50 e0 ldi r21, 0x00 ; 0
4442: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
4446: 60 93 87 03 sts 0x0387, r22
444a: 70 93 88 03 sts 0x0388, r23
444e: 80 93 89 03 sts 0x0389, r24
4452: 90 93 8a 03 sts 0x038A, r25
4456: 60 91 5b 07 lds r22, 0x075B
445a: 77 27 eor r23, r23
445c: 88 27 eor r24, r24
445e: 99 27 eor r25, r25
4460: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
4464: 60 93 8b 03 sts 0x038B, r22
4468: 70 93 8c 03 sts 0x038C, r23
446c: 80 93 8d 03 sts 0x038D, r24
4470: 90 93 8e 03 sts 0x038E, r25
4474: 10 92 a0 03 sts 0x03A0, r1
4478: 10 92 9f 03 sts 0x039F, r1
447c: 08 95 ret
 
0000447e <calib_acc>:
447e: cf 93 push r28
4480: df 93 push r29
4482: c8 e9 ldi r28, 0x98 ; 152
4484: d7 e0 ldi r29, 0x07 ; 7
4486: 10 92 99 07 sts 0x0799, r1
448a: 10 92 98 07 sts 0x0798, r1
448e: 10 92 9b 07 sts 0x079B, r1
4492: 10 92 9a 07 sts 0x079A, r1
4496: 80 e0 ldi r24, 0x00 ; 0
4498: 90 e0 ldi r25, 0x00 ; 0
449a: a0 e0 ldi r26, 0x00 ; 0
449c: b0 e0 ldi r27, 0x00 ; 0
449e: 80 93 9c 07 sts 0x079C, r24
44a2: 90 93 9d 07 sts 0x079D, r25
44a6: a0 93 9e 07 sts 0x079E, r26
44aa: b0 93 9f 07 sts 0x079F, r27
44ae: 0e 94 a0 1c call 0x3940 ; 0x3940 <CalibrierMittelwert>
44b2: 84 e6 ldi r24, 0x64 ; 100
44b4: 90 e0 ldi r25, 0x00 ; 0
44b6: 0e 94 e2 0d call 0x1bc4 ; 0x1bc4 <Delay_ms_Mess>
44ba: 0e 94 a0 1c call 0x3940 ; 0x3940 <CalibrierMittelwert>
44be: 80 91 a3 07 lds r24, 0x07A3
44c2: 90 91 a4 07 lds r25, 0x07A4
44c6: 97 ff sbrs r25, 7
44c8: 03 c0 rjmp .+6 ; 0x44d0 <calib_acc+0x52>
44ca: 90 95 com r25
44cc: 81 95 neg r24
44ce: 9f 4f sbci r25, 0xFF ; 255
44d0: 6c e0 ldi r22, 0x0C ; 12
44d2: 70 e0 ldi r23, 0x00 ; 0
44d4: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
44d8: 70 93 99 07 sts 0x0799, r23
44dc: 60 93 98 07 sts 0x0798, r22
44e0: 80 91 ad 07 lds r24, 0x07AD
44e4: 90 91 ae 07 lds r25, 0x07AE
44e8: 97 ff sbrs r25, 7
44ea: 03 c0 rjmp .+6 ; 0x44f2 <calib_acc+0x74>
44ec: 90 95 com r25
44ee: 81 95 neg r24
44f0: 9f 4f sbci r25, 0xFF ; 255
44f2: 6c e0 ldi r22, 0x0C ; 12
44f4: 70 e0 ldi r23, 0x00 ; 0
44f6: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
44fa: 70 93 9b 07 sts 0x079B, r23
44fe: 60 93 9a 07 sts 0x079A, r22
4502: 60 91 eb 06 lds r22, 0x06EB
4506: 70 91 ec 06 lds r23, 0x06EC
450a: 88 27 eor r24, r24
450c: 77 fd sbrc r23, 7
450e: 80 95 com r24
4510: 98 2f mov r25, r24
4512: 0e 94 9f 3b call 0x773e ; 0x773e <__floatsisf>
4516: 60 93 9c 07 sts 0x079C, r22
451a: 70 93 9d 07 sts 0x079D, r23
451e: 80 93 9e 07 sts 0x079E, r24
4522: 90 93 9f 07 sts 0x079F, r25
4526: 88 e0 ldi r24, 0x08 ; 8
4528: a8 e6 ldi r26, 0x68 ; 104
452a: b1 e0 ldi r27, 0x01 ; 1
452c: fe 01 movw r30, r28
452e: 18 2e mov r1, r24
4530: 0e 94 46 3d call 0x7a8c ; 0x7a8c <__eeprom_write_block_1F2021>
4534: df 91 pop r29
4536: cf 91 pop r28
4538: 08 95 ret
 
0000453a <Piep>:
453a: 1f 93 push r17
453c: 18 2f mov r17, r24
453e: 0e c0 rjmp .+28 ; 0x455c <Piep+0x22>
4540: 80 91 4e 04 lds r24, 0x044E
4544: 88 23 and r24, r24
4546: 61 f4 brne .+24 ; 0x4560 <Piep+0x26>
4548: 84 e6 ldi r24, 0x64 ; 100
454a: 90 e0 ldi r25, 0x00 ; 0
454c: 90 93 c1 03 sts 0x03C1, r25
4550: 80 93 c0 03 sts 0x03C0, r24
4554: 8a ef ldi r24, 0xFA ; 250
4556: 90 e0 ldi r25, 0x00 ; 0
4558: 0e 94 f8 0d call 0x1bf0 ; 0x1bf0 <Delay_ms>
455c: 11 50 subi r17, 0x01 ; 1
455e: 80 f7 brcc .-32 ; 0x4540 <Piep+0x6>
4560: 1f 91 pop r17
4562: 08 95 ret
 
00004564 <MotorRegler>:
4564: ad e3 ldi r26, 0x3D ; 61
4566: b0 e0 ldi r27, 0x00 ; 0
4568: e8 eb ldi r30, 0xB8 ; 184
456a: f2 e2 ldi r31, 0x22 ; 34
456c: 0c 94 f0 3c jmp 0x79e0 ; 0x79e0 <__prologue_saves__>
4570: 0e 94 70 17 call 0x2ee0 ; 0x2ee0 <Mittelwert>
4574: 29 9a sbi 0x05, 1 ; 5
4576: 20 91 4c 04 lds r18, 0x044C
457a: 30 91 4d 04 lds r19, 0x044D
457e: 3c 83 std Y+4, r19 ; 0x04
4580: 2b 83 std Y+3, r18 ; 0x03
4582: 37 ff sbrs r19, 7
4584: 02 c0 rjmp .+4 ; 0x458a <MotorRegler+0x26>
4586: 1c 82 std Y+4, r1 ; 0x04
4588: 1b 82 std Y+3, r1 ; 0x03
458a: 80 91 45 04 lds r24, 0x0445
458e: 84 36 cpi r24, 0x64 ; 100
4590: 08 f0 brcs .+2 ; 0x4594 <MotorRegler+0x30>
4592: 5d c0 rjmp .+186 ; 0x464e <MotorRegler+0xea>
4594: 80 91 03 01 lds r24, 0x0103
4598: 88 23 and r24, r24
459a: 99 f4 brne .+38 ; 0x45c2 <MotorRegler+0x5e>
459c: 80 91 04 03 lds r24, 0x0304
45a0: 90 91 05 03 lds r25, 0x0305
45a4: 8f 5f subi r24, 0xFF ; 255
45a6: 9f 4f sbci r25, 0xFF ; 255
45a8: 61 f4 brne .+24 ; 0x45c2 <MotorRegler+0x5e>
45aa: 88 e9 ldi r24, 0x98 ; 152
45ac: 9a e3 ldi r25, 0x3A ; 58
45ae: 90 93 c1 03 sts 0x03C1, r25
45b2: 80 93 c0 03 sts 0x03C0, r24
45b6: 80 e0 ldi r24, 0x00 ; 0
45b8: 9c e0 ldi r25, 0x0C ; 12
45ba: 90 93 05 03 sts 0x0305, r25
45be: 80 93 04 03 sts 0x0304, r24
45c2: 80 91 90 04 lds r24, 0x0490
45c6: 90 91 91 04 lds r25, 0x0491
45ca: 00 97 sbiw r24, 0x00 ; 0
45cc: 31 f0 breq .+12 ; 0x45da <MotorRegler+0x76>
45ce: 01 97 sbiw r24, 0x01 ; 1
45d0: 90 93 91 04 sts 0x0491, r25
45d4: 80 93 90 04 sts 0x0490, r24
45d8: 04 c0 rjmp .+8 ; 0x45e2 <MotorRegler+0x7e>
45da: 10 92 4e 04 sts 0x044E, r1
45de: 10 92 3b 04 sts 0x043B, r1
45e2: 80 91 00 01 lds r24, 0x0100
45e6: 8a 30 cpi r24, 0x0A ; 10
45e8: 11 f4 brne .+4 ; 0x45ee <MotorRegler+0x8a>
45ea: 28 9a sbi 0x05, 0 ; 5
45ec: 01 c0 rjmp .+2 ; 0x45f0 <MotorRegler+0x8c>
45ee: 28 98 cbi 0x05, 0 ; 5
45f0: 80 91 8b 04 lds r24, 0x048B
45f4: 90 91 8c 04 lds r25, 0x048C
45f8: 81 5d subi r24, 0xD1 ; 209
45fa: 97 40 sbci r25, 0x07 ; 7
45fc: 28 f1 brcs .+74 ; 0x4648 <MotorRegler+0xe4>
45fe: 80 91 48 07 lds r24, 0x0748
4602: 68 2f mov r22, r24
4604: 77 27 eor r23, r23
4606: 7c 83 std Y+4, r23 ; 0x04
4608: 6b 83 std Y+3, r22 ; 0x03
460a: 81 e0 ldi r24, 0x01 ; 1
460c: 80 93 3b 04 sts 0x043B, r24
4610: e0 91 2f 07 lds r30, 0x072F
4614: ff 27 eor r31, r31
4616: ee 0f add r30, r30
4618: ff 1f adc r31, r31
461a: ed 5f subi r30, 0xFD ; 253
461c: f8 4f sbci r31, 0xF8 ; 248
461e: 11 82 std Z+1, r1 ; 0x01
4620: 10 82 st Z, r1
4622: e0 91 30 07 lds r30, 0x0730
4626: ff 27 eor r31, r31
4628: ee 0f add r30, r30
462a: ff 1f adc r31, r31
462c: ed 5f subi r30, 0xFD ; 253
462e: f8 4f sbci r31, 0xF8 ; 248
4630: 11 82 std Z+1, r1 ; 0x01
4632: 10 82 st Z, r1
4634: e0 91 32 07 lds r30, 0x0732
4638: ff 27 eor r31, r31
463a: ee 0f add r30, r30
463c: ff 1f adc r31, r31
463e: ed 5f subi r30, 0xFD ; 253
4640: f8 4f sbci r31, 0xF8 ; 248
4642: 11 82 std Z+1, r1 ; 0x01
4644: 10 82 st Z, r1
4646: d9 c1 rjmp .+946 ; 0x49fa <MotorRegler+0x496>
4648: 10 92 4e 04 sts 0x044E, r1
464c: d6 c1 rjmp .+940 ; 0x49fa <MotorRegler+0x496>
464e: 80 91 45 04 lds r24, 0x0445
4652: 8d 38 cpi r24, 0x8D ; 141
4654: 08 f4 brcc .+2 ; 0x4658 <MotorRegler+0xf4>
4656: d1 c1 rjmp .+930 ; 0x49fa <MotorRegler+0x496>
4658: 10 92 3b 04 sts 0x043B, r1
465c: 80 91 49 07 lds r24, 0x0749
4660: 22 e3 ldi r18, 0x32 ; 50
4662: 82 9f mul r24, r18
4664: c0 01 movw r24, r0
4666: 11 24 eor r1, r1
4668: 90 93 91 04 sts 0x0491, r25
466c: 80 93 90 04 sts 0x0490, r24
4670: 8b 81 ldd r24, Y+3 ; 0x03
4672: 9c 81 ldd r25, Y+4 ; 0x04
4674: 89 97 sbiw r24, 0x29 ; 41
4676: 6c f0 brlt .+26 ; 0x4692 <MotorRegler+0x12e>
4678: 80 91 8b 04 lds r24, 0x048B
467c: 90 91 8c 04 lds r25, 0x048C
4680: af ef ldi r26, 0xFF ; 255
4682: 8f 3f cpi r24, 0xFF ; 255
4684: 9a 07 cpc r25, r26
4686: 81 f1 breq .+96 ; 0x46e8 <MotorRegler+0x184>
4688: 01 96 adiw r24, 0x01 ; 1
468a: 90 93 8c 04 sts 0x048C, r25
468e: 80 93 8b 04 sts 0x048B, r24
4692: 80 91 8b 04 lds r24, 0x048B
4696: 90 91 8c 04 lds r25, 0x048C
469a: 88 3c cpi r24, 0xC8 ; 200
469c: 91 05 cpc r25, r1
469e: 20 f0 brcs .+8 ; 0x46a8 <MotorRegler+0x144>
46a0: eb 81 ldd r30, Y+3 ; 0x03
46a2: fc 81 ldd r31, Y+4 ; 0x04
46a4: b8 97 sbiw r30, 0x28 ; 40
46a6: 04 f5 brge .+64 ; 0x46e8 <MotorRegler+0x184>
46a8: 10 92 aa 04 sts 0x04AA, r1
46ac: 10 92 ab 04 sts 0x04AB, r1
46b0: 10 92 ac 04 sts 0x04AC, r1
46b4: 10 92 ad 04 sts 0x04AD, r1
46b8: 10 92 a6 04 sts 0x04A6, r1
46bc: 10 92 a7 04 sts 0x04A7, r1
46c0: 10 92 a8 04 sts 0x04A8, r1
46c4: 10 92 a9 04 sts 0x04A9, r1
46c8: 10 92 29 04 sts 0x0429, r1
46cc: 10 92 2a 04 sts 0x042A, r1
46d0: 10 92 2b 04 sts 0x042B, r1
46d4: 10 92 2c 04 sts 0x042C, r1
46d8: 10 92 2d 04 sts 0x042D, r1
46dc: 10 92 2e 04 sts 0x042E, r1
46e0: 10 92 2f 04 sts 0x042F, r1
46e4: 10 92 30 04 sts 0x0430, r1
46e8: e0 91 31 07 lds r30, 0x0731
46ec: ff 27 eor r31, r31
46ee: ee 0f add r30, r30
46f0: ff 1f adc r31, r31
46f2: ed 5f subi r30, 0xFD ; 253
46f4: f8 4f sbci r31, 0xF8 ; 248
46f6: 80 81 ld r24, Z
46f8: 91 81 ldd r25, Z+1 ; 0x01
46fa: 81 35 cpi r24, 0x51 ; 81
46fc: 91 05 cpc r25, r1
46fe: 0c f4 brge .+2 ; 0x4702 <MotorRegler+0x19e>
4700: d4 c0 rjmp .+424 ; 0x48aa <MotorRegler+0x346>
4702: 80 91 4e 04 lds r24, 0x044E
4706: 88 23 and r24, r24
4708: 09 f0 breq .+2 ; 0x470c <MotorRegler+0x1a8>
470a: cf c0 rjmp .+414 ; 0x48aa <MotorRegler+0x346>
470c: e0 91 32 07 lds r30, 0x0732
4710: ff 27 eor r31, r31
4712: ee 0f add r30, r30
4714: ff 1f adc r31, r31
4716: ed 5f subi r30, 0xFD ; 253
4718: f8 4f sbci r31, 0xF8 ; 248
471a: 80 81 ld r24, Z
471c: 91 81 ldd r25, Z+1 ; 0x01
471e: 8c 34 cpi r24, 0x4C ; 76
4720: 91 05 cpc r25, r1
4722: 0c f4 brge .+2 ; 0x4726 <MotorRegler+0x1c2>
4724: c0 c0 rjmp .+384 ; 0x48a6 <MotorRegler+0x342>
4726: 80 91 8f 04 lds r24, 0x048F
472a: 8f 5f subi r24, 0xFF ; 255
472c: 80 93 8f 04 sts 0x048F, r24
4730: 89 3c cpi r24, 0xC9 ; 201
4732: 08 f4 brcc .+2 ; 0x4736 <MotorRegler+0x1d2>
4734: ba c0 rjmp .+372 ; 0x48aa <MotorRegler+0x346>
4736: 29 98 cbi 0x05, 1 ; 5
4738: 10 92 4e 04 sts 0x044E, r1
473c: 10 92 8f 04 sts 0x048F, r1
4740: 10 92 8c 04 sts 0x048C, r1
4744: 10 92 8b 04 sts 0x048B, r1
4748: 80 91 2f 07 lds r24, 0x072F
474c: 28 2f mov r18, r24
474e: 33 27 eor r19, r19
4750: f9 01 movw r30, r18
4752: ee 0f add r30, r30
4754: ff 1f adc r31, r31
4756: ed 5f subi r30, 0xFD ; 253
4758: f8 4f sbci r31, 0xF8 ; 248
475a: 80 81 ld r24, Z
475c: 91 81 ldd r25, Z+1 ; 0x01
475e: 87 34 cpi r24, 0x47 ; 71
4760: 91 05 cpc r25, r1
4762: 9c f4 brge .+38 ; 0x478a <MotorRegler+0x226>
4764: e0 91 30 07 lds r30, 0x0730
4768: ff 27 eor r31, r31
476a: ee 0f add r30, r30
476c: ff 1f adc r31, r31
476e: ed 5f subi r30, 0xFD ; 253
4770: f8 4f sbci r31, 0xF8 ; 248
4772: 01 90 ld r0, Z+
4774: f0 81 ld r31, Z
4776: e0 2d mov r30, r0
4778: f7 ff sbrs r31, 7
477a: 03 c0 rjmp .+6 ; 0x4782 <MotorRegler+0x21e>
477c: f0 95 com r31
477e: e1 95 neg r30
4780: ff 4f sbci r31, 0xFF ; 255
4782: e7 34 cpi r30, 0x47 ; 71
4784: f1 05 cpc r31, r1
4786: 0c f4 brge .+2 ; 0x478a <MotorRegler+0x226>
4788: 6c c0 rjmp .+216 ; 0x4862 <MotorRegler+0x2fe>
478a: 80 91 30 07 lds r24, 0x0730
478e: 68 2f mov r22, r24
4790: 77 27 eor r23, r23
4792: db 01 movw r26, r22
4794: aa 0f add r26, r26
4796: bb 1f adc r27, r27
4798: ad 5f subi r26, 0xFD ; 253
479a: b8 4f sbci r27, 0xF8 ; 248
479c: 8d 91 ld r24, X+
479e: 9c 91 ld r25, X
47a0: 11 97 sbiw r26, 0x01 ; 1
47a2: 87 34 cpi r24, 0x47 ; 71
47a4: 91 05 cpc r25, r1
47a6: 3c f0 brlt .+14 ; 0x47b6 <MotorRegler+0x252>
47a8: f9 01 movw r30, r18
47aa: ee 0f add r30, r30
47ac: ff 1f adc r31, r31
47ae: ed 5f subi r30, 0xFD ; 253
47b0: f8 4f sbci r31, 0xF8 ; 248
47b2: 80 81 ld r24, Z
47b4: 91 81 ldd r25, Z+1 ; 0x01
47b6: 8d 91 ld r24, X+
47b8: 9c 91 ld r25, X
47ba: 87 34 cpi r24, 0x47 ; 71
47bc: 91 05 cpc r25, r1
47be: 64 f0 brlt .+24 ; 0x47d8 <MotorRegler+0x274>
47c0: f9 01 movw r30, r18
47c2: ee 0f add r30, r30
47c4: ff 1f adc r31, r31
47c6: ed 5f subi r30, 0xFD ; 253
47c8: f8 4f sbci r31, 0xF8 ; 248
47ca: 80 81 ld r24, Z
47cc: 91 81 ldd r25, Z+1 ; 0x01
47ce: 87 34 cpi r24, 0x47 ; 71
47d0: 91 05 cpc r25, r1
47d2: 14 f0 brlt .+4 ; 0x47d8 <MotorRegler+0x274>
47d4: 42 e0 ldi r20, 0x02 ; 2
47d6: 01 c0 rjmp .+2 ; 0x47da <MotorRegler+0x276>
47d8: 41 e0 ldi r20, 0x01 ; 1
47da: fb 01 movw r30, r22
47dc: ee 0f add r30, r30
47de: ff 1f adc r31, r31
47e0: ed 5f subi r30, 0xFD ; 253
47e2: f8 4f sbci r31, 0xF8 ; 248
47e4: 80 81 ld r24, Z
47e6: 91 81 ldd r25, Z+1 ; 0x01
47e8: 86 34 cpi r24, 0x46 ; 70
47ea: 91 05 cpc r25, r1
47ec: 5c f4 brge .+22 ; 0x4804 <MotorRegler+0x2a0>
47ee: f9 01 movw r30, r18
47f0: ee 0f add r30, r30
47f2: ff 1f adc r31, r31
47f4: ed 5f subi r30, 0xFD ; 253
47f6: f8 4f sbci r31, 0xF8 ; 248
47f8: 80 81 ld r24, Z
47fa: 91 81 ldd r25, Z+1 ; 0x01
47fc: 87 34 cpi r24, 0x47 ; 71
47fe: 91 05 cpc r25, r1
4800: 0c f0 brlt .+2 ; 0x4804 <MotorRegler+0x2a0>
4802: 43 e0 ldi r20, 0x03 ; 3
4804: fb 01 movw r30, r22
4806: ee 0f add r30, r30
4808: ff 1f adc r31, r31
480a: ed 5f subi r30, 0xFD ; 253
480c: f8 4f sbci r31, 0xF8 ; 248
480e: 80 81 ld r24, Z
4810: 91 81 ldd r25, Z+1 ; 0x01
4812: 8a 5b subi r24, 0xBA ; 186
4814: 9f 4f sbci r25, 0xFF ; 255
4816: 5c f4 brge .+22 ; 0x482e <MotorRegler+0x2ca>
4818: f9 01 movw r30, r18
481a: ee 0f add r30, r30
481c: ff 1f adc r31, r31
481e: ed 5f subi r30, 0xFD ; 253
4820: f8 4f sbci r31, 0xF8 ; 248
4822: 80 81 ld r24, Z
4824: 91 81 ldd r25, Z+1 ; 0x01
4826: 87 34 cpi r24, 0x47 ; 71
4828: 91 05 cpc r25, r1
482a: 0c f0 brlt .+2 ; 0x482e <MotorRegler+0x2ca>
482c: 44 e0 ldi r20, 0x04 ; 4
482e: 66 0f add r22, r22
4830: 77 1f adc r23, r23
4832: 6d 5f subi r22, 0xFD ; 253
4834: 78 4f sbci r23, 0xF8 ; 248
4836: db 01 movw r26, r22
4838: 8d 91 ld r24, X+
483a: 9c 91 ld r25, X
483c: 8a 5b subi r24, 0xBA ; 186
483e: 9f 4f sbci r25, 0xFF ; 255
4840: 5c f4 brge .+22 ; 0x4858 <MotorRegler+0x2f4>
4842: 22 0f add r18, r18
4844: 33 1f adc r19, r19
4846: 2d 5f subi r18, 0xFD ; 253
4848: 38 4f sbci r19, 0xF8 ; 248
484a: f9 01 movw r30, r18
484c: 80 81 ld r24, Z
484e: 91 81 ldd r25, Z+1 ; 0x01
4850: 86 34 cpi r24, 0x46 ; 70
4852: 91 05 cpc r25, r1
4854: 0c f4 brge .+2 ; 0x4858 <MotorRegler+0x2f4>
4856: 45 e0 ldi r20, 0x05 ; 5
4858: a2 e0 ldi r26, 0x02 ; 2
485a: b0 e0 ldi r27, 0x00 ; 0
485c: 04 2e mov r0, r20
485e: 0e 94 3a 3d call 0x7a74 ; 0x7a74 <__eeprom_write_byte_1F2021>
4862: 80 91 37 07 lds r24, 0x0737
4866: 80 ff sbrs r24, 0
4868: 10 c0 rjmp .+32 ; 0x488a <MotorRegler+0x326>
486a: 80 91 0e 03 lds r24, 0x030E
486e: 90 91 0f 03 lds r25, 0x030F
4872: 87 5b subi r24, 0xB7 ; 183
4874: 93 40 sbci r25, 0x03 ; 3
4876: 38 f4 brcc .+14 ; 0x4886 <MotorRegler+0x322>
4878: 80 91 0e 03 lds r24, 0x030E
487c: 90 91 0f 03 lds r25, 0x030F
4880: 8e 5e subi r24, 0xEE ; 238
4882: 92 40 sbci r25, 0x02 ; 2
4884: 10 f4 brcc .+4 ; 0x488a <MotorRegler+0x326>
4886: 0e 94 8c 10 call 0x2118 ; 0x2118 <SucheLuftruckOffset>
488a: 0e 94 c7 03 call 0x78e ; 0x78e <GetActiveParamSetNumber>
488e: 46 e4 ldi r20, 0x46 ; 70
4890: 6f e2 ldi r22, 0x2F ; 47
4892: 77 e0 ldi r23, 0x07 ; 7
4894: 0e 94 f0 03 call 0x7e0 ; 0x7e0 <ReadParameterSet>
4898: 0e 94 54 21 call 0x42a8 ; 0x42a8 <SetNeutral>
489c: 0e 94 c7 03 call 0x78e ; 0x78e <GetActiveParamSetNumber>
48a0: 0e 94 9d 22 call 0x453a ; 0x453a <Piep>
48a4: 02 c0 rjmp .+4 ; 0x48aa <MotorRegler+0x346>
48a6: 10 92 8f 04 sts 0x048F, r1
48aa: e0 91 31 07 lds r30, 0x0731
48ae: ff 27 eor r31, r31
48b0: ee 0f add r30, r30
48b2: ff 1f adc r31, r31
48b4: ed 5f subi r30, 0xFD ; 253
48b6: f8 4f sbci r31, 0xF8 ; 248
48b8: 80 81 ld r24, Z
48ba: 91 81 ldd r25, Z+1 ; 0x01
48bc: 8b 5a subi r24, 0xAB ; 171
48be: 9f 4f sbci r25, 0xFF ; 255
48c0: 0c f0 brlt .+2 ; 0x48c4 <MotorRegler+0x360>
48c2: 9b c0 rjmp .+310 ; 0x49fa <MotorRegler+0x496>
48c4: 80 91 32 07 lds r24, 0x0732
48c8: 48 2f mov r20, r24
48ca: 55 27 eor r21, r21
48cc: fa 01 movw r30, r20
48ce: ee 0f add r30, r30
48d0: ff 1f adc r31, r31
48d2: ed 5f subi r30, 0xFD ; 253
48d4: f8 4f sbci r31, 0xF8 ; 248
48d6: 80 81 ld r24, Z
48d8: 91 81 ldd r25, Z+1 ; 0x01
48da: 85 5b subi r24, 0xB5 ; 181
48dc: 9f 4f sbci r25, 0xFF ; 255
48de: 0c f0 brlt .+2 ; 0x48e2 <MotorRegler+0x37e>
48e0: 6d c0 rjmp .+218 ; 0x49bc <MotorRegler+0x458>
48e2: 80 91 8e 04 lds r24, 0x048E
48e6: 8f 5f subi r24, 0xFF ; 255
48e8: 80 93 8e 04 sts 0x048E, r24
48ec: 89 3c cpi r24, 0xC9 ; 201
48ee: 08 f4 brcc .+2 ; 0x48f2 <MotorRegler+0x38e>
48f0: 67 c0 rjmp .+206 ; 0x49c0 <MotorRegler+0x45c>
48f2: 88 ec ldi r24, 0xC8 ; 200
48f4: 80 93 8e 04 sts 0x048E, r24
48f8: 81 e0 ldi r24, 0x01 ; 1
48fa: 90 e0 ldi r25, 0x00 ; 0
48fc: 90 93 8c 04 sts 0x048C, r25
4900: 80 93 8b 04 sts 0x048B, r24
4904: 81 e0 ldi r24, 0x01 ; 1
4906: 80 93 4e 04 sts 0x044E, r24
490a: 10 92 a2 04 sts 0x04A2, r1
490e: 10 92 a3 04 sts 0x04A3, r1
4912: 10 92 a4 04 sts 0x04A4, r1
4916: 10 92 a5 04 sts 0x04A5, r1
491a: 10 92 29 04 sts 0x0429, r1
491e: 10 92 2a 04 sts 0x042A, r1
4922: 10 92 2b 04 sts 0x042B, r1
4926: 10 92 2c 04 sts 0x042C, r1
492a: 10 92 2d 04 sts 0x042D, r1
492e: 10 92 2e 04 sts 0x042E, r1
4932: 10 92 2f 04 sts 0x042F, r1
4936: 10 92 30 04 sts 0x0430, r1
493a: 10 92 19 04 sts 0x0419, r1
493e: 10 92 1a 04 sts 0x041A, r1
4942: 10 92 1b 04 sts 0x041B, r1
4946: 10 92 1c 04 sts 0x041C, r1
494a: 10 92 21 04 sts 0x0421, r1
494e: 10 92 22 04 sts 0x0422, r1
4952: 10 92 23 04 sts 0x0423, r1
4956: 10 92 24 04 sts 0x0424, r1
495a: 80 91 f9 03 lds r24, 0x03F9
495e: 90 91 fa 03 lds r25, 0x03FA
4962: a0 91 fb 03 lds r26, 0x03FB
4966: b0 91 fc 03 lds r27, 0x03FC
496a: 80 93 1d 04 sts 0x041D, r24
496e: 90 93 1e 04 sts 0x041E, r25
4972: a0 93 1f 04 sts 0x041F, r26
4976: b0 93 20 04 sts 0x0420, r27
497a: 80 91 01 04 lds r24, 0x0401
497e: 90 91 02 04 lds r25, 0x0402
4982: a0 91 03 04 lds r26, 0x0403
4986: b0 91 04 04 lds r27, 0x0404
498a: 80 93 25 04 sts 0x0425, r24
498e: 90 93 26 04 sts 0x0426, r25
4992: a0 93 27 04 sts 0x0427, r26
4996: b0 93 28 04 sts 0x0428, r27
499a: 10 92 aa 04 sts 0x04AA, r1
499e: 10 92 ab 04 sts 0x04AB, r1
49a2: 10 92 ac 04 sts 0x04AC, r1
49a6: 10 92 ad 04 sts 0x04AD, r1
49aa: 10 92 a6 04 sts 0x04A6, r1
49ae: 10 92 a7 04 sts 0x04A7, r1
49b2: 10 92 a8 04 sts 0x04A8, r1
49b6: 10 92 a9 04 sts 0x04A9, r1
49ba: 02 c0 rjmp .+4 ; 0x49c0 <MotorRegler+0x45c>
49bc: 10 92 8e 04 sts 0x048E, r1
49c0: 44 0f add r20, r20
49c2: 55 1f adc r21, r21
49c4: 4d 5f subi r20, 0xFD ; 253
49c6: 58 4f sbci r21, 0xF8 ; 248
49c8: da 01 movw r26, r20
49ca: 8d 91 ld r24, X+
49cc: 9c 91 ld r25, X
49ce: 8c 34 cpi r24, 0x4C ; 76
49d0: 91 05 cpc r25, r1
49d2: 8c f0 brlt .+34 ; 0x49f6 <MotorRegler+0x492>
49d4: 80 91 8d 04 lds r24, 0x048D
49d8: 8f 5f subi r24, 0xFF ; 255
49da: 80 93 8d 04 sts 0x048D, r24
49de: 89 3c cpi r24, 0xC9 ; 201
49e0: 60 f0 brcs .+24 ; 0x49fa <MotorRegler+0x496>
49e2: 10 92 4e 04 sts 0x044E, r1
49e6: 88 ec ldi r24, 0xC8 ; 200
49e8: 80 93 8d 04 sts 0x048D, r24
49ec: 10 92 8c 04 sts 0x048C, r1
49f0: 10 92 8b 04 sts 0x048B, r1
49f4: 02 c0 rjmp .+4 ; 0x49fa <MotorRegler+0x496>
49f6: 10 92 8d 04 sts 0x048D, r1
49fa: 80 91 6b 03 lds r24, 0x036B
49fe: 81 50 subi r24, 0x01 ; 1
4a00: 80 93 6b 03 sts 0x036B, r24
4a04: 80 91 6b 03 lds r24, 0x036B
4a08: 8f 3f cpi r24, 0xFF ; 255
4a0a: 29 f0 breq .+10 ; 0x4a16 <MotorRegler+0x4b2>
4a0c: 80 91 3b 04 lds r24, 0x043B
4a10: 88 23 and r24, r24
4a12: 09 f4 brne .+2 ; 0x4a16 <MotorRegler+0x4b2>
4a14: 6c c3 rjmp .+1752 ; 0x50ee <MotorRegler+0xb8a>
4a16: 0e 94 ed 1d call 0x3bda ; 0x3bda <ParameterZuordnung>
4a1a: 20 90 46 04 lds r2, 0x0446
4a1e: 30 90 47 04 lds r3, 0x0447
4a22: 80 91 2f 07 lds r24, 0x072F
4a26: c8 2e mov r12, r24
4a28: dd 24 eor r13, r13
4a2a: d6 01 movw r26, r12
4a2c: aa 0f add r26, r26
4a2e: bb 1f adc r27, r27
4a30: ad 01 movw r20, r26
4a32: 4d 5f subi r20, 0xFD ; 253
4a34: 58 4f sbci r21, 0xF8 ; 248
4a36: fa 01 movw r30, r20
4a38: 01 90 ld r0, Z+
4a3a: f0 81 ld r31, Z
4a3c: e0 2d mov r30, r0
4a3e: fb ab std Y+51, r31 ; 0x33
4a40: ea ab std Y+50, r30 ; 0x32
4a42: 80 91 3e 07 lds r24, 0x073E
4a46: 88 2e mov r8, r24
4a48: 99 24 eor r9, r9
4a4a: a7 5e subi r26, 0xE7 ; 231
4a4c: b8 4f sbci r27, 0xF8 ; 248
4a4e: 0d 90 ld r0, X+
4a50: bc 91 ld r27, X
4a52: a0 2d mov r26, r0
4a54: b9 ab std Y+49, r27 ; 0x31
4a56: a8 ab std Y+48, r26 ; 0x30
4a58: 80 91 3f 07 lds r24, 0x073F
4a5c: 28 2f mov r18, r24
4a5e: 33 27 eor r19, r19
4a60: 3f a7 std Y+47, r19 ; 0x2f
4a62: 2e a7 std Y+46, r18 ; 0x2e
4a64: 60 91 48 04 lds r22, 0x0448
4a68: 70 91 49 04 lds r23, 0x0449
4a6c: 7a 83 std Y+2, r23 ; 0x02
4a6e: 69 83 std Y+1, r22 ; 0x01
4a70: 80 91 30 07 lds r24, 0x0730
4a74: e8 2e mov r14, r24
4a76: ff 24 eor r15, r15
4a78: c7 01 movw r24, r14
4a7a: 88 0f add r24, r24
4a7c: 99 1f adc r25, r25
4a7e: dc 01 movw r26, r24
4a80: ad 5f subi r26, 0xFD ; 253
4a82: b8 4f sbci r27, 0xF8 ; 248
4a84: 0d 90 ld r0, X+
4a86: bc 91 ld r27, X
4a88: a0 2d mov r26, r0
4a8a: bb a7 std Y+43, r27 ; 0x2b
4a8c: aa a7 std Y+42, r26 ; 0x2a
4a8e: 87 5e subi r24, 0xE7 ; 231
4a90: 98 4f sbci r25, 0xF8 ; 248
4a92: dc 01 movw r26, r24
4a94: 8d 91 ld r24, X+
4a96: 9c 91 ld r25, X
4a98: 99 a7 std Y+41, r25 ; 0x29
4a9a: 88 a7 std Y+40, r24 ; 0x28
4a9c: e0 91 32 07 lds r30, 0x0732
4aa0: ae 2f mov r26, r30
4aa2: bb 27 eor r27, r27
4aa4: aa 0f add r26, r26
4aa6: bb 1f adc r27, r27
4aa8: ad 5f subi r26, 0xFD ; 253
4aaa: b8 4f sbci r27, 0xF8 ; 248
4aac: 0d 90 ld r0, X+
4aae: bc 91 ld r27, X
4ab0: a0 2d mov r26, r0
4ab2: bf a3 std Y+39, r27 ; 0x27
4ab4: ae a3 std Y+38, r26 ; 0x26
4ab6: e0 91 31 07 lds r30, 0x0731
4aba: ff 27 eor r31, r31
4abc: ee 0f add r30, r30
4abe: ff 1f adc r31, r31
4ac0: ed 5f subi r30, 0xFD ; 253
4ac2: f8 4f sbci r31, 0xF8 ; 248
4ac4: a0 80 ld r10, Z
4ac6: b1 80 ldd r11, Z+1 ; 0x01
4ac8: e8 e7 ldi r30, 0x78 ; 120
4aca: f0 e0 ldi r31, 0x00 ; 0
4acc: ae 0e add r10, r30
4ace: bf 1e adc r11, r31
4ad0: b0 92 4d 04 sts 0x044D, r11
4ad4: a0 92 4c 04 sts 0x044C, r10
4ad8: da 01 movw r26, r20
4ada: 8d 91 ld r24, X+
4adc: 9c 91 ld r25, X
4ade: 20 91 6d 04 lds r18, 0x046D
4ae2: 30 91 6e 04 lds r19, 0x046E
4ae6: 97 ff sbrs r25, 7
4ae8: 03 c0 rjmp .+6 ; 0x4af0 <MotorRegler+0x58c>
4aea: 90 95 com r25
4aec: 81 95 neg r24
4aee: 9f 4f sbci r25, 0xFF ; 255
4af0: 28 17 cp r18, r24
4af2: 39 07 cpc r19, r25
4af4: 8c f4 brge .+34 ; 0x4b18 <MotorRegler+0x5b4>
4af6: fa 01 movw r30, r20
4af8: 80 81 ld r24, Z
4afa: 91 81 ldd r25, Z+1 ; 0x01
4afc: 90 93 6e 04 sts 0x046E, r25
4b00: 80 93 6d 04 sts 0x046D, r24
4b04: 97 ff sbrs r25, 7
4b06: 0e c0 rjmp .+28 ; 0x4b24 <MotorRegler+0x5c0>
4b08: 90 95 com r25
4b0a: 81 95 neg r24
4b0c: 9f 4f sbci r25, 0xFF ; 255
4b0e: 90 93 6e 04 sts 0x046E, r25
4b12: 80 93 6d 04 sts 0x046D, r24
4b16: 06 c0 rjmp .+12 ; 0x4b24 <MotorRegler+0x5c0>
4b18: 21 50 subi r18, 0x01 ; 1
4b1a: 30 40 sbci r19, 0x00 ; 0
4b1c: 30 93 6e 04 sts 0x046E, r19
4b20: 20 93 6d 04 sts 0x046D, r18
4b24: f7 01 movw r30, r14
4b26: ee 0f add r30, r30
4b28: ff 1f adc r31, r31
4b2a: ed 5f subi r30, 0xFD ; 253
4b2c: f8 4f sbci r31, 0xF8 ; 248
4b2e: 80 81 ld r24, Z
4b30: 91 81 ldd r25, Z+1 ; 0x01
4b32: 20 91 6f 04 lds r18, 0x046F
4b36: 30 91 70 04 lds r19, 0x0470
4b3a: 97 ff sbrs r25, 7
4b3c: 03 c0 rjmp .+6 ; 0x4b44 <MotorRegler+0x5e0>
4b3e: 90 95 com r25
4b40: 81 95 neg r24
4b42: 9f 4f sbci r25, 0xFF ; 255
4b44: 28 17 cp r18, r24
4b46: 39 07 cpc r19, r25
4b48: 84 f4 brge .+32 ; 0x4b6a <MotorRegler+0x606>
4b4a: 80 81 ld r24, Z
4b4c: 91 81 ldd r25, Z+1 ; 0x01
4b4e: 90 93 70 04 sts 0x0470, r25
4b52: 80 93 6f 04 sts 0x046F, r24
4b56: 97 ff sbrs r25, 7
4b58: 0e c0 rjmp .+28 ; 0x4b76 <MotorRegler+0x612>
4b5a: 90 95 com r25
4b5c: 81 95 neg r24
4b5e: 9f 4f sbci r25, 0xFF ; 255
4b60: 90 93 70 04 sts 0x0470, r25
4b64: 80 93 6f 04 sts 0x046F, r24
4b68: 06 c0 rjmp .+12 ; 0x4b76 <MotorRegler+0x612>
4b6a: 21 50 subi r18, 0x01 ; 1
4b6c: 30 40 sbci r19, 0x00 ; 0
4b6e: 30 93 70 04 sts 0x0470, r19
4b72: 20 93 6f 04 sts 0x046F, r18
4b76: 80 91 3b 04 lds r24, 0x043B
4b7a: 88 23 and r24, r24
4b7c: 41 f0 breq .+16 ; 0x4b8e <MotorRegler+0x62a>
4b7e: 10 92 6e 04 sts 0x046E, r1
4b82: 10 92 6d 04 sts 0x046D, r1
4b86: 10 92 70 04 sts 0x0470, r1
4b8a: 10 92 6f 04 sts 0x046F, r1
4b8e: 10 91 98 03 lds r17, 0x0398
4b92: 61 2f mov r22, r17
4b94: 77 27 eor r23, r23
4b96: 67 fd sbrc r22, 7
4b98: 70 95 com r23
4b9a: 87 2f mov r24, r23
4b9c: 97 2f mov r25, r23
4b9e: 0e 94 9f 3b call 0x773e ; 0x773e <__floatsisf>
4ba2: 17 ff sbrs r17, 7
4ba4: 06 c0 rjmp .+12 ; 0x4bb2 <MotorRegler+0x64e>
4ba6: 20 e0 ldi r18, 0x00 ; 0
4ba8: 30 e0 ldi r19, 0x00 ; 0
4baa: 40 e8 ldi r20, 0x80 ; 128
4bac: 53 e4 ldi r21, 0x43 ; 67
4bae: 0e 94 fa 3a call 0x75f4 ; 0x75f4 <__addsf3>
4bb2: 20 e0 ldi r18, 0x00 ; 0
4bb4: 30 e0 ldi r19, 0x00 ; 0
4bb6: 40 e2 ldi r20, 0x20 ; 32
4bb8: 51 e4 ldi r21, 0x41 ; 65
4bba: 0e 94 fa 3a call 0x75f4 ; 0x75f4 <__addsf3>
4bbe: 20 e0 ldi r18, 0x00 ; 0
4bc0: 30 e0 ldi r19, 0x00 ; 0
4bc2: 40 e8 ldi r20, 0x80 ; 128
4bc4: 5b e3 ldi r21, 0x3B ; 59
4bc6: 0e 94 19 3c call 0x7832 ; 0x7832 <__mulsf3>
4bca: 2b 01 movw r4, r22
4bcc: 3c 01 movw r6, r24
4bce: 60 93 a8 07 sts 0x07A8, r22
4bd2: 70 93 a9 07 sts 0x07A9, r23
4bd6: 80 93 aa 07 sts 0x07AA, r24
4bda: 90 93 ab 07 sts 0x07AB, r25
4bde: 10 91 99 03 lds r17, 0x0399
4be2: 61 2f mov r22, r17
4be4: 77 27 eor r23, r23
4be6: 67 fd sbrc r22, 7
4be8: 70 95 com r23
4bea: 87 2f mov r24, r23
4bec: 97 2f mov r25, r23
4bee: 0e 94 9f 3b call 0x773e ; 0x773e <__floatsisf>
4bf2: 17 ff sbrs r17, 7
4bf4: 06 c0 rjmp .+12 ; 0x4c02 <MotorRegler+0x69e>
4bf6: 20 e0 ldi r18, 0x00 ; 0
4bf8: 30 e0 ldi r19, 0x00 ; 0
4bfa: 40 e8 ldi r20, 0x80 ; 128
4bfc: 53 e4 ldi r21, 0x43 ; 67
4bfe: 0e 94 fa 3a call 0x75f4 ; 0x75f4 <__addsf3>
4c02: 20 e0 ldi r18, 0x00 ; 0
4c04: 30 ee ldi r19, 0xE0 ; 224
4c06: 4b e2 ldi r20, 0x2B ; 43
4c08: 57 e4 ldi r21, 0x47 ; 71
4c0a: 0e 94 3c 3b call 0x7678 ; 0x7678 <__divsf3>
4c0e: 60 93 92 07 sts 0x0792, r22
4c12: 70 93 93 07 sts 0x0793, r23
4c16: 80 93 94 07 sts 0x0794, r24
4c1a: 90 93 95 07 sts 0x0795, r25
4c1e: 20 91 b2 03 lds r18, 0x03B2
4c22: 22 23 and r18, r18
4c24: 11 f4 brne .+4 ; 0x4c2a <MotorRegler+0x6c6>
4c26: 0c 94 fd 34 jmp 0x69fa ; 0x69fa <MotorRegler+0x2496>
4c2a: 8a e0 ldi r24, 0x0A ; 10
4c2c: 90 e0 ldi r25, 0x00 ; 0
4c2e: 90 93 c1 03 sts 0x03C1, r25
4c32: 80 93 c0 03 sts 0x03C0, r24
4c36: e2 2f mov r30, r18
4c38: ff 27 eor r31, r31
4c3a: e2 ff sbrs r30, 2
4c3c: 09 c0 rjmp .+18 ; 0x4c50 <MotorRegler+0x6ec>
4c3e: 80 91 5d 04 lds r24, 0x045D
4c42: 48 2f mov r20, r24
4c44: 55 27 eor r21, r21
4c46: 44 0f add r20, r20
4c48: 55 1f adc r21, r21
4c4a: 44 0f add r20, r20
4c4c: 55 1f adc r21, r21
4c4e: 10 c0 rjmp .+32 ; 0x4c70 <MotorRegler+0x70c>
4c50: e3 fd sbrc r30, 3
4c52: 03 c0 rjmp .+6 ; 0x4c5a <MotorRegler+0x6f6>
4c54: 40 e0 ldi r20, 0x00 ; 0
4c56: 50 e0 ldi r21, 0x00 ; 0
4c58: 0b c0 rjmp .+22 ; 0x4c70 <MotorRegler+0x70c>
4c5a: 80 91 5d 04 lds r24, 0x045D
4c5e: 99 27 eor r25, r25
4c60: 88 0f add r24, r24
4c62: 99 1f adc r25, r25
4c64: 88 0f add r24, r24
4c66: 99 1f adc r25, r25
4c68: 44 27 eor r20, r20
4c6a: 55 27 eor r21, r21
4c6c: 48 1b sub r20, r24
4c6e: 59 0b sbc r21, r25
4c70: 20 91 67 04 lds r18, 0x0467
4c74: 30 91 68 04 lds r19, 0x0468
4c78: c9 01 movw r24, r18
4c7a: f3 e0 ldi r31, 0x03 ; 3
4c7c: 88 0f add r24, r24
4c7e: 99 1f adc r25, r25
4c80: fa 95 dec r31
4c82: e1 f7 brne .-8 ; 0x4c7c <MotorRegler+0x718>
4c84: 82 1b sub r24, r18
4c86: 93 0b sbc r25, r19
4c88: 84 0f add r24, r20
4c8a: 95 1f adc r25, r21
4c8c: 68 e0 ldi r22, 0x08 ; 8
4c8e: 70 e0 ldi r23, 0x00 ; 0
4c90: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
4c94: 7d af std Y+61, r23 ; 0x3d
4c96: 6c af std Y+60, r22 ; 0x3c
4c98: 70 93 68 04 sts 0x0468, r23
4c9c: 60 93 67 04 sts 0x0467, r22
4ca0: e4 ff sbrs r30, 4
4ca2: 09 c0 rjmp .+18 ; 0x4cb6 <MotorRegler+0x752>
4ca4: 80 91 5d 04 lds r24, 0x045D
4ca8: 48 2f mov r20, r24
4caa: 55 27 eor r21, r21
4cac: 44 0f add r20, r20
4cae: 55 1f adc r21, r21
4cb0: 44 0f add r20, r20
4cb2: 55 1f adc r21, r21
4cb4: 0f c0 rjmp .+30 ; 0x4cd4 <MotorRegler+0x770>
4cb6: e5 fd sbrc r30, 5
4cb8: 02 c0 rjmp .+4 ; 0x4cbe <MotorRegler+0x75a>
4cba: 0c 94 13 35 jmp 0x6a26 ; 0x6a26 <MotorRegler+0x24c2>
4cbe: 80 91 5d 04 lds r24, 0x045D
4cc2: 99 27 eor r25, r25
4cc4: 88 0f add r24, r24
4cc6: 99 1f adc r25, r25
4cc8: 88 0f add r24, r24
4cca: 99 1f adc r25, r25
4ccc: 44 27 eor r20, r20
4cce: 55 27 eor r21, r21
4cd0: 48 1b sub r20, r24
4cd2: 59 0b sbc r21, r25
4cd4: 20 91 69 04 lds r18, 0x0469
4cd8: 30 91 6a 04 lds r19, 0x046A
4cdc: c9 01 movw r24, r18
4cde: 63 e0 ldi r22, 0x03 ; 3
4ce0: 88 0f add r24, r24
4ce2: 99 1f adc r25, r25
4ce4: 6a 95 dec r22
4ce6: e1 f7 brne .-8 ; 0x4ce0 <MotorRegler+0x77c>
4ce8: 82 1b sub r24, r18
4cea: 93 0b sbc r25, r19
4cec: 84 0f add r24, r20
4cee: 95 1f adc r25, r21
4cf0: 68 e0 ldi r22, 0x08 ; 8
4cf2: 70 e0 ldi r23, 0x00 ; 0
4cf4: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
4cf8: 8b 01 movw r16, r22
4cfa: 70 93 6a 04 sts 0x046A, r23
4cfe: 60 93 69 04 sts 0x0469, r22
4d02: 80 91 b1 03 lds r24, 0x03B1
4d06: 28 2f mov r18, r24
4d08: 33 27 eor r19, r19
4d0a: 23 ff sbrs r18, 3
4d0c: 03 c0 rjmp .+6 ; 0x4d14 <MotorRegler+0x7b0>
4d0e: 82 e3 ldi r24, 0x32 ; 50
4d10: 90 e0 ldi r25, 0x00 ; 0
4d12: 04 c0 rjmp .+8 ; 0x4d1c <MotorRegler+0x7b8>
4d14: 22 ff sbrs r18, 2
4d16: 07 c0 rjmp .+14 ; 0x4d26 <MotorRegler+0x7c2>
4d18: 8e ec ldi r24, 0xCE ; 206
4d1a: 9f ef ldi r25, 0xFF ; 255
4d1c: 90 93 6c 04 sts 0x046C, r25
4d20: 80 93 6b 04 sts 0x046B, r24
4d24: 04 c0 rjmp .+8 ; 0x4d2e <MotorRegler+0x7ca>
4d26: 10 92 6c 04 sts 0x046C, r1
4d2a: 10 92 6b 04 sts 0x046B, r1
4d2e: 21 ff sbrs r18, 1
4d30: 09 c0 rjmp .+18 ; 0x4d44 <MotorRegler+0x7e0>
4d32: 80 91 9f 03 lds r24, 0x039F
4d36: 90 91 a0 03 lds r25, 0x03A0
4d3a: 01 96 adiw r24, 0x01 ; 1
4d3c: 90 93 a0 03 sts 0x03A0, r25
4d40: 80 93 9f 03 sts 0x039F, r24
4d44: 24 ff sbrs r18, 4
4d46: 09 c0 rjmp .+18 ; 0x4d5a <MotorRegler+0x7f6>
4d48: 80 91 9f 03 lds r24, 0x039F
4d4c: 90 91 a0 03 lds r25, 0x03A0
4d50: 01 97 sbiw r24, 0x01 ; 1
4d52: 90 93 a0 03 sts 0x03A0, r25
4d56: 80 93 9f 03 sts 0x039F, r24
4d5a: c1 01 movw r24, r2
4d5c: 88 0f add r24, r24
4d5e: 99 1f adc r25, r25
4d60: 82 0d add r24, r2
4d62: 93 1d adc r25, r3
4d64: 4a a9 ldd r20, Y+50 ; 0x32
4d66: 5b a9 ldd r21, Y+51 ; 0x33
4d68: 48 9d mul r20, r8
4d6a: 90 01 movw r18, r0
4d6c: 49 9d mul r20, r9
4d6e: 30 0d add r19, r0
4d70: 58 9d mul r21, r8
4d72: 30 0d add r19, r0
4d74: 11 24 eor r1, r1
4d76: 82 0f add r24, r18
4d78: 93 1f adc r25, r19
4d7a: 64 e0 ldi r22, 0x04 ; 4
4d7c: 70 e0 ldi r23, 0x00 ; 0
4d7e: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
4d82: 1b 01 movw r2, r22
4d84: 68 a9 ldd r22, Y+48 ; 0x30
4d86: 79 a9 ldd r23, Y+49 ; 0x31
4d88: ae a5 ldd r26, Y+46 ; 0x2e
4d8a: bf a5 ldd r27, Y+47 ; 0x2f
4d8c: 6a 9f mul r22, r26
4d8e: c0 01 movw r24, r0
4d90: 6b 9f mul r22, r27
4d92: 90 0d add r25, r0
4d94: 7a 9f mul r23, r26
4d96: 90 0d add r25, r0
4d98: 11 24 eor r1, r1
4d9a: 28 0e add r2, r24
4d9c: 39 1e adc r3, r25
4d9e: 8c ad ldd r24, Y+60 ; 0x3c
4da0: 9d ad ldd r25, Y+61 ; 0x3d
4da2: 68 e0 ldi r22, 0x08 ; 8
4da4: 70 e0 ldi r23, 0x00 ; 0
4da6: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
4daa: 26 0e add r2, r22
4dac: 37 1e adc r3, r23
4dae: 30 92 47 04 sts 0x0447, r3
4db2: 20 92 46 04 sts 0x0446, r2
4db6: 89 81 ldd r24, Y+1 ; 0x01
4db8: 9a 81 ldd r25, Y+2 ; 0x02
4dba: 88 0f add r24, r24
4dbc: 99 1f adc r25, r25
4dbe: e9 81 ldd r30, Y+1 ; 0x01
4dc0: fa 81 ldd r31, Y+2 ; 0x02
4dc2: 8e 0f add r24, r30
4dc4: 9f 1f adc r25, r31
4dc6: 4a a5 ldd r20, Y+42 ; 0x2a
4dc8: 5b a5 ldd r21, Y+43 ; 0x2b
4dca: 48 9d mul r20, r8
4dcc: 90 01 movw r18, r0
4dce: 49 9d mul r20, r9
4dd0: 30 0d add r19, r0
4dd2: 58 9d mul r21, r8
4dd4: 30 0d add r19, r0
4dd6: 11 24 eor r1, r1
4dd8: 82 0f add r24, r18
4dda: 93 1f adc r25, r19
4ddc: 64 e0 ldi r22, 0x04 ; 4
4dde: 70 e0 ldi r23, 0x00 ; 0
4de0: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
4de4: 9b 01 movw r18, r22
4de6: 68 a5 ldd r22, Y+40 ; 0x28
4de8: 79 a5 ldd r23, Y+41 ; 0x29
4dea: ae a5 ldd r26, Y+46 ; 0x2e
4dec: bf a5 ldd r27, Y+47 ; 0x2f
4dee: 6a 9f mul r22, r26
4df0: c0 01 movw r24, r0
4df2: 6b 9f mul r22, r27
4df4: 90 0d add r25, r0
4df6: 7a 9f mul r23, r26
4df8: 90 0d add r25, r0
4dfa: 11 24 eor r1, r1
4dfc: 28 0f add r18, r24
4dfe: 39 1f adc r19, r25
4e00: c8 01 movw r24, r16
4e02: 68 e0 ldi r22, 0x08 ; 8
4e04: 70 e0 ldi r23, 0x00 ; 0
4e06: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
4e0a: 26 0f add r18, r22
4e0c: 37 1f adc r19, r23
4e0e: 30 93 49 04 sts 0x0449, r19
4e12: 20 93 48 04 sts 0x0448, r18
4e16: 40 91 6b 04 lds r20, 0x046B
4e1a: 50 91 6c 04 lds r21, 0x046C
4e1e: ee a1 ldd r30, Y+38 ; 0x26
4e20: ff a1 ldd r31, Y+39 ; 0x27
4e22: 4e 1b sub r20, r30
4e24: 5f 0b sbc r21, r31
4e26: 50 93 4b 04 sts 0x044B, r21
4e2a: 40 93 4a 04 sts 0x044A, r20
4e2e: 80 91 0e 06 lds r24, 0x060E
4e32: 80 ff sbrs r24, 0
4e34: 54 c0 rjmp .+168 ; 0x4ede <MotorRegler+0x97a>
4e36: 80 91 5d 04 lds r24, 0x045D
4e3a: 81 38 cpi r24, 0x81 ; 129
4e3c: 08 f4 brcc .+2 ; 0x4e40 <MotorRegler+0x8dc>
4e3e: 4f c0 rjmp .+158 ; 0x4ede <MotorRegler+0x97a>
4e40: 80 91 07 06 lds r24, 0x0607
4e44: 99 27 eor r25, r25
4e46: 87 fd sbrc r24, 7
4e48: 90 95 com r25
4e4a: bc 01 movw r22, r24
4e4c: 68 9d mul r22, r8
4e4e: c0 01 movw r24, r0
4e50: 69 9d mul r22, r9
4e52: 90 0d add r25, r0
4e54: 78 9d mul r23, r8
4e56: 90 0d add r25, r0
4e58: 11 24 eor r1, r1
4e5a: 28 0e add r2, r24
4e5c: 39 1e adc r3, r25
4e5e: 30 92 47 04 sts 0x0447, r3
4e62: 20 92 46 04 sts 0x0446, r2
4e66: 80 91 08 06 lds r24, 0x0608
4e6a: 99 27 eor r25, r25
4e6c: 87 fd sbrc r24, 7
4e6e: 90 95 com r25
4e70: dc 01 movw r26, r24
4e72: a8 9d mul r26, r8
4e74: c0 01 movw r24, r0
4e76: a9 9d mul r26, r9
4e78: 90 0d add r25, r0
4e7a: b8 9d mul r27, r8
4e7c: 90 0d add r25, r0
4e7e: 11 24 eor r1, r1
4e80: 28 0f add r18, r24
4e82: 39 1f adc r19, r25
4e84: 30 93 49 04 sts 0x0449, r19
4e88: 20 93 48 04 sts 0x0448, r18
4e8c: 80 91 09 06 lds r24, 0x0609
4e90: 99 27 eor r25, r25
4e92: 87 fd sbrc r24, 7
4e94: 90 95 com r25
4e96: 48 0f add r20, r24
4e98: 59 1f adc r21, r25
4e9a: 50 93 4b 04 sts 0x044B, r21
4e9e: 40 93 4a 04 sts 0x044A, r20
4ea2: 20 91 0b 06 lds r18, 0x060B
4ea6: 33 27 eor r19, r19
4ea8: 27 fd sbrc r18, 7
4eaa: 30 95 com r19
4eac: 80 91 3c 07 lds r24, 0x073C
4eb0: 99 27 eor r25, r25
4eb2: fc 01 movw r30, r24
4eb4: 2e 9f mul r18, r30
4eb6: c0 01 movw r24, r0
4eb8: 2f 9f mul r18, r31
4eba: 90 0d add r25, r0
4ebc: 3e 9f mul r19, r30
4ebe: 90 0d add r25, r0
4ec0: 11 24 eor r1, r1
4ec2: 90 93 a0 03 sts 0x03A0, r25
4ec6: 80 93 9f 03 sts 0x039F, r24
4eca: 80 91 0a 06 lds r24, 0x060A
4ece: 99 27 eor r25, r25
4ed0: 8a 15 cp r24, r10
4ed2: 9b 05 cpc r25, r11
4ed4: 24 f4 brge .+8 ; 0x4ede <MotorRegler+0x97a>
4ed6: 90 93 4d 04 sts 0x044D, r25
4eda: 80 93 4c 04 sts 0x044C, r24
4ede: 80 91 37 07 lds r24, 0x0737
4ee2: 82 ff sbrs r24, 2
4ee4: 0c c0 rjmp .+24 ; 0x4efe <MotorRegler+0x99a>
4ee6: 80 e0 ldi r24, 0x00 ; 0
4ee8: 90 e0 ldi r25, 0x00 ; 0
4eea: a0 e0 ldi r26, 0x00 ; 0
4eec: b0 e0 ldi r27, 0x00 ; 0
4eee: 80 93 92 07 sts 0x0792, r24
4ef2: 90 93 93 07 sts 0x0793, r25
4ef6: a0 93 94 07 sts 0x0794, r26
4efa: b0 93 95 07 sts 0x0795, r27
4efe: 20 e0 ldi r18, 0x00 ; 0
4f00: 30 e0 ldi r19, 0x00 ; 0
4f02: 40 e0 ldi r20, 0x00 ; 0
4f04: 50 e0 ldi r21, 0x00 ; 0
4f06: c3 01 movw r24, r6
4f08: b2 01 movw r22, r4
4f0a: 0e 94 a9 3b call 0x7752 ; 0x7752 <__eqsf2>
4f0e: 88 23 and r24, r24
4f10: 64 f4 brge .+24 ; 0x4f2a <MotorRegler+0x9c6>
4f12: 80 e0 ldi r24, 0x00 ; 0
4f14: 90 e0 ldi r25, 0x00 ; 0
4f16: a0 e0 ldi r26, 0x00 ; 0
4f18: b0 e0 ldi r27, 0x00 ; 0
4f1a: 80 93 a8 07 sts 0x07A8, r24
4f1e: 90 93 a9 07 sts 0x07A9, r25
4f22: a0 93 aa 07 sts 0x07AA, r26
4f26: b0 93 ab 07 sts 0x07AB, r27
4f2a: 20 e0 ldi r18, 0x00 ; 0
4f2c: 30 e0 ldi r19, 0x00 ; 0
4f2e: 40 e0 ldi r20, 0x00 ; 0
4f30: 50 e0 ldi r21, 0x00 ; 0
4f32: 60 91 92 07 lds r22, 0x0792
4f36: 70 91 93 07 lds r23, 0x0793
4f3a: 80 91 94 07 lds r24, 0x0794
4f3e: 90 91 95 07 lds r25, 0x0795
4f42: 0e 94 a9 3b call 0x7752 ; 0x7752 <__eqsf2>
4f46: 88 23 and r24, r24
4f48: 64 f4 brge .+24 ; 0x4f62 <MotorRegler+0x9fe>
4f4a: 80 e0 ldi r24, 0x00 ; 0
4f4c: 90 e0 ldi r25, 0x00 ; 0
4f4e: a0 e0 ldi r26, 0x00 ; 0
4f50: b0 e0 ldi r27, 0x00 ; 0
4f52: 80 93 92 07 sts 0x0792, r24
4f56: 90 93 93 07 sts 0x0793, r25
4f5a: a0 93 94 07 sts 0x0794, r26
4f5e: b0 93 95 07 sts 0x0795, r27
4f62: f7 01 movw r30, r14
4f64: ee 0f add r30, r30
4f66: ff 1f adc r31, r31
4f68: ed 5f subi r30, 0xFD ; 253
4f6a: f8 4f sbci r31, 0xF8 ; 248
4f6c: 20 81 ld r18, Z
4f6e: 31 81 ldd r19, Z+1 ; 0x01
4f70: 80 91 56 07 lds r24, 0x0756
4f74: 48 2f mov r20, r24
4f76: 55 27 eor r21, r21
4f78: 42 17 cp r20, r18
4f7a: 53 07 cpc r21, r19
4f7c: 44 f4 brge .+16 ; 0x4f8e <MotorRegler+0xa2a>
4f7e: 80 91 63 07 lds r24, 0x0763
4f82: 82 ff sbrs r24, 2
4f84: 04 c0 rjmp .+8 ; 0x4f8e <MotorRegler+0xa2a>
4f86: 81 e0 ldi r24, 0x01 ; 1
4f88: 80 93 59 04 sts 0x0459, r24
4f8c: 11 c0 rjmp .+34 ; 0x4fb0 <MotorRegler+0xa4c>
4f8e: f7 01 movw r30, r14
4f90: ee 0f add r30, r30
4f92: ff 1f adc r31, r31
4f94: ed 5f subi r30, 0xFD ; 253
4f96: f8 4f sbci r31, 0xF8 ; 248
4f98: 20 81 ld r18, Z
4f9a: 31 81 ldd r19, Z+1 ; 0x01
4f9c: 80 91 57 07 lds r24, 0x0757
4fa0: ba 01 movw r22, r20
4fa2: 68 1b sub r22, r24
4fa4: 71 09 sbc r23, r1
4fa6: 26 17 cp r18, r22
4fa8: 37 07 cpc r19, r23
4faa: 14 f4 brge .+4 ; 0x4fb0 <MotorRegler+0xa4c>
4fac: 10 92 59 04 sts 0x0459, r1
4fb0: f7 01 movw r30, r14
4fb2: ee 0f add r30, r30
4fb4: ff 1f adc r31, r31
4fb6: ed 5f subi r30, 0xFD ; 253
4fb8: f8 4f sbci r31, 0xF8 ; 248
4fba: 80 81 ld r24, Z
4fbc: 91 81 ldd r25, Z+1 ; 0x01
4fbe: 66 27 eor r22, r22
4fc0: 77 27 eor r23, r23
4fc2: 64 1b sub r22, r20
4fc4: 75 0b sbc r23, r21
4fc6: 86 17 cp r24, r22
4fc8: 97 07 cpc r25, r23
4fca: 44 f4 brge .+16 ; 0x4fdc <MotorRegler+0xa78>
4fcc: 80 91 63 07 lds r24, 0x0763
4fd0: 83 ff sbrs r24, 3
4fd2: 04 c0 rjmp .+8 ; 0x4fdc <MotorRegler+0xa78>
4fd4: 81 e0 ldi r24, 0x01 ; 1
4fd6: 80 93 5a 04 sts 0x045A, r24
4fda: 17 c0 rjmp .+46 ; 0x500a <MotorRegler+0xaa6>
4fdc: 80 91 5a 04 lds r24, 0x045A
4fe0: 88 23 and r24, r24
4fe2: 99 f0 breq .+38 ; 0x500a <MotorRegler+0xaa6>
4fe4: ee 0c add r14, r14
4fe6: ff 1c adc r15, r15
4fe8: 83 e0 ldi r24, 0x03 ; 3
4fea: 97 e0 ldi r25, 0x07 ; 7
4fec: e8 0e add r14, r24
4fee: f9 1e adc r15, r25
4ff0: d7 01 movw r26, r14
4ff2: 2d 91 ld r18, X+
4ff4: 3c 91 ld r19, X
4ff6: 80 91 57 07 lds r24, 0x0757
4ffa: 99 27 eor r25, r25
4ffc: 84 1b sub r24, r20
4ffe: 95 0b sbc r25, r21
5000: 82 17 cp r24, r18
5002: 93 07 cpc r25, r19
5004: 14 f4 brge .+4 ; 0x500a <MotorRegler+0xaa6>
5006: 10 92 5a 04 sts 0x045A, r1
500a: f6 01 movw r30, r12
500c: ee 0f add r30, r30
500e: ff 1f adc r31, r31
5010: ed 5f subi r30, 0xFD ; 253
5012: f8 4f sbci r31, 0xF8 ; 248
5014: 80 81 ld r24, Z
5016: 91 81 ldd r25, Z+1 ; 0x01
5018: 48 17 cp r20, r24
501a: 59 07 cpc r21, r25
501c: 44 f4 brge .+16 ; 0x502e <MotorRegler+0xaca>
501e: 80 91 63 07 lds r24, 0x0763
5022: 80 ff sbrs r24, 0
5024: 04 c0 rjmp .+8 ; 0x502e <MotorRegler+0xaca>
5026: 81 e0 ldi r24, 0x01 ; 1
5028: 80 93 5c 04 sts 0x045C, r24
502c: 15 c0 rjmp .+42 ; 0x5058 <MotorRegler+0xaf4>
502e: 80 91 5c 04 lds r24, 0x045C
5032: 88 23 and r24, r24
5034: 89 f0 breq .+34 ; 0x5058 <MotorRegler+0xaf4>
5036: f6 01 movw r30, r12
5038: ee 0f add r30, r30
503a: ff 1f adc r31, r31
503c: ed 5f subi r30, 0xFD ; 253
503e: f8 4f sbci r31, 0xF8 ; 248
5040: 20 81 ld r18, Z
5042: 31 81 ldd r19, Z+1 ; 0x01
5044: 80 91 57 07 lds r24, 0x0757
5048: fa 01 movw r30, r20
504a: e8 1b sub r30, r24
504c: f1 09 sbc r31, r1
504e: 2e 17 cp r18, r30
5050: 3f 07 cpc r19, r31
5052: 14 f4 brge .+4 ; 0x5058 <MotorRegler+0xaf4>
5054: 10 92 5c 04 sts 0x045C, r1
5058: f6 01 movw r30, r12
505a: ee 0f add r30, r30
505c: ff 1f adc r31, r31
505e: ed 5f subi r30, 0xFD ; 253
5060: f8 4f sbci r31, 0xF8 ; 248
5062: 80 81 ld r24, Z
5064: 91 81 ldd r25, Z+1 ; 0x01
5066: 86 17 cp r24, r22
5068: 97 07 cpc r25, r23
506a: 44 f4 brge .+16 ; 0x507c <MotorRegler+0xb18>
506c: 80 91 63 07 lds r24, 0x0763
5070: 81 ff sbrs r24, 1
5072: 04 c0 rjmp .+8 ; 0x507c <MotorRegler+0xb18>
5074: 81 e0 ldi r24, 0x01 ; 1
5076: 80 93 5b 04 sts 0x045B, r24
507a: 17 c0 rjmp .+46 ; 0x50aa <MotorRegler+0xb46>
507c: 80 91 5b 04 lds r24, 0x045B
5080: 88 23 and r24, r24
5082: 99 f0 breq .+38 ; 0x50aa <MotorRegler+0xb46>
5084: cc 0c add r12, r12
5086: dd 1c adc r13, r13
5088: 23 e0 ldi r18, 0x03 ; 3
508a: 37 e0 ldi r19, 0x07 ; 7
508c: c2 0e add r12, r18
508e: d3 1e adc r13, r19
5090: d6 01 movw r26, r12
5092: 2d 91 ld r18, X+
5094: 3c 91 ld r19, X
5096: 80 91 57 07 lds r24, 0x0757
509a: 99 27 eor r25, r25
509c: 84 1b sub r24, r20
509e: 95 0b sbc r25, r21
50a0: 82 17 cp r24, r18
50a2: 93 07 cpc r25, r19
50a4: 14 f4 brge .+4 ; 0x50aa <MotorRegler+0xb46>
50a6: 10 92 5b 04 sts 0x045B, r1
50aa: 80 91 59 04 lds r24, 0x0459
50ae: 88 23 and r24, r24
50b0: 21 f4 brne .+8 ; 0x50ba <MotorRegler+0xb56>
50b2: 80 91 5a 04 lds r24, 0x045A
50b6: 88 23 and r24, r24
50b8: 21 f0 breq .+8 ; 0x50c2 <MotorRegler+0xb5e>
50ba: 81 e0 ldi r24, 0x01 ; 1
50bc: 80 93 58 04 sts 0x0458, r24
50c0: 02 c0 rjmp .+4 ; 0x50c6 <MotorRegler+0xb62>
50c2: 10 92 58 04 sts 0x0458, r1
50c6: 80 91 5c 04 lds r24, 0x045C
50ca: 88 23 and r24, r24
50cc: 21 f4 brne .+8 ; 0x50d6 <MotorRegler+0xb72>
50ce: 80 91 5b 04 lds r24, 0x045B
50d2: 88 23 and r24, r24
50d4: 51 f0 breq .+20 ; 0x50ea <MotorRegler+0xb86>
50d6: 81 e0 ldi r24, 0x01 ; 1
50d8: 80 93 57 04 sts 0x0457, r24
50dc: 10 92 58 04 sts 0x0458, r1
50e0: 10 92 59 04 sts 0x0459, r1
50e4: 10 92 5a 04 sts 0x045A, r1
50e8: 0e c0 rjmp .+28 ; 0x5106 <MotorRegler+0xba2>
50ea: 10 92 57 04 sts 0x0457, r1
50ee: 80 91 58 04 lds r24, 0x0458
50f2: 88 23 and r24, r24
50f4: 11 f4 brne .+4 ; 0x50fa <MotorRegler+0xb96>
50f6: 0c 94 17 35 jmp 0x6a2e ; 0x6a2e <MotorRegler+0x24ca>
50fa: 84 e6 ldi r24, 0x64 ; 100
50fc: 90 e0 ldi r25, 0x00 ; 0
50fe: 90 93 c1 03 sts 0x03C1, r25
5102: 80 93 c0 03 sts 0x03C0, r24
5106: 80 91 55 07 lds r24, 0x0755
510a: 99 27 eor r25, r25
510c: eb 81 ldd r30, Y+3 ; 0x03
510e: fc 81 ldd r31, Y+4 ; 0x04
5110: 8e 17 cp r24, r30
5112: 9f 07 cpc r25, r31
5114: 14 f4 brge .+4 ; 0x511a <MotorRegler+0xbb6>
5116: 9c 83 std Y+4, r25 ; 0x04
5118: 8b 83 std Y+3, r24 ; 0x03
511a: 80 91 3b 04 lds r24, 0x043B
511e: 88 23 and r24, r24
5120: 41 f1 breq .+80 ; 0x5172 <MotorRegler+0xc0e>
5122: 10 92 4b 04 sts 0x044B, r1
5126: 10 92 4a 04 sts 0x044A, r1
512a: 10 92 47 04 sts 0x0447, r1
512e: 10 92 46 04 sts 0x0446, r1
5132: 10 92 49 04 sts 0x0449, r1
5136: 10 92 48 04 sts 0x0448, r1
513a: 8d ec ldi r24, 0xCD ; 205
513c: 9c ec ldi r25, 0xCC ; 204
513e: ac ec ldi r26, 0xCC ; 204
5140: bd e3 ldi r27, 0x3D ; 61
5142: 80 93 a8 07 sts 0x07A8, r24
5146: 90 93 a9 07 sts 0x07A9, r25
514a: a0 93 aa 07 sts 0x07AA, r26
514e: b0 93 ab 07 sts 0x07AB, r27
5152: 8a e0 ldi r24, 0x0A ; 10
5154: 97 ed ldi r25, 0xD7 ; 215
5156: a3 ea ldi r26, 0xA3 ; 163
5158: bb e3 ldi r27, 0x3B ; 59
515a: 80 93 92 07 sts 0x0792, r24
515e: 90 93 93 07 sts 0x0793, r25
5162: a0 93 94 07 sts 0x0794, r26
5166: b0 93 95 07 sts 0x0795, r27
516a: 10 92 58 04 sts 0x0458, r1
516e: 10 92 57 04 sts 0x0457, r1
5172: 20 91 f9 03 lds r18, 0x03F9
5176: 30 91 fa 03 lds r19, 0x03FA
517a: 40 91 fb 03 lds r20, 0x03FB
517e: 50 91 fc 03 lds r21, 0x03FC
5182: 28 af std Y+56, r18 ; 0x38
5184: 39 af std Y+57, r19 ; 0x39
5186: 4a af std Y+58, r20 ; 0x3a
5188: 5b af std Y+59, r21 ; 0x3b
518a: 80 91 8a 07 lds r24, 0x078A
518e: 90 91 8b 07 lds r25, 0x078B
5192: a0 91 8c 07 lds r26, 0x078C
5196: b0 91 8d 07 lds r27, 0x078D
519a: 82 0f add r24, r18
519c: 93 1f adc r25, r19
519e: a4 1f adc r26, r20
51a0: b5 1f adc r27, r21
51a2: 80 93 8a 07 sts 0x078A, r24
51a6: 90 93 8b 07 sts 0x078B, r25
51aa: a0 93 8c 07 sts 0x078C, r26
51ae: b0 93 8d 07 sts 0x078D, r27
51b2: 40 91 01 04 lds r20, 0x0401
51b6: 50 91 02 04 lds r21, 0x0402
51ba: 60 91 03 04 lds r22, 0x0403
51be: 70 91 04 04 lds r23, 0x0404
51c2: 4c ab std Y+52, r20 ; 0x34
51c4: 5d ab std Y+53, r21 ; 0x35
51c6: 6e ab std Y+54, r22 ; 0x36
51c8: 7f ab std Y+55, r23 ; 0x37
51ca: 80 91 8e 07 lds r24, 0x078E
51ce: 90 91 8f 07 lds r25, 0x078F
51d2: a0 91 90 07 lds r26, 0x0790
51d6: b0 91 91 07 lds r27, 0x0791
51da: 84 0f add r24, r20
51dc: 95 1f adc r25, r21
51de: a6 1f adc r26, r22
51e0: b7 1f adc r27, r23
51e2: 80 93 8e 07 sts 0x078E, r24
51e6: 90 93 8f 07 sts 0x078F, r25
51ea: a0 93 90 07 sts 0x0790, r26
51ee: b0 93 91 07 sts 0x0791, r27
51f2: 60 91 fd 03 lds r22, 0x03FD
51f6: 70 91 fe 03 lds r23, 0x03FE
51fa: 80 91 ff 03 lds r24, 0x03FF
51fe: 90 91 00 04 lds r25, 0x0400
5202: 6d 8f std Y+29, r22 ; 0x1d
5204: 7e 8f std Y+30, r23 ; 0x1e
5206: 8f 8f std Y+31, r24 ; 0x1f
5208: 98 a3 std Y+32, r25 ; 0x20
520a: 80 91 82 07 lds r24, 0x0782
520e: 90 91 83 07 lds r25, 0x0783
5212: a0 91 84 07 lds r26, 0x0784
5216: b0 91 85 07 lds r27, 0x0785
521a: 2d 8d ldd r18, Y+29 ; 0x1d
521c: 3e 8d ldd r19, Y+30 ; 0x1e
521e: 4f 8d ldd r20, Y+31 ; 0x1f
5220: 58 a1 ldd r21, Y+32 ; 0x20
5222: 82 0f add r24, r18
5224: 93 1f adc r25, r19
5226: a4 1f adc r26, r20
5228: b5 1f adc r27, r21
522a: 80 93 82 07 sts 0x0782, r24
522e: 90 93 83 07 sts 0x0783, r25
5232: a0 93 84 07 sts 0x0784, r26
5236: b0 93 85 07 sts 0x0785, r27
523a: 40 91 05 04 lds r20, 0x0405
523e: 50 91 06 04 lds r21, 0x0406
5242: 60 91 07 04 lds r22, 0x0407
5246: 70 91 08 04 lds r23, 0x0408
524a: 49 8f std Y+25, r20 ; 0x19
524c: 5a 8f std Y+26, r21 ; 0x1a
524e: 6b 8f std Y+27, r22 ; 0x1b
5250: 7c 8f std Y+28, r23 ; 0x1c
5252: 80 91 7a 07 lds r24, 0x077A
5256: 90 91 7b 07 lds r25, 0x077B
525a: a0 91 7c 07 lds r26, 0x077C
525e: b0 91 7d 07 lds r27, 0x077D
5262: 84 0f add r24, r20
5264: 95 1f adc r25, r21
5266: a6 1f adc r26, r22
5268: b7 1f adc r27, r23
526a: 80 93 7a 07 sts 0x077A, r24
526e: 90 93 7b 07 sts 0x077B, r25
5272: a0 93 7c 07 sts 0x077C, r26
5276: b0 93 7d 07 sts 0x077D, r27
527a: 50 91 57 04 lds r21, 0x0457
527e: 59 a3 std Y+33, r21 ; 0x21
5280: 55 23 and r21, r21
5282: 11 f0 breq .+4 ; 0x5288 <MotorRegler+0xd24>
5284: 0c 94 72 35 jmp 0x6ae4 ; 0x6ae4 <MotorRegler+0x2580>
5288: 80 91 58 04 lds r24, 0x0458
528c: 88 23 and r24, r24
528e: 11 f0 breq .+4 ; 0x5294 <MotorRegler+0xd30>
5290: 0c 94 72 35 jmp 0x6ae4 ; 0x6ae4 <MotorRegler+0x2580>
5294: 0c 94 1f 35 jmp 0x6a3e ; 0x6a3e <MotorRegler+0x24da>
5298: 80 91 6f 04 lds r24, 0x046F
529c: 90 91 70 04 lds r25, 0x0470
52a0: 40 97 sbiw r24, 0x10 ; 16
52a2: a4 f0 brlt .+40 ; 0x52cc <MotorRegler+0xd68>
52a4: c2 01 movw r24, r4
52a6: b1 01 movw r22, r2
52a8: 23 e0 ldi r18, 0x03 ; 3
52aa: 30 e0 ldi r19, 0x00 ; 0
52ac: 40 e0 ldi r20, 0x00 ; 0
52ae: 50 e0 ldi r21, 0x00 ; 0
52b0: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
52b4: 59 01 movw r10, r18
52b6: 6a 01 movw r12, r20
52b8: c4 01 movw r24, r8
52ba: b3 01 movw r22, r6
52bc: 23 e0 ldi r18, 0x03 ; 3
52be: 30 e0 ldi r19, 0x00 ; 0
52c0: 40 e0 ldi r20, 0x00 ; 0
52c2: 50 e0 ldi r21, 0x00 ; 0
52c4: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
52c8: 79 01 movw r14, r18
52ca: 8a 01 movw r16, r20
52cc: e0 91 32 07 lds r30, 0x0732
52d0: ff 27 eor r31, r31
52d2: ee 0f add r30, r30
52d4: ff 1f adc r31, r31
52d6: ed 5f subi r30, 0xFD ; 253
52d8: f8 4f sbci r31, 0xF8 ; 248
52da: 01 90 ld r0, Z+
52dc: f0 81 ld r31, Z
52de: e0 2d mov r30, r0
52e0: f7 ff sbrs r31, 7
52e2: 03 c0 rjmp .+6 ; 0x52ea <MotorRegler+0xd86>
52e4: f0 95 com r31
52e6: e1 95 neg r30
52e8: ff 4f sbci r31, 0xFF ; 255
52ea: 7a 97 sbiw r30, 0x1a ; 26
52ec: a4 f0 brlt .+40 ; 0x5316 <MotorRegler+0xdb2>
52ee: c6 01 movw r24, r12
52f0: b5 01 movw r22, r10
52f2: 23 e0 ldi r18, 0x03 ; 3
52f4: 30 e0 ldi r19, 0x00 ; 0
52f6: 40 e0 ldi r20, 0x00 ; 0
52f8: 50 e0 ldi r21, 0x00 ; 0
52fa: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
52fe: 59 01 movw r10, r18
5300: 6a 01 movw r12, r20
5302: c8 01 movw r24, r16
5304: b7 01 movw r22, r14
5306: 23 e0 ldi r18, 0x03 ; 3
5308: 30 e0 ldi r19, 0x00 ; 0
530a: 40 e0 ldi r20, 0x00 ; 0
530c: 50 e0 ldi r21, 0x00 ; 0
530e: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
5312: 79 01 movw r14, r18
5314: 8a 01 movw r16, r20
5316: 61 e2 ldi r22, 0x21 ; 33
5318: a6 16 cp r10, r22
531a: b1 04 cpc r11, r1
531c: c1 04 cpc r12, r1
531e: d1 04 cpc r13, r1
5320: 34 f0 brlt .+12 ; 0x532e <MotorRegler+0xdca>
5322: 90 e2 ldi r25, 0x20 ; 32
5324: a9 2e mov r10, r25
5326: b1 2c mov r11, r1
5328: c1 2c mov r12, r1
532a: d1 2c mov r13, r1
532c: 11 c0 rjmp .+34 ; 0x5350 <MotorRegler+0xdec>
532e: 70 ee ldi r23, 0xE0 ; 224
5330: a7 16 cp r10, r23
5332: 7f ef ldi r23, 0xFF ; 255
5334: b7 06 cpc r11, r23
5336: 7f ef ldi r23, 0xFF ; 255
5338: c7 06 cpc r12, r23
533a: 7f ef ldi r23, 0xFF ; 255
533c: d7 06 cpc r13, r23
533e: 44 f4 brge .+16 ; 0x5350 <MotorRegler+0xdec>
5340: 80 ee ldi r24, 0xE0 ; 224
5342: a8 2e mov r10, r24
5344: 8f ef ldi r24, 0xFF ; 255
5346: b8 2e mov r11, r24
5348: 8f ef ldi r24, 0xFF ; 255
534a: c8 2e mov r12, r24
534c: 8f ef ldi r24, 0xFF ; 255
534e: d8 2e mov r13, r24
5350: 81 e2 ldi r24, 0x21 ; 33
5352: e8 16 cp r14, r24
5354: f1 04 cpc r15, r1
5356: 01 05 cpc r16, r1
5358: 11 05 cpc r17, r1
535a: 34 f0 brlt .+12 ; 0x5368 <MotorRegler+0xe04>
535c: 10 e2 ldi r17, 0x20 ; 32
535e: e1 2e mov r14, r17
5360: f1 2c mov r15, r1
5362: 01 2d mov r16, r1
5364: 11 2d mov r17, r1
5366: 11 c0 rjmp .+34 ; 0x538a <MotorRegler+0xe26>
5368: 90 ee ldi r25, 0xE0 ; 224
536a: e9 16 cp r14, r25
536c: 9f ef ldi r25, 0xFF ; 255
536e: f9 06 cpc r15, r25
5370: 9f ef ldi r25, 0xFF ; 255
5372: 09 07 cpc r16, r25
5374: 9f ef ldi r25, 0xFF ; 255
5376: 19 07 cpc r17, r25
5378: 44 f4 brge .+16 ; 0x538a <MotorRegler+0xe26>
537a: b0 ee ldi r27, 0xE0 ; 224
537c: eb 2e mov r14, r27
537e: bf ef ldi r27, 0xFF ; 255
5380: fb 2e mov r15, r27
5382: bf ef ldi r27, 0xFF ; 255
5384: 0b 2f mov r16, r27
5386: bf ef ldi r27, 0xFF ; 255
5388: 1b 2f mov r17, r27
538a: 80 91 19 04 lds r24, 0x0419
538e: 90 91 1a 04 lds r25, 0x041A
5392: a0 91 1b 04 lds r26, 0x041B
5396: b0 91 1c 04 lds r27, 0x041C
539a: 8a 19 sub r24, r10
539c: 9b 09 sbc r25, r11
539e: ac 09 sbc r26, r12
53a0: bd 09 sbc r27, r13
53a2: 80 93 19 04 sts 0x0419, r24
53a6: 90 93 1a 04 sts 0x041A, r25
53aa: a0 93 1b 04 sts 0x041B, r26
53ae: b0 93 1c 04 sts 0x041C, r27
53b2: 80 91 21 04 lds r24, 0x0421
53b6: 90 91 22 04 lds r25, 0x0422
53ba: a0 91 23 04 lds r26, 0x0423
53be: b0 91 24 04 lds r27, 0x0424
53c2: 8e 19 sub r24, r14
53c4: 9f 09 sbc r25, r15
53c6: a0 0b sbc r26, r16
53c8: b1 0b sbc r27, r17
53ca: 80 93 21 04 sts 0x0421, r24
53ce: 90 93 22 04 sts 0x0422, r25
53d2: a0 93 23 04 sts 0x0423, r26
53d6: b0 93 24 04 sts 0x0424, r27
53da: 80 91 d9 03 lds r24, 0x03D9
53de: 90 91 da 03 lds r25, 0x03DA
53e2: 8f 3f cpi r24, 0xFF ; 255
53e4: 91 05 cpc r25, r1
53e6: 09 f0 breq .+2 ; 0x53ea <MotorRegler+0xe86>
53e8: 08 f4 brcc .+2 ; 0x53ec <MotorRegler+0xe88>
53ea: d5 c4 rjmp .+2474 ; 0x5d96 <MotorRegler+0x1832>
53ec: a9 a1 ldd r26, Y+33 ; 0x21
53ee: aa 23 and r26, r26
53f0: 09 f0 breq .+2 ; 0x53f4 <MotorRegler+0xe90>
53f2: 55 c4 rjmp .+2218 ; 0x5c9e <MotorRegler+0x173a>
53f4: 80 91 58 04 lds r24, 0x0458
53f8: 88 23 and r24, r24
53fa: 09 f0 breq .+2 ; 0x53fe <MotorRegler+0xe9a>
53fc: 50 c4 rjmp .+2208 ; 0x5c9e <MotorRegler+0x173a>
53fe: 60 91 8a 07 lds r22, 0x078A
5402: 70 91 8b 07 lds r23, 0x078B
5406: 80 91 8c 07 lds r24, 0x078C
540a: 90 91 8d 07 lds r25, 0x078D
540e: 20 e0 ldi r18, 0x00 ; 0
5410: 31 e0 ldi r19, 0x01 ; 1
5412: 40 e0 ldi r20, 0x00 ; 0
5414: 50 e0 ldi r21, 0x00 ; 0
5416: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
541a: 2d 8b std Y+21, r18 ; 0x15
541c: 3e 8b std Y+22, r19 ; 0x16
541e: 4f 8b std Y+23, r20 ; 0x17
5420: 58 8f std Y+24, r21 ; 0x18
5422: 20 93 8a 07 sts 0x078A, r18
5426: 30 93 8b 07 sts 0x078B, r19
542a: 40 93 8c 07 sts 0x078C, r20
542e: 50 93 8d 07 sts 0x078D, r21
5432: 60 91 8e 07 lds r22, 0x078E
5436: 70 91 8f 07 lds r23, 0x078F
543a: 80 91 90 07 lds r24, 0x0790
543e: 90 91 91 07 lds r25, 0x0791
5442: 20 e0 ldi r18, 0x00 ; 0
5444: 31 e0 ldi r19, 0x01 ; 1
5446: 40 e0 ldi r20, 0x00 ; 0
5448: 50 e0 ldi r21, 0x00 ; 0
544a: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
544e: 29 8b std Y+17, r18 ; 0x11
5450: 3a 8b std Y+18, r19 ; 0x12
5452: 4b 8b std Y+19, r20 ; 0x13
5454: 5c 8b std Y+20, r21 ; 0x14
5456: 20 93 8e 07 sts 0x078E, r18
545a: 30 93 8f 07 sts 0x078F, r19
545e: 40 93 90 07 sts 0x0790, r20
5462: 50 93 91 07 sts 0x0791, r21
5466: e0 90 43 07 lds r14, 0x0743
546a: ff 24 eor r15, r15
546c: 00 27 eor r16, r16
546e: 11 27 eor r17, r17
5470: 20 91 09 04 lds r18, 0x0409
5474: 30 91 0a 04 lds r19, 0x040A
5478: 40 91 0b 04 lds r20, 0x040B
547c: 50 91 0c 04 lds r21, 0x040C
5480: c8 01 movw r24, r16
5482: b7 01 movw r22, r14
5484: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
5488: 20 e0 ldi r18, 0x00 ; 0
548a: 31 e0 ldi r19, 0x01 ; 1
548c: 40 e0 ldi r20, 0x00 ; 0
548e: 50 e0 ldi r21, 0x00 ; 0
5490: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
5494: 19 01 movw r2, r18
5496: 2a 01 movw r4, r20
5498: 20 93 09 04 sts 0x0409, r18
549c: 30 93 0a 04 sts 0x040A, r19
54a0: 40 93 0b 04 sts 0x040B, r20
54a4: 50 93 0c 04 sts 0x040C, r21
54a8: 20 91 0d 04 lds r18, 0x040D
54ac: 30 91 0e 04 lds r19, 0x040E
54b0: 40 91 0f 04 lds r20, 0x040F
54b4: 50 91 10 04 lds r21, 0x0410
54b8: c8 01 movw r24, r16
54ba: b7 01 movw r22, r14
54bc: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
54c0: 20 e0 ldi r18, 0x00 ; 0
54c2: 31 e0 ldi r19, 0x01 ; 1
54c4: 40 e0 ldi r20, 0x00 ; 0
54c6: 50 e0 ldi r21, 0x00 ; 0
54c8: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
54cc: 39 01 movw r6, r18
54ce: 4a 01 movw r8, r20
54d0: 20 93 0d 04 sts 0x040D, r18
54d4: 30 93 0e 04 sts 0x040E, r19
54d8: 40 93 0f 04 sts 0x040F, r20
54dc: 50 93 10 04 sts 0x0410, r21
54e0: 60 91 11 04 lds r22, 0x0411
54e4: 70 91 12 04 lds r23, 0x0412
54e8: 80 91 13 04 lds r24, 0x0413
54ec: 90 91 14 04 lds r25, 0x0414
54f0: 20 e0 ldi r18, 0x00 ; 0
54f2: 31 e0 ldi r19, 0x01 ; 1
54f4: 40 e0 ldi r20, 0x00 ; 0
54f6: 50 e0 ldi r21, 0x00 ; 0
54f8: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
54fc: 20 93 11 04 sts 0x0411, r18
5500: 30 93 12 04 sts 0x0412, r19
5504: 40 93 13 04 sts 0x0413, r20
5508: 50 93 14 04 sts 0x0414, r21
550c: 6d 89 ldd r22, Y+21 ; 0x15
550e: 7e 89 ldd r23, Y+22 ; 0x16
5510: 8f 89 ldd r24, Y+23 ; 0x17
5512: 98 8d ldd r25, Y+24 ; 0x18
5514: 62 19 sub r22, r2
5516: 73 09 sbc r23, r3
5518: 84 09 sbc r24, r4
551a: 95 09 sbc r25, r5
551c: 60 93 96 04 sts 0x0496, r22
5520: 70 93 97 04 sts 0x0497, r23
5524: 80 93 98 04 sts 0x0498, r24
5528: 90 93 99 04 sts 0x0499, r25
552c: e0 90 5c 07 lds r14, 0x075C
5530: ff 24 eor r15, r15
5532: 00 27 eor r16, r16
5534: 11 27 eor r17, r17
5536: a8 01 movw r20, r16
5538: 97 01 movw r18, r14
553a: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
553e: 59 01 movw r10, r18
5540: 6a 01 movw r12, r20
5542: 20 93 84 04 sts 0x0484, r18
5546: 30 93 85 04 sts 0x0485, r19
554a: 40 93 86 04 sts 0x0486, r20
554e: 50 93 87 04 sts 0x0487, r21
5552: 69 89 ldd r22, Y+17 ; 0x11
5554: 7a 89 ldd r23, Y+18 ; 0x12
5556: 8b 89 ldd r24, Y+19 ; 0x13
5558: 9c 89 ldd r25, Y+20 ; 0x14
555a: 66 19 sub r22, r6
555c: 77 09 sbc r23, r7
555e: 88 09 sbc r24, r8
5560: 99 09 sbc r25, r9
5562: 60 93 92 04 sts 0x0492, r22
5566: 70 93 93 04 sts 0x0493, r23
556a: 80 93 94 04 sts 0x0494, r24
556e: 90 93 95 04 sts 0x0495, r25
5572: a8 01 movw r20, r16
5574: 97 01 movw r18, r14
5576: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
557a: 2d 87 std Y+13, r18 ; 0x0d
557c: 3e 87 std Y+14, r19 ; 0x0e
557e: 4f 87 std Y+15, r20 ; 0x0f
5580: 58 8b std Y+16, r21 ; 0x10
5582: c6 01 movw r24, r12
5584: b5 01 movw r22, r10
5586: 20 e0 ldi r18, 0x00 ; 0
5588: 31 e0 ldi r19, 0x01 ; 1
558a: 40 e0 ldi r20, 0x00 ; 0
558c: 50 e0 ldi r21, 0x00 ; 0
558e: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
5592: 89 01 movw r16, r18
5594: 30 93 56 04 sts 0x0456, r19
5598: 20 93 55 04 sts 0x0455, r18
559c: 6d 85 ldd r22, Y+13 ; 0x0d
559e: 7e 85 ldd r23, Y+14 ; 0x0e
55a0: 8f 85 ldd r24, Y+15 ; 0x0f
55a2: 98 89 ldd r25, Y+16 ; 0x10
55a4: 20 e0 ldi r18, 0x00 ; 0
55a6: 31 e0 ldi r19, 0x01 ; 1
55a8: 40 e0 ldi r20, 0x00 ; 0
55aa: 50 e0 ldi r21, 0x00 ; 0
55ac: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
55b0: 3d af std Y+61, r19 ; 0x3d
55b2: 2c af std Y+60, r18 ; 0x3c
55b4: 30 93 54 04 sts 0x0454, r19
55b8: 20 93 53 04 sts 0x0453, r18
55bc: 80 91 6d 04 lds r24, 0x046D
55c0: 90 91 6e 04 lds r25, 0x046E
55c4: 40 97 sbiw r24, 0x10 ; 16
55c6: bc f4 brge .+46 ; 0x55f6 <MotorRegler+0x1092>
55c8: 80 91 6f 04 lds r24, 0x046F
55cc: 90 91 70 04 lds r25, 0x0470
55d0: 40 97 sbiw r24, 0x10 ; 16
55d2: 8c f4 brge .+34 ; 0x55f6 <MotorRegler+0x1092>
55d4: e0 91 32 07 lds r30, 0x0732
55d8: ff 27 eor r31, r31
55da: ee 0f add r30, r30
55dc: ff 1f adc r31, r31
55de: ed 5f subi r30, 0xFD ; 253
55e0: f8 4f sbci r31, 0xF8 ; 248
55e2: 01 90 ld r0, Z+
55e4: f0 81 ld r31, Z
55e6: e0 2d mov r30, r0
55e8: f7 ff sbrs r31, 7
55ea: 03 c0 rjmp .+6 ; 0x55f2 <MotorRegler+0x108e>
55ec: f0 95 com r31
55ee: e1 95 neg r30
55f0: ff 4f sbci r31, 0xFF ; 255
55f2: 7a 97 sbiw r30, 0x1a ; 26
55f4: 74 f0 brlt .+28 ; 0x5612 <MotorRegler+0x10ae>
55f6: c8 01 movw r24, r16
55f8: 62 e0 ldi r22, 0x02 ; 2
55fa: 70 e0 ldi r23, 0x00 ; 0
55fc: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
5600: cb 01 movw r24, r22
5602: 62 e0 ldi r22, 0x02 ; 2
5604: 70 e0 ldi r23, 0x00 ; 0
5606: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
560a: 70 93 56 04 sts 0x0456, r23
560e: 60 93 55 04 sts 0x0455, r22
5612: 60 91 82 07 lds r22, 0x0782
5616: 70 91 83 07 lds r23, 0x0783
561a: 80 91 84 07 lds r24, 0x0784
561e: 90 91 85 07 lds r25, 0x0785
5622: 20 e0 ldi r18, 0x00 ; 0
5624: 31 e0 ldi r19, 0x01 ; 1
5626: 40 e0 ldi r20, 0x00 ; 0
5628: 50 e0 ldi r21, 0x00 ; 0
562a: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
562e: 20 93 82 07 sts 0x0782, r18
5632: 30 93 83 07 sts 0x0783, r19
5636: 40 93 84 07 sts 0x0784, r20
563a: 50 93 85 07 sts 0x0785, r21
563e: 60 91 7a 07 lds r22, 0x077A
5642: 70 91 7b 07 lds r23, 0x077B
5646: 80 91 7c 07 lds r24, 0x077C
564a: 90 91 7d 07 lds r25, 0x077D
564e: 20 e0 ldi r18, 0x00 ; 0
5650: 31 e0 ldi r19, 0x01 ; 1
5652: 40 e0 ldi r20, 0x00 ; 0
5654: 50 e0 ldi r21, 0x00 ; 0
5656: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
565a: 20 93 7a 07 sts 0x077A, r18
565e: 30 93 7b 07 sts 0x077B, r19
5662: 40 93 7c 07 sts 0x077C, r20
5666: 50 93 7d 07 sts 0x077D, r21
566a: ed 8c ldd r14, Y+29 ; 0x1d
566c: fe 8c ldd r15, Y+30 ; 0x1e
566e: 0f 8d ldd r16, Y+31 ; 0x1f
5670: 18 a1 ldd r17, Y+32 ; 0x20
5672: 28 ad ldd r18, Y+56 ; 0x38
5674: 39 ad ldd r19, Y+57 ; 0x39
5676: 4a ad ldd r20, Y+58 ; 0x3a
5678: 5b ad ldd r21, Y+59 ; 0x3b
567a: e2 1a sub r14, r18
567c: f3 0a sbc r15, r19
567e: 04 0b sbc r16, r20
5680: 15 0b sbc r17, r21
5682: e0 92 9e 04 sts 0x049E, r14
5686: f0 92 9f 04 sts 0x049F, r15
568a: 00 93 a0 04 sts 0x04A0, r16
568e: 10 93 a1 04 sts 0x04A1, r17
5692: a9 8c ldd r10, Y+25 ; 0x19
5694: ba 8c ldd r11, Y+26 ; 0x1a
5696: cb 8c ldd r12, Y+27 ; 0x1b
5698: dc 8c ldd r13, Y+28 ; 0x1c
569a: 4c a9 ldd r20, Y+52 ; 0x34
569c: 5d a9 ldd r21, Y+53 ; 0x35
569e: 6e a9 ldd r22, Y+54 ; 0x36
56a0: 7f a9 ldd r23, Y+55 ; 0x37
56a2: a4 1a sub r10, r20
56a4: b5 0a sbc r11, r21
56a6: c6 0a sbc r12, r22
56a8: d7 0a sbc r13, r23
56aa: a0 92 9a 04 sts 0x049A, r10
56ae: b0 92 9b 04 sts 0x049B, r11
56b2: c0 92 9c 04 sts 0x049C, r12
56b6: d0 92 9d 04 sts 0x049D, r13
56ba: e0 92 96 04 sts 0x0496, r14
56be: f0 92 97 04 sts 0x0497, r15
56c2: 00 93 98 04 sts 0x0498, r16
56c6: 10 93 99 04 sts 0x0499, r17
56ca: a0 92 92 04 sts 0x0492, r10
56ce: b0 92 93 04 sts 0x0493, r11
56d2: c0 92 94 04 sts 0x0494, r12
56d6: d0 92 95 04 sts 0x0495, r13
56da: 80 91 1d 04 lds r24, 0x041D
56de: 90 91 1e 04 lds r25, 0x041E
56e2: a0 91 1f 04 lds r26, 0x041F
56e6: b0 91 20 04 lds r27, 0x0420
56ea: 8e 19 sub r24, r14
56ec: 9f 09 sbc r25, r15
56ee: a0 0b sbc r26, r16
56f0: b1 0b sbc r27, r17
56f2: 80 93 1d 04 sts 0x041D, r24
56f6: 90 93 1e 04 sts 0x041E, r25
56fa: a0 93 1f 04 sts 0x041F, r26
56fe: b0 93 20 04 sts 0x0420, r27
5702: 80 91 25 04 lds r24, 0x0425
5706: 90 91 26 04 lds r25, 0x0426
570a: a0 91 27 04 lds r26, 0x0427
570e: b0 91 28 04 lds r27, 0x0428
5712: 8a 19 sub r24, r10
5714: 9b 09 sbc r25, r11
5716: ac 09 sbc r26, r12
5718: bd 09 sbc r27, r13
571a: 80 93 25 04 sts 0x0425, r24
571e: 90 93 26 04 sts 0x0426, r25
5722: a0 93 27 04 sts 0x0427, r26
5726: b0 93 28 04 sts 0x0428, r27
572a: c2 01 movw r24, r4
572c: b1 01 movw r22, r2
572e: 2a e1 ldi r18, 0x1A ; 26
5730: 30 e0 ldi r19, 0x00 ; 0
5732: 40 e0 ldi r20, 0x00 ; 0
5734: 50 e0 ldi r21, 0x00 ; 0
5736: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
573a: 30 93 ca 06 sts 0x06CA, r19
573e: 20 93 c9 06 sts 0x06C9, r18
5742: c4 01 movw r24, r8
5744: b3 01 movw r22, r6
5746: 2a e1 ldi r18, 0x1A ; 26
5748: 30 e0 ldi r19, 0x00 ; 0
574a: 40 e0 ldi r20, 0x00 ; 0
574c: 50 e0 ldi r21, 0x00 ; 0
574e: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
5752: 30 93 cc 06 sts 0x06CC, r19
5756: 20 93 cb 06 sts 0x06CB, r18
575a: f0 92 ce 06 sts 0x06CE, r15
575e: e0 92 cd 06 sts 0x06CD, r14
5762: b0 92 d0 06 sts 0x06D0, r11
5766: a0 92 cf 06 sts 0x06CF, r10
576a: 6d 89 ldd r22, Y+21 ; 0x15
576c: 7e 89 ldd r23, Y+22 ; 0x16
576e: 8f 89 ldd r24, Y+23 ; 0x17
5770: 98 8d ldd r25, Y+24 ; 0x18
5772: 2a e1 ldi r18, 0x1A ; 26
5774: 30 e0 ldi r19, 0x00 ; 0
5776: 40 e0 ldi r20, 0x00 ; 0
5778: 50 e0 ldi r21, 0x00 ; 0
577a: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
577e: 30 93 d2 06 sts 0x06D2, r19
5782: 20 93 d1 06 sts 0x06D1, r18
5786: 69 89 ldd r22, Y+17 ; 0x11
5788: 7a 89 ldd r23, Y+18 ; 0x12
578a: 8b 89 ldd r24, Y+19 ; 0x13
578c: 9c 89 ldd r25, Y+20 ; 0x14
578e: 2a e1 ldi r18, 0x1A ; 26
5790: 30 e0 ldi r19, 0x00 ; 0
5792: 40 e0 ldi r20, 0x00 ; 0
5794: 50 e0 ldi r21, 0x00 ; 0
5796: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
579a: 30 93 d4 06 sts 0x06D4, r19
579e: 20 93 d3 06 sts 0x06D3, r18
57a2: 6d 85 ldd r22, Y+13 ; 0x0d
57a4: 7e 85 ldd r23, Y+14 ; 0x0e
57a6: 70 93 e2 06 sts 0x06E2, r23
57aa: 60 93 e1 06 sts 0x06E1, r22
57ae: 8c ad ldd r24, Y+60 ; 0x3c
57b0: 9d ad ldd r25, Y+61 ; 0x3d
57b2: 88 0f add r24, r24
57b4: 99 1f adc r25, r25
57b6: 2c ad ldd r18, Y+60 ; 0x3c
57b8: 3d ad ldd r19, Y+61 ; 0x3d
57ba: 63 e0 ldi r22, 0x03 ; 3
57bc: 22 0f add r18, r18
57be: 33 1f adc r19, r19
57c0: 6a 95 dec r22
57c2: e1 f7 brne .-8 ; 0x57bc <MotorRegler+0x1258>
57c4: 82 0f add r24, r18
57c6: 93 1f adc r25, r19
57c8: 90 93 e4 06 sts 0x06E4, r25
57cc: 80 93 e3 06 sts 0x06E3, r24
57d0: 81 e0 ldi r24, 0x01 ; 1
57d2: 90 e0 ldi r25, 0x00 ; 0
57d4: 90 93 7f 04 sts 0x047F, r25
57d8: 80 93 7e 04 sts 0x047E, r24
57dc: 80 91 76 04 lds r24, 0x0476
57e0: 90 91 77 04 lds r25, 0x0477
57e4: a0 91 78 04 lds r26, 0x0478
57e8: b0 91 79 04 lds r27, 0x0479
57ec: 2d 89 ldd r18, Y+21 ; 0x15
57ee: 3e 89 ldd r19, Y+22 ; 0x16
57f0: 4f 89 ldd r20, Y+23 ; 0x17
57f2: 58 8d ldd r21, Y+24 ; 0x18
57f4: 82 1b sub r24, r18
57f6: 93 0b sbc r25, r19
57f8: a4 0b sbc r26, r20
57fa: b5 0b sbc r27, r21
57fc: 81 5e subi r24, 0xE1 ; 225
57fe: 91 4b sbci r25, 0xB1 ; 177
5800: af 4f sbci r26, 0xFF ; 255
5802: bf 4f sbci r27, 0xFF ; 255
5804: 8f 53 subi r24, 0x3F ; 63
5806: 9c 49 sbci r25, 0x9C ; 156
5808: a0 40 sbci r26, 0x00 ; 0
580a: b0 40 sbci r27, 0x00 ; 0
580c: 08 f0 brcs .+2 ; 0x5810 <MotorRegler+0x12ac>
580e: c1 c0 rjmp .+386 ; 0x5992 <MotorRegler+0x142e>
5810: 41 e0 ldi r20, 0x01 ; 1
5812: e4 16 cp r14, r20
5814: 40 e1 ldi r20, 0x10 ; 16
5816: f4 06 cpc r15, r20
5818: 40 e0 ldi r20, 0x00 ; 0
581a: 04 07 cpc r16, r20
581c: 40 e0 ldi r20, 0x00 ; 0
581e: 14 07 cpc r17, r20
5820: 0c f4 brge .+2 ; 0x5824 <MotorRegler+0x12c0>
5822: 52 c0 rjmp .+164 ; 0x58c8 <MotorRegler+0x1364>
5824: 80 91 7d 04 lds r24, 0x047D
5828: 88 23 and r24, r24
582a: 09 f4 brne .+2 ; 0x582e <MotorRegler+0x12ca>
582c: 49 c0 rjmp .+146 ; 0x58c0 <MotorRegler+0x135c>
582e: d8 01 movw r26, r16
5830: c7 01 movw r24, r14
5832: 5c e0 ldi r21, 0x0C ; 12
5834: b5 95 asr r27
5836: a7 95 ror r26
5838: 97 95 ror r25
583a: 87 95 ror r24
583c: 5a 95 dec r21
583e: d1 f7 brne .-12 ; 0x5834 <MotorRegler+0x12d0>
5840: 01 96 adiw r24, 0x01 ; 1
5842: 90 93 7f 04 sts 0x047F, r25
5846: 80 93 7e 04 sts 0x047E, r24
584a: d8 01 movw r26, r16
584c: c7 01 movw r24, r14
584e: 43 e0 ldi r20, 0x03 ; 3
5850: b5 95 asr r27
5852: a7 95 ror r26
5854: 97 95 ror r25
5856: 87 95 ror r24
5858: 4a 95 dec r20
585a: d1 f7 brne .-12 ; 0x5850 <MotorRegler+0x12ec>
585c: 80 93 84 04 sts 0x0484, r24
5860: 90 93 85 04 sts 0x0485, r25
5864: a0 93 86 04 sts 0x0486, r26
5868: b0 93 87 04 sts 0x0487, r27
586c: 89 58 subi r24, 0x89 ; 137
586e: 93 41 sbci r25, 0x13 ; 19
5870: a0 40 sbci r26, 0x00 ; 0
5872: b0 40 sbci r27, 0x00 ; 0
5874: 64 f0 brlt .+24 ; 0x588e <MotorRegler+0x132a>
5876: 88 e8 ldi r24, 0x88 ; 136
5878: 93 e1 ldi r25, 0x13 ; 19
587a: a0 e0 ldi r26, 0x00 ; 0
587c: b0 e0 ldi r27, 0x00 ; 0
587e: 80 93 84 04 sts 0x0484, r24
5882: 90 93 85 04 sts 0x0485, r25
5886: a0 93 86 04 sts 0x0486, r26
588a: b0 93 87 04 sts 0x0487, r27
588e: 60 91 84 04 lds r22, 0x0484
5892: 70 91 85 04 lds r23, 0x0485
5896: 80 91 86 04 lds r24, 0x0486
589a: 90 91 87 04 lds r25, 0x0487
589e: 20 e0 ldi r18, 0x00 ; 0
58a0: 31 e0 ldi r19, 0x01 ; 1
58a2: 40 e0 ldi r20, 0x00 ; 0
58a4: 50 e0 ldi r21, 0x00 ; 0
58a6: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
58aa: 80 91 55 04 lds r24, 0x0455
58ae: 90 91 56 04 lds r25, 0x0456
58b2: 82 0f add r24, r18
58b4: 93 1f adc r25, r19
58b6: 90 93 56 04 sts 0x0456, r25
58ba: 80 93 55 04 sts 0x0455, r24
58be: 66 c0 rjmp .+204 ; 0x598c <MotorRegler+0x1428>
58c0: 81 e0 ldi r24, 0x01 ; 1
58c2: 80 93 7d 04 sts 0x047D, r24
58c6: 62 c0 rjmp .+196 ; 0x598c <MotorRegler+0x1428>
58c8: 10 92 7d 04 sts 0x047D, r1
58cc: 60 e0 ldi r22, 0x00 ; 0
58ce: e6 16 cp r14, r22
58d0: 60 ef ldi r22, 0xF0 ; 240
58d2: f6 06 cpc r15, r22
58d4: 6f ef ldi r22, 0xFF ; 255
58d6: 06 07 cpc r16, r22
58d8: 6f ef ldi r22, 0xFF ; 255
58da: 16 07 cpc r17, r22
58dc: 0c f0 brlt .+2 ; 0x58e0 <MotorRegler+0x137c>
58de: 56 c0 rjmp .+172 ; 0x598c <MotorRegler+0x1428>
58e0: 80 91 7c 04 lds r24, 0x047C
58e4: 88 23 and r24, r24
58e6: 09 f4 brne .+2 ; 0x58ea <MotorRegler+0x1386>
58e8: 4d c0 rjmp .+154 ; 0x5984 <MotorRegler+0x1420>
58ea: 88 27 eor r24, r24
58ec: 99 27 eor r25, r25
58ee: dc 01 movw r26, r24
58f0: 8e 19 sub r24, r14
58f2: 9f 09 sbc r25, r15
58f4: a0 0b sbc r26, r16
58f6: b1 0b sbc r27, r17
58f8: 3c e0 ldi r19, 0x0C ; 12
58fa: b5 95 asr r27
58fc: a7 95 ror r26
58fe: 97 95 ror r25
5900: 87 95 ror r24
5902: 3a 95 dec r19
5904: d1 f7 brne .-12 ; 0x58fa <MotorRegler+0x1396>
5906: 01 96 adiw r24, 0x01 ; 1
5908: 90 93 7f 04 sts 0x047F, r25
590c: 80 93 7e 04 sts 0x047E, r24
5910: c8 01 movw r24, r16
5912: b7 01 movw r22, r14
5914: 28 e0 ldi r18, 0x08 ; 8
5916: 30 e0 ldi r19, 0x00 ; 0
5918: 40 e0 ldi r20, 0x00 ; 0
591a: 50 e0 ldi r21, 0x00 ; 0
591c: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
5920: 20 93 84 04 sts 0x0484, r18
5924: 30 93 85 04 sts 0x0485, r19
5928: 40 93 86 04 sts 0x0486, r20
592c: 50 93 87 04 sts 0x0487, r21
5930: 28 57 subi r18, 0x78 ; 120
5932: 3c 4e sbci r19, 0xEC ; 236
5934: 4f 4f sbci r20, 0xFF ; 255
5936: 5f 4f sbci r21, 0xFF ; 255
5938: 64 f4 brge .+24 ; 0x5952 <MotorRegler+0x13ee>
593a: 88 e7 ldi r24, 0x78 ; 120
593c: 9c ee ldi r25, 0xEC ; 236
593e: af ef ldi r26, 0xFF ; 255
5940: bf ef ldi r27, 0xFF ; 255
5942: 80 93 84 04 sts 0x0484, r24
5946: 90 93 85 04 sts 0x0485, r25
594a: a0 93 86 04 sts 0x0486, r26
594e: b0 93 87 04 sts 0x0487, r27
5952: 60 91 84 04 lds r22, 0x0484
5956: 70 91 85 04 lds r23, 0x0485
595a: 80 91 86 04 lds r24, 0x0486
595e: 90 91 87 04 lds r25, 0x0487
5962: 20 e0 ldi r18, 0x00 ; 0
5964: 31 e0 ldi r19, 0x01 ; 1
5966: 40 e0 ldi r20, 0x00 ; 0
5968: 50 e0 ldi r21, 0x00 ; 0
596a: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
596e: 80 91 55 04 lds r24, 0x0455
5972: 90 91 56 04 lds r25, 0x0456
5976: 82 0f add r24, r18
5978: 93 1f adc r25, r19
597a: 90 93 56 04 sts 0x0456, r25
597e: 80 93 55 04 sts 0x0455, r24
5982: 0b c0 rjmp .+22 ; 0x599a <MotorRegler+0x1436>
5984: 81 e0 ldi r24, 0x01 ; 1
5986: 80 93 7c 04 sts 0x047C, r24
598a: 07 c0 rjmp .+14 ; 0x599a <MotorRegler+0x1436>
598c: 10 92 7c 04 sts 0x047C, r1
5990: 04 c0 rjmp .+8 ; 0x599a <MotorRegler+0x1436>
5992: 10 92 7f 04 sts 0x047F, r1
5996: 10 92 7e 04 sts 0x047E, r1
599a: 80 91 5d 07 lds r24, 0x075D
599e: 88 2e mov r8, r24
59a0: 99 24 eor r9, r9
59a2: 80 91 7e 04 lds r24, 0x047E
59a6: 90 91 7f 04 lds r25, 0x047F
59aa: 88 16 cp r8, r24
59ac: 99 06 cpc r9, r25
59ae: 24 f4 brge .+8 ; 0x59b8 <MotorRegler+0x1454>
59b0: 90 92 7f 04 sts 0x047F, r9
59b4: 80 92 7e 04 sts 0x047E, r8
59b8: 81 e0 ldi r24, 0x01 ; 1
59ba: e8 16 cp r14, r24
59bc: 84 e0 ldi r24, 0x04 ; 4
59be: f8 06 cpc r15, r24
59c0: 80 e0 ldi r24, 0x00 ; 0
59c2: 08 07 cpc r16, r24
59c4: 80 e0 ldi r24, 0x00 ; 0
59c6: 18 07 cpc r17, r24
59c8: 5c f0 brlt .+22 ; 0x59e0 <MotorRegler+0x147c>
59ca: 80 91 ef 03 lds r24, 0x03EF
59ce: 90 91 f0 03 lds r25, 0x03F0
59d2: 20 91 7e 04 lds r18, 0x047E
59d6: 30 91 7f 04 lds r19, 0x047F
59da: 82 0f add r24, r18
59dc: 93 1f adc r25, r19
59de: 13 c0 rjmp .+38 ; 0x5a06 <MotorRegler+0x14a2>
59e0: 90 e0 ldi r25, 0x00 ; 0
59e2: e9 16 cp r14, r25
59e4: 9c ef ldi r25, 0xFC ; 252
59e6: f9 06 cpc r15, r25
59e8: 9f ef ldi r25, 0xFF ; 255
59ea: 09 07 cpc r16, r25
59ec: 9f ef ldi r25, 0xFF ; 255
59ee: 19 07 cpc r17, r25
59f0: 74 f4 brge .+28 ; 0x5a0e <MotorRegler+0x14aa>
59f2: 80 91 ef 03 lds r24, 0x03EF
59f6: 90 91 f0 03 lds r25, 0x03F0
59fa: 20 91 7e 04 lds r18, 0x047E
59fe: 30 91 7f 04 lds r19, 0x047F
5a02: 82 1b sub r24, r18
5a04: 93 0b sbc r25, r19
5a06: 90 93 f0 03 sts 0x03F0, r25
5a0a: 80 93 ef 03 sts 0x03EF, r24
5a0e: 81 e0 ldi r24, 0x01 ; 1
5a10: 90 e0 ldi r25, 0x00 ; 0
5a12: 90 93 7f 04 sts 0x047F, r25
5a16: 80 93 7e 04 sts 0x047E, r24
5a1a: 10 92 80 04 sts 0x0480, r1
5a1e: 10 92 81 04 sts 0x0481, r1
5a22: 10 92 82 04 sts 0x0482, r1
5a26: 10 92 83 04 sts 0x0483, r1
5a2a: 80 91 72 04 lds r24, 0x0472
5a2e: 90 91 73 04 lds r25, 0x0473
5a32: a0 91 74 04 lds r26, 0x0474
5a36: b0 91 75 04 lds r27, 0x0475
5a3a: 29 89 ldd r18, Y+17 ; 0x11
5a3c: 3a 89 ldd r19, Y+18 ; 0x12
5a3e: 4b 89 ldd r20, Y+19 ; 0x13
5a40: 5c 89 ldd r21, Y+20 ; 0x14
5a42: 82 1b sub r24, r18
5a44: 93 0b sbc r25, r19
5a46: a4 0b sbc r26, r20
5a48: b5 0b sbc r27, r21
5a4a: 81 5e subi r24, 0xE1 ; 225
5a4c: 91 4b sbci r25, 0xB1 ; 177
5a4e: af 4f sbci r26, 0xFF ; 255
5a50: bf 4f sbci r27, 0xFF ; 255
5a52: 8f 53 subi r24, 0x3F ; 63
5a54: 9c 49 sbci r25, 0x9C ; 156
5a56: a0 40 sbci r26, 0x00 ; 0
5a58: b0 40 sbci r27, 0x00 ; 0
5a5a: 08 f0 brcs .+2 ; 0x5a5e <MotorRegler+0x14fa>
5a5c: bd c0 rjmp .+378 ; 0x5bd8 <MotorRegler+0x1674>
5a5e: 41 e0 ldi r20, 0x01 ; 1
5a60: a4 16 cp r10, r20
5a62: 40 e1 ldi r20, 0x10 ; 16
5a64: b4 06 cpc r11, r20
5a66: 40 e0 ldi r20, 0x00 ; 0
5a68: c4 06 cpc r12, r20
5a6a: 40 e0 ldi r20, 0x00 ; 0
5a6c: d4 06 cpc r13, r20
5a6e: 0c f4 brge .+2 ; 0x5a72 <MotorRegler+0x150e>
5a70: 50 c0 rjmp .+160 ; 0x5b12 <MotorRegler+0x15ae>
5a72: 80 91 7b 04 lds r24, 0x047B
5a76: 88 23 and r24, r24
5a78: 09 f4 brne .+2 ; 0x5a7c <MotorRegler+0x1518>
5a7a: 47 c0 rjmp .+142 ; 0x5b0a <MotorRegler+0x15a6>
5a7c: d6 01 movw r26, r12
5a7e: c5 01 movw r24, r10
5a80: 2c e0 ldi r18, 0x0C ; 12
5a82: b5 95 asr r27
5a84: a7 95 ror r26
5a86: 97 95 ror r25
5a88: 87 95 ror r24
5a8a: 2a 95 dec r18
5a8c: d1 f7 brne .-12 ; 0x5a82 <MotorRegler+0x151e>
5a8e: 01 96 adiw r24, 0x01 ; 1
5a90: 90 93 7f 04 sts 0x047F, r25
5a94: 80 93 7e 04 sts 0x047E, r24
5a98: d6 01 movw r26, r12
5a9a: c5 01 movw r24, r10
5a9c: 03 e0 ldi r16, 0x03 ; 3
5a9e: b5 95 asr r27
5aa0: a7 95 ror r26
5aa2: 97 95 ror r25
5aa4: 87 95 ror r24
5aa6: 0a 95 dec r16
5aa8: d1 f7 brne .-12 ; 0x5a9e <MotorRegler+0x153a>
5aaa: 80 93 80 04 sts 0x0480, r24
5aae: 90 93 81 04 sts 0x0481, r25
5ab2: a0 93 82 04 sts 0x0482, r26
5ab6: b0 93 83 04 sts 0x0483, r27
5aba: 89 58 subi r24, 0x89 ; 137
5abc: 93 41 sbci r25, 0x13 ; 19
5abe: a0 40 sbci r26, 0x00 ; 0
5ac0: b0 40 sbci r27, 0x00 ; 0
5ac2: 64 f0 brlt .+24 ; 0x5adc <MotorRegler+0x1578>
5ac4: 88 e8 ldi r24, 0x88 ; 136
5ac6: 93 e1 ldi r25, 0x13 ; 19
5ac8: a0 e0 ldi r26, 0x00 ; 0
5aca: b0 e0 ldi r27, 0x00 ; 0
5acc: 80 93 80 04 sts 0x0480, r24
5ad0: 90 93 81 04 sts 0x0481, r25
5ad4: a0 93 82 04 sts 0x0482, r26
5ad8: b0 93 83 04 sts 0x0483, r27
5adc: 60 91 80 04 lds r22, 0x0480
5ae0: 70 91 81 04 lds r23, 0x0481
5ae4: 80 91 82 04 lds r24, 0x0482
5ae8: 90 91 83 04 lds r25, 0x0483
5aec: 20 e0 ldi r18, 0x00 ; 0
5aee: 31 e0 ldi r19, 0x01 ; 1
5af0: 40 e0 ldi r20, 0x00 ; 0
5af2: 50 e0 ldi r21, 0x00 ; 0
5af4: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
5af8: 6c ad ldd r22, Y+60 ; 0x3c
5afa: 7d ad ldd r23, Y+61 ; 0x3d
5afc: 62 0f add r22, r18
5afe: 73 1f adc r23, r19
5b00: 70 93 54 04 sts 0x0454, r23
5b04: 60 93 53 04 sts 0x0453, r22
5b08: 64 c0 rjmp .+200 ; 0x5bd2 <MotorRegler+0x166e>
5b0a: 81 e0 ldi r24, 0x01 ; 1
5b0c: 80 93 7b 04 sts 0x047B, r24
5b10: 60 c0 rjmp .+192 ; 0x5bd2 <MotorRegler+0x166e>
5b12: 10 92 7b 04 sts 0x047B, r1
5b16: 70 e0 ldi r23, 0x00 ; 0
5b18: a7 16 cp r10, r23
5b1a: 70 ef ldi r23, 0xF0 ; 240
5b1c: b7 06 cpc r11, r23
5b1e: 7f ef ldi r23, 0xFF ; 255
5b20: c7 06 cpc r12, r23
5b22: 7f ef ldi r23, 0xFF ; 255
5b24: d7 06 cpc r13, r23
5b26: 0c f0 brlt .+2 ; 0x5b2a <MotorRegler+0x15c6>
5b28: 54 c0 rjmp .+168 ; 0x5bd2 <MotorRegler+0x166e>
5b2a: 80 91 7a 04 lds r24, 0x047A
5b2e: 88 23 and r24, r24
5b30: 09 f4 brne .+2 ; 0x5b34 <MotorRegler+0x15d0>
5b32: 4b c0 rjmp .+150 ; 0x5bca <MotorRegler+0x1666>
5b34: 88 27 eor r24, r24
5b36: 99 27 eor r25, r25
5b38: dc 01 movw r26, r24
5b3a: 8a 19 sub r24, r10
5b3c: 9b 09 sbc r25, r11
5b3e: ac 09 sbc r26, r12
5b40: bd 09 sbc r27, r13
5b42: 1c e0 ldi r17, 0x0C ; 12
5b44: b5 95 asr r27
5b46: a7 95 ror r26
5b48: 97 95 ror r25
5b4a: 87 95 ror r24
5b4c: 1a 95 dec r17
5b4e: d1 f7 brne .-12 ; 0x5b44 <MotorRegler+0x15e0>
5b50: 01 96 adiw r24, 0x01 ; 1
5b52: 90 93 7f 04 sts 0x047F, r25
5b56: 80 93 7e 04 sts 0x047E, r24
5b5a: c6 01 movw r24, r12
5b5c: b5 01 movw r22, r10
5b5e: 28 e0 ldi r18, 0x08 ; 8
5b60: 30 e0 ldi r19, 0x00 ; 0
5b62: 40 e0 ldi r20, 0x00 ; 0
5b64: 50 e0 ldi r21, 0x00 ; 0
5b66: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
5b6a: 20 93 80 04 sts 0x0480, r18
5b6e: 30 93 81 04 sts 0x0481, r19
5b72: 40 93 82 04 sts 0x0482, r20
5b76: 50 93 83 04 sts 0x0483, r21
5b7a: 28 57 subi r18, 0x78 ; 120
5b7c: 3c 4e sbci r19, 0xEC ; 236
5b7e: 4f 4f sbci r20, 0xFF ; 255
5b80: 5f 4f sbci r21, 0xFF ; 255
5b82: 64 f4 brge .+24 ; 0x5b9c <MotorRegler+0x1638>
5b84: 88 e7 ldi r24, 0x78 ; 120
5b86: 9c ee ldi r25, 0xEC ; 236
5b88: af ef ldi r26, 0xFF ; 255
5b8a: bf ef ldi r27, 0xFF ; 255
5b8c: 80 93 80 04 sts 0x0480, r24
5b90: 90 93 81 04 sts 0x0481, r25
5b94: a0 93 82 04 sts 0x0482, r26
5b98: b0 93 83 04 sts 0x0483, r27
5b9c: 60 91 80 04 lds r22, 0x0480
5ba0: 70 91 81 04 lds r23, 0x0481
5ba4: 80 91 82 04 lds r24, 0x0482
5ba8: 90 91 83 04 lds r25, 0x0483
5bac: 20 e0 ldi r18, 0x00 ; 0
5bae: 31 e0 ldi r19, 0x01 ; 1
5bb0: 40 e0 ldi r20, 0x00 ; 0
5bb2: 50 e0 ldi r21, 0x00 ; 0
5bb4: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
5bb8: ac ad ldd r26, Y+60 ; 0x3c
5bba: bd ad ldd r27, Y+61 ; 0x3d
5bbc: a2 0f add r26, r18
5bbe: b3 1f adc r27, r19
5bc0: b0 93 54 04 sts 0x0454, r27
5bc4: a0 93 53 04 sts 0x0453, r26
5bc8: 0b c0 rjmp .+22 ; 0x5be0 <MotorRegler+0x167c>
5bca: 81 e0 ldi r24, 0x01 ; 1
5bcc: 80 93 7a 04 sts 0x047A, r24
5bd0: 07 c0 rjmp .+14 ; 0x5be0 <MotorRegler+0x167c>
5bd2: 10 92 7a 04 sts 0x047A, r1
5bd6: 04 c0 rjmp .+8 ; 0x5be0 <MotorRegler+0x167c>
5bd8: 10 92 7f 04 sts 0x047F, r1
5bdc: 10 92 7e 04 sts 0x047E, r1
5be0: 80 91 7e 04 lds r24, 0x047E
5be4: 90 91 7f 04 lds r25, 0x047F
5be8: 88 16 cp r8, r24
5bea: 99 06 cpc r9, r25
5bec: 24 f4 brge .+8 ; 0x5bf6 <MotorRegler+0x1692>
5bee: 90 92 7f 04 sts 0x047F, r9
5bf2: 80 92 7e 04 sts 0x047E, r8
5bf6: b1 e0 ldi r27, 0x01 ; 1
5bf8: ab 16 cp r10, r27
5bfa: b4 e0 ldi r27, 0x04 ; 4
5bfc: bb 06 cpc r11, r27
5bfe: b0 e0 ldi r27, 0x00 ; 0
5c00: cb 06 cpc r12, r27
5c02: b0 e0 ldi r27, 0x00 ; 0
5c04: db 06 cpc r13, r27
5c06: 5c f0 brlt .+22 ; 0x5c1e <MotorRegler+0x16ba>
5c08: 80 91 f1 03 lds r24, 0x03F1
5c0c: 90 91 f2 03 lds r25, 0x03F2
5c10: 20 91 7e 04 lds r18, 0x047E
5c14: 30 91 7f 04 lds r19, 0x047F
5c18: 82 0f add r24, r18
5c1a: 93 1f adc r25, r19
5c1c: 13 c0 rjmp .+38 ; 0x5c44 <MotorRegler+0x16e0>
5c1e: e0 e0 ldi r30, 0x00 ; 0
5c20: ae 16 cp r10, r30
5c22: ec ef ldi r30, 0xFC ; 252
5c24: be 06 cpc r11, r30
5c26: ef ef ldi r30, 0xFF ; 255
5c28: ce 06 cpc r12, r30
5c2a: ef ef ldi r30, 0xFF ; 255
5c2c: de 06 cpc r13, r30
5c2e: 74 f4 brge .+28 ; 0x5c4c <MotorRegler+0x16e8>
5c30: 80 91 f1 03 lds r24, 0x03F1
5c34: 90 91 f2 03 lds r25, 0x03F2
5c38: 20 91 7e 04 lds r18, 0x047E
5c3c: 30 91 7f 04 lds r19, 0x047F
5c40: 82 1b sub r24, r18
5c42: 93 0b sbc r25, r19
5c44: 90 93 f2 03 sts 0x03F2, r25
5c48: 80 93 f1 03 sts 0x03F1, r24
5c4c: 80 91 80 04 lds r24, 0x0480
5c50: 90 91 81 04 lds r25, 0x0481
5c54: 90 93 de 06 sts 0x06DE, r25
5c58: 80 93 dd 06 sts 0x06DD, r24
5c5c: 80 91 ef 03 lds r24, 0x03EF
5c60: 90 91 f0 03 lds r25, 0x03F0
5c64: 90 93 d6 06 sts 0x06D6, r25
5c68: 80 93 d5 06 sts 0x06D5, r24
5c6c: 80 91 f1 03 lds r24, 0x03F1
5c70: 90 91 f2 03 lds r25, 0x03F2
5c74: 20 91 f5 03 lds r18, 0x03F5
5c78: 30 91 f6 03 lds r19, 0x03F6
5c7c: 82 1b sub r24, r18
5c7e: 93 0b sbc r25, r19
5c80: 9c 01 movw r18, r24
5c82: a3 e0 ldi r26, 0x03 ; 3
5c84: 22 0f add r18, r18
5c86: 33 1f adc r19, r19
5c88: aa 95 dec r26
5c8a: e1 f7 brne .-8 ; 0x5c84 <MotorRegler+0x1720>
5c8c: 88 0f add r24, r24
5c8e: 99 1f adc r25, r25
5c90: 82 0f add r24, r18
5c92: 93 1f adc r25, r19
5c94: 90 93 d8 06 sts 0x06D8, r25
5c98: 80 93 d7 06 sts 0x06D7, r24
5c9c: 08 c0 rjmp .+16 ; 0x5cae <MotorRegler+0x174a>
5c9e: 10 92 54 04 sts 0x0454, r1
5ca2: 10 92 53 04 sts 0x0453, r1
5ca6: 10 92 56 04 sts 0x0456, r1
5caa: 10 92 55 04 sts 0x0455, r1
5cae: 20 e0 ldi r18, 0x00 ; 0
5cb0: 30 e0 ldi r19, 0x00 ; 0
5cb2: 40 e0 ldi r20, 0x00 ; 0
5cb4: 50 e0 ldi r21, 0x00 ; 0
5cb6: 60 91 92 07 lds r22, 0x0792
5cba: 70 91 93 07 lds r23, 0x0793
5cbe: 80 91 94 07 lds r24, 0x0794
5cc2: 90 91 95 07 lds r25, 0x0795
5cc6: 0e 94 a9 3b call 0x7752 ; 0x7752 <__eqsf2>
5cca: 88 23 and r24, r24
5ccc: 41 f4 brne .+16 ; 0x5cde <MotorRegler+0x177a>
5cce: 10 92 54 04 sts 0x0454, r1
5cd2: 10 92 53 04 sts 0x0453, r1
5cd6: 10 92 56 04 sts 0x0456, r1
5cda: 10 92 55 04 sts 0x0455, r1
5cde: 80 91 8a 07 lds r24, 0x078A
5ce2: 90 91 8b 07 lds r25, 0x078B
5ce6: a0 91 8c 07 lds r26, 0x078C
5cea: b0 91 8d 07 lds r27, 0x078D
5cee: 80 93 76 04 sts 0x0476, r24
5cf2: 90 93 77 04 sts 0x0477, r25
5cf6: a0 93 78 04 sts 0x0478, r26
5cfa: b0 93 79 04 sts 0x0479, r27
5cfe: 80 91 8e 07 lds r24, 0x078E
5d02: 90 91 8f 07 lds r25, 0x078F
5d06: a0 91 90 07 lds r26, 0x0790
5d0a: b0 91 91 07 lds r27, 0x0791
5d0e: 80 93 72 04 sts 0x0472, r24
5d12: 90 93 73 04 sts 0x0473, r25
5d16: a0 93 74 04 sts 0x0474, r26
5d1a: b0 93 75 04 sts 0x0475, r27
5d1e: 10 92 09 04 sts 0x0409, r1
5d22: 10 92 0a 04 sts 0x040A, r1
5d26: 10 92 0b 04 sts 0x040B, r1
5d2a: 10 92 0c 04 sts 0x040C, r1
5d2e: 10 92 0d 04 sts 0x040D, r1
5d32: 10 92 0e 04 sts 0x040E, r1
5d36: 10 92 0f 04 sts 0x040F, r1
5d3a: 10 92 10 04 sts 0x0410, r1
5d3e: 10 92 11 04 sts 0x0411, r1
5d42: 10 92 12 04 sts 0x0412, r1
5d46: 10 92 13 04 sts 0x0413, r1
5d4a: 10 92 14 04 sts 0x0414, r1
5d4e: 10 92 8a 07 sts 0x078A, r1
5d52: 10 92 8b 07 sts 0x078B, r1
5d56: 10 92 8c 07 sts 0x078C, r1
5d5a: 10 92 8d 07 sts 0x078D, r1
5d5e: 10 92 8e 07 sts 0x078E, r1
5d62: 10 92 8f 07 sts 0x078F, r1
5d66: 10 92 90 07 sts 0x0790, r1
5d6a: 10 92 91 07 sts 0x0791, r1
5d6e: 10 92 82 07 sts 0x0782, r1
5d72: 10 92 83 07 sts 0x0783, r1
5d76: 10 92 84 07 sts 0x0784, r1
5d7a: 10 92 85 07 sts 0x0785, r1
5d7e: 10 92 7a 07 sts 0x077A, r1
5d82: 10 92 7b 07 sts 0x077B, r1
5d86: 10 92 7c 07 sts 0x077C, r1
5d8a: 10 92 7d 07 sts 0x077D, r1
5d8e: 10 92 da 03 sts 0x03DA, r1
5d92: 10 92 d9 03 sts 0x03D9, r1
5d96: 80 90 4a 04 lds r8, 0x044A
5d9a: 90 90 4b 04 lds r9, 0x044B
5d9e: 54 01 movw r10, r8
5da0: 97 fe sbrs r9, 7
5da2: 04 c0 rjmp .+8 ; 0x5dac <MotorRegler+0x1848>
5da4: aa 24 eor r10, r10
5da6: bb 24 eor r11, r11
5da8: a8 18 sub r10, r8
5daa: b9 08 sbc r11, r9
5dac: f5 e1 ldi r31, 0x15 ; 21
5dae: af 16 cp r10, r31
5db0: b1 04 cpc r11, r1
5db2: 3c f0 brlt .+14 ; 0x5dc2 <MotorRegler+0x185e>
5db4: 80 91 37 07 lds r24, 0x0737
5db8: 84 fd sbrc r24, 4
5dba: 03 c0 rjmp .+6 ; 0x5dc2 <MotorRegler+0x185e>
5dbc: 81 e0 ldi r24, 0x01 ; 1
5dbe: 80 93 a1 03 sts 0x03A1, r24
5dc2: e0 90 40 07 lds r14, 0x0740
5dc6: cc 24 eor r12, r12
5dc8: b7 fc sbrc r11, 7
5dca: c0 94 com r12
5dcc: dc 2c mov r13, r12
5dce: b4 01 movw r22, r8
5dd0: 88 27 eor r24, r24
5dd2: 77 fd sbrc r23, 7
5dd4: 80 95 com r24
5dd6: 98 2f mov r25, r24
5dd8: 2e 2d mov r18, r14
5dda: 33 27 eor r19, r19
5ddc: 44 27 eor r20, r20
5dde: 55 27 eor r21, r21
5de0: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
5de4: 9b 01 movw r18, r22
5de6: ac 01 movw r20, r24
5de8: c6 01 movw r24, r12
5dea: b5 01 movw r22, r10
5dec: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
5df0: 20 e0 ldi r18, 0x00 ; 0
5df2: 32 e0 ldi r19, 0x02 ; 2
5df4: 40 e0 ldi r20, 0x00 ; 0
5df6: 50 e0 ldi r21, 0x00 ; 0
5df8: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
5dfc: 89 01 movw r16, r18
5dfe: 9a 01 movw r18, r20
5e00: ff 24 eor r15, r15
5e02: e8 9c mul r14, r8
5e04: c0 01 movw r24, r0
5e06: e9 9c mul r14, r9
5e08: 90 0d add r25, r0
5e0a: f8 9c mul r15, r8
5e0c: 90 0d add r25, r0
5e0e: 11 24 eor r1, r1
5e10: 64 e0 ldi r22, 0x04 ; 4
5e12: 70 e0 ldi r23, 0x00 ; 0
5e14: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
5e18: 60 0f add r22, r16
5e1a: 71 1f adc r23, r17
5e1c: 88 27 eor r24, r24
5e1e: 77 fd sbrc r23, 7
5e20: 80 95 com r24
5e22: 98 2f mov r25, r24
5e24: 60 93 a2 04 sts 0x04A2, r22
5e28: 70 93 a3 04 sts 0x04A3, r23
5e2c: 80 93 a4 04 sts 0x04A4, r24
5e30: 90 93 a5 04 sts 0x04A5, r25
5e34: 20 91 29 04 lds r18, 0x0429
5e38: 30 91 2a 04 lds r19, 0x042A
5e3c: 40 91 2b 04 lds r20, 0x042B
5e40: 50 91 2c 04 lds r21, 0x042C
5e44: 26 1b sub r18, r22
5e46: 37 0b sbc r19, r23
5e48: 48 0b sbc r20, r24
5e4a: 59 0b sbc r21, r25
5e4c: 20 93 29 04 sts 0x0429, r18
5e50: 30 93 2a 04 sts 0x042A, r19
5e54: 40 93 2b 04 sts 0x042B, r20
5e58: 50 93 2c 04 sts 0x042C, r21
5e5c: 21 35 cpi r18, 0x51 ; 81
5e5e: 63 ec ldi r22, 0xC3 ; 195
5e60: 36 07 cpc r19, r22
5e62: 60 e0 ldi r22, 0x00 ; 0
5e64: 46 07 cpc r20, r22
5e66: 60 e0 ldi r22, 0x00 ; 0
5e68: 56 07 cpc r21, r22
5e6a: 2c f0 brlt .+10 ; 0x5e76 <MotorRegler+0x1912>
5e6c: 80 e5 ldi r24, 0x50 ; 80
5e6e: 93 ec ldi r25, 0xC3 ; 195
5e70: a0 e0 ldi r26, 0x00 ; 0
5e72: b0 e0 ldi r27, 0x00 ; 0
5e74: 09 c0 rjmp .+18 ; 0x5e88 <MotorRegler+0x1924>
5e76: 20 5b subi r18, 0xB0 ; 176
5e78: 3c 43 sbci r19, 0x3C ; 60
5e7a: 4f 4f sbci r20, 0xFF ; 255
5e7c: 5f 4f sbci r21, 0xFF ; 255
5e7e: 64 f4 brge .+24 ; 0x5e98 <MotorRegler+0x1934>
5e80: 80 eb ldi r24, 0xB0 ; 176
5e82: 9c e3 ldi r25, 0x3C ; 60
5e84: af ef ldi r26, 0xFF ; 255
5e86: bf ef ldi r27, 0xFF ; 255
5e88: 80 93 29 04 sts 0x0429, r24
5e8c: 90 93 2a 04 sts 0x042A, r25
5e90: a0 93 2b 04 sts 0x042B, r26
5e94: b0 93 2c 04 sts 0x042C, r27
5e98: 80 91 37 07 lds r24, 0x0737
5e9c: 83 ff sbrs r24, 3
5e9e: 9a c0 rjmp .+308 ; 0x5fd4 <MotorRegler+0x1a70>
5ea0: 80 91 71 04 lds r24, 0x0471
5ea4: 81 50 subi r24, 0x01 ; 1
5ea6: 80 93 71 04 sts 0x0471, r24
5eaa: 8f 3f cpi r24, 0xFF ; 255
5eac: d9 f4 brne .+54 ; 0x5ee4 <MotorRegler+0x1980>
5eae: 0e 94 01 38 call 0x7002 ; 0x7002 <heading_MM3>
5eb2: 90 93 36 04 sts 0x0436, r25
5eb6: 80 93 35 04 sts 0x0435, r24
5eba: 20 91 37 04 lds r18, 0x0437
5ebe: 30 91 38 04 lds r19, 0x0438
5ec2: 82 1b sub r24, r18
5ec4: 93 0b sbc r25, r19
5ec6: 84 5e subi r24, 0xE4 ; 228
5ec8: 9d 4f sbci r25, 0xFD ; 253
5eca: 68 e6 ldi r22, 0x68 ; 104
5ecc: 71 e0 ldi r23, 0x01 ; 1
5ece: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
5ed2: 84 5b subi r24, 0xB4 ; 180
5ed4: 90 40 sbci r25, 0x00 ; 0
5ed6: 90 93 3a 04 sts 0x043A, r25
5eda: 80 93 39 04 sts 0x0439, r24
5ede: 82 e3 ldi r24, 0x32 ; 50
5ee0: 80 93 71 04 sts 0x0471, r24
5ee4: 60 91 f9 03 lds r22, 0x03F9
5ee8: 70 91 fa 03 lds r23, 0x03FA
5eec: 80 91 fb 03 lds r24, 0x03FB
5ef0: 90 91 fc 03 lds r25, 0x03FC
5ef4: 20 e0 ldi r18, 0x00 ; 0
5ef6: 32 e0 ldi r19, 0x02 ; 2
5ef8: 40 e0 ldi r20, 0x00 ; 0
5efa: 50 e0 ldi r21, 0x00 ; 0
5efc: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
5f00: 89 01 movw r16, r18
5f02: 37 ff sbrs r19, 7
5f04: 03 c0 rjmp .+6 ; 0x5f0c <MotorRegler+0x19a8>
5f06: 10 95 com r17
5f08: 01 95 neg r16
5f0a: 1f 4f sbci r17, 0xFF ; 255
5f0c: 60 91 01 04 lds r22, 0x0401
5f10: 70 91 02 04 lds r23, 0x0402
5f14: 80 91 03 04 lds r24, 0x0403
5f18: 90 91 04 04 lds r25, 0x0404
5f1c: 20 e0 ldi r18, 0x00 ; 0
5f1e: 32 e0 ldi r19, 0x02 ; 2
5f20: 40 e0 ldi r20, 0x00 ; 0
5f22: 50 e0 ldi r21, 0x00 ; 0
5f24: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
5f28: b9 01 movw r22, r18
5f2a: 37 ff sbrs r19, 7
5f2c: 03 c0 rjmp .+6 ; 0x5f34 <MotorRegler+0x19d0>
5f2e: 70 95 com r23
5f30: 61 95 neg r22
5f32: 7f 4f sbci r23, 0xFF ; 255
5f34: 60 17 cp r22, r16
5f36: 71 07 cpc r23, r17
5f38: 0c f4 brge .+2 ; 0x5f3c <MotorRegler+0x19d8>
5f3a: b8 01 movw r22, r16
5f3c: 63 32 cpi r22, 0x23 ; 35
5f3e: 71 05 cpc r23, r1
5f40: 74 f4 brge .+28 ; 0x5f5e <MotorRegler+0x19fa>
5f42: 80 91 a1 03 lds r24, 0x03A1
5f46: 88 23 and r24, r24
5f48: 51 f0 breq .+20 ; 0x5f5e <MotorRegler+0x19fa>
5f4a: 80 91 35 04 lds r24, 0x0435
5f4e: 90 91 36 04 lds r25, 0x0436
5f52: 90 93 38 04 sts 0x0438, r25
5f56: 80 93 37 04 sts 0x0437, r24
5f5a: 10 92 a1 03 sts 0x03A1, r1
5f5e: 20 91 97 03 lds r18, 0x0397
5f62: 33 27 eor r19, r19
5f64: 62 9f mul r22, r18
5f66: c0 01 movw r24, r0
5f68: 63 9f mul r22, r19
5f6a: 90 0d add r25, r0
5f6c: 72 9f mul r23, r18
5f6e: 90 0d add r25, r0
5f70: 11 24 eor r1, r1
5f72: 60 e4 ldi r22, 0x40 ; 64
5f74: 70 e0 ldi r23, 0x00 ; 0
5f76: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
5f7a: 26 1b sub r18, r22
5f7c: 37 0b sbc r19, r23
5f7e: 12 16 cp r1, r18
5f80: 13 06 cpc r1, r19
5f82: 44 f5 brge .+80 ; 0x5fd4 <MotorRegler+0x1a70>
5f84: 80 91 39 04 lds r24, 0x0439
5f88: 90 91 3a 04 lds r25, 0x043A
5f8c: dc 01 movw r26, r24
5f8e: 2a 9f mul r18, r26
5f90: c0 01 movw r24, r0
5f92: 2b 9f mul r18, r27
5f94: 90 0d add r25, r0
5f96: 3a 9f mul r19, r26
5f98: 90 0d add r25, r0
5f9a: 11 24 eor r1, r1
5f9c: 60 e2 ldi r22, 0x20 ; 32
5f9e: 70 e0 ldi r23, 0x00 ; 0
5fa0: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
5fa4: 88 27 eor r24, r24
5fa6: 77 fd sbrc r23, 7
5fa8: 80 95 com r24
5faa: 98 2f mov r25, r24
5fac: 20 91 29 04 lds r18, 0x0429
5fb0: 30 91 2a 04 lds r19, 0x042A
5fb4: 40 91 2b 04 lds r20, 0x042B
5fb8: 50 91 2c 04 lds r21, 0x042C
5fbc: 26 0f add r18, r22
5fbe: 37 1f adc r19, r23
5fc0: 48 1f adc r20, r24
5fc2: 59 1f adc r21, r25
5fc4: 20 93 29 04 sts 0x0429, r18
5fc8: 30 93 2a 04 sts 0x042A, r19
5fcc: 40 93 2b 04 sts 0x042B, r20
5fd0: 50 93 2c 04 sts 0x042C, r21
5fd4: 80 91 88 04 lds r24, 0x0488
5fd8: 81 50 subi r24, 0x01 ; 1
5fda: 80 93 88 04 sts 0x0488, r24
5fde: 8f 3f cpi r24, 0xFF ; 255
5fe0: 09 f0 breq .+2 ; 0x5fe4 <MotorRegler+0x1a80>
5fe2: 79 c0 rjmp .+242 ; 0x60d6 <MotorRegler+0x1b72>
5fe4: 88 e1 ldi r24, 0x18 ; 24
5fe6: 80 93 88 04 sts 0x0488, r24
5fea: e0 90 43 07 lds r14, 0x0743
5fee: ff 24 eor r15, r15
5ff0: 00 27 eor r16, r16
5ff2: 11 27 eor r17, r17
5ff4: 60 91 f9 03 lds r22, 0x03F9
5ff8: 70 91 fa 03 lds r23, 0x03FA
5ffc: 80 91 fb 03 lds r24, 0x03FB
6000: 90 91 fc 03 lds r25, 0x03FC
6004: a8 01 movw r20, r16
6006: 97 01 movw r18, r14
6008: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
600c: 30 93 a8 06 sts 0x06A8, r19
6010: 20 93 a7 06 sts 0x06A7, r18
6014: 60 91 01 04 lds r22, 0x0401
6018: 70 91 02 04 lds r23, 0x0402
601c: 80 91 03 04 lds r24, 0x0403
6020: 90 91 04 04 lds r25, 0x0404
6024: a8 01 movw r20, r16
6026: 97 01 movw r18, r14
6028: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
602c: 30 93 aa 06 sts 0x06AA, r19
6030: 20 93 a9 06 sts 0x06A9, r18
6034: 80 91 a3 07 lds r24, 0x07A3
6038: 90 91 a4 07 lds r25, 0x07A4
603c: 90 93 ac 06 sts 0x06AC, r25
6040: 80 93 ab 06 sts 0x06AB, r24
6044: 80 91 ad 07 lds r24, 0x07AD
6048: 90 91 ae 07 lds r25, 0x07AE
604c: 90 93 ae 06 sts 0x06AE, r25
6050: 80 93 ad 06 sts 0x06AD, r24
6054: 80 91 a6 07 lds r24, 0x07A6
6058: 90 91 a7 07 lds r25, 0x07A7
605c: 90 93 b0 06 sts 0x06B0, r25
6060: 80 93 af 06 sts 0x06AF, r24
6064: 80 91 4f 04 lds r24, 0x044F
6068: 90 91 50 04 lds r25, 0x0450
606c: 90 93 b2 06 sts 0x06B2, r25
6070: 80 93 b1 06 sts 0x06B1, r24
6074: 60 91 31 04 lds r22, 0x0431
6078: 70 91 32 04 lds r23, 0x0432
607c: 80 91 33 04 lds r24, 0x0433
6080: 90 91 34 04 lds r25, 0x0434
6084: 20 e0 ldi r18, 0x00 ; 0
6086: 32 e0 ldi r19, 0x02 ; 2
6088: 40 e0 ldi r20, 0x00 ; 0
608a: 50 e0 ldi r21, 0x00 ; 0
608c: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
6090: 30 93 b4 06 sts 0x06B4, r19
6094: 20 93 b3 06 sts 0x06B3, r18
6098: 80 91 35 04 lds r24, 0x0435
609c: 90 91 36 04 lds r25, 0x0436
60a0: 90 93 b8 06 sts 0x06B8, r25
60a4: 80 93 b7 06 sts 0x06B7, r24
60a8: 80 91 08 03 lds r24, 0x0308
60ac: 90 91 09 03 lds r25, 0x0309
60b0: 90 93 ba 06 sts 0x06BA, r25
60b4: 80 93 b9 06 sts 0x06B9, r24
60b8: 80 91 45 04 lds r24, 0x0445
60bc: 99 27 eor r25, r25
60be: 90 93 bc 06 sts 0x06BC, r25
60c2: 80 93 bb 06 sts 0x06BB, r24
60c6: 80 91 86 07 lds r24, 0x0786
60ca: 90 91 87 07 lds r25, 0x0787
60ce: 90 93 c8 06 sts 0x06C8, r25
60d2: 80 93 c7 06 sts 0x06C7, r24
60d6: 80 91 57 04 lds r24, 0x0457
60da: c0 90 7f 07 lds r12, 0x077F
60de: d0 90 80 07 lds r13, 0x0780
60e2: 88 23 and r24, r24
60e4: 91 f0 breq .+36 ; 0x610a <MotorRegler+0x1ba6>
60e6: b6 01 movw r22, r12
60e8: 88 27 eor r24, r24
60ea: 77 fd sbrc r23, 7
60ec: 80 95 com r24
60ee: 98 2f mov r25, r24
60f0: 0e 94 9f 3b call 0x773e ; 0x773e <__floatsisf>
60f4: 20 91 a8 07 lds r18, 0x07A8
60f8: 30 91 a9 07 lds r19, 0x07A9
60fc: 40 91 aa 07 lds r20, 0x07AA
6100: 50 91 ab 07 lds r21, 0x07AB
6104: 0e 94 19 3c call 0x7832 ; 0x7832 <__mulsf3>
6108: 2d c0 rjmp .+90 ; 0x6164 <MotorRegler+0x1c00>
610a: 60 91 f9 03 lds r22, 0x03F9
610e: 70 91 fa 03 lds r23, 0x03FA
6112: 80 91 fb 03 lds r24, 0x03FB
6116: 90 91 fc 03 lds r25, 0x03FC
611a: 0e 94 9f 3b call 0x773e ; 0x773e <__floatsisf>
611e: 20 91 92 07 lds r18, 0x0792
6122: 30 91 93 07 lds r19, 0x0793
6126: 40 91 94 07 lds r20, 0x0794
612a: 50 91 95 07 lds r21, 0x0795
612e: 0e 94 19 3c call 0x7832 ; 0x7832 <__mulsf3>
6132: 7b 01 movw r14, r22
6134: 8c 01 movw r16, r24
6136: b6 01 movw r22, r12
6138: 88 27 eor r24, r24
613a: 77 fd sbrc r23, 7
613c: 80 95 com r24
613e: 98 2f mov r25, r24
6140: 0e 94 9f 3b call 0x773e ; 0x773e <__floatsisf>
6144: 20 91 a8 07 lds r18, 0x07A8
6148: 30 91 a9 07 lds r19, 0x07A9
614c: 40 91 aa 07 lds r20, 0x07AA
6150: 50 91 ab 07 lds r21, 0x07AB
6154: 0e 94 19 3c call 0x7832 ; 0x7832 <__mulsf3>
6158: 9b 01 movw r18, r22
615a: ac 01 movw r20, r24
615c: c8 01 movw r24, r16
615e: b7 01 movw r22, r14
6160: 0e 94 fa 3a call 0x75f4 ; 0x75f4 <__addsf3>
6164: 0e 94 82 3b call 0x7704 ; 0x7704 <__fixsfsi>
6168: 70 93 80 07 sts 0x0780, r23
616c: 60 93 7f 07 sts 0x077F, r22
6170: 80 91 58 04 lds r24, 0x0458
6174: c0 90 77 07 lds r12, 0x0777
6178: d0 90 78 07 lds r13, 0x0778
617c: 88 23 and r24, r24
617e: 91 f0 breq .+36 ; 0x61a4 <MotorRegler+0x1c40>
6180: b6 01 movw r22, r12
6182: 88 27 eor r24, r24
6184: 77 fd sbrc r23, 7
6186: 80 95 com r24
6188: 98 2f mov r25, r24
618a: 0e 94 9f 3b call 0x773e ; 0x773e <__floatsisf>
618e: 20 91 a8 07 lds r18, 0x07A8
6192: 30 91 a9 07 lds r19, 0x07A9
6196: 40 91 aa 07 lds r20, 0x07AA
619a: 50 91 ab 07 lds r21, 0x07AB
619e: 0e 94 19 3c call 0x7832 ; 0x7832 <__mulsf3>
61a2: 2d c0 rjmp .+90 ; 0x61fe <MotorRegler+0x1c9a>
61a4: 60 91 01 04 lds r22, 0x0401
61a8: 70 91 02 04 lds r23, 0x0402
61ac: 80 91 03 04 lds r24, 0x0403
61b0: 90 91 04 04 lds r25, 0x0404
61b4: 0e 94 9f 3b call 0x773e ; 0x773e <__floatsisf>
61b8: 20 91 92 07 lds r18, 0x0792
61bc: 30 91 93 07 lds r19, 0x0793
61c0: 40 91 94 07 lds r20, 0x0794
61c4: 50 91 95 07 lds r21, 0x0795
61c8: 0e 94 19 3c call 0x7832 ; 0x7832 <__mulsf3>
61cc: 7b 01 movw r14, r22
61ce: 8c 01 movw r16, r24
61d0: b6 01 movw r22, r12
61d2: 88 27 eor r24, r24
61d4: 77 fd sbrc r23, 7
61d6: 80 95 com r24
61d8: 98 2f mov r25, r24
61da: 0e 94 9f 3b call 0x773e ; 0x773e <__floatsisf>
61de: 20 91 a8 07 lds r18, 0x07A8
61e2: 30 91 a9 07 lds r19, 0x07A9
61e6: 40 91 aa 07 lds r20, 0x07AA
61ea: 50 91 ab 07 lds r21, 0x07AB
61ee: 0e 94 19 3c call 0x7832 ; 0x7832 <__mulsf3>
61f2: 9b 01 movw r18, r22
61f4: ac 01 movw r20, r24
61f6: c8 01 movw r24, r16
61f8: b7 01 movw r22, r14
61fa: 0e 94 fa 3a call 0x75f4 ; 0x75f4 <__addsf3>
61fe: 0e 94 82 3b call 0x7704 ; 0x7704 <__fixsfsi>
6202: 70 93 78 07 sts 0x0778, r23
6206: 60 93 77 07 sts 0x0777, r22
620a: 20 91 92 07 lds r18, 0x0792
620e: 30 91 93 07 lds r19, 0x0793
6212: 40 91 94 07 lds r20, 0x0794
6216: 50 91 95 07 lds r21, 0x0795
621a: 2a a3 std Y+34, r18 ; 0x22
621c: 3b a3 std Y+35, r19 ; 0x23
621e: 4c a3 std Y+36, r20 ; 0x24
6220: 5d a3 std Y+37, r21 ; 0x25
6222: 60 91 a6 07 lds r22, 0x07A6
6226: 70 91 a7 07 lds r23, 0x07A7
622a: 88 27 eor r24, r24
622c: 77 fd sbrc r23, 7
622e: 80 95 com r24
6230: 98 2f mov r25, r24
6232: 0e 94 9f 3b call 0x773e ; 0x773e <__floatsisf>
6236: 7b 01 movw r14, r22
6238: 8c 01 movw r16, r24
623a: 60 91 a8 07 lds r22, 0x07A8
623e: 70 91 a9 07 lds r23, 0x07A9
6242: 80 91 aa 07 lds r24, 0x07AA
6246: 90 91 ab 07 lds r25, 0x07AB
624a: 9b 01 movw r18, r22
624c: ac 01 movw r20, r24
624e: 0e 94 fa 3a call 0x75f4 ; 0x75f4 <__addsf3>
6252: 9b 01 movw r18, r22
6254: ac 01 movw r20, r24
6256: c8 01 movw r24, r16
6258: b7 01 movw r22, r14
625a: 0e 94 19 3c call 0x7832 ; 0x7832 <__mulsf3>
625e: 7b 01 movw r14, r22
6260: 8c 01 movw r16, r24
6262: 60 91 15 04 lds r22, 0x0415
6266: 70 91 16 04 lds r23, 0x0416
626a: 80 91 17 04 lds r24, 0x0417
626e: 90 91 18 04 lds r25, 0x0418
6272: 0e 94 9f 3b call 0x773e ; 0x773e <__floatsisf>
6276: 2a a1 ldd r18, Y+34 ; 0x22
6278: 3b a1 ldd r19, Y+35 ; 0x23
627a: 4c a1 ldd r20, Y+36 ; 0x24
627c: 5d a1 ldd r21, Y+37 ; 0x25
627e: 0e 94 19 3c call 0x7832 ; 0x7832 <__mulsf3>
6282: 20 e0 ldi r18, 0x00 ; 0
6284: 30 e0 ldi r19, 0x00 ; 0
6286: 40 e0 ldi r20, 0x00 ; 0
6288: 5f e3 ldi r21, 0x3F ; 63
628a: 0e 94 19 3c call 0x7832 ; 0x7832 <__mulsf3>
628e: 9b 01 movw r18, r22
6290: ac 01 movw r20, r24
6292: c8 01 movw r24, r16
6294: b7 01 movw r22, r14
6296: 0e 94 fa 3a call 0x75f4 ; 0x75f4 <__addsf3>
629a: 0e 94 82 3b call 0x7704 ; 0x7704 <__fixsfsi>
629e: 8b 01 movw r16, r22
62a0: 70 93 a7 07 sts 0x07A7, r23
62a4: 60 93 a6 07 sts 0x07A6, r22
62a8: 60 91 01 04 lds r22, 0x0401
62ac: 70 91 02 04 lds r23, 0x0402
62b0: 80 91 03 04 lds r24, 0x0403
62b4: 90 91 04 04 lds r25, 0x0404
62b8: 0e 94 9f 3b call 0x773e ; 0x773e <__floatsisf>
62bc: 2a a1 ldd r18, Y+34 ; 0x22
62be: 3b a1 ldd r19, Y+35 ; 0x23
62c0: 4c a1 ldd r20, Y+36 ; 0x24
62c2: 5d a1 ldd r21, Y+37 ; 0x25
62c4: 0e 94 19 3c call 0x7832 ; 0x7832 <__mulsf3>
62c8: 69 87 std Y+9, r22 ; 0x09
62ca: 7a 87 std Y+10, r23 ; 0x0a
62cc: 8b 87 std Y+11, r24 ; 0x0b
62ce: 9c 87 std Y+12, r25 ; 0x0c
62d0: 0e 94 82 3b call 0x7704 ; 0x7704 <__fixsfsi>
62d4: 70 93 da 06 sts 0x06DA, r23
62d8: 60 93 d9 06 sts 0x06D9, r22
62dc: 40 91 48 04 lds r20, 0x0448
62e0: 50 91 49 04 lds r21, 0x0449
62e4: 5d a7 std Y+45, r21 ; 0x2d
62e6: 4c a7 std Y+44, r20 ; 0x2c
62e8: 50 93 e6 06 sts 0x06E6, r21
62ec: 40 93 e5 06 sts 0x06E5, r20
62f0: 20 91 77 07 lds r18, 0x0777
62f4: 30 91 78 07 lds r19, 0x0778
62f8: 30 93 e0 06 sts 0x06E0, r19
62fc: 20 93 df 06 sts 0x06DF, r18
6300: 80 91 7f 07 lds r24, 0x077F
6304: 90 91 80 07 lds r25, 0x0780
6308: 58 e0 ldi r21, 0x08 ; 8
630a: 81 30 cpi r24, 0x01 ; 1
630c: 95 07 cpc r25, r21
630e: 1c f0 brlt .+6 ; 0x6316 <MotorRegler+0x1db2>
6310: 80 e0 ldi r24, 0x00 ; 0
6312: 98 e0 ldi r25, 0x08 ; 8
6314: 05 c0 rjmp .+10 ; 0x6320 <MotorRegler+0x1dbc>
6316: 80 50 subi r24, 0x00 ; 0
6318: 98 4f sbci r25, 0xF8 ; 248
631a: 34 f4 brge .+12 ; 0x6328 <MotorRegler+0x1dc4>
631c: 80 e0 ldi r24, 0x00 ; 0
631e: 98 ef ldi r25, 0xF8 ; 248
6320: 90 93 80 07 sts 0x0780, r25
6324: 80 93 7f 07 sts 0x077F, r24
6328: 78 e0 ldi r23, 0x08 ; 8
632a: 21 30 cpi r18, 0x01 ; 1
632c: 37 07 cpc r19, r23
632e: 1c f0 brlt .+6 ; 0x6336 <MotorRegler+0x1dd2>
6330: 80 e0 ldi r24, 0x00 ; 0
6332: 98 e0 ldi r25, 0x08 ; 8
6334: 05 c0 rjmp .+10 ; 0x6340 <MotorRegler+0x1ddc>
6336: 20 50 subi r18, 0x00 ; 0
6338: 38 4f sbci r19, 0xF8 ; 248
633a: 34 f4 brge .+12 ; 0x6348 <MotorRegler+0x1de4>
633c: 80 e0 ldi r24, 0x00 ; 0
633e: 98 ef ldi r25, 0xF8 ; 248
6340: 90 93 78 07 sts 0x0778, r25
6344: 80 93 77 07 sts 0x0777, r24
6348: 98 e0 ldi r25, 0x08 ; 8
634a: 01 30 cpi r16, 0x01 ; 1
634c: 19 07 cpc r17, r25
634e: 1c f0 brlt .+6 ; 0x6356 <MotorRegler+0x1df2>
6350: 80 e0 ldi r24, 0x00 ; 0
6352: 98 e0 ldi r25, 0x08 ; 8
6354: 05 c0 rjmp .+10 ; 0x6360 <MotorRegler+0x1dfc>
6356: 00 50 subi r16, 0x00 ; 0
6358: 18 4f sbci r17, 0xF8 ; 248
635a: 34 f4 brge .+12 ; 0x6368 <MotorRegler+0x1e04>
635c: 80 e0 ldi r24, 0x00 ; 0
635e: 98 ef ldi r25, 0xF8 ; 248
6360: 90 93 a7 07 sts 0x07A7, r25
6364: 80 93 a6 07 sts 0x07A6, r24
6368: 80 91 37 07 lds r24, 0x0737
636c: 99 27 eor r25, r25
636e: 80 ff sbrs r24, 0
6370: d9 c0 rjmp .+434 ; 0x6524 <MotorRegler+0x1fc0>
6372: 40 91 94 03 lds r20, 0x0394
6376: 81 ff sbrs r24, 1
6378: 0e c0 rjmp .+28 ; 0x6396 <MotorRegler+0x1e32>
637a: 42 33 cpi r20, 0x32 ; 50
637c: 10 f5 brcc .+68 ; 0x63c2 <MotorRegler+0x1e5e>
637e: 80 91 4f 04 lds r24, 0x044F
6382: 90 91 50 04 lds r25, 0x0450
6386: 44 97 sbiw r24, 0x14 ; 20
6388: 90 93 52 04 sts 0x0452, r25
638c: 80 93 51 04 sts 0x0451, r24
6390: 10 92 3c 04 sts 0x043C, r1
6394: 19 c0 rjmp .+50 ; 0x63c8 <MotorRegler+0x1e64>
6396: 20 91 9f 03 lds r18, 0x039F
639a: 30 91 a0 03 lds r19, 0x03A0
639e: 24 0f add r18, r20
63a0: 31 1d adc r19, r1
63a2: 80 91 3c 07 lds r24, 0x073C
63a6: 99 27 eor r25, r25
63a8: fc 01 movw r30, r24
63aa: 2e 9f mul r18, r30
63ac: c0 01 movw r24, r0
63ae: 2f 9f mul r18, r31
63b0: 90 0d add r25, r0
63b2: 3e 9f mul r19, r30
63b4: 90 0d add r25, r0
63b6: 11 24 eor r1, r1
63b8: 44 97 sbiw r24, 0x14 ; 20
63ba: 90 93 52 04 sts 0x0452, r25
63be: 80 93 51 04 sts 0x0451, r24
63c2: 81 e0 ldi r24, 0x01 ; 1
63c4: 80 93 3c 04 sts 0x043C, r24
63c8: 80 91 3b 04 lds r24, 0x043B
63cc: 88 23 and r24, r24
63ce: 21 f0 breq .+8 ; 0x63d8 <MotorRegler+0x1e74>
63d0: 10 92 52 04 sts 0x0452, r1
63d4: 10 92 51 04 sts 0x0451, r1
63d8: 20 91 4f 04 lds r18, 0x044F
63dc: 30 91 50 04 lds r19, 0x0450
63e0: 40 91 51 04 lds r20, 0x0451
63e4: 50 91 52 04 lds r21, 0x0452
63e8: 42 17 cp r20, r18
63ea: 53 07 cpc r21, r19
63ec: 0c f0 brlt .+2 ; 0x63f0 <MotorRegler+0x1e8c>
63ee: 9a c0 rjmp .+308 ; 0x6524 <MotorRegler+0x1fc0>
63f0: 80 91 3c 04 lds r24, 0x043C
63f4: 88 23 and r24, r24
63f6: 09 f4 brne .+2 ; 0x63fa <MotorRegler+0x1e96>
63f8: 95 c0 rjmp .+298 ; 0x6524 <MotorRegler+0x1fc0>
63fa: 24 1b sub r18, r20
63fc: 35 0b sbc r19, r21
63fe: 80 91 95 03 lds r24, 0x0395
6402: 99 27 eor r25, r25
6404: ac 01 movw r20, r24
6406: 24 9f mul r18, r20
6408: c0 01 movw r24, r0
640a: 25 9f mul r18, r21
640c: 90 0d add r25, r0
640e: 34 9f mul r19, r20
6410: 90 0d add r25, r0
6412: 11 24 eor r1, r1
6414: 60 e1 ldi r22, 0x10 ; 16
6416: 70 e0 ldi r23, 0x00 ; 0
6418: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
641c: 0b 81 ldd r16, Y+3 ; 0x03
641e: 1c 81 ldd r17, Y+4 ; 0x04
6420: 06 1b sub r16, r22
6422: 17 0b sbc r17, r23
6424: 20 91 d7 03 lds r18, 0x03D7
6428: 30 91 d8 03 lds r19, 0x03D8
642c: 80 91 93 03 lds r24, 0x0393
6430: 99 27 eor r25, r25
6432: bc 01 movw r22, r24
6434: 26 9f mul r18, r22
6436: c0 01 movw r24, r0
6438: 27 9f mul r18, r23
643a: 90 0d add r25, r0
643c: 36 9f mul r19, r22
643e: 90 0d add r25, r0
6440: 11 24 eor r1, r1
6442: 68 e0 ldi r22, 0x08 ; 8
6444: 70 e0 ldi r23, 0x00 ; 0
6446: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
644a: 06 1b sub r16, r22
644c: 17 0b sbc r17, r23
644e: 60 91 31 04 lds r22, 0x0431
6452: 70 91 32 04 lds r23, 0x0432
6456: 80 91 33 04 lds r24, 0x0433
645a: 90 91 34 04 lds r25, 0x0434
645e: 20 e0 ldi r18, 0x00 ; 0
6460: 32 e0 ldi r19, 0x02 ; 2
6462: 40 e0 ldi r20, 0x00 ; 0
6464: 50 e0 ldi r21, 0x00 ; 0
6466: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
646a: ca 01 movw r24, r20
646c: b9 01 movw r22, r18
646e: 20 91 96 03 lds r18, 0x0396
6472: 33 27 eor r19, r19
6474: 44 27 eor r20, r20
6476: 55 27 eor r21, r21
6478: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
647c: 20 e2 ldi r18, 0x20 ; 32
647e: 30 e0 ldi r19, 0x00 ; 0
6480: 40 e0 ldi r20, 0x00 ; 0
6482: 50 e0 ldi r21, 0x00 ; 0
6484: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
6488: 7f ef ldi r23, 0xFF ; 255
648a: 2e 3c cpi r18, 0xCE ; 206
648c: 37 07 cpc r19, r23
648e: 14 f4 brge .+4 ; 0x6494 <MotorRegler+0x1f30>
6490: 2e ec ldi r18, 0xCE ; 206
6492: 3f ef ldi r19, 0xFF ; 255
6494: 80 91 89 04 lds r24, 0x0489
6498: 90 91 8a 04 lds r25, 0x048A
649c: ac 01 movw r20, r24
649e: e4 e0 ldi r30, 0x04 ; 4
64a0: 44 0f add r20, r20
64a2: 55 1f adc r21, r21
64a4: ea 95 dec r30
64a6: e1 f7 brne .-8 ; 0x64a0 <MotorRegler+0x1f3c>
64a8: 48 1b sub r20, r24
64aa: 59 0b sbc r21, r25
64ac: 23 33 cpi r18, 0x33 ; 51
64ae: 31 05 cpc r19, r1
64b0: 14 f0 brlt .+4 ; 0x64b6 <MotorRegler+0x1f52>
64b2: 22 e3 ldi r18, 0x32 ; 50
64b4: 30 e0 ldi r19, 0x00 ; 0
64b6: 02 1b sub r16, r18
64b8: 13 0b sbc r17, r19
64ba: ca 01 movw r24, r20
64bc: 80 0f add r24, r16
64be: 91 1f adc r25, r17
64c0: 60 e1 ldi r22, 0x10 ; 16
64c2: 70 e0 ldi r23, 0x00 ; 0
64c4: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
64c8: 70 93 8a 04 sts 0x048A, r23
64cc: 60 93 89 04 sts 0x0489, r22
64d0: 80 91 38 07 lds r24, 0x0738
64d4: 99 27 eor r25, r25
64d6: 68 17 cp r22, r24
64d8: 79 07 cpc r23, r25
64da: 8c f4 brge .+34 ; 0x64fe <MotorRegler+0x1f9a>
64dc: ab 81 ldd r26, Y+3 ; 0x03
64de: bc 81 ldd r27, Y+4 ; 0x04
64e0: a8 17 cp r26, r24
64e2: b9 07 cpc r27, r25
64e4: 2c f0 brlt .+10 ; 0x64f0 <MotorRegler+0x1f8c>
64e6: 90 93 8a 04 sts 0x048A, r25
64ea: 80 93 89 04 sts 0x0489, r24
64ee: 07 c0 rjmp .+14 ; 0x64fe <MotorRegler+0x1f9a>
64f0: eb 81 ldd r30, Y+3 ; 0x03
64f2: fc 81 ldd r31, Y+4 ; 0x04
64f4: f0 93 8a 04 sts 0x048A, r31
64f8: e0 93 89 04 sts 0x0489, r30
64fc: 0d c0 rjmp .+26 ; 0x6518 <MotorRegler+0x1fb4>
64fe: 80 91 89 04 lds r24, 0x0489
6502: 90 91 8a 04 lds r25, 0x048A
6506: 2b 81 ldd r18, Y+3 ; 0x03
6508: 3c 81 ldd r19, Y+4 ; 0x04
650a: 28 17 cp r18, r24
650c: 39 07 cpc r19, r25
650e: 24 f4 brge .+8 ; 0x6518 <MotorRegler+0x1fb4>
6510: 30 93 8a 04 sts 0x048A, r19
6514: 20 93 89 04 sts 0x0489, r18
6518: 40 91 89 04 lds r20, 0x0489
651c: 50 91 8a 04 lds r21, 0x048A
6520: 5c 83 std Y+4, r21 ; 0x04
6522: 4b 83 std Y+3, r20 ; 0x03
6524: 80 91 a5 07 lds r24, 0x07A5
6528: 68 2e mov r6, r24
652a: 77 24 eor r7, r7
652c: 7c ee ldi r23, 0xEC ; 236
652e: 87 2e mov r8, r23
6530: 7f ef ldi r23, 0xFF ; 255
6532: 97 2e mov r9, r23
6534: 86 0c add r8, r6
6536: 97 1c adc r9, r7
6538: 6b 81 ldd r22, Y+3 ; 0x03
653a: 7c 81 ldd r23, Y+4 ; 0x04
653c: 68 15 cp r22, r8
653e: 79 05 cpc r23, r9
6540: 0c f4 brge .+2 ; 0x6544 <MotorRegler+0x1fe0>
6542: 4b 01 movw r8, r22
6544: 90 92 b6 06 sts 0x06B6, r9
6548: 80 92 b5 06 sts 0x06B5, r8
654c: e0 91 a6 07 lds r30, 0x07A6
6550: f0 91 a7 07 lds r31, 0x07A7
6554: 00 91 a2 04 lds r16, 0x04A2
6558: 10 91 a3 04 lds r17, 0x04A3
655c: 20 91 a4 04 lds r18, 0x04A4
6560: 30 91 a5 04 lds r19, 0x04A5
6564: 74 e1 ldi r23, 0x14 ; 20
6566: 87 16 cp r8, r23
6568: 91 04 cpc r9, r1
656a: 1c f4 brge .+6 ; 0x6572 <MotorRegler+0x200e>
656c: 22 24 eor r2, r2
656e: 33 24 eor r3, r3
6570: 22 c0 rjmp .+68 ; 0x65b6 <MotorRegler+0x2052>
6572: c4 01 movw r24, r8
6574: 62 e0 ldi r22, 0x02 ; 2
6576: 70 e0 ldi r23, 0x00 ; 0
6578: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
657c: 9f 01 movw r18, r30
657e: 20 1b sub r18, r16
6580: 31 0b sbc r19, r17
6582: cb 01 movw r24, r22
6584: 26 17 cp r18, r22
6586: 37 07 cpc r19, r23
6588: 0c f4 brge .+2 ; 0x658c <MotorRegler+0x2028>
658a: c9 01 movw r24, r18
658c: 70 95 com r23
658e: 61 95 neg r22
6590: 7f 4f sbci r23, 0xFF ; 255
6592: 68 17 cp r22, r24
6594: 79 07 cpc r23, r25
6596: 0c f4 brge .+2 ; 0x659a <MotorRegler+0x2036>
6598: bc 01 movw r22, r24
659a: c3 01 movw r24, r6
659c: 88 19 sub r24, r8
659e: 99 09 sbc r25, r9
65a0: 68 17 cp r22, r24
65a2: 79 07 cpc r23, r25
65a4: 0c f4 brge .+2 ; 0x65a8 <MotorRegler+0x2044>
65a6: cb 01 movw r24, r22
65a8: 14 01 movw r2, r8
65aa: 26 18 sub r2, r6
65ac: 37 08 sbc r3, r7
65ae: 28 16 cp r2, r24
65b0: 39 06 cpc r3, r25
65b2: 0c f4 brge .+2 ; 0x65b6 <MotorRegler+0x2052>
65b4: 1c 01 movw r2, r24
65b6: 40 90 46 04 lds r4, 0x0446
65ba: 50 90 47 04 lds r5, 0x0447
65be: 80 91 b6 04 lds r24, 0x04B6
65c2: 90 91 b7 04 lds r25, 0x04B7
65c6: 48 1a sub r4, r24
65c8: 59 0a sbc r5, r25
65ca: 80 91 7f 07 lds r24, 0x077F
65ce: 90 91 80 07 lds r25, 0x0780
65d2: 84 19 sub r24, r4
65d4: 95 09 sbc r25, r5
65d6: 90 93 89 07 sts 0x0789, r25
65da: 80 93 88 07 sts 0x0788, r24
65de: 20 e0 ldi r18, 0x00 ; 0
65e0: 30 e0 ldi r19, 0x00 ; 0
65e2: 40 e0 ldi r20, 0x00 ; 0
65e4: 50 e0 ldi r21, 0x00 ; 0
65e6: 6a a1 ldd r22, Y+34 ; 0x22
65e8: 7b a1 ldd r23, Y+35 ; 0x23
65ea: 8c a1 ldd r24, Y+36 ; 0x24
65ec: 9d a1 ldd r25, Y+37 ; 0x25
65ee: 0e 94 a9 3b call 0x7752 ; 0x7752 <__eqsf2>
65f2: 88 23 and r24, r24
65f4: e1 f1 breq .+120 ; 0x666e <MotorRegler+0x210a>
65f6: 60 91 aa 04 lds r22, 0x04AA
65fa: 70 91 ab 04 lds r23, 0x04AB
65fe: 80 91 ac 04 lds r24, 0x04AC
6602: 90 91 ad 04 lds r25, 0x04AD
6606: 0e 94 9f 3b call 0x773e ; 0x773e <__floatsisf>
660a: 5b 01 movw r10, r22
660c: 6c 01 movw r12, r24
660e: 60 91 f9 03 lds r22, 0x03F9
6612: 70 91 fa 03 lds r23, 0x03FA
6616: 80 91 fb 03 lds r24, 0x03FB
661a: 90 91 fc 03 lds r25, 0x03FC
661e: 0e 94 9f 3b call 0x773e ; 0x773e <__floatsisf>
6622: 2a a1 ldd r18, Y+34 ; 0x22
6624: 3b a1 ldd r19, Y+35 ; 0x23
6626: 4c a1 ldd r20, Y+36 ; 0x24
6628: 5d a1 ldd r21, Y+37 ; 0x25
662a: 0e 94 19 3c call 0x7832 ; 0x7832 <__mulsf3>
662e: 7b 01 movw r14, r22
6630: 8c 01 movw r16, r24
6632: b2 01 movw r22, r4
6634: 88 27 eor r24, r24
6636: 77 fd sbrc r23, 7
6638: 80 95 com r24
663a: 98 2f mov r25, r24
663c: 0e 94 9f 3b call 0x773e ; 0x773e <__floatsisf>
6640: 9b 01 movw r18, r22
6642: ac 01 movw r20, r24
6644: c8 01 movw r24, r16
6646: b7 01 movw r22, r14
6648: 0e 94 f9 3a call 0x75f2 ; 0x75f2 <__subsf3>
664c: 9b 01 movw r18, r22
664e: ac 01 movw r20, r24
6650: c6 01 movw r24, r12
6652: b5 01 movw r22, r10
6654: 0e 94 fa 3a call 0x75f4 ; 0x75f4 <__addsf3>
6658: 0e 94 82 3b call 0x7704 ; 0x7704 <__fixsfsi>
665c: 60 93 aa 04 sts 0x04AA, r22
6660: 70 93 ab 04 sts 0x04AB, r23
6664: 80 93 ac 04 sts 0x04AC, r24
6668: 90 93 ad 04 sts 0x04AD, r25
666c: 1c c0 rjmp .+56 ; 0x66a6 <MotorRegler+0x2142>
666e: 20 91 88 07 lds r18, 0x0788
6672: 30 91 89 07 lds r19, 0x0789
6676: 44 27 eor r20, r20
6678: 37 fd sbrc r19, 7
667a: 40 95 com r20
667c: 54 2f mov r21, r20
667e: 80 91 aa 04 lds r24, 0x04AA
6682: 90 91 ab 04 lds r25, 0x04AB
6686: a0 91 ac 04 lds r26, 0x04AC
668a: b0 91 ad 04 lds r27, 0x04AD
668e: 82 0f add r24, r18
6690: 93 1f adc r25, r19
6692: a4 1f adc r26, r20
6694: b5 1f adc r27, r21
6696: 80 93 aa 04 sts 0x04AA, r24
669a: 90 93 ab 04 sts 0x04AB, r25
669e: a0 93 ac 04 sts 0x04AC, r26
66a2: b0 93 ad 04 sts 0x04AD, r27
66a6: 80 91 aa 04 lds r24, 0x04AA
66aa: 90 91 ab 04 lds r25, 0x04AB
66ae: a0 91 ac 04 lds r26, 0x04AC
66b2: b0 91 ad 04 lds r27, 0x04AD
66b6: 81 38 cpi r24, 0x81 ; 129
66b8: ee e3 ldi r30, 0x3E ; 62
66ba: 9e 07 cpc r25, r30
66bc: e0 e0 ldi r30, 0x00 ; 0
66be: ae 07 cpc r26, r30
66c0: e0 e0 ldi r30, 0x00 ; 0
66c2: be 07 cpc r27, r30
66c4: 2c f0 brlt .+10 ; 0x66d0 <MotorRegler+0x216c>
66c6: 80 e8 ldi r24, 0x80 ; 128
66c8: 9e e3 ldi r25, 0x3E ; 62
66ca: a0 e0 ldi r26, 0x00 ; 0
66cc: b0 e0 ldi r27, 0x00 ; 0
66ce: 09 c0 rjmp .+18 ; 0x66e2 <MotorRegler+0x217e>
66d0: 80 58 subi r24, 0x80 ; 128
66d2: 91 4c sbci r25, 0xC1 ; 193
66d4: af 4f sbci r26, 0xFF ; 255
66d6: bf 4f sbci r27, 0xFF ; 255
66d8: 64 f4 brge .+24 ; 0x66f2 <MotorRegler+0x218e>
66da: 80 e8 ldi r24, 0x80 ; 128
66dc: 91 ec ldi r25, 0xC1 ; 193
66de: af ef ldi r26, 0xFF ; 255
66e0: bf ef ldi r27, 0xFF ; 255
66e2: 80 93 aa 04 sts 0x04AA, r24
66e6: 90 93 ab 04 sts 0x04AB, r25
66ea: a0 93 ac 04 sts 0x04AC, r26
66ee: b0 93 ad 04 sts 0x04AD, r27
66f2: 60 91 88 07 lds r22, 0x0788
66f6: 70 91 89 07 lds r23, 0x0789
66fa: 20 91 8f 03 lds r18, 0x038F
66fe: 30 91 90 03 lds r19, 0x0390
6702: 40 91 91 03 lds r20, 0x0391
6706: 50 91 92 03 lds r21, 0x0392
670a: 2d 83 std Y+5, r18 ; 0x05
670c: 3e 83 std Y+6, r19 ; 0x06
670e: 4f 83 std Y+7, r20 ; 0x07
6710: 58 87 std Y+8, r21 ; 0x08
6712: 88 27 eor r24, r24
6714: 77 fd sbrc r23, 7
6716: 80 95 com r24
6718: 98 2f mov r25, r24
671a: 0e 94 9f 3b call 0x773e ; 0x773e <__floatsisf>
671e: 7b 01 movw r14, r22
6720: 8c 01 movw r16, r24
6722: 60 91 aa 04 lds r22, 0x04AA
6726: 70 91 ab 04 lds r23, 0x04AB
672a: 80 91 ac 04 lds r24, 0x04AC
672e: 90 91 ad 04 lds r25, 0x04AD
6732: 0e 94 9f 3b call 0x773e ; 0x773e <__floatsisf>
6736: 9b 01 movw r18, r22
6738: ac 01 movw r20, r24
673a: 6d 81 ldd r22, Y+5 ; 0x05
673c: 7e 81 ldd r23, Y+6 ; 0x06
673e: 8f 81 ldd r24, Y+7 ; 0x07
6740: 98 85 ldd r25, Y+8 ; 0x08
6742: 0e 94 19 3c call 0x7832 ; 0x7832 <__mulsf3>
6746: 9b 01 movw r18, r22
6748: ac 01 movw r20, r24
674a: c8 01 movw r24, r16
674c: b7 01 movw r22, r14
674e: 0e 94 fa 3a call 0x75f4 ; 0x75f4 <__addsf3>
6752: 0e 94 82 3b call 0x7704 ; 0x7704 <__fixsfsi>
6756: 5b 01 movw r10, r22
6758: 6c 01 movw r12, r24
675a: 7d af std Y+61, r23 ; 0x3d
675c: 6c af std Y+60, r22 ; 0x3c
675e: 80 91 9e 03 lds r24, 0x039E
6762: e8 2e mov r14, r24
6764: ff 24 eor r15, r15
6766: 00 27 eor r16, r16
6768: 11 27 eor r17, r17
676a: c1 01 movw r24, r2
676c: 37 fe sbrs r3, 7
676e: 04 c0 rjmp .+8 ; 0x6778 <MotorRegler+0x2214>
6770: 88 27 eor r24, r24
6772: 99 27 eor r25, r25
6774: 82 19 sub r24, r2
6776: 93 09 sbc r25, r3
6778: 62 e0 ldi r22, 0x02 ; 2
677a: 70 e0 ldi r23, 0x00 ; 0
677c: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
6780: 9b 01 movw r18, r22
6782: 28 0d add r18, r8
6784: 39 1d adc r19, r9
6786: 44 27 eor r20, r20
6788: 37 fd sbrc r19, 7
678a: 40 95 com r20
678c: 54 2f mov r21, r20
678e: c8 01 movw r24, r16
6790: b7 01 movw r22, r14
6792: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
6796: 20 e4 ldi r18, 0x40 ; 64
6798: 30 e0 ldi r19, 0x00 ; 0
679a: 40 e0 ldi r20, 0x00 ; 0
679c: 50 e0 ldi r21, 0x00 ; 0
679e: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
67a2: 29 01 movw r4, r18
67a4: 4c ad ldd r20, Y+60 ; 0x3c
67a6: 5d ad ldd r21, Y+61 ; 0x3d
67a8: 44 15 cp r20, r4
67aa: 55 05 cpc r21, r5
67ac: 0c f4 brge .+2 ; 0x67b0 <MotorRegler+0x224c>
67ae: 95 01 movw r18, r10
67b0: aa 24 eor r10, r10
67b2: bb 24 eor r11, r11
67b4: a4 18 sub r10, r4
67b6: b5 08 sbc r11, r5
67b8: a5 01 movw r20, r10
67ba: a2 16 cp r10, r18
67bc: b3 06 cpc r11, r19
67be: 0c f4 brge .+2 ; 0x67c2 <MotorRegler+0x225e>
67c0: a9 01 movw r20, r18
67c2: c4 01 movw r24, r8
67c4: 82 0d add r24, r2
67c6: 93 1d adc r25, r3
67c8: 84 0f add r24, r20
67ca: 95 1f adc r25, r21
67cc: 97 ff sbrs r25, 7
67ce: 03 c0 rjmp .+6 ; 0x67d6 <MotorRegler+0x2272>
67d0: 20 e0 ldi r18, 0x00 ; 0
67d2: 30 e0 ldi r19, 0x00 ; 0
67d4: 05 c0 rjmp .+10 ; 0x67e0 <MotorRegler+0x227c>
67d6: 93 01 movw r18, r6
67d8: 86 15 cp r24, r6
67da: 97 05 cpc r25, r7
67dc: 0c f4 brge .+2 ; 0x67e0 <MotorRegler+0x227c>
67de: 9c 01 movw r18, r24
67e0: 80 91 81 07 lds r24, 0x0781
67e4: c8 2e mov r12, r24
67e6: dd 24 eor r13, r13
67e8: c6 01 movw r24, r12
67ea: c2 16 cp r12, r18
67ec: d3 06 cpc r13, r19
67ee: 0c f4 brge .+2 ; 0x67f2 <MotorRegler+0x228e>
67f0: c9 01 movw r24, r18
67f2: 80 93 79 07 sts 0x0779, r24
67f6: c4 01 movw r24, r8
67f8: 84 1b sub r24, r20
67fa: 95 0b sbc r25, r21
67fc: 82 0d add r24, r2
67fe: 93 1d adc r25, r3
6800: 97 ff sbrs r25, 7
6802: 03 c0 rjmp .+6 ; 0x680a <MotorRegler+0x22a6>
6804: 20 e0 ldi r18, 0x00 ; 0
6806: 30 e0 ldi r19, 0x00 ; 0
6808: 05 c0 rjmp .+10 ; 0x6814 <MotorRegler+0x22b0>
680a: 93 01 movw r18, r6
680c: 86 15 cp r24, r6
680e: 97 05 cpc r25, r7
6810: 0c f4 brge .+2 ; 0x6814 <MotorRegler+0x22b0>
6812: 9c 01 movw r18, r24
6814: c6 01 movw r24, r12
6816: c2 16 cp r12, r18
6818: d3 06 cpc r13, r19
681a: 0c f4 brge .+2 ; 0x681e <MotorRegler+0x22ba>
681c: c9 01 movw r24, r18
681e: 80 93 7e 07 sts 0x077E, r24
6822: 80 91 b8 04 lds r24, 0x04B8
6826: 90 91 b9 04 lds r25, 0x04B9
682a: 6c a5 ldd r22, Y+44 ; 0x2c
682c: 7d a5 ldd r23, Y+45 ; 0x2d
682e: 68 1b sub r22, r24
6830: 79 0b sbc r23, r25
6832: 7d af std Y+61, r23 ; 0x3d
6834: 6c af std Y+60, r22 ; 0x3c
6836: 80 91 77 07 lds r24, 0x0777
683a: 90 91 78 07 lds r25, 0x0778
683e: 86 1b sub r24, r22
6840: 97 0b sbc r25, r23
6842: 90 93 76 07 sts 0x0776, r25
6846: 80 93 75 07 sts 0x0775, r24
684a: 20 e0 ldi r18, 0x00 ; 0
684c: 30 e0 ldi r19, 0x00 ; 0
684e: 40 e0 ldi r20, 0x00 ; 0
6850: 50 e0 ldi r21, 0x00 ; 0
6852: 6a a1 ldd r22, Y+34 ; 0x22
6854: 7b a1 ldd r23, Y+35 ; 0x23
6856: 8c a1 ldd r24, Y+36 ; 0x24
6858: 9d a1 ldd r25, Y+37 ; 0x25
685a: 0e 94 a9 3b call 0x7752 ; 0x7752 <__eqsf2>
685e: 88 23 and r24, r24
6860: 71 f1 breq .+92 ; 0x68be <MotorRegler+0x235a>
6862: 60 91 a6 04 lds r22, 0x04A6
6866: 70 91 a7 04 lds r23, 0x04A7
686a: 80 91 a8 04 lds r24, 0x04A8
686e: 90 91 a9 04 lds r25, 0x04A9
6872: 0e 94 9f 3b call 0x773e ; 0x773e <__floatsisf>
6876: 7b 01 movw r14, r22
6878: 8c 01 movw r16, r24
687a: ac ad ldd r26, Y+60 ; 0x3c
687c: bd ad ldd r27, Y+61 ; 0x3d
687e: bd 01 movw r22, r26
6880: 88 27 eor r24, r24
6882: 77 fd sbrc r23, 7
6884: 80 95 com r24
6886: 98 2f mov r25, r24
6888: 0e 94 9f 3b call 0x773e ; 0x773e <__floatsisf>
688c: 9b 01 movw r18, r22
688e: ac 01 movw r20, r24
6890: 69 85 ldd r22, Y+9 ; 0x09
6892: 7a 85 ldd r23, Y+10 ; 0x0a
6894: 8b 85 ldd r24, Y+11 ; 0x0b
6896: 9c 85 ldd r25, Y+12 ; 0x0c
6898: 0e 94 f9 3a call 0x75f2 ; 0x75f2 <__subsf3>
689c: 9b 01 movw r18, r22
689e: ac 01 movw r20, r24
68a0: c8 01 movw r24, r16
68a2: b7 01 movw r22, r14
68a4: 0e 94 fa 3a call 0x75f4 ; 0x75f4 <__addsf3>
68a8: 0e 94 82 3b call 0x7704 ; 0x7704 <__fixsfsi>
68ac: 60 93 a6 04 sts 0x04A6, r22
68b0: 70 93 a7 04 sts 0x04A7, r23
68b4: 80 93 a8 04 sts 0x04A8, r24
68b8: 90 93 a9 04 sts 0x04A9, r25
68bc: 1c c0 rjmp .+56 ; 0x68f6 <MotorRegler+0x2392>
68be: 20 91 75 07 lds r18, 0x0775
68c2: 30 91 76 07 lds r19, 0x0776
68c6: 44 27 eor r20, r20
68c8: 37 fd sbrc r19, 7
68ca: 40 95 com r20
68cc: 54 2f mov r21, r20
68ce: 80 91 a6 04 lds r24, 0x04A6
68d2: 90 91 a7 04 lds r25, 0x04A7
68d6: a0 91 a8 04 lds r26, 0x04A8
68da: b0 91 a9 04 lds r27, 0x04A9
68de: 82 0f add r24, r18
68e0: 93 1f adc r25, r19
68e2: a4 1f adc r26, r20
68e4: b5 1f adc r27, r21
68e6: 80 93 a6 04 sts 0x04A6, r24
68ea: 90 93 a7 04 sts 0x04A7, r25
68ee: a0 93 a8 04 sts 0x04A8, r26
68f2: b0 93 a9 04 sts 0x04A9, r27
68f6: 80 91 a6 04 lds r24, 0x04A6
68fa: 90 91 a7 04 lds r25, 0x04A7
68fe: a0 91 a8 04 lds r26, 0x04A8
6902: b0 91 a9 04 lds r27, 0x04A9
6906: 81 38 cpi r24, 0x81 ; 129
6908: ee e3 ldi r30, 0x3E ; 62
690a: 9e 07 cpc r25, r30
690c: e0 e0 ldi r30, 0x00 ; 0
690e: ae 07 cpc r26, r30
6910: e0 e0 ldi r30, 0x00 ; 0
6912: be 07 cpc r27, r30
6914: 2c f0 brlt .+10 ; 0x6920 <MotorRegler+0x23bc>
6916: 80 e8 ldi r24, 0x80 ; 128
6918: 9e e3 ldi r25, 0x3E ; 62
691a: a0 e0 ldi r26, 0x00 ; 0
691c: b0 e0 ldi r27, 0x00 ; 0
691e: 09 c0 rjmp .+18 ; 0x6932 <MotorRegler+0x23ce>
6920: 80 58 subi r24, 0x80 ; 128
6922: 91 4c sbci r25, 0xC1 ; 193
6924: af 4f sbci r26, 0xFF ; 255
6926: bf 4f sbci r27, 0xFF ; 255
6928: 64 f4 brge .+24 ; 0x6942 <MotorRegler+0x23de>
692a: 80 e8 ldi r24, 0x80 ; 128
692c: 91 ec ldi r25, 0xC1 ; 193
692e: af ef ldi r26, 0xFF ; 255
6930: bf ef ldi r27, 0xFF ; 255
6932: 80 93 a6 04 sts 0x04A6, r24
6936: 90 93 a7 04 sts 0x04A7, r25
693a: a0 93 a8 04 sts 0x04A8, r26
693e: b0 93 a9 04 sts 0x04A9, r27
6942: 60 91 75 07 lds r22, 0x0775
6946: 70 91 76 07 lds r23, 0x0776
694a: 88 27 eor r24, r24
694c: 77 fd sbrc r23, 7
694e: 80 95 com r24
6950: 98 2f mov r25, r24
6952: 0e 94 9f 3b call 0x773e ; 0x773e <__floatsisf>
6956: 7b 01 movw r14, r22
6958: 8c 01 movw r16, r24
695a: 60 91 a6 04 lds r22, 0x04A6
695e: 70 91 a7 04 lds r23, 0x04A7
6962: 80 91 a8 04 lds r24, 0x04A8
6966: 90 91 a9 04 lds r25, 0x04A9
696a: 0e 94 9f 3b call 0x773e ; 0x773e <__floatsisf>
696e: 9b 01 movw r18, r22
6970: ac 01 movw r20, r24
6972: 6d 81 ldd r22, Y+5 ; 0x05
6974: 7e 81 ldd r23, Y+6 ; 0x06
6976: 8f 81 ldd r24, Y+7 ; 0x07
6978: 98 85 ldd r25, Y+8 ; 0x08
697a: 0e 94 19 3c call 0x7832 ; 0x7832 <__mulsf3>
697e: 9b 01 movw r18, r22
6980: ac 01 movw r20, r24
6982: c8 01 movw r24, r16
6984: b7 01 movw r22, r14
6986: 0e 94 fa 3a call 0x75f4 ; 0x75f4 <__addsf3>
698a: 0e 94 82 3b call 0x7704 ; 0x7704 <__fixsfsi>
698e: 92 01 movw r18, r4
6990: 64 15 cp r22, r4
6992: 75 05 cpc r23, r5
6994: 0c f4 brge .+2 ; 0x6998 <MotorRegler+0x2434>
6996: 9b 01 movw r18, r22
6998: c5 01 movw r24, r10
699a: a2 16 cp r10, r18
699c: b3 06 cpc r11, r19
699e: 0c f4 brge .+2 ; 0x69a2 <MotorRegler+0x243e>
69a0: c9 01 movw r24, r18
69a2: a4 01 movw r20, r8
69a4: 48 0f add r20, r24
69a6: 59 1f adc r21, r25
69a8: 42 19 sub r20, r2
69aa: 53 09 sbc r21, r3
69ac: 57 ff sbrs r21, 7
69ae: 03 c0 rjmp .+6 ; 0x69b6 <MotorRegler+0x2452>
69b0: 60 e0 ldi r22, 0x00 ; 0
69b2: 70 e0 ldi r23, 0x00 ; 0
69b4: 05 c0 rjmp .+10 ; 0x69c0 <MotorRegler+0x245c>
69b6: b3 01 movw r22, r6
69b8: 46 15 cp r20, r6
69ba: 57 05 cpc r21, r7
69bc: 0c f4 brge .+2 ; 0x69c0 <MotorRegler+0x245c>
69be: ba 01 movw r22, r20
69c0: a6 01 movw r20, r12
69c2: c6 16 cp r12, r22
69c4: d7 06 cpc r13, r23
69c6: 0c f4 brge .+2 ; 0x69ca <MotorRegler+0x2466>
69c8: ab 01 movw r20, r22
69ca: 40 93 a0 07 sts 0x07A0, r20
69ce: 94 01 movw r18, r8
69d0: 28 1b sub r18, r24
69d2: 39 0b sbc r19, r25
69d4: 22 19 sub r18, r2
69d6: 33 09 sbc r19, r3
69d8: 37 ff sbrs r19, 7
69da: 03 c0 rjmp .+6 ; 0x69e2 <MotorRegler+0x247e>
69dc: 40 e0 ldi r20, 0x00 ; 0
69de: 50 e0 ldi r21, 0x00 ; 0
69e0: 05 c0 rjmp .+10 ; 0x69ec <MotorRegler+0x2488>
69e2: a3 01 movw r20, r6
69e4: 26 15 cp r18, r6
69e6: 37 05 cpc r19, r7
69e8: 0c f4 brge .+2 ; 0x69ec <MotorRegler+0x2488>
69ea: a9 01 movw r20, r18
69ec: c6 01 movw r24, r12
69ee: c4 16 cp r12, r20
69f0: d5 06 cpc r13, r21
69f2: 0c f0 brlt .+2 ; 0x69f6 <MotorRegler+0x2492>
69f4: d5 c0 rjmp .+426 ; 0x6ba0 <MotorRegler+0x263c>
69f6: ca 01 movw r24, r20
69f8: d3 c0 rjmp .+422 ; 0x6ba0 <MotorRegler+0x263c>
69fa: 20 91 67 04 lds r18, 0x0467
69fe: 30 91 68 04 lds r19, 0x0468
6a02: c9 01 movw r24, r18
6a04: 63 e0 ldi r22, 0x03 ; 3
6a06: 88 0f add r24, r24
6a08: 99 1f adc r25, r25
6a0a: 6a 95 dec r22
6a0c: e1 f7 brne .-8 ; 0x6a06 <MotorRegler+0x24a2>
6a0e: 82 1b sub r24, r18
6a10: 93 0b sbc r25, r19
6a12: 68 e0 ldi r22, 0x08 ; 8
6a14: 70 e0 ldi r23, 0x00 ; 0
6a16: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
6a1a: 7d af std Y+61, r23 ; 0x3d
6a1c: 6c af std Y+60, r22 ; 0x3c
6a1e: 70 93 68 04 sts 0x0468, r23
6a22: 60 93 67 04 sts 0x0467, r22
6a26: 40 e0 ldi r20, 0x00 ; 0
6a28: 50 e0 ldi r21, 0x00 ; 0
6a2a: 0c 94 6a 26 jmp 0x4cd4 ; 0x4cd4 <MotorRegler+0x770>
6a2e: 80 91 57 04 lds r24, 0x0457
6a32: 88 23 and r24, r24
6a34: 11 f4 brne .+4 ; 0x6a3a <MotorRegler+0x24d6>
6a36: 0c 94 8d 28 jmp 0x511a ; 0x511a <MotorRegler+0xbb6>
6a3a: 0c 94 83 28 jmp 0x5106 ; 0x5106 <MotorRegler+0xba2>
6a3e: e0 90 43 07 lds r14, 0x0743
6a42: ff 24 eor r15, r15
6a44: 00 27 eor r16, r16
6a46: 11 27 eor r17, r17
6a48: 68 ad ldd r22, Y+56 ; 0x38
6a4a: 79 ad ldd r23, Y+57 ; 0x39
6a4c: 8a ad ldd r24, Y+58 ; 0x3a
6a4e: 9b ad ldd r25, Y+59 ; 0x3b
6a50: a8 01 movw r20, r16
6a52: 97 01 movw r18, r14
6a54: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
6a58: 59 01 movw r10, r18
6a5a: 6a 01 movw r12, r20
6a5c: 80 91 a3 07 lds r24, 0x07A3
6a60: 90 91 a4 07 lds r25, 0x07A4
6a64: aa 27 eor r26, r26
6a66: 97 fd sbrc r25, 7
6a68: a0 95 com r26
6a6a: ba 2f mov r27, r26
6a6c: a8 1a sub r10, r24
6a6e: b9 0a sbc r11, r25
6a70: ca 0a sbc r12, r26
6a72: db 0a sbc r13, r27
6a74: 6c a9 ldd r22, Y+52 ; 0x34
6a76: 7d a9 ldd r23, Y+53 ; 0x35
6a78: 8e a9 ldd r24, Y+54 ; 0x36
6a7a: 9f a9 ldd r25, Y+55 ; 0x37
6a7c: a8 01 movw r20, r16
6a7e: 97 01 movw r18, r14
6a80: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
6a84: 79 01 movw r14, r18
6a86: 8a 01 movw r16, r20
6a88: 80 91 ad 07 lds r24, 0x07AD
6a8c: 90 91 ae 07 lds r25, 0x07AE
6a90: aa 27 eor r26, r26
6a92: 97 fd sbrc r25, 7
6a94: a0 95 com r26
6a96: ba 2f mov r27, r26
6a98: e8 1a sub r14, r24
6a9a: f9 0a sbc r15, r25
6a9c: 0a 0b sbc r16, r26
6a9e: 1b 0b sbc r17, r27
6aa0: c6 01 movw r24, r12
6aa2: b5 01 movw r22, r10
6aa4: 20 e1 ldi r18, 0x10 ; 16
6aa6: 30 e0 ldi r19, 0x00 ; 0
6aa8: 40 e0 ldi r20, 0x00 ; 0
6aaa: 50 e0 ldi r21, 0x00 ; 0
6aac: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
6ab0: 19 01 movw r2, r18
6ab2: 2a 01 movw r4, r20
6ab4: 59 01 movw r10, r18
6ab6: 6a 01 movw r12, r20
6ab8: c8 01 movw r24, r16
6aba: b7 01 movw r22, r14
6abc: 20 e1 ldi r18, 0x10 ; 16
6abe: 30 e0 ldi r19, 0x00 ; 0
6ac0: 40 e0 ldi r20, 0x00 ; 0
6ac2: 50 e0 ldi r21, 0x00 ; 0
6ac4: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
6ac8: 39 01 movw r6, r18
6aca: 4a 01 movw r8, r20
6acc: 79 01 movw r14, r18
6ace: 8a 01 movw r16, r20
6ad0: 80 91 6d 04 lds r24, 0x046D
6ad4: 90 91 6e 04 lds r25, 0x046E
6ad8: 40 97 sbiw r24, 0x10 ; 16
6ada: 14 f0 brlt .+4 ; 0x6ae0 <MotorRegler+0x257c>
6adc: 0c 94 52 29 jmp 0x52a4 ; 0x52a4 <MotorRegler+0xd40>
6ae0: 0c 94 4c 29 jmp 0x5298 ; 0x5298 <MotorRegler+0xd34>
6ae4: 10 92 09 04 sts 0x0409, r1
6ae8: 10 92 0a 04 sts 0x040A, r1
6aec: 10 92 0b 04 sts 0x040B, r1
6af0: 10 92 0c 04 sts 0x040C, r1
6af4: 10 92 0d 04 sts 0x040D, r1
6af8: 10 92 0e 04 sts 0x040E, r1
6afc: 10 92 0f 04 sts 0x040F, r1
6b00: 10 92 10 04 sts 0x0410, r1
6b04: 10 92 8a 07 sts 0x078A, r1
6b08: 10 92 8b 07 sts 0x078B, r1
6b0c: 10 92 8c 07 sts 0x078C, r1
6b10: 10 92 8d 07 sts 0x078D, r1
6b14: 10 92 8e 07 sts 0x078E, r1
6b18: 10 92 8f 07 sts 0x078F, r1
6b1c: 10 92 90 07 sts 0x0790, r1
6b20: 10 92 91 07 sts 0x0791, r1
6b24: 10 92 82 07 sts 0x0782, r1
6b28: 10 92 83 07 sts 0x0783, r1
6b2c: 10 92 84 07 sts 0x0784, r1
6b30: 10 92 85 07 sts 0x0785, r1
6b34: 10 92 7a 07 sts 0x077A, r1
6b38: 10 92 7b 07 sts 0x077B, r1
6b3c: 10 92 7c 07 sts 0x077C, r1
6b40: 10 92 7d 07 sts 0x077D, r1
6b44: 80 91 19 04 lds r24, 0x0419
6b48: 90 91 1a 04 lds r25, 0x041A
6b4c: a0 91 1b 04 lds r26, 0x041B
6b50: b0 91 1c 04 lds r27, 0x041C
6b54: 80 93 1d 04 sts 0x041D, r24
6b58: 90 93 1e 04 sts 0x041E, r25
6b5c: a0 93 1f 04 sts 0x041F, r26
6b60: b0 93 20 04 sts 0x0420, r27
6b64: 80 91 21 04 lds r24, 0x0421
6b68: 90 91 22 04 lds r25, 0x0422
6b6c: a0 91 23 04 lds r26, 0x0423
6b70: b0 91 24 04 lds r27, 0x0424
6b74: 80 93 25 04 sts 0x0425, r24
6b78: 90 93 26 04 sts 0x0426, r25
6b7c: a0 93 27 04 sts 0x0427, r26
6b80: b0 93 28 04 sts 0x0428, r27
6b84: 10 92 da 03 sts 0x03DA, r1
6b88: 10 92 d9 03 sts 0x03D9, r1
6b8c: 10 92 56 04 sts 0x0456, r1
6b90: 10 92 55 04 sts 0x0455, r1
6b94: 10 92 54 04 sts 0x0454, r1
6b98: 10 92 53 04 sts 0x0453, r1
6b9c: 0c 94 ed 29 jmp 0x53da ; 0x53da <MotorRegler+0xe76>
6ba0: 80 93 96 07 sts 0x0796, r24
6ba4: e2 e1 ldi r30, 0x12 ; 18
6ba6: c3 5c subi r28, 0xC3 ; 195
6ba8: 0c 94 0c 3d jmp 0x7a18 ; 0x7a18 <__epilogue_restores__>
 
00006bac <DefaultKonstanten3>:
6bac: 81 e0 ldi r24, 0x01 ; 1
6bae: 80 93 2f 07 sts 0x072F, r24
6bb2: 22 e0 ldi r18, 0x02 ; 2
6bb4: 20 93 30 07 sts 0x0730, r18
6bb8: 83 e0 ldi r24, 0x03 ; 3
6bba: 80 93 31 07 sts 0x0731, r24
6bbe: 54 e0 ldi r21, 0x04 ; 4
6bc0: 50 93 32 07 sts 0x0732, r21
6bc4: 45 e0 ldi r20, 0x05 ; 5
6bc6: 40 93 33 07 sts 0x0733, r20
6bca: 36 e0 ldi r19, 0x06 ; 6
6bcc: 30 93 34 07 sts 0x0734, r19
6bd0: 87 e0 ldi r24, 0x07 ; 7
6bd2: 80 93 35 07 sts 0x0735, r24
6bd6: 88 e0 ldi r24, 0x08 ; 8
6bd8: 80 93 36 07 sts 0x0736, r24
6bdc: 80 ec ldi r24, 0xC0 ; 192
6bde: 80 93 37 07 sts 0x0737, r24
6be2: 9e e1 ldi r25, 0x1E ; 30
6be4: 90 93 38 07 sts 0x0738, r25
6be8: 8b ef ldi r24, 0xFB ; 251
6bea: 80 93 3a 07 sts 0x073A, r24
6bee: 8a e0 ldi r24, 0x0A ; 10
6bf0: 80 93 3b 07 sts 0x073B, r24
6bf4: 90 93 39 07 sts 0x0739, r25
6bf8: 90 93 3d 07 sts 0x073D, r25
6bfc: 20 93 3c 07 sts 0x073C, r18
6c00: 20 93 3e 07 sts 0x073E, r18
6c04: 50 93 3f 07 sts 0x073F, r21
6c08: 30 93 40 07 sts 0x0740, r19
6c0c: 8f e0 ldi r24, 0x0F ; 15
6c0e: 80 93 41 07 sts 0x0741, r24
6c12: 8a ef ldi r24, 0xFA ; 250
6c14: 80 93 42 07 sts 0x0742, r24
6c18: 90 93 43 07 sts 0x0743, r25
6c1c: 80 e8 ldi r24, 0x80 ; 128
6c1e: 80 93 44 07 sts 0x0744, r24
6c22: 24 e6 ldi r18, 0x64 ; 100
6c24: 20 93 45 07 sts 0x0745, r18
6c28: 8c e8 ldi r24, 0x8C ; 140
6c2a: 80 93 46 07 sts 0x0746, r24
6c2e: 8e e5 ldi r24, 0x5E ; 94
6c30: 80 93 47 07 sts 0x0747, r24
6c34: 83 e2 ldi r24, 0x23 ; 35
6c36: 80 93 48 07 sts 0x0748, r24
6c3a: 84 e1 ldi r24, 0x14 ; 20
6c3c: 80 93 49 07 sts 0x0749, r24
6c40: 10 92 4a 07 sts 0x074A, r1
6c44: 80 e1 ldi r24, 0x10 ; 16
6c46: 80 93 4b 07 sts 0x074B, r24
6c4a: 80 e5 ldi r24, 0x50 ; 80
6c4c: 80 93 4c 07 sts 0x074C, r24
6c50: 10 92 4d 07 sts 0x074D, r1
6c54: 10 92 4e 07 sts 0x074E, r1
6c58: 10 92 4f 07 sts 0x074F, r1
6c5c: 10 92 5f 07 sts 0x075F, r1
6c60: 10 92 60 07 sts 0x0760, r1
6c64: 10 92 61 07 sts 0x0761, r1
6c68: 10 92 62 07 sts 0x0762, r1
6c6c: 20 93 50 07 sts 0x0750, r18
6c70: 88 e2 ldi r24, 0x28 ; 40
6c72: 80 93 51 07 sts 0x0751, r24
6c76: 10 92 64 07 sts 0x0764, r1
6c7a: 92 e3 ldi r25, 0x32 ; 50
6c7c: 90 93 52 07 sts 0x0752, r25
6c80: 86 e9 ldi r24, 0x96 ; 150
6c82: 80 93 53 07 sts 0x0753, r24
6c86: 40 93 54 07 sts 0x0754, r20
6c8a: 90 93 55 07 sts 0x0755, r25
6c8e: 8a e5 ldi r24, 0x5A ; 90
6c90: 80 93 56 07 sts 0x0756, r24
6c94: 90 93 57 07 sts 0x0757, r25
6c98: 10 92 63 07 sts 0x0763, r1
6c9c: 80 93 58 07 sts 0x0758, r24
6ca0: 40 93 59 07 sts 0x0759, r20
6ca4: 20 93 5a 07 sts 0x075A, r18
6ca8: 20 93 5b 07 sts 0x075B, r18
6cac: 80 e2 ldi r24, 0x20 ; 32
6cae: 80 93 5c 07 sts 0x075C, r24
6cb2: 50 93 5d 07 sts 0x075D, r21
6cb6: 90 93 5e 07 sts 0x075E, r25
6cba: a9 e6 ldi r26, 0x69 ; 105
6cbc: b7 e0 ldi r27, 0x07 ; 7
6cbe: ec e6 ldi r30, 0x6C ; 108
6cc0: f3 e0 ldi r31, 0x03 ; 3
6cc2: 8c e0 ldi r24, 0x0C ; 12
6cc4: 01 90 ld r0, Z+
6cc6: 0d 92 st X+, r0
6cc8: 81 50 subi r24, 0x01 ; 1
6cca: e1 f7 brne .-8 ; 0x6cc4 <DefaultKonstanten3+0x118>
6ccc: 08 95 ret
 
00006cce <DefaultKonstanten2>:
6cce: 81 e0 ldi r24, 0x01 ; 1
6cd0: 80 93 2f 07 sts 0x072F, r24
6cd4: 82 e0 ldi r24, 0x02 ; 2
6cd6: 80 93 30 07 sts 0x0730, r24
6cda: 23 e0 ldi r18, 0x03 ; 3
6cdc: 20 93 31 07 sts 0x0731, r18
6ce0: 54 e0 ldi r21, 0x04 ; 4
6ce2: 50 93 32 07 sts 0x0732, r21
6ce6: 45 e0 ldi r20, 0x05 ; 5
6ce8: 40 93 33 07 sts 0x0733, r20
6cec: 36 e0 ldi r19, 0x06 ; 6
6cee: 30 93 34 07 sts 0x0734, r19
6cf2: 87 e0 ldi r24, 0x07 ; 7
6cf4: 80 93 35 07 sts 0x0735, r24
6cf8: 88 e0 ldi r24, 0x08 ; 8
6cfa: 80 93 36 07 sts 0x0736, r24
6cfe: 80 e4 ldi r24, 0x40 ; 64
6d00: 80 93 37 07 sts 0x0737, r24
6d04: 9e e1 ldi r25, 0x1E ; 30
6d06: 90 93 38 07 sts 0x0738, r25
6d0a: 8b ef ldi r24, 0xFB ; 251
6d0c: 80 93 3a 07 sts 0x073A, r24
6d10: 8a e0 ldi r24, 0x0A ; 10
6d12: 80 93 3b 07 sts 0x073B, r24
6d16: 90 93 39 07 sts 0x0739, r25
6d1a: 90 93 3d 07 sts 0x073D, r25
6d1e: 20 93 3c 07 sts 0x073C, r18
6d22: 20 93 3e 07 sts 0x073E, r18
6d26: 50 93 3f 07 sts 0x073F, r21
6d2a: 30 93 40 07 sts 0x0740, r19
6d2e: 8f e0 ldi r24, 0x0F ; 15
6d30: 80 93 41 07 sts 0x0741, r24
6d34: 8a ef ldi r24, 0xFA ; 250
6d36: 80 93 42 07 sts 0x0742, r24
6d3a: 90 93 43 07 sts 0x0743, r25
6d3e: 80 e8 ldi r24, 0x80 ; 128
6d40: 80 93 44 07 sts 0x0744, r24
6d44: 90 e5 ldi r25, 0x50 ; 80
6d46: 90 93 45 07 sts 0x0745, r25
6d4a: 88 e7 ldi r24, 0x78 ; 120
6d4c: 80 93 46 07 sts 0x0746, r24
6d50: 8e e5 ldi r24, 0x5E ; 94
6d52: 80 93 47 07 sts 0x0747, r24
6d56: 83 e2 ldi r24, 0x23 ; 35
6d58: 80 93 48 07 sts 0x0748, r24
6d5c: 84 e1 ldi r24, 0x14 ; 20
6d5e: 80 93 49 07 sts 0x0749, r24
6d62: 10 92 4a 07 sts 0x074A, r1
6d66: 30 e2 ldi r19, 0x20 ; 32
6d68: 30 93 4b 07 sts 0x074B, r19
6d6c: 90 93 4c 07 sts 0x074C, r25
6d70: 10 92 4d 07 sts 0x074D, r1
6d74: 10 92 4e 07 sts 0x074E, r1
6d78: 10 92 4f 07 sts 0x074F, r1
6d7c: 10 92 5f 07 sts 0x075F, r1
6d80: 10 92 60 07 sts 0x0760, r1
6d84: 10 92 61 07 sts 0x0761, r1
6d88: 10 92 62 07 sts 0x0762, r1
6d8c: 24 e6 ldi r18, 0x64 ; 100
6d8e: 20 93 50 07 sts 0x0750, r18
6d92: 88 e2 ldi r24, 0x28 ; 40
6d94: 80 93 51 07 sts 0x0751, r24
6d98: 10 92 64 07 sts 0x0764, r1
6d9c: 92 e3 ldi r25, 0x32 ; 50
6d9e: 90 93 52 07 sts 0x0752, r25
6da2: 86 e9 ldi r24, 0x96 ; 150
6da4: 80 93 53 07 sts 0x0753, r24
6da8: 40 93 54 07 sts 0x0754, r20
6dac: 90 93 55 07 sts 0x0755, r25
6db0: 8a e5 ldi r24, 0x5A ; 90
6db2: 80 93 56 07 sts 0x0756, r24
6db6: 90 93 57 07 sts 0x0757, r25
6dba: 10 92 63 07 sts 0x0763, r1
6dbe: 80 93 58 07 sts 0x0758, r24
6dc2: 40 93 59 07 sts 0x0759, r20
6dc6: 20 93 5a 07 sts 0x075A, r18
6dca: 20 93 5b 07 sts 0x075B, r18
6dce: 30 93 5c 07 sts 0x075C, r19
6dd2: 50 93 5d 07 sts 0x075D, r21
6dd6: 8b e4 ldi r24, 0x4B ; 75
6dd8: 80 93 5e 07 sts 0x075E, r24
6ddc: a9 e6 ldi r26, 0x69 ; 105
6dde: b7 e0 ldi r27, 0x07 ; 7
6de0: e6 e7 ldi r30, 0x76 ; 118
6de2: f3 e0 ldi r31, 0x03 ; 3
6de4: 8c e0 ldi r24, 0x0C ; 12
6de6: 01 90 ld r0, Z+
6de8: 0d 92 st X+, r0
6dea: 81 50 subi r24, 0x01 ; 1
6dec: e1 f7 brne .-8 ; 0x6de6 <DefaultKonstanten2+0x118>
6dee: 08 95 ret
 
00006df0 <DefaultKonstanten1>:
6df0: 81 e0 ldi r24, 0x01 ; 1
6df2: 80 93 2f 07 sts 0x072F, r24
6df6: 82 e0 ldi r24, 0x02 ; 2
6df8: 80 93 30 07 sts 0x0730, r24
6dfc: 83 e0 ldi r24, 0x03 ; 3
6dfe: 80 93 31 07 sts 0x0731, r24
6e02: 34 e0 ldi r19, 0x04 ; 4
6e04: 30 93 32 07 sts 0x0732, r19
6e08: 45 e0 ldi r20, 0x05 ; 5
6e0a: 40 93 33 07 sts 0x0733, r20
6e0e: 86 e0 ldi r24, 0x06 ; 6
6e10: 80 93 34 07 sts 0x0734, r24
6e14: 87 e0 ldi r24, 0x07 ; 7
6e16: 80 93 35 07 sts 0x0735, r24
6e1a: 28 e0 ldi r18, 0x08 ; 8
6e1c: 20 93 36 07 sts 0x0736, r18
6e20: 80 e4 ldi r24, 0x40 ; 64
6e22: 80 93 37 07 sts 0x0737, r24
6e26: 9e e1 ldi r25, 0x1E ; 30
6e28: 90 93 38 07 sts 0x0738, r25
6e2c: 8b ef ldi r24, 0xFB ; 251
6e2e: 80 93 3a 07 sts 0x073A, r24
6e32: 8a e0 ldi r24, 0x0A ; 10
6e34: 80 93 3b 07 sts 0x073B, r24
6e38: 90 93 39 07 sts 0x0739, r25
6e3c: 90 93 3d 07 sts 0x073D, r25
6e40: 30 93 3c 07 sts 0x073C, r19
6e44: 30 93 3e 07 sts 0x073E, r19
6e48: 20 93 3f 07 sts 0x073F, r18
6e4c: 8c e0 ldi r24, 0x0C ; 12
6e4e: 80 93 40 07 sts 0x0740, r24
6e52: 8f e0 ldi r24, 0x0F ; 15
6e54: 80 93 41 07 sts 0x0741, r24
6e58: 8a ef ldi r24, 0xFA ; 250
6e5a: 80 93 42 07 sts 0x0742, r24
6e5e: 90 93 43 07 sts 0x0743, r25
6e62: 90 e8 ldi r25, 0x80 ; 128
6e64: 90 93 44 07 sts 0x0744, r25
6e68: 80 e5 ldi r24, 0x50 ; 80
6e6a: 80 93 45 07 sts 0x0745, r24
6e6e: 56 e9 ldi r21, 0x96 ; 150
6e70: 50 93 46 07 sts 0x0746, r21
6e74: 8e e5 ldi r24, 0x5E ; 94
6e76: 80 93 47 07 sts 0x0747, r24
6e7a: 83 e2 ldi r24, 0x23 ; 35
6e7c: 80 93 48 07 sts 0x0748, r24
6e80: 84 e1 ldi r24, 0x14 ; 20
6e82: 80 93 49 07 sts 0x0749, r24
6e86: 10 92 4a 07 sts 0x074A, r1
6e8a: 80 e2 ldi r24, 0x20 ; 32
6e8c: 80 93 4b 07 sts 0x074B, r24
6e90: 90 93 4c 07 sts 0x074C, r25
6e94: 10 92 4d 07 sts 0x074D, r1
6e98: 10 92 4e 07 sts 0x074E, r1
6e9c: 10 92 4f 07 sts 0x074F, r1
6ea0: 10 92 5f 07 sts 0x075F, r1
6ea4: 10 92 60 07 sts 0x0760, r1
6ea8: 10 92 61 07 sts 0x0761, r1
6eac: 10 92 62 07 sts 0x0762, r1
6eb0: 24 e6 ldi r18, 0x64 ; 100
6eb2: 20 93 50 07 sts 0x0750, r18
6eb6: 88 e2 ldi r24, 0x28 ; 40
6eb8: 80 93 51 07 sts 0x0751, r24
6ebc: 10 92 64 07 sts 0x0764, r1
6ec0: 82 e3 ldi r24, 0x32 ; 50
6ec2: 80 93 52 07 sts 0x0752, r24
6ec6: 50 93 53 07 sts 0x0753, r21
6eca: 40 93 54 07 sts 0x0754, r20
6ece: 80 93 55 07 sts 0x0755, r24
6ed2: 9a e5 ldi r25, 0x5A ; 90
6ed4: 90 93 56 07 sts 0x0756, r25
6ed8: 80 93 57 07 sts 0x0757, r24
6edc: 10 92 63 07 sts 0x0763, r1
6ee0: 90 93 58 07 sts 0x0758, r25
6ee4: 40 93 59 07 sts 0x0759, r20
6ee8: 20 93 5a 07 sts 0x075A, r18
6eec: 20 93 5b 07 sts 0x075B, r18
6ef0: 80 e1 ldi r24, 0x10 ; 16
6ef2: 80 93 5c 07 sts 0x075C, r24
6ef6: 30 93 5d 07 sts 0x075D, r19
6efa: 20 93 5e 07 sts 0x075E, r18
6efe: a9 e6 ldi r26, 0x69 ; 105
6f00: b7 e0 ldi r27, 0x07 ; 7
6f02: ee e7 ldi r30, 0x7E ; 126
6f04: f3 e0 ldi r31, 0x03 ; 3
6f06: 8c e0 ldi r24, 0x0C ; 12
6f08: 01 90 ld r0, Z+
6f0a: 0d 92 st X+, r0
6f0c: 81 50 subi r24, 0x01 ; 1
6f0e: e1 f7 brne .-8 ; 0x6f08 <DefaultKonstanten1+0x118>
6f10: 08 95 ret
 
00006f12 <GPS_Neutral>:
6f12: 80 91 ba 04 lds r24, 0x04BA
6f16: 90 91 bb 04 lds r25, 0x04BB
6f1a: a0 91 bc 04 lds r26, 0x04BC
6f1e: b0 91 bd 04 lds r27, 0x04BD
6f22: 80 93 c2 04 sts 0x04C2, r24
6f26: 90 93 c3 04 sts 0x04C3, r25
6f2a: a0 93 c4 04 sts 0x04C4, r26
6f2e: b0 93 c5 04 sts 0x04C5, r27
6f32: 80 91 be 04 lds r24, 0x04BE
6f36: 90 91 bf 04 lds r25, 0x04BF
6f3a: a0 91 c0 04 lds r26, 0x04C0
6f3e: b0 91 c1 04 lds r27, 0x04C1
6f42: 80 93 c6 04 sts 0x04C6, r24
6f46: 90 93 c7 04 sts 0x04C7, r25
6f4a: a0 93 c8 04 sts 0x04C8, r26
6f4e: b0 93 c9 04 sts 0x04C9, r27
6f52: 08 95 ret
 
00006f54 <GPS_BerechneZielrichtung>:
6f54: 10 92 b7 04 sts 0x04B7, r1
6f58: 10 92 b6 04 sts 0x04B6, r1
6f5c: 10 92 b9 04 sts 0x04B9, r1
6f60: 10 92 b8 04 sts 0x04B8, r1
6f64: 08 95 ret
 
00006f66 <__vector_19>:
6f66: 1f 92 push r1
6f68: 0f 92 push r0
6f6a: 0f b6 in r0, 0x3f ; 63
6f6c: 0f 92 push r0
6f6e: 11 24 eor r1, r1
6f70: 2f 93 push r18
6f72: 3f 93 push r19
6f74: 4f 93 push r20
6f76: 8f 93 push r24
6f78: 9f 93 push r25
6f7a: 80 91 bd 07 lds r24, 0x07BD
6f7e: 83 30 cpi r24, 0x03 ; 3
6f80: 19 f0 breq .+6 ; 0x6f88 <__vector_19+0x22>
6f82: 84 30 cpi r24, 0x04 ; 4
6f84: a1 f5 brne .+104 ; 0x6fee <__vector_19+0x88>
6f86: 08 c0 rjmp .+16 ; 0x6f98 <__vector_19+0x32>
6f88: 8e b5 in r24, 0x2e ; 46
6f8a: 80 93 ca 04 sts 0x04CA, r24
6f8e: 1e bc out 0x2e, r1 ; 46
6f90: 84 e0 ldi r24, 0x04 ; 4
6f92: 80 93 bd 07 sts 0x07BD, r24
6f96: 2b c0 rjmp .+86 ; 0x6fee <__vector_19+0x88>
6f98: 80 91 ca 04 lds r24, 0x04CA
6f9c: 99 27 eor r25, r25
6f9e: 38 2f mov r19, r24
6fa0: 22 27 eor r18, r18
6fa2: 8e b5 in r24, 0x2e ; 46
6fa4: 99 27 eor r25, r25
6fa6: 28 2b or r18, r24
6fa8: 39 2b or r19, r25
6faa: c9 01 movw r24, r18
6fac: 8d 50 subi r24, 0x0D ; 13
6fae: 9e 4f sbci r25, 0xFE ; 254
6fb0: 87 5e subi r24, 0xE7 ; 231
6fb2: 93 40 sbci r25, 0x03 ; 3
6fb4: d0 f4 brcc .+52 ; 0x6fea <__vector_19+0x84>
6fb6: 80 91 c0 07 lds r24, 0x07C0
6fba: 85 30 cpi r24, 0x05 ; 5
6fbc: 19 f0 breq .+6 ; 0x6fc4 <__vector_19+0x5e>
6fbe: 86 30 cpi r24, 0x06 ; 6
6fc0: 69 f4 brne .+26 ; 0x6fdc <__vector_19+0x76>
6fc2: 06 c0 rjmp .+12 ; 0x6fd0 <__vector_19+0x6a>
6fc4: 30 93 c2 07 sts 0x07C2, r19
6fc8: 20 93 c1 07 sts 0x07C1, r18
6fcc: 86 e0 ldi r24, 0x06 ; 6
6fce: 0b c0 rjmp .+22 ; 0x6fe6 <__vector_19+0x80>
6fd0: 30 93 c4 07 sts 0x07C4, r19
6fd4: 20 93 c3 07 sts 0x07C3, r18
6fd8: 87 e0 ldi r24, 0x07 ; 7
6fda: 05 c0 rjmp .+10 ; 0x6fe6 <__vector_19+0x80>
6fdc: 30 93 c6 07 sts 0x07C6, r19
6fe0: 20 93 c5 07 sts 0x07C5, r18
6fe4: 85 e0 ldi r24, 0x05 ; 5
6fe6: 80 93 c0 07 sts 0x07C0, r24
6fea: 10 92 bd 07 sts 0x07BD, r1
6fee: 9f 91 pop r25
6ff0: 8f 91 pop r24
6ff2: 4f 91 pop r20
6ff4: 3f 91 pop r19
6ff6: 2f 91 pop r18
6ff8: 0f 90 pop r0
6ffa: 0f be out 0x3f, r0 ; 63
6ffc: 0f 90 pop r0
6ffe: 1f 90 pop r1
7000: 18 95 reti
 
00007002 <heading_MM3>:
7002: aa e0 ldi r26, 0x0A ; 10
7004: b0 e0 ldi r27, 0x00 ; 0
7006: e7 e0 ldi r30, 0x07 ; 7
7008: f8 e3 ldi r31, 0x38 ; 56
700a: 0c 94 f0 3c jmp 0x79e0 ; 0x79e0 <__prologue_saves__>
700e: a0 90 4e 07 lds r10, 0x074E
7012: bb 24 eor r11, r11
7014: 33 e0 ldi r19, 0x03 ; 3
7016: aa 0c add r10, r10
7018: bb 1c adc r11, r11
701a: 3a 95 dec r19
701c: e1 f7 brne .-8 ; 0x7016 <heading_MM3+0x14>
701e: cc 24 eor r12, r12
7020: dd 24 eor r13, r13
7022: 60 91 f9 03 lds r22, 0x03F9
7026: 70 91 fa 03 lds r23, 0x03FA
702a: 80 91 fb 03 lds r24, 0x03FB
702e: 90 91 fc 03 lds r25, 0x03FC
7032: a6 01 movw r20, r12
7034: 95 01 movw r18, r10
7036: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
703a: 79 01 movw r14, r18
703c: 8a 01 movw r16, r20
703e: ff 24 eor r15, r15
7040: e7 fc sbrc r14, 7
7042: f0 94 com r15
7044: c7 01 movw r24, r14
7046: 0e 94 a1 3a call 0x7542 ; 0x7542 <sin_i>
704a: 2c 01 movw r4, r24
704c: c7 01 movw r24, r14
704e: 0e 94 e4 3a call 0x75c8 ; 0x75c8 <cos_i>
7052: 3c 01 movw r6, r24
7054: 60 91 01 04 lds r22, 0x0401
7058: 70 91 02 04 lds r23, 0x0402
705c: 80 91 03 04 lds r24, 0x0403
7060: 90 91 04 04 lds r25, 0x0404
7064: a6 01 movw r20, r12
7066: 95 01 movw r18, r10
7068: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
706c: 79 01 movw r14, r18
706e: 8a 01 movw r16, r20
7070: ff 24 eor r15, r15
7072: e7 fc sbrc r14, 7
7074: f0 94 com r15
7076: c7 01 movw r24, r14
7078: 0e 94 a1 3a call 0x7542 ; 0x7542 <sin_i>
707c: 9a 87 std Y+10, r25 ; 0x0a
707e: 89 87 std Y+9, r24 ; 0x09
7080: c7 01 movw r24, r14
7082: 0e 94 e4 3a call 0x75c8 ; 0x75c8 <cos_i>
7086: 1c 01 movw r2, r24
7088: 60 91 c1 07 lds r22, 0x07C1
708c: 70 91 c2 07 lds r23, 0x07C2
7090: e0 90 c3 07 lds r14, 0x07C3
7094: f0 90 c4 07 lds r15, 0x07C4
7098: 20 91 b5 07 lds r18, 0x07B5
709c: 33 27 eor r19, r19
709e: 27 fd sbrc r18, 7
70a0: 30 95 com r19
70a2: e2 1a sub r14, r18
70a4: f3 0a sbc r15, r19
70a6: 00 27 eor r16, r16
70a8: f7 fc sbrc r15, 7
70aa: 00 95 com r16
70ac: 10 2f mov r17, r16
70ae: a0 90 c5 07 lds r10, 0x07C5
70b2: b0 90 c6 07 lds r11, 0x07C6
70b6: 20 91 b6 07 lds r18, 0x07B6
70ba: 33 27 eor r19, r19
70bc: 27 fd sbrc r18, 7
70be: 30 95 com r19
70c0: a2 1a sub r10, r18
70c2: b3 0a sbc r11, r19
70c4: cc 24 eor r12, r12
70c6: b7 fc sbrc r11, 7
70c8: c0 94 com r12
70ca: dc 2c mov r13, r12
70cc: 20 91 b4 07 lds r18, 0x07B4
70d0: 33 27 eor r19, r19
70d2: 27 fd sbrc r18, 7
70d4: 30 95 com r19
70d6: 62 1b sub r22, r18
70d8: 73 0b sbc r23, r19
70da: 88 27 eor r24, r24
70dc: 77 fd sbrc r23, 7
70de: 80 95 com r24
70e0: 98 2f mov r25, r24
70e2: 88 24 eor r8, r8
70e4: 77 fc sbrc r7, 7
70e6: 80 94 com r8
70e8: 98 2c mov r9, r8
70ea: a4 01 movw r20, r8
70ec: 93 01 movw r18, r6
70ee: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
70f2: 3b 01 movw r6, r22
70f4: 4c 01 movw r8, r24
70f6: 89 85 ldd r24, Y+9 ; 0x09
70f8: 9a 85 ldd r25, Y+10 ; 0x0a
70fa: aa 27 eor r26, r26
70fc: 97 fd sbrc r25, 7
70fe: a0 95 com r26
7100: ba 2f mov r27, r26
7102: 8d 83 std Y+5, r24 ; 0x05
7104: 9e 83 std Y+6, r25 ; 0x06
7106: af 83 std Y+7, r26 ; 0x07
7108: b8 87 std Y+8, r27 ; 0x08
710a: c2 01 movw r24, r4
710c: aa 27 eor r26, r26
710e: 97 fd sbrc r25, 7
7110: a0 95 com r26
7112: ba 2f mov r27, r26
7114: 89 83 std Y+1, r24 ; 0x01
7116: 9a 83 std Y+2, r25 ; 0x02
7118: ab 83 std Y+3, r26 ; 0x03
711a: bc 83 std Y+4, r27 ; 0x04
711c: c8 01 movw r24, r16
711e: b7 01 movw r22, r14
7120: 2d 81 ldd r18, Y+5 ; 0x05
7122: 3e 81 ldd r19, Y+6 ; 0x06
7124: 4f 81 ldd r20, Y+7 ; 0x07
7126: 58 85 ldd r21, Y+8 ; 0x08
7128: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
712c: 29 81 ldd r18, Y+1 ; 0x01
712e: 3a 81 ldd r19, Y+2 ; 0x02
7130: 4b 81 ldd r20, Y+3 ; 0x03
7132: 5c 81 ldd r21, Y+4 ; 0x04
7134: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
7138: 20 e0 ldi r18, 0x00 ; 0
713a: 34 e0 ldi r19, 0x04 ; 4
713c: 40 e0 ldi r20, 0x00 ; 0
713e: 50 e0 ldi r21, 0x00 ; 0
7140: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
7144: 62 0e add r6, r18
7146: 73 1e adc r7, r19
7148: 84 1e adc r8, r20
714a: 95 1e adc r9, r21
714c: 44 24 eor r4, r4
714e: 37 fc sbrc r3, 7
7150: 40 94 com r4
7152: 54 2c mov r5, r4
7154: c6 01 movw r24, r12
7156: b5 01 movw r22, r10
7158: a2 01 movw r20, r4
715a: 91 01 movw r18, r2
715c: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
7160: 29 81 ldd r18, Y+1 ; 0x01
7162: 3a 81 ldd r19, Y+2 ; 0x02
7164: 4b 81 ldd r20, Y+3 ; 0x03
7166: 5c 81 ldd r21, Y+4 ; 0x04
7168: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
716c: 20 e0 ldi r18, 0x00 ; 0
716e: 34 e0 ldi r19, 0x04 ; 4
7170: 40 e0 ldi r20, 0x00 ; 0
7172: 50 e0 ldi r21, 0x00 ; 0
7174: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
7178: 62 1a sub r6, r18
717a: 73 0a sbc r7, r19
717c: 84 0a sbc r8, r20
717e: 95 0a sbc r9, r21
7180: c8 01 movw r24, r16
7182: b7 01 movw r22, r14
7184: a2 01 movw r20, r4
7186: 91 01 movw r18, r2
7188: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
718c: 7b 01 movw r14, r22
718e: 8c 01 movw r16, r24
7190: c6 01 movw r24, r12
7192: b5 01 movw r22, r10
7194: 2d 81 ldd r18, Y+5 ; 0x05
7196: 3e 81 ldd r19, Y+6 ; 0x06
7198: 4f 81 ldd r20, Y+7 ; 0x07
719a: 58 85 ldd r21, Y+8 ; 0x08
719c: 0e 94 61 3c call 0x78c2 ; 0x78c2 <__mulsi3>
71a0: e6 0e add r14, r22
71a2: f7 1e adc r15, r23
71a4: 08 1f adc r16, r24
71a6: 19 1f adc r17, r25
71a8: c8 01 movw r24, r16
71aa: b7 01 movw r22, r14
71ac: 20 e1 ldi r18, 0x10 ; 16
71ae: 30 e0 ldi r19, 0x00 ; 0
71b0: 40 e0 ldi r20, 0x00 ; 0
71b2: 50 e0 ldi r21, 0x00 ; 0
71b4: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
71b8: 79 01 movw r14, r18
71ba: 8a 01 movw r16, r20
71bc: c4 01 movw r24, r8
71be: b3 01 movw r22, r6
71c0: 20 e0 ldi r18, 0x00 ; 0
71c2: 34 e0 ldi r19, 0x04 ; 4
71c4: 40 e0 ldi r20, 0x00 ; 0
71c6: 50 e0 ldi r21, 0x00 ; 0
71c8: 0e 94 d5 3c call 0x79aa ; 0x79aa <__divmodsi4>
71cc: da 01 movw r26, r20
71ce: c9 01 movw r24, r18
71d0: b7 01 movw r22, r14
71d2: 0e 94 15 3a call 0x742a ; 0x742a <atan2_i>
71d6: 9c 01 movw r18, r24
71d8: 97 ff sbrs r25, 7
71da: 05 c0 rjmp .+10 ; 0x71e6 <heading_MM3+0x1e4>
71dc: 88 27 eor r24, r24
71de: 99 27 eor r25, r25
71e0: 82 1b sub r24, r18
71e2: 93 0b sbc r25, r19
71e4: 04 c0 rjmp .+8 ; 0x71ee <heading_MM3+0x1ec>
71e6: 88 e6 ldi r24, 0x68 ; 104
71e8: 91 e0 ldi r25, 0x01 ; 1
71ea: 82 1b sub r24, r18
71ec: 93 0b sbc r25, r19
71ee: e2 e1 ldi r30, 0x12 ; 18
71f0: c6 5f subi r28, 0xF6 ; 246
71f2: 0c 94 0c 3d jmp 0x7a18 ; 0x7a18 <__epilogue_restores__>
 
000071f6 <timer0_MM3>:
71f6: 80 91 bd 07 lds r24, 0x07BD
71fa: 81 30 cpi r24, 0x01 ; 1
71fc: 41 f0 breq .+16 ; 0x720e <timer0_MM3+0x18>
71fe: 81 30 cpi r24, 0x01 ; 1
7200: 18 f0 brcs .+6 ; 0x7208 <timer0_MM3+0x12>
7202: 82 30 cpi r24, 0x02 ; 2
7204: 49 f5 brne .+82 ; 0x7258 <timer0_MM3+0x62>
7206: 1c c0 rjmp .+56 ; 0x7240 <timer0_MM3+0x4a>
7208: 2a 9a sbi 0x05, 2 ; 5
720a: 81 e0 ldi r24, 0x01 ; 1
720c: 16 c0 rjmp .+44 ; 0x723a <timer0_MM3+0x44>
720e: 2a 98 cbi 0x05, 2 ; 5
7210: 80 91 c0 07 lds r24, 0x07C0
7214: 85 30 cpi r24, 0x05 ; 5
7216: 11 f4 brne .+4 ; 0x721c <timer0_MM3+0x26>
7218: 81 e3 ldi r24, 0x31 ; 49
721a: 05 c0 rjmp .+10 ; 0x7226 <timer0_MM3+0x30>
721c: 86 30 cpi r24, 0x06 ; 6
721e: 11 f4 brne .+4 ; 0x7224 <timer0_MM3+0x2e>
7220: 82 e3 ldi r24, 0x32 ; 50
7222: 01 c0 rjmp .+2 ; 0x7226 <timer0_MM3+0x30>
7224: 83 e3 ldi r24, 0x33 ; 51
7226: 8e bd out 0x2e, r24 ; 46
7228: 88 e0 ldi r24, 0x08 ; 8
722a: 90 e0 ldi r25, 0x00 ; 0
722c: 0e 94 b0 0c call 0x1960 ; 0x1960 <SetDelay>
7230: 90 93 bf 07 sts 0x07BF, r25
7234: 80 93 be 07 sts 0x07BE, r24
7238: 82 e0 ldi r24, 0x02 ; 2
723a: 80 93 bd 07 sts 0x07BD, r24
723e: 08 95 ret
7240: 80 91 be 07 lds r24, 0x07BE
7244: 90 91 bf 07 lds r25, 0x07BF
7248: 0e 94 b9 0c call 0x1972 ; 0x1972 <CheckDelay>
724c: 88 23 and r24, r24
724e: 21 f0 breq .+8 ; 0x7258 <timer0_MM3+0x62>
7250: 1e bc out 0x2e, r1 ; 46
7252: 83 e0 ldi r24, 0x03 ; 3
7254: 80 93 bd 07 sts 0x07BD, r24
7258: 08 95 ret
 
0000725a <calib_MM3>:
725a: a0 e0 ldi r26, 0x00 ; 0
725c: b0 e0 ldi r27, 0x00 ; 0
725e: e3 e3 ldi r30, 0x33 ; 51
7260: f9 e3 ldi r31, 0x39 ; 57
7262: 0c 94 f2 3c jmp 0x79e4 ; 0x79e4 <__prologue_saves__+0x4>
7266: 29 9a sbi 0x05, 1 ; 5
7268: 80 91 00 01 lds r24, 0x0100
726c: 8a 30 cpi r24, 0x0A ; 10
726e: 11 f4 brne .+4 ; 0x7274 <calib_MM3+0x1a>
7270: 28 98 cbi 0x05, 0 ; 5
7272: 01 c0 rjmp .+2 ; 0x7276 <calib_MM3+0x1c>
7274: 28 9a sbi 0x05, 0 ; 5
7276: aa 24 eor r10, r10
7278: bb 24 eor r11, r11
727a: 00 e0 ldi r16, 0x00 ; 0
727c: 10 e0 ldi r17, 0x00 ; 0
727e: 88 24 eor r8, r8
7280: 99 24 eor r9, r9
7282: ee 24 eor r14, r14
7284: ff 24 eor r15, r15
7286: 66 24 eor r6, r6
7288: 77 24 eor r7, r7
728a: cc 24 eor r12, r12
728c: dd 24 eor r13, r13
728e: 62 e3 ldi r22, 0x32 ; 50
7290: 46 2e mov r4, r22
7292: 55 24 eor r5, r5
7294: 80 91 c1 07 lds r24, 0x07C1
7298: 90 91 c2 07 lds r25, 0x07C2
729c: 08 17 cp r16, r24
729e: 19 07 cpc r17, r25
72a0: 2c f4 brge .+10 ; 0x72ac <calib_MM3+0x52>
72a2: 00 91 c1 07 lds r16, 0x07C1
72a6: 10 91 c2 07 lds r17, 0x07C2
72aa: 0b c0 rjmp .+22 ; 0x72c2 <calib_MM3+0x68>
72ac: 80 91 c1 07 lds r24, 0x07C1
72b0: 90 91 c2 07 lds r25, 0x07C2
72b4: 8a 15 cp r24, r10
72b6: 9b 05 cpc r25, r11
72b8: 24 f4 brge .+8 ; 0x72c2 <calib_MM3+0x68>
72ba: a0 90 c1 07 lds r10, 0x07C1
72be: b0 90 c2 07 lds r11, 0x07C2
72c2: 80 91 c3 07 lds r24, 0x07C3
72c6: 90 91 c4 07 lds r25, 0x07C4
72ca: e8 16 cp r14, r24
72cc: f9 06 cpc r15, r25
72ce: 2c f4 brge .+10 ; 0x72da <calib_MM3+0x80>
72d0: e0 90 c3 07 lds r14, 0x07C3
72d4: f0 90 c4 07 lds r15, 0x07C4
72d8: 0b c0 rjmp .+22 ; 0x72f0 <calib_MM3+0x96>
72da: 80 91 c3 07 lds r24, 0x07C3
72de: 90 91 c4 07 lds r25, 0x07C4
72e2: 88 15 cp r24, r8
72e4: 99 05 cpc r25, r9
72e6: 24 f4 brge .+8 ; 0x72f0 <calib_MM3+0x96>
72e8: 80 90 c3 07 lds r8, 0x07C3
72ec: 90 90 c4 07 lds r9, 0x07C4
72f0: 80 91 c5 07 lds r24, 0x07C5
72f4: 90 91 c6 07 lds r25, 0x07C6
72f8: c8 16 cp r12, r24
72fa: d9 06 cpc r13, r25
72fc: 2c f4 brge .+10 ; 0x7308 <calib_MM3+0xae>
72fe: c0 90 c5 07 lds r12, 0x07C5
7302: d0 90 c6 07 lds r13, 0x07C6
7306: 0b c0 rjmp .+22 ; 0x731e <calib_MM3+0xc4>
7308: 80 91 c5 07 lds r24, 0x07C5
730c: 90 91 c6 07 lds r25, 0x07C6
7310: 86 15 cp r24, r6
7312: 97 05 cpc r25, r7
7314: 24 f4 brge .+8 ; 0x731e <calib_MM3+0xc4>
7316: 60 90 c5 07 lds r6, 0x07C5
731a: 70 90 c6 07 lds r7, 0x07C6
731e: 55 20 and r5, r5
7320: 81 f4 brne .+32 ; 0x7342 <calib_MM3+0xe8>
7322: 85 b1 in r24, 0x05 ; 5
7324: 91 e0 ldi r25, 0x01 ; 1
7326: 89 27 eor r24, r25
7328: 85 b9 out 0x05, r24 ; 5
732a: 85 b1 in r24, 0x05 ; 5
732c: 92 e0 ldi r25, 0x02 ; 2
732e: 89 27 eor r24, r25
7330: 85 b9 out 0x05, r24 ; 5
7332: 82 e3 ldi r24, 0x32 ; 50
7334: 90 e0 ldi r25, 0x00 ; 0
7336: 90 93 c1 03 sts 0x03C1, r25
733a: 80 93 c0 03 sts 0x03C0, r24
733e: 52 e3 ldi r21, 0x32 ; 50
7340: 55 2e mov r5, r21
7342: 8a e0 ldi r24, 0x0A ; 10
7344: 90 e0 ldi r25, 0x00 ; 0
7346: 0e 94 b0 0c call 0x1960 ; 0x1960 <SetDelay>
734a: ec 01 movw r28, r24
734c: ce 01 movw r24, r28
734e: 0e 94 b9 0c call 0x1972 ; 0x1972 <CheckDelay>
7352: 88 23 and r24, r24
7354: d9 f3 breq .-10 ; 0x734c <calib_MM3+0xf2>
7356: e0 91 31 07 lds r30, 0x0731
735a: ff 27 eor r31, r31
735c: ee 0f add r30, r30
735e: ff 1f adc r31, r31
7360: ed 5f subi r30, 0xFD ; 253
7362: f8 4f sbci r31, 0xF8 ; 248
7364: 80 81 ld r24, Z
7366: 91 81 ldd r25, Z+1 ; 0x01
7368: 84 36 cpi r24, 0x64 ; 100
736a: 91 05 cpc r25, r1
736c: 0c f4 brge .+2 ; 0x7370 <calib_MM3+0x116>
736e: 4a 94 dec r4
7370: 44 20 and r4, r4
7372: 11 f0 breq .+4 ; 0x7378 <calib_MM3+0x11e>
7374: 5a 94 dec r5
7376: 8e cf rjmp .-228 ; 0x7294 <calib_MM3+0x3a>
7378: c8 01 movw r24, r16
737a: 8a 19 sub r24, r10
737c: 9b 09 sbc r25, r11
737e: 90 93 b8 07 sts 0x07B8, r25
7382: 80 93 b7 07 sts 0x07B7, r24
7386: c7 01 movw r24, r14
7388: 88 19 sub r24, r8
738a: 99 09 sbc r25, r9
738c: 90 93 ba 07 sts 0x07BA, r25
7390: 80 93 b9 07 sts 0x07B9, r24
7394: c6 01 movw r24, r12
7396: 86 19 sub r24, r6
7398: 97 09 sbc r25, r7
739a: 90 93 bc 07 sts 0x07BC, r25
739e: 80 93 bb 07 sts 0x07BB, r24
73a2: e4 eb ldi r30, 0xB4 ; 180
73a4: f7 e0 ldi r31, 0x07 ; 7
73a6: c8 01 movw r24, r16
73a8: 8a 0d add r24, r10
73aa: 9b 1d adc r25, r11
73ac: 62 e0 ldi r22, 0x02 ; 2
73ae: 70 e0 ldi r23, 0x00 ; 0
73b0: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
73b4: 60 93 b4 07 sts 0x07B4, r22
73b8: c7 01 movw r24, r14
73ba: 88 0d add r24, r8
73bc: 99 1d adc r25, r9
73be: 62 e0 ldi r22, 0x02 ; 2
73c0: 70 e0 ldi r23, 0x00 ; 0
73c2: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
73c6: 60 93 b5 07 sts 0x07B5, r22
73ca: c6 01 movw r24, r12
73cc: 86 0d add r24, r6
73ce: 97 1d adc r25, r7
73d0: 62 e0 ldi r22, 0x02 ; 2
73d2: 70 e0 ldi r23, 0x00 ; 0
73d4: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
73d8: 60 93 b6 07 sts 0x07B6, r22
73dc: 89 e0 ldi r24, 0x09 ; 9
73de: a0 e7 ldi r26, 0x70 ; 112
73e0: b1 e0 ldi r27, 0x01 ; 1
73e2: 18 2e mov r1, r24
73e4: 0e 94 46 3d call 0x7a8c ; 0x7a8c <__eeprom_write_block_1F2021>
73e8: e0 e1 ldi r30, 0x10 ; 16
73ea: cd b7 in r28, 0x3d ; 61
73ec: de b7 in r29, 0x3e ; 62
73ee: 0c 94 0e 3d jmp 0x7a1c ; 0x7a1c <__epilogue_restores__+0x4>
 
000073f2 <init_MM3>:
73f2: 83 ed ldi r24, 0xD3 ; 211
73f4: 8c bd out 0x2c, r24 ; 44
73f6: 84 b1 in r24, 0x04 ; 4
73f8: 84 6a ori r24, 0xA4 ; 164
73fa: 84 b9 out 0x04, r24 ; 4
73fc: 80 91 00 01 lds r24, 0x0100
7400: 8a 30 cpi r24, 0x0A ; 10
7402: 19 f4 brne .+6 ; 0x740a <init_MM3+0x18>
7404: 53 9a sbi 0x0a, 3 ; 10
7406: 5b 98 cbi 0x0b, 3 ; 11
7408: 02 c0 rjmp .+4 ; 0x740e <init_MM3+0x1c>
740a: 3e 9a sbi 0x07, 6 ; 7
740c: 46 98 cbi 0x08, 6 ; 8
740e: 85 e0 ldi r24, 0x05 ; 5
7410: 80 93 c0 07 sts 0x07C0, r24
7414: 10 92 bd 07 sts 0x07BD, r1
7418: 89 e0 ldi r24, 0x09 ; 9
741a: e4 eb ldi r30, 0xB4 ; 180
741c: f7 e0 ldi r31, 0x07 ; 7
741e: a0 e7 ldi r26, 0x70 ; 112
7420: b1 e0 ldi r27, 0x01 ; 1
7422: 18 2e mov r1, r24
7424: 0e 94 35 3d call 0x7a6a ; 0x7a6a <__eeprom_read_block_1F2021>
7428: 08 95 ret
 
0000742a <atan2_i>:
742a: 9c 01 movw r18, r24
742c: 89 2b or r24, r25
742e: 31 f4 brne .+12 ; 0x743c <atan2_i+0x12>
7430: 61 15 cp r22, r1
7432: 71 05 cpc r23, r1
7434: 19 f4 brne .+6 ; 0x743c <atan2_i+0x12>
7436: 80 e0 ldi r24, 0x00 ; 0
7438: 90 e0 ldi r25, 0x00 ; 0
743a: 08 95 ret
743c: 77 fd sbrc r23, 7
743e: 02 c0 rjmp .+4 ; 0x7444 <atan2_i+0x1a>
7440: 41 e0 ldi r20, 0x01 ; 1
7442: 01 c0 rjmp .+2 ; 0x7446 <atan2_i+0x1c>
7444: 4f ef ldi r20, 0xFF ; 255
7446: 21 15 cp r18, r1
7448: 31 05 cpc r19, r1
744a: 29 f4 brne .+10 ; 0x7456 <atan2_i+0x2c>
744c: 8a e5 ldi r24, 0x5A ; 90
744e: 48 02 muls r20, r24
7450: c0 01 movw r24, r0
7452: 11 24 eor r1, r1
7454: 08 95 ret
7456: cb 01 movw r24, r22
7458: b9 01 movw r22, r18
745a: 0e 94 a0 3c call 0x7940 ; 0x7940 <__divmodhi4>
745e: fb 01 movw r30, r22
7460: 77 ff sbrs r23, 7
7462: 03 c0 rjmp .+6 ; 0x746a <atan2_i+0x40>
7464: f0 95 com r31
7466: e1 95 neg r30
7468: ff 4f sbci r31, 0xFF ; 255
746a: 81 e0 ldi r24, 0x01 ; 1
746c: ea 35 cpi r30, 0x5A ; 90
746e: f8 07 cpc r31, r24
7470: 30 f4 brcc .+12 ; 0x747e <atan2_i+0x54>
7472: e0 5c subi r30, 0xC0 ; 192
7474: fa 4f sbci r31, 0xFA ; 250
7476: 84 91 lpm r24, Z
7478: 68 2f mov r22, r24
747a: 77 27 eor r23, r23
747c: 47 c0 rjmp .+142 ; 0x750c <atan2_i+0xe2>
747e: 8c e1 ldi r24, 0x1C ; 28
7480: e7 3a cpi r30, 0xA7 ; 167
7482: f8 07 cpc r31, r24
7484: 18 f0 brcs .+6 ; 0x748c <atan2_i+0x62>
7486: 6a e5 ldi r22, 0x5A ; 90
7488: 70 e0 ldi r23, 0x00 ; 0
748a: 40 c0 rjmp .+128 ; 0x750c <atan2_i+0xe2>
748c: 89 e0 ldi r24, 0x09 ; 9
748e: ed 38 cpi r30, 0x8D ; 141
7490: f8 07 cpc r31, r24
7492: 18 f0 brcs .+6 ; 0x749a <atan2_i+0x70>
7494: 69 e5 ldi r22, 0x59 ; 89
7496: 70 e0 ldi r23, 0x00 ; 0
7498: 39 c0 rjmp .+114 ; 0x750c <atan2_i+0xe2>
749a: 85 e0 ldi r24, 0x05 ; 5
749c: ea 3b cpi r30, 0xBA ; 186
749e: f8 07 cpc r31, r24
74a0: 18 f0 brcs .+6 ; 0x74a8 <atan2_i+0x7e>
74a2: 68 e5 ldi r22, 0x58 ; 88
74a4: 70 e0 ldi r23, 0x00 ; 0
74a6: 32 c0 rjmp .+100 ; 0x750c <atan2_i+0xe2>
74a8: 84 e0 ldi r24, 0x04 ; 4
74aa: e7 31 cpi r30, 0x17 ; 23
74ac: f8 07 cpc r31, r24
74ae: 18 f0 brcs .+6 ; 0x74b6 <atan2_i+0x8c>
74b0: 67 e5 ldi r22, 0x57 ; 87
74b2: 70 e0 ldi r23, 0x00 ; 0
74b4: 2b c0 rjmp .+86 ; 0x750c <atan2_i+0xe2>
74b6: 83 e0 ldi r24, 0x03 ; 3
74b8: ee 32 cpi r30, 0x2E ; 46
74ba: f8 07 cpc r31, r24
74bc: 18 f0 brcs .+6 ; 0x74c4 <atan2_i+0x9a>
74be: 66 e5 ldi r22, 0x56 ; 86
74c0: 70 e0 ldi r23, 0x00 ; 0
74c2: 24 c0 rjmp .+72 ; 0x750c <atan2_i+0xe2>
74c4: 82 e0 ldi r24, 0x02 ; 2
74c6: e9 39 cpi r30, 0x99 ; 153
74c8: f8 07 cpc r31, r24
74ca: 18 f0 brcs .+6 ; 0x74d2 <atan2_i+0xa8>
74cc: 65 e5 ldi r22, 0x55 ; 85
74ce: 70 e0 ldi r23, 0x00 ; 0
74d0: 1d c0 rjmp .+58 ; 0x750c <atan2_i+0xe2>
74d2: 82 e0 ldi r24, 0x02 ; 2
74d4: e2 33 cpi r30, 0x32 ; 50
74d6: f8 07 cpc r31, r24
74d8: 18 f0 brcs .+6 ; 0x74e0 <atan2_i+0xb6>
74da: 64 e5 ldi r22, 0x54 ; 84
74dc: 70 e0 ldi r23, 0x00 ; 0
74de: 16 c0 rjmp .+44 ; 0x750c <atan2_i+0xe2>
74e0: 81 e0 ldi r24, 0x01 ; 1
74e2: e7 3e cpi r30, 0xE7 ; 231
74e4: f8 07 cpc r31, r24
74e6: 18 f0 brcs .+6 ; 0x74ee <atan2_i+0xc4>
74e8: 63 e5 ldi r22, 0x53 ; 83
74ea: 70 e0 ldi r23, 0x00 ; 0
74ec: 0f c0 rjmp .+30 ; 0x750c <atan2_i+0xe2>
74ee: 81 e0 ldi r24, 0x01 ; 1
74f0: ed 3a cpi r30, 0xAD ; 173
74f2: f8 07 cpc r31, r24
74f4: 18 f0 brcs .+6 ; 0x74fc <atan2_i+0xd2>
74f6: 62 e5 ldi r22, 0x52 ; 82
74f8: 70 e0 ldi r23, 0x00 ; 0
74fa: 08 c0 rjmp .+16 ; 0x750c <atan2_i+0xe2>
74fc: ef 57 subi r30, 0x7F ; 127
74fe: f1 40 sbci r31, 0x01 ; 1
7500: 18 f0 brcs .+6 ; 0x7508 <atan2_i+0xde>
7502: 61 e5 ldi r22, 0x51 ; 81
7504: 70 e0 ldi r23, 0x00 ; 0
7506: 02 c0 rjmp .+4 ; 0x750c <atan2_i+0xe2>
7508: 60 e5 ldi r22, 0x50 ; 80
750a: 70 e0 ldi r23, 0x00 ; 0
750c: 12 16 cp r1, r18
750e: 13 06 cpc r1, r19
7510: 6c f4 brge .+26 ; 0x752c <atan2_i+0x102>
7512: 84 2f mov r24, r20
7514: 99 27 eor r25, r25
7516: 87 fd sbrc r24, 7
7518: 90 95 com r25
751a: 9c 01 movw r18, r24
751c: 62 9f mul r22, r18
751e: c0 01 movw r24, r0
7520: 63 9f mul r22, r19
7522: 90 0d add r25, r0
7524: 72 9f mul r23, r18
7526: 90 0d add r25, r0
7528: 11 24 eor r1, r1
752a: 08 95 ret
752c: 14 16 cp r1, r20
752e: 2c f4 brge .+10 ; 0x753a <atan2_i+0x110>
7530: 84 eb ldi r24, 0xB4 ; 180
7532: 90 e0 ldi r25, 0x00 ; 0
7534: 86 1b sub r24, r22
7536: 97 0b sbc r25, r23
7538: 08 95 ret
753a: cb 01 movw r24, r22
753c: 84 5b subi r24, 0xB4 ; 180
753e: 90 40 sbci r25, 0x00 ; 0
7540: 08 95 ret
 
00007542 <sin_i>:
7542: fc 01 movw r30, r24
7544: 97 fd sbrc r25, 7
7546: 03 c0 rjmp .+6 ; 0x754e <sin_i+0xc>
7548: 41 e0 ldi r20, 0x01 ; 1
754a: 50 e0 ldi r21, 0x00 ; 0
754c: 05 c0 rjmp .+10 ; 0x7558 <sin_i+0x16>
754e: f0 95 com r31
7550: e1 95 neg r30
7552: ff 4f sbci r31, 0xFF ; 255
7554: 4f ef ldi r20, 0xFF ; 255
7556: 5f ef ldi r21, 0xFF ; 255
7558: eb 35 cpi r30, 0x5B ; 91
755a: f1 05 cpc r31, r1
755c: 5c f0 brlt .+22 ; 0x7574 <sin_i+0x32>
755e: cf 01 movw r24, r30
7560: 8b 55 subi r24, 0x5B ; 91
7562: 90 40 sbci r25, 0x00 ; 0
7564: 8a 35 cpi r24, 0x5A ; 90
7566: 91 05 cpc r25, r1
7568: 40 f4 brcc .+16 ; 0x757a <sin_i+0x38>
756a: 84 eb ldi r24, 0xB4 ; 180
756c: 90 e0 ldi r25, 0x00 ; 0
756e: 8e 1b sub r24, r30
7570: 9f 0b sbc r25, r31
7572: fc 01 movw r30, r24
7574: 21 e0 ldi r18, 0x01 ; 1
7576: 30 e0 ldi r19, 0x00 ; 0
7578: 10 c0 rjmp .+32 ; 0x759a <sin_i+0x58>
757a: cf 01 movw r24, r30
757c: 85 5b subi r24, 0xB5 ; 181
757e: 90 40 sbci r25, 0x00 ; 0
7580: 8a 35 cpi r24, 0x5A ; 90
7582: 91 05 cpc r25, r1
7584: 18 f4 brcc .+6 ; 0x758c <sin_i+0x4a>
7586: e4 5b subi r30, 0xB4 ; 180
7588: f0 40 sbci r31, 0x00 ; 0
758a: 05 c0 rjmp .+10 ; 0x7596 <sin_i+0x54>
758c: 88 e6 ldi r24, 0x68 ; 104
758e: 91 e0 ldi r25, 0x01 ; 1
7590: 8e 1b sub r24, r30
7592: 9f 0b sbc r25, r31
7594: fc 01 movw r30, r24
7596: 2f ef ldi r18, 0xFF ; 255
7598: 3f ef ldi r19, 0xFF ; 255
759a: ee 0f add r30, r30
759c: ff 1f adc r31, r31
759e: e6 56 subi r30, 0x66 ; 102
75a0: f9 4f sbci r31, 0xF9 ; 249
75a2: 85 91 lpm r24, Z+
75a4: 94 91 lpm r25, Z
75a6: bc 01 movw r22, r24
75a8: 62 9f mul r22, r18
75aa: c0 01 movw r24, r0
75ac: 63 9f mul r22, r19
75ae: 90 0d add r25, r0
75b0: 72 9f mul r23, r18
75b2: 90 0d add r25, r0
75b4: 11 24 eor r1, r1
75b6: 9c 01 movw r18, r24
75b8: 42 9f mul r20, r18
75ba: c0 01 movw r24, r0
75bc: 43 9f mul r20, r19
75be: 90 0d add r25, r0
75c0: 52 9f mul r21, r18
75c2: 90 0d add r25, r0
75c4: 11 24 eor r1, r1
75c6: 08 95 ret
 
000075c8 <cos_i>:
75c8: 2a e5 ldi r18, 0x5A ; 90
75ca: 30 e0 ldi r19, 0x00 ; 0
75cc: 28 1b sub r18, r24
75ce: 39 0b sbc r19, r25
75d0: c9 01 movw r24, r18
75d2: 0e 94 a1 3a call 0x7542 ; 0x7542 <sin_i>
75d6: 08 95 ret
 
000075d8 <memchr>:
75d8: fc 01 movw r30, r24
75da: 41 50 subi r20, 0x01 ; 1
75dc: 50 40 sbci r21, 0x00 ; 0
75de: 30 f0 brcs .+12 ; 0x75ec <memchr+0x14>
75e0: 01 90 ld r0, Z+
75e2: 06 16 cp r0, r22
75e4: d1 f7 brne .-12 ; 0x75da <memchr+0x2>
75e6: 31 97 sbiw r30, 0x01 ; 1
75e8: cf 01 movw r24, r30
75ea: 08 95 ret
75ec: 88 27 eor r24, r24
75ee: 99 27 eor r25, r25
75f0: 08 95 ret
 
000075f2 <__subsf3>:
75f2: 50 58 subi r21, 0x80 ; 128
 
000075f4 <__addsf3>:
75f4: 19 2e mov r1, r25
75f6: ef d0 rcall .+478 ; 0x77d6 <__fp_split3>
75f8: 01 d0 rcall .+2 ; 0x75fc <__addsf3x>
75fa: d2 c0 rjmp .+420 ; 0x77a0 <__fp_merge>
 
000075fc <__addsf3x>:
75fc: ba 17 cp r27, r26
75fe: 62 07 cpc r22, r18
7600: 73 07 cpc r23, r19
7602: 84 07 cpc r24, r20
7604: 95 07 cpc r25, r21
7606: b1 f1 breq .+108 ; 0x7674 <__addsf3x+0x78>
7608: 88 f4 brcc .+34 ; 0x762c <__addsf3x+0x30>
760a: 0e f4 brtc .+2 ; 0x760e <__addsf3x+0x12>
760c: 10 94 com r1
760e: 0b 2e mov r0, r27
7610: ba 2f mov r27, r26
7612: a0 2d mov r26, r0
7614: 06 2e mov r0, r22
7616: 62 2f mov r22, r18
7618: 20 2d mov r18, r0
761a: 07 2e mov r0, r23
761c: 73 2f mov r23, r19
761e: 30 2d mov r19, r0
7620: 08 2e mov r0, r24
7622: 84 2f mov r24, r20
7624: 40 2d mov r20, r0
7626: 09 2e mov r0, r25
7628: 95 2f mov r25, r21
762a: 50 2d mov r21, r0
762c: ff 27 eor r31, r31
762e: 55 23 and r21, r21
7630: b9 f0 breq .+46 ; 0x7660 <__addsf3x+0x64>
7632: 59 1b sub r21, r25
7634: 49 f0 breq .+18 ; 0x7648 <__addsf3x+0x4c>
7636: 57 3e cpi r21, 0xE7 ; 231
7638: 98 f0 brcs .+38 ; 0x7660 <__addsf3x+0x64>
763a: 46 95 lsr r20
763c: 37 95 ror r19
763e: 27 95 ror r18
7640: a7 95 ror r26
7642: f0 40 sbci r31, 0x00 ; 0
7644: 53 95 inc r21
7646: c9 f7 brne .-14 ; 0x763a <__addsf3x+0x3e>
7648: 76 f0 brts .+28 ; 0x7666 <__addsf3x+0x6a>
764a: ba 0f add r27, r26
764c: 62 1f adc r22, r18
764e: 73 1f adc r23, r19
7650: 84 1f adc r24, r20
7652: 30 f4 brcc .+12 ; 0x7660 <__addsf3x+0x64>
7654: 87 95 ror r24
7656: 77 95 ror r23
7658: 67 95 ror r22
765a: b7 95 ror r27
765c: f0 40 sbci r31, 0x00 ; 0
765e: 93 95 inc r25
7660: 17 fa bst r1, 7
7662: 0f 2e mov r0, r31
7664: 08 95 ret
7666: bf 1b sub r27, r31
7668: bb 27 eor r27, r27
766a: ba 0b sbc r27, r26
766c: 62 0b sbc r22, r18
766e: 73 0b sbc r23, r19
7670: 84 0b sbc r24, r20
7672: f6 cf rjmp .-20 ; 0x7660 <__addsf3x+0x64>
7674: de f6 brtc .-74 ; 0x762c <__addsf3x+0x30>
7676: db c0 rjmp .+438 ; 0x782e <__fp_zerox>
 
00007678 <__divsf3>:
7678: ae d0 rcall .+348 ; 0x77d6 <__fp_split3>
767a: 01 d0 rcall .+2 ; 0x767e <__divsf3x>
767c: 91 c0 rjmp .+290 ; 0x77a0 <__fp_merge>
 
0000767e <__divsf3x>:
767e: 55 23 and r21, r21
7680: 59 f0 breq .+22 ; 0x7698 <__divsf3x+0x1a>
7682: 99 23 and r25, r25
7684: 69 f0 breq .+26 ; 0x76a0 <__divsf3x+0x22>
7686: 9f 57 subi r25, 0x7F ; 127
7688: 5f 57 subi r21, 0x7F ; 127
768a: 95 1b sub r25, r21
768c: 33 f4 brvc .+12 ; 0x769a <__divsf3x+0x1c>
768e: 42 f4 brpl .+16 ; 0x76a0 <__divsf3x+0x22>
7690: 90 38 cpi r25, 0x80 ; 128
7692: 11 f4 brne .+4 ; 0x7698 <__divsf3x+0x1a>
7694: 91 58 subi r25, 0x81 ; 129
7696: 05 c0 rjmp .+10 ; 0x76a2 <__divsf3x+0x24>
7698: 9b c0 rjmp .+310 ; 0x77d0 <__fp_nan>
769a: 91 58 subi r25, 0x81 ; 129
769c: 9f 3f cpi r25, 0xFF ; 255
769e: 09 f4 brne .+2 ; 0x76a2 <__divsf3x+0x24>
76a0: c6 c0 rjmp .+396 ; 0x782e <__fp_zerox>
76a2: bb 27 eor r27, r27
76a4: 11 24 eor r1, r1
76a6: 62 17 cp r22, r18
76a8: 73 07 cpc r23, r19
76aa: 84 07 cpc r24, r20
76ac: 30 f4 brcc .+12 ; 0x76ba <__divsf3x+0x3c>
76ae: 66 0f add r22, r22
76b0: 77 1f adc r23, r23
76b2: 88 1f adc r24, r24
76b4: bb 1f adc r27, r27
76b6: 91 50 subi r25, 0x01 ; 1
76b8: 98 f3 brcs .-26 ; 0x76a0 <__divsf3x+0x22>
76ba: 11 d0 rcall .+34 ; 0x76de <__divsf3x+0x60>
76bc: 0f 92 push r0
76be: 0f d0 rcall .+30 ; 0x76de <__divsf3x+0x60>
76c0: 0f 92 push r0
76c2: 0d d0 rcall .+26 ; 0x76de <__divsf3x+0x60>
76c4: a0 e8 ldi r26, 0x80 ; 128
76c6: 26 17 cp r18, r22
76c8: 37 07 cpc r19, r23
76ca: 48 07 cpc r20, r24
76cc: 1b 06 cpc r1, r27
76ce: 09 f0 breq .+2 ; 0x76d2 <__divsf3x+0x54>
76d0: a0 48 sbci r26, 0x80 ; 128
76d2: ba 2f mov r27, r26
76d4: 60 2d mov r22, r0
76d6: 7f 91 pop r23
76d8: 8f 91 pop r24
76da: 00 24 eor r0, r0
76dc: 08 95 ret
76de: a0 e8 ldi r26, 0x80 ; 128
76e0: 00 24 eor r0, r0
76e2: 62 17 cp r22, r18
76e4: 73 07 cpc r23, r19
76e6: 84 07 cpc r24, r20
76e8: b1 05 cpc r27, r1
76ea: 28 f0 brcs .+10 ; 0x76f6 <__divsf3x+0x78>
76ec: 62 1b sub r22, r18
76ee: 73 0b sbc r23, r19
76f0: 84 0b sbc r24, r20
76f2: b1 09 sbc r27, r1
76f4: 0a 2a or r0, r26
76f6: 66 0f add r22, r22
76f8: 77 1f adc r23, r23
76fa: 88 1f adc r24, r24
76fc: bb 1f adc r27, r27
76fe: a6 95 lsr r26
7700: 81 f7 brne .-32 ; 0x76e2 <__divsf3x+0x64>
7702: 08 95 ret
 
00007704 <__fixsfsi>:
7704: 97 fb bst r25, 7
7706: 73 d0 rcall .+230 ; 0x77ee <__fp_split1>
7708: 9f 37 cpi r25, 0x7F ; 127
770a: 38 f0 brcs .+14 ; 0x771a <__fixsfsi+0x16>
770c: fe e9 ldi r31, 0x9E ; 158
770e: f9 1b sub r31, r25
7710: 98 2f mov r25, r24
7712: 87 2f mov r24, r23
7714: 76 2f mov r23, r22
7716: 6b 2f mov r22, r27
7718: 05 c0 rjmp .+10 ; 0x7724 <__fixsfsi+0x20>
771a: 86 c0 rjmp .+268 ; 0x7828 <__fp_zero>
771c: 96 95 lsr r25
771e: 87 95 ror r24
7720: 77 95 ror r23
7722: 67 95 ror r22
7724: f1 50 subi r31, 0x01 ; 1
7726: d0 f7 brcc .-12 ; 0x771c <__fixsfsi+0x18>
7728: 3e f4 brtc .+14 ; 0x7738 <__fp_lneg+0xe>
 
0000772a <__fp_lneg>:
772a: 90 95 com r25
772c: 80 95 com r24
772e: 70 95 com r23
7730: 61 95 neg r22
7732: 7f 4f sbci r23, 0xFF ; 255
7734: 8f 4f sbci r24, 0xFF ; 255
7736: 9f 4f sbci r25, 0xFF ; 255
7738: 08 95 ret
 
0000773a <__floatunssisf>:
773a: e8 94 clt
773c: 03 c0 rjmp .+6 ; 0x7744 <__floatsisf+0x6>
 
0000773e <__floatsisf>:
773e: 97 fb bst r25, 7
7740: 0e f4 brtc .+2 ; 0x7744 <__floatsisf+0x6>
7742: f3 df rcall .-26 ; 0x772a <__fp_lneg>
7744: b6 2f mov r27, r22
7746: 67 2f mov r22, r23
7748: 78 2f mov r23, r24
774a: 89 2f mov r24, r25
774c: 9e e9 ldi r25, 0x9E ; 158
774e: 00 24 eor r0, r0
7750: 27 c0 rjmp .+78 ; 0x77a0 <__fp_merge>
 
00007752 <__eqsf2>:
7752: 0e d0 rcall .+28 ; 0x7770 <.fp_cmp>
7754: 5e f0 brts .+22 ; 0x776c <__cmpsf2+0xe>
7756: 04 c0 rjmp .+8 ; 0x7760 <__cmpsf2+0x2>
 
00007758 <__gesf2>:
7758: 0b d0 rcall .+22 ; 0x7770 <.fp_cmp>
775a: 26 f0 brts .+8 ; 0x7764 <__cmpsf2+0x6>
775c: 01 c0 rjmp .+2 ; 0x7760 <__cmpsf2+0x2>
 
0000775e <__cmpsf2>:
775e: 08 d0 rcall .+16 ; 0x7770 <.fp_cmp>
7760: 19 f0 breq .+6 ; 0x7768 <__cmpsf2+0xa>
7762: 20 f4 brcc .+8 ; 0x776c <__cmpsf2+0xe>
7764: 8f ef ldi r24, 0xFF ; 255
7766: 08 95 ret
7768: 80 e0 ldi r24, 0x00 ; 0
776a: 08 95 ret
776c: 81 e0 ldi r24, 0x01 ; 1
776e: 08 95 ret
 
00007770 <.fp_cmp>:
7770: 97 fb bst r25, 7
7772: 09 2e mov r0, r25
7774: 05 26 eor r0, r21
7776: 00 f8 bld r0, 0
7778: 68 94 set
777a: 30 d0 rcall .+96 ; 0x77dc <__fp_split2>
777c: e8 94 clt
777e: 07 fc sbrc r0, 7
7780: 07 c0 rjmp .+14 ; 0x7790 <.fp_cmp+0x20>
7782: 62 17 cp r22, r18
7784: 73 07 cpc r23, r19
7786: 84 07 cpc r24, r20
7788: 95 07 cpc r25, r21
778a: 21 f0 breq .+8 ; 0x7794 <.fp_cmp+0x24>
778c: 08 f4 brcc .+2 ; 0x7790 <.fp_cmp+0x20>
778e: 00 94 com r0
7790: 07 94 ror r0
7792: 98 94 clz
7794: 08 95 ret
7796: 9a 95 dec r25
7798: bb 0f add r27, r27
779a: 66 1f adc r22, r22
779c: 77 1f adc r23, r23
779e: 88 1f adc r24, r24
 
000077a0 <__fp_merge>:
77a0: 11 24 eor r1, r1
77a2: 99 23 and r25, r25
77a4: a1 f0 breq .+40 ; 0x77ce <__fp_merge+0x2e>
77a6: 88 23 and r24, r24
77a8: b2 f7 brpl .-20 ; 0x7796 <.fp_cmp+0x26>
77aa: 9f 3f cpi r25, 0xFF ; 255
77ac: 59 f0 breq .+22 ; 0x77c4 <__fp_merge+0x24>
77ae: bb 0f add r27, r27
77b0: 48 f4 brcc .+18 ; 0x77c4 <__fp_merge+0x24>
77b2: 21 f4 brne .+8 ; 0x77bc <__fp_merge+0x1c>
77b4: 00 20 and r0, r0
77b6: 11 f4 brne .+4 ; 0x77bc <__fp_merge+0x1c>
77b8: 60 ff sbrs r22, 0
77ba: 04 c0 rjmp .+8 ; 0x77c4 <__fp_merge+0x24>
77bc: 6f 5f subi r22, 0xFF ; 255
77be: 7f 4f sbci r23, 0xFF ; 255
77c0: 8f 4f sbci r24, 0xFF ; 255
77c2: 9f 4f sbci r25, 0xFF ; 255
77c4: 88 1f adc r24, r24
77c6: 97 95 ror r25
77c8: 87 95 ror r24
77ca: 97 f9 bld r25, 7
77cc: 08 95 ret
77ce: 2c c0 rjmp .+88 ; 0x7828 <__fp_zero>
 
000077d0 <__fp_nan>:
77d0: 9f ef ldi r25, 0xFF ; 255
77d2: 80 ec ldi r24, 0xC0 ; 192
77d4: 08 95 ret
 
000077d6 <__fp_split3>:
77d6: 05 2e mov r0, r21
77d8: 09 26 eor r0, r25
77da: 07 fa bst r0, 7
 
000077dc <__fp_split2>:
77dc: 44 0f add r20, r20
77de: 55 1f adc r21, r21
77e0: 5f 3f cpi r21, 0xFF ; 255
77e2: 79 f0 breq .+30 ; 0x7802 <__fp_split1+0x14>
77e4: aa 27 eor r26, r26
77e6: a5 17 cp r26, r21
77e8: 08 f0 brcs .+2 ; 0x77ec <__fp_split2+0x10>
77ea: 51 e0 ldi r21, 0x01 ; 1
77ec: 47 95 ror r20
 
000077ee <__fp_split1>:
77ee: 88 0f add r24, r24
77f0: 99 1f adc r25, r25
77f2: 9f 3f cpi r25, 0xFF ; 255
77f4: 31 f0 breq .+12 ; 0x7802 <__fp_split1+0x14>
77f6: bb 27 eor r27, r27
77f8: b9 17 cp r27, r25
77fa: 08 f0 brcs .+2 ; 0x77fe <__fp_split1+0x10>
77fc: 91 e0 ldi r25, 0x01 ; 1
77fe: 87 95 ror r24
7800: 08 95 ret
7802: 9f 91 pop r25
7804: 9f 91 pop r25
7806: 11 24 eor r1, r1
7808: e3 cf rjmp .-58 ; 0x77d0 <__fp_nan>
 
0000780a <__fp_split_a>:
780a: 97 fb bst r25, 7
780c: 88 0f add r24, r24
780e: 99 1f adc r25, r25
7810: 9f 3f cpi r25, 0xFF ; 255
7812: 31 f0 breq .+12 ; 0x7820 <__fp_split_a+0x16>
7814: bb 27 eor r27, r27
7816: b9 17 cp r27, r25
7818: 08 f0 brcs .+2 ; 0x781c <__fp_split_a+0x12>
781a: 91 e0 ldi r25, 0x01 ; 1
781c: 87 95 ror r24
781e: 08 95 ret
7820: 9f 91 pop r25
7822: 9f 91 pop r25
7824: 11 24 eor r1, r1
7826: d4 cf rjmp .-88 ; 0x77d0 <__fp_nan>
 
00007828 <__fp_zero>:
7828: 66 27 eor r22, r22
782a: 77 27 eor r23, r23
782c: 88 27 eor r24, r24
 
0000782e <__fp_zerox>:
782e: 99 27 eor r25, r25
7830: 08 95 ret
 
00007832 <__mulsf3>:
7832: d1 df rcall .-94 ; 0x77d6 <__fp_split3>
7834: 01 d0 rcall .+2 ; 0x7838 <__mulsf3x>
7836: b4 cf rjmp .-152 ; 0x77a0 <__fp_merge>
 
00007838 <__mulsf3x>:
7838: 99 23 and r25, r25
783a: 39 f0 breq .+14 ; 0x784a <__mulsf3x+0x12>
783c: 55 23 and r21, r21
783e: 29 f0 breq .+10 ; 0x784a <__mulsf3x+0x12>
7840: 9f 57 subi r25, 0x7F ; 127
7842: 5f 57 subi r21, 0x7F ; 127
7844: 95 0f add r25, r21
7846: 13 f4 brvc .+4 ; 0x784c <__mulsf3x+0x14>
7848: 9a f1 brmi .+102 ; 0x78b0 <__mulsf3x+0x78>
784a: f1 cf rjmp .-30 ; 0x782e <__fp_zerox>
784c: 91 58 subi r25, 0x81 ; 129
784e: 9f 3f cpi r25, 0xFF ; 255
7850: e1 f3 breq .-8 ; 0x784a <__mulsf3x+0x12>
7852: 62 9f mul r22, r18
7854: a1 2d mov r26, r1
7856: 0f 92 push r0
7858: bb 27 eor r27, r27
785a: 63 9f mul r22, r19
785c: a0 0d add r26, r0
785e: b1 1d adc r27, r1
7860: ee 27 eor r30, r30
7862: 72 9f mul r23, r18
7864: a0 0d add r26, r0
7866: b1 1d adc r27, r1
7868: ee 1f adc r30, r30
786a: af 93 push r26
786c: aa 27 eor r26, r26
786e: 64 9f mul r22, r20
7870: b0 0d add r27, r0
7872: e1 1d adc r30, r1
7874: 73 9f mul r23, r19
7876: b0 0d add r27, r0
7878: e1 1d adc r30, r1
787a: aa 1f adc r26, r26
787c: 66 27 eor r22, r22
787e: 82 9f mul r24, r18
7880: b0 0d add r27, r0
7882: e1 1d adc r30, r1
7884: a6 1f adc r26, r22
7886: 55 27 eor r21, r21
7888: 74 9f mul r23, r20
788a: e0 0d add r30, r0
788c: a1 1d adc r26, r1
788e: 55 1f adc r21, r21
7890: 83 9f mul r24, r19
7892: e0 0d add r30, r0
7894: a1 1d adc r26, r1
7896: 56 1f adc r21, r22
7898: 84 9f mul r24, r20
789a: a0 0d add r26, r0
789c: 51 1d adc r21, r1
789e: 85 2f mov r24, r21
78a0: 7a 2f mov r23, r26
78a2: 6e 2f mov r22, r30
78a4: 1f 90 pop r1
78a6: 0f 90 pop r0
78a8: 88 23 and r24, r24
78aa: 1a f4 brpl .+6 ; 0x78b2 <__mulsf3x+0x7a>
78ac: 93 95 inc r25
78ae: 39 f4 brne .+14 ; 0x78be <__mulsf3x+0x86>
78b0: 8f cf rjmp .-226 ; 0x77d0 <__fp_nan>
78b2: 00 0c add r0, r0
78b4: 11 1c adc r1, r1
78b6: bb 1f adc r27, r27
78b8: 66 1f adc r22, r22
78ba: 77 1f adc r23, r23
78bc: 88 1f adc r24, r24
78be: 01 28 or r0, r1
78c0: 08 95 ret
 
000078c2 <__mulsi3>:
78c2: 62 9f mul r22, r18
78c4: d0 01 movw r26, r0
78c6: 73 9f mul r23, r19
78c8: f0 01 movw r30, r0
78ca: 82 9f mul r24, r18
78cc: e0 0d add r30, r0
78ce: f1 1d adc r31, r1
78d0: 64 9f mul r22, r20
78d2: e0 0d add r30, r0
78d4: f1 1d adc r31, r1
78d6: 92 9f mul r25, r18
78d8: f0 0d add r31, r0
78da: 83 9f mul r24, r19
78dc: f0 0d add r31, r0
78de: 74 9f mul r23, r20
78e0: f0 0d add r31, r0
78e2: 65 9f mul r22, r21
78e4: f0 0d add r31, r0
78e6: 99 27 eor r25, r25
78e8: 72 9f mul r23, r18
78ea: b0 0d add r27, r0
78ec: e1 1d adc r30, r1
78ee: f9 1f adc r31, r25
78f0: 63 9f mul r22, r19
78f2: b0 0d add r27, r0
78f4: e1 1d adc r30, r1
78f6: f9 1f adc r31, r25
78f8: bd 01 movw r22, r26
78fa: cf 01 movw r24, r30
78fc: 11 24 eor r1, r1
78fe: 08 95 ret
 
00007900 <__udivmodqi4>:
7900: 99 1b sub r25, r25
7902: 79 e0 ldi r23, 0x09 ; 9
7904: 04 c0 rjmp .+8 ; 0x790e <__udivmodqi4_ep>
 
00007906 <__udivmodqi4_loop>:
7906: 99 1f adc r25, r25
7908: 96 17 cp r25, r22
790a: 08 f0 brcs .+2 ; 0x790e <__udivmodqi4_ep>
790c: 96 1b sub r25, r22
 
0000790e <__udivmodqi4_ep>:
790e: 88 1f adc r24, r24
7910: 7a 95 dec r23
7912: c9 f7 brne .-14 ; 0x7906 <__udivmodqi4_loop>
7914: 80 95 com r24
7916: 08 95 ret
 
00007918 <__udivmodhi4>:
7918: aa 1b sub r26, r26
791a: bb 1b sub r27, r27
791c: 51 e1 ldi r21, 0x11 ; 17
791e: 07 c0 rjmp .+14 ; 0x792e <__udivmodhi4_ep>
 
00007920 <__udivmodhi4_loop>:
7920: aa 1f adc r26, r26
7922: bb 1f adc r27, r27
7924: a6 17 cp r26, r22
7926: b7 07 cpc r27, r23
7928: 10 f0 brcs .+4 ; 0x792e <__udivmodhi4_ep>
792a: a6 1b sub r26, r22
792c: b7 0b sbc r27, r23
 
0000792e <__udivmodhi4_ep>:
792e: 88 1f adc r24, r24
7930: 99 1f adc r25, r25
7932: 5a 95 dec r21
7934: a9 f7 brne .-22 ; 0x7920 <__udivmodhi4_loop>
7936: 80 95 com r24
7938: 90 95 com r25
793a: bc 01 movw r22, r24
793c: cd 01 movw r24, r26
793e: 08 95 ret
 
00007940 <__divmodhi4>:
7940: 97 fb bst r25, 7
7942: 09 2e mov r0, r25
7944: 07 26 eor r0, r23
7946: 0a d0 rcall .+20 ; 0x795c <__divmodhi4_neg1>
7948: 77 fd sbrc r23, 7
794a: 04 d0 rcall .+8 ; 0x7954 <__divmodhi4_neg2>
794c: e5 df rcall .-54 ; 0x7918 <__udivmodhi4>
794e: 06 d0 rcall .+12 ; 0x795c <__divmodhi4_neg1>
7950: 00 20 and r0, r0
7952: 1a f4 brpl .+6 ; 0x795a <__divmodhi4_exit>
 
00007954 <__divmodhi4_neg2>:
7954: 70 95 com r23
7956: 61 95 neg r22
7958: 7f 4f sbci r23, 0xFF ; 255
 
0000795a <__divmodhi4_exit>:
795a: 08 95 ret
 
0000795c <__divmodhi4_neg1>:
795c: f6 f7 brtc .-4 ; 0x795a <__divmodhi4_exit>
795e: 90 95 com r25
7960: 81 95 neg r24
7962: 9f 4f sbci r25, 0xFF ; 255
7964: 08 95 ret
 
00007966 <__udivmodsi4>:
7966: a1 e2 ldi r26, 0x21 ; 33
7968: 1a 2e mov r1, r26
796a: aa 1b sub r26, r26
796c: bb 1b sub r27, r27
796e: fd 01 movw r30, r26
7970: 0d c0 rjmp .+26 ; 0x798c <__udivmodsi4_ep>
 
00007972 <__udivmodsi4_loop>:
7972: aa 1f adc r26, r26
7974: bb 1f adc r27, r27
7976: ee 1f adc r30, r30
7978: ff 1f adc r31, r31
797a: a2 17 cp r26, r18
797c: b3 07 cpc r27, r19
797e: e4 07 cpc r30, r20
7980: f5 07 cpc r31, r21
7982: 20 f0 brcs .+8 ; 0x798c <__udivmodsi4_ep>
7984: a2 1b sub r26, r18
7986: b3 0b sbc r27, r19
7988: e4 0b sbc r30, r20
798a: f5 0b sbc r31, r21
 
0000798c <__udivmodsi4_ep>:
798c: 66 1f adc r22, r22
798e: 77 1f adc r23, r23
7990: 88 1f adc r24, r24
7992: 99 1f adc r25, r25
7994: 1a 94 dec r1
7996: 69 f7 brne .-38 ; 0x7972 <__udivmodsi4_loop>
7998: 60 95 com r22
799a: 70 95 com r23
799c: 80 95 com r24
799e: 90 95 com r25
79a0: 9b 01 movw r18, r22
79a2: ac 01 movw r20, r24
79a4: bd 01 movw r22, r26
79a6: cf 01 movw r24, r30
79a8: 08 95 ret
 
000079aa <__divmodsi4>:
79aa: 97 fb bst r25, 7
79ac: 09 2e mov r0, r25
79ae: 05 26 eor r0, r21
79b0: 0e d0 rcall .+28 ; 0x79ce <__divmodsi4_neg1>
79b2: 57 fd sbrc r21, 7
79b4: 04 d0 rcall .+8 ; 0x79be <__divmodsi4_neg2>
79b6: d7 df rcall .-82 ; 0x7966 <__udivmodsi4>
79b8: 0a d0 rcall .+20 ; 0x79ce <__divmodsi4_neg1>
79ba: 00 1c adc r0, r0
79bc: 38 f4 brcc .+14 ; 0x79cc <__divmodsi4_exit>
 
000079be <__divmodsi4_neg2>:
79be: 50 95 com r21
79c0: 40 95 com r20
79c2: 30 95 com r19
79c4: 21 95 neg r18
79c6: 3f 4f sbci r19, 0xFF ; 255
79c8: 4f 4f sbci r20, 0xFF ; 255
79ca: 5f 4f sbci r21, 0xFF ; 255
 
000079cc <__divmodsi4_exit>:
79cc: 08 95 ret
 
000079ce <__divmodsi4_neg1>:
79ce: f6 f7 brtc .-4 ; 0x79cc <__divmodsi4_exit>
79d0: 90 95 com r25
79d2: 80 95 com r24
79d4: 70 95 com r23
79d6: 61 95 neg r22
79d8: 7f 4f sbci r23, 0xFF ; 255
79da: 8f 4f sbci r24, 0xFF ; 255
79dc: 9f 4f sbci r25, 0xFF ; 255
79de: 08 95 ret
 
000079e0 <__prologue_saves__>:
79e0: 2f 92 push r2
79e2: 3f 92 push r3
79e4: 4f 92 push r4
79e6: 5f 92 push r5
79e8: 6f 92 push r6
79ea: 7f 92 push r7
79ec: 8f 92 push r8
79ee: 9f 92 push r9
79f0: af 92 push r10
79f2: bf 92 push r11
79f4: cf 92 push r12
79f6: df 92 push r13
79f8: ef 92 push r14
79fa: ff 92 push r15
79fc: 0f 93 push r16
79fe: 1f 93 push r17
7a00: cf 93 push r28
7a02: df 93 push r29
7a04: cd b7 in r28, 0x3d ; 61
7a06: de b7 in r29, 0x3e ; 62
7a08: ca 1b sub r28, r26
7a0a: db 0b sbc r29, r27
7a0c: 0f b6 in r0, 0x3f ; 63
7a0e: f8 94 cli
7a10: de bf out 0x3e, r29 ; 62
7a12: 0f be out 0x3f, r0 ; 63
7a14: cd bf out 0x3d, r28 ; 61
7a16: 09 94 ijmp
 
00007a18 <__epilogue_restores__>:
7a18: 2a 88 ldd r2, Y+18 ; 0x12
7a1a: 39 88 ldd r3, Y+17 ; 0x11
7a1c: 48 88 ldd r4, Y+16 ; 0x10
7a1e: 5f 84 ldd r5, Y+15 ; 0x0f
7a20: 6e 84 ldd r6, Y+14 ; 0x0e
7a22: 7d 84 ldd r7, Y+13 ; 0x0d
7a24: 8c 84 ldd r8, Y+12 ; 0x0c
7a26: 9b 84 ldd r9, Y+11 ; 0x0b
7a28: aa 84 ldd r10, Y+10 ; 0x0a
7a2a: b9 84 ldd r11, Y+9 ; 0x09
7a2c: c8 84 ldd r12, Y+8 ; 0x08
7a2e: df 80 ldd r13, Y+7 ; 0x07
7a30: ee 80 ldd r14, Y+6 ; 0x06
7a32: fd 80 ldd r15, Y+5 ; 0x05
7a34: 0c 81 ldd r16, Y+4 ; 0x04
7a36: 1b 81 ldd r17, Y+3 ; 0x03
7a38: aa 81 ldd r26, Y+2 ; 0x02
7a3a: b9 81 ldd r27, Y+1 ; 0x01
7a3c: ce 0f add r28, r30
7a3e: d1 1d adc r29, r1
7a40: 0f b6 in r0, 0x3f ; 63
7a42: f8 94 cli
7a44: de bf out 0x3e, r29 ; 62
7a46: 0f be out 0x3f, r0 ; 63
7a48: cd bf out 0x3d, r28 ; 61
7a4a: ed 01 movw r28, r26
7a4c: 08 95 ret
 
00007a4e <__tablejump2__>:
7a4e: ee 0f add r30, r30
7a50: ff 1f adc r31, r31
 
00007a52 <__tablejump__>:
7a52: 05 90 lpm r0, Z+
7a54: f4 91 lpm r31, Z
7a56: e0 2d mov r30, r0
7a58: 09 94 ijmp
 
00007a5a <__eeprom_read_byte_1F2021>:
7a5a: f9 99 sbic 0x1f, 1 ; 31
7a5c: fe cf rjmp .-4 ; 0x7a5a <__eeprom_read_byte_1F2021>
7a5e: b2 bd out 0x22, r27 ; 34
7a60: a1 bd out 0x21, r26 ; 33
7a62: f8 9a sbi 0x1f, 0 ; 31
7a64: 11 96 adiw r26, 0x01 ; 1
7a66: 00 b4 in r0, 0x20 ; 32
7a68: 08 95 ret
 
00007a6a <__eeprom_read_block_1F2021>:
7a6a: f7 df rcall .-18 ; 0x7a5a <__eeprom_read_byte_1F2021>
7a6c: 01 92 st Z+, r0
7a6e: 1a 94 dec r1
7a70: e1 f7 brne .-8 ; 0x7a6a <__eeprom_read_block_1F2021>
7a72: 08 95 ret
 
00007a74 <__eeprom_write_byte_1F2021>:
7a74: f9 99 sbic 0x1f, 1 ; 31
7a76: fe cf rjmp .-4 ; 0x7a74 <__eeprom_write_byte_1F2021>
7a78: b2 bd out 0x22, r27 ; 34
7a7a: a1 bd out 0x21, r26 ; 33
7a7c: 00 bc out 0x20, r0 ; 32
7a7e: 11 96 adiw r26, 0x01 ; 1
7a80: 0f b6 in r0, 0x3f ; 63
7a82: f8 94 cli
7a84: fa 9a sbi 0x1f, 2 ; 31
7a86: f9 9a sbi 0x1f, 1 ; 31
7a88: 0f be out 0x3f, r0 ; 63
7a8a: 08 95 ret
 
00007a8c <__eeprom_write_block_1F2021>:
7a8c: 01 90 ld r0, Z+
7a8e: f2 df rcall .-28 ; 0x7a74 <__eeprom_write_byte_1F2021>
7a90: 1a 94 dec r1
7a92: e1 f7 brne .-8 ; 0x7a8c <__eeprom_write_block_1F2021>
7a94: 08 95 ret
 
00007a96 <_exit>:
7a96: ff cf rjmp .-2 ; 0x7a96 <_exit>
/branches/MicroMag3_Nick666/Festkomma/V0.68d/Flight-Ctrl_MEGA644_V0_68d.map
0,0 → 1,1533
Archive member included because of file (symbol)
 
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o)
analog.o (__subsf3)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3x.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o) (__addsf3x)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3.o)
fc.o (__divsf3)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3x.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3.o) (__divsf3x)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o)
analog.o (__fixsfsi)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(floatsisf.o)
analog.o (__floatsisf)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o)
fc.o (__nesf2)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_merge.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o) (__fp_merge)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_nan.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3x.o) (__fp_nanx)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_split.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o) (__fp_split3)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_zero.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o) (__fp_zero)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3.o)
fc.o (__mulsf3)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3.o) (__mulsf3x)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_mulsi3.o)
uart.o (__mulsi3)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodqi4.o)
main.o (__udivmodqi4)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodhi4.o)
analog.o (__udivmodhi4)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodhi4.o)
analog.o (__divmodhi4)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodsi4.o)
printf_P.o (__udivmodsi4)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodsi4.o)
timer0.o (__divmodsi4)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_prologue.o)
uart.o (__prologue_saves__)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_epilogue.o)
uart.o (__epilogue_restores__)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_exit.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o (exit)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_tablejump.o)
uart.o (__tablejump2__)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_copy_data.o)
main.o (__do_copy_data)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_clear_bss.o)
main.o (__do_clear_bss)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(memchr.o)
printf_P.o (memchr)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rb.1F2021.o)
main.o (__eeprom_read_byte_1F2021)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rblk.1F2021.o)
fc.o (__eeprom_read_block_1F2021)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wb.1F2021.o)
main.o (__eeprom_write_byte_1F2021)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wblk.1F2021.o)
fc.o (__eeprom_write_block_1F2021)
 
Allocating common symbols
Common symbol size file
 
MeineSlaveAdresse 0x1 uart.o
EE_Parameter 0x46 fc.o
DiffRoll 0x2 fc.o
MesswertRoll 0x2 fc.o
Motor_Vorne 0x1 fc.o
MittelIntegralRoll2
0x4 fc.o
Motor_Hinten 0x1 fc.o
MesswertNick 0x2 fc.o
Aktuell_ay 0x2 analog.o
MIN_GAS 0x1 fc.o
SendeBuffer 0x96 uart.o
NMEABuffer 0x96 uart.o
MittelIntegralNick2
0x4 fc.o
Mittelwert_AccHoch 0x2 fc.o
Debug_Timer 0x2 uart.o
DiffNick 0x2 fc.o
MittelIntegralNick 0x4 fc.o
VersionInfo 0xa uart.o
MittelIntegralRoll 0x4 fc.o
motor_rx 0x8 twimaster.o
MM3_calib 0x9 compass.o
PPM_in 0x16 rc.o
ExternControl 0xb uart.o
IntegralFaktor 0x4 fc.o
Motor_Rechts 0x1 fc.o
Count 0x1 fc.o
Aktuell_az 0x2 analog.o
StartLuftdruck 0x2 analog.o
RxdBuffer 0x96 uart.o
acc_neutral 0x8 fc.o
PrintZiel 0x1 printf_P.o
Aktuell_Nick 0x2 analog.o
messanzahl_Druck 0x1 analog.o
Motor_Links 0x1 fc.o
Aktuell_Roll 0x2 analog.o
Aktuell_ax 0x2 analog.o
s 0x1 fc.o
h 0x1 fc.o
Mittelwert_AccNick 0x2 fc.o
DebugOut 0x42 uart.o
DruckOffsetSetting 0x1 analog.o
Aktuell_Gier 0x2 analog.o
MM3 0xa compass.o
MAX_GAS 0x1 fc.o
MesswertGier 0x2 fc.o
ConfirmFrame 0x1 uart.o
GyroFaktor 0x4 fc.o
m 0x1 fc.o
Mittelwert_AccRoll 0x2 fc.o
MotorWert 0x5 fc.o
PPM_diff 0x16 rc.o
tmpLuftdruck 0x2 analog.o
 
Discarded input sections
 
.stabstr 0x00000000 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
 
Memory Configuration
 
Name Origin Length Attributes
text 0x00000000 0x00020000 xr
data 0x00800060 0x0000ffa0 rw !x
eeprom 0x00810000 0x00010000 rw !x
*default* 0x00000000 0xffffffff
 
Linker script and memory map
 
Address of section .data set to 0x800100
LOAD c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
LOAD main.o
LOAD uart.o
LOAD printf_P.o
LOAD timer0.o
LOAD analog.o
LOAD menu.o
LOAD twimaster.o
LOAD rc.o
LOAD fc.o
LOAD GPS.o
LOAD compass.o
LOAD mymath.o
LOAD c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a
LOAD c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a
LOAD c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a
LOAD c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a
 
.hash
*(.hash)
 
.dynsym
*(.dynsym)
 
.dynstr
*(.dynstr)
 
.gnu.version
*(.gnu.version)
 
.gnu.version_d
*(.gnu.version_d)
 
.gnu.version_r
*(.gnu.version_r)
 
.rel.init
*(.rel.init)
 
.rela.init
*(.rela.init)
 
.rel.text
*(.rel.text)
*(.rel.text.*)
*(.rel.gnu.linkonce.t*)
 
.rela.text
*(.rela.text)
*(.rela.text.*)
*(.rela.gnu.linkonce.t*)
 
.rel.fini
*(.rel.fini)
 
.rela.fini
*(.rela.fini)
 
.rel.rodata
*(.rel.rodata)
*(.rel.rodata.*)
*(.rel.gnu.linkonce.r*)
 
.rela.rodata
*(.rela.rodata)
*(.rela.rodata.*)
*(.rela.gnu.linkonce.r*)
 
.rel.data
*(.rel.data)
*(.rel.data.*)
*(.rel.gnu.linkonce.d*)
 
.rela.data
*(.rela.data)
*(.rela.data.*)
*(.rela.gnu.linkonce.d*)
 
.rel.ctors
*(.rel.ctors)
 
.rela.ctors
*(.rela.ctors)
 
.rel.dtors
*(.rel.dtors)
 
.rela.dtors
*(.rela.dtors)
 
.rel.got
*(.rel.got)
 
.rela.got
*(.rela.got)
 
.rel.bss
*(.rel.bss)
 
.rela.bss
*(.rela.bss)
 
.rel.plt
*(.rel.plt)
 
.rela.plt
*(.rela.plt)
 
.text 0x00000000 0x7a98
*(.vectors)
.vectors 0x00000000 0x70 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
0x00000000 __vectors
0x00000000 __vector_default
*(.vectors)
*(.progmem.gcc*)
.progmem.gcc_sw_table
0x00000070 0x2c uart.o
.progmem.gcc_sw_table
0x0000009c 0x16 analog.o
.progmem.gcc_sw_table
0x000000b2 0x1c menu.o
*(.progmem*)
.progmem.data 0x000000ce 0x115 main.o
.progmem.data 0x000001e3 0x2 analog.o
.progmem.data 0x000001e5 0x35b menu.o
.progmem.data 0x00000540 0x210 mymath.o
0x0000069a pgm_sinus_i
0x00000540 pgm_atan
0x00000750 . = ALIGN (0x2)
0x00000750 __trampolines_start = .
*(.trampolines)
.trampolines 0x00000750 0x0 linker stubs
*(.trampolines*)
0x00000750 __trampolines_end = .
*(.jumptables)
*(.jumptables*)
*(.lowtext)
*(.lowtext*)
0x00000750 __ctors_start = .
*(.ctors)
0x00000750 __ctors_end = .
0x00000750 __dtors_start = .
*(.dtors)
0x00000750 __dtors_end = .
SORT(*)(.ctors)
SORT(*)(.dtors)
*(.init0)
.init0 0x00000750 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
0x00000750 __init
*(.init0)
*(.init1)
*(.init1)
*(.init2)
.init2 0x00000750 0xc c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
*(.init2)
*(.init3)
*(.init3)
*(.init4)
.init4 0x0000075c 0x16 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_copy_data.o)
0x0000075c __do_copy_data
.init4 0x00000772 0x10 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_clear_bss.o)
0x00000772 __do_clear_bss
*(.init4)
*(.init5)
*(.init5)
*(.init6)
*(.init6)
*(.init7)
*(.init7)
*(.init8)
*(.init8)
*(.init9)
.init9 0x00000782 0x8 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
*(.init9)
*(.text)
.text 0x0000078a 0x4 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
0x0000078a __vector_1
0x0000078a __bad_interrupt
0x0000078a __vector_6
0x0000078a __vector_3
0x0000078a __vector_23
0x0000078a __vector_25
0x0000078a __vector_11
0x0000078a __vector_13
0x0000078a __vector_17
0x0000078a __vector_7
0x0000078a __vector_27
0x0000078a __vector_5
0x0000078a __vector_4
0x0000078a __vector_2
0x0000078a __vector_21
0x0000078a __vector_15
0x0000078a __vector_8
0x0000078a __vector_14
0x0000078a __vector_10
0x0000078a __vector_16
.text 0x0000078e 0x504 main.o
0x000007ac WriteParameterSet
0x000007e0 ReadParameterSet
0x0000080a main
0x0000078e GetActiveParamSetNumber
.text 0x00000c92 0x6f0 uart.o
0x00000c92 __vector_22
0x0000100e WriteProgramData
0x00001010 UART_Init
0x00001192 BearbeiteRxDaten
0x00000e22 AddCRC
0x00001046 DatenUebertragung
0x00000f3c Decode64
0x00000e78 SendOutData
0x00000cfe __vector_20
0x00000fec uart_putchar
.text 0x00001382 0x5a4 printf_P.o
0x00001382 Putchar
0x00001434 _printf_P
0x000013b4 PAD_0
0x000013e0 PRINTP
0x0000140c PRINT
0x000013ca PAD_SP
.text 0x00001926 0x2ee timer0.o
0x00001960 SetDelay
0x00001926 Timer_Init
0x00001972 CheckDelay
0x00001bf0 Delay_ms
0x00001bc4 Delay_ms_Mess
0x0000198a __vector_9
0x00001ad0 __vector_18
.text 0x00001c14 0x58c analog.o
0x00001c20 __vector_24
0x00001c14 ADC_Init
0x00002118 SucheLuftruckOffset
.text 0x000021a0 0x9cc menu.o
0x000021a0 LcdClear
0x000021b2 Menu
.text 0x00002b6c 0x190 twimaster.o
0x00002b94 i2c_receive_byte
0x00002b9c i2c_receive_last_byte
0x00002b78 i2c_start
0x00002cac i2c_reset
0x00002b80 i2c_stop
0x00002b6c i2c_init
0x00002ba4 __vector_26
0x00002b88 i2c_write_byte
.text 0x00002cfc 0x1e4 rc.o
0x00002d26 __vector_12
0x00002cfc rc_sum_init
.text 0x00002ee0 0x4032 fc.o
0x00006bac DefaultKonstanten3
0x00006df0 DefaultKonstanten1
0x0000421a SendMotorData
0x00002ee0 Mittelwert
0x0000453a Piep
0x00003940 CalibrierMittelwert
0x000042a8 SetNeutral
0x0000447e calib_acc
0x00006cce DefaultKonstanten2
0x00003bda ParameterZuordnung
0x00004564 MotorRegler
.text 0x00006f12 0x54 GPS.o
0x00006f12 GPS_Neutral
0x00006f54 GPS_BerechneZielrichtung
.text 0x00006f66 0x4c4 compass.o
0x000071f6 timer0_MM3
0x0000725a calib_MM3
0x00006f66 __vector_19
0x00007002 heading_MM3
0x000073f2 init_MM3
.text 0x0000742a 0x1ae mymath.o
0x000075c8 cos_i
0x00007542 sin_i
0x0000742a atan2_i
.text 0x000075d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o)
.text 0x000075d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3x.o)
.text 0x000075d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3.o)
.text 0x000075d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3x.o)
.text 0x000075d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o)
.text 0x000075d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(floatsisf.o)
.text 0x000075d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o)
.text 0x000075d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_merge.o)
.text 0x000075d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_nan.o)
.text 0x000075d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_split.o)
.text 0x000075d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_zero.o)
.text 0x000075d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3.o)
.text 0x000075d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o)
.text 0x000075d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_mulsi3.o)
.text 0x000075d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodqi4.o)
.text 0x000075d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodhi4.o)
.text 0x000075d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodhi4.o)
.text 0x000075d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodsi4.o)
.text 0x000075d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodsi4.o)
.text 0x000075d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_prologue.o)
.text 0x000075d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_epilogue.o)
.text 0x000075d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_exit.o)
.text 0x000075d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_tablejump.o)
.text 0x000075d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_copy_data.o)
.text 0x000075d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_clear_bss.o)
.text 0x000075d8 0x1a c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(memchr.o)
0x000075d8 memchr
.text 0x000075f2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rb.1F2021.o)
.text 0x000075f2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rblk.1F2021.o)
.text 0x000075f2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wb.1F2021.o)
.text 0x000075f2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wblk.1F2021.o)
0x000075f2 . = ALIGN (0x2)
*(.text.*)
.text.fplib 0x000075f2 0xa c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o)
0x000075f2 __subsf3
0x000075f4 __addsf3
.text.fplib 0x000075fc 0x7c c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3x.o)
0x000075fc __addsf3x
.text.fplib 0x00007678 0x6 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3.o)
0x00007678 __divsf3
.text.fplib 0x0000767e 0x86 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3x.o)
0x0000767e __divsf3x
.text.fplib 0x00007704 0x36 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o)
0x00007704 __fixsfsi
0x0000772a __fp_lneg
0x00007704 __fixunssfsi
.text.fplib 0x0000773a 0x18 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(floatsisf.o)
0x0000773e __floatsisf
0x0000773a __floatunssisf
.text.fplib 0x00007752 0x44 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o)
0x00007752 __lesf2
0x00007752 __nesf2
0x00007758 __gtsf2
0x00007752 __eqsf2
0x0000775e __cmpsf2
0x00007752 __ltsf2
0x00007758 __gesf2
.text.fplib 0x00007796 0x3a c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_merge.o)
0x000077a0 __fp_merge
.text.fplib 0x000077d0 0x6 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_nan.o)
0x000077d0 __fp_nanERANGE
0x000077d0 __fp_nan
0x000077d0 __fp_nanEDOM
0x000077d0 __fp_nanx
.text.fplib 0x000077d6 0x52 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_split.o)
0x000077d6 __fp_split3
0x000077dc __fp_split2
0x000077ee __fp_split1
0x0000780a __fp_split_a
.text.fplib 0x00007828 0xa c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_zero.o)
0x00007828 __fp_zero
0x0000782e __fp_zerox
.text.fplib 0x00007832 0x6 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3.o)
0x00007832 __mulsf3
.text.fplib 0x00007838 0x8a c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o)
0x00007838 __mulsf3x
.text.libgcc 0x000078c2 0x3e c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_mulsi3.o)
0x000078c2 __mulsi3
.text.libgcc 0x00007900 0x18 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodqi4.o)
0x00007900 __udivmodqi4
.text.libgcc 0x00007918 0x28 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodhi4.o)
0x00007918 __udivmodhi4
.text.libgcc 0x00007940 0x26 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodhi4.o)
0x00007940 __divmodhi4
0x00007940 _div
.text.libgcc 0x00007966 0x44 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodsi4.o)
0x00007966 __udivmodsi4
.text.libgcc 0x000079aa 0x36 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodsi4.o)
0x000079aa __divmodsi4
.text.libgcc 0x000079e0 0x38 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_prologue.o)
0x000079e0 __prologue_saves__
.text.libgcc 0x00007a18 0x36 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_epilogue.o)
0x00007a18 __epilogue_restores__
.text.libgcc 0x00007a4e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_exit.o)
.text.libgcc 0x00007a4e 0xc c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_tablejump.o)
0x00007a52 __tablejump__
0x00007a4e __tablejump2__
.text.libgcc 0x00007a5a 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_copy_data.o)
.text.libgcc 0x00007a5a 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_clear_bss.o)
.text.eeprom 0x00007a5a 0x10 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rb.1F2021.o)
0x00007a5a __eeprom_read_byte_1F2021
.text.eeprom 0x00007a6a 0xa c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rblk.1F2021.o)
0x00007a6a __eeprom_read_block_1F2021
.text.eeprom 0x00007a74 0x18 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wb.1F2021.o)
0x00007a74 __eeprom_write_byte_1F2021
.text.eeprom 0x00007a8c 0xa c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wblk.1F2021.o)
0x00007a8c __eeprom_write_block_1F2021
0x00007a96 . = ALIGN (0x2)
*(.fini9)
.fini9 0x00007a96 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_exit.o)
0x00007a96 exit
0x00007a96 _exit
*(.fini9)
*(.fini8)
*(.fini8)
*(.fini7)
*(.fini7)
*(.fini6)
*(.fini6)
*(.fini5)
*(.fini5)
*(.fini4)
*(.fini4)
*(.fini3)
*(.fini3)
*(.fini2)
*(.fini2)
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x00007a96 0x2 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_exit.o)
*(.fini0)
0x00007a98 _etext = .
 
.data 0x00800100 0x2a2 load address 0x00007a98
0x00800100 PROVIDE (__data_start, .)
*(.data)
.data 0x00800100 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
.data 0x00800100 0x1 main.o
0x00800100 PlatinenVersion
.data 0x00800101 0x203 uart.o
0x00800104 ANALOG_TEXT
0x00800103 PcZugriff
0x00800101 UebertragungAbgeschlossen
0x00800102 DebugTextAnforderung
.data 0x00800304 0x0 printf_P.o
.data 0x00800304 0x4 timer0.o
0x00800304 BeepMuster
.data 0x00800308 0x8 analog.o
0x00800308 UBat
0x0080030e MessLuftdruck
0x0080030a Luftdruck
.data 0x00800310 0x5b menu.o
0x00800310 Array
0x0080031a DisplayBuff
.data 0x0080036b 0x0 twimaster.o
.data 0x0080036b 0x1 rc.o
0x0080036b NewPpmData
.data 0x0080036c 0x36 fc.o
0x00800387 Umschlag180Nick
0x0080038f Ki
0x00800393 Parameter_Luftdruck_D
0x0080039e Parameter_DynamicStability
0x00800397 Parameter_KompassWirkung
0x0080039c Parameter_ServoNickControl
0x00800398 Parameter_Gyro_P
0x00800395 Parameter_Hoehe_P
0x0080039f ExternHoehenValue
0x00800396 Parameter_Hoehe_ACC_Wirkung
0x0080039d Parameter_LoopGasLimit
0x00800385 I2CTimeout
0x00800399 Parameter_Gyro_I
0x0080038b Umschlag180Roll
0x00800394 Parameter_MaxHoehe
0x0080039b Parameter_I_Faktor
0x0080039a Parameter_Gier_P
.data 0x008003a2 0x0 GPS.o
.data 0x008003a2 0x0 compass.o
.data 0x008003a2 0x0 mymath.o
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3x.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3x.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(floatsisf.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_merge.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_nan.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_split.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_zero.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_mulsi3.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodqi4.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodhi4.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodhi4.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodsi4.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodsi4.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_prologue.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_epilogue.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_exit.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_tablejump.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_copy_data.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_clear_bss.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(memchr.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rb.1F2021.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rblk.1F2021.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wb.1F2021.o)
.data 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wblk.1F2021.o)
*(.data*)
*(.rodata)
*(.rodata*)
*(.gnu.linkonce.d*)
0x008003a2 . = ALIGN (0x2)
0x008003a2 _edata = .
0x008003a2 PROVIDE (__data_end, .)
 
.bss 0x008003a2 0x425
0x008003a2 PROVIDE (__bss_start, .)
*(.bss)
.bss 0x008003a2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
.bss 0x008003a2 0x0 main.o
.bss 0x008003a2 0x1b uart.o
0x008003b1 DubWiseKeys
0x008003a2 DebugGetAnforderung
0x008003aa PC_DebugTimeout
0x008003ab RemotePollDisplayLine
0x008003a5 GetVersionAnforderung
0x008003a7 NeueKoordinateEmpfangen
0x008003a4 DebugDataAnforderung
0x008003ad MotorTest
0x008003a6 NeuerDatensatzEmpfangen
0x008003a3 DebugDisplayAnforderung
0x008003a8 CntCrcError
0x008003a9 AnzahlEmpfangsBytes
0x008003ac NurKanalAnforderung
.bss 0x008003bd 0x0 printf_P.o
.bss 0x008003bd 0x8 timer0.o
0x008003c0 beeptime
0x008003bd CountMilliseconds
0x008003bf UpdateMotor
0x008003c2 ServoValue
.bss 0x008003c5 0x1e analog.o
0x008003d7 HoeheD
0x008003d4 messanzahl_AccNick
0x008003d6 messanzahl_AccHoch
0x008003d9 ZaehlMessungen
0x008003c7 AdWertRoll
0x008003d5 messanzahl_AccRoll
0x008003cd AdWertAccNick
0x008003c5 AdWertNick
0x008003d1 MessanzahlNick
0x008003d3 MessanzahlGier
0x008003c9 AdWertGier
0x008003cb AdWertAccRoll
0x008003d2 MessanzahlRoll
0x008003cf AdWertAccHoch
.bss 0x008003e3 0x5 menu.o
0x008003e5 DispPtr
0x008003e6 RemoteTasten
0x008003e3 TestInt
.bss 0x008003e8 0x3 twimaster.o
0x008003e8 twi_state
0x008003e9 motor
.bss 0x008003eb 0x4 rc.o
.bss 0x008003ef 0xc7 fc.o
0x0080042d Mess_Integral_Gier2
0x00800453 LageKorrekturRoll
0x0080044a StickGier
0x0080045c Looping_Oben
0x0080041d Mess_IntegralNick2
0x008003fd IntegralNick2
0x00800445 SenderOkay
0x00800461 Parameter_UserParam5
0x00800411 IntegralAccZ
0x00800415 Integral_Gier
0x00800446 StickNick
0x0080043f Poti2
0x0080044e MotorenEin
0x00800457 Looping_Nick
0x00800409 IntegralAccNick
0x0080044f HoehenWert
0x00800425 Mess_IntegralRoll2
0x0080046b ExternStickGier
0x00800441 Poti3
0x0080045b Looping_Unten
0x0080046f MaxStickRoll
0x0080045d Parameter_UserParam1
0x008003f1 AdNeutralRoll
0x0080043b Notlandung
0x00800459 Looping_Links
0x008003f9 IntegralNick
0x00800431 Mess_Integral_Hoch
0x00800463 Parameter_UserParam7
0x00800429 Mess_Integral_Gier
0x00800455 LageKorrekturNick
0x00800460 Parameter_UserParam4
0x00800437 KompassStartwert
0x0080044c StickGas
0x00800458 Looping_Roll
0x00800467 ExternStickNick
0x0080045e Parameter_UserParam2
0x008003f7 StartNeutralNick
0x00800435 KompassValue
0x0080040d IntegralAccRoll
0x00800439 KompassRichtung
0x00800421 Mess_IntegralRoll
0x00800465 Parameter_AchsKopplung1
0x00800448 StickRoll
0x008003ef AdNeutralNick
0x00800462 Parameter_UserParam6
0x00800405 IntegralRoll2
0x0080046d MaxStickNick
0x0080043d Poti1
0x0080045f Parameter_UserParam3
0x008003f3 AdNeutralGier
0x008003f5 StartNeutralRoll
0x0080045a Looping_Rechts
0x00800469 ExternStickRoll
0x0080043c HoehenReglerAktiv
0x00800451 SollHoehe
0x00800464 Parameter_UserParam8
0x00800419 Mess_IntegralNick
0x00800443 Poti4
0x00800466 Parameter_AchsGegenKopplung1
0x00800401 IntegralRoll
.bss 0x008004b6 0x14 GPS.o
0x008004c2 GpsZiel_X
0x008004be GpsAktuell_Y
0x008004b6 GPS_Nick
0x008004ba GpsAktuell_X
0x008004c6 GpsZiel_Y
0x008004b8 GPS_Roll
.bss 0x008004ca 0x1 compass.o
.bss 0x008004cb 0x0 mymath.o
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3x.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3x.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(floatsisf.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_merge.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_nan.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_split.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_zero.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_mulsi3.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodqi4.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodhi4.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodhi4.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodsi4.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodsi4.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_prologue.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_epilogue.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_exit.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_tablejump.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_copy_data.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_clear_bss.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(memchr.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rb.1F2021.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rblk.1F2021.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wb.1F2021.o)
.bss 0x008004cb 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wblk.1F2021.o)
*(.bss*)
*(COMMON)
COMMON 0x008004cb 0x21d uart.o
0x008004cb MeineSlaveAdresse
0x008004cc SendeBuffer
0x00800562 NMEABuffer
0x008005f8 Debug_Timer
0x008005fa VersionInfo
0x00800604 ExternControl
0x0080060f RxdBuffer
0x008006a5 DebugOut
0x008006e7 ConfirmFrame
COMMON 0x008006e8 0x1 printf_P.o
0x008006e8 PrintZiel
COMMON 0x008006e9 0x12 analog.o
0x008006e9 Aktuell_ay
0x008006eb Aktuell_az
0x008006ed StartLuftdruck
0x008006ef Aktuell_Nick
0x008006f1 messanzahl_Druck
0x008006f2 Aktuell_Roll
0x008006f4 Aktuell_ax
0x008006f6 DruckOffsetSetting
0x008006f7 Aktuell_Gier
0x008006f9 tmpLuftdruck
COMMON 0x008006fb 0x8 twimaster.o
0x008006fb motor_rx
COMMON 0x00800703 0x2c rc.o
0x00800703 PPM_in
0x00800719 PPM_diff
COMMON 0x0080072f 0x85 fc.o
0x0080072f EE_Parameter
0x00800775 DiffRoll
0x00800777 MesswertRoll
0x00800779 Motor_Vorne
0x0080077a MittelIntegralRoll2
0x0080077e Motor_Hinten
0x0080077f MesswertNick
0x00800781 MIN_GAS
0x00800782 MittelIntegralNick2
0x00800786 Mittelwert_AccHoch
0x00800788 DiffNick
0x0080078a MittelIntegralNick
0x0080078e MittelIntegralRoll
0x00800792 IntegralFaktor
0x00800796 Motor_Rechts
0x00800797 Count
0x00800798 acc_neutral
0x008007a0 Motor_Links
0x008007a1 s
0x008007a2 h
0x008007a3 Mittelwert_AccNick
0x008007a5 MAX_GAS
0x008007a6 MesswertGier
0x008007a8 GyroFaktor
0x008007ac m
0x008007ad Mittelwert_AccRoll
0x008007af MotorWert
COMMON 0x008007b4 0x13 compass.o
0x008007b4 MM3_calib
0x008007bd MM3
0x008007c7 PROVIDE (__bss_end, .)
0x00007a98 __data_load_start = LOADADDR (.data)
0x00007d3a __data_load_end = (__data_load_start + SIZEOF (.data))
 
.noinit 0x008007c7 0x0
0x008007c7 PROVIDE (__noinit_start, .)
*(.noinit*)
0x008007c7 PROVIDE (__noinit_end, .)
0x008007c7 _end = .
0x008007c7 PROVIDE (__heap_start, .)
 
.eeprom 0x00810000 0x179
*(.eeprom*)
.eeprom 0x00810000 0x168 main.o
0x00810000 EEPromArray
0x0081000a EEParameterArray
.eeprom 0x00810168 0x8 fc.o
0x00810168 ee_acc_neutral
.eeprom 0x00810170 0x9 compass.o
0x00810170 ee_calib
0x00810179 __eeprom_end = .
 
.stab 0x00000000 0x378
*(.stab)
.stab 0x00000000 0x378 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
 
.stabstr 0x00000000 0x71
*(.stabstr)
.stabstr 0x00000000 0x71 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
 
.stab.excl
*(.stab.excl)
 
.stab.exclstr
*(.stab.exclstr)
 
.stab.index
*(.stab.index)
 
.stab.indexstr
*(.stab.indexstr)
 
.comment
*(.comment)
 
.debug
*(.debug)
 
.line
*(.line)
 
.debug_srcinfo
*(.debug_srcinfo)
 
.debug_sfnames
*(.debug_sfnames)
 
.debug_aranges
*(.debug_aranges)
 
.debug_pubnames
*(.debug_pubnames)
 
.debug_info
*(.debug_info)
*(.gnu.linkonce.wi.*)
 
.debug_abbrev
*(.debug_abbrev)
 
.debug_line
*(.debug_line)
 
.debug_frame
*(.debug_frame)
 
.debug_str
*(.debug_str)
 
.debug_loc
*(.debug_loc)
 
.debug_macinfo
*(.debug_macinfo)
OUTPUT(Flight-Ctrl_MEGA644_V0_68d.elf elf32-avr)
LOAD linker stubs
 
Cross Reference Table
 
Symbol File
ADC_Init analog.o
main.o
ANALOG_TEXT uart.o
AdNeutralGier fc.o
rc.o
menu.o
AdNeutralNick fc.o
rc.o
menu.o
AdNeutralRoll fc.o
rc.o
menu.o
AdWertAccHoch analog.o
fc.o
AdWertAccNick analog.o
fc.o
menu.o
AdWertAccRoll analog.o
fc.o
menu.o
AdWertGier analog.o
fc.o
AdWertNick analog.o
fc.o
menu.o
AdWertRoll analog.o
fc.o
menu.o
AddCRC uart.o
Aktuell_Gier analog.o
Aktuell_Nick analog.o
Aktuell_Roll analog.o
Aktuell_ax analog.o
Aktuell_ay analog.o
Aktuell_az fc.o
analog.o
AnzahlEmpfangsBytes uart.o
Array menu.o
BearbeiteRxDaten uart.o
main.o
BeepMuster timer0.o
fc.o
main.o
CalibrierMittelwert fc.o
CheckDelay timer0.o
compass.o
uart.o
main.o
CntCrcError uart.o
ConfirmFrame uart.o
Count fc.o
CountMilliseconds timer0.o
DatenUebertragung uart.o
main.o
DebugDataAnforderung uart.o
DebugDisplayAnforderung uart.o
DebugGetAnforderung uart.o
DebugOut fc.o
uart.o
DebugTextAnforderung uart.o
Debug_Timer uart.o
Decode64 uart.o
DefaultKonstanten1 fc.o
main.o
DefaultKonstanten2 fc.o
main.o
DefaultKonstanten3 fc.o
main.o
Delay_ms timer0.o
fc.o
Delay_ms_Mess timer0.o
fc.o
analog.o
DiffNick fc.o
DiffRoll fc.o
DispPtr menu.o
printf_P.o
DisplayBuff menu.o
printf_P.o
uart.o
DruckOffsetSetting menu.o
analog.o
DubWiseKeys uart.o
fc.o
main.o
EEParameterArray main.o
EEPromArray main.o
fc.o
analog.o
uart.o
EE_Parameter compass.o
fc.o
menu.o
timer0.o
uart.o
main.o
ExternControl fc.o
menu.o
uart.o
main.o
ExternHoehenValue fc.o
ExternStickGier fc.o
main.o
ExternStickNick fc.o
main.o
ExternStickRoll fc.o
main.o
GPS_BerechneZielrichtung GPS.o
GPS_Neutral GPS.o
fc.o
GPS_Nick GPS.o
fc.o
GPS_Roll GPS.o
fc.o
GetActiveParamSetNumber main.o
fc.o
menu.o
uart.o
GetVersionAnforderung uart.o
GpsAktuell_X GPS.o
GpsAktuell_Y GPS.o
GpsZiel_X GPS.o
GpsZiel_Y GPS.o
GyroFaktor fc.o
HoeheD analog.o
fc.o
HoehenReglerAktiv fc.o
HoehenWert fc.o
menu.o
analog.o
I2CTimeout fc.o
twimaster.o
main.o
IntegralAccNick fc.o
IntegralAccRoll fc.o
IntegralAccZ fc.o
IntegralFaktor fc.o
IntegralNick fc.o
compass.o
menu.o
timer0.o
IntegralNick2 fc.o
IntegralRoll fc.o
compass.o
menu.o
IntegralRoll2 fc.o
Integral_Gier fc.o
Ki fc.o
KompassRichtung fc.o
menu.o
KompassStartwert fc.o
menu.o
KompassValue fc.o
menu.o
LageKorrekturNick fc.o
LageKorrekturRoll fc.o
LcdClear menu.o
main.o
Looping_Links fc.o
Looping_Nick fc.o
Looping_Oben fc.o
Looping_Rechts fc.o
Looping_Roll fc.o
Looping_Unten fc.o
Luftdruck analog.o
fc.o
MAX_GAS fc.o
MIN_GAS fc.o
MM3 compass.o
MM3_calib compass.o
menu.o
MaxStickNick fc.o
MaxStickRoll fc.o
MeineSlaveAdresse uart.o
Menu menu.o
uart.o
MessLuftdruck analog.o
fc.o
menu.o
Mess_IntegralNick fc.o
Mess_IntegralNick2 fc.o
Mess_IntegralRoll fc.o
Mess_IntegralRoll2 fc.o
Mess_Integral_Gier fc.o
Mess_Integral_Gier2 fc.o
Mess_Integral_Hoch fc.o
analog.o
MessanzahlGier analog.o
MessanzahlNick analog.o
MessanzahlRoll analog.o
MesswertGier fc.o
menu.o
MesswertNick fc.o
MesswertRoll fc.o
MittelIntegralNick fc.o
MittelIntegralNick2 fc.o
MittelIntegralRoll fc.o
MittelIntegralRoll2 fc.o
Mittelwert fc.o
Mittelwert_AccHoch fc.o
menu.o
Mittelwert_AccNick fc.o
Mittelwert_AccRoll fc.o
MotorRegler fc.o
main.o
MotorTest uart.o
fc.o
MotorWert fc.o
Motor_Hinten fc.o
twimaster.o
Motor_Links fc.o
twimaster.o
Motor_Rechts fc.o
twimaster.o
Motor_Vorne fc.o
twimaster.o
MotorenEin fc.o
main.o
NMEABuffer uart.o
NeueKoordinateEmpfangen uart.o
NeuerDatensatzEmpfangen uart.o
NewPpmData rc.o
fc.o
Notlandung fc.o
NurKanalAnforderung uart.o
PAD_0 printf_P.o
PAD_SP printf_P.o
PC_DebugTimeout uart.o
PPM_diff fc.o
rc.o
PPM_in compass.o
fc.o
rc.o
menu.o
uart.o
main.o
PRINT printf_P.o
PRINTP printf_P.o
ParameterZuordnung fc.o
Parameter_AchsGegenKopplung1 fc.o
Parameter_AchsKopplung1 fc.o
Parameter_DynamicStability fc.o
Parameter_Gier_P fc.o
Parameter_Gyro_I fc.o
Parameter_Gyro_P fc.o
Parameter_Hoehe_ACC_Wirkung fc.o
Parameter_Hoehe_P fc.o
Parameter_I_Faktor fc.o
Parameter_KompassWirkung fc.o
Parameter_LoopGasLimit fc.o
Parameter_Luftdruck_D fc.o
Parameter_MaxHoehe fc.o
Parameter_ServoNickControl fc.o
menu.o
timer0.o
Parameter_UserParam1 fc.o
Parameter_UserParam2 fc.o
Parameter_UserParam3 fc.o
Parameter_UserParam4 fc.o
Parameter_UserParam5 fc.o
Parameter_UserParam6 fc.o
Parameter_UserParam7 fc.o
Parameter_UserParam8 fc.o
PcZugriff uart.o
fc.o
main.o
Piep fc.o
uart.o
PlatinenVersion main.o
compass.o
fc.o
menu.o
analog.o
timer0.o
Poti1 fc.o
menu.o
Poti2 fc.o
menu.o
Poti3 fc.o
menu.o
Poti4 fc.o
menu.o
PrintZiel printf_P.o
Putchar printf_P.o
ReadParameterSet main.o
fc.o
uart.o
RemotePollDisplayLine uart.o
menu.o
RemoteTasten menu.o
uart.o
RxdBuffer uart.o
SendMotorData fc.o
main.o
SendOutData uart.o
SendeBuffer uart.o
SenderOkay fc.o
rc.o
menu.o
main.o
ServoValue timer0.o
menu.o
SetDelay timer0.o
compass.o
uart.o
main.o
SetNeutral fc.o
main.o
SollHoehe fc.o
menu.o
StartLuftdruck fc.o
analog.o
StartNeutralNick fc.o
StartNeutralRoll fc.o
StickGas fc.o
StickGier fc.o
main.o
StickNick fc.o
main.o
StickRoll fc.o
main.o
SucheLuftruckOffset analog.o
fc.o
main.o
TestInt menu.o
Timer_Init timer0.o
main.o
UART_Init uart.o
main.o
UBat analog.o
fc.o
menu.o
main.o
UebertragungAbgeschlossen uart.o
Umschlag180Nick fc.o
uart.o
Umschlag180Roll fc.o
uart.o
UpdateMotor timer0.o
main.o
VersionInfo uart.o
main.o
WriteParameterSet main.o
uart.o
WriteProgramData uart.o
ZaehlMessungen analog.o
fc.o
__addsf3 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o)
fc.o
analog.o
__addsf3x c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3x.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o)
__bad_interrupt c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__bss_end c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_clear_bss.o)
__bss_start c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_clear_bss.o)
__cmpsf2 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o)
__data_end c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_copy_data.o)
__data_load_start c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_copy_data.o)
__data_start c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_copy_data.o)
__divmodhi4 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodhi4.o)
mymath.o
compass.o
fc.o
rc.o
menu.o
analog.o
__divmodsi4 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodsi4.o)
compass.o
fc.o
menu.o
analog.o
timer0.o
__divsf3 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3.o)
fc.o
__divsf3x c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3x.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3.o)
__do_clear_bss c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_clear_bss.o)
mymath.o
compass.o
GPS.o
fc.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
__do_copy_data c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_copy_data.o)
mymath.o
compass.o
GPS.o
fc.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
__eeprom_read_block_1F2021 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rblk.1F2021.o)
compass.o
fc.o
__eeprom_read_byte_1F2021 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rb.1F2021.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rblk.1F2021.o)
analog.o
main.o
__eeprom_write_block_1F2021 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wblk.1F2021.o)
compass.o
fc.o
__eeprom_write_byte_1F2021 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wb.1F2021.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wblk.1F2021.o)
fc.o
analog.o
uart.o
main.o
__epilogue_restores__ c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_epilogue.o)
compass.o
fc.o
printf_P.o
uart.o
__eqsf2 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o)
__fixsfsi c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o)
fc.o
menu.o
analog.o
__fixunssfsi c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o)
fc.o
__floatsisf c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(floatsisf.o)
fc.o
analog.o
__floatunssisf c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(floatsisf.o)
__fp_lneg c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(floatsisf.o)
__fp_merge c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_merge.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(floatsisf.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o)
__fp_nan c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_nan.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_split.o)
__fp_nanEDOM c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_nan.o)
__fp_nanERANGE c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_nan.o)
__fp_nanx c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_nan.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3x.o)
__fp_split1 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_split.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o)
__fp_split2 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_split.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o)
__fp_split3 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_split.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o)
__fp_split_a c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_split.o)
__fp_zero c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_zero.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_merge.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o)
__fp_zerox c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_zero.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3x.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3x.o)
__gesf2 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o)
__gtsf2 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o)
analog.o
__heap_end c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__init c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__lesf2 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o)
__ltsf2 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o)
fc.o
analog.o
__mulsf3 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3.o)
fc.o
__mulsf3x c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3.o)
__mulsi3 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_mulsi3.o)
compass.o
fc.o
timer0.o
uart.o
__nesf2 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o)
fc.o
__prologue_saves__ c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_prologue.o)
compass.o
fc.o
printf_P.o
uart.o
__stack c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__subsf3 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o)
fc.o
analog.o
__tablejump2__ c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_tablejump.o)
menu.o
analog.o
uart.o
__tablejump__ c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_tablejump.o)
__udivmodhi4 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodhi4.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodhi4.o)
analog.o
__udivmodqi4 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodqi4.o)
menu.o
main.o
__udivmodsi4 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodsi4.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodsi4.o)
printf_P.o
__vector_1 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_10 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_11 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_12 rc.o
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_13 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_14 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_15 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_16 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_17 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_18 timer0.o
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_19 compass.o
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_2 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_20 uart.o
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_21 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_22 uart.o
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_23 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_24 analog.o
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_25 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_26 twimaster.o
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_27 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_3 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_4 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_5 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_6 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_7 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_8 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_9 timer0.o
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vector_default c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
__vectors c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
_div c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodhi4.o)
_exit c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_exit.o)
_printf_P printf_P.o
menu.o
analog.o
main.o
acc_neutral fc.o
menu.o
analog.o
atan2_i mymath.o
compass.o
beeptime timer0.o
compass.o
fc.o
main.o
calib_MM3 compass.o
main.o
calib_acc fc.o
main.o
cos_i mymath.o
compass.o
ee_acc_neutral fc.o
ee_calib compass.o
exit c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_exit.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
h fc.o
heading_MM3 compass.o
fc.o
i2c_init twimaster.o
main.o
i2c_receive_byte twimaster.o
i2c_receive_last_byte twimaster.o
i2c_reset twimaster.o
main.o
i2c_start twimaster.o
fc.o
i2c_stop twimaster.o
i2c_write_byte twimaster.o
init_MM3 compass.o
main.o
m fc.o
main main.o
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
memchr c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(memchr.o)
printf_P.o
messanzahl_AccHoch analog.o
messanzahl_AccNick analog.o
messanzahl_AccRoll analog.o
messanzahl_Druck analog.o
motor twimaster.o
fc.o
motor_rx twimaster.o
pgm_atan mymath.o
pgm_sinus_i mymath.o
rc_sum_init rc.o
main.o
s fc.o
sin_i mymath.o
compass.o
timer0_MM3 compass.o
timer0.o
tmpLuftdruck analog.o
twi_state twimaster.o
fc.o
uart_putchar uart.o
printf_P.o
/branches/MicroMag3_Nick666/Festkomma/V0.68d/Flight-Ctrl_MEGA644_V0_68d.sym
0,0 → 1,546
00000000 W __heap_end
00000000 a __tmp_reg__
00000000 a __tmp_reg__
00000000 a __tmp_reg__
00000000 a __tmp_reg__
00000000 a __tmp_reg__
00000000 a __tmp_reg__
00000000 a __tmp_reg__
00000000 a __tmp_reg__
00000000 a __tmp_reg__
00000000 a __tmp_reg__
00000000 a __tmp_reg__
00000000 a __tmp_reg__
00000000 W __vector_default
00000000 T __vectors
00000001 a __zero_reg__
00000001 a __zero_reg__
00000001 a __zero_reg__
00000001 a __zero_reg__
00000001 a __zero_reg__
00000001 a __zero_reg__
00000001 a __zero_reg__
00000001 a __zero_reg__
00000001 a __zero_reg__
00000001 a __zero_reg__
00000001 a __zero_reg__
00000001 a __zero_reg__
0000003d a __SP_L__
0000003d a __SP_L__
0000003d a __SP_L__
0000003d a __SP_L__
0000003d a __SP_L__
0000003d a __SP_L__
0000003d a __SP_L__
0000003d a __SP_L__
0000003d a __SP_L__
0000003d a __SP_L__
0000003d a __SP_L__
0000003d a __SP_L__
0000003e a __SP_H__
0000003e a __SP_H__
0000003e a __SP_H__
0000003e a __SP_H__
0000003e a __SP_H__
0000003e a __SP_H__
0000003e a __SP_H__
0000003e a __SP_H__
0000003e a __SP_H__
0000003e a __SP_H__
0000003e a __SP_H__
0000003e a __SP_H__
0000003f a __SREG__
0000003f a __SREG__
0000003f a __SREG__
0000003f a __SREG__
0000003f a __SREG__
0000003f a __SREG__
0000003f a __SREG__
0000003f a __SREG__
0000003f a __SREG__
0000003f a __SREG__
0000003f a __SREG__
0000003f a __SREG__
000000ce t __c.2081
000000d2 t __c.2079
000000da t __c.2077
000000e6 t __c.2075
000000f4 t __c.2073
000000f9 t __c.2068
00000116 t __c.2066
0000012f t __c.2064
00000144 t __c.2059
0000015f t __c.2052
0000018e t __c.2050
000001af t __c.2048
000001e3 t __c.2046
000001e5 t __c.2163
000001f3 t __c.2161
00000201 t __c.2159
0000020f t __c.2157
00000219 t __c.2154
00000228 t __c.2152
00000237 t __c.2150
00000246 t __c.2148
0000024e t __c.2145
0000025e t __c.2143
0000026e t __c.2141
0000027e t __c.2139
0000028e t __c.2136
0000029c t __c.2134
000002aa t __c.2132
000002b8 t __c.2130
000002c0 t __c.2127
000002cc t __c.2125
000002d8 t __c.2123
000002e4 t __c.2121
000002f0 t __c.2118
000002ff t __c.2116
0000030e t __c.2114
0000031d t __c.2112
0000032c t __c.2109
0000033b t __c.2107
0000034a t __c.2104
00000359 t __c.2102
00000368 t __c.2100
00000377 t __c.2098
00000384 t __c.2095
00000393 t __c.2093
000003a2 t __c.2091
000003b1 t __c.2089
000003c0 t __c.2087
000003cf t __c.2085
000003de t __c.2083
000003ec t __c.2080
000003fc t __c.2078
0000040c t __c.2076
0000041c t __c.2074
0000042c t __c.2071
0000043c t __c.2069
0000044c t __c.2067
0000045c t __c.2065
0000046c t __c.2062
0000047b t __c.2060
0000048a t __c.2058
00000499 t __c.2056
000004a3 t __c.2053
000004b1 t __c.2051
000004b8 t __c.2049
000004c7 t __c.2047
000004d6 t __c.2045
000004e5 t __c.2043
000004f4 t __c.2039
00000504 t __c.2037
00000511 t __c.2035
00000526 t __c.2033
00000536 t __c.2030
0000053b t __c.2028
00000540 T pgm_atan
0000069a T pgm_sinus_i
00000750 T __ctors_end
00000750 T __ctors_start
00000750 T __dtors_end
00000750 T __dtors_start
00000750 W __init
00000750 T __trampolines_end
00000750 T __trampolines_start
0000075c T __do_copy_data
00000768 t .do_copy_data_loop
0000076c t .do_copy_data_start
00000772 T __do_clear_bss
0000077a t .do_clear_bss_loop
0000077c t .do_clear_bss_start
0000078a T __bad_interrupt
0000078a W __vector_1
0000078a W __vector_10
0000078a W __vector_11
0000078a W __vector_13
0000078a W __vector_14
0000078a W __vector_15
0000078a W __vector_16
0000078a W __vector_17
0000078a W __vector_2
0000078a W __vector_21
0000078a W __vector_23
0000078a W __vector_25
0000078a W __vector_27
0000078a W __vector_3
0000078a W __vector_4
0000078a W __vector_5
0000078a W __vector_6
0000078a W __vector_7
0000078a W __vector_8
0000078e T GetActiveParamSetNumber
000007ac T WriteParameterSet
000007c8 t .36_start
000007d4 t .36_finished
000007e0 T ReadParameterSet
000007fc t .57_start
00000808 t .57_finished
0000080a T main
00000c92 T __vector_22
00000cfe T __vector_20
00000e22 T AddCRC
00000e78 T SendOutData
00000f3c T Decode64
00000fec T uart_putchar
0000100e T WriteProgramData
00001010 T UART_Init
00001046 T DatenUebertragung
000010ff W __stack
00001192 T BearbeiteRxDaten
00001382 T Putchar
000013b4 T PAD_0
000013ca T PAD_SP
000013e0 T PRINTP
0000140c T PRINT
00001434 T _printf_P
00001926 T Timer_Init
00001960 T SetDelay
00001972 T CheckDelay
0000198a T __vector_9
00001ad0 T __vector_18
00001bc4 T Delay_ms_Mess
00001bf0 T Delay_ms
00001c14 T ADC_Init
00001c20 T __vector_24
00002118 T SucheLuftruckOffset
000021a0 T LcdClear
000021b2 T Menu
00002b6c T i2c_init
00002b78 T i2c_start
00002b80 T i2c_stop
00002b88 T i2c_write_byte
00002b94 T i2c_receive_byte
00002b9c T i2c_receive_last_byte
00002ba4 T __vector_26
00002cac T i2c_reset
00002cfc T rc_sum_init
00002d26 T __vector_12
00002ee0 T Mittelwert
00003940 T CalibrierMittelwert
00003bda T ParameterZuordnung
0000421a T SendMotorData
000042a8 T SetNeutral
0000447e T calib_acc
0000453a T Piep
00004564 T MotorRegler
00006bac T DefaultKonstanten3
00006cce T DefaultKonstanten2
00006df0 T DefaultKonstanten1
00006f12 T GPS_Neutral
00006f54 T GPS_BerechneZielrichtung
00006f66 T __vector_19
00007002 T heading_MM3
000071f6 T timer0_MM3
0000725a T calib_MM3
000073f2 T init_MM3
0000742a T atan2_i
00007542 T sin_i
000075c8 T cos_i
000075d8 T memchr
000075f2 T __subsf3
000075f4 T __addsf3
000075fc T __addsf3x
00007678 T __divsf3
0000767e T __divsf3x
00007704 T __fixsfsi
00007704 T __fixunssfsi
0000772a T __fp_lneg
0000773a T __floatunssisf
0000773e T __floatsisf
00007752 T __eqsf2
00007752 T __lesf2
00007752 T __ltsf2
00007752 T __nesf2
00007758 T __gesf2
00007758 T __gtsf2
0000775e T __cmpsf2
00007770 t .fp_cmp
000077a0 T __fp_merge
000077d0 T __fp_nan
000077d0 T __fp_nanEDOM
000077d0 T __fp_nanERANGE
000077d0 T __fp_nanx
000077d6 T __fp_split3
000077dc T __fp_split2
000077ee T __fp_split1
0000780a T __fp_split_a
00007828 T __fp_zero
0000782e T __fp_zerox
00007832 T __mulsf3
00007838 T __mulsf3x
000078c2 T __mulsi3
00007900 T __udivmodqi4
00007906 t __udivmodqi4_loop
0000790e t __udivmodqi4_ep
00007918 T __udivmodhi4
00007920 t __udivmodhi4_loop
0000792e t __udivmodhi4_ep
00007940 T __divmodhi4
00007940 T _div
00007954 t __divmodhi4_neg2
0000795a t __divmodhi4_exit
0000795c t __divmodhi4_neg1
00007966 T __udivmodsi4
00007972 t __udivmodsi4_loop
0000798c t __udivmodsi4_ep
000079aa T __divmodsi4
000079be t __divmodsi4_neg2
000079cc t __divmodsi4_exit
000079ce t __divmodsi4_neg1
000079e0 T __prologue_saves__
00007a18 T __epilogue_restores__
00007a4e T __tablejump2__
00007a52 T __tablejump__
00007a5a T __eeprom_read_byte_1F2021
00007a6a T __eeprom_read_block_1F2021
00007a74 T __eeprom_write_byte_1F2021
00007a8c T __eeprom_write_block_1F2021
00007a96 t __stop_program
00007a96 T _exit
00007a96 W exit
00007a98 A __data_load_start
00007a98 T _etext
00007d3a A __data_load_end
00800100 D __data_start
00800100 D PlatinenVersion
00800101 D UebertragungAbgeschlossen
00800102 D DebugTextAnforderung
00800103 D PcZugriff
00800104 D ANALOG_TEXT
00800304 D BeepMuster
00800306 d timer.2116
00800307 d cnt_1ms.2030
00800308 D UBat
0080030a D Luftdruck
0080030e D MessLuftdruck
00800310 D Array
0080031a D DisplayBuff
0080036a d MaxMenue.2026
0080036b D NewPpmData
00800385 D I2CTimeout
00800387 D Umschlag180Nick
0080038b D Umschlag180Roll
0080038f D Ki
00800393 D Parameter_Luftdruck_D
00800394 D Parameter_MaxHoehe
00800395 D Parameter_Hoehe_P
00800396 D Parameter_Hoehe_ACC_Wirkung
00800397 D Parameter_KompassWirkung
00800398 D Parameter_Gyro_P
00800399 D Parameter_Gyro_I
0080039a D Parameter_Gier_P
0080039b D Parameter_I_Faktor
0080039c D Parameter_ServoNickControl
0080039d D Parameter_LoopGasLimit
0080039e D Parameter_DynamicStability
0080039f D ExternHoehenValue
008003a1 d NeueKompassRichtungMerken.2505
008003a2 B __bss_start
008003a2 D __data_end
008003a2 D _edata
008003a2 B DebugGetAnforderung
008003a3 B DebugDisplayAnforderung
008003a4 B DebugDataAnforderung
008003a5 B GetVersionAnforderung
008003a6 B NeuerDatensatzEmpfangen
008003a7 B NeueKoordinateEmpfangen
008003a8 B CntCrcError
008003a9 B AnzahlEmpfangsBytes
008003aa B PC_DebugTimeout
008003ab B RemotePollDisplayLine
008003ac B NurKanalAnforderung
008003ad B MotorTest
008003b1 B DubWiseKeys
008003b5 b UartState.2058
008003b6 b buf_ptr.2057
008003b7 b crc2.2056
008003b8 b crc1.2055
008003b9 b crc.2054
008003bb b ptr.2041
008003bd B CountMilliseconds
008003bf B UpdateMotor
008003c0 B beeptime
008003c2 B ServoValue
008003c4 b cnt.2031
008003c5 B AdWertNick
008003c7 B AdWertRoll
008003c9 B AdWertGier
008003cb B AdWertAccRoll
008003cd B AdWertAccNick
008003cf B AdWertAccHoch
008003d1 B MessanzahlNick
008003d2 B MessanzahlRoll
008003d3 B MessanzahlGier
008003d4 B messanzahl_AccNick
008003d5 B messanzahl_AccRoll
008003d6 B messanzahl_AccHoch
008003d7 B HoeheD
008003d9 B ZaehlMessungen
008003db b nick1.2068
008003dd b roll1.2067
008003df b gier1.2066
008003e1 b state.2065
008003e2 b kanal.2064
008003e3 B TestInt
008003e5 B DispPtr
008003e6 B RemoteTasten
008003e7 b MenuePunkt.2027
008003e8 B twi_state
008003e9 B motor
008003ea b motorread.2054
008003eb b index.2028
008003ed b AltICR.2025
008003ef B AdNeutralNick
008003f1 B AdNeutralRoll
008003f3 B AdNeutralGier
008003f5 B StartNeutralRoll
008003f7 B StartNeutralNick
008003f9 B IntegralNick
008003fd B IntegralNick2
00800401 B IntegralRoll
00800405 B IntegralRoll2
00800409 B IntegralAccNick
0080040d B IntegralAccRoll
00800411 B IntegralAccZ
00800415 B Integral_Gier
00800419 B Mess_IntegralNick
0080041d B Mess_IntegralNick2
00800421 B Mess_IntegralRoll
00800425 B Mess_IntegralRoll2
00800429 B Mess_Integral_Gier
0080042d B Mess_Integral_Gier2
00800431 B Mess_Integral_Hoch
00800435 B KompassValue
00800437 B KompassStartwert
00800439 B KompassRichtung
0080043b B Notlandung
0080043c B HoehenReglerAktiv
0080043d B Poti1
0080043f B Poti2
00800441 B Poti3
00800443 B Poti4
00800445 B SenderOkay
00800446 B StickNick
00800448 B StickRoll
0080044a B StickGier
0080044c B StickGas
0080044e B MotorenEin
0080044f B HoehenWert
00800451 B SollHoehe
00800453 B LageKorrekturRoll
00800455 B LageKorrekturNick
00800457 B Looping_Nick
00800458 B Looping_Roll
00800459 B Looping_Links
0080045a B Looping_Rechts
0080045b B Looping_Unten
0080045c B Looping_Oben
0080045d B Parameter_UserParam1
0080045e B Parameter_UserParam2
0080045f B Parameter_UserParam3
00800460 B Parameter_UserParam4
00800461 B Parameter_UserParam5
00800462 B Parameter_UserParam6
00800463 B Parameter_UserParam7
00800464 B Parameter_UserParam8
00800465 B Parameter_AchsKopplung1
00800466 B Parameter_AchsGegenKopplung1
00800467 B ExternStickNick
00800469 B ExternStickRoll
0080046b B ExternStickGier
0080046d B MaxStickNick
0080046f B MaxStickRoll
00800471 b updKompass.2521
00800472 b MittelIntegralRoll_Alt.2518
00800476 b MittelIntegralNick_Alt.2517
0080047a b last_r_n.2516
0080047b b last_r_p.2515
0080047c b last_n_n.2514
0080047d b last_n_p.2513
0080047e b cnt.2512
00800480 b ausgleichRoll.2507
00800484 b ausgleichNick.2506
00800488 b TimerWerteausgabe.2504
00800489 b hoehenregler.2503
0080048b b modell_fliegt.2502
0080048d b delay_ausschalten.2501
0080048e b delay_einschalten.2500
0080048f b delay_neutral.2499
00800490 b RcLostTimer.2498
00800492 b IntegralFehlerRoll.2497
00800496 b IntegralFehlerNick.2496
0080049a b tmp_long2.2495
0080049e b tmp_long.2494
008004a2 b sollGier.2493
008004a6 b SummeRoll.2492
008004aa b SummeNick.2491
008004ae b tmpl2.2171
008004b2 b tmpl.2170
008004b6 B GPS_Nick
008004b8 B GPS_Roll
008004ba B GpsAktuell_X
008004be B GpsAktuell_Y
008004c2 B GpsZiel_X
008004c6 B GpsZiel_Y
008004ca b tmp.2057
008004cb B MeineSlaveAdresse
008004cc B SendeBuffer
00800562 B NMEABuffer
008005f8 B Debug_Timer
008005fa B VersionInfo
00800604 B ExternControl
0080060f B RxdBuffer
008006a5 B DebugOut
008006e7 B ConfirmFrame
008006e8 B PrintZiel
008006e9 B Aktuell_ay
008006eb B Aktuell_az
008006ed B StartLuftdruck
008006ef B Aktuell_Nick
008006f1 B messanzahl_Druck
008006f2 B Aktuell_Roll
008006f4 B Aktuell_ax
008006f6 B DruckOffsetSetting
008006f7 B Aktuell_Gier
008006f9 B tmpLuftdruck
008006fb B motor_rx
00800703 B PPM_in
00800719 B PPM_diff
0080072f B EE_Parameter
00800775 B DiffRoll
00800777 B MesswertRoll
00800779 B Motor_Vorne
0080077a B MittelIntegralRoll2
0080077e B Motor_Hinten
0080077f B MesswertNick
00800781 B MIN_GAS
00800782 B MittelIntegralNick2
00800786 B Mittelwert_AccHoch
00800788 B DiffNick
0080078a B MittelIntegralNick
0080078e B MittelIntegralRoll
00800792 B IntegralFaktor
00800796 B Motor_Rechts
00800797 B Count
00800798 B acc_neutral
008007a0 B Motor_Links
008007a1 B s
008007a2 B h
008007a3 B Mittelwert_AccNick
008007a5 B MAX_GAS
008007a6 B MesswertGier
008007a8 B GyroFaktor
008007ac B m
008007ad B Mittelwert_AccRoll
008007af B MotorWert
008007b4 B MM3_calib
008007bd B MM3
008007c7 B __bss_end
008007c7 A _end
00810000 D EEPromArray
0081000a D EEParameterArray
00810168 D ee_acc_neutral
00810170 D ee_calib
00810179 D __eeprom_end
/branches/MicroMag3_Nick666/Festkomma/V0.68d/FlightCtrl.aps
0,0 → 1,0
<AVRStudio><MANAGEMENT><ProjectName>FlightCtrl</ProjectName><Created>15-May-2007 11:20:41</Created><LastEdit>11-Oct-2007 22:58:54</LastEdit><ICON>241</ICON><ProjectType>0</ProjectType><Created>15-May-2007 11:20:41</Created><Version>4</Version><Build>4, 13, 0, 528</Build><ProjectTypeName>AVR GCC</ProjectTypeName></MANAGEMENT><CODE_CREATION><ObjectFile>default\Flight-Ctrl.elf</ObjectFile><EntryFile></EntryFile><SaveFolder>F:\SVN\MikroKopter\FlightCtrl\branches\V0.64_ZeroWarnings\</SaveFolder></CODE_CREATION><DEBUG_TARGET><CURRENT_TARGET>AVR Simulator</CURRENT_TARGET><CURRENT_PART>ATmega644.xml</CURRENT_PART><BREAKPOINTS></BREAKPOINTS><IO_EXPAND><HIDE>false</HIDE></IO_EXPAND><REGISTERNAMES><Register>R00</Register><Register>R01</Register><Register>R02</Register><Register>R03</Register><Register>R04</Register><Register>R05</Register><Register>R06</Register><Register>R07</Register><Register>R08</Register><Register>R09</Register><Register>R10</Register><Register>R11</Register><Register>R12</Register><Register>R13</Register><Register>R14</Register><Register>R15</Register><Register>R16</Register><Register>R17</Register><Register>R18</Register><Register>R19</Register><Register>R20</Register><Register>R21</Register><Register>R22</Register><Register>R23</Register><Register>R24</Register><Register>R25</Register><Register>R26</Register><Register>R27</Register><Register>R28</Register><Register>R29</Register><Register>R30</Register><Register>R31</Register></REGISTERNAMES><COM>Auto</COM><COMType>0</COMType><WATCHNUM>0</WATCHNUM><WATCHNAMES><Pane0></Pane0><Pane1></Pane1><Pane2></Pane2><Pane3></Pane3></WATCHNAMES><BreakOnTrcaeFull>0</BreakOnTrcaeFull></DEBUG_TARGET><Debugger><Triggers></Triggers></Debugger><AVRGCCPLUGIN><FILES><SOURCEFILE>uart.c</SOURCEFILE><SOURCEFILE>analog.c</SOURCEFILE><SOURCEFILE>eeprom.c</SOURCEFILE><SOURCEFILE>fc.c</SOURCEFILE><SOURCEFILE>GPS.c</SOURCEFILE><SOURCEFILE>main.c</SOURCEFILE><SOURCEFILE>menu.c</SOURCEFILE><SOURCEFILE>printf_P.c</SOURCEFILE><SOURCEFILE>rc.c</SOURCEFILE><SOURCEFILE>timer0.c</SOURCEFILE><SOURCEFILE>twimaster.c</SOURCEFILE><HEADERFILE>uart.h</HEADERFILE><HEADERFILE>_Settings.h</HEADERFILE><HEADERFILE>analog.h</HEADERFILE><HEADERFILE>fc.h</HEADERFILE><HEADERFILE>gps.h</HEADERFILE><HEADERFILE>main.h</HEADERFILE><HEADERFILE>menu.h</HEADERFILE><HEADERFILE>old_macros.h</HEADERFILE><HEADERFILE>printf_P.h</HEADERFILE><HEADERFILE>rc.h</HEADERFILE><HEADERFILE>Settings.h</HEADERFILE><HEADERFILE>timer0.h</HEADERFILE><HEADERFILE>twimaster.h</HEADERFILE></FILES><CONFIGS><CONFIG><NAME>default</NAME><USESEXTERNALMAKEFILE>NO</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE></EXTERNALMAKEFILE><PART>atmega644</PART><HEX>1</HEX><LIST>1</LIST><MAP>1</MAP><OUTPUTFILENAME>Flight-Ctrl.elf</OUTPUTFILENAME><OUTPUTDIR>default\</OUTPUTDIR><ISDIRTY>1</ISDIRTY><OPTIONS><OPTION><FILE>GPS.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>analog.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>eeprom.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>fc.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>main.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>menu.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>printf_P.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>rc.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>timer0.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>twimaster.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>uart.c</FILE><OPTIONLIST></OPTIONLIST></OPTION></OPTIONS><INCDIRS/><LIBDIRS/><LIBS><LIB>libc.a</LIB><LIB>libm.a</LIB></LIBS><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -Wstrict-prototypes -std=gnu99 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -DVERSION_HAUPTVERSION=0 -DVERSION_NEBENVERSION=64 -DVERSION_KOMPATIBEL=5</OPTIONSFORALL><LINKEROPTIONS></LINKEROPTIONS><SEGMENTS/></CONFIG></CONFIGS><LASTCONFIG>default</LASTCONFIG><USES_WINAVR>1</USES_WINAVR><GCC_LOC>C:\Program Files\WinAVR\bin\avr-gcc.exe</GCC_LOC><MAKE_LOC>C:\Program Files\WinAVR\utils\bin\make.exe</MAKE_LOC></AVRGCCPLUGIN><IOView><usergroups/></IOView><Files><File00000><FileId>00000</FileId><FileName>main.c</FileName><Status>1</Status></File00000><File00001><FileId>00001</FileId><FileName>uart.c</FileName><Status>1</Status></File00001><File00002><FileId>00002</FileId><FileName>menu.c</FileName><Status>1</Status></File00002><File00003><FileId>00003</FileId><FileName>timer0.c</FileName><Status>1</Status></File00003><File00004><FileId>00004</FileId><FileName>fc.c</FileName><Status>1</Status></File00004><File00005><FileId>00005</FileId><FileName>fc.h</FileName><Status>1</Status></File00005><File00006><FileId>00006</FileId><FileName>menu.h</FileName><Status>1</Status></File00006><File00007><FileId>00007</FileId><FileName>TWIMASTER.C</FileName><Status>1</Status></File00007><File00008><FileId>00008</FileId><FileName>twimaster.h</FileName><Status>1</Status></File00008><File00009><FileId>00009</FileId><FileName>uart.h</FileName><Status>1</Status></File00009><File00010><FileId>00010</FileId><FileName>_Settings.h</FileName><Status>1</Status></File00010><File00011><FileId>00011</FileId><FileName>analog.h</FileName><Status>1</Status></File00011><File00012><FileId>00012</FileId><FileName>gps.h</FileName><Status>1</Status></File00012><File00013><FileId>00013</FileId><FileName>main.h</FileName><Status>1</Status></File00013><File00014><FileId>00014</FileId><FileName>old_macros.h</FileName><Status>1</Status></File00014><File00015><FileId>00015</FileId><FileName>printf_P.h</FileName><Status>1</Status></File00015><File00016><FileId>00016</FileId><FileName>rc.h</FileName><Status>1</Status></File00016><File00017><FileId>00017</FileId><FileName>Settings.h</FileName><Status>1</Status></File00017><File00018><FileId>00018</FileId><FileName>timer0.h</FileName><Status>1</Status></File00018></Files><Events><Bookmarks></Bookmarks></Events><Trace><Filters></Filters></Trace></AVRStudio>
/branches/MicroMag3_Nick666/Festkomma/V0.68d/GPS.c
0,0 → 1,30
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Copyright (c) 04.2007 Holger Buss
// + only for non-profit use
// + www.MikroKopter.com
// + see the File "License.txt" for further Informations
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#include "main.h"
 
signed int GPS_Nick = 0;
signed int GPS_Roll = 0;
long GpsAktuell_X = 0;
long GpsAktuell_Y = 0;
long GpsZiel_X = 0;
long GpsZiel_Y = 0;
void GPS_Neutral(void)
{
GpsZiel_X = GpsAktuell_X;
GpsZiel_Y = GpsAktuell_Y;
}
 
void GPS_BerechneZielrichtung(void)
{
GPS_Nick = 0;
GPS_Roll = 0;
}
 
 
 
 
/branches/MicroMag3_Nick666/Festkomma/V0.68d/GPS.d
0,0 → 1,2
GPS.o GPS.d : GPS.c main.h old_macros.h _Settings.h printf_P.h timer0.h uart.h \
analog.h twimaster.h menu.h rc.h fc.h gps.h compass.h mymath.h
/branches/MicroMag3_Nick666/Festkomma/V0.68d/GPS.lst
0,0 → 1,91
1 .file "GPS.c"
2 .arch atmega644
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
10 .text
11 .global GPS_Neutral
13 GPS_Neutral:
14 /* prologue: frame size=0 */
15 /* prologue end (size=0) */
16 0000 8091 0000 lds r24,GpsAktuell_X
17 0004 9091 0000 lds r25,(GpsAktuell_X)+1
18 0008 A091 0000 lds r26,(GpsAktuell_X)+2
19 000c B091 0000 lds r27,(GpsAktuell_X)+3
20 0010 8093 0000 sts GpsZiel_X,r24
21 0014 9093 0000 sts (GpsZiel_X)+1,r25
22 0018 A093 0000 sts (GpsZiel_X)+2,r26
23 001c B093 0000 sts (GpsZiel_X)+3,r27
24 0020 8091 0000 lds r24,GpsAktuell_Y
25 0024 9091 0000 lds r25,(GpsAktuell_Y)+1
26 0028 A091 0000 lds r26,(GpsAktuell_Y)+2
27 002c B091 0000 lds r27,(GpsAktuell_Y)+3
28 0030 8093 0000 sts GpsZiel_Y,r24
29 0034 9093 0000 sts (GpsZiel_Y)+1,r25
30 0038 A093 0000 sts (GpsZiel_Y)+2,r26
31 003c B093 0000 sts (GpsZiel_Y)+3,r27
32 /* epilogue: frame size=0 */
33 0040 0895 ret
34 /* epilogue end (size=1) */
35 /* function GPS_Neutral size 33 (32) */
37 .global GPS_BerechneZielrichtung
39 GPS_BerechneZielrichtung:
40 /* prologue: frame size=0 */
41 /* prologue end (size=0) */
42 0042 1092 0000 sts (GPS_Nick)+1,__zero_reg__
43 0046 1092 0000 sts GPS_Nick,__zero_reg__
44 004a 1092 0000 sts (GPS_Roll)+1,__zero_reg__
45 004e 1092 0000 sts GPS_Roll,__zero_reg__
46 /* epilogue: frame size=0 */
47 0052 0895 ret
48 /* epilogue end (size=1) */
49 /* function GPS_BerechneZielrichtung size 9 (8) */
51 .global GPS_Nick
52 .global GPS_Nick
53 .section .bss
56 GPS_Nick:
57 0000 0000 .skip 2,0
58 .global GPS_Roll
59 .global GPS_Roll
62 GPS_Roll:
63 0002 0000 .skip 2,0
64 .global GpsAktuell_X
65 .global GpsAktuell_X
68 GpsAktuell_X:
69 0004 0000 0000 .skip 4,0
70 .global GpsAktuell_Y
71 .global GpsAktuell_Y
74 GpsAktuell_Y:
75 0008 0000 0000 .skip 4,0
76 .global GpsZiel_X
77 .global GpsZiel_X
80 GpsZiel_X:
81 000c 0000 0000 .skip 4,0
82 .global GpsZiel_Y
83 .global GpsZiel_Y
86 GpsZiel_Y:
87 0010 0000 0000 .skip 4,0
88 /* File "GPS.c": code 42 = 0x002a ( 40), prologues 0, epilogues 2 */
DEFINED SYMBOLS
*ABS*:00000000 GPS.c
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEXJAXl.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEXJAXl.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEXJAXl.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEXJAXl.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEXJAXl.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEXJAXl.s:13 .text:00000000 GPS_Neutral
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEXJAXl.s:68 .bss:00000004 GpsAktuell_X
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEXJAXl.s:80 .bss:0000000c GpsZiel_X
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEXJAXl.s:74 .bss:00000008 GpsAktuell_Y
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEXJAXl.s:86 .bss:00000010 GpsZiel_Y
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEXJAXl.s:39 .text:00000042 GPS_BerechneZielrichtung
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEXJAXl.s:56 .bss:00000000 GPS_Nick
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEXJAXl.s:62 .bss:00000002 GPS_Roll
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
/branches/MicroMag3_Nick666/Festkomma/V0.68d/License.txt
0,0 → 1,52
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Copyright (c) 04.2007 Holger Buss
// + Nur für den privaten Gebrauch
// + www.MikroKopter.com
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Es gilt für das gesamte Projekt (Hardware, Software, Binärfiles, Sourcecode und Dokumentation),
// + dass eine Nutzung (auch auszugsweise) nur für den privaten und nichtkommerziellen Gebrauch zulässig ist.
// + Sollten direkte oder indirekte kommerzielle Absichten verfolgt werden, ist mit uns (info@mikrokopter.de) Kontakt
// + bzgl. der Nutzungsbedingungen aufzunehmen.
// + Eine kommerzielle Nutzung ist z.B.Verkauf von MikroKoptern, Bestückung und Verkauf von Platinen oder Bausätzen,
// + Verkauf von Luftbildaufnahmen, usw.
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Werden Teile des Quellcodes (mit oder ohne Modifikation) weiterverwendet oder veröffentlicht,
// + unterliegen sie auch diesen Nutzungsbedingungen und diese Nutzungsbedingungen incl. Copyright müssen dann beiliegen
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Sollte die Software (auch auszugesweise) oder sonstige Informationen des MikroKopter-Projekts
// + auf anderen Webseiten oder sonstigen Medien veröffentlicht werden, muss unsere Webseite "http://www.mikrokopter.de"
// + eindeutig als Ursprung verlinkt und genannt werden
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Keine Gewähr auf Fehlerfreiheit, Vollständigkeit oder Funktion
// + Benutzung auf eigene Gefahr
// + Wir übernehmen keinerlei Haftung für direkte oder indirekte Personen- oder Sachschäden
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Die Portierung der Software (oder Teile davon) auf andere Systeme (ausser der Hardware von www.mikrokopter.de) ist nur
// + mit unserer Zustimmung zulässig
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Die Funktion printf_P() unterliegt ihrer eigenen Lizenz und ist hiervon nicht betroffen
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Redistributions of source code (with or without modifications) must retain the above copyright notice,
// + this list of conditions and the following disclaimer.
// + * Neither the name of the copyright holders nor the names of contributors may be used to endorse or promote products derived
// + from this software without specific prior written permission.
// + * The use of this project (hardware, software, binary files, sources and documentation) is only permittet
// + for non-profit use (directly or indirectly)
// + Commercial use (for excample: selling of MikroKopters, selling of PCBs, assembly, ...) is only permitted
// + with our written permission
// + * If sources or documentations are redistributet, our webpage (http://www.MikroKopter.de) must be
// + clearly linked and named as origin
// + * porting to systems other than hardware from www.mikrokopter.de is not allowed
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
// + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// + POSSIBILITY OF SUCH DAMAGE.
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/branches/MicroMag3_Nick666/Festkomma/V0.68d/Settings.h
--- Festkomma/V0.68d/_Settings.h (nonexistent)
+++ Festkomma/V0.68d/_Settings.h (revision 653)
@@ -0,0 +1,50 @@
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// Testmodi
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+#define MOTOR_OFF 0
+#define MOTOR_TEST 0
+
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// Abstimmung
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+#define ACC_AMPLIFY 12
+#define FAKTOR_P 1
+#define FAKTOR_I 0.0001
+
+
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// Debug-Interface
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+#define SIO_DEBUG 1 // Soll der Debugger aktiviert sein?
+#define MIN_DEBUG_INTERVALL 500 // in diesem Intervall werden Degugdaten ohne Aufforderung gesendet
+
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// Sender
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ #define K_NICK 0
+ #define K_ROLL 1
+ #define K_GAS 2
+ #define K_GIER 3
+ #define K_POTI1 4
+ #define K_POTI2 5
+ #define K_POTI3 6
+ #define K_POTI4 7
+// +++++++++++++++++++++++++++++++
+// + Getestete Settings:
+// +++++++++++++++++++++++++++++++
+// Setting: Kamera
+// Stick_P:3
+// Stick_D:0
+// Gyro_P: 175
+// Gyro_I: 175
+// Ki_Anteil: 10
+// +++++++++++++++++++++++++++++++
+// + Getestete Settings:
+// +++++++++++++++++++++++++++++++
+// Setting: Normal
+// Stick_P:2
+// Stick_D:8
+// Gyro_P: 80
+// Gyro_I: 150
+// Ki_Anteil: 5
+
/branches/MicroMag3_Nick666/Festkomma/V0.68d/analog.c
0,0 → 1,147
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Copyright (c) 04.2007 Holger Buss
// + only for non-profit use
// + www.MikroKopter.com
// + see the File "License.txt" for further Informations
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
#include "main.h"
 
volatile int Aktuell_Nick,Aktuell_Roll,Aktuell_Gier,Aktuell_ax, Aktuell_ay,Aktuell_az, UBat = 100;
volatile int AdWertNick = 0, AdWertRoll = 0, AdWertGier = 0;
volatile int AdWertAccRoll = 0,AdWertAccNick = 0,AdWertAccHoch = 0;
volatile char MessanzahlNick = 0, MessanzahlRoll = 0, MessanzahlGier = 0;
volatile char messanzahl_AccNick = 0, messanzahl_AccRoll = 0, messanzahl_AccHoch = 0;
volatile long Luftdruck = 32000;
volatile int StartLuftdruck;
volatile unsigned int MessLuftdruck = 1023;
unsigned char DruckOffsetSetting;
volatile int HoeheD = 0;
volatile char messanzahl_Druck;
volatile int tmpLuftdruck;
volatile unsigned int ZaehlMessungen = 0;
 
//#######################################################################################
//
void ADC_Init(void)
//#######################################################################################
{
ADMUX = 0;//Referenz ist extern
ADCSRA=(1<<ADEN)|(1<<ADSC)|(1<<ADATE)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0)|(1<<ADIE);
//Free Running Mode, Division Factor 128, Interrupt on
}
 
void SucheLuftruckOffset(void)
{
unsigned int off;
off = eeprom_read_byte(&EEPromArray[EEPROM_ADR_LAST_OFFSET]);
if(off > 20) off -= 10;
OCR0A = off;
Delay_ms_Mess(100);
if(MessLuftdruck < 850) off = 0;
for(; off < 250;off++)
{
OCR0A = off;
Delay_ms_Mess(50);
printf(".");
if(MessLuftdruck < 900) break;
}
eeprom_write_byte(&EEPromArray[EEPROM_ADR_LAST_OFFSET], off);
DruckOffsetSetting = off;
Delay_ms_Mess(300);
}
 
 
//#######################################################################################
//
SIGNAL(SIG_ADC)
//#######################################################################################
{
static unsigned char kanal=0,state = 0;
static unsigned int gier1, roll1, nick1;
ANALOG_OFF;
switch(state++)
{
case 0:
gier1 = ADC;
kanal = 1;
ZaehlMessungen++;
break;
case 1:
roll1 = ADC;
kanal = 2;
break;
case 2:
nick1 = ADC;
kanal = 4;
break;
case 3:
UBat = (3 * UBat + ADC / 3) / 4;//(UBat + ((ADC * 39) / 256) + 19) / 2;
kanal = 6;
break;
case 4:
Aktuell_ay = acc_neutral.Y - ADC;
AdWertAccRoll = Aktuell_ay;
kanal = 7;
break;
case 5:
Aktuell_ax = ADC - acc_neutral.X;
AdWertAccNick = Aktuell_ax;
kanal = 0;
break;
case 6:
if(PlatinenVersion == 10) AdWertGier = (ADC + gier1) / 2;
else AdWertGier = ADC + gier1;
kanal = 1;
break;
case 7:
if(PlatinenVersion == 10) AdWertRoll = (ADC + roll1) / 2;
else AdWertRoll = ADC + roll1;
kanal = 2;
break;
case 8:
if(PlatinenVersion == 10) AdWertNick = (ADC + nick1) / 2;
else AdWertNick = ADC + nick1;
//AdWertNick = 0;
//AdWertNick += Poti2;
kanal = 5;
break;
case 9:
AdWertAccHoch = (signed int) ADC - acc_neutral.Z;
AdWertAccHoch += abs(Aktuell_ay) / 4 + abs(Aktuell_ax) / 4;
if(AdWertAccHoch > 1)
{
if(acc_neutral.Z < 800) acc_neutral.Z+= 0.02;
}
else if(AdWertAccHoch < -1)
{
if(acc_neutral.Z > 600) acc_neutral.Z-= 0.02;
}
messanzahl_AccHoch = 1;
Aktuell_az = ADC;
Mess_Integral_Hoch += AdWertAccHoch; // Integrieren
Mess_Integral_Hoch -= Mess_Integral_Hoch / 1024; // dämfen
kanal = 3;
break;
case 10:
tmpLuftdruck += ADC;
if(++messanzahl_Druck >= 5)
{
MessLuftdruck = ADC;
messanzahl_Druck = 0;
HoeheD = (int)(StartLuftdruck - tmpLuftdruck - HoehenWert); // D-Anteil = neuerWert - AlterWert
Luftdruck = (tmpLuftdruck + 3 * Luftdruck) / 4;
HoehenWert = StartLuftdruck - Luftdruck;
tmpLuftdruck = 0;
}
kanal = 0;
state = 0;
break;
default:
kanal = 0;
state = 0;
break;
}
ADMUX = kanal;
if(state != 0) ANALOG_ON;
}
/branches/MicroMag3_Nick666/Festkomma/V0.68d/analog.d
0,0 → 1,2
analog.o analog.d : analog.c main.h old_macros.h _Settings.h printf_P.h timer0.h \
uart.h analog.h twimaster.h menu.h rc.h fc.h gps.h compass.h mymath.h
/branches/MicroMag3_Nick666/Festkomma/V0.68d/analog.h
0,0 → 1,24
/*#######################################################################################
 
#######################################################################################*/
 
extern volatile int UBat;
extern volatile int AdWertNick, AdWertRoll, AdWertGier;
extern volatile int AdWertAccRoll,AdWertAccNick,AdWertAccHoch;
extern volatile int Aktuell_Nick,Aktuell_Roll,Aktuell_Gier,Aktuell_ax, Aktuell_ay,Aktuell_az;
extern volatile long Luftdruck;
extern volatile char messanzahl_Druck;
extern volatile unsigned int ZaehlMessungen;
extern unsigned char DruckOffsetSetting;
extern volatile int HoeheD;
extern volatile unsigned int MessLuftdruck;
extern volatile int StartLuftdruck;
extern volatile char MessanzahlNick;
 
unsigned int ReadADC(unsigned char adc_input);
void ADC_Init(void);
void SucheLuftruckOffset(void);
 
 
#define ANALOG_OFF ADCSRA=0
#define ANALOG_ON ADCSRA=(1<<ADEN)|(1<<ADSC)|(1<<ADATE)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0)|(1<<ADIE)
/branches/MicroMag3_Nick666/Festkomma/V0.68d/analog.lst
0,0 → 1,736
1 .file "analog.c"
2 .arch atmega644
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
10 .text
11 .global ADC_Init
13 ADC_Init:
14 /* prologue: frame size=0 */
15 /* prologue end (size=0) */
16 0000 1092 7C00 sts 124,__zero_reg__
17 0004 8FEE ldi r24,lo8(-17)
18 0006 8093 7A00 sts 122,r24
19 /* epilogue: frame size=0 */
20 000a 0895 ret
21 /* epilogue end (size=1) */
22 /* function ADC_Init size 6 (5) */
24 .global __vector_24
26 __vector_24:
27 /* prologue: frame size=0 */
28 000c 1F92 push __zero_reg__
29 000e 0F92 push __tmp_reg__
30 0010 0FB6 in __tmp_reg__,__SREG__
31 0012 0F92 push __tmp_reg__
32 0014 1124 clr __zero_reg__
33 0016 DF92 push r13
34 0018 EF92 push r14
35 001a FF92 push r15
36 001c 0F93 push r16
37 001e 1F93 push r17
38 0020 2F93 push r18
39 0022 3F93 push r19
40 0024 4F93 push r20
41 0026 5F93 push r21
42 0028 6F93 push r22
43 002a 7F93 push r23
44 002c 8F93 push r24
45 002e 9F93 push r25
46 0030 AF93 push r26
47 0032 BF93 push r27
48 0034 CF93 push r28
49 0036 DF93 push r29
50 0038 EF93 push r30
51 003a FF93 push r31
52 /* prologue end (size=24) */
53 003c 1092 7A00 sts 122,__zero_reg__
54 0040 8091 0000 lds r24,state.2065
55 0044 D82E mov r13,r24
56 0046 D394 inc r13
57 0048 D092 0000 sts state.2065,r13
58 004c E82F mov r30,r24
59 004e FF27 clr r31
60 0050 EB30 cpi r30,11
61 0052 F105 cpc r31,__zero_reg__
62 0054 00F0 brlo .+2
63 0056 00C0 rjmp .L4
64 0058 E050 subi r30,lo8(-(gs(.L16)))
65 005a F040 sbci r31,hi8(-(gs(.L16)))
66 005c 0C94 0000 jmp __tablejump2__
67 .data
68 .section .progmem.gcc_sw_table, "a", @progbits
69 .p2align 1
70 .L16:
71 .data
72 .section .progmem.gcc_sw_table, "a", @progbits
73 .p2align 1
74 0000 0000 .word gs(.L5)
75 0002 0000 .word gs(.L6)
76 0004 0000 .word gs(.L7)
77 0006 0000 .word gs(.L8)
78 0008 0000 .word gs(.L9)
79 000a 0000 .word gs(.L10)
80 000c 0000 .word gs(.L11)
81 000e 0000 .word gs(.L12)
82 0010 0000 .word gs(.L13)
83 0012 0000 .word gs(.L14)
84 0014 0000 .word gs(.L15)
85 .text
86 .L5:
87 0060 8091 7800 lds r24,120
88 0064 9091 7900 lds r25,(120)+1
89 0068 9093 0000 sts (gier1.2066)+1,r25
90 006c 8093 0000 sts gier1.2066,r24
91 0070 81E0 ldi r24,lo8(1)
92 0072 8093 0000 sts kanal.2064,r24
93 0076 8091 0000 lds r24,ZaehlMessungen
94 007a 9091 0000 lds r25,(ZaehlMessungen)+1
95 007e 0196 adiw r24,1
96 0080 9093 0000 sts (ZaehlMessungen)+1,r25
97 0084 8093 0000 sts ZaehlMessungen,r24
98 0088 00C0 rjmp .L17
99 .L6:
100 008a 8091 7800 lds r24,120
101 008e 9091 7900 lds r25,(120)+1
102 0092 9093 0000 sts (roll1.2067)+1,r25
103 0096 8093 0000 sts roll1.2067,r24
104 009a 00C0 rjmp .L48
105 .L7:
106 009c 8091 7800 lds r24,120
107 00a0 9091 7900 lds r25,(120)+1
108 00a4 9093 0000 sts (nick1.2068)+1,r25
109 00a8 8093 0000 sts nick1.2068,r24
110 00ac 84E0 ldi r24,lo8(4)
111 00ae 00C0 rjmp .L47
112 .L8:
113 00b0 4091 0000 lds r20,UBat
114 00b4 5091 0000 lds r21,(UBat)+1
115 00b8 8091 7800 lds r24,120
116 00bc 9091 7900 lds r25,(120)+1
117 00c0 9A01 movw r18,r20
118 00c2 220F lsl r18
119 00c4 331F rol r19
120 00c6 240F add r18,r20
121 00c8 351F adc r19,r21
122 00ca 63E0 ldi r22,lo8(3)
123 00cc 70E0 ldi r23,hi8(3)
124 00ce 0E94 0000 call __udivmodhi4
125 00d2 260F add r18,r22
126 00d4 371F adc r19,r23
127 00d6 3695 lsr r19
128 00d8 2795 ror r18
129 00da 3695 lsr r19
130 00dc 2795 ror r18
131 00de 3093 0000 sts (UBat)+1,r19
132 00e2 2093 0000 sts UBat,r18
133 00e6 86E0 ldi r24,lo8(6)
134 00e8 00C0 rjmp .L47
135 .L9:
136 00ea 8091 0000 lds r24,acc_neutral+2
137 00ee 9091 0000 lds r25,(acc_neutral+2)+1
138 00f2 2091 7800 lds r18,120
139 00f6 3091 7900 lds r19,(120)+1
140 00fa 821B sub r24,r18
141 00fc 930B sbc r25,r19
142 00fe 9093 0000 sts (Aktuell_ay)+1,r25
143 0102 8093 0000 sts Aktuell_ay,r24
144 0106 8091 0000 lds r24,Aktuell_ay
145 010a 9091 0000 lds r25,(Aktuell_ay)+1
146 010e 9093 0000 sts (AdWertAccRoll)+1,r25
147 0112 8093 0000 sts AdWertAccRoll,r24
148 0116 87E0 ldi r24,lo8(7)
149 0118 00C0 rjmp .L47
150 .L10:
151 011a 8091 7800 lds r24,120
152 011e 9091 7900 lds r25,(120)+1
153 0122 2091 0000 lds r18,acc_neutral
154 0126 3091 0000 lds r19,(acc_neutral)+1
155 012a 821B sub r24,r18
156 012c 930B sbc r25,r19
157 012e 9093 0000 sts (Aktuell_ax)+1,r25
158 0132 8093 0000 sts Aktuell_ax,r24
159 0136 8091 0000 lds r24,Aktuell_ax
160 013a 9091 0000 lds r25,(Aktuell_ax)+1
161 013e 9093 0000 sts (AdWertAccNick)+1,r25
162 0142 8093 0000 sts AdWertAccNick,r24
163 0146 1092 0000 sts kanal.2064,__zero_reg__
164 014a 00C0 rjmp .L17
165 .L11:
166 014c 8091 0000 lds r24,PlatinenVersion
167 0150 2091 0000 lds r18,gier1.2066
168 0154 3091 0000 lds r19,(gier1.2066)+1
169 0158 8A30 cpi r24,lo8(10)
170 015a 01F4 brne .L18
171 015c 8091 7800 lds r24,120
172 0160 9091 7900 lds r25,(120)+1
173 0164 820F add r24,r18
174 0166 931F adc r25,r19
175 0168 9695 lsr r25
176 016a 8795 ror r24
177 016c 00C0 rjmp .L43
178 .L18:
179 016e 8091 7800 lds r24,120
180 0172 9091 7900 lds r25,(120)+1
181 0176 820F add r24,r18
182 0178 931F adc r25,r19
183 .L43:
184 017a 9093 0000 sts (AdWertGier)+1,r25
185 017e 8093 0000 sts AdWertGier,r24
186 0182 81E0 ldi r24,lo8(1)
187 0184 00C0 rjmp .L47
188 .L12:
189 0186 8091 0000 lds r24,PlatinenVersion
190 018a 2091 0000 lds r18,roll1.2067
191 018e 3091 0000 lds r19,(roll1.2067)+1
192 0192 8A30 cpi r24,lo8(10)
193 0194 01F4 brne .L21
194 0196 8091 7800 lds r24,120
195 019a 9091 7900 lds r25,(120)+1
196 019e 820F add r24,r18
197 01a0 931F adc r25,r19
198 01a2 9695 lsr r25
199 01a4 8795 ror r24
200 01a6 00C0 rjmp .L44
201 .L21:
202 01a8 8091 7800 lds r24,120
203 01ac 9091 7900 lds r25,(120)+1
204 01b0 820F add r24,r18
205 01b2 931F adc r25,r19
206 .L44:
207 01b4 9093 0000 sts (AdWertRoll)+1,r25
208 01b8 8093 0000 sts AdWertRoll,r24
209 .L48:
210 01bc 82E0 ldi r24,lo8(2)
211 01be 00C0 rjmp .L47
212 .L13:
213 01c0 8091 0000 lds r24,PlatinenVersion
214 01c4 2091 0000 lds r18,nick1.2068
215 01c8 3091 0000 lds r19,(nick1.2068)+1
216 01cc 8A30 cpi r24,lo8(10)
217 01ce 01F4 brne .L24
218 01d0 8091 7800 lds r24,120
219 01d4 9091 7900 lds r25,(120)+1
220 01d8 820F add r24,r18
221 01da 931F adc r25,r19
222 01dc 9695 lsr r25
223 01de 8795 ror r24
224 01e0 00C0 rjmp .L45
225 .L24:
226 01e2 8091 7800 lds r24,120
227 01e6 9091 7900 lds r25,(120)+1
228 01ea 820F add r24,r18
229 01ec 931F adc r25,r19
230 .L45:
231 01ee 9093 0000 sts (AdWertNick)+1,r25
232 01f2 8093 0000 sts AdWertNick,r24
233 01f6 85E0 ldi r24,lo8(5)
234 01f8 00C0 rjmp .L47
235 .L14:
236 01fa 6091 7800 lds r22,120
237 01fe 7091 7900 lds r23,(120)+1
238 0202 E090 0000 lds r14,acc_neutral+4
239 0206 F090 0000 lds r15,(acc_neutral+4)+1
240 020a 0091 0000 lds r16,(acc_neutral+4)+2
241 020e 1091 0000 lds r17,(acc_neutral+4)+3
242 0212 8827 clr r24
243 0214 77FD sbrc r23,7
244 0216 8095 com r24
245 0218 982F mov r25,r24
246 021a 0E94 0000 call __floatsisf
247 021e A801 movw r20,r16
248 0220 9701 movw r18,r14
249 0222 0E94 0000 call __subsf3
250 0226 0E94 0000 call __fixsfsi
251 022a 7093 0000 sts (AdWertAccHoch)+1,r23
252 022e 6093 0000 sts AdWertAccHoch,r22
253 0232 2091 0000 lds r18,AdWertAccHoch
254 0236 3091 0000 lds r19,(AdWertAccHoch)+1
255 023a E091 0000 lds r30,Aktuell_ay
256 023e F091 0000 lds r31,(Aktuell_ay)+1
257 0242 8091 0000 lds r24,Aktuell_ax
258 0246 9091 0000 lds r25,(Aktuell_ax)+1
259 024a 97FF sbrs r25,7
260 024c 00C0 rjmp .L27
261 024e 9095 com r25
262 0250 8195 neg r24
263 0252 9F4F sbci r25,lo8(-1)
264 .L27:
265 0254 64E0 ldi r22,lo8(4)
266 0256 70E0 ldi r23,hi8(4)
267 0258 0E94 0000 call __divmodhi4
268 025c EB01 movw r28,r22
269 025e CF01 movw r24,r30
270 0260 F7FF sbrs r31,7
271 0262 00C0 rjmp .L28
272 0264 9095 com r25
273 0266 8195 neg r24
274 0268 9F4F sbci r25,lo8(-1)
275 .L28:
276 026a 64E0 ldi r22,lo8(4)
277 026c 70E0 ldi r23,hi8(4)
278 026e 0E94 0000 call __divmodhi4
279 0272 260F add r18,r22
280 0274 371F adc r19,r23
281 0276 2C0F add r18,r28
282 0278 3D1F adc r19,r29
283 027a 3093 0000 sts (AdWertAccHoch)+1,r19
284 027e 2093 0000 sts AdWertAccHoch,r18
285 0282 8091 0000 lds r24,AdWertAccHoch
286 0286 9091 0000 lds r25,(AdWertAccHoch)+1
287 028a 0297 sbiw r24,2
288 028c 04F0 brlt .L29
289 028e 6091 0000 lds r22,acc_neutral+4
290 0292 7091 0000 lds r23,(acc_neutral+4)+1
291 0296 8091 0000 lds r24,(acc_neutral+4)+2
292 029a 9091 0000 lds r25,(acc_neutral+4)+3
293 029e 20E0 ldi r18,lo8(0x44480000)
294 02a0 30E0 ldi r19,hi8(0x44480000)
295 02a2 48E4 ldi r20,hlo8(0x44480000)
296 02a4 54E4 ldi r21,hhi8(0x44480000)
297 02a6 0E94 0000 call __ltsf2
298 02aa 8823 tst r24
299 02ac 04F0 brlt .+2
300 02ae 00C0 rjmp .L31
301 02b0 6091 0000 lds r22,acc_neutral+4
302 02b4 7091 0000 lds r23,(acc_neutral+4)+1
303 02b8 8091 0000 lds r24,(acc_neutral+4)+2
304 02bc 9091 0000 lds r25,(acc_neutral+4)+3
305 02c0 2AE0 ldi r18,lo8(0x3ca3d70a)
306 02c2 37ED ldi r19,hi8(0x3ca3d70a)
307 02c4 43EA ldi r20,hlo8(0x3ca3d70a)
308 02c6 5CE3 ldi r21,hhi8(0x3ca3d70a)
309 02c8 0E94 0000 call __addsf3
310 02cc 00C0 rjmp .L46
311 .L29:
312 02ce 8091 0000 lds r24,AdWertAccHoch
313 02d2 9091 0000 lds r25,(AdWertAccHoch)+1
314 02d6 8F5F subi r24,lo8(-1)
315 02d8 9F4F sbci r25,hi8(-1)
316 02da 04F4 brge .L31
317 02dc 6091 0000 lds r22,acc_neutral+4
318 02e0 7091 0000 lds r23,(acc_neutral+4)+1
319 02e4 8091 0000 lds r24,(acc_neutral+4)+2
320 02e8 9091 0000 lds r25,(acc_neutral+4)+3
321 02ec 20E0 ldi r18,lo8(0x44160000)
322 02ee 30E0 ldi r19,hi8(0x44160000)
323 02f0 46E1 ldi r20,hlo8(0x44160000)
324 02f2 54E4 ldi r21,hhi8(0x44160000)
325 02f4 0E94 0000 call __gtsf2
326 02f8 1816 cp __zero_reg__,r24
327 02fa 04F4 brge .L31
328 02fc 6091 0000 lds r22,acc_neutral+4
329 0300 7091 0000 lds r23,(acc_neutral+4)+1
330 0304 8091 0000 lds r24,(acc_neutral+4)+2
331 0308 9091 0000 lds r25,(acc_neutral+4)+3
332 030c 2AE0 ldi r18,lo8(0x3ca3d70a)
333 030e 37ED ldi r19,hi8(0x3ca3d70a)
334 0310 43EA ldi r20,hlo8(0x3ca3d70a)
335 0312 5CE3 ldi r21,hhi8(0x3ca3d70a)
336 0314 0E94 0000 call __subsf3
337 .L46:
338 0318 6093 0000 sts acc_neutral+4,r22
339 031c 7093 0000 sts (acc_neutral+4)+1,r23
340 0320 8093 0000 sts (acc_neutral+4)+2,r24
341 0324 9093 0000 sts (acc_neutral+4)+3,r25
342 .L31:
343 0328 81E0 ldi r24,lo8(1)
344 032a 8093 0000 sts messanzahl_AccHoch,r24
345 032e 8091 7800 lds r24,120
346 0332 9091 7900 lds r25,(120)+1
347 0336 9093 0000 sts (Aktuell_az)+1,r25
348 033a 8093 0000 sts Aktuell_az,r24
349 033e 2091 0000 lds r18,Mess_Integral_Hoch
350 0342 3091 0000 lds r19,(Mess_Integral_Hoch)+1
351 0346 4091 0000 lds r20,(Mess_Integral_Hoch)+2
352 034a 5091 0000 lds r21,(Mess_Integral_Hoch)+3
353 034e 8091 0000 lds r24,AdWertAccHoch
354 0352 9091 0000 lds r25,(AdWertAccHoch)+1
355 0356 AA27 clr r26
356 0358 97FD sbrc r25,7
357 035a A095 com r26
358 035c BA2F mov r27,r26
359 035e 280F add r18,r24
360 0360 391F adc r19,r25
361 0362 4A1F adc r20,r26
362 0364 5B1F adc r21,r27
363 0366 2093 0000 sts Mess_Integral_Hoch,r18
364 036a 3093 0000 sts (Mess_Integral_Hoch)+1,r19
365 036e 4093 0000 sts (Mess_Integral_Hoch)+2,r20
366 0372 5093 0000 sts (Mess_Integral_Hoch)+3,r21
367 0376 E090 0000 lds r14,Mess_Integral_Hoch
368 037a F090 0000 lds r15,(Mess_Integral_Hoch)+1
369 037e 0091 0000 lds r16,(Mess_Integral_Hoch)+2
370 0382 1091 0000 lds r17,(Mess_Integral_Hoch)+3
371 0386 6091 0000 lds r22,Mess_Integral_Hoch
372 038a 7091 0000 lds r23,(Mess_Integral_Hoch)+1
373 038e 8091 0000 lds r24,(Mess_Integral_Hoch)+2
374 0392 9091 0000 lds r25,(Mess_Integral_Hoch)+3
375 0396 20E0 ldi r18,lo8(1024)
376 0398 34E0 ldi r19,hi8(1024)
377 039a 40E0 ldi r20,hlo8(1024)
378 039c 50E0 ldi r21,hhi8(1024)
379 039e 0E94 0000 call __divmodsi4
380 03a2 E21A sub r14,r18
381 03a4 F30A sbc r15,r19
382 03a6 040B sbc r16,r20
383 03a8 150B sbc r17,r21
384 03aa E092 0000 sts Mess_Integral_Hoch,r14
385 03ae F092 0000 sts (Mess_Integral_Hoch)+1,r15
386 03b2 0093 0000 sts (Mess_Integral_Hoch)+2,r16
387 03b6 1093 0000 sts (Mess_Integral_Hoch)+3,r17
388 03ba 83E0 ldi r24,lo8(3)
389 .L47:
390 03bc 8093 0000 sts kanal.2064,r24
391 03c0 00C0 rjmp .L17
392 .L15:
393 03c2 8091 0000 lds r24,tmpLuftdruck
394 03c6 9091 0000 lds r25,(tmpLuftdruck)+1
395 03ca 2091 7800 lds r18,120
396 03ce 3091 7900 lds r19,(120)+1
397 03d2 820F add r24,r18
398 03d4 931F adc r25,r19
399 03d6 9093 0000 sts (tmpLuftdruck)+1,r25
400 03da 8093 0000 sts tmpLuftdruck,r24
401 03de 8091 0000 lds r24,messanzahl_Druck
402 03e2 8F5F subi r24,lo8(-(1))
403 03e4 8093 0000 sts messanzahl_Druck,r24
404 03e8 8091 0000 lds r24,messanzahl_Druck
405 03ec 8530 cpi r24,lo8(5)
406 03ee 00F4 brsh .+2
407 03f0 00C0 rjmp .L4
408 03f2 8091 7800 lds r24,120
409 03f6 9091 7900 lds r25,(120)+1
410 03fa 9093 0000 sts (MessLuftdruck)+1,r25
411 03fe 8093 0000 sts MessLuftdruck,r24
412 0402 1092 0000 sts messanzahl_Druck,__zero_reg__
413 0406 8091 0000 lds r24,StartLuftdruck
414 040a 9091 0000 lds r25,(StartLuftdruck)+1
415 040e 2091 0000 lds r18,tmpLuftdruck
416 0412 3091 0000 lds r19,(tmpLuftdruck)+1
417 0416 821B sub r24,r18
418 0418 930B sbc r25,r19
419 041a 2091 0000 lds r18,HoehenWert
420 041e 3091 0000 lds r19,(HoehenWert)+1
421 0422 821B sub r24,r18
422 0424 930B sbc r25,r19
423 0426 9093 0000 sts (HoeheD)+1,r25
424 042a 8093 0000 sts HoeheD,r24
425 042e 6091 0000 lds r22,tmpLuftdruck
426 0432 7091 0000 lds r23,(tmpLuftdruck)+1
427 0436 E090 0000 lds r14,Luftdruck
428 043a F090 0000 lds r15,(Luftdruck)+1
429 043e 0091 0000 lds r16,(Luftdruck)+2
430 0442 1091 0000 lds r17,(Luftdruck)+3
431 0446 8827 clr r24
432 0448 77FD sbrc r23,7
433 044a 8095 com r24
434 044c 982F mov r25,r24
435 044e A801 movw r20,r16
436 0450 9701 movw r18,r14
437 0452 220F lsl r18
438 0454 331F rol r19
439 0456 441F rol r20
440 0458 551F rol r21
441 045a 2E0D add r18,r14
442 045c 3F1D adc r19,r15
443 045e 401F adc r20,r16
444 0460 511F adc r21,r17
445 0462 620F add r22,r18
446 0464 731F adc r23,r19
447 0466 841F adc r24,r20
448 0468 951F adc r25,r21
449 046a 24E0 ldi r18,lo8(4)
450 046c 30E0 ldi r19,hi8(4)
451 046e 40E0 ldi r20,hlo8(4)
452 0470 50E0 ldi r21,hhi8(4)
453 0472 0E94 0000 call __divmodsi4
454 0476 2093 0000 sts Luftdruck,r18
455 047a 3093 0000 sts (Luftdruck)+1,r19
456 047e 4093 0000 sts (Luftdruck)+2,r20
457 0482 5093 0000 sts (Luftdruck)+3,r21
458 0486 2091 0000 lds r18,StartLuftdruck
459 048a 3091 0000 lds r19,(StartLuftdruck)+1
460 048e 8091 0000 lds r24,Luftdruck
461 0492 9091 0000 lds r25,(Luftdruck)+1
462 0496 A091 0000 lds r26,(Luftdruck)+2
463 049a B091 0000 lds r27,(Luftdruck)+3
464 049e 281B sub r18,r24
465 04a0 390B sbc r19,r25
466 04a2 3093 0000 sts (HoehenWert)+1,r19
467 04a6 2093 0000 sts HoehenWert,r18
468 04aa 1092 0000 sts (tmpLuftdruck)+1,__zero_reg__
469 04ae 1092 0000 sts tmpLuftdruck,__zero_reg__
470 04b2 00C0 rjmp .L4
471 .L17:
472 04b4 8091 0000 lds r24,kanal.2064
473 04b8 8093 7C00 sts 124,r24
474 04bc DD20 tst r13
475 04be 01F0 breq .L42
476 04c0 8FEE ldi r24,lo8(-17)
477 04c2 8093 7A00 sts 122,r24
478 04c6 00C0 rjmp .L42
479 .L4:
480 04c8 1092 0000 sts kanal.2064,__zero_reg__
481 04cc 1092 0000 sts state.2065,__zero_reg__
482 04d0 1092 7C00 sts 124,__zero_reg__
483 .L42:
484 /* epilogue: frame size=0 */
485 04d4 FF91 pop r31
486 04d6 EF91 pop r30
487 04d8 DF91 pop r29
488 04da CF91 pop r28
489 04dc BF91 pop r27
490 04de AF91 pop r26
491 04e0 9F91 pop r25
492 04e2 8F91 pop r24
493 04e4 7F91 pop r23
494 04e6 6F91 pop r22
495 04e8 5F91 pop r21
496 04ea 4F91 pop r20
497 04ec 3F91 pop r19
498 04ee 2F91 pop r18
499 04f0 1F91 pop r17
500 04f2 0F91 pop r16
501 04f4 FF90 pop r15
502 04f6 EF90 pop r14
503 04f8 DF90 pop r13
504 04fa 0F90 pop __tmp_reg__
505 04fc 0FBE out __SREG__,__tmp_reg__
506 04fe 0F90 pop __tmp_reg__
507 0500 1F90 pop __zero_reg__
508 0502 1895 reti
509 /* epilogue end (size=24) */
510 /* function __vector_24 size 650 (602) */
512 .global SucheLuftruckOffset
514 SucheLuftruckOffset:
515 /* prologue: frame size=0 */
516 0504 CF93 push r28
517 0506 DF93 push r29
518 /* prologue end (size=2) */
519 0508 A0E0 ldi r26,lo8(EEPromArray+3)
520 050a B0E0 ldi r27,hi8(EEPromArray+3)
521 /* #APP */
522 050c 0E94 0000 call __eeprom_read_byte_1F2021
523 0510 802D mov r24,__tmp_reg__
524 /* #NOAPP */
525 0512 C82F mov r28,r24
526 0514 DD27 clr r29
527 0516 C531 cpi r28,21
528 0518 D105 cpc r29,__zero_reg__
529 051a 00F0 brlo .L50
530 051c 2A97 sbiw r28,10
531 .L50:
532 051e C7BD out 71-0x20,r28
533 0520 84E6 ldi r24,lo8(100)
534 0522 90E0 ldi r25,hi8(100)
535 0524 0E94 0000 call Delay_ms_Mess
536 0528 8091 0000 lds r24,MessLuftdruck
537 052c 9091 0000 lds r25,(MessLuftdruck)+1
538 0530 8255 subi r24,lo8(850)
539 0532 9340 sbci r25,hi8(850)
540 0534 00F4 brsh .L58
541 0536 C0E0 ldi r28,lo8(0)
542 0538 D0E0 ldi r29,hi8(0)
543 053a 00C0 rjmp .L58
544 .L54:
545 053c C7BD out 71-0x20,r28
546 053e 82E3 ldi r24,lo8(50)
547 0540 90E0 ldi r25,hi8(50)
548 0542 0E94 0000 call Delay_ms_Mess
549 0546 80E0 ldi r24,lo8(__c.2046)
550 0548 90E0 ldi r25,hi8(__c.2046)
551 054a 9F93 push r25
552 054c 8F93 push r24
553 054e 1F92 push __zero_reg__
554 0550 0E94 0000 call _printf_P
555 0554 8091 0000 lds r24,MessLuftdruck
556 0558 9091 0000 lds r25,(MessLuftdruck)+1
557 055c 0F90 pop __tmp_reg__
558 055e 0F90 pop __tmp_reg__
559 0560 0F90 pop __tmp_reg__
560 0562 8458 subi r24,lo8(900)
561 0564 9340 sbci r25,hi8(900)
562 0566 00F0 brlo .L55
563 0568 2196 adiw r28,1
564 .L58:
565 056a CA3F cpi r28,250
566 056c D105 cpc r29,__zero_reg__
567 056e 00F0 brlo .L54
568 .L55:
569 0570 A0E0 ldi r26,lo8(EEPromArray+3)
570 0572 B0E0 ldi r27,hi8(EEPromArray+3)
571 /* #APP */
572 0574 0C2E mov __tmp_reg__,r28
573 0576 0E94 0000 call __eeprom_write_byte_1F2021
574 /* #NOAPP */
575 057a C093 0000 sts DruckOffsetSetting,r28
576 057e 8CE2 ldi r24,lo8(300)
577 0580 91E0 ldi r25,hi8(300)
578 0582 0E94 0000 call Delay_ms_Mess
579 /* epilogue: frame size=0 */
580 0586 DF91 pop r29
581 0588 CF91 pop r28
582 058a 0895 ret
583 /* epilogue end (size=3) */
584 /* function SucheLuftruckOffset size 72 (67) */
586 .global UBat
587 .data
590 UBat:
591 0000 6400 .word 100
592 .global AdWertNick
593 .global AdWertNick
594 .section .bss
597 AdWertNick:
598 0000 0000 .skip 2,0
599 .global AdWertRoll
600 .global AdWertRoll
603 AdWertRoll:
604 0002 0000 .skip 2,0
605 .global AdWertGier
606 .global AdWertGier
609 AdWertGier:
610 0004 0000 .skip 2,0
611 .global AdWertAccRoll
612 .global AdWertAccRoll
615 AdWertAccRoll:
616 0006 0000 .skip 2,0
617 .global AdWertAccNick
618 .global AdWertAccNick
621 AdWertAccNick:
622 0008 0000 .skip 2,0
623 .global AdWertAccHoch
624 .global AdWertAccHoch
627 AdWertAccHoch:
628 000a 0000 .skip 2,0
629 .global MessanzahlNick
630 .global MessanzahlNick
633 MessanzahlNick:
634 000c 00 .skip 1,0
635 .global MessanzahlRoll
636 .global MessanzahlRoll
639 MessanzahlRoll:
640 000d 00 .skip 1,0
641 .global MessanzahlGier
642 .global MessanzahlGier
645 MessanzahlGier:
646 000e 00 .skip 1,0
647 .global messanzahl_AccNick
648 .global messanzahl_AccNick
651 messanzahl_AccNick:
652 000f 00 .skip 1,0
653 .global messanzahl_AccRoll
654 .global messanzahl_AccRoll
657 messanzahl_AccRoll:
658 0010 00 .skip 1,0
659 .global messanzahl_AccHoch
660 .global messanzahl_AccHoch
663 messanzahl_AccHoch:
664 0011 00 .skip 1,0
665 .global Luftdruck
666 .data
669 Luftdruck:
670 0002 00 .byte 0
671 0003 7D .byte 125
672 0004 00 .byte 0
673 0005 00 .byte 0
674 .global MessLuftdruck
677 MessLuftdruck:
678 0006 FF03 .word 1023
679 .global HoeheD
680 .global HoeheD
681 .section .bss
684 HoeheD:
685 0012 0000 .skip 2,0
686 .global ZaehlMessungen
687 .global ZaehlMessungen
690 ZaehlMessungen:
691 0014 0000 .skip 2,0
692 .lcomm nick1.2068,2
693 .lcomm roll1.2067,2
694 .lcomm gier1.2066,2
695 .lcomm state.2065,1
696 .lcomm kanal.2064,1
697 .section .progmem.data,"a",@progbits
700 __c.2046:
701 0000 2E00 .string "."
702 .comm Aktuell_Nick,2,1
703 .comm Aktuell_Roll,2,1
704 .comm Aktuell_Gier,2,1
705 .comm Aktuell_ax,2,1
706 .comm Aktuell_ay,2,1
707 .comm Aktuell_az,2,1
708 .comm messanzahl_Druck,1,1
709 .comm DruckOffsetSetting,1,1
710 .comm StartLuftdruck,2,1
711 .comm tmpLuftdruck,2,1
712 /* File "analog.c": code 728 = 0x02d8 ( 674), prologues 26, epilogues 28 */
DEFINED SYMBOLS
*ABS*:00000000 analog.c
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:13 .text:00000000 ADC_Init
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:26 .text:0000000c __vector_24
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:694 .bss:0000001c state.2065
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:693 .bss:0000001a gier1.2066
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:695 .bss:0000001d kanal.2064
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:690 .bss:00000014 ZaehlMessungen
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:692 .bss:00000018 roll1.2067
.bss:00000016 nick1.2068
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:590 .data:00000000 UBat
*COM*:00000002 Aktuell_ay
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:615 .bss:00000006 AdWertAccRoll
*COM*:00000002 Aktuell_ax
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:621 .bss:00000008 AdWertAccNick
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:609 .bss:00000004 AdWertGier
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:603 .bss:00000002 AdWertRoll
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:597 .bss:00000000 AdWertNick
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:627 .bss:0000000a AdWertAccHoch
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:663 .bss:00000011 messanzahl_AccHoch
*COM*:00000002 Aktuell_az
*COM*:00000002 tmpLuftdruck
*COM*:00000001 messanzahl_Druck
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:677 .data:00000006 MessLuftdruck
*COM*:00000002 StartLuftdruck
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:684 .bss:00000012 HoeheD
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:669 .data:00000002 Luftdruck
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:514 .text:00000504 SucheLuftruckOffset
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:700 .progmem.data:00000000 __c.2046
*COM*:00000001 DruckOffsetSetting
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:633 .bss:0000000c MessanzahlNick
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:639 .bss:0000000d MessanzahlRoll
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:645 .bss:0000000e MessanzahlGier
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:651 .bss:0000000f messanzahl_AccNick
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccSp9tNG.s:657 .bss:00000010 messanzahl_AccRoll
*COM*:00000002 Aktuell_Nick
*COM*:00000002 Aktuell_Roll
*COM*:00000002 Aktuell_Gier
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__tablejump2__
__udivmodhi4
acc_neutral
PlatinenVersion
__floatsisf
__subsf3
__fixsfsi
__divmodhi4
__ltsf2
__addsf3
__gtsf2
Mess_Integral_Hoch
__divmodsi4
HoehenWert
EEPromArray
__eeprom_read_byte_1F2021
Delay_ms_Mess
_printf_P
__eeprom_write_byte_1F2021
/branches/MicroMag3_Nick666/Festkomma/V0.68d/compass.c
0,0 → 1,245
/*
 
Copyright 2007, Niklas Nold
 
This program (files compass.c and compass.h) is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation;
either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
 
Please note: All the other files for the project "Mikrokopter" by H. Buss are under the license (license_buss.txt) published by www.mikrokopter.de
*/
 
#include "main.h"
 
struct MM3_calib_struct ee_calib EEMEM; // Reservierung im EEPROM
 
struct MM3_working_struct MM3;
struct MM3_calib_struct MM3_calib;
 
 
//############################################################################
// Initialisierung
void init_MM3(void)
//############################################################################
{
// SPI-Schnittstelle initialisieren
SPCR = (1<<SPIE)|(1<<SPE)|(1<<MSTR)|(1<<SPR1)|(1<<SPR0); // Interrupt an, Master, 156 kHz Oszillator
 
DDRB |= (1<<PB7)|(1<<PB5)|(1<<PB2); // J8, MOSI, SCK Ausgang
if(PlatinenVersion == 10)
{
DDRD |= (1<<PD3); // PD3 als Ausgang
PORTD &= ~(1<<PD3); // J5 permanent auf Low
}
else
{
DDRC |= (1<<PC6); // PC6 als Ausgang
PORTC &= ~(1<<PC6); // J9 permanent auf Low
}
// Init Statemachine
MM3.AXIS = MM3_X;
MM3.STATE = MM3_RESET;
// Kalibrierung aus dem EEprom lesen
eeprom_read_block(&MM3_calib,&ee_calib,sizeof(struct MM3_calib_struct));
}
 
 
//############################################################################
// Wird in der SIGNAL (SIG_OVERFLOW0) aufgerufen
void timer0_MM3(void)
//############################################################################
{
switch (MM3.STATE)
{
case MM3_RESET:
PORTB |= (1<<PB2); // J8 auf High, MM3 Reset
MM3.STATE = MM3_START_TRANSFER;
return;
case MM3_START_TRANSFER:
PORTB &= ~(1<<PB2); // J8 auf Low (war ~125 µs auf High)
if (MM3.AXIS == MM3_X) SPDR = 0x31; // Schreiben ins SPDR löst automatisch SPI-Übertragung (MOSI und MISO) aus
else if (MM3.AXIS == MM3_Y) SPDR = 0x32; // Micromag Period Select ist auf 256 (0x30)
else SPDR = 0x33; //if (MM3.AXIS == MM3_Z) // 1: x-Achse, 2: Y-Achse, 3: Z-Achse
MM3.DRDY = SetDelay(8); // Laut Datenblatt max. Zeit bis Messung fertig (bei PS 256 eigentlich 4 ms)
MM3.STATE = MM3_WAIT_DRDY;
return;
case MM3_WAIT_DRDY:
if (CheckDelay(MM3.DRDY)) {SPDR = 0x00;MM3.STATE = MM3_DRDY;} // Irgendwas ins SPDR, damit Übertragung ausgelöst wird, wenn Wartezeit vorbei
return; // Jetzt gehts weiter in SIGNAL (SIG_SPI)
}
}
 
 
//############################################################################
// SPI byte ready
SIGNAL (SIG_SPI)
//############################################################################
{
static char tmp;
int wert;
 
switch (MM3.STATE)
{
case MM3_DRDY: // 1. Byte ist da, zwischenspeichern
tmp = SPDR;
SPDR = 0x00; // Übertragung von 2. Byte auslösen
MM3.STATE = MM3_BYTE2;
return;
case MM3_BYTE2: // 2. Byte der entsprechenden Achse ist da
wert = tmp;
wert <<= 8; // 1. Byte an MSB-Stelle rücken
wert |= SPDR; // 2. Byte dranpappen
if(abs(wert) < Max_Axis_Value) // Spikes filtern. Zuweisung nur, wenn Max-Wert nicht überschritten
switch (MM3.AXIS)
{
case MM3_X:
MM3.x_axis = wert;
MM3.AXIS = MM3_Y;
break;
case MM3_Y:
MM3.y_axis = wert;
MM3.AXIS = MM3_Z;
break;
default: //case MM3_Z:
MM3.z_axis = wert;
MM3.AXIS = MM3_X;
}
MM3.STATE = MM3_RESET;
}
}
 
//############################################################################
// Kompass kalibrieren
void calib_MM3(void)
//############################################################################
{
signed int x_min=0,x_max=0,y_min=0,y_max=0,z_min=0,z_max=0;
uint8_t measurement=50,beeper=0;
unsigned int timer;
GRN_ON;
ROT_OFF;
while (measurement)
{
//H_earth = MM3.x_axis*MM3.x_axis + MM3.y_axis*MM3.y_axis + MM3.z_axis*MM3.z_axis;
if (MM3.x_axis > x_max) x_max = MM3.x_axis;
else if (MM3.x_axis < x_min) x_min = MM3.x_axis;
if (MM3.y_axis > y_max) y_max = MM3.y_axis;
else if (MM3.y_axis < y_min) y_min = MM3.y_axis;
if (MM3.z_axis > z_max) z_max = MM3.z_axis;
else if (MM3.z_axis < z_min) z_min = MM3.z_axis;
if (!beeper)
{
ROT_FLASH;
GRN_FLASH;
beeptime = 50;
beeper = 50;
}
beeper--;
// Schleife mit 100 Hz
timer = SetDelay(10);
while(!CheckDelay(timer));
// Wenn Gas zurück genommen wird, Kalibrierung mit 1/2 Sekunde Verzögerung beenden
if (PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] < 100) measurement--;
}
// Wertebereich der Achsen
MM3_calib.X_range = (x_max - x_min);
MM3_calib.Y_range = (y_max - y_min);
MM3_calib.Z_range = (z_max - z_min);
// Offset der Achsen
MM3_calib.X_off = (x_max + x_min) /2;
MM3_calib.Y_off = (y_max + y_min) /2;
MM3_calib.Z_off = (z_max + z_min) /2;
 
// und im EEProm abspeichern
eeprom_write_block(&MM3_calib,&ee_calib,sizeof(struct MM3_calib_struct));
}
 
 
//############################################################################
// Neigungskompensierung und Berechnung der Ausrichtung
int heading_MM3(void)
//############################################################################
{
signed int sin_nick, cos_nick, sin_roll, cos_roll;
long x_axis, y_axis, z_axis;
long x_corr, y_corr;
signed int heading;
int8_t nicktilt,rolltilt;
unsigned int div_faktor;
div_faktor = (uint16_t)EE_Parameter.UserParam3 *8;
// Berechung von sinus und cosinus
nicktilt = (IntegralNick/div_faktor);
sin_nick = sin_i(nicktilt);
cos_nick = cos_i(nicktilt);
rolltilt = (IntegralRoll/div_faktor);
sin_roll = sin_i(rolltilt);
cos_roll = cos_i(rolltilt);
 
// Offset
x_axis = (MM3.x_axis - MM3_calib.X_off);
y_axis = (MM3.y_axis - MM3_calib.Y_off);
z_axis = (MM3.z_axis - MM3_calib.Z_off);
/*
// Normierung Wertebereich
if ((MM3_calib.X_range > MM3_calib.Y_range) && (MM3_calib.X_range > MM3_calib.Z_range))
{
y_axis = (y_axis * MM3_calib.X_range) / MM3_calib.Y_range;
z_axis = (z_axis * MM3_calib.X_range) / MM3_calib.Z_range;
}
else if ((MM3_calib.Y_range > MM3_calib.X_range) && (MM3_calib.Y_range > MM3_calib.Z_range))
{
x_axis = (x_axis * MM3_calib.Y_range) / MM3_calib.X_range;
z_axis = (z_axis * MM3_calib.Y_range) / MM3_calib.Z_range;
}
else //if ((MM3_calib.Z_range > MM3_calib.X_range) && (MM3_calib.Z_range > MM3_calib.Y_range))
{
x_axis = (x_axis * MM3_calib.Z_range) / MM3_calib.X_range;
y_axis = (y_axis * MM3_calib.Z_range) / MM3_calib.Y_range;
}
*/
// Neigungskompensierung
x_corr = x_axis * cos_nick;
x_corr += (y_axis * sin_roll * sin_nick) /1024;
x_corr -= (z_axis * cos_roll * sin_nick) /1024;
x_corr /= 1024;
y_corr = y_axis * cos_roll;
y_corr += z_axis * sin_roll;
y_corr /= 16;
// Winkelberechnung
heading = atan2_i(x_corr, y_corr);
// Skalieren von +-180° auf 0-360°
if (heading < 0) heading = -heading;
else heading = 360 - heading;
 
return (heading);
}
/branches/MicroMag3_Nick666/Festkomma/V0.68d/compass.d
0,0 → 1,2
compass.o compass.d : compass.c main.h old_macros.h _Settings.h printf_P.h timer0.h \
uart.h analog.h twimaster.h menu.h rc.h fc.h gps.h compass.h mymath.h
/branches/MicroMag3_Nick666/Festkomma/V0.68d/compass.h
0,0 → 1,44
 
 
struct MM3_working_struct
{
uint8_t STATE;
unsigned int DRDY;
uint8_t AXIS;
volatile signed int x_axis;
volatile signed int y_axis;
volatile signed int z_axis;
};
 
 
struct MM3_calib_struct
{
int8_t X_off;
int8_t Y_off;
int8_t Z_off;
int16_t X_range;
int16_t Y_range;
int16_t Z_range;
};
 
extern struct MM3_working_struct MM3;
extern struct MM3_calib_struct MM3_calib;
 
void init_MM3(void);
void timer0_MM3(void);
void calib_MM3(void);
int heading_MM3(void);
 
#define Max_Axis_Value 500
 
// Die Werte der Statemachine
#define MM3_RESET 0
#define MM3_START_TRANSFER 1
#define MM3_WAIT_DRDY 2
#define MM3_DRDY 3
#define MM3_BYTE2 4
#define MM3_X 5
#define MM3_Y 6
#define MM3_Z 7
#define MM3_TILT 8
#define MM3_IDLE 9
/branches/MicroMag3_Nick666/Festkomma/V0.68d/compass.lst
0,0 → 1,633
1 .file "compass.c"
2 .arch atmega644
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
10 .text
11 .global __vector_19
13 __vector_19:
14 /* prologue: frame size=0 */
15 0000 1F92 push __zero_reg__
16 0002 0F92 push __tmp_reg__
17 0004 0FB6 in __tmp_reg__,__SREG__
18 0006 0F92 push __tmp_reg__
19 0008 1124 clr __zero_reg__
20 000a 2F93 push r18
21 000c 3F93 push r19
22 000e 4F93 push r20
23 0010 8F93 push r24
24 0012 9F93 push r25
25 /* prologue end (size=10) */
26 0014 8091 0000 lds r24,MM3
27 0018 8330 cpi r24,lo8(3)
28 001a 01F0 breq .L3
29 001c 8430 cpi r24,lo8(4)
30 001e 01F4 brne .L10
31 0020 00C0 rjmp .L4
32 .L3:
33 0022 8EB5 in r24,78-0x20
34 0024 8093 0000 sts tmp.2057,r24
35 0028 1EBC out 78-0x20,__zero_reg__
36 002a 84E0 ldi r24,lo8(4)
37 002c 8093 0000 sts MM3,r24
38 0030 00C0 rjmp .L10
39 .L4:
40 0032 8091 0000 lds r24,tmp.2057
41 0036 9927 clr r25
42 0038 382F mov r19,r24
43 003a 2227 clr r18
44 003c 8EB5 in r24,78-0x20
45 003e 9927 clr r25
46 0040 282B or r18,r24
47 0042 392B or r19,r25
48 0044 C901 movw r24,r18
49 0046 8D50 subi r24,lo8(-(499))
50 0048 9E4F sbci r25,hi8(-(499))
51 004a 875E subi r24,lo8(999)
52 004c 9340 sbci r25,hi8(999)
53 004e 00F4 brsh .L5
54 0050 8091 0000 lds r24,MM3+3
55 0054 8530 cpi r24,lo8(5)
56 0056 01F0 breq .L8
57 0058 8630 cpi r24,lo8(6)
58 005a 01F4 brne .L11
59 005c 00C0 rjmp .L9
60 .L8:
61 005e 3093 0000 sts (MM3+4)+1,r19
62 0062 2093 0000 sts MM3+4,r18
63 0066 86E0 ldi r24,lo8(6)
64 0068 00C0 rjmp .L12
65 .L9:
66 006a 3093 0000 sts (MM3+6)+1,r19
67 006e 2093 0000 sts MM3+6,r18
68 0072 87E0 ldi r24,lo8(7)
69 0074 00C0 rjmp .L12
70 .L11:
71 0076 3093 0000 sts (MM3+8)+1,r19
72 007a 2093 0000 sts MM3+8,r18
73 007e 85E0 ldi r24,lo8(5)
74 .L12:
75 0080 8093 0000 sts MM3+3,r24
76 .L5:
77 0084 1092 0000 sts MM3,__zero_reg__
78 .L10:
79 /* epilogue: frame size=0 */
80 0088 9F91 pop r25
81 008a 8F91 pop r24
82 008c 4F91 pop r20
83 008e 3F91 pop r19
84 0090 2F91 pop r18
85 0092 0F90 pop __tmp_reg__
86 0094 0FBE out __SREG__,__tmp_reg__
87 0096 0F90 pop __tmp_reg__
88 0098 1F90 pop __zero_reg__
89 009a 1895 reti
90 /* epilogue end (size=10) */
91 /* function __vector_19 size 79 (59) */
93 .global heading_MM3
95 heading_MM3:
96 /* prologue: frame size=10 */
97 009c AAE0 ldi r26,lo8(10)
98 009e B0E0 ldi r27,hi8(10)
99 00a0 E0E0 ldi r30,lo8(gs(1f))
100 00a2 F0E0 ldi r31,hi8(gs(1f))
101 00a4 0C94 0000 jmp __prologue_saves__+0
102 1:
103 /* prologue end (size=6) */
104 00a8 A090 0000 lds r10,EE_Parameter+31
105 00ac BB24 clr r11
106 00ae 33E0 ldi r19,3
107 00b0 AA0C 1: lsl r10
108 00b2 BB1C rol r11
109 00b4 3A95 dec r19
110 00b6 01F4 brne 1b
111 00b8 CC24 clr r12
112 00ba DD24 clr r13
113 00bc 6091 0000 lds r22,IntegralNick
114 00c0 7091 0000 lds r23,(IntegralNick)+1
115 00c4 8091 0000 lds r24,(IntegralNick)+2
116 00c8 9091 0000 lds r25,(IntegralNick)+3
117 00cc A601 movw r20,r12
118 00ce 9501 movw r18,r10
119 00d0 0E94 0000 call __divmodsi4
120 00d4 7901 movw r14,r18
121 00d6 8A01 movw r16,r20
122 00d8 FF24 clr r15
123 00da E7FC sbrc r14,7
124 00dc F094 com r15
125 00de C701 movw r24,r14
126 00e0 0E94 0000 call sin_i
127 00e4 2C01 movw r4,r24
128 00e6 C701 movw r24,r14
129 00e8 0E94 0000 call cos_i
130 00ec 3C01 movw r6,r24
131 00ee 6091 0000 lds r22,IntegralRoll
132 00f2 7091 0000 lds r23,(IntegralRoll)+1
133 00f6 8091 0000 lds r24,(IntegralRoll)+2
134 00fa 9091 0000 lds r25,(IntegralRoll)+3
135 00fe A601 movw r20,r12
136 0100 9501 movw r18,r10
137 0102 0E94 0000 call __divmodsi4
138 0106 7901 movw r14,r18
139 0108 8A01 movw r16,r20
140 010a FF24 clr r15
141 010c E7FC sbrc r14,7
142 010e F094 com r15
143 0110 C701 movw r24,r14
144 0112 0E94 0000 call sin_i
145 0116 9A87 std Y+10,r25
146 0118 8987 std Y+9,r24
147 011a C701 movw r24,r14
148 011c 0E94 0000 call cos_i
149 0120 1C01 movw r2,r24
150 0122 6091 0000 lds r22,MM3+4
151 0126 7091 0000 lds r23,(MM3+4)+1
152 012a E090 0000 lds r14,MM3+6
153 012e F090 0000 lds r15,(MM3+6)+1
154 0132 2091 0000 lds r18,MM3_calib+1
155 0136 3327 clr r19
156 0138 27FD sbrc r18,7
157 013a 3095 com r19
158 013c E21A sub r14,r18
159 013e F30A sbc r15,r19
160 0140 0027 clr r16
161 0142 F7FC sbrc r15,7
162 0144 0095 com r16
163 0146 102F mov r17,r16
164 0148 A090 0000 lds r10,MM3+8
165 014c B090 0000 lds r11,(MM3+8)+1
166 0150 2091 0000 lds r18,MM3_calib+2
167 0154 3327 clr r19
168 0156 27FD sbrc r18,7
169 0158 3095 com r19
170 015a A21A sub r10,r18
171 015c B30A sbc r11,r19
172 015e CC24 clr r12
173 0160 B7FC sbrc r11,7
174 0162 C094 com r12
175 0164 DC2C mov r13,r12
176 0166 2091 0000 lds r18,MM3_calib
177 016a 3327 clr r19
178 016c 27FD sbrc r18,7
179 016e 3095 com r19
180 0170 621B sub r22,r18
181 0172 730B sbc r23,r19
182 0174 8827 clr r24
183 0176 77FD sbrc r23,7
184 0178 8095 com r24
185 017a 982F mov r25,r24
186 017c 8824 clr r8
187 017e 77FC sbrc r7,7
188 0180 8094 com r8
189 0182 982C mov r9,r8
190 0184 A401 movw r20,r8
191 0186 9301 movw r18,r6
192 0188 0E94 0000 call __mulsi3
193 018c 3B01 movw r6,r22
194 018e 4C01 movw r8,r24
195 0190 8985 ldd r24,Y+9
196 0192 9A85 ldd r25,Y+10
197 0194 AA27 clr r26
198 0196 97FD sbrc r25,7
199 0198 A095 com r26
200 019a BA2F mov r27,r26
201 019c 8D83 std Y+5,r24
202 019e 9E83 std Y+6,r25
203 01a0 AF83 std Y+7,r26
204 01a2 B887 std Y+8,r27
205 01a4 C201 movw r24,r4
206 01a6 AA27 clr r26
207 01a8 97FD sbrc r25,7
208 01aa A095 com r26
209 01ac BA2F mov r27,r26
210 01ae 8983 std Y+1,r24
211 01b0 9A83 std Y+2,r25
212 01b2 AB83 std Y+3,r26
213 01b4 BC83 std Y+4,r27
214 01b6 C801 movw r24,r16
215 01b8 B701 movw r22,r14
216 01ba 2D81 ldd r18,Y+5
217 01bc 3E81 ldd r19,Y+6
218 01be 4F81 ldd r20,Y+7
219 01c0 5885 ldd r21,Y+8
220 01c2 0E94 0000 call __mulsi3
221 01c6 2981 ldd r18,Y+1
222 01c8 3A81 ldd r19,Y+2
223 01ca 4B81 ldd r20,Y+3
224 01cc 5C81 ldd r21,Y+4
225 01ce 0E94 0000 call __mulsi3
226 01d2 20E0 ldi r18,lo8(1024)
227 01d4 34E0 ldi r19,hi8(1024)
228 01d6 40E0 ldi r20,hlo8(1024)
229 01d8 50E0 ldi r21,hhi8(1024)
230 01da 0E94 0000 call __divmodsi4
231 01de 620E add r6,r18
232 01e0 731E adc r7,r19
233 01e2 841E adc r8,r20
234 01e4 951E adc r9,r21
235 01e6 4424 clr r4
236 01e8 37FC sbrc r3,7
237 01ea 4094 com r4
238 01ec 542C mov r5,r4
239 01ee C601 movw r24,r12
240 01f0 B501 movw r22,r10
241 01f2 A201 movw r20,r4
242 01f4 9101 movw r18,r2
243 01f6 0E94 0000 call __mulsi3
244 01fa 2981 ldd r18,Y+1
245 01fc 3A81 ldd r19,Y+2
246 01fe 4B81 ldd r20,Y+3
247 0200 5C81 ldd r21,Y+4
248 0202 0E94 0000 call __mulsi3
249 0206 20E0 ldi r18,lo8(1024)
250 0208 34E0 ldi r19,hi8(1024)
251 020a 40E0 ldi r20,hlo8(1024)
252 020c 50E0 ldi r21,hhi8(1024)
253 020e 0E94 0000 call __divmodsi4
254 0212 621A sub r6,r18
255 0214 730A sbc r7,r19
256 0216 840A sbc r8,r20
257 0218 950A sbc r9,r21
258 021a C801 movw r24,r16
259 021c B701 movw r22,r14
260 021e A201 movw r20,r4
261 0220 9101 movw r18,r2
262 0222 0E94 0000 call __mulsi3
263 0226 7B01 movw r14,r22
264 0228 8C01 movw r16,r24
265 022a C601 movw r24,r12
266 022c B501 movw r22,r10
267 022e 2D81 ldd r18,Y+5
268 0230 3E81 ldd r19,Y+6
269 0232 4F81 ldd r20,Y+7
270 0234 5885 ldd r21,Y+8
271 0236 0E94 0000 call __mulsi3
272 023a E60E add r14,r22
273 023c F71E adc r15,r23
274 023e 081F adc r16,r24
275 0240 191F adc r17,r25
276 0242 C801 movw r24,r16
277 0244 B701 movw r22,r14
278 0246 20E1 ldi r18,lo8(16)
279 0248 30E0 ldi r19,hi8(16)
280 024a 40E0 ldi r20,hlo8(16)
281 024c 50E0 ldi r21,hhi8(16)
282 024e 0E94 0000 call __divmodsi4
283 0252 7901 movw r14,r18
284 0254 8A01 movw r16,r20
285 0256 C401 movw r24,r8
286 0258 B301 movw r22,r6
287 025a 20E0 ldi r18,lo8(1024)
288 025c 34E0 ldi r19,hi8(1024)
289 025e 40E0 ldi r20,hlo8(1024)
290 0260 50E0 ldi r21,hhi8(1024)
291 0262 0E94 0000 call __divmodsi4
292 0266 DA01 movw r26,r20
293 0268 C901 movw r24,r18
294 026a B701 movw r22,r14
295 026c 0E94 0000 call atan2_i
296 0270 9C01 movw r18,r24
297 0272 97FF sbrs r25,7
298 0274 00C0 rjmp .L14
299 0276 8827 clr r24
300 0278 9927 clr r25
301 027a 821B sub r24,r18
302 027c 930B sbc r25,r19
303 027e 00C0 rjmp .L16
304 .L14:
305 0280 88E6 ldi r24,lo8(360)
306 0282 91E0 ldi r25,hi8(360)
307 0284 821B sub r24,r18
308 0286 930B sbc r25,r19
309 .L16:
310 /* epilogue: frame size=10 */
311 0288 E2E1 ldi r30,18
312 028a C65F subi r28,-10
313 028c 0C94 0000 jmp __epilogue_restores__+0
314 /* epilogue end (size=4) */
315 /* function heading_MM3 size 250 (240) */
317 .global timer0_MM3
319 timer0_MM3:
320 /* prologue: frame size=0 */
321 /* prologue end (size=0) */
322 0290 8091 0000 lds r24,MM3
323 0294 8130 cpi r24,lo8(1)
324 0296 01F0 breq .L21
325 0298 8130 cpi r24,lo8(1)
326 029a 00F0 brlo .L20
327 029c 8230 cpi r24,lo8(2)
328 029e 01F4 brne .L29
329 02a0 00C0 rjmp .L22
330 .L20:
331 02a2 2A9A sbi 37-0x20,2
332 02a4 81E0 ldi r24,lo8(1)
333 02a6 00C0 rjmp .L31
334 .L21:
335 02a8 2A98 cbi 37-0x20,2
336 02aa 8091 0000 lds r24,MM3+3
337 02ae 8530 cpi r24,lo8(5)
338 02b0 01F4 brne .L23
339 02b2 81E3 ldi r24,lo8(49)
340 02b4 00C0 rjmp .L30
341 .L23:
342 02b6 8630 cpi r24,lo8(6)
343 02b8 01F4 brne .L26
344 02ba 82E3 ldi r24,lo8(50)
345 02bc 00C0 rjmp .L30
346 .L26:
347 02be 83E3 ldi r24,lo8(51)
348 .L30:
349 02c0 8EBD out 78-0x20,r24
350 02c2 88E0 ldi r24,lo8(8)
351 02c4 90E0 ldi r25,hi8(8)
352 02c6 0E94 0000 call SetDelay
353 02ca 9093 0000 sts (MM3+1)+1,r25
354 02ce 8093 0000 sts MM3+1,r24
355 02d2 82E0 ldi r24,lo8(2)
356 .L31:
357 02d4 8093 0000 sts MM3,r24
358 02d8 0895 ret
359 .L22:
360 02da 8091 0000 lds r24,MM3+1
361 02de 9091 0000 lds r25,(MM3+1)+1
362 02e2 0E94 0000 call CheckDelay
363 02e6 8823 tst r24
364 02e8 01F0 breq .L29
365 02ea 1EBC out 78-0x20,__zero_reg__
366 02ec 83E0 ldi r24,lo8(3)
367 02ee 8093 0000 sts MM3,r24
368 .L29:
369 02f2 0895 ret
370 /* epilogue: frame size=0 */
371 /* epilogue: noreturn */
372 /* epilogue end (size=0) */
373 /* function timer0_MM3 size 50 (50) */
375 .global calib_MM3
377 calib_MM3:
378 /* prologue: frame size=0 */
379 02f4 A0E0 ldi r26,lo8(0)
380 02f6 B0E0 ldi r27,hi8(0)
381 02f8 E0E0 ldi r30,lo8(gs(1f))
382 02fa F0E0 ldi r31,hi8(gs(1f))
383 02fc 0C94 0000 jmp __prologue_saves__+4
384 1:
385 /* prologue end (size=6) */
386 0300 299A sbi 37-0x20,1
387 0302 8091 0000 lds r24,PlatinenVersion
388 0306 8A30 cpi r24,lo8(10)
389 0308 01F4 brne .L33
390 030a 2898 cbi 37-0x20,0
391 030c 00C0 rjmp .L60
392 .L33:
393 030e 289A sbi 37-0x20,0
394 .L60:
395 0310 AA24 clr r10
396 0312 BB24 clr r11
397 0314 00E0 ldi r16,lo8(0)
398 0316 10E0 ldi r17,hi8(0)
399 0318 8824 clr r8
400 031a 9924 clr r9
401 031c EE24 clr r14
402 031e FF24 clr r15
403 0320 6624 clr r6
404 0322 7724 clr r7
405 0324 CC24 clr r12
406 0326 DD24 clr r13
407 0328 62E3 ldi r22,lo8(50)
408 032a 462E mov r4,r22
409 032c 5524 clr r5
410 .L59:
411 032e 8091 0000 lds r24,MM3+4
412 0332 9091 0000 lds r25,(MM3+4)+1
413 0336 0817 cp r16,r24
414 0338 1907 cpc r17,r25
415 033a 04F4 brge .L36
416 033c 0091 0000 lds r16,MM3+4
417 0340 1091 0000 lds r17,(MM3+4)+1
418 0344 00C0 rjmp .L38
419 .L36:
420 0346 8091 0000 lds r24,MM3+4
421 034a 9091 0000 lds r25,(MM3+4)+1
422 034e 8A15 cp r24,r10
423 0350 9B05 cpc r25,r11
424 0352 04F4 brge .L38
425 0354 A090 0000 lds r10,MM3+4
426 0358 B090 0000 lds r11,(MM3+4)+1
427 .L38:
428 035c 8091 0000 lds r24,MM3+6
429 0360 9091 0000 lds r25,(MM3+6)+1
430 0364 E816 cp r14,r24
431 0366 F906 cpc r15,r25
432 0368 04F4 brge .L40
433 036a E090 0000 lds r14,MM3+6
434 036e F090 0000 lds r15,(MM3+6)+1
435 0372 00C0 rjmp .L42
436 .L40:
437 0374 8091 0000 lds r24,MM3+6
438 0378 9091 0000 lds r25,(MM3+6)+1
439 037c 8815 cp r24,r8
440 037e 9905 cpc r25,r9
441 0380 04F4 brge .L42
442 0382 8090 0000 lds r8,MM3+6
443 0386 9090 0000 lds r9,(MM3+6)+1
444 .L42:
445 038a 8091 0000 lds r24,MM3+8
446 038e 9091 0000 lds r25,(MM3+8)+1
447 0392 C816 cp r12,r24
448 0394 D906 cpc r13,r25
449 0396 04F4 brge .L44
450 0398 C090 0000 lds r12,MM3+8
451 039c D090 0000 lds r13,(MM3+8)+1
452 03a0 00C0 rjmp .L46
453 .L44:
454 03a2 8091 0000 lds r24,MM3+8
455 03a6 9091 0000 lds r25,(MM3+8)+1
456 03aa 8615 cp r24,r6
457 03ac 9705 cpc r25,r7
458 03ae 04F4 brge .L46
459 03b0 6090 0000 lds r6,MM3+8
460 03b4 7090 0000 lds r7,(MM3+8)+1
461 .L46:
462 03b8 5520 tst r5
463 03ba 01F4 brne .L48
464 03bc 85B1 in r24,37-0x20
465 03be 91E0 ldi r25,lo8(1)
466 03c0 8927 eor r24,r25
467 03c2 85B9 out 37-0x20,r24
468 03c4 85B1 in r24,37-0x20
469 03c6 92E0 ldi r25,lo8(2)
470 03c8 8927 eor r24,r25
471 03ca 85B9 out 37-0x20,r24
472 03cc 82E3 ldi r24,lo8(50)
473 03ce 90E0 ldi r25,hi8(50)
474 03d0 9093 0000 sts (beeptime)+1,r25
475 03d4 8093 0000 sts beeptime,r24
476 03d8 52E3 ldi r21,lo8(50)
477 03da 552E mov r5,r21
478 .L48:
479 03dc 8AE0 ldi r24,lo8(10)
480 03de 90E0 ldi r25,hi8(10)
481 03e0 0E94 0000 call SetDelay
482 03e4 EC01 movw r28,r24
483 .L50:
484 03e6 CE01 movw r24,r28
485 03e8 0E94 0000 call CheckDelay
486 03ec 8823 tst r24
487 03ee 01F0 breq .L50
488 03f0 E091 0000 lds r30,EE_Parameter+2
489 03f4 FF27 clr r31
490 03f6 EE0F lsl r30
491 03f8 FF1F rol r31
492 03fa E050 subi r30,lo8(-(PPM_in))
493 03fc F040 sbci r31,hi8(-(PPM_in))
494 03fe 8081 ld r24,Z
495 0400 9181 ldd r25,Z+1
496 0402 8436 cpi r24,100
497 0404 9105 cpc r25,__zero_reg__
498 0406 04F4 brge .L52
499 0408 4A94 dec r4
500 .L52:
501 040a 4420 tst r4
502 040c 01F0 breq .L54
503 040e 5A94 dec r5
504 0410 00C0 rjmp .L59
505 .L54:
506 0412 C801 movw r24,r16
507 0414 8A19 sub r24,r10
508 0416 9B09 sbc r25,r11
509 0418 9093 0000 sts (MM3_calib+3)+1,r25
510 041c 8093 0000 sts MM3_calib+3,r24
511 0420 C701 movw r24,r14
512 0422 8819 sub r24,r8
513 0424 9909 sbc r25,r9
514 0426 9093 0000 sts (MM3_calib+5)+1,r25
515 042a 8093 0000 sts MM3_calib+5,r24
516 042e C601 movw r24,r12
517 0430 8619 sub r24,r6
518 0432 9709 sbc r25,r7
519 0434 9093 0000 sts (MM3_calib+7)+1,r25
520 0438 8093 0000 sts MM3_calib+7,r24
521 043c E0E0 ldi r30,lo8(MM3_calib)
522 043e F0E0 ldi r31,hi8(MM3_calib)
523 0440 C801 movw r24,r16
524 0442 8A0D add r24,r10
525 0444 9B1D adc r25,r11
526 0446 62E0 ldi r22,lo8(2)
527 0448 70E0 ldi r23,hi8(2)
528 044a 0E94 0000 call __divmodhi4
529 044e 6093 0000 sts MM3_calib,r22
530 0452 C701 movw r24,r14
531 0454 880D add r24,r8
532 0456 991D adc r25,r9
533 0458 62E0 ldi r22,lo8(2)
534 045a 70E0 ldi r23,hi8(2)
535 045c 0E94 0000 call __divmodhi4
536 0460 6093 0000 sts MM3_calib+1,r22
537 0464 C601 movw r24,r12
538 0466 860D add r24,r6
539 0468 971D adc r25,r7
540 046a 62E0 ldi r22,lo8(2)
541 046c 70E0 ldi r23,hi8(2)
542 046e 0E94 0000 call __divmodhi4
543 0472 6093 0000 sts MM3_calib+2,r22
544 0476 89E0 ldi r24,lo8(9)
545 0478 A0E0 ldi r26,lo8(ee_calib)
546 047a B0E0 ldi r27,hi8(ee_calib)
547 /* #APP */
548 047c 182E mov __zero_reg__,r24
549 047e 0E94 0000 call __eeprom_write_block_1F2021
550 /* #NOAPP */
551 /* epilogue: frame size=0 */
552 0482 E0E1 ldi r30,16
553 0484 CDB7 in r28,__SP_L__
554 0486 DEB7 in r29,__SP_H__
555 0488 0C94 0000 jmp __epilogue_restores__+4
556 /* epilogue end (size=5) */
557 /* function calib_MM3 size 205 (194) */
559 .global init_MM3
561 init_MM3:
562 /* prologue: frame size=0 */
563 /* prologue end (size=0) */
564 048c 83ED ldi r24,lo8(-45)
565 048e 8CBD out 76-0x20,r24
566 0490 84B1 in r24,36-0x20
567 0492 846A ori r24,lo8(-92)
568 0494 84B9 out 36-0x20,r24
569 0496 8091 0000 lds r24,PlatinenVersion
570 049a 8A30 cpi r24,lo8(10)
571 049c 01F4 brne .L62
572 049e 539A sbi 42-0x20,3
573 04a0 5B98 cbi 43-0x20,3
574 04a2 00C0 rjmp .L64
575 .L62:
576 04a4 3E9A sbi 39-0x20,6
577 04a6 4698 cbi 40-0x20,6
578 .L64:
579 04a8 85E0 ldi r24,lo8(5)
580 04aa 8093 0000 sts MM3+3,r24
581 04ae 1092 0000 sts MM3,__zero_reg__
582 04b2 89E0 ldi r24,lo8(9)
583 04b4 E0E0 ldi r30,lo8(MM3_calib)
584 04b6 F0E0 ldi r31,hi8(MM3_calib)
585 04b8 A0E0 ldi r26,lo8(ee_calib)
586 04ba B0E0 ldi r27,hi8(ee_calib)
587 /* #APP */
588 04bc 182E mov __zero_reg__,r24
589 04be 0E94 0000 call __eeprom_read_block_1F2021
590 /* #NOAPP */
591 /* epilogue: frame size=0 */
592 04c2 0895 ret
593 /* epilogue end (size=1) */
594 /* function init_MM3 size 29 (28) */
596 .lcomm tmp.2057,1
597 .comm MM3,10,1
598 .comm MM3_calib,9,1
599 .global ee_calib
600 .section .eeprom,"aw",@progbits
603 ee_calib:
604 0000 0000 0000 .skip 9,0
604 0000 0000
604 00
605 /* File "compass.c": code 613 = 0x0265 ( 571), prologues 22, epilogues 20 */
DEFINED SYMBOLS
*ABS*:00000000 compass.c
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc23eFKu.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc23eFKu.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc23eFKu.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc23eFKu.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc23eFKu.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc23eFKu.s:13 .text:00000000 __vector_19
*COM*:0000000a MM3
.bss:00000000 tmp.2057
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc23eFKu.s:95 .text:0000009c heading_MM3
*COM*:00000009 MM3_calib
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc23eFKu.s:319 .text:00000290 timer0_MM3
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc23eFKu.s:377 .text:000002f4 calib_MM3
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc23eFKu.s:603 .eeprom:00000000 ee_calib
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc23eFKu.s:561 .text:0000048c init_MM3
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__prologue_saves__
EE_Parameter
IntegralNick
__divmodsi4
sin_i
cos_i
IntegralRoll
__mulsi3
atan2_i
__epilogue_restores__
SetDelay
CheckDelay
PlatinenVersion
beeptime
PPM_in
__divmodhi4
__eeprom_write_block_1F2021
__eeprom_read_block_1F2021
/branches/MicroMag3_Nick666/Festkomma/V0.68d/eeprom.c
0,0 → 1,182
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Konstanten
// + 0-250 -> normale Werte
// + 251 -> Poti1
// + 252 -> Poti2
// + 253 -> Poti3
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void DefaultKonstanten1(void)
{
EE_Parameter.Kanalbelegung[K_NICK] = 1;
EE_Parameter.Kanalbelegung[K_ROLL] = 2;
EE_Parameter.Kanalbelegung[K_GAS] = 3;
EE_Parameter.Kanalbelegung[K_GIER] = 4;
EE_Parameter.Kanalbelegung[K_POTI1] = 5;
EE_Parameter.Kanalbelegung[K_POTI2] = 6;
EE_Parameter.Kanalbelegung[K_POTI3] = 7;
EE_Parameter.Kanalbelegung[K_POTI4] = 8;
EE_Parameter.GlobalConfig = CFG_ACHSENKOPPLUNG_AKTIV;//CFG_HOEHENREGELUNG | /*CFG_HOEHEN_SCHALTER |*/ CFG_KOMPASS_AKTIV | CFG_KOMPASS_FIX;//0x01;
EE_Parameter.Hoehe_MinGas = 30;
EE_Parameter.MaxHoehe = 251; // Wert : 0-250 251 -> Poti1
EE_Parameter.Hoehe_P = 10; // Wert : 0-32
EE_Parameter.Luftdruck_D = 30; // Wert : 0-250
EE_Parameter.Hoehe_ACC_Wirkung = 30; // Wert : 0-250
EE_Parameter.Hoehe_Verstaerkung = 4; // Wert : 0-50
EE_Parameter.Stick_P = 4; //2 // Wert : 1-6
EE_Parameter.Stick_D = 8; //8 // Wert : 0-64
EE_Parameter.Gier_P = 12; // Wert : 1-20
EE_Parameter.Gas_Min = 15; // Wert : 0-32
EE_Parameter.Gas_Max = 250; // Wert : 33-250
EE_Parameter.GyroAccFaktor = 30; // Wert : 1-64
EE_Parameter.KompassWirkung = 128; // Wert : 0-250
EE_Parameter.Gyro_P = 80; // Wert : 0-250
EE_Parameter.Gyro_I = 150; // Wert : 0-250
EE_Parameter.UnterspannungsWarnung = 94; // Wert : 0-250
EE_Parameter.NotGas = 35; // Wert : 0-250 // Gaswert bei Empangsverlust
EE_Parameter.NotGasZeit = 20; // Wert : 0-250 // Zeit bis auf NotGas geschaltet wird, wg. Rx-Problemen
EE_Parameter.UfoAusrichtung = 0; // X oder + Formation
EE_Parameter.I_Faktor = 32;
EE_Parameter.UserParam1 = 32 * 4; //zur freien Verwendung
EE_Parameter.UserParam2 = 0; //zur freien Verwendung
EE_Parameter.UserParam3 = 0; //zur freien Verwendung
EE_Parameter.UserParam4 = 0; //zur freien Verwendung
EE_Parameter.UserParam5 = 0; // zur freien Verwendung
EE_Parameter.UserParam6 = 0; // zur freien Verwendung
EE_Parameter.UserParam7 = 0; // zur freien Verwendung
EE_Parameter.UserParam8 = 0; // zur freien Verwendung
EE_Parameter.ServoNickControl = 100; // Wert : 0-250 // Stellung des Servos
EE_Parameter.ServoNickComp = 40; // Wert : 0-250 // Einfluss Gyro/Servo
EE_Parameter.ServoNickCompInvert = 0; // Wert : 0-250 // Richtung Einfluss Gyro/Servo
EE_Parameter.ServoNickMin = 50; // Wert : 0-250 // Anschlag
EE_Parameter.ServoNickMax = 150; // Wert : 0-250 // Anschlag
EE_Parameter.ServoNickRefresh = 5;
EE_Parameter.LoopGasLimit = 50;
EE_Parameter.LoopThreshold = 90; // Wert: 0-250 Schwelle für Stickausschlag
EE_Parameter.LoopHysterese = 50;
EE_Parameter.LoopConfig = 0; // Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt
EE_Parameter.AchsKopplung1 = 90;
EE_Parameter.AchsGegenKopplung1 = 5;
EE_Parameter.WinkelUmschlagNick = 100;
EE_Parameter.WinkelUmschlagRoll = 100;
EE_Parameter.GyroAccAbgleich = 16; // 1/k
EE_Parameter.Driftkomp = 4;
EE_Parameter.DynamicStability = 100;
memcpy(EE_Parameter.Name, "Sport\0", 12);
}
void DefaultKonstanten2(void)
{
EE_Parameter.Kanalbelegung[K_NICK] = 1;
EE_Parameter.Kanalbelegung[K_ROLL] = 2;
EE_Parameter.Kanalbelegung[K_GAS] = 3;
EE_Parameter.Kanalbelegung[K_GIER] = 4;
EE_Parameter.Kanalbelegung[K_POTI1] = 5;
EE_Parameter.Kanalbelegung[K_POTI2] = 6;
EE_Parameter.Kanalbelegung[K_POTI3] = 7;
EE_Parameter.Kanalbelegung[K_POTI4] = 8;
EE_Parameter.GlobalConfig = CFG_ACHSENKOPPLUNG_AKTIV;//CFG_HOEHENREGELUNG | /*CFG_HOEHEN_SCHALTER |*/ CFG_KOMPASS_AKTIV;//0x01;
EE_Parameter.Hoehe_MinGas = 30;
EE_Parameter.MaxHoehe = 251; // Wert : 0-250 251 -> Poti1
EE_Parameter.Hoehe_P = 10; // Wert : 0-32
EE_Parameter.Luftdruck_D = 30; // Wert : 0-250
EE_Parameter.Hoehe_ACC_Wirkung = 30; // Wert : 0-250
EE_Parameter.Hoehe_Verstaerkung = 3; // Wert : 0-50
EE_Parameter.Stick_P = 3; //2 // Wert : 1-6
EE_Parameter.Stick_D = 4; //8 // Wert : 0-64
EE_Parameter.Gier_P = 6; // Wert : 1-20
EE_Parameter.Gas_Min = 15; // Wert : 0-32
EE_Parameter.Gas_Max = 250; // Wert : 33-250
EE_Parameter.GyroAccFaktor = 30; // Wert : 1-64
EE_Parameter.KompassWirkung = 128; // Wert : 0-250
EE_Parameter.Gyro_P = 80; // Wert : 0-250
EE_Parameter.Gyro_I = 120; // Wert : 0-250
EE_Parameter.UnterspannungsWarnung = 94; // Wert : 0-250
EE_Parameter.NotGas = 35; // Wert : 0-250 // Gaswert bei Empangsverlust
EE_Parameter.NotGasZeit = 20; // Wert : 0-250 // Zeit bis auf NotGas geschaltet wird, wg. Rx-Problemen
EE_Parameter.UfoAusrichtung = 0; // X oder + Formation
EE_Parameter.I_Faktor = 32;
EE_Parameter.UserParam1 = 20 * 4; // zur freien Verwendung
EE_Parameter.UserParam2 = 0; // zur freien Verwendung
EE_Parameter.UserParam3 = 0; // zur freien Verwendung
EE_Parameter.UserParam4 = 0; // zur freien Verwendung
EE_Parameter.UserParam5 = 0; // zur freien Verwendung
EE_Parameter.UserParam6 = 0; // zur freien Verwendung
EE_Parameter.UserParam7 = 0; // zur freien Verwendung
EE_Parameter.UserParam8 = 0; // zur freien Verwendung
EE_Parameter.ServoNickControl = 100; // Wert : 0-250 // Stellung des Servos
EE_Parameter.ServoNickComp = 40; // Wert : 0-250 // Einfluss Gyro/Servo
EE_Parameter.ServoNickCompInvert = 0; // Wert : 0-250 // Richtung Einfluss Gyro/Servo
EE_Parameter.ServoNickMin = 50; // Wert : 0-250 // Anschlag
EE_Parameter.ServoNickMax = 150; // Wert : 0-250 // Anschlag
EE_Parameter.ServoNickRefresh = 5;
EE_Parameter.LoopGasLimit = 50;
EE_Parameter.LoopThreshold = 90; // Wert: 0-250 Schwelle für Stickausschlag
EE_Parameter.LoopHysterese = 50;
EE_Parameter.LoopConfig = 0; // Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts
EE_Parameter.AchsKopplung1 = 90; // Faktor, mit dem Gier die Achsen Roll und Nick verkoppelt
EE_Parameter.AchsGegenKopplung1 = 5;
EE_Parameter.WinkelUmschlagNick = 100;
EE_Parameter.WinkelUmschlagRoll = 100;
EE_Parameter.GyroAccAbgleich = 32; // 1/k
EE_Parameter.Driftkomp = 4;
EE_Parameter.DynamicStability = 75;
memcpy(EE_Parameter.Name, "Normal\0", 12);
}
 
void DefaultKonstanten3(void)
{
EE_Parameter.Kanalbelegung[K_NICK] = 1;
EE_Parameter.Kanalbelegung[K_ROLL] = 2;
EE_Parameter.Kanalbelegung[K_GAS] = 3;
EE_Parameter.Kanalbelegung[K_GIER] = 4;
EE_Parameter.Kanalbelegung[K_POTI1] = 5;
EE_Parameter.Kanalbelegung[K_POTI2] = 6;
EE_Parameter.Kanalbelegung[K_POTI3] = 7;
EE_Parameter.Kanalbelegung[K_POTI4] = 8;
EE_Parameter.GlobalConfig = CFG_DREHRATEN_BEGRENZER | CFG_ACHSENKOPPLUNG_AKTIV;///*CFG_HOEHEN_SCHALTER |*/ CFG_KOMPASS_AKTIV;//0x01;
EE_Parameter.Hoehe_MinGas = 30;
EE_Parameter.MaxHoehe = 251; // Wert : 0-250 251 -> Poti1
EE_Parameter.Hoehe_P = 10; // Wert : 0-32
EE_Parameter.Luftdruck_D = 30; // Wert : 0-250
EE_Parameter.Hoehe_ACC_Wirkung = 30; // Wert : 0-250
EE_Parameter.Hoehe_Verstaerkung = 2; // Wert : 0-50
EE_Parameter.Stick_P = 2; //2 // Wert : 1-6
EE_Parameter.Stick_D = 4; //8 // Wert : 0-64
EE_Parameter.Gier_P = 6; // Wert : 1-20
EE_Parameter.Gas_Min = 15; // Wert : 0-32
EE_Parameter.Gas_Max = 250; // Wert : 33-250
EE_Parameter.GyroAccFaktor = 30; // Wert : 1-64
EE_Parameter.KompassWirkung = 128; // Wert : 0-250
EE_Parameter.Gyro_P = 100; // Wert : 0-250
EE_Parameter.Gyro_I = 140; // Wert : 0-250
EE_Parameter.UnterspannungsWarnung = 94; // Wert : 0-250
EE_Parameter.NotGas = 35; // Wert : 0-250 // Gaswert bei Empangsverlust
EE_Parameter.NotGasZeit = 20; // Wert : 0-250 // Zeit bis auf NotGas geschaltet wird, wg. Rx-Problemen
EE_Parameter.UfoAusrichtung = 0; // X oder + Formation
EE_Parameter.I_Faktor = 16;
EE_Parameter.UserParam1 = 20 * 4; // zur freien Verwendung
EE_Parameter.UserParam2 = 0; // zur freien Verwendung
EE_Parameter.UserParam3 = 0; // zur freien Verwendung
EE_Parameter.UserParam4 = 0; // zur freien Verwendung
EE_Parameter.UserParam5 = 0; // zur freien Verwendung
EE_Parameter.UserParam6 = 0; // zur freien Verwendung
EE_Parameter.UserParam7 = 0; // zur freien Verwendung
EE_Parameter.UserParam8 = 0; // zur freien Verwendung
EE_Parameter.ServoNickControl = 100; // Wert : 0-250 // Stellung des Servos
EE_Parameter.ServoNickComp = 40; // Wert : 0-250 // Einfluss Gyro/Servo
EE_Parameter.ServoNickCompInvert = 0; // Wert : 0-250 // Richtung Einfluss Gyro/Servo
EE_Parameter.ServoNickMin = 50; // Wert : 0-250 // Anschlag
EE_Parameter.ServoNickMax = 150; // Wert : 0-250 // Anschlag
EE_Parameter.ServoNickRefresh = 5;
EE_Parameter.LoopGasLimit = 50;
EE_Parameter.LoopThreshold = 90; // Wert: 0-250 Schwelle für Stickausschlag
EE_Parameter.LoopHysterese = 50;
EE_Parameter.LoopConfig = 0; // Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts
EE_Parameter.AchsKopplung1 = 90; // Faktor, mit dem Gier die Achsen Roll und Nick verkoppelt
EE_Parameter.AchsGegenKopplung1 = 5;
EE_Parameter.WinkelUmschlagNick = 100;
EE_Parameter.WinkelUmschlagRoll = 100;
EE_Parameter.GyroAccAbgleich = 32; // 1/k
EE_Parameter.Driftkomp = 4;
EE_Parameter.DynamicStability = 50;
memcpy(EE_Parameter.Name, "Beginner\0", 12);
}
/branches/MicroMag3_Nick666/Festkomma/V0.68d/fc.c
0,0 → 1,1132
/*#######################################################################################
Flight Control
#######################################################################################*/
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Copyright (c) 04.2007 Holger Buss
// + Nur für den privaten Gebrauch
// + www.MikroKopter.com
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Es gilt für das gesamte Projekt (Hardware, Software, Binärfiles, Sourcecode und Dokumentation),
// + dass eine Nutzung (auch auszugsweise) nur für den privaten (nicht-kommerziellen) Gebrauch zulässig ist.
// + Sollten direkte oder indirekte kommerzielle Absichten verfolgt werden, ist mit uns (info@mikrokopter.de) Kontakt
// + bzgl. der Nutzungsbedingungen aufzunehmen.
// + Eine kommerzielle Nutzung ist z.B.Verkauf von MikroKoptern, Bestückung und Verkauf von Platinen oder Bausätzen,
// + Verkauf von Luftbildaufnahmen, usw.
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Werden Teile des Quellcodes (mit oder ohne Modifikation) weiterverwendet oder veröffentlicht,
// + unterliegen sie auch diesen Nutzungsbedingungen und diese Nutzungsbedingungen incl. Copyright müssen dann beiliegen
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Sollte die Software (auch auszugesweise) oder sonstige Informationen des MikroKopter-Projekts
// + auf anderen Webseiten oder sonstigen Medien veröffentlicht werden, muss unsere Webseite "http://www.mikrokopter.de"
// + eindeutig als Ursprung verlinkt werden
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Keine Gewähr auf Fehlerfreiheit, Vollständigkeit oder Funktion
// + Benutzung auf eigene Gefahr
// + Wir übernehmen keinerlei Haftung für direkte oder indirekte Personen- oder Sachschäden
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Die Portierung der Software (oder Teile davon) auf andere Systeme (ausser der Hardware von www.mikrokopter.de) ist nur
// + mit unserer Zustimmung zulässig
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Die Funktion printf_P() unterliegt ihrer eigenen Lizenz und ist hiervon nicht betroffen
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Redistributions of source code (with or without modifications) must retain the above copyright notice,
// + this list of conditions and the following disclaimer.
// + * Neither the name of the copyright holders nor the names of contributors may be used to endorse or promote products derived
// + from this software without specific prior written permission.
// + * The use of this project (hardware, software, binary files, sources and documentation) is only permittet
// + for non-commercial use (directly or indirectly)
// + Commercial use (for excample: selling of MikroKopters, selling of PCBs, assembly, ...) is only permitted
// + with our written permission
// + * If sources or documentations are redistributet on other webpages, out webpage (http://www.MikroKopter.de) must be
// + clearly linked as origin
// + * porting to systems other than hardware from www.mikrokopter.de is not allowed
// + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
// + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN// + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// + POSSIBILITY OF SUCH DAMAGE.
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
#include "main.h"
#include "eeprom.c"
 
unsigned char h,m,s;
volatile unsigned int I2CTimeout = 100;
int MesswertNick,MesswertRoll,MesswertGier;
int AdNeutralNick = 0,AdNeutralRoll = 0,AdNeutralGier = 0,StartNeutralRoll = 0,StartNeutralNick = 0;
int Mittelwert_AccNick, Mittelwert_AccRoll,Mittelwert_AccHoch;
 
long IntegralNick = 0,IntegralNick2 = 0;
long IntegralRoll = 0,IntegralRoll2 = 0;
long IntegralAccNick = 0,IntegralAccRoll = 0,IntegralAccZ = 0;
long Integral_Gier = 0;
 
long Mess_IntegralNick = 0,Mess_IntegralNick2 = 0;
long Mess_IntegralRoll = 0,Mess_IntegralRoll2 = 0;
long Mess_Integral_Gier = 0,Mess_Integral_Gier2 = 0;
long MittelIntegralNick,MittelIntegralRoll,MittelIntegralNick2,MittelIntegralRoll2;
volatile long Mess_Integral_Hoch = 0;
 
int KompassValue = 0;
int KompassStartwert = 0;
int KompassRichtung = 0;
 
unsigned char MAX_GAS,MIN_GAS;
unsigned char Notlandung = 0;
unsigned char HoehenReglerAktiv = 0;
long Umschlag180Nick = 250000L, Umschlag180Roll = 250000L;
 
float GyroFaktor;
float IntegralFaktor;
volatile int DiffNick,DiffRoll;
int Poti1 = 0, Poti2 = 0, Poti3 = 0, Poti4 = 0;
volatile unsigned char Motor_Vorne,Motor_Hinten,Motor_Rechts,Motor_Links, Count;
unsigned char MotorWert[5];
volatile unsigned char SenderOkay = 0;
int StickNick = 0,StickRoll = 0,StickGier = 0,StickGas = 0;
char MotorenEin = 0;
int HoehenWert = 0;
int SollHoehe = 0;
int LageKorrekturRoll = 0,LageKorrekturNick = 0;
float Ki = FAKTOR_I;
unsigned char Looping_Nick = 0,Looping_Roll = 0;
unsigned char Looping_Links = 0, Looping_Rechts = 0, Looping_Unten = 0, Looping_Oben = 0;
 
unsigned char Parameter_Luftdruck_D = 48; // Wert : 0-250
unsigned char Parameter_MaxHoehe = 251; // Wert : 0-250
unsigned char Parameter_Hoehe_P = 16; // Wert : 0-32
unsigned char Parameter_Hoehe_ACC_Wirkung = 58; // Wert : 0-250
unsigned char Parameter_KompassWirkung = 64; // Wert : 0-250
unsigned char Parameter_Gyro_P = 150; // Wert : 10-250
unsigned char Parameter_Gyro_I = 150; // Wert : 0-250
unsigned char Parameter_Gier_P = 2; // Wert : 1-20
unsigned char Parameter_I_Faktor = 10; // Wert : 1-20
unsigned char Parameter_UserParam1 = 0;
unsigned char Parameter_UserParam2 = 0;
unsigned char Parameter_UserParam3 = 0;
unsigned char Parameter_UserParam4 = 0;
unsigned char Parameter_UserParam5 = 0;
unsigned char Parameter_UserParam6 = 0;
unsigned char Parameter_UserParam7 = 0;
unsigned char Parameter_UserParam8 = 0;
unsigned char Parameter_ServoNickControl = 100;
unsigned char Parameter_LoopGasLimit = 70;
unsigned char Parameter_AchsKopplung1 = 0;
unsigned char Parameter_AchsGegenKopplung1 = 0;
unsigned char Parameter_DynamicStability = 100;
 
signed int ExternStickNick = 0,ExternStickRoll = 0,ExternStickGier = 0, ExternHoehenValue = -20;
int MaxStickNick = 0,MaxStickRoll = 0;
 
struct mk_param_struct EE_Parameter;
struct acc_neutral_struct ee_acc_neutral EEMEM; // Reservierung im EEPROM
struct acc_neutral_struct acc_neutral;
 
void Piep(unsigned char Anzahl)
{
while(Anzahl--)
{
if(MotorenEin) return; //auf keinen Fall im Flug!
beeptime = 100;
Delay_ms(250);
}
}
 
//############################################################################
// Neutrallage kalibrieren und fest im EEPROM abspeichern
void calib_acc(void)
//############################################################################
{
acc_neutral.X = 0;
acc_neutral.Y = 0;
acc_neutral.Z = 0;
CalibrierMittelwert();
Delay_ms_Mess(100);
CalibrierMittelwert();
acc_neutral.X = abs(Mittelwert_AccNick) / ACC_AMPLIFY;
acc_neutral.Y = abs(Mittelwert_AccRoll) / ACC_AMPLIFY;
acc_neutral.Z = Aktuell_az;
eeprom_write_block(&acc_neutral,&ee_acc_neutral,sizeof(struct acc_neutral_struct));
}
 
//############################################################################
// Nullwerte ermitteln
void SetNeutral(void)
//############################################################################
{
acc_neutral.X = 0;
acc_neutral.Y = 0;
acc_neutral.Z = 0;
AdNeutralNick = 0;
AdNeutralRoll = 0;
AdNeutralGier = 0;
Parameter_AchsKopplung1 = 0;
Parameter_AchsGegenKopplung1 = 0;
CalibrierMittelwert();
Delay_ms_Mess(100);
CalibrierMittelwert();
if((EE_Parameter.GlobalConfig & CFG_HOEHENREGELUNG)) // Höhenregelung aktiviert?
{
if((MessLuftdruck > 950) || (MessLuftdruck < 750)) SucheLuftruckOffset();
}
 
AdNeutralNick= AdWertNick;
AdNeutralRoll= AdWertRoll;
AdNeutralGier= AdWertGier;
StartNeutralRoll = AdNeutralRoll;
StartNeutralNick = AdNeutralNick;
 
eeprom_read_block(&acc_neutral,&ee_acc_neutral,sizeof(struct acc_neutral_struct));
Mess_IntegralNick = 0;
Mess_IntegralNick2 = 0;
Mess_IntegralRoll = 0;
Mess_IntegralRoll2 = 0;
Mess_Integral_Gier = 0;
MesswertNick = 0;
MesswertRoll = 0;
MesswertGier = 0;
StartLuftdruck = Luftdruck;
HoeheD = 0;
Mess_Integral_Hoch = 0;
KompassStartwert = KompassValue;
GPS_Neutral();
beeptime = 50;
Umschlag180Nick = (long) EE_Parameter.WinkelUmschlagNick * 2500L;
Umschlag180Roll = (long) EE_Parameter.WinkelUmschlagRoll * 2500L;
ExternHoehenValue = 0;
}
 
//############################################################################
// Bearbeitet die Messwerte
void Mittelwert(void)
//############################################################################
{
static signed long tmpl,tmpl2;
MesswertGier = (signed int) AdNeutralGier - AdWertGier;
MesswertRoll = (signed int) AdWertRoll - AdNeutralRoll;
MesswertNick = (signed int) AdWertNick - AdNeutralNick;
 
//DebugOut.Analog[26] = MesswertNick;
DebugOut.Analog[28] = MesswertRoll;
 
// Beschleunigungssensor ++++++++++++++++++++++++++++++++++++++++++++++++
Mittelwert_AccNick = ((long)Mittelwert_AccNick * 1 + ((ACC_AMPLIFY * (long)AdWertAccNick))) / 2L;
Mittelwert_AccRoll = ((long)Mittelwert_AccRoll * 1 + ((ACC_AMPLIFY * (long)AdWertAccRoll))) / 2L;
Mittelwert_AccHoch = ((long)Mittelwert_AccHoch * 1 + ((long)AdWertAccHoch)) / 2L;
IntegralAccNick += ACC_AMPLIFY * AdWertAccNick;
IntegralAccRoll += ACC_AMPLIFY * AdWertAccRoll;
IntegralAccZ += Aktuell_az - acc_neutral.Z;
// Gier ++++++++++++++++++++++++++++++++++++++++++++++++
Mess_Integral_Gier += MesswertGier;
Mess_Integral_Gier2 += MesswertGier;
// Kopplungsanteil +++++++++++++++++++++++++++++++++++++
if(!Looping_Nick && !Looping_Roll && (EE_Parameter.GlobalConfig & CFG_ACHSENKOPPLUNG_AKTIV))
{
tmpl = Mess_IntegralNick / 4096L;
tmpl *= MesswertGier;
tmpl *= Parameter_AchsKopplung1; //125
tmpl /= 2048L;
tmpl2 = Mess_IntegralRoll / 4096L;
tmpl2 *= MesswertGier;
tmpl2 *= Parameter_AchsKopplung1;
tmpl2 /= 2048L;
}
else tmpl = tmpl2 = 0;
// Roll ++++++++++++++++++++++++++++++++++++++++++++++++
MesswertRoll += tmpl;
MesswertRoll += (tmpl2*Parameter_AchsGegenKopplung1)/512L; //109
Mess_IntegralRoll2 += MesswertRoll;
Mess_IntegralRoll += MesswertRoll - LageKorrekturRoll;
if(Mess_IntegralRoll > Umschlag180Roll)
{
Mess_IntegralRoll = -(Umschlag180Roll - 10000L);
Mess_IntegralRoll2 = Mess_IntegralRoll;
}
if(Mess_IntegralRoll <-Umschlag180Roll)
{
Mess_IntegralRoll = (Umschlag180Roll - 10000L);
Mess_IntegralRoll2 = Mess_IntegralRoll;
}
if(AdWertRoll < 15) MesswertRoll = -1000;
if(AdWertRoll < 7) MesswertRoll = -2000;
if(PlatinenVersion == 10)
{
if(AdWertRoll > 1010) MesswertRoll = +1000;
if(AdWertRoll > 1017) MesswertRoll = +2000;
}
else
{
if(AdWertRoll > 2020) MesswertRoll = +1000;
if(AdWertRoll > 2034) MesswertRoll = +2000;
}
// Nick ++++++++++++++++++++++++++++++++++++++++++++++++
MesswertNick -= tmpl2;
MesswertNick -= (tmpl*Parameter_AchsGegenKopplung1)/512L;
Mess_IntegralNick2 += MesswertNick;
Mess_IntegralNick += MesswertNick - LageKorrekturNick;
if(Mess_IntegralNick > Umschlag180Nick)
{
Mess_IntegralNick = -(Umschlag180Nick - 10000L);
Mess_IntegralNick2 = Mess_IntegralNick;
}
if(Mess_IntegralNick <-Umschlag180Nick)
{
Mess_IntegralNick = (Umschlag180Nick - 10000L);
Mess_IntegralNick2 = Mess_IntegralNick;
}
if(AdWertNick < 15) MesswertNick = -1000;
if(AdWertNick < 7) MesswertNick = -2000;
if(PlatinenVersion == 10)
{
if(AdWertNick > 1010) MesswertNick = +1000;
if(AdWertNick > 1017) MesswertNick = +2000;
}
else
{
if(AdWertNick > 2020) MesswertNick = +1000;
if(AdWertNick > 2034) MesswertNick = +2000;
}
//++++++++++++++++++++++++++++++++++++++++++++++++
// ADC einschalten
ANALOG_ON;
//++++++++++++++++++++++++++++++++++++++++++++++++
 
Integral_Gier = Mess_Integral_Gier;
IntegralNick = Mess_IntegralNick;
IntegralRoll = Mess_IntegralRoll;
IntegralNick2 = Mess_IntegralNick2;
IntegralRoll2 = Mess_IntegralRoll2;
 
if(EE_Parameter.GlobalConfig & CFG_DREHRATEN_BEGRENZER && !Looping_Nick && !Looping_Roll)
{
if(MesswertNick > 200) MesswertNick += 4 * (MesswertNick - 200);
else if(MesswertNick < -200) MesswertNick += 4 * (MesswertNick + 200);
if(MesswertRoll > 200) MesswertRoll += 4 * (MesswertRoll - 200);
else if(MesswertRoll < -200) MesswertRoll += 4 * (MesswertRoll + 200);
}
if(Poti1 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 110) Poti1++; else if(Poti1 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 110 && Poti1) Poti1--;
if(Poti2 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110) Poti2++; else if(Poti2 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110 && Poti2) Poti2--;
if(Poti3 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110) Poti3++; else if(Poti3 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110 && Poti3) Poti3--;
if(Poti4 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]] + 110) Poti4++; else if(Poti4 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]] + 110 && Poti4) Poti4--;
if(Poti1 < 0) Poti1 = 0; else if(Poti1 > 255) Poti1 = 255;
if(Poti2 < 0) Poti2 = 0; else if(Poti2 > 255) Poti2 = 255;
if(Poti3 < 0) Poti3 = 0; else if(Poti3 > 255) Poti3 = 255;
if(Poti4 < 0) Poti4 = 0; else if(Poti4 > 255) Poti4 = 255;
}
 
//############################################################################
// Messwerte beim Ermitteln der Nullage
void CalibrierMittelwert(void)
//############################################################################
{
// ADC auschalten, damit die Werte sich nicht während der Berechnung ändern
ANALOG_OFF;
MesswertNick = AdWertNick;
MesswertRoll = AdWertRoll;
MesswertGier = AdWertGier;
Mittelwert_AccNick = ACC_AMPLIFY * (long)AdWertAccNick;
Mittelwert_AccRoll = ACC_AMPLIFY * (long)AdWertAccRoll;
Mittelwert_AccHoch = (long)AdWertAccHoch;
// ADC einschalten
ANALOG_ON;
if(Poti1 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 110) Poti1++; else if(Poti1 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 110 && Poti1) Poti1--;
if(Poti2 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110) Poti2++; else if(Poti2 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110 && Poti2) Poti2--;
if(Poti3 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110) Poti3++; else if(Poti3 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110 && Poti3) Poti3--;
if(Poti4 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]] + 110) Poti4++; else if(Poti4 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]] + 110 && Poti4) Poti4--;
if(Poti1 < 0) Poti1 = 0; else if(Poti1 > 255) Poti1 = 255;
if(Poti2 < 0) Poti2 = 0; else if(Poti2 > 255) Poti2 = 255;
if(Poti3 < 0) Poti3 = 0; else if(Poti3 > 255) Poti3 = 255;
if(Poti4 < 0) Poti4 = 0; else if(Poti4 > 255) Poti4 = 255;
 
Umschlag180Nick = (long) EE_Parameter.WinkelUmschlagNick * 2500L;
Umschlag180Roll = (long) EE_Parameter.WinkelUmschlagNick * 2500L;
}
 
//############################################################################
// Senden der Motorwerte per I2C-Bus
void SendMotorData(void)
//############################################################################
{
if(MOTOR_OFF || !MotorenEin)
{
Motor_Hinten = 0;
Motor_Vorne = 0;
Motor_Rechts = 0;
Motor_Links = 0;
if(MotorTest[0]) Motor_Vorne = MotorTest[0];
if(MotorTest[1]) Motor_Hinten = MotorTest[1];
if(MotorTest[2]) Motor_Links = MotorTest[2];
if(MotorTest[3]) Motor_Rechts = MotorTest[3];
}
 
DebugOut.Analog[12] = Motor_Vorne;
DebugOut.Analog[13] = Motor_Hinten;
DebugOut.Analog[14] = Motor_Links;
DebugOut.Analog[15] = Motor_Rechts;
 
//Start I2C Interrupt Mode
twi_state = 0;
motor = 0;
i2c_start();
}
 
 
 
//############################################################################
// Trägt ggf. das Poti als Parameter ein
void ParameterZuordnung(void)
//############################################################################
{
 
#define CHK_POTI(b,a,min,max) { if(a > 250) { if(a == 251) b = Poti1; else if(a == 252) b = Poti2; else if(a == 253) b = Poti3; else if(a == 254) b = Poti4;} else b = a; if(b <= min) b = min; else if(b >= max) b = max;}
CHK_POTI(Parameter_MaxHoehe,EE_Parameter.MaxHoehe,0,255);
CHK_POTI(Parameter_Luftdruck_D,EE_Parameter.Luftdruck_D,0,100);
CHK_POTI(Parameter_Hoehe_P,EE_Parameter.Hoehe_P,0,100);
CHK_POTI(Parameter_Hoehe_ACC_Wirkung,EE_Parameter.Hoehe_ACC_Wirkung,0,255);
CHK_POTI(Parameter_KompassWirkung,EE_Parameter.KompassWirkung,0,255);
CHK_POTI(Parameter_Gyro_P,EE_Parameter.Gyro_P,10,255);
CHK_POTI(Parameter_Gyro_I,EE_Parameter.Gyro_I,0,255);
CHK_POTI(Parameter_I_Faktor,EE_Parameter.I_Faktor,0,255);
CHK_POTI(Parameter_UserParam1,EE_Parameter.UserParam1,0,255);
CHK_POTI(Parameter_UserParam2,EE_Parameter.UserParam2,0,255);
CHK_POTI(Parameter_UserParam3,EE_Parameter.UserParam3,0,255);
CHK_POTI(Parameter_UserParam4,EE_Parameter.UserParam4,0,255);
CHK_POTI(Parameter_UserParam5,EE_Parameter.UserParam5,0,255);
CHK_POTI(Parameter_UserParam6,EE_Parameter.UserParam6,0,255);
CHK_POTI(Parameter_UserParam7,EE_Parameter.UserParam7,0,255);
CHK_POTI(Parameter_UserParam8,EE_Parameter.UserParam8,0,255);
CHK_POTI(Parameter_ServoNickControl,EE_Parameter.ServoNickControl,0,255);
CHK_POTI(Parameter_LoopGasLimit,EE_Parameter.LoopGasLimit,0,255);
CHK_POTI(Parameter_AchsKopplung1, EE_Parameter.AchsKopplung1,0,255);
CHK_POTI(Parameter_AchsGegenKopplung1,EE_Parameter.AchsGegenKopplung1,0,255);
CHK_POTI(Parameter_DynamicStability,EE_Parameter.DynamicStability,0,255);
 
Ki = (float)Parameter_I_Faktor * 0.0001;
MAX_GAS = EE_Parameter.Gas_Max;
MIN_GAS = EE_Parameter.Gas_Min;
}
 
 
//############################################################################
//
void MotorRegler(void)
//############################################################################
{
int motorwert,pd_ergebnis,h,tmp_int;
int GierMischanteil,GasMischanteil;
static long SummeNick=0,SummeRoll=0;
static long sollGier = 0,tmp_long,tmp_long2;
static long IntegralFehlerNick = 0;
static long IntegralFehlerRoll = 0;
static unsigned int RcLostTimer;
static unsigned char delay_neutral = 0;
static unsigned char delay_einschalten = 0,delay_ausschalten = 0;
static unsigned int modell_fliegt = 0;
static int hoehenregler = 0;
static char TimerWerteausgabe = 0;
static char NeueKompassRichtungMerken = 1;
static long ausgleichNick, ausgleichRoll;
Mittelwert();
 
GRN_ON;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Gaswert ermitteln
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
GasMischanteil = StickGas;
if(GasMischanteil < 0) GasMischanteil = 0;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Emfang schlecht
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(SenderOkay < 100)
{
if(!PcZugriff)
{
if(BeepMuster == 0xffff)
{
beeptime = 15000;
BeepMuster = 0x0c00;
}
}
if(RcLostTimer) RcLostTimer--;
else
{
MotorenEin = 0;
Notlandung = 0;
}
ROT_ON;
if(modell_fliegt > 2000) // wahrscheinlich in der Luft --> langsam absenken
{
GasMischanteil = EE_Parameter.NotGas;
Notlandung = 1;
PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] = 0;
PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] = 0;
PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] = 0;
}
else MotorenEin = 0;
}
else
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Emfang gut
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(SenderOkay > 140)
{
Notlandung = 0;
RcLostTimer = EE_Parameter.NotGasZeit * 50;
if(GasMischanteil > 40)
{
if(modell_fliegt < 0xffff) modell_fliegt++;
}
if((modell_fliegt < 200) || (GasMischanteil < 40))
{
SummeNick = 0;
SummeRoll = 0;
Mess_Integral_Gier = 0;
Mess_Integral_Gier2 = 0;
}
if((PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] > 80) && MotorenEin == 0)
{
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// auf Nullwerte kalibrieren
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] > 75) // Neutralwerte
{
if(++delay_neutral > 200) // nicht sofort
{
GRN_OFF;
MotorenEin = 0;
delay_neutral = 0;
modell_fliegt = 0;
if(PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70 || abs(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]]) > 70)
{
unsigned char setting=1;
if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] > 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < 70) setting = 1;
if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] > 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70) setting = 2;
if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] < 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70) setting = 3;
if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] <-70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70) setting = 4;
if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] <-70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < 70) setting = 5;
eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], setting); // aktiven Datensatz merken
}
if((EE_Parameter.GlobalConfig & CFG_HOEHENREGELUNG)) // Höhenregelung aktiviert?
{
if((MessLuftdruck > 950) || (MessLuftdruck < 750)) SucheLuftruckOffset();
}
ReadParameterSet(GetActiveParamSetNumber(), (unsigned char *) &EE_Parameter.Kanalbelegung[0], sizeof(struct mk_param_struct));
SetNeutral();
Piep(GetActiveParamSetNumber());
}
}
else delay_neutral = 0;
}
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Gas ist unten
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] < 35-120)
{
// Starten
if(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] < -75)
{
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Einschalten
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(++delay_einschalten > 200)
{
delay_einschalten = 200;
modell_fliegt = 1;
MotorenEin = 1;
sollGier = 0;
Mess_Integral_Gier = 0;
Mess_Integral_Gier2 = 0;
Mess_IntegralNick = 0;
Mess_IntegralRoll = 0;
Mess_IntegralNick2 = IntegralNick;
Mess_IntegralRoll2 = IntegralRoll;
SummeNick = 0;
SummeRoll = 0;
}
}
else delay_einschalten = 0;
//Auf Neutralwerte setzen
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Auschalten
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] > 75)
{
if(++delay_ausschalten > 200) // nicht sofort
{
MotorenEin = 0;
delay_ausschalten = 200;
modell_fliegt = 0;
}
}
else delay_ausschalten = 0;
}
}
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// neue Werte von der Funke
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(!NewPpmData-- || Notlandung)
{
int tmp_int;
ParameterZuordnung();
StickNick = (StickNick * 3 + PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] * EE_Parameter.Stick_P) / 4;
StickNick += PPM_diff[EE_Parameter.Kanalbelegung[K_NICK]] * EE_Parameter.Stick_D;
StickRoll = (StickRoll * 3 + PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] * EE_Parameter.Stick_P) / 4;
StickRoll += PPM_diff[EE_Parameter.Kanalbelegung[K_ROLL]] * EE_Parameter.Stick_D;
 
StickGier = -PPM_in[EE_Parameter.Kanalbelegung[K_GIER]];
StickGas = PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] + 120;
 
if(abs(PPM_in[EE_Parameter.Kanalbelegung[K_NICK]]) > MaxStickNick)
MaxStickNick = abs(PPM_in[EE_Parameter.Kanalbelegung[K_NICK]]); else MaxStickNick--;
if(abs(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]]) > MaxStickRoll)
MaxStickRoll = abs(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]]); else MaxStickRoll--;
if(Notlandung) {MaxStickNick = 0; MaxStickRoll = 0;}
 
GyroFaktor = ((float)Parameter_Gyro_P + 10.0) / 256.0;
IntegralFaktor = ((float) Parameter_Gyro_I) / 44000;
 
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//+ Digitale Steuerung per DubWise
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#define KEY_VALUE (Parameter_UserParam1 * 4) //(Poti3 * 8)
if(DubWiseKeys[1]) beeptime = 10;
if(DubWiseKeys[1] & DUB_KEY_UP) tmp_int = KEY_VALUE; else
if(DubWiseKeys[1] & DUB_KEY_DOWN) tmp_int = -KEY_VALUE; else tmp_int = 0;
ExternStickNick = (ExternStickNick * 7 + tmp_int) / 8;
if(DubWiseKeys[1] & DUB_KEY_LEFT) tmp_int = KEY_VALUE; else
if(DubWiseKeys[1] & DUB_KEY_RIGHT) tmp_int = -KEY_VALUE; else tmp_int = 0;
ExternStickRoll = (ExternStickRoll * 7 + tmp_int) / 8;
 
if(DubWiseKeys[0] & 8) ExternStickGier = 50;else
if(DubWiseKeys[0] & 4) ExternStickGier =-50;else ExternStickGier = 0;
if(DubWiseKeys[0] & 2) ExternHoehenValue++;
if(DubWiseKeys[0] & 16) ExternHoehenValue--;
 
StickNick += ExternStickNick / 8;
StickRoll += ExternStickRoll / 8;
StickGier += ExternStickGier;
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//+ Analoge Steuerung per Seriell
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(ExternControl.Config & 0x01 && Parameter_UserParam1 > 128)
{
StickNick += (int) ExternControl.Nick * (int) EE_Parameter.Stick_P;
StickRoll += (int) ExternControl.Roll * (int) EE_Parameter.Stick_P;
StickGier += ExternControl.Gier;
ExternHoehenValue = (int) ExternControl.Hight * (int)EE_Parameter.Hoehe_Verstaerkung;
if(ExternControl.Gas < StickGas) StickGas = ExternControl.Gas;
}
 
if(EE_Parameter.GlobalConfig & CFG_HEADING_HOLD) IntegralFaktor = 0;
if(GyroFaktor < 0) GyroFaktor = 0;
if(IntegralFaktor < 0) IntegralFaktor = 0;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Looping?
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if((PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] > EE_Parameter.LoopThreshold) && EE_Parameter.LoopConfig & CFG_LOOP_LINKS) Looping_Links = 1;
else
{
{
if((PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] < (EE_Parameter.LoopThreshold - EE_Parameter.LoopHysterese))) Looping_Links = 0;
}
}
if((PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] < -EE_Parameter.LoopThreshold) && EE_Parameter.LoopConfig & CFG_LOOP_RECHTS) Looping_Rechts = 1;
else
{
if(Looping_Rechts) // Hysterese
{
if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] > -(EE_Parameter.LoopThreshold - EE_Parameter.LoopHysterese)) Looping_Rechts = 0;
}
}
 
if((PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > EE_Parameter.LoopThreshold) && EE_Parameter.LoopConfig & CFG_LOOP_OBEN) Looping_Oben = 1;
else
{
if(Looping_Oben) // Hysterese
{
if((PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < (EE_Parameter.LoopThreshold - EE_Parameter.LoopHysterese))) Looping_Oben = 0;
}
}
if((PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < -EE_Parameter.LoopThreshold) && EE_Parameter.LoopConfig & CFG_LOOP_UNTEN) Looping_Unten = 1;
else
{
if(Looping_Unten) // Hysterese
{
if(PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > -(EE_Parameter.LoopThreshold - EE_Parameter.LoopHysterese)) Looping_Unten = 0;
}
}
 
if(Looping_Links || Looping_Rechts) Looping_Roll = 1; else Looping_Roll = 0;
if(Looping_Oben || Looping_Unten) {Looping_Nick = 1; Looping_Roll = 0; Looping_Links = 0; Looping_Rechts = 0;} else Looping_Nick = 0;
} // Ende neue Funken-Werte
 
if(Looping_Roll) beeptime = 100;
if(Looping_Roll || Looping_Nick)
{
if(GasMischanteil > EE_Parameter.LoopGasLimit) GasMischanteil = EE_Parameter.LoopGasLimit;
}
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Bei Empfangsausfall im Flug
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(Notlandung)
{
StickGier = 0;
StickNick = 0;
StickRoll = 0;
GyroFaktor = 0.1;
IntegralFaktor = 0.005;
Looping_Roll = 0;
Looping_Nick = 0;
}
 
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Integrale auf ACC-Signal abgleichen
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#define ABGLEICH_ANZAHL 256L
 
MittelIntegralNick += IntegralNick; // Für die Mittelwertbildung aufsummieren
MittelIntegralRoll += IntegralRoll;
MittelIntegralNick2 += IntegralNick2;
MittelIntegralRoll2 += IntegralRoll2;
 
if(Looping_Nick || Looping_Roll)
{
IntegralAccNick = 0;
IntegralAccRoll = 0;
MittelIntegralNick = 0;
MittelIntegralRoll = 0;
MittelIntegralNick2 = 0;
MittelIntegralRoll2 = 0;
Mess_IntegralNick2 = Mess_IntegralNick;
Mess_IntegralRoll2 = Mess_IntegralRoll;
ZaehlMessungen = 0;
LageKorrekturNick = 0;
LageKorrekturRoll = 0;
}
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(!Looping_Nick && !Looping_Roll)
{
long tmp_long, tmp_long2;
tmp_long = (long)(IntegralNick / EE_Parameter.GyroAccFaktor - (long)Mittelwert_AccNick);
tmp_long2 = (long)(IntegralRoll / EE_Parameter.GyroAccFaktor - (long)Mittelwert_AccRoll);
tmp_long /= 16;
tmp_long2 /= 16;
if((MaxStickNick > 15) || (MaxStickRoll > 15))
{
tmp_long /= 3;
tmp_long2 /= 3;
}
if(abs(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]]) > 25)
{
tmp_long /= 3;
tmp_long2 /= 3;
}
 
#define AUSGLEICH 32
if(tmp_long > AUSGLEICH) tmp_long = AUSGLEICH;
if(tmp_long < -AUSGLEICH) tmp_long =-AUSGLEICH;
if(tmp_long2 > AUSGLEICH) tmp_long2 = AUSGLEICH;
if(tmp_long2 <-AUSGLEICH) tmp_long2 =-AUSGLEICH;
 
Mess_IntegralNick -= tmp_long;
Mess_IntegralRoll -= tmp_long2;
}
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
if(ZaehlMessungen >= ABGLEICH_ANZAHL)
{
static int cnt = 0;
static char last_n_p,last_n_n,last_r_p,last_r_n;
static long MittelIntegralNick_Alt,MittelIntegralRoll_Alt;
if(!Looping_Nick && !Looping_Roll)
{
MittelIntegralNick /= ABGLEICH_ANZAHL;
MittelIntegralRoll /= ABGLEICH_ANZAHL;
IntegralAccNick = (EE_Parameter.GyroAccFaktor * IntegralAccNick) / ABGLEICH_ANZAHL;
IntegralAccRoll = (EE_Parameter.GyroAccFaktor * IntegralAccRoll) / ABGLEICH_ANZAHL;
IntegralAccZ = IntegralAccZ / ABGLEICH_ANZAHL;
#define MAX_I 0//(Poti2/10)
// Nick ++++++++++++++++++++++++++++++++++++++++++++++++
IntegralFehlerNick = (long)(MittelIntegralNick - (long)IntegralAccNick);
ausgleichNick = IntegralFehlerNick / EE_Parameter.GyroAccAbgleich;
// Roll ++++++++++++++++++++++++++++++++++++++++++++++++
IntegralFehlerRoll = (long)(MittelIntegralRoll - (long)IntegralAccRoll);
ausgleichRoll = IntegralFehlerRoll / EE_Parameter.GyroAccAbgleich;
 
LageKorrekturNick = ausgleichNick / ABGLEICH_ANZAHL;
LageKorrekturRoll = ausgleichRoll / ABGLEICH_ANZAHL;
 
if((MaxStickNick > 15) || (MaxStickRoll > 15) || (abs(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]]) > 25))
{
LageKorrekturNick /= 2;
LageKorrekturNick /= 2;
}
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Gyro-Drift ermitteln
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
MittelIntegralNick2 /= ABGLEICH_ANZAHL;
MittelIntegralRoll2 /= ABGLEICH_ANZAHL;
tmp_long = IntegralNick2 - IntegralNick;
tmp_long2 = IntegralRoll2 - IntegralRoll;
//DebugOut.Analog[25] = MittelIntegralRoll2 / 26;
 
IntegralFehlerNick = tmp_long;
IntegralFehlerRoll = tmp_long2;
Mess_IntegralNick2 -= IntegralFehlerNick;
Mess_IntegralRoll2 -= IntegralFehlerRoll;
 
// IntegralFehlerNick = (IntegralFehlerNick * 1 + tmp_long) / 2;
// IntegralFehlerRoll = (IntegralFehlerRoll * 1 + tmp_long2) / 2;
 
 
DebugOut.Analog[17] = IntegralAccNick / 26;
DebugOut.Analog[18] = IntegralAccRoll / 26;
DebugOut.Analog[19] = IntegralFehlerNick;// / 26;
DebugOut.Analog[20] = IntegralFehlerRoll;// / 26;
DebugOut.Analog[21] = MittelIntegralNick / 26;
DebugOut.Analog[22] = MittelIntegralRoll / 26;
//DebugOut.Analog[28] = ausgleichNick;
DebugOut.Analog[29] = ausgleichRoll;
DebugOut.Analog[30] = LageKorrekturRoll * 10;
 
#define FEHLER_LIMIT (ABGLEICH_ANZAHL * 4)
#define FEHLER_LIMIT2 (ABGLEICH_ANZAHL * 16)
#define BEWEGUNGS_LIMIT 20000
// Nick +++++++++++++++++++++++++++++++++++++++++++++++++
cnt = 1;// + labs(IntegralFehlerNick) / 4096;
if(labs(MittelIntegralNick_Alt - MittelIntegralNick) < BEWEGUNGS_LIMIT)
{
if(IntegralFehlerNick > FEHLER_LIMIT2)
{
if(last_n_p)
{
cnt += labs(IntegralFehlerNick) / FEHLER_LIMIT2;
ausgleichNick = IntegralFehlerNick / 8;
if(ausgleichNick > 5000) ausgleichNick = 5000;
LageKorrekturNick += ausgleichNick / ABGLEICH_ANZAHL;
}
else last_n_p = 1;
} else last_n_p = 0;
if(IntegralFehlerNick < -FEHLER_LIMIT2)
{
if(last_n_n)
{
cnt += labs(IntegralFehlerNick) / FEHLER_LIMIT2;
ausgleichNick = IntegralFehlerNick / 8;
if(ausgleichNick < -5000) ausgleichNick = -5000;
LageKorrekturNick += ausgleichNick / ABGLEICH_ANZAHL;
}
else last_n_n = 1;
} else last_n_n = 0;
} else cnt = 0;
if(cnt > EE_Parameter.Driftkomp) cnt = EE_Parameter.Driftkomp;
if(IntegralFehlerNick > FEHLER_LIMIT) AdNeutralNick += cnt;
if(IntegralFehlerNick < -FEHLER_LIMIT) AdNeutralNick -= cnt;
 
// Roll +++++++++++++++++++++++++++++++++++++++++++++++++
cnt = 1;// + labs(IntegralFehlerNick) / 4096;
 
ausgleichRoll = 0;
if(labs(MittelIntegralRoll_Alt - MittelIntegralRoll) < BEWEGUNGS_LIMIT)
{
if(IntegralFehlerRoll > FEHLER_LIMIT2)
{
if(last_r_p)
{
cnt += labs(IntegralFehlerRoll) / FEHLER_LIMIT2;
ausgleichRoll = IntegralFehlerRoll / 8;
if(ausgleichRoll > 5000) ausgleichRoll = 5000;
LageKorrekturRoll += ausgleichRoll / ABGLEICH_ANZAHL;
}
else last_r_p = 1;
} else last_r_p = 0;
if(IntegralFehlerRoll < -FEHLER_LIMIT2)
{
if(last_r_n)
{
cnt += labs(IntegralFehlerRoll) / FEHLER_LIMIT2;
ausgleichRoll = IntegralFehlerRoll / 8;
if(ausgleichRoll < -5000) ausgleichRoll = -5000;
LageKorrekturRoll += ausgleichRoll / ABGLEICH_ANZAHL;
}
else last_r_n = 1;
} else last_r_n = 0;
} else
{
cnt = 0;
}
 
if(cnt > EE_Parameter.Driftkomp) cnt = EE_Parameter.Driftkomp;
if(IntegralFehlerRoll > FEHLER_LIMIT) AdNeutralRoll += cnt;
if(IntegralFehlerRoll < -FEHLER_LIMIT) AdNeutralRoll -= cnt;
DebugOut.Analog[27] = ausgleichRoll;
DebugOut.Analog[23] = AdNeutralNick;//10*(AdNeutralNick - StartNeutralNick);
DebugOut.Analog[24] = 10*(AdNeutralRoll - StartNeutralRoll);
}
else
{
LageKorrekturRoll = 0;
LageKorrekturNick = 0;
}
 
if(!IntegralFaktor) { LageKorrekturRoll = 0; LageKorrekturNick = 0;} // z.B. bei HH
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
MittelIntegralNick_Alt = MittelIntegralNick;
MittelIntegralRoll_Alt = MittelIntegralRoll;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
IntegralAccNick = 0;
IntegralAccRoll = 0;
IntegralAccZ = 0;
MittelIntegralNick = 0;
MittelIntegralRoll = 0;
MittelIntegralNick2 = 0;
MittelIntegralRoll2 = 0;
ZaehlMessungen = 0;
}
//DebugOut.Analog[31] = StickRoll / (26*IntegralFaktor);
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Gieren
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(abs(StickGier) > 20) // war 35
{
if(!(EE_Parameter.GlobalConfig & CFG_KOMPASS_FIX)) NeueKompassRichtungMerken = 1;
}
tmp_int = (long)EE_Parameter.Gier_P * ((long)StickGier * abs(StickGier)) / 512L; // expo y = ax + bx²
tmp_int += (EE_Parameter.Gier_P * StickGier) / 4;
sollGier = tmp_int;
Mess_Integral_Gier -= tmp_int;
if(Mess_Integral_Gier > 50000) Mess_Integral_Gier = 50000; // begrenzen
if(Mess_Integral_Gier <-50000) Mess_Integral_Gier =-50000;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Kompass
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(EE_Parameter.GlobalConfig & CFG_KOMPASS_AKTIV)
{
int w,v;
static uint8_t updKompass = 0;
 
if (!updKompass--) // Aufruf mit ~10 Hz
{
KompassValue = heading_MM3();
KompassRichtung = ((540 + KompassValue - KompassStartwert) % 360) - 180;
updKompass = 50;
}
w = abs(IntegralNick /512); // mit zunehmender Neigung den Einfluss drosseln
v = abs(IntegralRoll /512);
if(v > w) w = v; // grösste Neigung ermitteln
if(w < 35 && NeueKompassRichtungMerken)
{
KompassStartwert = KompassValue;
NeueKompassRichtungMerken = 0;
}
w = (w * Parameter_KompassWirkung) / 64; // auf die Wirkung normieren
w = Parameter_KompassWirkung - w; // Wirkung ggf drosseln
if(w > 0)
{
Mess_Integral_Gier += (KompassRichtung * w) / 32; // nach Kompass ausrichten
}
}
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Debugwerte zuordnen
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(!TimerWerteausgabe--)
{
TimerWerteausgabe = 24;
DebugOut.Analog[0] = IntegralNick / EE_Parameter.GyroAccFaktor;
DebugOut.Analog[1] = IntegralRoll / EE_Parameter.GyroAccFaktor;
DebugOut.Analog[2] = Mittelwert_AccNick;
DebugOut.Analog[3] = Mittelwert_AccRoll;
DebugOut.Analog[4] = MesswertGier;
DebugOut.Analog[5] = HoehenWert;
DebugOut.Analog[6] =(Mess_Integral_Hoch / 512);
DebugOut.Analog[8] = KompassValue;
DebugOut.Analog[9] = UBat;
DebugOut.Analog[10] = SenderOkay;
DebugOut.Analog[16] = Mittelwert_AccHoch;
 
/* DebugOut.Analog[16] = motor_rx[0];
DebugOut.Analog[17] = motor_rx[1];
DebugOut.Analog[18] = motor_rx[2];
DebugOut.Analog[19] = motor_rx[3];
DebugOut.Analog[20] = motor_rx[0] + motor_rx[1] + motor_rx[2] + motor_rx[3];
DebugOut.Analog[20] /= 14;
DebugOut.Analog[21] = motor_rx[4];
DebugOut.Analog[22] = motor_rx[5];
DebugOut.Analog[23] = motor_rx[6];
DebugOut.Analog[24] = motor_rx[7];
DebugOut.Analog[25] = motor_rx[4] + motor_rx[5] + motor_rx[6] + motor_rx[7];
*/
// DebugOut.Analog[9] = MesswertNick;
// DebugOut.Analog[9] = SollHoehe;
// DebugOut.Analog[10] = Mess_Integral_Gier / 128;
// DebugOut.Analog[11] = KompassStartwert;
// DebugOut.Analog[10] = Parameter_Gyro_I;
// DebugOut.Analog[10] = EE_Parameter.Gyro_I;
// DebugOut.Analog[9] = KompassRichtung;
// DebugOut.Analog[10] = GasMischanteil;
// DebugOut.Analog[3] = HoeheD * 32;
// DebugOut.Analog[4] = hoehenregler;
}
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Drehgeschwindigkeit und -winkel zu einem Istwert zusammenfassen
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//DebugOut.Analog[26] = MesswertNick;
//DebugOut.Analog[28] = MesswertRoll;
 
if(Looping_Nick) MesswertNick = MesswertNick * GyroFaktor;
else MesswertNick = IntegralNick * IntegralFaktor + MesswertNick * GyroFaktor;
if(Looping_Roll) MesswertRoll = MesswertRoll * GyroFaktor;
else MesswertRoll = IntegralRoll * IntegralFaktor + MesswertRoll * GyroFaktor;
MesswertGier = MesswertGier * (2 * GyroFaktor) + Integral_Gier * IntegralFaktor / 2;
 
DebugOut.Analog[25] = IntegralRoll * IntegralFaktor;
DebugOut.Analog[31] = StickRoll;// / (26*IntegralFaktor);
DebugOut.Analog[28] = MesswertRoll;
 
// Maximalwerte abfangen
#define MAX_SENSOR 2048
if(MesswertNick > MAX_SENSOR) MesswertNick = MAX_SENSOR;
if(MesswertNick < -MAX_SENSOR) MesswertNick = -MAX_SENSOR;
if(MesswertRoll > MAX_SENSOR) MesswertRoll = MAX_SENSOR;
if(MesswertRoll < -MAX_SENSOR) MesswertRoll = -MAX_SENSOR;
if(MesswertGier > MAX_SENSOR) MesswertGier = MAX_SENSOR;
if(MesswertGier < -MAX_SENSOR) MesswertGier = -MAX_SENSOR;
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Höhenregelung
// Die Höhenregelung schwächt lediglich das Gas ab, erhöht es allerdings nicht
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//OCR0B = 180 - (Poti1 + 120) / 4;
//DruckOffsetSetting = OCR0B;
if((EE_Parameter.GlobalConfig & CFG_HOEHENREGELUNG)) // Höhenregelung
{
int tmp_int;
if(EE_Parameter.GlobalConfig & CFG_HOEHEN_SCHALTER) // Regler wird über Schalter gesteuert
{
if(Parameter_MaxHoehe < 50)
{
SollHoehe = HoehenWert - 20; // Parameter_MaxHoehe ist der PPM-Wert des Schalters
HoehenReglerAktiv = 0;
}
else
HoehenReglerAktiv = 1;
}
else
{
SollHoehe = ((int) ExternHoehenValue + (int) Parameter_MaxHoehe) * (int)EE_Parameter.Hoehe_Verstaerkung - 20;
HoehenReglerAktiv = 1;
}
 
if(Notlandung) SollHoehe = 0;
h = HoehenWert;
if((h > SollHoehe) && HoehenReglerAktiv) // zu hoch --> drosseln
{ h = ((h - SollHoehe) * (int) Parameter_Hoehe_P) / 16; // Differenz bestimmen --> P-Anteil
h = GasMischanteil - h; // vom Gas abziehen
h -= (HoeheD * Parameter_Luftdruck_D)/8; // D-Anteil
tmp_int = ((Mess_Integral_Hoch / 512) * (signed long) Parameter_Hoehe_ACC_Wirkung) / 32;
if(tmp_int > 50) tmp_int = 50;
else if(tmp_int < -50) tmp_int = -50;
h -= tmp_int;
hoehenregler = (hoehenregler*15 + h) / 16;
if(hoehenregler < EE_Parameter.Hoehe_MinGas) // nicht unter MIN
{
if(GasMischanteil >= EE_Parameter.Hoehe_MinGas) hoehenregler = EE_Parameter.Hoehe_MinGas;
if(GasMischanteil < EE_Parameter.Hoehe_MinGas) hoehenregler = GasMischanteil;
}
if(hoehenregler > GasMischanteil) hoehenregler = GasMischanteil; // nicht mehr als Gas
GasMischanteil = hoehenregler;
}
}
if(GasMischanteil > MAX_GAS - 20) GasMischanteil = MAX_GAS - 20;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Mischer und PI-Regler
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DebugOut.Analog[7] = GasMischanteil;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Gier-Anteil
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#define MUL_G 1.0
GierMischanteil = MesswertGier - sollGier; // Regler für Gier
// GierMischanteil = 0;
 
if(GierMischanteil > (GasMischanteil / 2)) GierMischanteil = GasMischanteil / 2;
if(GierMischanteil < -(GasMischanteil / 2)) GierMischanteil = -(GasMischanteil / 2);
if(GierMischanteil > ((MAX_GAS - GasMischanteil))) GierMischanteil = ((MAX_GAS - GasMischanteil));
if(GierMischanteil < -((MAX_GAS - GasMischanteil))) GierMischanteil = -((MAX_GAS - GasMischanteil));
 
if(GasMischanteil < 20) GierMischanteil = 0;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Nick-Achse
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DiffNick = MesswertNick - (StickNick - GPS_Nick); // Differenz bestimmen
if(IntegralFaktor) SummeNick += IntegralNick * IntegralFaktor - (StickNick - GPS_Nick); // I-Anteil bei Winkelregelung
else SummeNick += DiffNick; // I-Anteil bei HH
if(SummeNick > 16000) SummeNick = 16000;
if(SummeNick < -16000) SummeNick = -16000;
pd_ergebnis = DiffNick + Ki * SummeNick; // PI-Regler für Nick
// Motor Vorn
tmp_int = (long)((long)Parameter_DynamicStability * (long)(GasMischanteil + abs(GierMischanteil)/2)) / 64;
if(pd_ergebnis > tmp_int) pd_ergebnis = tmp_int;
if(pd_ergebnis < -tmp_int) pd_ergebnis = -tmp_int;
 
motorwert = GasMischanteil + pd_ergebnis + GierMischanteil; // Mischer
if ((motorwert < 0)) motorwert = 0;
else if(motorwert > MAX_GAS) motorwert = MAX_GAS;
if (motorwert < MIN_GAS) motorwert = MIN_GAS;
Motor_Vorne = motorwert;
// Motor Heck
motorwert = GasMischanteil - pd_ergebnis + GierMischanteil;
if ((motorwert < 0)) motorwert = 0;
else if(motorwert > MAX_GAS) motorwert = MAX_GAS;
if (motorwert < MIN_GAS) motorwert = MIN_GAS;
Motor_Hinten = motorwert;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Roll-Achse
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DiffRoll = MesswertRoll - (StickRoll - GPS_Roll); // Differenz bestimmen
if(IntegralFaktor) SummeRoll += IntegralRoll * IntegralFaktor - (StickRoll - GPS_Roll);// I-Anteil bei Winkelregelung
else SummeRoll += DiffRoll; // I-Anteil bei HH
if(SummeRoll > 16000) SummeRoll = 16000;
if(SummeRoll < -16000) SummeRoll = -16000;
pd_ergebnis = DiffRoll + Ki * SummeRoll; // PI-Regler für Roll
tmp_int = (long)((long)Parameter_DynamicStability * (long)(GasMischanteil + abs(GierMischanteil)/2)) / 64;
if(pd_ergebnis > tmp_int) pd_ergebnis = tmp_int;
if(pd_ergebnis < -tmp_int) pd_ergebnis = -tmp_int;
// Motor Links
motorwert = GasMischanteil + pd_ergebnis - GierMischanteil;
#define GRENZE Poti1
 
if ((motorwert < 0)) motorwert = 0;
else if(motorwert > MAX_GAS) motorwert = MAX_GAS;
if (motorwert < MIN_GAS) motorwert = MIN_GAS;
Motor_Links = motorwert;
// Motor Rechts
motorwert = GasMischanteil - pd_ergebnis - GierMischanteil;
 
if ((motorwert < 0)) motorwert = 0;
else if(motorwert > MAX_GAS) motorwert = MAX_GAS;
if (motorwert < MIN_GAS) motorwert = MIN_GAS;
Motor_Rechts = motorwert;
// +++++++++++++++++++++++++++++++++++++++++++++++
}
 
/branches/MicroMag3_Nick666/Festkomma/V0.68d/fc.d
0,0 → 1,2
fc.o fc.d : fc.c main.h old_macros.h _Settings.h printf_P.h timer0.h uart.h \
analog.h twimaster.h menu.h rc.h fc.h gps.h compass.h mymath.h eeprom.c
/branches/MicroMag3_Nick666/Festkomma/V0.68d/fc.h
0,0 → 1,148
/*#######################################################################################
Flight Control
#######################################################################################*/
 
#ifndef _FC_H
#define _FC_H
 
extern volatile unsigned int I2CTimeout;
 
extern long Mess_IntegralNick,Mess_IntegralNick2;
extern long Mess_IntegralRoll,Mess_IntegralRoll2;
extern volatile long Mess_Integral_Hoch;
extern long Mess_Integral_Gier,Mess_Integral_Gier2;
 
extern int KompassValue;
extern int KompassStartwert;
extern int KompassRichtung;
 
extern long IntegralNick,IntegralNick2;
extern long IntegralRoll,IntegralRoll2;
extern long IntegralAccNick,IntegralAccRoll,IntegralAccZ;
extern long Integral_Gier;
 
extern int HoehenWert;
extern int SollHoehe;
extern int MesswertNick,MesswertRoll,MesswertGier;
extern int AdNeutralNick,AdNeutralRoll,AdNeutralGier, Mittelwert_AccNick, Mittelwert_AccRoll,Mittelwert_AccHoch;
extern long Umschlag180Nick, Umschlag180Roll;
extern signed int ExternStickNick,ExternStickRoll,ExternStickGier;
extern unsigned char Parameter_UserParam1,Parameter_UserParam2,Parameter_UserParam3,Parameter_UserParam4,Parameter_UserParam5,Parameter_UserParam6,Parameter_UserParam7,Parameter_UserParam8;
 
void MotorRegler(void);
void SendMotorData(void);
void CalibrierMittelwert(void);
void Mittelwert(void);
void SetNeutral(void);
void Piep(unsigned char Anzahl);
extern void DefaultKonstanten(void);
void DefaultKonstanten1(void);
void DefaultKonstanten2(void);
 
extern unsigned char h,m,s;
extern volatile unsigned char Timeout ;
extern volatile int DiffNick,DiffRoll;
extern int Poti1, Poti2, Poti3, Poti4;
extern volatile unsigned char Motor_Vorne,Motor_Hinten,Motor_Rechts,Motor_Links, Count;
extern unsigned char MotorWert[5];
extern volatile unsigned char SenderOkay;
extern int StickNick,StickRoll,StickGier;
extern char MotorenEin;
extern void DefaultKonstanten1(void);
extern void DefaultKonstanten2(void);
 
struct acc_neutral_struct
{
volatile int X;
volatile int Y;
volatile float Z;
};
 
extern struct acc_neutral_struct acc_neutral;
extern void calib_acc(void);
 
struct mk_param_struct
{
unsigned char Kanalbelegung[8]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3
unsigned char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv
unsigned char Hoehe_MinGas; // Wert : 0-100
unsigned char Luftdruck_D; // Wert : 0-250
unsigned char MaxHoehe; // Wert : 0-32
unsigned char Hoehe_P; // Wert : 0-32
unsigned char Hoehe_Verstaerkung; // Wert : 0-50
unsigned char Hoehe_ACC_Wirkung; // Wert : 0-250
unsigned char Stick_P; // Wert : 1-6
unsigned char Stick_D; // Wert : 0-64
unsigned char Gier_P; // Wert : 1-20
unsigned char Gas_Min; // Wert : 0-32
unsigned char Gas_Max; // Wert : 33-250
unsigned char GyroAccFaktor; // Wert : 1-64
unsigned char KompassWirkung; // Wert : 0-32
unsigned char Gyro_P; // Wert : 10-250
unsigned char Gyro_I; // Wert : 0-250
unsigned char UnterspannungsWarnung; // Wert : 0-250
unsigned char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust
unsigned char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen
unsigned char UfoAusrichtung; // X oder + Formation
unsigned char I_Faktor; // Wert : 0-250
unsigned char UserParam1; // Wert : 0-250
unsigned char UserParam2; // Wert : 0-250
unsigned char UserParam3; // Wert : 0-250
unsigned char UserParam4; // Wert : 0-250
unsigned char ServoNickControl; // Wert : 0-250 // Stellung des Servos
unsigned char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo
unsigned char ServoNickMin; // Wert : 0-250 // Anschlag
unsigned char ServoNickMax; // Wert : 0-250 // Anschlag
unsigned char ServoNickRefresh; //
unsigned char LoopGasLimit; // Wert: 0-250 max. Gas während Looping
unsigned char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag
unsigned char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag
unsigned char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung)
unsigned char AchsGegenKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick Gegenkoppelt (NickRollGegenkopplung)
unsigned char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt
unsigned char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt
unsigned char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung)
unsigned char Driftkomp;
unsigned char DynamicStability;
unsigned char UserParam5; // Wert : 0-250
unsigned char UserParam6; // Wert : 0-250
unsigned char UserParam7; // Wert : 0-250
unsigned char UserParam8; // Wert : 0-250
 
//------------------------------------------------
unsigned char LoopConfig; // Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt
unsigned char ServoNickCompInvert; // Wert : 0-250 0 oder 1 // WICHTIG!!! am Ende lassen
unsigned char Reserved[4];
char Name[12];
};
 
 
/*
unsigned char ServoNickMax; // Wert : 0-250
unsigned char ServoNickRefresh; //
unsigned char LoopGasLimit; // Wert: 0-250 max. Gas während Looping
unsigned char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag
//------------------------------------------------
unsigned char LoopConfig; // Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt
unsigned char ServoNickCompInvert; // Wert : 0-250 0 oder 1 // WICHTIG!!! am Ende lassen
unsigned char Reserved[4];
char Name[12];
*/
extern struct mk_param_struct EE_Parameter;
 
extern unsigned char Parameter_Luftdruck_D;
extern unsigned char Parameter_MaxHoehe;
extern unsigned char Parameter_Hoehe_P;
extern unsigned char Parameter_Hoehe_ACC_Wirkung;
extern unsigned char Parameter_KompassWirkung;
extern unsigned char Parameter_Gyro_P;
extern unsigned char Parameter_Gyro_I;
extern unsigned char Parameter_Gier_P;
extern unsigned char Parameter_ServoNickControl;
extern unsigned char Parameter_AchsKopplung1;
extern unsigned char Parameter_AchsGegenKopplung1;
 
 
#endif //_FC_H
 
/branches/MicroMag3_Nick666/Festkomma/V0.68d/fc.lst
0,0 → 1,7111
1 .file "fc.c"
2 .arch atmega644
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
10 .text
11 .global Mittelwert
13 Mittelwert:
14 /* prologue: frame size=16 */
15 0000 A0E1 ldi r26,lo8(16)
16 0002 B0E0 ldi r27,hi8(16)
17 0004 E0E0 ldi r30,lo8(gs(1f))
18 0006 F0E0 ldi r31,hi8(gs(1f))
19 0008 0C94 0000 jmp __prologue_saves__+0
20 1:
21 /* prologue end (size=6) */
22 000c 8091 0000 lds r24,AdWertGier
23 0010 9091 0000 lds r25,(AdWertGier)+1
24 0014 4090 0000 lds r4,AdNeutralGier
25 0018 5090 0000 lds r5,(AdNeutralGier)+1
26 001c 481A sub r4,r24
27 001e 590A sbc r5,r25
28 0020 5092 0000 sts (MesswertGier)+1,r5
29 0024 4092 0000 sts MesswertGier,r4
30 0028 2091 0000 lds r18,AdWertRoll
31 002c 3091 0000 lds r19,(AdWertRoll)+1
32 0030 8091 0000 lds r24,AdWertNick
33 0034 9091 0000 lds r25,(AdWertNick)+1
34 0038 9E87 std Y+14,r25
35 003a 8D87 std Y+13,r24
36 003c A091 0000 lds r26,AdNeutralNick
37 0040 B091 0000 lds r27,(AdNeutralNick)+1
38 0044 BC87 std Y+12,r27
39 0046 AB87 std Y+11,r26
40 0048 8091 0000 lds r24,AdNeutralRoll
41 004c 9091 0000 lds r25,(AdNeutralRoll)+1
42 0050 281B sub r18,r24
43 0052 390B sbc r19,r25
44 0054 388B std Y+16,r19
45 0056 2F87 std Y+15,r18
46 0058 3093 0000 sts (DebugOut+58)+1,r19
47 005c 2093 0000 sts DebugOut+58,r18
48 0060 6091 0000 lds r22,AdWertAccNick
49 0064 7091 0000 lds r23,(AdWertAccNick)+1
50 0068 E090 0000 lds r14,Mittelwert_AccNick
51 006c F090 0000 lds r15,(Mittelwert_AccNick)+1
52 0070 0027 clr r16
53 0072 F7FC sbrc r15,7
54 0074 0095 com r16
55 0076 102F mov r17,r16
56 0078 8827 clr r24
57 007a 77FD sbrc r23,7
58 007c 8095 com r24
59 007e 982F mov r25,r24
60 0080 2CE0 ldi r18,lo8(12)
61 0082 30E0 ldi r19,hi8(12)
62 0084 40E0 ldi r20,hlo8(12)
63 0086 50E0 ldi r21,hhi8(12)
64 0088 0E94 0000 call __mulsi3
65 008c E60E add r14,r22
66 008e F71E adc r15,r23
67 0090 081F adc r16,r24
68 0092 191F adc r17,r25
69 0094 C801 movw r24,r16
70 0096 B701 movw r22,r14
71 0098 22E0 ldi r18,lo8(2)
72 009a 30E0 ldi r19,hi8(2)
73 009c 40E0 ldi r20,hlo8(2)
74 009e 50E0 ldi r21,hhi8(2)
75 00a0 0E94 0000 call __divmodsi4
76 00a4 3093 0000 sts (Mittelwert_AccNick)+1,r19
77 00a8 2093 0000 sts Mittelwert_AccNick,r18
78 00ac 6091 0000 lds r22,AdWertAccRoll
79 00b0 7091 0000 lds r23,(AdWertAccRoll)+1
80 00b4 E090 0000 lds r14,Mittelwert_AccRoll
81 00b8 F090 0000 lds r15,(Mittelwert_AccRoll)+1
82 00bc 0027 clr r16
83 00be F7FC sbrc r15,7
84 00c0 0095 com r16
85 00c2 102F mov r17,r16
86 00c4 8827 clr r24
87 00c6 77FD sbrc r23,7
88 00c8 8095 com r24
89 00ca 982F mov r25,r24
90 00cc 2CE0 ldi r18,lo8(12)
91 00ce 30E0 ldi r19,hi8(12)
92 00d0 40E0 ldi r20,hlo8(12)
93 00d2 50E0 ldi r21,hhi8(12)
94 00d4 0E94 0000 call __mulsi3
95 00d8 E60E add r14,r22
96 00da F71E adc r15,r23
97 00dc 081F adc r16,r24
98 00de 191F adc r17,r25
99 00e0 C801 movw r24,r16
100 00e2 B701 movw r22,r14
101 00e4 22E0 ldi r18,lo8(2)
102 00e6 30E0 ldi r19,hi8(2)
103 00e8 40E0 ldi r20,hlo8(2)
104 00ea 50E0 ldi r21,hhi8(2)
105 00ec 0E94 0000 call __divmodsi4
106 00f0 3093 0000 sts (Mittelwert_AccRoll)+1,r19
107 00f4 2093 0000 sts Mittelwert_AccRoll,r18
108 00f8 2091 0000 lds r18,AdWertAccHoch
109 00fc 3091 0000 lds r19,(AdWertAccHoch)+1
110 0100 6091 0000 lds r22,Mittelwert_AccHoch
111 0104 7091 0000 lds r23,(Mittelwert_AccHoch)+1
112 0108 8827 clr r24
113 010a 77FD sbrc r23,7
114 010c 8095 com r24
115 010e 982F mov r25,r24
116 0110 4427 clr r20
117 0112 37FD sbrc r19,7
118 0114 4095 com r20
119 0116 542F mov r21,r20
120 0118 620F add r22,r18
121 011a 731F adc r23,r19
122 011c 841F adc r24,r20
123 011e 951F adc r25,r21
124 0120 22E0 ldi r18,lo8(2)
125 0122 30E0 ldi r19,hi8(2)
126 0124 40E0 ldi r20,hlo8(2)
127 0126 50E0 ldi r21,hhi8(2)
128 0128 0E94 0000 call __divmodsi4
129 012c 3093 0000 sts (Mittelwert_AccHoch)+1,r19
130 0130 2093 0000 sts Mittelwert_AccHoch,r18
131 0134 2091 0000 lds r18,AdWertAccNick
132 0138 3091 0000 lds r19,(AdWertAccNick)+1
133 013c C901 movw r24,r18
134 013e 880F lsl r24
135 0140 991F rol r25
136 0142 820F add r24,r18
137 0144 931F adc r25,r19
138 0146 880F lsl r24
139 0148 991F rol r25
140 014a 880F lsl r24
141 014c 991F rol r25
142 014e AA27 clr r26
143 0150 97FD sbrc r25,7
144 0152 A095 com r26
145 0154 BA2F mov r27,r26
146 0156 2091 0000 lds r18,IntegralAccNick
147 015a 3091 0000 lds r19,(IntegralAccNick)+1
148 015e 4091 0000 lds r20,(IntegralAccNick)+2
149 0162 5091 0000 lds r21,(IntegralAccNick)+3
150 0166 280F add r18,r24
151 0168 391F adc r19,r25
152 016a 4A1F adc r20,r26
153 016c 5B1F adc r21,r27
154 016e 2093 0000 sts IntegralAccNick,r18
155 0172 3093 0000 sts (IntegralAccNick)+1,r19
156 0176 4093 0000 sts (IntegralAccNick)+2,r20
157 017a 5093 0000 sts (IntegralAccNick)+3,r21
158 017e 2091 0000 lds r18,AdWertAccRoll
159 0182 3091 0000 lds r19,(AdWertAccRoll)+1
160 0186 C901 movw r24,r18
161 0188 880F lsl r24
162 018a 991F rol r25
163 018c 820F add r24,r18
164 018e 931F adc r25,r19
165 0190 880F lsl r24
166 0192 991F rol r25
167 0194 880F lsl r24
168 0196 991F rol r25
169 0198 AA27 clr r26
170 019a 97FD sbrc r25,7
171 019c A095 com r26
172 019e BA2F mov r27,r26
173 01a0 2091 0000 lds r18,IntegralAccRoll
174 01a4 3091 0000 lds r19,(IntegralAccRoll)+1
175 01a8 4091 0000 lds r20,(IntegralAccRoll)+2
176 01ac 5091 0000 lds r21,(IntegralAccRoll)+3
177 01b0 280F add r18,r24
178 01b2 391F adc r19,r25
179 01b4 4A1F adc r20,r26
180 01b6 5B1F adc r21,r27
181 01b8 2093 0000 sts IntegralAccRoll,r18
182 01bc 3093 0000 sts (IntegralAccRoll)+1,r19
183 01c0 4093 0000 sts (IntegralAccRoll)+2,r20
184 01c4 5093 0000 sts (IntegralAccRoll)+3,r21
185 01c8 E090 0000 lds r14,Aktuell_az
186 01cc F090 0000 lds r15,(Aktuell_az)+1
187 01d0 A090 0000 lds r10,acc_neutral+4
188 01d4 B090 0000 lds r11,(acc_neutral+4)+1
189 01d8 C090 0000 lds r12,(acc_neutral+4)+2
190 01dc D090 0000 lds r13,(acc_neutral+4)+3
191 01e0 6091 0000 lds r22,IntegralAccZ
192 01e4 7091 0000 lds r23,(IntegralAccZ)+1
193 01e8 8091 0000 lds r24,(IntegralAccZ)+2
194 01ec 9091 0000 lds r25,(IntegralAccZ)+3
195 01f0 0E94 0000 call __floatsisf
196 01f4 3B01 movw r6,r22
197 01f6 4C01 movw r8,r24
198 01f8 0027 clr r16
199 01fa F7FC sbrc r15,7
200 01fc 0095 com r16
201 01fe 102F mov r17,r16
202 0200 C801 movw r24,r16
203 0202 B701 movw r22,r14
204 0204 0E94 0000 call __floatsisf
205 0208 A601 movw r20,r12
206 020a 9501 movw r18,r10
207 020c 0E94 0000 call __subsf3
208 0210 9B01 movw r18,r22
209 0212 AC01 movw r20,r24
210 0214 C401 movw r24,r8
211 0216 B301 movw r22,r6
212 0218 0E94 0000 call __addsf3
213 021c 0E94 0000 call __fixsfsi
214 0220 6093 0000 sts IntegralAccZ,r22
215 0224 7093 0000 sts (IntegralAccZ)+1,r23
216 0228 8093 0000 sts (IntegralAccZ)+2,r24
217 022c 9093 0000 sts (IntegralAccZ)+3,r25
218 0230 5201 movw r10,r4
219 0232 CC24 clr r12
220 0234 B7FC sbrc r11,7
221 0236 C094 com r12
222 0238 DC2C mov r13,r12
223 023a 6090 0000 lds r6,Mess_Integral_Gier
224 023e 7090 0000 lds r7,(Mess_Integral_Gier)+1
225 0242 8090 0000 lds r8,(Mess_Integral_Gier)+2
226 0246 9090 0000 lds r9,(Mess_Integral_Gier)+3
227 024a 6A0C add r6,r10
228 024c 7B1C adc r7,r11
229 024e 8C1C adc r8,r12
230 0250 9D1C adc r9,r13
231 0252 6092 0000 sts Mess_Integral_Gier,r6
232 0256 7092 0000 sts (Mess_Integral_Gier)+1,r7
233 025a 8092 0000 sts (Mess_Integral_Gier)+2,r8
234 025e 9092 0000 sts (Mess_Integral_Gier)+3,r9
235 0262 8091 0000 lds r24,Mess_Integral_Gier2
236 0266 9091 0000 lds r25,(Mess_Integral_Gier2)+1
237 026a A091 0000 lds r26,(Mess_Integral_Gier2)+2
238 026e B091 0000 lds r27,(Mess_Integral_Gier2)+3
239 0272 8A0D add r24,r10
240 0274 9B1D adc r25,r11
241 0276 AC1D adc r26,r12
242 0278 BD1D adc r27,r13
243 027a 8093 0000 sts Mess_Integral_Gier2,r24
244 027e 9093 0000 sts (Mess_Integral_Gier2)+1,r25
245 0282 A093 0000 sts (Mess_Integral_Gier2)+2,r26
246 0286 B093 0000 sts (Mess_Integral_Gier2)+3,r27
247 028a B091 0000 lds r27,Looping_Nick
248 028e BA87 std Y+10,r27
249 0290 BB23 tst r27
250 0292 01F0 breq .+2
251 0294 00C0 rjmp .L2
252 0296 8091 0000 lds r24,Looping_Roll
253 029a 8823 tst r24
254 029c 01F0 breq .+2
255 029e 00C0 rjmp .L2
256 02a0 8091 0000 lds r24,EE_Parameter+8
257 02a4 86FF sbrs r24,6
258 02a6 00C0 rjmp .L2
259 02a8 E090 0000 lds r14,Parameter_AchsKopplung1
260 02ac FF24 clr r15
261 02ae 0027 clr r16
262 02b0 1127 clr r17
263 02b2 6091 0000 lds r22,Mess_IntegralNick
264 02b6 7091 0000 lds r23,(Mess_IntegralNick)+1
265 02ba 8091 0000 lds r24,(Mess_IntegralNick)+2
266 02be 9091 0000 lds r25,(Mess_IntegralNick)+3
267 02c2 20E0 ldi r18,lo8(4096)
268 02c4 30E1 ldi r19,hi8(4096)
269 02c6 40E0 ldi r20,hlo8(4096)
270 02c8 50E0 ldi r21,hhi8(4096)
271 02ca 0E94 0000 call __divmodsi4
272 02ce CA01 movw r24,r20
273 02d0 B901 movw r22,r18
274 02d2 A801 movw r20,r16
275 02d4 9701 movw r18,r14
276 02d6 0E94 0000 call __mulsi3
277 02da 9B01 movw r18,r22
278 02dc AC01 movw r20,r24
279 02de C601 movw r24,r12
280 02e0 B501 movw r22,r10
281 02e2 0E94 0000 call __mulsi3
282 02e6 20E0 ldi r18,lo8(2048)
283 02e8 38E0 ldi r19,hi8(2048)
284 02ea 40E0 ldi r20,hlo8(2048)
285 02ec 50E0 ldi r21,hhi8(2048)
286 02ee 0E94 0000 call __divmodsi4
287 02f2 2093 0000 sts tmpl.2170,r18
288 02f6 3093 0000 sts (tmpl.2170)+1,r19
289 02fa 4093 0000 sts (tmpl.2170)+2,r20
290 02fe 5093 0000 sts (tmpl.2170)+3,r21
291 0302 6091 0000 lds r22,Mess_IntegralRoll
292 0306 7091 0000 lds r23,(Mess_IntegralRoll)+1
293 030a 8091 0000 lds r24,(Mess_IntegralRoll)+2
294 030e 9091 0000 lds r25,(Mess_IntegralRoll)+3
295 0312 20E0 ldi r18,lo8(4096)
296 0314 30E1 ldi r19,hi8(4096)
297 0316 40E0 ldi r20,hlo8(4096)
298 0318 50E0 ldi r21,hhi8(4096)
299 031a 0E94 0000 call __divmodsi4
300 031e CA01 movw r24,r20
301 0320 B901 movw r22,r18
302 0322 A801 movw r20,r16
303 0324 9701 movw r18,r14
304 0326 0E94 0000 call __mulsi3
305 032a 9B01 movw r18,r22
306 032c AC01 movw r20,r24
307 032e C601 movw r24,r12
308 0330 B501 movw r22,r10
309 0332 0E94 0000 call __mulsi3
310 0336 20E0 ldi r18,lo8(2048)
311 0338 38E0 ldi r19,hi8(2048)
312 033a 40E0 ldi r20,hlo8(2048)
313 033c 50E0 ldi r21,hhi8(2048)
314 033e 0E94 0000 call __divmodsi4
315 0342 2093 0000 sts tmpl2.2171,r18
316 0346 3093 0000 sts (tmpl2.2171)+1,r19
317 034a 4093 0000 sts (tmpl2.2171)+2,r20
318 034e 5093 0000 sts (tmpl2.2171)+3,r21
319 0352 00C0 rjmp .L6
320 .L2:
321 0354 1092 0000 sts tmpl2.2171,__zero_reg__
322 0358 1092 0000 sts (tmpl2.2171)+1,__zero_reg__
323 035c 1092 0000 sts (tmpl2.2171)+2,__zero_reg__
324 0360 1092 0000 sts (tmpl2.2171)+3,__zero_reg__
325 0364 1092 0000 sts tmpl.2170,__zero_reg__
326 0368 1092 0000 sts (tmpl.2170)+1,__zero_reg__
327 036c 1092 0000 sts (tmpl.2170)+2,__zero_reg__
328 0370 1092 0000 sts (tmpl.2170)+3,__zero_reg__
329 .L6:
330 0374 8091 0000 lds r24,tmpl.2170
331 0378 9091 0000 lds r25,(tmpl.2170)+1
332 037c A091 0000 lds r26,(tmpl.2170)+2
333 0380 B091 0000 lds r27,(tmpl.2170)+3
334 0384 8E83 std Y+6,r24
335 0386 9F83 std Y+7,r25
336 0388 A887 std Y+8,r26
337 038a B987 std Y+9,r27
338 038c 8091 0000 lds r24,tmpl2.2171
339 0390 9091 0000 lds r25,(tmpl2.2171)+1
340 0394 A091 0000 lds r26,(tmpl2.2171)+2
341 0398 B091 0000 lds r27,(tmpl2.2171)+3
342 039c 8A83 std Y+2,r24
343 039e 9B83 std Y+3,r25
344 03a0 AC83 std Y+4,r26
345 03a2 BD83 std Y+5,r27
346 03a4 8091 0000 lds r24,Parameter_AchsGegenKopplung1
347 03a8 282E mov r2,r24
348 03aa 3324 clr r3
349 03ac 4424 clr r4
350 03ae 5524 clr r5
351 03b0 EE80 ldd r14,Y+6
352 03b2 FF80 ldd r15,Y+7
353 03b4 AF85 ldd r26,Y+15
354 03b6 B889 ldd r27,Y+16
355 03b8 EA0E add r14,r26
356 03ba FB1E adc r15,r27
357 03bc 6A81 ldd r22,Y+2
358 03be 7B81 ldd r23,Y+3
359 03c0 8C81 ldd r24,Y+4
360 03c2 9D81 ldd r25,Y+5
361 03c4 A201 movw r20,r4
362 03c6 9101 movw r18,r2
363 03c8 0E94 0000 call __mulsi3
364 03cc 20E0 ldi r18,lo8(512)
365 03ce 32E0 ldi r19,hi8(512)
366 03d0 40E0 ldi r20,hlo8(512)
367 03d2 50E0 ldi r21,hhi8(512)
368 03d4 0E94 0000 call __divmodsi4
369 03d8 E20E add r14,r18
370 03da F31E adc r15,r19
371 03dc F092 0000 sts (MesswertRoll)+1,r15
372 03e0 E092 0000 sts MesswertRoll,r14
373 03e4 9701 movw r18,r14
374 03e6 4427 clr r20
375 03e8 37FD sbrc r19,7
376 03ea 4095 com r20
377 03ec 542F mov r21,r20
378 03ee 8091 0000 lds r24,Mess_IntegralRoll2
379 03f2 9091 0000 lds r25,(Mess_IntegralRoll2)+1
380 03f6 A091 0000 lds r26,(Mess_IntegralRoll2)+2
381 03fa B091 0000 lds r27,(Mess_IntegralRoll2)+3
382 03fe 820F add r24,r18
383 0400 931F adc r25,r19
384 0402 A41F adc r26,r20
385 0404 B51F adc r27,r21
386 0406 8093 0000 sts Mess_IntegralRoll2,r24
387 040a 9093 0000 sts (Mess_IntegralRoll2)+1,r25
388 040e A093 0000 sts (Mess_IntegralRoll2)+2,r26
389 0412 B093 0000 sts (Mess_IntegralRoll2)+3,r27
390 0416 8091 0000 lds r24,LageKorrekturRoll
391 041a 9091 0000 lds r25,(LageKorrekturRoll)+1
392 041e E81A sub r14,r24
393 0420 F90A sbc r15,r25
394 0422 0027 clr r16
395 0424 F7FC sbrc r15,7
396 0426 0095 com r16
397 0428 102F mov r17,r16
398 042a 8091 0000 lds r24,Mess_IntegralRoll
399 042e 9091 0000 lds r25,(Mess_IntegralRoll)+1
400 0432 A091 0000 lds r26,(Mess_IntegralRoll)+2
401 0436 B091 0000 lds r27,(Mess_IntegralRoll)+3
402 043a E80E add r14,r24
403 043c F91E adc r15,r25
404 043e 0A1F adc r16,r26
405 0440 1B1F adc r17,r27
406 0442 E092 0000 sts Mess_IntegralRoll,r14
407 0446 F092 0000 sts (Mess_IntegralRoll)+1,r15
408 044a 0093 0000 sts (Mess_IntegralRoll)+2,r16
409 044e 1093 0000 sts (Mess_IntegralRoll)+3,r17
410 0452 A090 0000 lds r10,Umschlag180Roll
411 0456 B090 0000 lds r11,(Umschlag180Roll)+1
412 045a C090 0000 lds r12,(Umschlag180Roll)+2
413 045e D090 0000 lds r13,(Umschlag180Roll)+3
414 0462 AE14 cp r10,r14
415 0464 BF04 cpc r11,r15
416 0466 C006 cpc r12,r16
417 0468 D106 cpc r13,r17
418 046a 04F4 brge .L7
419 046c 80E1 ldi r24,lo8(10000)
420 046e 97E2 ldi r25,hi8(10000)
421 0470 A0E0 ldi r26,hlo8(10000)
422 0472 B0E0 ldi r27,hhi8(10000)
423 0474 8A19 sub r24,r10
424 0476 9B09 sbc r25,r11
425 0478 AC09 sbc r26,r12
426 047a BD09 sbc r27,r13
427 047c 8093 0000 sts Mess_IntegralRoll,r24
428 0480 9093 0000 sts (Mess_IntegralRoll)+1,r25
429 0484 A093 0000 sts (Mess_IntegralRoll)+2,r26
430 0488 B093 0000 sts (Mess_IntegralRoll)+3,r27
431 048c 8093 0000 sts Mess_IntegralRoll2,r24
432 0490 9093 0000 sts (Mess_IntegralRoll2)+1,r25
433 0494 A093 0000 sts (Mess_IntegralRoll2)+2,r26
434 0498 B093 0000 sts (Mess_IntegralRoll2)+3,r27
435 .L7:
436 049c 2227 clr r18
437 049e 3327 clr r19
438 04a0 A901 movw r20,r18
439 04a2 2A19 sub r18,r10
440 04a4 3B09 sbc r19,r11
441 04a6 4C09 sbc r20,r12
442 04a8 5D09 sbc r21,r13
443 04aa 8091 0000 lds r24,Mess_IntegralRoll
444 04ae 9091 0000 lds r25,(Mess_IntegralRoll)+1
445 04b2 A091 0000 lds r26,(Mess_IntegralRoll)+2
446 04b6 B091 0000 lds r27,(Mess_IntegralRoll)+3
447 04ba 8217 cp r24,r18
448 04bc 9307 cpc r25,r19
449 04be A407 cpc r26,r20
450 04c0 B507 cpc r27,r21
451 04c2 04F4 brge .L9
452 04c4 D601 movw r26,r12
453 04c6 C501 movw r24,r10
454 04c8 8051 subi r24,lo8(-(-10000))
455 04ca 9742 sbci r25,hi8(-(-10000))
456 04cc A040 sbci r26,hlo8(-(-10000))
457 04ce B040 sbci r27,hhi8(-(-10000))
458 04d0 8093 0000 sts Mess_IntegralRoll,r24
459 04d4 9093 0000 sts (Mess_IntegralRoll)+1,r25
460 04d8 A093 0000 sts (Mess_IntegralRoll)+2,r26
461 04dc B093 0000 sts (Mess_IntegralRoll)+3,r27
462 04e0 8093 0000 sts Mess_IntegralRoll2,r24
463 04e4 9093 0000 sts (Mess_IntegralRoll2)+1,r25
464 04e8 A093 0000 sts (Mess_IntegralRoll2)+2,r26
465 04ec B093 0000 sts (Mess_IntegralRoll2)+3,r27
466 .L9:
467 04f0 8091 0000 lds r24,AdWertRoll
468 04f4 9091 0000 lds r25,(AdWertRoll)+1
469 04f8 0F97 sbiw r24,15
470 04fa 04F4 brge .L11
471 04fc 88E1 ldi r24,lo8(-1000)
472 04fe 9CEF ldi r25,hi8(-1000)
473 0500 9093 0000 sts (MesswertRoll)+1,r25
474 0504 8093 0000 sts MesswertRoll,r24
475 .L11:
476 0508 8091 0000 lds r24,AdWertRoll
477 050c 9091 0000 lds r25,(AdWertRoll)+1
478 0510 0797 sbiw r24,7
479 0512 04F4 brge .L13
480 0514 80E3 ldi r24,lo8(-2000)
481 0516 98EF ldi r25,hi8(-2000)
482 0518 9093 0000 sts (MesswertRoll)+1,r25
483 051c 8093 0000 sts MesswertRoll,r24
484 .L13:
485 0520 B091 0000 lds r27,PlatinenVersion
486 0524 B983 std Y+1,r27
487 0526 BA30 cpi r27,lo8(10)
488 0528 01F4 brne .L15
489 052a 8091 0000 lds r24,AdWertRoll
490 052e 9091 0000 lds r25,(AdWertRoll)+1
491 0532 835F subi r24,lo8(1011)
492 0534 9340 sbci r25,hi8(1011)
493 0536 04F0 brlt .L17
494 0538 88EE ldi r24,lo8(1000)
495 053a 93E0 ldi r25,hi8(1000)
496 053c 9093 0000 sts (MesswertRoll)+1,r25
497 0540 8093 0000 sts MesswertRoll,r24
498 .L17:
499 0544 8091 0000 lds r24,AdWertRoll
500 0548 9091 0000 lds r25,(AdWertRoll)+1
501 054c 8A5F subi r24,lo8(1018)
502 054e 9340 sbci r25,hi8(1018)
503 0550 04F0 brlt .L19
504 0552 00C0 rjmp .L89
505 .L15:
506 0554 8091 0000 lds r24,AdWertRoll
507 0558 9091 0000 lds r25,(AdWertRoll)+1
508 055c 855E subi r24,lo8(2021)
509 055e 9740 sbci r25,hi8(2021)
510 0560 04F0 brlt .L21
511 0562 88EE ldi r24,lo8(1000)
512 0564 93E0 ldi r25,hi8(1000)
513 0566 9093 0000 sts (MesswertRoll)+1,r25
514 056a 8093 0000 sts MesswertRoll,r24
515 .L21:
516 056e 8091 0000 lds r24,AdWertRoll
517 0572 9091 0000 lds r25,(AdWertRoll)+1
518 0576 835F subi r24,lo8(2035)
519 0578 9740 sbci r25,hi8(2035)
520 057a 04F0 brlt .L19
521 .L89:
522 057c 80ED ldi r24,lo8(2000)
523 057e 97E0 ldi r25,hi8(2000)
524 0580 9093 0000 sts (MesswertRoll)+1,r25
525 0584 8093 0000 sts MesswertRoll,r24
526 .L19:
527 0588 ED84 ldd r14,Y+13
528 058a FE84 ldd r15,Y+14
529 058c 8B85 ldd r24,Y+11
530 058e 9C85 ldd r25,Y+12
531 0590 E81A sub r14,r24
532 0592 F90A sbc r15,r25
533 0594 AA81 ldd r26,Y+2
534 0596 BB81 ldd r27,Y+3
535 0598 EA1A sub r14,r26
536 059a FB0A sbc r15,r27
537 059c 6E81 ldd r22,Y+6
538 059e 7F81 ldd r23,Y+7
539 05a0 8885 ldd r24,Y+8
540 05a2 9985 ldd r25,Y+9
541 05a4 A201 movw r20,r4
542 05a6 9101 movw r18,r2
543 05a8 0E94 0000 call __mulsi3
544 05ac 20E0 ldi r18,lo8(512)
545 05ae 32E0 ldi r19,hi8(512)
546 05b0 40E0 ldi r20,hlo8(512)
547 05b2 50E0 ldi r21,hhi8(512)
548 05b4 0E94 0000 call __divmodsi4
549 05b8 E21A sub r14,r18
550 05ba F30A sbc r15,r19
551 05bc F092 0000 sts (MesswertNick)+1,r15
552 05c0 E092 0000 sts MesswertNick,r14
553 05c4 9701 movw r18,r14
554 05c6 4427 clr r20
555 05c8 37FD sbrc r19,7
556 05ca 4095 com r20
557 05cc 542F mov r21,r20
558 05ce 8091 0000 lds r24,Mess_IntegralNick2
559 05d2 9091 0000 lds r25,(Mess_IntegralNick2)+1
560 05d6 A091 0000 lds r26,(Mess_IntegralNick2)+2
561 05da B091 0000 lds r27,(Mess_IntegralNick2)+3
562 05de 820F add r24,r18
563 05e0 931F adc r25,r19
564 05e2 A41F adc r26,r20
565 05e4 B51F adc r27,r21
566 05e6 8093 0000 sts Mess_IntegralNick2,r24
567 05ea 9093 0000 sts (Mess_IntegralNick2)+1,r25
568 05ee A093 0000 sts (Mess_IntegralNick2)+2,r26
569 05f2 B093 0000 sts (Mess_IntegralNick2)+3,r27
570 05f6 8091 0000 lds r24,LageKorrekturNick
571 05fa 9091 0000 lds r25,(LageKorrekturNick)+1
572 05fe E81A sub r14,r24
573 0600 F90A sbc r15,r25
574 0602 0027 clr r16
575 0604 F7FC sbrc r15,7
576 0606 0095 com r16
577 0608 102F mov r17,r16
578 060a 8091 0000 lds r24,Mess_IntegralNick
579 060e 9091 0000 lds r25,(Mess_IntegralNick)+1
580 0612 A091 0000 lds r26,(Mess_IntegralNick)+2
581 0616 B091 0000 lds r27,(Mess_IntegralNick)+3
582 061a E80E add r14,r24
583 061c F91E adc r15,r25
584 061e 0A1F adc r16,r26
585 0620 1B1F adc r17,r27
586 0622 E092 0000 sts Mess_IntegralNick,r14
587 0626 F092 0000 sts (Mess_IntegralNick)+1,r15
588 062a 0093 0000 sts (Mess_IntegralNick)+2,r16
589 062e 1093 0000 sts (Mess_IntegralNick)+3,r17
590 0632 A090 0000 lds r10,Umschlag180Nick
591 0636 B090 0000 lds r11,(Umschlag180Nick)+1
592 063a C090 0000 lds r12,(Umschlag180Nick)+2
593 063e D090 0000 lds r13,(Umschlag180Nick)+3
594 0642 AE14 cp r10,r14
595 0644 BF04 cpc r11,r15
596 0646 C006 cpc r12,r16
597 0648 D106 cpc r13,r17
598 064a 04F4 brge .L24
599 064c 80E1 ldi r24,lo8(10000)
600 064e 97E2 ldi r25,hi8(10000)
601 0650 A0E0 ldi r26,hlo8(10000)
602 0652 B0E0 ldi r27,hhi8(10000)
603 0654 8A19 sub r24,r10
604 0656 9B09 sbc r25,r11
605 0658 AC09 sbc r26,r12
606 065a BD09 sbc r27,r13
607 065c 8093 0000 sts Mess_IntegralNick,r24
608 0660 9093 0000 sts (Mess_IntegralNick)+1,r25
609 0664 A093 0000 sts (Mess_IntegralNick)+2,r26
610 0668 B093 0000 sts (Mess_IntegralNick)+3,r27
611 066c 8093 0000 sts Mess_IntegralNick2,r24
612 0670 9093 0000 sts (Mess_IntegralNick2)+1,r25
613 0674 A093 0000 sts (Mess_IntegralNick2)+2,r26
614 0678 B093 0000 sts (Mess_IntegralNick2)+3,r27
615 .L24:
616 067c 2227 clr r18
617 067e 3327 clr r19
618 0680 A901 movw r20,r18
619 0682 2A19 sub r18,r10
620 0684 3B09 sbc r19,r11
621 0686 4C09 sbc r20,r12
622 0688 5D09 sbc r21,r13
623 068a 8091 0000 lds r24,Mess_IntegralNick
624 068e 9091 0000 lds r25,(Mess_IntegralNick)+1
625 0692 A091 0000 lds r26,(Mess_IntegralNick)+2
626 0696 B091 0000 lds r27,(Mess_IntegralNick)+3
627 069a 8217 cp r24,r18
628 069c 9307 cpc r25,r19
629 069e A407 cpc r26,r20
630 06a0 B507 cpc r27,r21
631 06a2 04F4 brge .L26
632 06a4 D601 movw r26,r12
633 06a6 C501 movw r24,r10
634 06a8 8051 subi r24,lo8(-(-10000))
635 06aa 9742 sbci r25,hi8(-(-10000))
636 06ac A040 sbci r26,hlo8(-(-10000))
637 06ae B040 sbci r27,hhi8(-(-10000))
638 06b0 8093 0000 sts Mess_IntegralNick,r24
639 06b4 9093 0000 sts (Mess_IntegralNick)+1,r25
640 06b8 A093 0000 sts (Mess_IntegralNick)+2,r26
641 06bc B093 0000 sts (Mess_IntegralNick)+3,r27
642 06c0 8093 0000 sts Mess_IntegralNick2,r24
643 06c4 9093 0000 sts (Mess_IntegralNick2)+1,r25
644 06c8 A093 0000 sts (Mess_IntegralNick2)+2,r26
645 06cc B093 0000 sts (Mess_IntegralNick2)+3,r27
646 .L26:
647 06d0 8091 0000 lds r24,AdWertNick
648 06d4 9091 0000 lds r25,(AdWertNick)+1
649 06d8 0F97 sbiw r24,15
650 06da 04F4 brge .L28
651 06dc 88E1 ldi r24,lo8(-1000)
652 06de 9CEF ldi r25,hi8(-1000)
653 06e0 9093 0000 sts (MesswertNick)+1,r25
654 06e4 8093 0000 sts MesswertNick,r24
655 .L28:
656 06e8 8091 0000 lds r24,AdWertNick
657 06ec 9091 0000 lds r25,(AdWertNick)+1
658 06f0 0797 sbiw r24,7
659 06f2 04F4 brge .L30
660 06f4 80E3 ldi r24,lo8(-2000)
661 06f6 98EF ldi r25,hi8(-2000)
662 06f8 9093 0000 sts (MesswertNick)+1,r25
663 06fc 8093 0000 sts MesswertNick,r24
664 .L30:
665 0700 B981 ldd r27,Y+1
666 0702 BA30 cpi r27,lo8(10)
667 0704 01F4 brne .L32
668 0706 8091 0000 lds r24,AdWertNick
669 070a 9091 0000 lds r25,(AdWertNick)+1
670 070e 835F subi r24,lo8(1011)
671 0710 9340 sbci r25,hi8(1011)
672 0712 04F0 brlt .L34
673 0714 88EE ldi r24,lo8(1000)
674 0716 93E0 ldi r25,hi8(1000)
675 0718 9093 0000 sts (MesswertNick)+1,r25
676 071c 8093 0000 sts MesswertNick,r24
677 .L34:
678 0720 8091 0000 lds r24,AdWertNick
679 0724 9091 0000 lds r25,(AdWertNick)+1
680 0728 8A5F subi r24,lo8(1018)
681 072a 9340 sbci r25,hi8(1018)
682 072c 04F0 brlt .L36
683 072e 00C0 rjmp .L90
684 .L32:
685 0730 8091 0000 lds r24,AdWertNick
686 0734 9091 0000 lds r25,(AdWertNick)+1
687 0738 855E subi r24,lo8(2021)
688 073a 9740 sbci r25,hi8(2021)
689 073c 04F0 brlt .L38
690 073e 88EE ldi r24,lo8(1000)
691 0740 93E0 ldi r25,hi8(1000)
692 0742 9093 0000 sts (MesswertNick)+1,r25
693 0746 8093 0000 sts MesswertNick,r24
694 .L38:
695 074a 8091 0000 lds r24,AdWertNick
696 074e 9091 0000 lds r25,(AdWertNick)+1
697 0752 835F subi r24,lo8(2035)
698 0754 9740 sbci r25,hi8(2035)
699 0756 04F0 brlt .L36
700 .L90:
701 0758 80ED ldi r24,lo8(2000)
702 075a 97E0 ldi r25,hi8(2000)
703 075c 9093 0000 sts (MesswertNick)+1,r25
704 0760 8093 0000 sts MesswertNick,r24
705 .L36:
706 0764 8FEE ldi r24,lo8(-17)
707 0766 8093 7A00 sts 122,r24
708 076a 6092 0000 sts Integral_Gier,r6
709 076e 7092 0000 sts (Integral_Gier)+1,r7
710 0772 8092 0000 sts (Integral_Gier)+2,r8
711 0776 9092 0000 sts (Integral_Gier)+3,r9
712 077a 8091 0000 lds r24,Mess_IntegralNick
713 077e 9091 0000 lds r25,(Mess_IntegralNick)+1
714 0782 A091 0000 lds r26,(Mess_IntegralNick)+2
715 0786 B091 0000 lds r27,(Mess_IntegralNick)+3
716 078a 8093 0000 sts IntegralNick,r24
717 078e 9093 0000 sts (IntegralNick)+1,r25
718 0792 A093 0000 sts (IntegralNick)+2,r26
719 0796 B093 0000 sts (IntegralNick)+3,r27
720 079a 8091 0000 lds r24,Mess_IntegralRoll
721 079e 9091 0000 lds r25,(Mess_IntegralRoll)+1
722 07a2 A091 0000 lds r26,(Mess_IntegralRoll)+2
723 07a6 B091 0000 lds r27,(Mess_IntegralRoll)+3
724 07aa 8093 0000 sts IntegralRoll,r24
725 07ae 9093 0000 sts (IntegralRoll)+1,r25
726 07b2 A093 0000 sts (IntegralRoll)+2,r26
727 07b6 B093 0000 sts (IntegralRoll)+3,r27
728 07ba 8091 0000 lds r24,Mess_IntegralNick2
729 07be 9091 0000 lds r25,(Mess_IntegralNick2)+1
730 07c2 A091 0000 lds r26,(Mess_IntegralNick2)+2
731 07c6 B091 0000 lds r27,(Mess_IntegralNick2)+3
732 07ca 8093 0000 sts IntegralNick2,r24
733 07ce 9093 0000 sts (IntegralNick2)+1,r25
734 07d2 A093 0000 sts (IntegralNick2)+2,r26
735 07d6 B093 0000 sts (IntegralNick2)+3,r27
736 07da 8091 0000 lds r24,Mess_IntegralRoll2
737 07de 9091 0000 lds r25,(Mess_IntegralRoll2)+1
738 07e2 A091 0000 lds r26,(Mess_IntegralRoll2)+2
739 07e6 B091 0000 lds r27,(Mess_IntegralRoll2)+3
740 07ea 8093 0000 sts IntegralRoll2,r24
741 07ee 9093 0000 sts (IntegralRoll2)+1,r25
742 07f2 A093 0000 sts (IntegralRoll2)+2,r26
743 07f6 B093 0000 sts (IntegralRoll2)+3,r27
744 07fa 8091 0000 lds r24,EE_Parameter+8
745 07fe 87FF sbrs r24,7
746 0800 00C0 rjmp .L41
747 0802 8A85 ldd r24,Y+10
748 0804 8823 tst r24
749 0806 01F4 brne .L41
750 0808 8091 0000 lds r24,Looping_Roll
751 080c 8823 tst r24
752 080e 01F4 brne .L41
753 0810 2091 0000 lds r18,MesswertNick
754 0814 3091 0000 lds r19,(MesswertNick)+1
755 0818 293C cpi r18,201
756 081a 3105 cpc r19,__zero_reg__
757 081c 04F0 brlt .L45
758 081e C901 movw r24,r18
759 0820 8052 subi r24,lo8(-(-800))
760 0822 9340 sbci r25,hi8(-(-800))
761 0824 00C0 rjmp .L91
762 .L45:
763 0826 9FEF ldi r25,hi8(-200)
764 0828 2833 cpi r18,lo8(-200)
765 082a 3907 cpc r19,r25
766 082c 04F4 brge .L47
767 082e C901 movw r24,r18
768 0830 805E subi r24,lo8(-(800))
769 0832 9C4F sbci r25,hi8(-(800))
770 .L91:
771 0834 220F lsl r18
772 0836 331F rol r19
773 0838 220F lsl r18
774 083a 331F rol r19
775 083c 280F add r18,r24
776 083e 391F adc r19,r25
777 0840 3093 0000 sts (MesswertNick)+1,r19
778 0844 2093 0000 sts MesswertNick,r18
779 .L47:
780 0848 2091 0000 lds r18,MesswertRoll
781 084c 3091 0000 lds r19,(MesswertRoll)+1
782 0850 293C cpi r18,201
783 0852 3105 cpc r19,__zero_reg__
784 0854 04F0 brlt .L49
785 0856 C901 movw r24,r18
786 0858 8052 subi r24,lo8(-(-800))
787 085a 9340 sbci r25,hi8(-(-800))
788 085c 00C0 rjmp .L92
789 .L49:
790 085e AFEF ldi r26,hi8(-200)
791 0860 2833 cpi r18,lo8(-200)
792 0862 3A07 cpc r19,r26
793 0864 04F4 brge .L41
794 0866 C901 movw r24,r18
795 0868 805E subi r24,lo8(-(800))
796 086a 9C4F sbci r25,hi8(-(800))
797 .L92:
798 086c 220F lsl r18
799 086e 331F rol r19
800 0870 220F lsl r18
801 0872 331F rol r19
802 0874 280F add r18,r24
803 0876 391F adc r19,r25
804 0878 3093 0000 sts (MesswertRoll)+1,r19
805 087c 2093 0000 sts MesswertRoll,r18
806 .L41:
807 0880 2091 0000 lds r18,Poti1
808 0884 3091 0000 lds r19,(Poti1)+1
809 0888 8091 0000 lds r24,EE_Parameter+4
810 088c E82F mov r30,r24
811 088e FF27 clr r31
812 0890 EE0F lsl r30
813 0892 FF1F rol r31
814 0894 E050 subi r30,lo8(-(PPM_in))
815 0896 F040 sbci r31,hi8(-(PPM_in))
816 0898 8081 ld r24,Z
817 089a 9181 ldd r25,Z+1
818 089c 8259 subi r24,lo8(-(110))
819 089e 9F4F sbci r25,hi8(-(110))
820 08a0 2817 cp r18,r24
821 08a2 3907 cpc r19,r25
822 08a4 04F4 brge .L52
823 08a6 2F5F subi r18,lo8(-(1))
824 08a8 3F4F sbci r19,hi8(-(1))
825 08aa 00C0 rjmp .L93
826 .L52:
827 08ac 8081 ld r24,Z
828 08ae 9181 ldd r25,Z+1
829 08b0 8259 subi r24,lo8(-(110))
830 08b2 9F4F sbci r25,hi8(-(110))
831 08b4 8217 cp r24,r18
832 08b6 9307 cpc r25,r19
833 08b8 04F4 brge .L54
834 08ba 2115 cp r18,__zero_reg__
835 08bc 3105 cpc r19,__zero_reg__
836 08be 01F0 breq .L54
837 08c0 2150 subi r18,lo8(-(-1))
838 08c2 3040 sbci r19,hi8(-(-1))
839 .L93:
840 08c4 3093 0000 sts (Poti1)+1,r19
841 08c8 2093 0000 sts Poti1,r18
842 .L54:
843 08cc 2091 0000 lds r18,Poti2
844 08d0 3091 0000 lds r19,(Poti2)+1
845 08d4 8091 0000 lds r24,EE_Parameter+5
846 08d8 E82F mov r30,r24
847 08da FF27 clr r31
848 08dc EE0F lsl r30
849 08de FF1F rol r31
850 08e0 E050 subi r30,lo8(-(PPM_in))
851 08e2 F040 sbci r31,hi8(-(PPM_in))
852 08e4 8081 ld r24,Z
853 08e6 9181 ldd r25,Z+1
854 08e8 8259 subi r24,lo8(-(110))
855 08ea 9F4F sbci r25,hi8(-(110))
856 08ec 2817 cp r18,r24
857 08ee 3907 cpc r19,r25
858 08f0 04F4 brge .L57
859 08f2 2F5F subi r18,lo8(-(1))
860 08f4 3F4F sbci r19,hi8(-(1))
861 08f6 00C0 rjmp .L94
862 .L57:
863 08f8 8081 ld r24,Z
864 08fa 9181 ldd r25,Z+1
865 08fc 8259 subi r24,lo8(-(110))
866 08fe 9F4F sbci r25,hi8(-(110))
867 0900 8217 cp r24,r18
868 0902 9307 cpc r25,r19
869 0904 04F4 brge .L59
870 0906 2115 cp r18,__zero_reg__
871 0908 3105 cpc r19,__zero_reg__
872 090a 01F0 breq .L59
873 090c 2150 subi r18,lo8(-(-1))
874 090e 3040 sbci r19,hi8(-(-1))
875 .L94:
876 0910 3093 0000 sts (Poti2)+1,r19
877 0914 2093 0000 sts Poti2,r18
878 .L59:
879 0918 2091 0000 lds r18,Poti3
880 091c 3091 0000 lds r19,(Poti3)+1
881 0920 8091 0000 lds r24,EE_Parameter+6
882 0924 E82F mov r30,r24
883 0926 FF27 clr r31
884 0928 EE0F lsl r30
885 092a FF1F rol r31
886 092c E050 subi r30,lo8(-(PPM_in))
887 092e F040 sbci r31,hi8(-(PPM_in))
888 0930 8081 ld r24,Z
889 0932 9181 ldd r25,Z+1
890 0934 8259 subi r24,lo8(-(110))
891 0936 9F4F sbci r25,hi8(-(110))
892 0938 2817 cp r18,r24
893 093a 3907 cpc r19,r25
894 093c 04F4 brge .L62
895 093e 2F5F subi r18,lo8(-(1))
896 0940 3F4F sbci r19,hi8(-(1))
897 0942 00C0 rjmp .L95
898 .L62:
899 0944 8081 ld r24,Z
900 0946 9181 ldd r25,Z+1
901 0948 8259 subi r24,lo8(-(110))
902 094a 9F4F sbci r25,hi8(-(110))
903 094c 8217 cp r24,r18
904 094e 9307 cpc r25,r19
905 0950 04F4 brge .L64
906 0952 2115 cp r18,__zero_reg__
907 0954 3105 cpc r19,__zero_reg__
908 0956 01F0 breq .L64
909 0958 2150 subi r18,lo8(-(-1))
910 095a 3040 sbci r19,hi8(-(-1))
911 .L95:
912 095c 3093 0000 sts (Poti3)+1,r19
913 0960 2093 0000 sts Poti3,r18
914 .L64:
915 0964 2091 0000 lds r18,Poti4
916 0968 3091 0000 lds r19,(Poti4)+1
917 096c 8091 0000 lds r24,EE_Parameter+7
918 0970 E82F mov r30,r24
919 0972 FF27 clr r31
920 0974 EE0F lsl r30
921 0976 FF1F rol r31
922 0978 E050 subi r30,lo8(-(PPM_in))
923 097a F040 sbci r31,hi8(-(PPM_in))
924 097c 8081 ld r24,Z
925 097e 9181 ldd r25,Z+1
926 0980 8259 subi r24,lo8(-(110))
927 0982 9F4F sbci r25,hi8(-(110))
928 0984 2817 cp r18,r24
929 0986 3907 cpc r19,r25
930 0988 04F4 brge .L67
931 098a 2F5F subi r18,lo8(-(1))
932 098c 3F4F sbci r19,hi8(-(1))
933 098e 00C0 rjmp .L96
934 .L67:
935 0990 8081 ld r24,Z
936 0992 9181 ldd r25,Z+1
937 0994 8259 subi r24,lo8(-(110))
938 0996 9F4F sbci r25,hi8(-(110))
939 0998 8217 cp r24,r18
940 099a 9307 cpc r25,r19
941 099c 04F4 brge .L69
942 099e 2115 cp r18,__zero_reg__
943 09a0 3105 cpc r19,__zero_reg__
944 09a2 01F0 breq .L69
945 09a4 2150 subi r18,lo8(-(-1))
946 09a6 3040 sbci r19,hi8(-(-1))
947 .L96:
948 09a8 3093 0000 sts (Poti4)+1,r19
949 09ac 2093 0000 sts Poti4,r18
950 .L69:
951 09b0 8091 0000 lds r24,Poti1
952 09b4 9091 0000 lds r25,(Poti1)+1
953 09b8 97FF sbrs r25,7
954 09ba 00C0 rjmp .L72
955 09bc 1092 0000 sts (Poti1)+1,__zero_reg__
956 09c0 1092 0000 sts Poti1,__zero_reg__
957 09c4 00C0 rjmp .L74
958 .L72:
959 09c6 8F3F cpi r24,255
960 09c8 9105 cpc r25,__zero_reg__
961 09ca 01F0 breq .L74
962 09cc 04F0 brlt .L74
963 09ce 8FEF ldi r24,lo8(255)
964 09d0 90E0 ldi r25,hi8(255)
965 09d2 9093 0000 sts (Poti1)+1,r25
966 09d6 8093 0000 sts Poti1,r24
967 .L74:
968 09da 8091 0000 lds r24,Poti2
969 09de 9091 0000 lds r25,(Poti2)+1
970 09e2 97FF sbrs r25,7
971 09e4 00C0 rjmp .L76
972 09e6 1092 0000 sts (Poti2)+1,__zero_reg__
973 09ea 1092 0000 sts Poti2,__zero_reg__
974 09ee 00C0 rjmp .L78
975 .L76:
976 09f0 8F3F cpi r24,255
977 09f2 9105 cpc r25,__zero_reg__
978 09f4 01F0 breq .L78
979 09f6 04F0 brlt .L78
980 09f8 8FEF ldi r24,lo8(255)
981 09fa 90E0 ldi r25,hi8(255)
982 09fc 9093 0000 sts (Poti2)+1,r25
983 0a00 8093 0000 sts Poti2,r24
984 .L78:
985 0a04 8091 0000 lds r24,Poti3
986 0a08 9091 0000 lds r25,(Poti3)+1
987 0a0c 97FF sbrs r25,7
988 0a0e 00C0 rjmp .L80
989 0a10 1092 0000 sts (Poti3)+1,__zero_reg__
990 0a14 1092 0000 sts Poti3,__zero_reg__
991 0a18 00C0 rjmp .L82
992 .L80:
993 0a1a 8F3F cpi r24,255
994 0a1c 9105 cpc r25,__zero_reg__
995 0a1e 01F0 breq .L82
996 0a20 04F0 brlt .L82
997 0a22 8FEF ldi r24,lo8(255)
998 0a24 90E0 ldi r25,hi8(255)
999 0a26 9093 0000 sts (Poti3)+1,r25
1000 0a2a 8093 0000 sts Poti3,r24
1001 .L82:
1002 0a2e 8091 0000 lds r24,Poti4
1003 0a32 9091 0000 lds r25,(Poti4)+1
1004 0a36 97FF sbrs r25,7
1005 0a38 00C0 rjmp .L84
1006 0a3a 1092 0000 sts (Poti4)+1,__zero_reg__
1007 0a3e 1092 0000 sts Poti4,__zero_reg__
1008 0a42 00C0 rjmp .L88
1009 .L84:
1010 0a44 8F3F cpi r24,255
1011 0a46 9105 cpc r25,__zero_reg__
1012 0a48 01F0 breq .L88
1013 0a4a 04F0 brlt .L88
1014 0a4c 8FEF ldi r24,lo8(255)
1015 0a4e 90E0 ldi r25,hi8(255)
1016 0a50 9093 0000 sts (Poti4)+1,r25
1017 0a54 8093 0000 sts Poti4,r24
1018 .L88:
1019 /* epilogue: frame size=16 */
1020 0a58 E2E1 ldi r30,18
1021 0a5a C05F subi r28,-16
1022 0a5c 0C94 0000 jmp __epilogue_restores__+0
1023 /* epilogue end (size=4) */
1024 /* function Mittelwert size 1340 (1330) */
1026 .global CalibrierMittelwert
1028 CalibrierMittelwert:
1029 /* prologue: frame size=0 */
1030 /* prologue end (size=0) */
1031 0a60 1092 7A00 sts 122,__zero_reg__
1032 0a64 8091 0000 lds r24,AdWertNick
1033 0a68 9091 0000 lds r25,(AdWertNick)+1
1034 0a6c 9093 0000 sts (MesswertNick)+1,r25
1035 0a70 8093 0000 sts MesswertNick,r24
1036 0a74 8091 0000 lds r24,AdWertRoll
1037 0a78 9091 0000 lds r25,(AdWertRoll)+1
1038 0a7c 9093 0000 sts (MesswertRoll)+1,r25
1039 0a80 8093 0000 sts MesswertRoll,r24
1040 0a84 8091 0000 lds r24,AdWertGier
1041 0a88 9091 0000 lds r25,(AdWertGier)+1
1042 0a8c 9093 0000 sts (MesswertGier)+1,r25
1043 0a90 8093 0000 sts MesswertGier,r24
1044 0a94 6091 0000 lds r22,AdWertAccNick
1045 0a98 7091 0000 lds r23,(AdWertAccNick)+1
1046 0a9c 8827 clr r24
1047 0a9e 77FD sbrc r23,7
1048 0aa0 8095 com r24
1049 0aa2 982F mov r25,r24
1050 0aa4 2CE0 ldi r18,lo8(12)
1051 0aa6 30E0 ldi r19,hi8(12)
1052 0aa8 40E0 ldi r20,hlo8(12)
1053 0aaa 50E0 ldi r21,hhi8(12)
1054 0aac 0E94 0000 call __mulsi3
1055 0ab0 7093 0000 sts (Mittelwert_AccNick)+1,r23
1056 0ab4 6093 0000 sts Mittelwert_AccNick,r22
1057 0ab8 6091 0000 lds r22,AdWertAccRoll
1058 0abc 7091 0000 lds r23,(AdWertAccRoll)+1
1059 0ac0 8827 clr r24
1060 0ac2 77FD sbrc r23,7
1061 0ac4 8095 com r24
1062 0ac6 982F mov r25,r24
1063 0ac8 0E94 0000 call __mulsi3
1064 0acc 7093 0000 sts (Mittelwert_AccRoll)+1,r23
1065 0ad0 6093 0000 sts Mittelwert_AccRoll,r22
1066 0ad4 8091 0000 lds r24,AdWertAccHoch
1067 0ad8 9091 0000 lds r25,(AdWertAccHoch)+1
1068 0adc 9093 0000 sts (Mittelwert_AccHoch)+1,r25
1069 0ae0 8093 0000 sts Mittelwert_AccHoch,r24
1070 0ae4 8FEE ldi r24,lo8(-17)
1071 0ae6 8093 7A00 sts 122,r24
1072 0aea 2091 0000 lds r18,Poti1
1073 0aee 3091 0000 lds r19,(Poti1)+1
1074 0af2 8091 0000 lds r24,EE_Parameter+4
1075 0af6 E82F mov r30,r24
1076 0af8 FF27 clr r31
1077 0afa EE0F lsl r30
1078 0afc FF1F rol r31
1079 0afe E050 subi r30,lo8(-(PPM_in))
1080 0b00 F040 sbci r31,hi8(-(PPM_in))
1081 0b02 8081 ld r24,Z
1082 0b04 9181 ldd r25,Z+1
1083 0b06 8259 subi r24,lo8(-(110))
1084 0b08 9F4F sbci r25,hi8(-(110))
1085 0b0a 2817 cp r18,r24
1086 0b0c 3907 cpc r19,r25
1087 0b0e 04F4 brge .L98
1088 0b10 2F5F subi r18,lo8(-(1))
1089 0b12 3F4F sbci r19,hi8(-(1))
1090 0b14 00C0 rjmp .L135
1091 .L98:
1092 0b16 8081 ld r24,Z
1093 0b18 9181 ldd r25,Z+1
1094 0b1a 8259 subi r24,lo8(-(110))
1095 0b1c 9F4F sbci r25,hi8(-(110))
1096 0b1e 8217 cp r24,r18
1097 0b20 9307 cpc r25,r19
1098 0b22 04F4 brge .L100
1099 0b24 2115 cp r18,__zero_reg__
1100 0b26 3105 cpc r19,__zero_reg__
1101 0b28 01F0 breq .L100
1102 0b2a 2150 subi r18,lo8(-(-1))
1103 0b2c 3040 sbci r19,hi8(-(-1))
1104 .L135:
1105 0b2e 3093 0000 sts (Poti1)+1,r19
1106 0b32 2093 0000 sts Poti1,r18
1107 .L100:
1108 0b36 2091 0000 lds r18,Poti2
1109 0b3a 3091 0000 lds r19,(Poti2)+1
1110 0b3e 8091 0000 lds r24,EE_Parameter+5
1111 0b42 E82F mov r30,r24
1112 0b44 FF27 clr r31
1113 0b46 EE0F lsl r30
1114 0b48 FF1F rol r31
1115 0b4a E050 subi r30,lo8(-(PPM_in))
1116 0b4c F040 sbci r31,hi8(-(PPM_in))
1117 0b4e 8081 ld r24,Z
1118 0b50 9181 ldd r25,Z+1
1119 0b52 8259 subi r24,lo8(-(110))
1120 0b54 9F4F sbci r25,hi8(-(110))
1121 0b56 2817 cp r18,r24
1122 0b58 3907 cpc r19,r25
1123 0b5a 04F4 brge .L103
1124 0b5c 2F5F subi r18,lo8(-(1))
1125 0b5e 3F4F sbci r19,hi8(-(1))
1126 0b60 00C0 rjmp .L136
1127 .L103:
1128 0b62 8081 ld r24,Z
1129 0b64 9181 ldd r25,Z+1
1130 0b66 8259 subi r24,lo8(-(110))
1131 0b68 9F4F sbci r25,hi8(-(110))
1132 0b6a 8217 cp r24,r18
1133 0b6c 9307 cpc r25,r19
1134 0b6e 04F4 brge .L105
1135 0b70 2115 cp r18,__zero_reg__
1136 0b72 3105 cpc r19,__zero_reg__
1137 0b74 01F0 breq .L105
1138 0b76 2150 subi r18,lo8(-(-1))
1139 0b78 3040 sbci r19,hi8(-(-1))
1140 .L136:
1141 0b7a 3093 0000 sts (Poti2)+1,r19
1142 0b7e 2093 0000 sts Poti2,r18
1143 .L105:
1144 0b82 2091 0000 lds r18,Poti3
1145 0b86 3091 0000 lds r19,(Poti3)+1
1146 0b8a 8091 0000 lds r24,EE_Parameter+6
1147 0b8e E82F mov r30,r24
1148 0b90 FF27 clr r31
1149 0b92 EE0F lsl r30
1150 0b94 FF1F rol r31
1151 0b96 E050 subi r30,lo8(-(PPM_in))
1152 0b98 F040 sbci r31,hi8(-(PPM_in))
1153 0b9a 8081 ld r24,Z
1154 0b9c 9181 ldd r25,Z+1
1155 0b9e 8259 subi r24,lo8(-(110))
1156 0ba0 9F4F sbci r25,hi8(-(110))
1157 0ba2 2817 cp r18,r24
1158 0ba4 3907 cpc r19,r25
1159 0ba6 04F4 brge .L108
1160 0ba8 2F5F subi r18,lo8(-(1))
1161 0baa 3F4F sbci r19,hi8(-(1))
1162 0bac 00C0 rjmp .L137
1163 .L108:
1164 0bae 8081 ld r24,Z
1165 0bb0 9181 ldd r25,Z+1
1166 0bb2 8259 subi r24,lo8(-(110))
1167 0bb4 9F4F sbci r25,hi8(-(110))
1168 0bb6 8217 cp r24,r18
1169 0bb8 9307 cpc r25,r19
1170 0bba 04F4 brge .L110
1171 0bbc 2115 cp r18,__zero_reg__
1172 0bbe 3105 cpc r19,__zero_reg__
1173 0bc0 01F0 breq .L110
1174 0bc2 2150 subi r18,lo8(-(-1))
1175 0bc4 3040 sbci r19,hi8(-(-1))
1176 .L137:
1177 0bc6 3093 0000 sts (Poti3)+1,r19
1178 0bca 2093 0000 sts Poti3,r18
1179 .L110:
1180 0bce 2091 0000 lds r18,Poti4
1181 0bd2 3091 0000 lds r19,(Poti4)+1
1182 0bd6 8091 0000 lds r24,EE_Parameter+7
1183 0bda E82F mov r30,r24
1184 0bdc FF27 clr r31
1185 0bde EE0F lsl r30
1186 0be0 FF1F rol r31
1187 0be2 E050 subi r30,lo8(-(PPM_in))
1188 0be4 F040 sbci r31,hi8(-(PPM_in))
1189 0be6 8081 ld r24,Z
1190 0be8 9181 ldd r25,Z+1
1191 0bea 8259 subi r24,lo8(-(110))
1192 0bec 9F4F sbci r25,hi8(-(110))
1193 0bee 2817 cp r18,r24
1194 0bf0 3907 cpc r19,r25
1195 0bf2 04F4 brge .L113
1196 0bf4 2F5F subi r18,lo8(-(1))
1197 0bf6 3F4F sbci r19,hi8(-(1))
1198 0bf8 00C0 rjmp .L138
1199 .L113:
1200 0bfa 8081 ld r24,Z
1201 0bfc 9181 ldd r25,Z+1
1202 0bfe 8259 subi r24,lo8(-(110))
1203 0c00 9F4F sbci r25,hi8(-(110))
1204 0c02 8217 cp r24,r18
1205 0c04 9307 cpc r25,r19
1206 0c06 04F4 brge .L115
1207 0c08 2115 cp r18,__zero_reg__
1208 0c0a 3105 cpc r19,__zero_reg__
1209 0c0c 01F0 breq .L115
1210 0c0e 2150 subi r18,lo8(-(-1))
1211 0c10 3040 sbci r19,hi8(-(-1))
1212 .L138:
1213 0c12 3093 0000 sts (Poti4)+1,r19
1214 0c16 2093 0000 sts Poti4,r18
1215 .L115:
1216 0c1a 8091 0000 lds r24,Poti1
1217 0c1e 9091 0000 lds r25,(Poti1)+1
1218 0c22 97FF sbrs r25,7
1219 0c24 00C0 rjmp .L118
1220 0c26 1092 0000 sts (Poti1)+1,__zero_reg__
1221 0c2a 1092 0000 sts Poti1,__zero_reg__
1222 0c2e 00C0 rjmp .L120
1223 .L118:
1224 0c30 8F3F cpi r24,255
1225 0c32 9105 cpc r25,__zero_reg__
1226 0c34 01F0 breq .L120
1227 0c36 04F0 brlt .L120
1228 0c38 8FEF ldi r24,lo8(255)
1229 0c3a 90E0 ldi r25,hi8(255)
1230 0c3c 9093 0000 sts (Poti1)+1,r25
1231 0c40 8093 0000 sts Poti1,r24
1232 .L120:
1233 0c44 8091 0000 lds r24,Poti2
1234 0c48 9091 0000 lds r25,(Poti2)+1
1235 0c4c 97FF sbrs r25,7
1236 0c4e 00C0 rjmp .L122
1237 0c50 1092 0000 sts (Poti2)+1,__zero_reg__
1238 0c54 1092 0000 sts Poti2,__zero_reg__
1239 0c58 00C0 rjmp .L124
1240 .L122:
1241 0c5a 8F3F cpi r24,255
1242 0c5c 9105 cpc r25,__zero_reg__
1243 0c5e 01F0 breq .L124
1244 0c60 04F0 brlt .L124
1245 0c62 8FEF ldi r24,lo8(255)
1246 0c64 90E0 ldi r25,hi8(255)
1247 0c66 9093 0000 sts (Poti2)+1,r25
1248 0c6a 8093 0000 sts Poti2,r24
1249 .L124:
1250 0c6e 8091 0000 lds r24,Poti3
1251 0c72 9091 0000 lds r25,(Poti3)+1
1252 0c76 97FF sbrs r25,7
1253 0c78 00C0 rjmp .L126
1254 0c7a 1092 0000 sts (Poti3)+1,__zero_reg__
1255 0c7e 1092 0000 sts Poti3,__zero_reg__
1256 0c82 00C0 rjmp .L128
1257 .L126:
1258 0c84 8F3F cpi r24,255
1259 0c86 9105 cpc r25,__zero_reg__
1260 0c88 01F0 breq .L128
1261 0c8a 04F0 brlt .L128
1262 0c8c 8FEF ldi r24,lo8(255)
1263 0c8e 90E0 ldi r25,hi8(255)
1264 0c90 9093 0000 sts (Poti3)+1,r25
1265 0c94 8093 0000 sts Poti3,r24
1266 .L128:
1267 0c98 8091 0000 lds r24,Poti4
1268 0c9c 9091 0000 lds r25,(Poti4)+1
1269 0ca0 97FF sbrs r25,7
1270 0ca2 00C0 rjmp .L130
1271 0ca4 1092 0000 sts (Poti4)+1,__zero_reg__
1272 0ca8 1092 0000 sts Poti4,__zero_reg__
1273 0cac 00C0 rjmp .L132
1274 .L130:
1275 0cae 8F3F cpi r24,255
1276 0cb0 9105 cpc r25,__zero_reg__
1277 0cb2 01F0 breq .L132
1278 0cb4 04F0 brlt .L132
1279 0cb6 8FEF ldi r24,lo8(255)
1280 0cb8 90E0 ldi r25,hi8(255)
1281 0cba 9093 0000 sts (Poti4)+1,r25
1282 0cbe 8093 0000 sts Poti4,r24
1283 .L132:
1284 0cc2 6091 0000 lds r22,EE_Parameter+43
1285 0cc6 7727 clr r23
1286 0cc8 8827 clr r24
1287 0cca 9927 clr r25
1288 0ccc 24EC ldi r18,lo8(2500)
1289 0cce 39E0 ldi r19,hi8(2500)
1290 0cd0 40E0 ldi r20,hlo8(2500)
1291 0cd2 50E0 ldi r21,hhi8(2500)
1292 0cd4 0E94 0000 call __mulsi3
1293 0cd8 6093 0000 sts Umschlag180Nick,r22
1294 0cdc 7093 0000 sts (Umschlag180Nick)+1,r23
1295 0ce0 8093 0000 sts (Umschlag180Nick)+2,r24
1296 0ce4 9093 0000 sts (Umschlag180Nick)+3,r25
1297 0ce8 6093 0000 sts Umschlag180Roll,r22
1298 0cec 7093 0000 sts (Umschlag180Roll)+1,r23
1299 0cf0 8093 0000 sts (Umschlag180Roll)+2,r24
1300 0cf4 9093 0000 sts (Umschlag180Roll)+3,r25
1301 /* epilogue: frame size=0 */
1302 0cf8 0895 ret
1303 /* epilogue end (size=1) */
1304 /* function CalibrierMittelwert size 333 (332) */
1306 .global ParameterZuordnung
1308 ParameterZuordnung:
1309 /* prologue: frame size=0 */
1310 0cfa 1F93 push r17
1311 /* prologue end (size=1) */
1312 0cfc 8091 0000 lds r24,EE_Parameter+11
1313 0d00 8B3F cpi r24,lo8(-5)
1314 0d02 00F0 brlo .L140
1315 0d04 8B3F cpi r24,lo8(-5)
1316 0d06 01F4 brne .L142
1317 0d08 8091 0000 lds r24,Poti1
1318 0d0c 00C0 rjmp .L140
1319 .L142:
1320 0d0e 8C3F cpi r24,lo8(-4)
1321 0d10 01F4 brne .L145
1322 0d12 8091 0000 lds r24,Poti2
1323 0d16 00C0 rjmp .L140
1324 .L145:
1325 0d18 8D3F cpi r24,lo8(-3)
1326 0d1a 01F4 brne .L147
1327 0d1c 8091 0000 lds r24,Poti3
1328 0d20 00C0 rjmp .L140
1329 .L147:
1330 0d22 8E3F cpi r24,lo8(-2)
1331 0d24 01F4 brne .L144
1332 0d26 8091 0000 lds r24,Poti4
1333 .L140:
1334 0d2a 8093 0000 sts Parameter_MaxHoehe,r24
1335 .L144:
1336 0d2e 8091 0000 lds r24,Parameter_MaxHoehe
1337 0d32 8823 tst r24
1338 0d34 01F4 brne .L150
1339 0d36 1092 0000 sts Parameter_MaxHoehe,__zero_reg__
1340 0d3a 00C0 rjmp .L152
1341 .L150:
1342 0d3c 8F3F cpi r24,lo8(-1)
1343 0d3e 01F4 brne .L152
1344 0d40 8093 0000 sts Parameter_MaxHoehe,r24
1345 .L152:
1346 0d44 8091 0000 lds r24,EE_Parameter+10
1347 0d48 8B3F cpi r24,lo8(-5)
1348 0d4a 00F0 brlo .L154
1349 0d4c 8B3F cpi r24,lo8(-5)
1350 0d4e 01F4 brne .L156
1351 0d50 8091 0000 lds r24,Poti1
1352 0d54 00C0 rjmp .L154
1353 .L156:
1354 0d56 8C3F cpi r24,lo8(-4)
1355 0d58 01F4 brne .L159
1356 0d5a 8091 0000 lds r24,Poti2
1357 0d5e 00C0 rjmp .L154
1358 .L159:
1359 0d60 8D3F cpi r24,lo8(-3)
1360 0d62 01F4 brne .L161
1361 0d64 8091 0000 lds r24,Poti3
1362 0d68 00C0 rjmp .L154
1363 .L161:
1364 0d6a 8E3F cpi r24,lo8(-2)
1365 0d6c 01F4 brne .L158
1366 0d6e 8091 0000 lds r24,Poti4
1367 .L154:
1368 0d72 8093 0000 sts Parameter_Luftdruck_D,r24
1369 .L158:
1370 0d76 8091 0000 lds r24,Parameter_Luftdruck_D
1371 0d7a 8823 tst r24
1372 0d7c 01F4 brne .L164
1373 0d7e 1092 0000 sts Parameter_Luftdruck_D,__zero_reg__
1374 0d82 00C0 rjmp .L166
1375 .L164:
1376 0d84 8436 cpi r24,lo8(100)
1377 0d86 00F0 brlo .L166
1378 0d88 84E6 ldi r24,lo8(100)
1379 0d8a 8093 0000 sts Parameter_Luftdruck_D,r24
1380 .L166:
1381 0d8e 8091 0000 lds r24,EE_Parameter+12
1382 0d92 8B3F cpi r24,lo8(-5)
1383 0d94 00F0 brlo .L168
1384 0d96 8B3F cpi r24,lo8(-5)
1385 0d98 01F4 brne .L170
1386 0d9a 8091 0000 lds r24,Poti1
1387 0d9e 00C0 rjmp .L168
1388 .L170:
1389 0da0 8C3F cpi r24,lo8(-4)
1390 0da2 01F4 brne .L173
1391 0da4 8091 0000 lds r24,Poti2
1392 0da8 00C0 rjmp .L168
1393 .L173:
1394 0daa 8D3F cpi r24,lo8(-3)
1395 0dac 01F4 brne .L175
1396 0dae 8091 0000 lds r24,Poti3
1397 0db2 00C0 rjmp .L168
1398 .L175:
1399 0db4 8E3F cpi r24,lo8(-2)
1400 0db6 01F4 brne .L172
1401 0db8 8091 0000 lds r24,Poti4
1402 .L168:
1403 0dbc 8093 0000 sts Parameter_Hoehe_P,r24
1404 .L172:
1405 0dc0 8091 0000 lds r24,Parameter_Hoehe_P
1406 0dc4 8823 tst r24
1407 0dc6 01F4 brne .L178
1408 0dc8 1092 0000 sts Parameter_Hoehe_P,__zero_reg__
1409 0dcc 00C0 rjmp .L180
1410 .L178:
1411 0dce 8436 cpi r24,lo8(100)
1412 0dd0 00F0 brlo .L180
1413 0dd2 84E6 ldi r24,lo8(100)
1414 0dd4 8093 0000 sts Parameter_Hoehe_P,r24
1415 .L180:
1416 0dd8 8091 0000 lds r24,EE_Parameter+14
1417 0ddc 8B3F cpi r24,lo8(-5)
1418 0dde 00F0 brlo .L182
1419 0de0 8B3F cpi r24,lo8(-5)
1420 0de2 01F4 brne .L184
1421 0de4 8091 0000 lds r24,Poti1
1422 0de8 00C0 rjmp .L182
1423 .L184:
1424 0dea 8C3F cpi r24,lo8(-4)
1425 0dec 01F4 brne .L187
1426 0dee 8091 0000 lds r24,Poti2
1427 0df2 00C0 rjmp .L182
1428 .L187:
1429 0df4 8D3F cpi r24,lo8(-3)
1430 0df6 01F4 brne .L189
1431 0df8 8091 0000 lds r24,Poti3
1432 0dfc 00C0 rjmp .L182
1433 .L189:
1434 0dfe 8E3F cpi r24,lo8(-2)
1435 0e00 01F4 brne .L186
1436 0e02 8091 0000 lds r24,Poti4
1437 .L182:
1438 0e06 8093 0000 sts Parameter_Hoehe_ACC_Wirkung,r24
1439 .L186:
1440 0e0a 8091 0000 lds r24,Parameter_Hoehe_ACC_Wirkung
1441 0e0e 8823 tst r24
1442 0e10 01F4 brne .L192
1443 0e12 1092 0000 sts Parameter_Hoehe_ACC_Wirkung,__zero_reg__
1444 0e16 00C0 rjmp .L194
1445 .L192:
1446 0e18 8F3F cpi r24,lo8(-1)
1447 0e1a 01F4 brne .L194
1448 0e1c 8093 0000 sts Parameter_Hoehe_ACC_Wirkung,r24
1449 .L194:
1450 0e20 8091 0000 lds r24,EE_Parameter+21
1451 0e24 8B3F cpi r24,lo8(-5)
1452 0e26 00F0 brlo .L196
1453 0e28 8B3F cpi r24,lo8(-5)
1454 0e2a 01F4 brne .L198
1455 0e2c 8091 0000 lds r24,Poti1
1456 0e30 00C0 rjmp .L196
1457 .L198:
1458 0e32 8C3F cpi r24,lo8(-4)
1459 0e34 01F4 brne .L201
1460 0e36 8091 0000 lds r24,Poti2
1461 0e3a 00C0 rjmp .L196
1462 .L201:
1463 0e3c 8D3F cpi r24,lo8(-3)
1464 0e3e 01F4 brne .L203
1465 0e40 8091 0000 lds r24,Poti3
1466 0e44 00C0 rjmp .L196
1467 .L203:
1468 0e46 8E3F cpi r24,lo8(-2)
1469 0e48 01F4 brne .L200
1470 0e4a 8091 0000 lds r24,Poti4
1471 .L196:
1472 0e4e 8093 0000 sts Parameter_KompassWirkung,r24
1473 .L200:
1474 0e52 8091 0000 lds r24,Parameter_KompassWirkung
1475 0e56 8823 tst r24
1476 0e58 01F4 brne .L206
1477 0e5a 1092 0000 sts Parameter_KompassWirkung,__zero_reg__
1478 0e5e 00C0 rjmp .L208
1479 .L206:
1480 0e60 8F3F cpi r24,lo8(-1)
1481 0e62 01F4 brne .L208
1482 0e64 8093 0000 sts Parameter_KompassWirkung,r24
1483 .L208:
1484 0e68 8091 0000 lds r24,EE_Parameter+22
1485 0e6c 8B3F cpi r24,lo8(-5)
1486 0e6e 00F0 brlo .L210
1487 0e70 8B3F cpi r24,lo8(-5)
1488 0e72 01F4 brne .L212
1489 0e74 8091 0000 lds r24,Poti1
1490 0e78 00C0 rjmp .L210
1491 .L212:
1492 0e7a 8C3F cpi r24,lo8(-4)
1493 0e7c 01F4 brne .L215
1494 0e7e 8091 0000 lds r24,Poti2
1495 0e82 00C0 rjmp .L210
1496 .L215:
1497 0e84 8D3F cpi r24,lo8(-3)
1498 0e86 01F4 brne .L217
1499 0e88 8091 0000 lds r24,Poti3
1500 0e8c 00C0 rjmp .L210
1501 .L217:
1502 0e8e 8E3F cpi r24,lo8(-2)
1503 0e90 01F4 brne .L214
1504 0e92 8091 0000 lds r24,Poti4
1505 .L210:
1506 0e96 8093 0000 sts Parameter_Gyro_P,r24
1507 .L214:
1508 0e9a 8091 0000 lds r24,Parameter_Gyro_P
1509 0e9e 8B30 cpi r24,lo8(11)
1510 0ea0 00F4 brsh .L220
1511 0ea2 8AE0 ldi r24,lo8(10)
1512 0ea4 00C0 rjmp .L436
1513 .L220:
1514 0ea6 8F3F cpi r24,lo8(-1)
1515 0ea8 01F4 brne .L222
1516 .L436:
1517 0eaa 8093 0000 sts Parameter_Gyro_P,r24
1518 .L222:
1519 0eae 8091 0000 lds r24,EE_Parameter+23
1520 0eb2 8B3F cpi r24,lo8(-5)
1521 0eb4 00F0 brlo .L224
1522 0eb6 8B3F cpi r24,lo8(-5)
1523 0eb8 01F4 brne .L226
1524 0eba 8091 0000 lds r24,Poti1
1525 0ebe 00C0 rjmp .L224
1526 .L226:
1527 0ec0 8C3F cpi r24,lo8(-4)
1528 0ec2 01F4 brne .L229
1529 0ec4 8091 0000 lds r24,Poti2
1530 0ec8 00C0 rjmp .L224
1531 .L229:
1532 0eca 8D3F cpi r24,lo8(-3)
1533 0ecc 01F4 brne .L231
1534 0ece 8091 0000 lds r24,Poti3
1535 0ed2 00C0 rjmp .L224
1536 .L231:
1537 0ed4 8E3F cpi r24,lo8(-2)
1538 0ed6 01F4 brne .L228
1539 0ed8 8091 0000 lds r24,Poti4
1540 .L224:
1541 0edc 8093 0000 sts Parameter_Gyro_I,r24
1542 .L228:
1543 0ee0 8091 0000 lds r24,Parameter_Gyro_I
1544 0ee4 8823 tst r24
1545 0ee6 01F4 brne .L234
1546 0ee8 1092 0000 sts Parameter_Gyro_I,__zero_reg__
1547 0eec 00C0 rjmp .L236
1548 .L234:
1549 0eee 8F3F cpi r24,lo8(-1)
1550 0ef0 01F4 brne .L236
1551 0ef2 8093 0000 sts Parameter_Gyro_I,r24
1552 .L236:
1553 0ef6 8091 0000 lds r24,EE_Parameter+28
1554 0efa 8B3F cpi r24,lo8(-5)
1555 0efc 00F0 brlo .L238
1556 0efe 8B3F cpi r24,lo8(-5)
1557 0f00 01F4 brne .L240
1558 0f02 8091 0000 lds r24,Poti1
1559 0f06 00C0 rjmp .L238
1560 .L240:
1561 0f08 8C3F cpi r24,lo8(-4)
1562 0f0a 01F4 brne .L243
1563 0f0c 8091 0000 lds r24,Poti2
1564 0f10 00C0 rjmp .L238
1565 .L243:
1566 0f12 8D3F cpi r24,lo8(-3)
1567 0f14 01F4 brne .L245
1568 0f16 8091 0000 lds r24,Poti3
1569 0f1a 00C0 rjmp .L238
1570 .L245:
1571 0f1c 8E3F cpi r24,lo8(-2)
1572 0f1e 01F4 brne .L242
1573 0f20 8091 0000 lds r24,Poti4
1574 .L238:
1575 0f24 8093 0000 sts Parameter_I_Faktor,r24
1576 .L242:
1577 0f28 8091 0000 lds r24,Parameter_I_Faktor
1578 0f2c 8823 tst r24
1579 0f2e 01F4 brne .L248
1580 0f30 1092 0000 sts Parameter_I_Faktor,__zero_reg__
1581 0f34 00C0 rjmp .L250
1582 .L248:
1583 0f36 8F3F cpi r24,lo8(-1)
1584 0f38 01F4 brne .L250
1585 0f3a 8093 0000 sts Parameter_I_Faktor,r24
1586 .L250:
1587 0f3e 8091 0000 lds r24,EE_Parameter+29
1588 0f42 8B3F cpi r24,lo8(-5)
1589 0f44 00F0 brlo .L252
1590 0f46 8B3F cpi r24,lo8(-5)
1591 0f48 01F4 brne .L254
1592 0f4a 8091 0000 lds r24,Poti1
1593 0f4e 00C0 rjmp .L252
1594 .L254:
1595 0f50 8C3F cpi r24,lo8(-4)
1596 0f52 01F4 brne .L257
1597 0f54 8091 0000 lds r24,Poti2
1598 0f58 00C0 rjmp .L252
1599 .L257:
1600 0f5a 8D3F cpi r24,lo8(-3)
1601 0f5c 01F4 brne .L259
1602 0f5e 8091 0000 lds r24,Poti3
1603 0f62 00C0 rjmp .L252
1604 .L259:
1605 0f64 8E3F cpi r24,lo8(-2)
1606 0f66 01F4 brne .L256
1607 0f68 8091 0000 lds r24,Poti4
1608 .L252:
1609 0f6c 8093 0000 sts Parameter_UserParam1,r24
1610 .L256:
1611 0f70 8091 0000 lds r24,Parameter_UserParam1
1612 0f74 8823 tst r24
1613 0f76 01F4 brne .L262
1614 0f78 1092 0000 sts Parameter_UserParam1,__zero_reg__
1615 0f7c 00C0 rjmp .L264
1616 .L262:
1617 0f7e 8F3F cpi r24,lo8(-1)
1618 0f80 01F4 brne .L264
1619 0f82 8093 0000 sts Parameter_UserParam1,r24
1620 .L264:
1621 0f86 8091 0000 lds r24,EE_Parameter+30
1622 0f8a 8B3F cpi r24,lo8(-5)
1623 0f8c 00F0 brlo .L266
1624 0f8e 8B3F cpi r24,lo8(-5)
1625 0f90 01F4 brne .L268
1626 0f92 8091 0000 lds r24,Poti1
1627 0f96 00C0 rjmp .L266
1628 .L268:
1629 0f98 8C3F cpi r24,lo8(-4)
1630 0f9a 01F4 brne .L271
1631 0f9c 8091 0000 lds r24,Poti2
1632 0fa0 00C0 rjmp .L266
1633 .L271:
1634 0fa2 8D3F cpi r24,lo8(-3)
1635 0fa4 01F4 brne .L273
1636 0fa6 8091 0000 lds r24,Poti3
1637 0faa 00C0 rjmp .L266
1638 .L273:
1639 0fac 8E3F cpi r24,lo8(-2)
1640 0fae 01F4 brne .L270
1641 0fb0 8091 0000 lds r24,Poti4
1642 .L266:
1643 0fb4 8093 0000 sts Parameter_UserParam2,r24
1644 .L270:
1645 0fb8 8091 0000 lds r24,Parameter_UserParam2
1646 0fbc 8823 tst r24
1647 0fbe 01F4 brne .L276
1648 0fc0 1092 0000 sts Parameter_UserParam2,__zero_reg__
1649 0fc4 00C0 rjmp .L278
1650 .L276:
1651 0fc6 8F3F cpi r24,lo8(-1)
1652 0fc8 01F4 brne .L278
1653 0fca 8093 0000 sts Parameter_UserParam2,r24
1654 .L278:
1655 0fce 8091 0000 lds r24,EE_Parameter+31
1656 0fd2 8B3F cpi r24,lo8(-5)
1657 0fd4 00F0 brlo .L280
1658 0fd6 8B3F cpi r24,lo8(-5)
1659 0fd8 01F4 brne .L282
1660 0fda 8091 0000 lds r24,Poti1
1661 0fde 00C0 rjmp .L280
1662 .L282:
1663 0fe0 8C3F cpi r24,lo8(-4)
1664 0fe2 01F4 brne .L285
1665 0fe4 8091 0000 lds r24,Poti2
1666 0fe8 00C0 rjmp .L280
1667 .L285:
1668 0fea 8D3F cpi r24,lo8(-3)
1669 0fec 01F4 brne .L287
1670 0fee 8091 0000 lds r24,Poti3
1671 0ff2 00C0 rjmp .L280
1672 .L287:
1673 0ff4 8E3F cpi r24,lo8(-2)
1674 0ff6 01F4 brne .L284
1675 0ff8 8091 0000 lds r24,Poti4
1676 .L280:
1677 0ffc 8093 0000 sts Parameter_UserParam3,r24
1678 .L284:
1679 1000 8091 0000 lds r24,Parameter_UserParam3
1680 1004 8823 tst r24
1681 1006 01F4 brne .L290
1682 1008 1092 0000 sts Parameter_UserParam3,__zero_reg__
1683 100c 00C0 rjmp .L292
1684 .L290:
1685 100e 8F3F cpi r24,lo8(-1)
1686 1010 01F4 brne .L292
1687 1012 8093 0000 sts Parameter_UserParam3,r24
1688 .L292:
1689 1016 8091 0000 lds r24,EE_Parameter+32
1690 101a 8B3F cpi r24,lo8(-5)
1691 101c 00F0 brlo .L294
1692 101e 8B3F cpi r24,lo8(-5)
1693 1020 01F4 brne .L296
1694 1022 8091 0000 lds r24,Poti1
1695 1026 00C0 rjmp .L294
1696 .L296:
1697 1028 8C3F cpi r24,lo8(-4)
1698 102a 01F4 brne .L299
1699 102c 8091 0000 lds r24,Poti2
1700 1030 00C0 rjmp .L294
1701 .L299:
1702 1032 8D3F cpi r24,lo8(-3)
1703 1034 01F4 brne .L301
1704 1036 8091 0000 lds r24,Poti3
1705 103a 00C0 rjmp .L294
1706 .L301:
1707 103c 8E3F cpi r24,lo8(-2)
1708 103e 01F4 brne .L298
1709 1040 8091 0000 lds r24,Poti4
1710 .L294:
1711 1044 8093 0000 sts Parameter_UserParam4,r24
1712 .L298:
1713 1048 8091 0000 lds r24,Parameter_UserParam4
1714 104c 8823 tst r24
1715 104e 01F4 brne .L304
1716 1050 1092 0000 sts Parameter_UserParam4,__zero_reg__
1717 1054 00C0 rjmp .L306
1718 .L304:
1719 1056 8F3F cpi r24,lo8(-1)
1720 1058 01F4 brne .L306
1721 105a 8093 0000 sts Parameter_UserParam4,r24
1722 .L306:
1723 105e 8091 0000 lds r24,EE_Parameter+48
1724 1062 8B3F cpi r24,lo8(-5)
1725 1064 00F0 brlo .L308
1726 1066 8B3F cpi r24,lo8(-5)
1727 1068 01F4 brne .L310
1728 106a 8091 0000 lds r24,Poti1
1729 106e 00C0 rjmp .L308
1730 .L310:
1731 1070 8C3F cpi r24,lo8(-4)
1732 1072 01F4 brne .L313
1733 1074 8091 0000 lds r24,Poti2
1734 1078 00C0 rjmp .L308
1735 .L313:
1736 107a 8D3F cpi r24,lo8(-3)
1737 107c 01F4 brne .L315
1738 107e 8091 0000 lds r24,Poti3
1739 1082 00C0 rjmp .L308
1740 .L315:
1741 1084 8E3F cpi r24,lo8(-2)
1742 1086 01F4 brne .L312
1743 1088 8091 0000 lds r24,Poti4
1744 .L308:
1745 108c 8093 0000 sts Parameter_UserParam5,r24
1746 .L312:
1747 1090 8091 0000 lds r24,Parameter_UserParam5
1748 1094 8823 tst r24
1749 1096 01F4 brne .L318
1750 1098 1092 0000 sts Parameter_UserParam5,__zero_reg__
1751 109c 00C0 rjmp .L320
1752 .L318:
1753 109e 8F3F cpi r24,lo8(-1)
1754 10a0 01F4 brne .L320
1755 10a2 8093 0000 sts Parameter_UserParam5,r24
1756 .L320:
1757 10a6 8091 0000 lds r24,EE_Parameter+49
1758 10aa 8B3F cpi r24,lo8(-5)
1759 10ac 00F0 brlo .L322
1760 10ae 8B3F cpi r24,lo8(-5)
1761 10b0 01F4 brne .L324
1762 10b2 8091 0000 lds r24,Poti1
1763 10b6 00C0 rjmp .L322
1764 .L324:
1765 10b8 8C3F cpi r24,lo8(-4)
1766 10ba 01F4 brne .L327
1767 10bc 8091 0000 lds r24,Poti2
1768 10c0 00C0 rjmp .L322
1769 .L327:
1770 10c2 8D3F cpi r24,lo8(-3)
1771 10c4 01F4 brne .L329
1772 10c6 8091 0000 lds r24,Poti3
1773 10ca 00C0 rjmp .L322
1774 .L329:
1775 10cc 8E3F cpi r24,lo8(-2)
1776 10ce 01F4 brne .L326
1777 10d0 8091 0000 lds r24,Poti4
1778 .L322:
1779 10d4 8093 0000 sts Parameter_UserParam6,r24
1780 .L326:
1781 10d8 8091 0000 lds r24,Parameter_UserParam6
1782 10dc 8823 tst r24
1783 10de 01F4 brne .L332
1784 10e0 1092 0000 sts Parameter_UserParam6,__zero_reg__
1785 10e4 00C0 rjmp .L334
1786 .L332:
1787 10e6 8F3F cpi r24,lo8(-1)
1788 10e8 01F4 brne .L334
1789 10ea 8093 0000 sts Parameter_UserParam6,r24
1790 .L334:
1791 10ee 8091 0000 lds r24,EE_Parameter+50
1792 10f2 8B3F cpi r24,lo8(-5)
1793 10f4 00F0 brlo .L336
1794 10f6 8B3F cpi r24,lo8(-5)
1795 10f8 01F4 brne .L338
1796 10fa 8091 0000 lds r24,Poti1
1797 10fe 00C0 rjmp .L336
1798 .L338:
1799 1100 8C3F cpi r24,lo8(-4)
1800 1102 01F4 brne .L341
1801 1104 8091 0000 lds r24,Poti2
1802 1108 00C0 rjmp .L336
1803 .L341:
1804 110a 8D3F cpi r24,lo8(-3)
1805 110c 01F4 brne .L343
1806 110e 8091 0000 lds r24,Poti3
1807 1112 00C0 rjmp .L336
1808 .L343:
1809 1114 8E3F cpi r24,lo8(-2)
1810 1116 01F4 brne .L340
1811 1118 8091 0000 lds r24,Poti4
1812 .L336:
1813 111c 8093 0000 sts Parameter_UserParam7,r24
1814 .L340:
1815 1120 8091 0000 lds r24,Parameter_UserParam7
1816 1124 8823 tst r24
1817 1126 01F4 brne .L346
1818 1128 1092 0000 sts Parameter_UserParam7,__zero_reg__
1819 112c 00C0 rjmp .L348
1820 .L346:
1821 112e 8F3F cpi r24,lo8(-1)
1822 1130 01F4 brne .L348
1823 1132 8093 0000 sts Parameter_UserParam7,r24
1824 .L348:
1825 1136 8091 0000 lds r24,EE_Parameter+51
1826 113a 8B3F cpi r24,lo8(-5)
1827 113c 00F0 brlo .L350
1828 113e 8B3F cpi r24,lo8(-5)
1829 1140 01F4 brne .L352
1830 1142 8091 0000 lds r24,Poti1
1831 1146 00C0 rjmp .L350
1832 .L352:
1833 1148 8C3F cpi r24,lo8(-4)
1834 114a 01F4 brne .L355
1835 114c 8091 0000 lds r24,Poti2
1836 1150 00C0 rjmp .L350
1837 .L355:
1838 1152 8D3F cpi r24,lo8(-3)
1839 1154 01F4 brne .L357
1840 1156 8091 0000 lds r24,Poti3
1841 115a 00C0 rjmp .L350
1842 .L357:
1843 115c 8E3F cpi r24,lo8(-2)
1844 115e 01F4 brne .L354
1845 1160 8091 0000 lds r24,Poti4
1846 .L350:
1847 1164 8093 0000 sts Parameter_UserParam8,r24
1848 .L354:
1849 1168 8091 0000 lds r24,Parameter_UserParam8
1850 116c 8823 tst r24
1851 116e 01F4 brne .L360
1852 1170 1092 0000 sts Parameter_UserParam8,__zero_reg__
1853 1174 00C0 rjmp .L362
1854 .L360:
1855 1176 8F3F cpi r24,lo8(-1)
1856 1178 01F4 brne .L362
1857 117a 8093 0000 sts Parameter_UserParam8,r24
1858 .L362:
1859 117e 8091 0000 lds r24,EE_Parameter+33
1860 1182 8B3F cpi r24,lo8(-5)
1861 1184 00F0 brlo .L364
1862 1186 8B3F cpi r24,lo8(-5)
1863 1188 01F4 brne .L366
1864 118a 8091 0000 lds r24,Poti1
1865 118e 00C0 rjmp .L364
1866 .L366:
1867 1190 8C3F cpi r24,lo8(-4)
1868 1192 01F4 brne .L369
1869 1194 8091 0000 lds r24,Poti2
1870 1198 00C0 rjmp .L364
1871 .L369:
1872 119a 8D3F cpi r24,lo8(-3)
1873 119c 01F4 brne .L371
1874 119e 8091 0000 lds r24,Poti3
1875 11a2 00C0 rjmp .L364
1876 .L371:
1877 11a4 8E3F cpi r24,lo8(-2)
1878 11a6 01F4 brne .L368
1879 11a8 8091 0000 lds r24,Poti4
1880 .L364:
1881 11ac 8093 0000 sts Parameter_ServoNickControl,r24
1882 .L368:
1883 11b0 8091 0000 lds r24,Parameter_ServoNickControl
1884 11b4 8823 tst r24
1885 11b6 01F4 brne .L374
1886 11b8 1092 0000 sts Parameter_ServoNickControl,__zero_reg__
1887 11bc 00C0 rjmp .L376
1888 .L374:
1889 11be 8F3F cpi r24,lo8(-1)
1890 11c0 01F4 brne .L376
1891 11c2 8093 0000 sts Parameter_ServoNickControl,r24
1892 .L376:
1893 11c6 8091 0000 lds r24,EE_Parameter+38
1894 11ca 8B3F cpi r24,lo8(-5)
1895 11cc 00F0 brlo .L378
1896 11ce 8B3F cpi r24,lo8(-5)
1897 11d0 01F4 brne .L380
1898 11d2 8091 0000 lds r24,Poti1
1899 11d6 00C0 rjmp .L378
1900 .L380:
1901 11d8 8C3F cpi r24,lo8(-4)
1902 11da 01F4 brne .L383
1903 11dc 8091 0000 lds r24,Poti2
1904 11e0 00C0 rjmp .L378
1905 .L383:
1906 11e2 8D3F cpi r24,lo8(-3)
1907 11e4 01F4 brne .L385
1908 11e6 8091 0000 lds r24,Poti3
1909 11ea 00C0 rjmp .L378
1910 .L385:
1911 11ec 8E3F cpi r24,lo8(-2)
1912 11ee 01F4 brne .L382
1913 11f0 8091 0000 lds r24,Poti4
1914 .L378:
1915 11f4 8093 0000 sts Parameter_LoopGasLimit,r24
1916 .L382:
1917 11f8 8091 0000 lds r24,Parameter_LoopGasLimit
1918 11fc 8823 tst r24
1919 11fe 01F4 brne .L388
1920 1200 1092 0000 sts Parameter_LoopGasLimit,__zero_reg__
1921 1204 00C0 rjmp .L390
1922 .L388:
1923 1206 8F3F cpi r24,lo8(-1)
1924 1208 01F4 brne .L390
1925 120a 8093 0000 sts Parameter_LoopGasLimit,r24
1926 .L390:
1927 120e 8091 0000 lds r24,EE_Parameter+41
1928 1212 8B3F cpi r24,lo8(-5)
1929 1214 00F0 brlo .L392
1930 1216 8B3F cpi r24,lo8(-5)
1931 1218 01F4 brne .L394
1932 121a 8091 0000 lds r24,Poti1
1933 121e 00C0 rjmp .L392
1934 .L394:
1935 1220 8C3F cpi r24,lo8(-4)
1936 1222 01F4 brne .L397
1937 1224 8091 0000 lds r24,Poti2
1938 1228 00C0 rjmp .L392
1939 .L397:
1940 122a 8D3F cpi r24,lo8(-3)
1941 122c 01F4 brne .L399
1942 122e 8091 0000 lds r24,Poti3
1943 1232 00C0 rjmp .L392
1944 .L399:
1945 1234 8E3F cpi r24,lo8(-2)
1946 1236 01F4 brne .L396
1947 1238 8091 0000 lds r24,Poti4
1948 .L392:
1949 123c 8093 0000 sts Parameter_AchsKopplung1,r24
1950 .L396:
1951 1240 8091 0000 lds r24,Parameter_AchsKopplung1
1952 1244 8823 tst r24
1953 1246 01F4 brne .L402
1954 1248 1092 0000 sts Parameter_AchsKopplung1,__zero_reg__
1955 124c 00C0 rjmp .L404
1956 .L402:
1957 124e 8F3F cpi r24,lo8(-1)
1958 1250 01F4 brne .L404
1959 1252 8093 0000 sts Parameter_AchsKopplung1,r24
1960 .L404:
1961 1256 8091 0000 lds r24,EE_Parameter+42
1962 125a 8B3F cpi r24,lo8(-5)
1963 125c 00F0 brlo .L406
1964 125e 8B3F cpi r24,lo8(-5)
1965 1260 01F4 brne .L408
1966 1262 8091 0000 lds r24,Poti1
1967 1266 00C0 rjmp .L406
1968 .L408:
1969 1268 8C3F cpi r24,lo8(-4)
1970 126a 01F4 brne .L411
1971 126c 8091 0000 lds r24,Poti2
1972 1270 00C0 rjmp .L406
1973 .L411:
1974 1272 8D3F cpi r24,lo8(-3)
1975 1274 01F4 brne .L413
1976 1276 8091 0000 lds r24,Poti3
1977 127a 00C0 rjmp .L406
1978 .L413:
1979 127c 8E3F cpi r24,lo8(-2)
1980 127e 01F4 brne .L410
1981 1280 8091 0000 lds r24,Poti4
1982 .L406:
1983 1284 8093 0000 sts Parameter_AchsGegenKopplung1,r24
1984 .L410:
1985 1288 8091 0000 lds r24,Parameter_AchsGegenKopplung1
1986 128c 8823 tst r24
1987 128e 01F4 brne .L416
1988 1290 1092 0000 sts Parameter_AchsGegenKopplung1,__zero_reg__
1989 1294 00C0 rjmp .L418
1990 .L416:
1991 1296 8F3F cpi r24,lo8(-1)
1992 1298 01F4 brne .L418
1993 129a 8093 0000 sts Parameter_AchsGegenKopplung1,r24
1994 .L418:
1995 129e 8091 0000 lds r24,EE_Parameter+47
1996 12a2 8B3F cpi r24,lo8(-5)
1997 12a4 00F0 brlo .L420
1998 12a6 8B3F cpi r24,lo8(-5)
1999 12a8 01F4 brne .L422
2000 12aa 8091 0000 lds r24,Poti1
2001 12ae 00C0 rjmp .L420
2002 .L422:
2003 12b0 8C3F cpi r24,lo8(-4)
2004 12b2 01F4 brne .L425
2005 12b4 8091 0000 lds r24,Poti2
2006 12b8 00C0 rjmp .L420
2007 .L425:
2008 12ba 8D3F cpi r24,lo8(-3)
2009 12bc 01F4 brne .L427
2010 12be 8091 0000 lds r24,Poti3
2011 12c2 00C0 rjmp .L420
2012 .L427:
2013 12c4 8E3F cpi r24,lo8(-2)
2014 12c6 01F4 brne .L424
2015 12c8 8091 0000 lds r24,Poti4
2016 .L420:
2017 12cc 8093 0000 sts Parameter_DynamicStability,r24
2018 .L424:
2019 12d0 8091 0000 lds r24,Parameter_DynamicStability
2020 12d4 8823 tst r24
2021 12d6 01F4 brne .L430
2022 12d8 1092 0000 sts Parameter_DynamicStability,__zero_reg__
2023 12dc 00C0 rjmp .L432
2024 .L430:
2025 12de 8F3F cpi r24,lo8(-1)
2026 12e0 01F4 brne .L432
2027 12e2 8093 0000 sts Parameter_DynamicStability,r24
2028 .L432:
2029 12e6 1091 0000 lds r17,Parameter_I_Faktor
2030 12ea 612F mov r22,r17
2031 12ec 7727 clr r23
2032 12ee 67FD sbrc r22,7
2033 12f0 7095 com r23
2034 12f2 872F mov r24,r23
2035 12f4 972F mov r25,r23
2036 12f6 0E94 0000 call __floatsisf
2037 12fa 17FF sbrs r17,7
2038 12fc 00C0 rjmp .L434
2039 12fe 20E0 ldi r18,lo8(0x43800000)
2040 1300 30E0 ldi r19,hi8(0x43800000)
2041 1302 40E8 ldi r20,hlo8(0x43800000)
2042 1304 53E4 ldi r21,hhi8(0x43800000)
2043 1306 0E94 0000 call __addsf3
2044 .L434:
2045 130a 27E1 ldi r18,lo8(0x38d1b717)
2046 130c 37EB ldi r19,hi8(0x38d1b717)
2047 130e 41ED ldi r20,hlo8(0x38d1b717)
2048 1310 58E3 ldi r21,hhi8(0x38d1b717)
2049 1312 0E94 0000 call __mulsf3
2050 1316 6093 0000 sts Ki,r22
2051 131a 7093 0000 sts (Ki)+1,r23
2052 131e 8093 0000 sts (Ki)+2,r24
2053 1322 9093 0000 sts (Ki)+3,r25
2054 1326 8091 0000 lds r24,EE_Parameter+19
2055 132a 8093 0000 sts MAX_GAS,r24
2056 132e 8091 0000 lds r24,EE_Parameter+18
2057 1332 8093 0000 sts MIN_GAS,r24
2058 /* epilogue: frame size=0 */
2059 1336 1F91 pop r17
2060 1338 0895 ret
2061 /* epilogue end (size=2) */
2062 /* function ParameterZuordnung size 800 (797) */
2064 .global SendMotorData
2066 SendMotorData:
2067 /* prologue: frame size=0 */
2068 /* prologue end (size=0) */
2069 133a 8091 0000 lds r24,MotorenEin
2070 133e 8823 tst r24
2071 1340 01F4 brne .L438
2072 1342 1092 0000 sts Motor_Hinten,__zero_reg__
2073 1346 1092 0000 sts Motor_Vorne,__zero_reg__
2074 134a 1092 0000 sts Motor_Rechts,__zero_reg__
2075 134e 1092 0000 sts Motor_Links,__zero_reg__
2076 1352 8091 0000 lds r24,MotorTest
2077 1356 8823 tst r24
2078 1358 01F0 breq .L440
2079 135a 8093 0000 sts Motor_Vorne,r24
2080 .L440:
2081 135e 8091 0000 lds r24,MotorTest+1
2082 1362 8823 tst r24
2083 1364 01F0 breq .L442
2084 1366 8093 0000 sts Motor_Hinten,r24
2085 .L442:
2086 136a 8091 0000 lds r24,MotorTest+2
2087 136e 8823 tst r24
2088 1370 01F0 breq .L444
2089 1372 8093 0000 sts Motor_Links,r24
2090 .L444:
2091 1376 8091 0000 lds r24,MotorTest+3
2092 137a 8823 tst r24
2093 137c 01F0 breq .L438
2094 137e 8093 0000 sts Motor_Rechts,r24
2095 .L438:
2096 1382 8091 0000 lds r24,Motor_Vorne
2097 1386 9927 clr r25
2098 1388 9093 0000 sts (DebugOut+26)+1,r25
2099 138c 8093 0000 sts DebugOut+26,r24
2100 1390 8091 0000 lds r24,Motor_Hinten
2101 1394 9927 clr r25
2102 1396 9093 0000 sts (DebugOut+28)+1,r25
2103 139a 8093 0000 sts DebugOut+28,r24
2104 139e 8091 0000 lds r24,Motor_Links
2105 13a2 9927 clr r25
2106 13a4 9093 0000 sts (DebugOut+30)+1,r25
2107 13a8 8093 0000 sts DebugOut+30,r24
2108 13ac 8091 0000 lds r24,Motor_Rechts
2109 13b0 9927 clr r25
2110 13b2 9093 0000 sts (DebugOut+32)+1,r25
2111 13b6 8093 0000 sts DebugOut+32,r24
2112 13ba 1092 0000 sts twi_state,__zero_reg__
2113 13be 1092 0000 sts motor,__zero_reg__
2114 13c2 0E94 0000 call i2c_start
2115 /* epilogue: frame size=0 */
2116 13c6 0895 ret
2117 /* epilogue end (size=1) */
2118 /* function SendMotorData size 71 (70) */
2120 .global SetNeutral
2122 SetNeutral:
2123 /* prologue: frame size=0 */
2124 /* prologue end (size=0) */
2125 13c8 1092 0000 sts (acc_neutral)+1,__zero_reg__
2126 13cc 1092 0000 sts acc_neutral,__zero_reg__
2127 13d0 1092 0000 sts (acc_neutral+2)+1,__zero_reg__
2128 13d4 1092 0000 sts acc_neutral+2,__zero_reg__
2129 13d8 80E0 ldi r24,lo8(0x0)
2130 13da 90E0 ldi r25,hi8(0x0)
2131 13dc A0E0 ldi r26,hlo8(0x0)
2132 13de B0E0 ldi r27,hhi8(0x0)
2133 13e0 8093 0000 sts acc_neutral+4,r24
2134 13e4 9093 0000 sts (acc_neutral+4)+1,r25
2135 13e8 A093 0000 sts (acc_neutral+4)+2,r26
2136 13ec B093 0000 sts (acc_neutral+4)+3,r27
2137 13f0 1092 0000 sts (AdNeutralNick)+1,__zero_reg__
2138 13f4 1092 0000 sts AdNeutralNick,__zero_reg__
2139 13f8 1092 0000 sts (AdNeutralRoll)+1,__zero_reg__
2140 13fc 1092 0000 sts AdNeutralRoll,__zero_reg__
2141 1400 1092 0000 sts (AdNeutralGier)+1,__zero_reg__
2142 1404 1092 0000 sts AdNeutralGier,__zero_reg__
2143 1408 1092 0000 sts Parameter_AchsKopplung1,__zero_reg__
2144 140c 1092 0000 sts Parameter_AchsGegenKopplung1,__zero_reg__
2145 1410 0E94 0000 call CalibrierMittelwert
2146 1414 84E6 ldi r24,lo8(100)
2147 1416 90E0 ldi r25,hi8(100)
2148 1418 0E94 0000 call Delay_ms_Mess
2149 141c 0E94 0000 call CalibrierMittelwert
2150 1420 8091 0000 lds r24,EE_Parameter+8
2151 1424 80FF sbrs r24,0
2152 1426 00C0 rjmp .L449
2153 1428 8091 0000 lds r24,MessLuftdruck
2154 142c 9091 0000 lds r25,(MessLuftdruck)+1
2155 1430 875B subi r24,lo8(951)
2156 1432 9340 sbci r25,hi8(951)
2157 1434 00F4 brsh .L451
2158 1436 8091 0000 lds r24,MessLuftdruck
2159 143a 9091 0000 lds r25,(MessLuftdruck)+1
2160 143e 8E5E subi r24,lo8(750)
2161 1440 9240 sbci r25,hi8(750)
2162 1442 00F4 brsh .L449
2163 .L451:
2164 1444 0E94 0000 call SucheLuftruckOffset
2165 .L449:
2166 1448 4091 0000 lds r20,AdWertNick
2167 144c 5091 0000 lds r21,(AdWertNick)+1
2168 1450 5093 0000 sts (AdNeutralNick)+1,r21
2169 1454 4093 0000 sts AdNeutralNick,r20
2170 1458 2091 0000 lds r18,AdWertRoll
2171 145c 3091 0000 lds r19,(AdWertRoll)+1
2172 1460 3093 0000 sts (AdNeutralRoll)+1,r19
2173 1464 2093 0000 sts AdNeutralRoll,r18
2174 1468 8091 0000 lds r24,AdWertGier
2175 146c 9091 0000 lds r25,(AdWertGier)+1
2176 1470 9093 0000 sts (AdNeutralGier)+1,r25
2177 1474 8093 0000 sts AdNeutralGier,r24
2178 1478 3093 0000 sts (StartNeutralRoll)+1,r19
2179 147c 2093 0000 sts StartNeutralRoll,r18
2180 1480 5093 0000 sts (StartNeutralNick)+1,r21
2181 1484 4093 0000 sts StartNeutralNick,r20
2182 1488 88E0 ldi r24,lo8(8)
2183 148a E0E0 ldi r30,lo8(acc_neutral)
2184 148c F0E0 ldi r31,hi8(acc_neutral)
2185 148e A0E0 ldi r26,lo8(ee_acc_neutral)
2186 1490 B0E0 ldi r27,hi8(ee_acc_neutral)
2187 /* #APP */
2188 1492 182E mov __zero_reg__,r24
2189 1494 0E94 0000 call __eeprom_read_block_1F2021
2190 /* #NOAPP */
2191 1498 1092 0000 sts Mess_IntegralNick,__zero_reg__
2192 149c 1092 0000 sts (Mess_IntegralNick)+1,__zero_reg__
2193 14a0 1092 0000 sts (Mess_IntegralNick)+2,__zero_reg__
2194 14a4 1092 0000 sts (Mess_IntegralNick)+3,__zero_reg__
2195 14a8 1092 0000 sts Mess_IntegralNick2,__zero_reg__
2196 14ac 1092 0000 sts (Mess_IntegralNick2)+1,__zero_reg__
2197 14b0 1092 0000 sts (Mess_IntegralNick2)+2,__zero_reg__
2198 14b4 1092 0000 sts (Mess_IntegralNick2)+3,__zero_reg__
2199 14b8 1092 0000 sts Mess_IntegralRoll,__zero_reg__
2200 14bc 1092 0000 sts (Mess_IntegralRoll)+1,__zero_reg__
2201 14c0 1092 0000 sts (Mess_IntegralRoll)+2,__zero_reg__
2202 14c4 1092 0000 sts (Mess_IntegralRoll)+3,__zero_reg__
2203 14c8 1092 0000 sts Mess_IntegralRoll2,__zero_reg__
2204 14cc 1092 0000 sts (Mess_IntegralRoll2)+1,__zero_reg__
2205 14d0 1092 0000 sts (Mess_IntegralRoll2)+2,__zero_reg__
2206 14d4 1092 0000 sts (Mess_IntegralRoll2)+3,__zero_reg__
2207 14d8 1092 0000 sts Mess_Integral_Gier,__zero_reg__
2208 14dc 1092 0000 sts (Mess_Integral_Gier)+1,__zero_reg__
2209 14e0 1092 0000 sts (Mess_Integral_Gier)+2,__zero_reg__
2210 14e4 1092 0000 sts (Mess_Integral_Gier)+3,__zero_reg__
2211 14e8 1092 0000 sts (MesswertNick)+1,__zero_reg__
2212 14ec 1092 0000 sts MesswertNick,__zero_reg__
2213 14f0 1092 0000 sts (MesswertRoll)+1,__zero_reg__
2214 14f4 1092 0000 sts MesswertRoll,__zero_reg__
2215 14f8 1092 0000 sts (MesswertGier)+1,__zero_reg__
2216 14fc 1092 0000 sts MesswertGier,__zero_reg__
2217 1500 8091 0000 lds r24,Luftdruck
2218 1504 9091 0000 lds r25,(Luftdruck)+1
2219 1508 A091 0000 lds r26,(Luftdruck)+2
2220 150c B091 0000 lds r27,(Luftdruck)+3
2221 1510 9093 0000 sts (StartLuftdruck)+1,r25
2222 1514 8093 0000 sts StartLuftdruck,r24
2223 1518 1092 0000 sts (HoeheD)+1,__zero_reg__
2224 151c 1092 0000 sts HoeheD,__zero_reg__
2225 1520 1092 0000 sts Mess_Integral_Hoch,__zero_reg__
2226 1524 1092 0000 sts (Mess_Integral_Hoch)+1,__zero_reg__
2227 1528 1092 0000 sts (Mess_Integral_Hoch)+2,__zero_reg__
2228 152c 1092 0000 sts (Mess_Integral_Hoch)+3,__zero_reg__
2229 1530 8091 0000 lds r24,KompassValue
2230 1534 9091 0000 lds r25,(KompassValue)+1
2231 1538 9093 0000 sts (KompassStartwert)+1,r25
2232 153c 8093 0000 sts KompassStartwert,r24
2233 1540 0E94 0000 call GPS_Neutral
2234 1544 82E3 ldi r24,lo8(50)
2235 1546 90E0 ldi r25,hi8(50)
2236 1548 9093 0000 sts (beeptime)+1,r25
2237 154c 8093 0000 sts beeptime,r24
2238 1550 6091 0000 lds r22,EE_Parameter+43
2239 1554 7727 clr r23
2240 1556 8827 clr r24
2241 1558 9927 clr r25
2242 155a 24EC ldi r18,lo8(2500)
2243 155c 39E0 ldi r19,hi8(2500)
2244 155e 40E0 ldi r20,hlo8(2500)
2245 1560 50E0 ldi r21,hhi8(2500)
2246 1562 0E94 0000 call __mulsi3
2247 1566 6093 0000 sts Umschlag180Nick,r22
2248 156a 7093 0000 sts (Umschlag180Nick)+1,r23
2249 156e 8093 0000 sts (Umschlag180Nick)+2,r24
2250 1572 9093 0000 sts (Umschlag180Nick)+3,r25
2251 1576 6091 0000 lds r22,EE_Parameter+44
2252 157a 7727 clr r23
2253 157c 8827 clr r24
2254 157e 9927 clr r25
2255 1580 0E94 0000 call __mulsi3
2256 1584 6093 0000 sts Umschlag180Roll,r22
2257 1588 7093 0000 sts (Umschlag180Roll)+1,r23
2258 158c 8093 0000 sts (Umschlag180Roll)+2,r24
2259 1590 9093 0000 sts (Umschlag180Roll)+3,r25
2260 1594 1092 0000 sts (ExternHoehenValue)+1,__zero_reg__
2261 1598 1092 0000 sts ExternHoehenValue,__zero_reg__
2262 /* epilogue: frame size=0 */
2263 159c 0895 ret
2264 /* epilogue end (size=1) */
2265 /* function SetNeutral size 238 (237) */
2267 .global calib_acc
2269 calib_acc:
2270 /* prologue: frame size=0 */
2271 159e CF93 push r28
2272 15a0 DF93 push r29
2273 /* prologue end (size=2) */
2274 15a2 C0E0 ldi r28,lo8(acc_neutral)
2275 15a4 D0E0 ldi r29,hi8(acc_neutral)
2276 15a6 1092 0000 sts (acc_neutral)+1,__zero_reg__
2277 15aa 1092 0000 sts acc_neutral,__zero_reg__
2278 15ae 1092 0000 sts (acc_neutral+2)+1,__zero_reg__
2279 15b2 1092 0000 sts acc_neutral+2,__zero_reg__
2280 15b6 80E0 ldi r24,lo8(0x0)
2281 15b8 90E0 ldi r25,hi8(0x0)
2282 15ba A0E0 ldi r26,hlo8(0x0)
2283 15bc B0E0 ldi r27,hhi8(0x0)
2284 15be 8093 0000 sts acc_neutral+4,r24
2285 15c2 9093 0000 sts (acc_neutral+4)+1,r25
2286 15c6 A093 0000 sts (acc_neutral+4)+2,r26
2287 15ca B093 0000 sts (acc_neutral+4)+3,r27
2288 15ce 0E94 0000 call CalibrierMittelwert
2289 15d2 84E6 ldi r24,lo8(100)
2290 15d4 90E0 ldi r25,hi8(100)
2291 15d6 0E94 0000 call Delay_ms_Mess
2292 15da 0E94 0000 call CalibrierMittelwert
2293 15de 8091 0000 lds r24,Mittelwert_AccNick
2294 15e2 9091 0000 lds r25,(Mittelwert_AccNick)+1
2295 15e6 97FF sbrs r25,7
2296 15e8 00C0 rjmp .L455
2297 15ea 9095 com r25
2298 15ec 8195 neg r24
2299 15ee 9F4F sbci r25,lo8(-1)
2300 .L455:
2301 15f0 6CE0 ldi r22,lo8(12)
2302 15f2 70E0 ldi r23,hi8(12)
2303 15f4 0E94 0000 call __divmodhi4
2304 15f8 7093 0000 sts (acc_neutral)+1,r23
2305 15fc 6093 0000 sts acc_neutral,r22
2306 1600 8091 0000 lds r24,Mittelwert_AccRoll
2307 1604 9091 0000 lds r25,(Mittelwert_AccRoll)+1
2308 1608 97FF sbrs r25,7
2309 160a 00C0 rjmp .L456
2310 160c 9095 com r25
2311 160e 8195 neg r24
2312 1610 9F4F sbci r25,lo8(-1)
2313 .L456:
2314 1612 6CE0 ldi r22,lo8(12)
2315 1614 70E0 ldi r23,hi8(12)
2316 1616 0E94 0000 call __divmodhi4
2317 161a 7093 0000 sts (acc_neutral+2)+1,r23
2318 161e 6093 0000 sts acc_neutral+2,r22
2319 1622 6091 0000 lds r22,Aktuell_az
2320 1626 7091 0000 lds r23,(Aktuell_az)+1
2321 162a 8827 clr r24
2322 162c 77FD sbrc r23,7
2323 162e 8095 com r24
2324 1630 982F mov r25,r24
2325 1632 0E94 0000 call __floatsisf
2326 1636 6093 0000 sts acc_neutral+4,r22
2327 163a 7093 0000 sts (acc_neutral+4)+1,r23
2328 163e 8093 0000 sts (acc_neutral+4)+2,r24
2329 1642 9093 0000 sts (acc_neutral+4)+3,r25
2330 1646 88E0 ldi r24,lo8(8)
2331 1648 A0E0 ldi r26,lo8(ee_acc_neutral)
2332 164a B0E0 ldi r27,hi8(ee_acc_neutral)
2333 164c FE01 movw r30,r28
2334 /* #APP */
2335 164e 182E mov __zero_reg__,r24
2336 1650 0E94 0000 call __eeprom_write_block_1F2021
2337 /* #NOAPP */
2338 /* epilogue: frame size=0 */
2339 1654 DF91 pop r29
2340 1656 CF91 pop r28
2341 1658 0895 ret
2342 /* epilogue end (size=3) */
2343 /* function calib_acc size 95 (90) */
2345 .global Piep
2347 Piep:
2348 /* prologue: frame size=0 */
2349 165a 1F93 push r17
2350 /* prologue end (size=1) */
2351 165c 182F mov r17,r24
2352 165e 00C0 rjmp .L459
2353 .L460:
2354 1660 8091 0000 lds r24,MotorenEin
2355 1664 8823 tst r24
2356 1666 01F4 brne .L463
2357 1668 84E6 ldi r24,lo8(100)
2358 166a 90E0 ldi r25,hi8(100)
2359 166c 9093 0000 sts (beeptime)+1,r25
2360 1670 8093 0000 sts beeptime,r24
2361 1674 8AEF ldi r24,lo8(250)
2362 1676 90E0 ldi r25,hi8(250)
2363 1678 0E94 0000 call Delay_ms
2364 .L459:
2365 167c 1150 subi r17,1
2366 167e 00F4 brcc .L460
2367 .L463:
2368 /* epilogue: frame size=0 */
2369 1680 1F91 pop r17
2370 1682 0895 ret
2371 /* epilogue end (size=2) */
2372 /* function Piep size 22 (19) */
2374 .global MotorRegler
2376 MotorRegler:
2377 /* prologue: frame size=61 */
2378 1684 ADE3 ldi r26,lo8(61)
2379 1686 B0E0 ldi r27,hi8(61)
2380 1688 E0E0 ldi r30,lo8(gs(1f))
2381 168a F0E0 ldi r31,hi8(gs(1f))
2382 168c 0C94 0000 jmp __prologue_saves__+0
2383 1:
2384 /* prologue end (size=6) */
2385 1690 0E94 0000 call Mittelwert
2386 1694 299A sbi 37-0x20,1
2387 1696 2091 0000 lds r18,StickGas
2388 169a 3091 0000 lds r19,(StickGas)+1
2389 169e 3C83 std Y+4,r19
2390 16a0 2B83 std Y+3,r18
2391 16a2 37FF sbrs r19,7
2392 16a4 00C0 rjmp .L465
2393 16a6 1C82 std Y+4,__zero_reg__
2394 16a8 1B82 std Y+3,__zero_reg__
2395 .L465:
2396 16aa 8091 0000 lds r24,SenderOkay
2397 16ae 8436 cpi r24,lo8(100)
2398 16b0 00F0 brlo .+2
2399 16b2 00C0 rjmp .L466
2400 16b4 8091 0000 lds r24,PcZugriff
2401 16b8 8823 tst r24
2402 16ba 01F4 brne .L468
2403 16bc 8091 0000 lds r24,BeepMuster
2404 16c0 9091 0000 lds r25,(BeepMuster)+1
2405 16c4 8F5F subi r24,lo8(-1)
2406 16c6 9F4F sbci r25,hi8(-1)
2407 16c8 01F4 brne .L468
2408 16ca 88E9 ldi r24,lo8(15000)
2409 16cc 9AE3 ldi r25,hi8(15000)
2410 16ce 9093 0000 sts (beeptime)+1,r25
2411 16d2 8093 0000 sts beeptime,r24
2412 16d6 80E0 ldi r24,lo8(3072)
2413 16d8 9CE0 ldi r25,hi8(3072)
2414 16da 9093 0000 sts (BeepMuster)+1,r25
2415 16de 8093 0000 sts BeepMuster,r24
2416 .L468:
2417 16e2 8091 0000 lds r24,RcLostTimer.2498
2418 16e6 9091 0000 lds r25,(RcLostTimer.2498)+1
2419 16ea 0097 sbiw r24,0
2420 16ec 01F0 breq .L471
2421 16ee 0197 sbiw r24,1
2422 16f0 9093 0000 sts (RcLostTimer.2498)+1,r25
2423 16f4 8093 0000 sts RcLostTimer.2498,r24
2424 16f8 00C0 rjmp .L473
2425 .L471:
2426 16fa 1092 0000 sts MotorenEin,__zero_reg__
2427 16fe 1092 0000 sts Notlandung,__zero_reg__
2428 .L473:
2429 1702 8091 0000 lds r24,PlatinenVersion
2430 1706 8A30 cpi r24,lo8(10)
2431 1708 01F4 brne .L474
2432 170a 289A sbi 37-0x20,0
2433 170c 00C0 rjmp .L476
2434 .L474:
2435 170e 2898 cbi 37-0x20,0
2436 .L476:
2437 1710 8091 0000 lds r24,modell_fliegt.2502
2438 1714 9091 0000 lds r25,(modell_fliegt.2502)+1
2439 1718 815D subi r24,lo8(2001)
2440 171a 9740 sbci r25,hi8(2001)
2441 171c 00F0 brlo .L477
2442 171e 8091 0000 lds r24,EE_Parameter+25
2443 1722 682F mov r22,r24
2444 1724 7727 clr r23
2445 1726 7C83 std Y+4,r23
2446 1728 6B83 std Y+3,r22
2447 172a 81E0 ldi r24,lo8(1)
2448 172c 8093 0000 sts Notlandung,r24
2449 1730 E091 0000 lds r30,EE_Parameter
2450 1734 FF27 clr r31
2451 1736 EE0F lsl r30
2452 1738 FF1F rol r31
2453 173a E050 subi r30,lo8(-(PPM_in))
2454 173c F040 sbci r31,hi8(-(PPM_in))
2455 173e 1182 std Z+1,__zero_reg__
2456 1740 1082 st Z,__zero_reg__
2457 1742 E091 0000 lds r30,EE_Parameter+1
2458 1746 FF27 clr r31
2459 1748 EE0F lsl r30
2460 174a FF1F rol r31
2461 174c E050 subi r30,lo8(-(PPM_in))
2462 174e F040 sbci r31,hi8(-(PPM_in))
2463 1750 1182 std Z+1,__zero_reg__
2464 1752 1082 st Z,__zero_reg__
2465 1754 E091 0000 lds r30,EE_Parameter+3
2466 1758 FF27 clr r31
2467 175a EE0F lsl r30
2468 175c FF1F rol r31
2469 175e E050 subi r30,lo8(-(PPM_in))
2470 1760 F040 sbci r31,hi8(-(PPM_in))
2471 1762 1182 std Z+1,__zero_reg__
2472 1764 1082 st Z,__zero_reg__
2473 1766 00C0 rjmp .L479
2474 .L477:
2475 1768 1092 0000 sts MotorenEin,__zero_reg__
2476 176c 00C0 rjmp .L479
2477 .L466:
2478 176e 8091 0000 lds r24,SenderOkay
2479 1772 8D38 cpi r24,lo8(-115)
2480 1774 00F4 brsh .+2
2481 1776 00C0 rjmp .L479
2482 1778 1092 0000 sts Notlandung,__zero_reg__
2483 177c 8091 0000 lds r24,EE_Parameter+26
2484 1780 22E3 ldi r18,lo8(50)
2485 1782 829F mul r24,r18
2486 1784 C001 movw r24,r0
2487 1786 1124 clr r1
2488 1788 9093 0000 sts (RcLostTimer.2498)+1,r25
2489 178c 8093 0000 sts RcLostTimer.2498,r24
2490 1790 8B81 ldd r24,Y+3
2491 1792 9C81 ldd r25,Y+4
2492 1794 8997 sbiw r24,41
2493 1796 04F0 brlt .L481
2494 1798 8091 0000 lds r24,modell_fliegt.2502
2495 179c 9091 0000 lds r25,(modell_fliegt.2502)+1
2496 17a0 AFEF ldi r26,hi8(-1)
2497 17a2 8F3F cpi r24,lo8(-1)
2498 17a4 9A07 cpc r25,r26
2499 17a6 01F0 breq .L483
2500 17a8 0196 adiw r24,1
2501 17aa 9093 0000 sts (modell_fliegt.2502)+1,r25
2502 17ae 8093 0000 sts modell_fliegt.2502,r24
2503 .L481:
2504 17b2 8091 0000 lds r24,modell_fliegt.2502
2505 17b6 9091 0000 lds r25,(modell_fliegt.2502)+1
2506 17ba 883C cpi r24,200
2507 17bc 9105 cpc r25,__zero_reg__
2508 17be 00F0 brlo .L485
2509 17c0 EB81 ldd r30,Y+3
2510 17c2 FC81 ldd r31,Y+4
2511 17c4 B897 sbiw r30,40
2512 17c6 04F4 brge .L483
2513 .L485:
2514 17c8 1092 0000 sts SummeNick.2491,__zero_reg__
2515 17cc 1092 0000 sts (SummeNick.2491)+1,__zero_reg__
2516 17d0 1092 0000 sts (SummeNick.2491)+2,__zero_reg__
2517 17d4 1092 0000 sts (SummeNick.2491)+3,__zero_reg__
2518 17d8 1092 0000 sts SummeRoll.2492,__zero_reg__
2519 17dc 1092 0000 sts (SummeRoll.2492)+1,__zero_reg__
2520 17e0 1092 0000 sts (SummeRoll.2492)+2,__zero_reg__
2521 17e4 1092 0000 sts (SummeRoll.2492)+3,__zero_reg__
2522 17e8 1092 0000 sts Mess_Integral_Gier,__zero_reg__
2523 17ec 1092 0000 sts (Mess_Integral_Gier)+1,__zero_reg__
2524 17f0 1092 0000 sts (Mess_Integral_Gier)+2,__zero_reg__
2525 17f4 1092 0000 sts (Mess_Integral_Gier)+3,__zero_reg__
2526 17f8 1092 0000 sts Mess_Integral_Gier2,__zero_reg__
2527 17fc 1092 0000 sts (Mess_Integral_Gier2)+1,__zero_reg__
2528 1800 1092 0000 sts (Mess_Integral_Gier2)+2,__zero_reg__
2529 1804 1092 0000 sts (Mess_Integral_Gier2)+3,__zero_reg__
2530 .L483:
2531 1808 E091 0000 lds r30,EE_Parameter+2
2532 180c FF27 clr r31
2533 180e EE0F lsl r30
2534 1810 FF1F rol r31
2535 1812 E050 subi r30,lo8(-(PPM_in))
2536 1814 F040 sbci r31,hi8(-(PPM_in))
2537 1816 8081 ld r24,Z
2538 1818 9181 ldd r25,Z+1
2539 181a 8135 cpi r24,81
2540 181c 9105 cpc r25,__zero_reg__
2541 181e 04F4 brge .+2
2542 1820 00C0 rjmp .L487
2543 1822 8091 0000 lds r24,MotorenEin
2544 1826 8823 tst r24
2545 1828 01F0 breq .+2
2546 182a 00C0 rjmp .L487
2547 182c E091 0000 lds r30,EE_Parameter+3
2548 1830 FF27 clr r31
2549 1832 EE0F lsl r30
2550 1834 FF1F rol r31
2551 1836 E050 subi r30,lo8(-(PPM_in))
2552 1838 F040 sbci r31,hi8(-(PPM_in))
2553 183a 8081 ld r24,Z
2554 183c 9181 ldd r25,Z+1
2555 183e 8C34 cpi r24,76
2556 1840 9105 cpc r25,__zero_reg__
2557 1842 04F4 brge .+2
2558 1844 00C0 rjmp .L490
2559 1846 8091 0000 lds r24,delay_neutral.2499
2560 184a 8F5F subi r24,lo8(-(1))
2561 184c 8093 0000 sts delay_neutral.2499,r24
2562 1850 893C cpi r24,lo8(-55)
2563 1852 00F4 brsh .+2
2564 1854 00C0 rjmp .L487
2565 1856 2998 cbi 37-0x20,1
2566 1858 1092 0000 sts MotorenEin,__zero_reg__
2567 185c 1092 0000 sts delay_neutral.2499,__zero_reg__
2568 1860 1092 0000 sts (modell_fliegt.2502)+1,__zero_reg__
2569 1864 1092 0000 sts modell_fliegt.2502,__zero_reg__
2570 1868 8091 0000 lds r24,EE_Parameter
2571 186c 282F mov r18,r24
2572 186e 3327 clr r19
2573 1870 F901 movw r30,r18
2574 1872 EE0F lsl r30
2575 1874 FF1F rol r31
2576 1876 E050 subi r30,lo8(-(PPM_in))
2577 1878 F040 sbci r31,hi8(-(PPM_in))
2578 187a 8081 ld r24,Z
2579 187c 9181 ldd r25,Z+1
2580 187e 8734 cpi r24,71
2581 1880 9105 cpc r25,__zero_reg__
2582 1882 04F4 brge .L493
2583 1884 E091 0000 lds r30,EE_Parameter+1
2584 1888 FF27 clr r31
2585 188a EE0F lsl r30
2586 188c FF1F rol r31
2587 188e E050 subi r30,lo8(-(PPM_in))
2588 1890 F040 sbci r31,hi8(-(PPM_in))
2589 1892 0190 ld __tmp_reg__,Z+
2590 1894 F081 ld r31,Z
2591 1896 E02D mov r30,__tmp_reg__
2592 1898 F7FF sbrs r31,7
2593 189a 00C0 rjmp .L496
2594 189c F095 com r31
2595 189e E195 neg r30
2596 18a0 FF4F sbci r31,lo8(-1)
2597 .L496:
2598 18a2 E734 cpi r30,71
2599 18a4 F105 cpc r31,__zero_reg__
2600 18a6 04F4 brge .+2
2601 18a8 00C0 rjmp .L495
2602 .L493:
2603 18aa 8091 0000 lds r24,EE_Parameter+1
2604 18ae 682F mov r22,r24
2605 18b0 7727 clr r23
2606 18b2 DB01 movw r26,r22
2607 18b4 AA0F lsl r26
2608 18b6 BB1F rol r27
2609 18b8 A050 subi r26,lo8(-(PPM_in))
2610 18ba B040 sbci r27,hi8(-(PPM_in))
2611 18bc 8D91 ld r24,X+
2612 18be 9C91 ld r25,X
2613 18c0 1197 sbiw r26,1
2614 18c2 8734 cpi r24,71
2615 18c4 9105 cpc r25,__zero_reg__
2616 18c6 04F0 brlt .L497
2617 18c8 F901 movw r30,r18
2618 18ca EE0F lsl r30
2619 18cc FF1F rol r31
2620 18ce E050 subi r30,lo8(-(PPM_in))
2621 18d0 F040 sbci r31,hi8(-(PPM_in))
2622 18d2 8081 ld r24,Z
2623 18d4 9181 ldd r25,Z+1
2624 .L497:
2625 18d6 8D91 ld r24,X+
2626 18d8 9C91 ld r25,X
2627 18da 8734 cpi r24,71
2628 18dc 9105 cpc r25,__zero_reg__
2629 18de 04F0 brlt .L499
2630 18e0 F901 movw r30,r18
2631 18e2 EE0F lsl r30
2632 18e4 FF1F rol r31
2633 18e6 E050 subi r30,lo8(-(PPM_in))
2634 18e8 F040 sbci r31,hi8(-(PPM_in))
2635 18ea 8081 ld r24,Z
2636 18ec 9181 ldd r25,Z+1
2637 18ee 8734 cpi r24,71
2638 18f0 9105 cpc r25,__zero_reg__
2639 18f2 04F0 brlt .L499
2640 18f4 42E0 ldi r20,lo8(2)
2641 18f6 00C0 rjmp .L502
2642 .L499:
2643 18f8 41E0 ldi r20,lo8(1)
2644 .L502:
2645 18fa FB01 movw r30,r22
2646 18fc EE0F lsl r30
2647 18fe FF1F rol r31
2648 1900 E050 subi r30,lo8(-(PPM_in))
2649 1902 F040 sbci r31,hi8(-(PPM_in))
2650 1904 8081 ld r24,Z
2651 1906 9181 ldd r25,Z+1
2652 1908 8634 cpi r24,70
2653 190a 9105 cpc r25,__zero_reg__
2654 190c 04F4 brge .L503
2655 190e F901 movw r30,r18
2656 1910 EE0F lsl r30
2657 1912 FF1F rol r31
2658 1914 E050 subi r30,lo8(-(PPM_in))
2659 1916 F040 sbci r31,hi8(-(PPM_in))
2660 1918 8081 ld r24,Z
2661 191a 9181 ldd r25,Z+1
2662 191c 8734 cpi r24,71
2663 191e 9105 cpc r25,__zero_reg__
2664 1920 04F0 brlt .L503
2665 1922 43E0 ldi r20,lo8(3)
2666 .L503:
2667 1924 FB01 movw r30,r22
2668 1926 EE0F lsl r30
2669 1928 FF1F rol r31
2670 192a E050 subi r30,lo8(-(PPM_in))
2671 192c F040 sbci r31,hi8(-(PPM_in))
2672 192e 8081 ld r24,Z
2673 1930 9181 ldd r25,Z+1
2674 1932 8A5B subi r24,lo8(-70)
2675 1934 9F4F sbci r25,hi8(-70)
2676 1936 04F4 brge .L506
2677 1938 F901 movw r30,r18
2678 193a EE0F lsl r30
2679 193c FF1F rol r31
2680 193e E050 subi r30,lo8(-(PPM_in))
2681 1940 F040 sbci r31,hi8(-(PPM_in))
2682 1942 8081 ld r24,Z
2683 1944 9181 ldd r25,Z+1
2684 1946 8734 cpi r24,71
2685 1948 9105 cpc r25,__zero_reg__
2686 194a 04F0 brlt .L506
2687 194c 44E0 ldi r20,lo8(4)
2688 .L506:
2689 194e 660F lsl r22
2690 1950 771F rol r23
2691 1952 6050 subi r22,lo8(-(PPM_in))
2692 1954 7040 sbci r23,hi8(-(PPM_in))
2693 1956 DB01 movw r26,r22
2694 1958 8D91 ld r24,X+
2695 195a 9C91 ld r25,X
2696 195c 8A5B subi r24,lo8(-70)
2697 195e 9F4F sbci r25,hi8(-70)
2698 1960 04F4 brge .L509
2699 1962 220F lsl r18
2700 1964 331F rol r19
2701 1966 2050 subi r18,lo8(-(PPM_in))
2702 1968 3040 sbci r19,hi8(-(PPM_in))
2703 196a F901 movw r30,r18
2704 196c 8081 ld r24,Z
2705 196e 9181 ldd r25,Z+1
2706 1970 8634 cpi r24,70
2707 1972 9105 cpc r25,__zero_reg__
2708 1974 04F4 brge .L509
2709 1976 45E0 ldi r20,lo8(5)
2710 .L509:
2711 1978 A0E0 ldi r26,lo8(EEPromArray+2)
2712 197a B0E0 ldi r27,hi8(EEPromArray+2)
2713 /* #APP */
2714 197c 042E mov __tmp_reg__,r20
2715 197e 0E94 0000 call __eeprom_write_byte_1F2021
2716 /* #NOAPP */
2717 .L495:
2718 1982 8091 0000 lds r24,EE_Parameter+8
2719 1986 80FF sbrs r24,0
2720 1988 00C0 rjmp .L512
2721 198a 8091 0000 lds r24,MessLuftdruck
2722 198e 9091 0000 lds r25,(MessLuftdruck)+1
2723 1992 875B subi r24,lo8(951)
2724 1994 9340 sbci r25,hi8(951)
2725 1996 00F4 brsh .L514
2726 1998 8091 0000 lds r24,MessLuftdruck
2727 199c 9091 0000 lds r25,(MessLuftdruck)+1
2728 19a0 8E5E subi r24,lo8(750)
2729 19a2 9240 sbci r25,hi8(750)
2730 19a4 00F4 brsh .L512
2731 .L514:
2732 19a6 0E94 0000 call SucheLuftruckOffset
2733 .L512:
2734 19aa 0E94 0000 call GetActiveParamSetNumber
2735 19ae 46E4 ldi r20,lo8(70)
2736 19b0 60E0 ldi r22,lo8(EE_Parameter)
2737 19b2 70E0 ldi r23,hi8(EE_Parameter)
2738 19b4 0E94 0000 call ReadParameterSet
2739 19b8 0E94 0000 call SetNeutral
2740 19bc 0E94 0000 call GetActiveParamSetNumber
2741 19c0 0E94 0000 call Piep
2742 19c4 00C0 rjmp .L487
2743 .L490:
2744 19c6 1092 0000 sts delay_neutral.2499,__zero_reg__
2745 .L487:
2746 19ca E091 0000 lds r30,EE_Parameter+2
2747 19ce FF27 clr r31
2748 19d0 EE0F lsl r30
2749 19d2 FF1F rol r31
2750 19d4 E050 subi r30,lo8(-(PPM_in))
2751 19d6 F040 sbci r31,hi8(-(PPM_in))
2752 19d8 8081 ld r24,Z
2753 19da 9181 ldd r25,Z+1
2754 19dc 8B5A subi r24,lo8(-85)
2755 19de 9F4F sbci r25,hi8(-85)
2756 19e0 04F0 brlt .+2
2757 19e2 00C0 rjmp .L479
2758 19e4 8091 0000 lds r24,EE_Parameter+3
2759 19e8 482F mov r20,r24
2760 19ea 5527 clr r21
2761 19ec FA01 movw r30,r20
2762 19ee EE0F lsl r30
2763 19f0 FF1F rol r31
2764 19f2 E050 subi r30,lo8(-(PPM_in))
2765 19f4 F040 sbci r31,hi8(-(PPM_in))
2766 19f6 8081 ld r24,Z
2767 19f8 9181 ldd r25,Z+1
2768 19fa 855B subi r24,lo8(-75)
2769 19fc 9F4F sbci r25,hi8(-75)
2770 19fe 04F0 brlt .+2
2771 1a00 00C0 rjmp .L517
2772 1a02 8091 0000 lds r24,delay_einschalten.2500
2773 1a06 8F5F subi r24,lo8(-(1))
2774 1a08 8093 0000 sts delay_einschalten.2500,r24
2775 1a0c 893C cpi r24,lo8(-55)
2776 1a0e 00F4 brsh .+2
2777 1a10 00C0 rjmp .L519
2778 1a12 88EC ldi r24,lo8(-56)
2779 1a14 8093 0000 sts delay_einschalten.2500,r24
2780 1a18 81E0 ldi r24,lo8(1)
2781 1a1a 90E0 ldi r25,hi8(1)
2782 1a1c 9093 0000 sts (modell_fliegt.2502)+1,r25
2783 1a20 8093 0000 sts modell_fliegt.2502,r24
2784 1a24 81E0 ldi r24,lo8(1)
2785 1a26 8093 0000 sts MotorenEin,r24
2786 1a2a 1092 0000 sts sollGier.2493,__zero_reg__
2787 1a2e 1092 0000 sts (sollGier.2493)+1,__zero_reg__
2788 1a32 1092 0000 sts (sollGier.2493)+2,__zero_reg__
2789 1a36 1092 0000 sts (sollGier.2493)+3,__zero_reg__
2790 1a3a 1092 0000 sts Mess_Integral_Gier,__zero_reg__
2791 1a3e 1092 0000 sts (Mess_Integral_Gier)+1,__zero_reg__
2792 1a42 1092 0000 sts (Mess_Integral_Gier)+2,__zero_reg__
2793 1a46 1092 0000 sts (Mess_Integral_Gier)+3,__zero_reg__
2794 1a4a 1092 0000 sts Mess_Integral_Gier2,__zero_reg__
2795 1a4e 1092 0000 sts (Mess_Integral_Gier2)+1,__zero_reg__
2796 1a52 1092 0000 sts (Mess_Integral_Gier2)+2,__zero_reg__
2797 1a56 1092 0000 sts (Mess_Integral_Gier2)+3,__zero_reg__
2798 1a5a 1092 0000 sts Mess_IntegralNick,__zero_reg__
2799 1a5e 1092 0000 sts (Mess_IntegralNick)+1,__zero_reg__
2800 1a62 1092 0000 sts (Mess_IntegralNick)+2,__zero_reg__
2801 1a66 1092 0000 sts (Mess_IntegralNick)+3,__zero_reg__
2802 1a6a 1092 0000 sts Mess_IntegralRoll,__zero_reg__
2803 1a6e 1092 0000 sts (Mess_IntegralRoll)+1,__zero_reg__
2804 1a72 1092 0000 sts (Mess_IntegralRoll)+2,__zero_reg__
2805 1a76 1092 0000 sts (Mess_IntegralRoll)+3,__zero_reg__
2806 1a7a 8091 0000 lds r24,IntegralNick
2807 1a7e 9091 0000 lds r25,(IntegralNick)+1
2808 1a82 A091 0000 lds r26,(IntegralNick)+2
2809 1a86 B091 0000 lds r27,(IntegralNick)+3
2810 1a8a 8093 0000 sts Mess_IntegralNick2,r24
2811 1a8e 9093 0000 sts (Mess_IntegralNick2)+1,r25
2812 1a92 A093 0000 sts (Mess_IntegralNick2)+2,r26
2813 1a96 B093 0000 sts (Mess_IntegralNick2)+3,r27
2814 1a9a 8091 0000 lds r24,IntegralRoll
2815 1a9e 9091 0000 lds r25,(IntegralRoll)+1
2816 1aa2 A091 0000 lds r26,(IntegralRoll)+2
2817 1aa6 B091 0000 lds r27,(IntegralRoll)+3
2818 1aaa 8093 0000 sts Mess_IntegralRoll2,r24
2819 1aae 9093 0000 sts (Mess_IntegralRoll2)+1,r25
2820 1ab2 A093 0000 sts (Mess_IntegralRoll2)+2,r26
2821 1ab6 B093 0000 sts (Mess_IntegralRoll2)+3,r27
2822 1aba 1092 0000 sts SummeNick.2491,__zero_reg__
2823 1abe 1092 0000 sts (SummeNick.2491)+1,__zero_reg__
2824 1ac2 1092 0000 sts (SummeNick.2491)+2,__zero_reg__
2825 1ac6 1092 0000 sts (SummeNick.2491)+3,__zero_reg__
2826 1aca 1092 0000 sts SummeRoll.2492,__zero_reg__
2827 1ace 1092 0000 sts (SummeRoll.2492)+1,__zero_reg__
2828 1ad2 1092 0000 sts (SummeRoll.2492)+2,__zero_reg__
2829 1ad6 1092 0000 sts (SummeRoll.2492)+3,__zero_reg__
2830 1ada 00C0 rjmp .L519
2831 .L517:
2832 1adc 1092 0000 sts delay_einschalten.2500,__zero_reg__
2833 .L519:
2834 1ae0 440F lsl r20
2835 1ae2 551F rol r21
2836 1ae4 4050 subi r20,lo8(-(PPM_in))
2837 1ae6 5040 sbci r21,hi8(-(PPM_in))
2838 1ae8 DA01 movw r26,r20
2839 1aea 8D91 ld r24,X+
2840 1aec 9C91 ld r25,X
2841 1aee 8C34 cpi r24,76
2842 1af0 9105 cpc r25,__zero_reg__
2843 1af2 04F0 brlt .L521
2844 1af4 8091 0000 lds r24,delay_ausschalten.2501
2845 1af8 8F5F subi r24,lo8(-(1))
2846 1afa 8093 0000 sts delay_ausschalten.2501,r24
2847 1afe 893C cpi r24,lo8(-55)
2848 1b00 00F0 brlo .L479
2849 1b02 1092 0000 sts MotorenEin,__zero_reg__
2850 1b06 88EC ldi r24,lo8(-56)
2851 1b08 8093 0000 sts delay_ausschalten.2501,r24
2852 1b0c 1092 0000 sts (modell_fliegt.2502)+1,__zero_reg__
2853 1b10 1092 0000 sts modell_fliegt.2502,__zero_reg__
2854 1b14 00C0 rjmp .L479
2855 .L521:
2856 1b16 1092 0000 sts delay_ausschalten.2501,__zero_reg__
2857 .L479:
2858 1b1a 8091 0000 lds r24,NewPpmData
2859 1b1e 8150 subi r24,lo8(-(-1))
2860 1b20 8093 0000 sts NewPpmData,r24
2861 1b24 8091 0000 lds r24,NewPpmData
2862 1b28 8F3F cpi r24,lo8(-1)
2863 1b2a 01F0 breq .L524
2864 1b2c 8091 0000 lds r24,Notlandung
2865 1b30 8823 tst r24
2866 1b32 01F4 brne .+2
2867 1b34 00C0 rjmp .L526
2868 .L524:
2869 1b36 0E94 0000 call ParameterZuordnung
2870 1b3a 2090 0000 lds r2,StickNick
2871 1b3e 3090 0000 lds r3,(StickNick)+1
2872 1b42 8091 0000 lds r24,EE_Parameter
2873 1b46 C82E mov r12,r24
2874 1b48 DD24 clr r13
2875 1b4a D601 movw r26,r12
2876 1b4c AA0F lsl r26
2877 1b4e BB1F rol r27
2878 1b50 AD01 movw r20,r26
2879 1b52 4050 subi r20,lo8(-(PPM_in))
2880 1b54 5040 sbci r21,hi8(-(PPM_in))
2881 1b56 FA01 movw r30,r20
2882 1b58 0190 ld __tmp_reg__,Z+
2883 1b5a F081 ld r31,Z
2884 1b5c E02D mov r30,__tmp_reg__
2885 1b5e FBAB std Y+51,r31
2886 1b60 EAAB std Y+50,r30
2887 1b62 8091 0000 lds r24,EE_Parameter+15
2888 1b66 882E mov r8,r24
2889 1b68 9924 clr r9
2890 1b6a A050 subi r26,lo8(-(PPM_diff))
2891 1b6c B040 sbci r27,hi8(-(PPM_diff))
2892 1b6e 0D90 ld __tmp_reg__,X+
2893 1b70 BC91 ld r27,X
2894 1b72 A02D mov r26,__tmp_reg__
2895 1b74 B9AB std Y+49,r27
2896 1b76 A8AB std Y+48,r26
2897 1b78 8091 0000 lds r24,EE_Parameter+16
2898 1b7c 282F mov r18,r24
2899 1b7e 3327 clr r19
2900 1b80 3FA7 std Y+47,r19
2901 1b82 2EA7 std Y+46,r18
2902 1b84 6091 0000 lds r22,StickRoll
2903 1b88 7091 0000 lds r23,(StickRoll)+1
2904 1b8c 7A83 std Y+2,r23
2905 1b8e 6983 std Y+1,r22
2906 1b90 8091 0000 lds r24,EE_Parameter+1
2907 1b94 E82E mov r14,r24
2908 1b96 FF24 clr r15
2909 1b98 C701 movw r24,r14
2910 1b9a 880F lsl r24
2911 1b9c 991F rol r25
2912 1b9e DC01 movw r26,r24
2913 1ba0 A050 subi r26,lo8(-(PPM_in))
2914 1ba2 B040 sbci r27,hi8(-(PPM_in))
2915 1ba4 0D90 ld __tmp_reg__,X+
2916 1ba6 BC91 ld r27,X
2917 1ba8 A02D mov r26,__tmp_reg__
2918 1baa BBA7 std Y+43,r27
2919 1bac AAA7 std Y+42,r26
2920 1bae 8050 subi r24,lo8(-(PPM_diff))
2921 1bb0 9040 sbci r25,hi8(-(PPM_diff))
2922 1bb2 DC01 movw r26,r24
2923 1bb4 8D91 ld r24,X+
2924 1bb6 9C91 ld r25,X
2925 1bb8 99A7 std Y+41,r25
2926 1bba 88A7 std Y+40,r24
2927 1bbc E091 0000 lds r30,EE_Parameter+3
2928 1bc0 AE2F mov r26,r30
2929 1bc2 BB27 clr r27
2930 1bc4 AA0F lsl r26
2931 1bc6 BB1F rol r27
2932 1bc8 A050 subi r26,lo8(-(PPM_in))
2933 1bca B040 sbci r27,hi8(-(PPM_in))
2934 1bcc 0D90 ld __tmp_reg__,X+
2935 1bce BC91 ld r27,X
2936 1bd0 A02D mov r26,__tmp_reg__
2937 1bd2 BFA3 std Y+39,r27
2938 1bd4 AEA3 std Y+38,r26
2939 1bd6 E091 0000 lds r30,EE_Parameter+2
2940 1bda FF27 clr r31
2941 1bdc EE0F lsl r30
2942 1bde FF1F rol r31
2943 1be0 E050 subi r30,lo8(-(PPM_in))
2944 1be2 F040 sbci r31,hi8(-(PPM_in))
2945 1be4 A080 ld r10,Z
2946 1be6 B180 ldd r11,Z+1
2947 1be8 E8E7 ldi r30,lo8(120)
2948 1bea F0E0 ldi r31,hi8(120)
2949 1bec AE0E add r10,r30
2950 1bee BF1E adc r11,r31
2951 1bf0 B092 0000 sts (StickGas)+1,r11
2952 1bf4 A092 0000 sts StickGas,r10
2953 1bf8 DA01 movw r26,r20
2954 1bfa 8D91 ld r24,X+
2955 1bfc 9C91 ld r25,X
2956 1bfe 2091 0000 lds r18,MaxStickNick
2957 1c02 3091 0000 lds r19,(MaxStickNick)+1
2958 1c06 97FF sbrs r25,7
2959 1c08 00C0 rjmp .L528
2960 1c0a 9095 com r25
2961 1c0c 8195 neg r24
2962 1c0e 9F4F sbci r25,lo8(-1)
2963 .L528:
2964 1c10 2817 cp r18,r24
2965 1c12 3907 cpc r19,r25
2966 1c14 04F4 brge .L527
2967 1c16 FA01 movw r30,r20
2968 1c18 8081 ld r24,Z
2969 1c1a 9181 ldd r25,Z+1
2970 1c1c 9093 0000 sts (MaxStickNick)+1,r25
2971 1c20 8093 0000 sts MaxStickNick,r24
2972 1c24 97FF sbrs r25,7
2973 1c26 00C0 rjmp .L531
2974 1c28 9095 com r25
2975 1c2a 8195 neg r24
2976 1c2c 9F4F sbci r25,lo8(-1)
2977 1c2e 9093 0000 sts (MaxStickNick)+1,r25
2978 1c32 8093 0000 sts MaxStickNick,r24
2979 1c36 00C0 rjmp .L531
2980 .L527:
2981 1c38 2150 subi r18,lo8(-(-1))
2982 1c3a 3040 sbci r19,hi8(-(-1))
2983 1c3c 3093 0000 sts (MaxStickNick)+1,r19
2984 1c40 2093 0000 sts MaxStickNick,r18
2985 .L531:
2986 1c44 F701 movw r30,r14
2987 1c46 EE0F lsl r30
2988 1c48 FF1F rol r31
2989 1c4a E050 subi r30,lo8(-(PPM_in))
2990 1c4c F040 sbci r31,hi8(-(PPM_in))
2991 1c4e 8081 ld r24,Z
2992 1c50 9181 ldd r25,Z+1
2993 1c52 2091 0000 lds r18,MaxStickRoll
2994 1c56 3091 0000 lds r19,(MaxStickRoll)+1
2995 1c5a 97FF sbrs r25,7
2996 1c5c 00C0 rjmp .L533
2997 1c5e 9095 com r25
2998 1c60 8195 neg r24
2999 1c62 9F4F sbci r25,lo8(-1)
3000 .L533:
3001 1c64 2817 cp r18,r24
3002 1c66 3907 cpc r19,r25
3003 1c68 04F4 brge .L532
3004 1c6a 8081 ld r24,Z
3005 1c6c 9181 ldd r25,Z+1
3006 1c6e 9093 0000 sts (MaxStickRoll)+1,r25
3007 1c72 8093 0000 sts MaxStickRoll,r24
3008 1c76 97FF sbrs r25,7
3009 1c78 00C0 rjmp .L536
3010 1c7a 9095 com r25
3011 1c7c 8195 neg r24
3012 1c7e 9F4F sbci r25,lo8(-1)
3013 1c80 9093 0000 sts (MaxStickRoll)+1,r25
3014 1c84 8093 0000 sts MaxStickRoll,r24
3015 1c88 00C0 rjmp .L536
3016 .L532:
3017 1c8a 2150 subi r18,lo8(-(-1))
3018 1c8c 3040 sbci r19,hi8(-(-1))
3019 1c8e 3093 0000 sts (MaxStickRoll)+1,r19
3020 1c92 2093 0000 sts MaxStickRoll,r18
3021 .L536:
3022 1c96 8091 0000 lds r24,Notlandung
3023 1c9a 8823 tst r24
3024 1c9c 01F0 breq .L537
3025 1c9e 1092 0000 sts (MaxStickNick)+1,__zero_reg__
3026 1ca2 1092 0000 sts MaxStickNick,__zero_reg__
3027 1ca6 1092 0000 sts (MaxStickRoll)+1,__zero_reg__
3028 1caa 1092 0000 sts MaxStickRoll,__zero_reg__
3029 .L537:
3030 1cae 1091 0000 lds r17,Parameter_Gyro_P
3031 1cb2 612F mov r22,r17
3032 1cb4 7727 clr r23
3033 1cb6 67FD sbrc r22,7
3034 1cb8 7095 com r23
3035 1cba 872F mov r24,r23
3036 1cbc 972F mov r25,r23
3037 1cbe 0E94 0000 call __floatsisf
3038 1cc2 17FF sbrs r17,7
3039 1cc4 00C0 rjmp .L539
3040 1cc6 20E0 ldi r18,lo8(0x43800000)
3041 1cc8 30E0 ldi r19,hi8(0x43800000)
3042 1cca 40E8 ldi r20,hlo8(0x43800000)
3043 1ccc 53E4 ldi r21,hhi8(0x43800000)
3044 1cce 0E94 0000 call __addsf3
3045 .L539:
3046 1cd2 20E0 ldi r18,lo8(0x41200000)
3047 1cd4 30E0 ldi r19,hi8(0x41200000)
3048 1cd6 40E2 ldi r20,hlo8(0x41200000)
3049 1cd8 51E4 ldi r21,hhi8(0x41200000)
3050 1cda 0E94 0000 call __addsf3
3051 1cde 20E0 ldi r18,lo8(0x3b800000)
3052 1ce0 30E0 ldi r19,hi8(0x3b800000)
3053 1ce2 40E8 ldi r20,hlo8(0x3b800000)
3054 1ce4 5BE3 ldi r21,hhi8(0x3b800000)
3055 1ce6 0E94 0000 call __mulsf3
3056 1cea 2B01 movw r4,r22
3057 1cec 3C01 movw r6,r24
3058 1cee 6093 0000 sts GyroFaktor,r22
3059 1cf2 7093 0000 sts (GyroFaktor)+1,r23
3060 1cf6 8093 0000 sts (GyroFaktor)+2,r24
3061 1cfa 9093 0000 sts (GyroFaktor)+3,r25
3062 1cfe 1091 0000 lds r17,Parameter_Gyro_I
3063 1d02 612F mov r22,r17
3064 1d04 7727 clr r23
3065 1d06 67FD sbrc r22,7
3066 1d08 7095 com r23
3067 1d0a 872F mov r24,r23
3068 1d0c 972F mov r25,r23
3069 1d0e 0E94 0000 call __floatsisf
3070 1d12 17FF sbrs r17,7
3071 1d14 00C0 rjmp .L540
3072 1d16 20E0 ldi r18,lo8(0x43800000)
3073 1d18 30E0 ldi r19,hi8(0x43800000)
3074 1d1a 40E8 ldi r20,hlo8(0x43800000)
3075 1d1c 53E4 ldi r21,hhi8(0x43800000)
3076 1d1e 0E94 0000 call __addsf3
3077 .L540:
3078 1d22 20E0 ldi r18,lo8(0x472be000)
3079 1d24 30EE ldi r19,hi8(0x472be000)
3080 1d26 4BE2 ldi r20,hlo8(0x472be000)
3081 1d28 57E4 ldi r21,hhi8(0x472be000)
3082 1d2a 0E94 0000 call __divsf3
3083 1d2e 6093 0000 sts IntegralFaktor,r22
3084 1d32 7093 0000 sts (IntegralFaktor)+1,r23
3085 1d36 8093 0000 sts (IntegralFaktor)+2,r24
3086 1d3a 9093 0000 sts (IntegralFaktor)+3,r25
3087 1d3e 2091 0000 lds r18,DubWiseKeys+1
3088 1d42 2223 tst r18
3089 1d44 01F4 brne .+4
3090 1d46 0C94 0000 jmp .L541
3091 1d4a 8AE0 ldi r24,lo8(10)
3092 1d4c 90E0 ldi r25,hi8(10)
3093 1d4e 9093 0000 sts (beeptime)+1,r25
3094 1d52 8093 0000 sts beeptime,r24
3095 1d56 E22F mov r30,r18
3096 1d58 FF27 clr r31
3097 1d5a E2FF sbrs r30,2
3098 1d5c 00C0 rjmp .L543
3099 1d5e 8091 0000 lds r24,Parameter_UserParam1
3100 1d62 482F mov r20,r24
3101 1d64 5527 clr r21
3102 1d66 440F lsl r20
3103 1d68 551F rol r21
3104 1d6a 440F lsl r20
3105 1d6c 551F rol r21
3106 1d6e 00C0 rjmp .L545
3107 .L543:
3108 1d70 E3FD sbrc r30,3
3109 1d72 00C0 rjmp .L546
3110 1d74 40E0 ldi r20,lo8(0)
3111 1d76 50E0 ldi r21,hi8(0)
3112 1d78 00C0 rjmp .L545
3113 .L546:
3114 1d7a 8091 0000 lds r24,Parameter_UserParam1
3115 1d7e 9927 clr r25
3116 1d80 880F lsl r24
3117 1d82 991F rol r25
3118 1d84 880F lsl r24
3119 1d86 991F rol r25
3120 1d88 4427 clr r20
3121 1d8a 5527 clr r21
3122 1d8c 481B sub r20,r24
3123 1d8e 590B sbc r21,r25
3124 .L545:
3125 1d90 2091 0000 lds r18,ExternStickNick
3126 1d94 3091 0000 lds r19,(ExternStickNick)+1
3127 1d98 C901 movw r24,r18
3128 1d9a F3E0 ldi r31,3
3129 1d9c 880F 1: lsl r24
3130 1d9e 991F rol r25
3131 1da0 FA95 dec r31
3132 1da2 01F4 brne 1b
3133 1da4 821B sub r24,r18
3134 1da6 930B sbc r25,r19
3135 1da8 840F add r24,r20
3136 1daa 951F adc r25,r21
3137 1dac 68E0 ldi r22,lo8(8)
3138 1dae 70E0 ldi r23,hi8(8)
3139 1db0 0E94 0000 call __divmodhi4
3140 1db4 7DAF std Y+61,r23
3141 1db6 6CAF std Y+60,r22
3142 1db8 7093 0000 sts (ExternStickNick)+1,r23
3143 1dbc 6093 0000 sts ExternStickNick,r22
3144 1dc0 E4FF sbrs r30,4
3145 1dc2 00C0 rjmp .L548
3146 1dc4 8091 0000 lds r24,Parameter_UserParam1
3147 1dc8 482F mov r20,r24
3148 1dca 5527 clr r21
3149 1dcc 440F lsl r20
3150 1dce 551F rol r21
3151 1dd0 440F lsl r20
3152 1dd2 551F rol r21
3153 1dd4 00C0 rjmp .L550
3154 .L548:
3155 1dd6 E5FD sbrc r30,5
3156 1dd8 00C0 rjmp .+4
3157 1dda 0C94 0000 jmp .L797
3158 1dde 8091 0000 lds r24,Parameter_UserParam1
3159 1de2 9927 clr r25
3160 1de4 880F lsl r24
3161 1de6 991F rol r25
3162 1de8 880F lsl r24
3163 1dea 991F rol r25
3164 1dec 4427 clr r20
3165 1dee 5527 clr r21
3166 1df0 481B sub r20,r24
3167 1df2 590B sbc r21,r25
3168 .L550:
3169 1df4 2091 0000 lds r18,ExternStickRoll
3170 1df8 3091 0000 lds r19,(ExternStickRoll)+1
3171 1dfc C901 movw r24,r18
3172 1dfe 63E0 ldi r22,3
3173 1e00 880F 1: lsl r24
3174 1e02 991F rol r25
3175 1e04 6A95 dec r22
3176 1e06 01F4 brne 1b
3177 1e08 821B sub r24,r18
3178 1e0a 930B sbc r25,r19
3179 1e0c 840F add r24,r20
3180 1e0e 951F adc r25,r21
3181 1e10 68E0 ldi r22,lo8(8)
3182 1e12 70E0 ldi r23,hi8(8)
3183 1e14 0E94 0000 call __divmodhi4
3184 1e18 8B01 movw r16,r22
3185 1e1a 7093 0000 sts (ExternStickRoll)+1,r23
3186 1e1e 6093 0000 sts ExternStickRoll,r22
3187 1e22 8091 0000 lds r24,DubWiseKeys
3188 1e26 282F mov r18,r24
3189 1e28 3327 clr r19
3190 1e2a 23FF sbrs r18,3
3191 1e2c 00C0 rjmp .L553
3192 1e2e 82E3 ldi r24,lo8(50)
3193 1e30 90E0 ldi r25,hi8(50)
3194 1e32 00C0 rjmp .L798
3195 .L553:
3196 1e34 22FF sbrs r18,2
3197 1e36 00C0 rjmp .L556
3198 1e38 8EEC ldi r24,lo8(-50)
3199 1e3a 9FEF ldi r25,hi8(-50)
3200 .L798:
3201 1e3c 9093 0000 sts (ExternStickGier)+1,r25
3202 1e40 8093 0000 sts ExternStickGier,r24
3203 1e44 00C0 rjmp .L555
3204 .L556:
3205 1e46 1092 0000 sts (ExternStickGier)+1,__zero_reg__
3206 1e4a 1092 0000 sts ExternStickGier,__zero_reg__
3207 .L555:
3208 1e4e 21FF sbrs r18,1
3209 1e50 00C0 rjmp .L558
3210 1e52 8091 0000 lds r24,ExternHoehenValue
3211 1e56 9091 0000 lds r25,(ExternHoehenValue)+1
3212 1e5a 0196 adiw r24,1
3213 1e5c 9093 0000 sts (ExternHoehenValue)+1,r25
3214 1e60 8093 0000 sts ExternHoehenValue,r24
3215 .L558:
3216 1e64 24FF sbrs r18,4
3217 1e66 00C0 rjmp .L560
3218 1e68 8091 0000 lds r24,ExternHoehenValue
3219 1e6c 9091 0000 lds r25,(ExternHoehenValue)+1
3220 1e70 0197 sbiw r24,1
3221 1e72 9093 0000 sts (ExternHoehenValue)+1,r25
3222 1e76 8093 0000 sts ExternHoehenValue,r24
3223 .L560:
3224 1e7a C101 movw r24,r2
3225 1e7c 880F lsl r24
3226 1e7e 991F rol r25
3227 1e80 820D add r24,r2
3228 1e82 931D adc r25,r3
3229 1e84 4AA9 ldd r20,Y+50
3230 1e86 5BA9 ldd r21,Y+51
3231 1e88 489D mul r20,r8
3232 1e8a 9001 movw r18,r0
3233 1e8c 499D mul r20,r9
3234 1e8e 300D add r19,r0
3235 1e90 589D mul r21,r8
3236 1e92 300D add r19,r0
3237 1e94 1124 clr r1
3238 1e96 820F add r24,r18
3239 1e98 931F adc r25,r19
3240 1e9a 64E0 ldi r22,lo8(4)
3241 1e9c 70E0 ldi r23,hi8(4)
3242 1e9e 0E94 0000 call __divmodhi4
3243 1ea2 1B01 movw r2,r22
3244 1ea4 68A9 ldd r22,Y+48
3245 1ea6 79A9 ldd r23,Y+49
3246 1ea8 AEA5 ldd r26,Y+46
3247 1eaa BFA5 ldd r27,Y+47
3248 1eac 6A9F mul r22,r26
3249 1eae C001 movw r24,r0
3250 1eb0 6B9F mul r22,r27
3251 1eb2 900D add r25,r0
3252 1eb4 7A9F mul r23,r26
3253 1eb6 900D add r25,r0
3254 1eb8 1124 clr r1
3255 1eba 280E add r2,r24
3256 1ebc 391E adc r3,r25
3257 1ebe 8CAD ldd r24,Y+60
3258 1ec0 9DAD ldd r25,Y+61
3259 1ec2 68E0 ldi r22,lo8(8)
3260 1ec4 70E0 ldi r23,hi8(8)
3261 1ec6 0E94 0000 call __divmodhi4
3262 1eca 260E add r2,r22
3263 1ecc 371E adc r3,r23
3264 1ece 3092 0000 sts (StickNick)+1,r3
3265 1ed2 2092 0000 sts StickNick,r2
3266 1ed6 8981 ldd r24,Y+1
3267 1ed8 9A81 ldd r25,Y+2
3268 1eda 880F lsl r24
3269 1edc 991F rol r25
3270 1ede E981 ldd r30,Y+1
3271 1ee0 FA81 ldd r31,Y+2
3272 1ee2 8E0F add r24,r30
3273 1ee4 9F1F adc r25,r31
3274 1ee6 4AA5 ldd r20,Y+42
3275 1ee8 5BA5 ldd r21,Y+43
3276 1eea 489D mul r20,r8
3277 1eec 9001 movw r18,r0
3278 1eee 499D mul r20,r9
3279 1ef0 300D add r19,r0
3280 1ef2 589D mul r21,r8
3281 1ef4 300D add r19,r0
3282 1ef6 1124 clr r1
3283 1ef8 820F add r24,r18
3284 1efa 931F adc r25,r19
3285 1efc 64E0 ldi r22,lo8(4)
3286 1efe 70E0 ldi r23,hi8(4)
3287 1f00 0E94 0000 call __divmodhi4
3288 1f04 9B01 movw r18,r22
3289 1f06 68A5 ldd r22,Y+40
3290 1f08 79A5 ldd r23,Y+41
3291 1f0a AEA5 ldd r26,Y+46
3292 1f0c BFA5 ldd r27,Y+47
3293 1f0e 6A9F mul r22,r26
3294 1f10 C001 movw r24,r0
3295 1f12 6B9F mul r22,r27
3296 1f14 900D add r25,r0
3297 1f16 7A9F mul r23,r26
3298 1f18 900D add r25,r0
3299 1f1a 1124 clr r1
3300 1f1c 280F add r18,r24
3301 1f1e 391F adc r19,r25
3302 1f20 C801 movw r24,r16
3303 1f22 68E0 ldi r22,lo8(8)
3304 1f24 70E0 ldi r23,hi8(8)
3305 1f26 0E94 0000 call __divmodhi4
3306 1f2a 260F add r18,r22
3307 1f2c 371F adc r19,r23
3308 1f2e 3093 0000 sts (StickRoll)+1,r19
3309 1f32 2093 0000 sts StickRoll,r18
3310 1f36 4091 0000 lds r20,ExternStickGier
3311 1f3a 5091 0000 lds r21,(ExternStickGier)+1
3312 1f3e EEA1 ldd r30,Y+38
3313 1f40 FFA1 ldd r31,Y+39
3314 1f42 4E1B sub r20,r30
3315 1f44 5F0B sbc r21,r31
3316 1f46 5093 0000 sts (StickGier)+1,r21
3317 1f4a 4093 0000 sts StickGier,r20
3318 1f4e 8091 0000 lds r24,ExternControl+10
3319 1f52 80FF sbrs r24,0
3320 1f54 00C0 rjmp .L562
3321 1f56 8091 0000 lds r24,Parameter_UserParam1
3322 1f5a 8138 cpi r24,lo8(-127)
3323 1f5c 00F4 brsh .+2
3324 1f5e 00C0 rjmp .L562
3325 1f60 8091 0000 lds r24,ExternControl+3
3326 1f64 9927 clr r25
3327 1f66 87FD sbrc r24,7
3328 1f68 9095 com r25
3329 1f6a BC01 movw r22,r24
3330 1f6c 689D mul r22,r8
3331 1f6e C001 movw r24,r0
3332 1f70 699D mul r22,r9
3333 1f72 900D add r25,r0
3334 1f74 789D mul r23,r8
3335 1f76 900D add r25,r0
3336 1f78 1124 clr r1
3337 1f7a 280E add r2,r24
3338 1f7c 391E adc r3,r25
3339 1f7e 3092 0000 sts (StickNick)+1,r3
3340 1f82 2092 0000 sts StickNick,r2
3341 1f86 8091 0000 lds r24,ExternControl+4
3342 1f8a 9927 clr r25
3343 1f8c 87FD sbrc r24,7
3344 1f8e 9095 com r25
3345 1f90 DC01 movw r26,r24
3346 1f92 A89D mul r26,r8
3347 1f94 C001 movw r24,r0
3348 1f96 A99D mul r26,r9
3349 1f98 900D add r25,r0
3350 1f9a B89D mul r27,r8
3351 1f9c 900D add r25,r0
3352 1f9e 1124 clr r1
3353 1fa0 280F add r18,r24
3354 1fa2 391F adc r19,r25
3355 1fa4 3093 0000 sts (StickRoll)+1,r19
3356 1fa8 2093 0000 sts StickRoll,r18
3357 1fac 8091 0000 lds r24,ExternControl+5
3358 1fb0 9927 clr r25
3359 1fb2 87FD sbrc r24,7
3360 1fb4 9095 com r25
3361 1fb6 480F add r20,r24
3362 1fb8 591F adc r21,r25
3363 1fba 5093 0000 sts (StickGier)+1,r21
3364 1fbe 4093 0000 sts StickGier,r20
3365 1fc2 2091 0000 lds r18,ExternControl+7
3366 1fc6 3327 clr r19
3367 1fc8 27FD sbrc r18,7
3368 1fca 3095 com r19
3369 1fcc 8091 0000 lds r24,EE_Parameter+13
3370 1fd0 9927 clr r25
3371 1fd2 FC01 movw r30,r24
3372 1fd4 2E9F mul r18,r30
3373 1fd6 C001 movw r24,r0
3374 1fd8 2F9F mul r18,r31
3375 1fda 900D add r25,r0
3376 1fdc 3E9F mul r19,r30
3377 1fde 900D add r25,r0
3378 1fe0 1124 clr r1
3379 1fe2 9093 0000 sts (ExternHoehenValue)+1,r25
3380 1fe6 8093 0000 sts ExternHoehenValue,r24
3381 1fea 8091 0000 lds r24,ExternControl+6
3382 1fee 9927 clr r25
3383 1ff0 8A15 cp r24,r10
3384 1ff2 9B05 cpc r25,r11
3385 1ff4 04F4 brge .L562
3386 1ff6 9093 0000 sts (StickGas)+1,r25
3387 1ffa 8093 0000 sts StickGas,r24
3388 .L562:
3389 1ffe 8091 0000 lds r24,EE_Parameter+8
3390 2002 82FF sbrs r24,2
3391 2004 00C0 rjmp .L566
3392 2006 80E0 ldi r24,lo8(0x0)
3393 2008 90E0 ldi r25,hi8(0x0)
3394 200a A0E0 ldi r26,hlo8(0x0)
3395 200c B0E0 ldi r27,hhi8(0x0)
3396 200e 8093 0000 sts IntegralFaktor,r24
3397 2012 9093 0000 sts (IntegralFaktor)+1,r25
3398 2016 A093 0000 sts (IntegralFaktor)+2,r26
3399 201a B093 0000 sts (IntegralFaktor)+3,r27
3400 .L566:
3401 201e 20E0 ldi r18,lo8(0x0)
3402 2020 30E0 ldi r19,hi8(0x0)
3403 2022 40E0 ldi r20,hlo8(0x0)
3404 2024 50E0 ldi r21,hhi8(0x0)
3405 2026 C301 movw r24,r6
3406 2028 B201 movw r22,r4
3407 202a 0E94 0000 call __ltsf2
3408 202e 8823 tst r24
3409 2030 04F4 brge .L568
3410 2032 80E0 ldi r24,lo8(0x0)
3411 2034 90E0 ldi r25,hi8(0x0)
3412 2036 A0E0 ldi r26,hlo8(0x0)
3413 2038 B0E0 ldi r27,hhi8(0x0)
3414 203a 8093 0000 sts GyroFaktor,r24
3415 203e 9093 0000 sts (GyroFaktor)+1,r25
3416 2042 A093 0000 sts (GyroFaktor)+2,r26
3417 2046 B093 0000 sts (GyroFaktor)+3,r27
3418 .L568:
3419 204a 20E0 ldi r18,lo8(0x0)
3420 204c 30E0 ldi r19,hi8(0x0)
3421 204e 40E0 ldi r20,hlo8(0x0)
3422 2050 50E0 ldi r21,hhi8(0x0)
3423 2052 6091 0000 lds r22,IntegralFaktor
3424 2056 7091 0000 lds r23,(IntegralFaktor)+1
3425 205a 8091 0000 lds r24,(IntegralFaktor)+2
3426 205e 9091 0000 lds r25,(IntegralFaktor)+3
3427 2062 0E94 0000 call __ltsf2
3428 2066 8823 tst r24
3429 2068 04F4 brge .L571
3430 206a 80E0 ldi r24,lo8(0x0)
3431 206c 90E0 ldi r25,hi8(0x0)
3432 206e A0E0 ldi r26,hlo8(0x0)
3433 2070 B0E0 ldi r27,hhi8(0x0)
3434 2072 8093 0000 sts IntegralFaktor,r24
3435 2076 9093 0000 sts (IntegralFaktor)+1,r25
3436 207a A093 0000 sts (IntegralFaktor)+2,r26
3437 207e B093 0000 sts (IntegralFaktor)+3,r27
3438 .L571:
3439 2082 F701 movw r30,r14
3440 2084 EE0F lsl r30
3441 2086 FF1F rol r31
3442 2088 E050 subi r30,lo8(-(PPM_in))
3443 208a F040 sbci r31,hi8(-(PPM_in))
3444 208c 2081 ld r18,Z
3445 208e 3181 ldd r19,Z+1
3446 2090 8091 0000 lds r24,EE_Parameter+39
3447 2094 482F mov r20,r24
3448 2096 5527 clr r21
3449 2098 4217 cp r20,r18
3450 209a 5307 cpc r21,r19
3451 209c 04F4 brge .L574
3452 209e 8091 0000 lds r24,EE_Parameter+52
3453 20a2 82FF sbrs r24,2
3454 20a4 00C0 rjmp .L574
3455 20a6 81E0 ldi r24,lo8(1)
3456 20a8 8093 0000 sts Looping_Links,r24
3457 20ac 00C0 rjmp .L577
3458 .L574:
3459 20ae F701 movw r30,r14
3460 20b0 EE0F lsl r30
3461 20b2 FF1F rol r31
3462 20b4 E050 subi r30,lo8(-(PPM_in))
3463 20b6 F040 sbci r31,hi8(-(PPM_in))
3464 20b8 2081 ld r18,Z
3465 20ba 3181 ldd r19,Z+1
3466 20bc 8091 0000 lds r24,EE_Parameter+40
3467 20c0 BA01 movw r22,r20
3468 20c2 681B sub r22,r24
3469 20c4 7109 sbc r23,__zero_reg__
3470 20c6 2617 cp r18,r22
3471 20c8 3707 cpc r19,r23
3472 20ca 04F4 brge .L577
3473 20cc 1092 0000 sts Looping_Links,__zero_reg__
3474 .L577:
3475 20d0 F701 movw r30,r14
3476 20d2 EE0F lsl r30
3477 20d4 FF1F rol r31
3478 20d6 E050 subi r30,lo8(-(PPM_in))
3479 20d8 F040 sbci r31,hi8(-(PPM_in))
3480 20da 8081 ld r24,Z
3481 20dc 9181 ldd r25,Z+1
3482 20de 6627 clr r22
3483 20e0 7727 clr r23
3484 20e2 641B sub r22,r20
3485 20e4 750B sbc r23,r21
3486 20e6 8617 cp r24,r22
3487 20e8 9707 cpc r25,r23
3488 20ea 04F4 brge .L579
3489 20ec 8091 0000 lds r24,EE_Parameter+52
3490 20f0 83FF sbrs r24,3
3491 20f2 00C0 rjmp .L579
3492 20f4 81E0 ldi r24,lo8(1)
3493 20f6 8093 0000 sts Looping_Rechts,r24
3494 20fa 00C0 rjmp .L582
3495 .L579:
3496 20fc 8091 0000 lds r24,Looping_Rechts
3497 2100 8823 tst r24
3498 2102 01F0 breq .L582
3499 2104 EE0C lsl r14
3500 2106 FF1C rol r15
3501 2108 80E0 ldi r24,lo8(PPM_in)
3502 210a 90E0 ldi r25,hi8(PPM_in)
3503 210c E80E add r14,r24
3504 210e F91E adc r15,r25
3505 2110 D701 movw r26,r14
3506 2112 2D91 ld r18,X+
3507 2114 3C91 ld r19,X
3508 2116 8091 0000 lds r24,EE_Parameter+40
3509 211a 9927 clr r25
3510 211c 841B sub r24,r20
3511 211e 950B sbc r25,r21
3512 2120 8217 cp r24,r18
3513 2122 9307 cpc r25,r19
3514 2124 04F4 brge .L582
3515 2126 1092 0000 sts Looping_Rechts,__zero_reg__
3516 .L582:
3517 212a F601 movw r30,r12
3518 212c EE0F lsl r30
3519 212e FF1F rol r31
3520 2130 E050 subi r30,lo8(-(PPM_in))
3521 2132 F040 sbci r31,hi8(-(PPM_in))
3522 2134 8081 ld r24,Z
3523 2136 9181 ldd r25,Z+1
3524 2138 4817 cp r20,r24
3525 213a 5907 cpc r21,r25
3526 213c 04F4 brge .L585
3527 213e 8091 0000 lds r24,EE_Parameter+52
3528 2142 80FF sbrs r24,0
3529 2144 00C0 rjmp .L585
3530 2146 81E0 ldi r24,lo8(1)
3531 2148 8093 0000 sts Looping_Oben,r24
3532 214c 00C0 rjmp .L588
3533 .L585:
3534 214e 8091 0000 lds r24,Looping_Oben
3535 2152 8823 tst r24
3536 2154 01F0 breq .L588
3537 2156 F601 movw r30,r12
3538 2158 EE0F lsl r30
3539 215a FF1F rol r31
3540 215c E050 subi r30,lo8(-(PPM_in))
3541 215e F040 sbci r31,hi8(-(PPM_in))
3542 2160 2081 ld r18,Z
3543 2162 3181 ldd r19,Z+1
3544 2164 8091 0000 lds r24,EE_Parameter+40
3545 2168 FA01 movw r30,r20
3546 216a E81B sub r30,r24
3547 216c F109 sbc r31,__zero_reg__
3548 216e 2E17 cp r18,r30
3549 2170 3F07 cpc r19,r31
3550 2172 04F4 brge .L588
3551 2174 1092 0000 sts Looping_Oben,__zero_reg__
3552 .L588:
3553 2178 F601 movw r30,r12
3554 217a EE0F lsl r30
3555 217c FF1F rol r31
3556 217e E050 subi r30,lo8(-(PPM_in))
3557 2180 F040 sbci r31,hi8(-(PPM_in))
3558 2182 8081 ld r24,Z
3559 2184 9181 ldd r25,Z+1
3560 2186 8617 cp r24,r22
3561 2188 9707 cpc r25,r23
3562 218a 04F4 brge .L591
3563 218c 8091 0000 lds r24,EE_Parameter+52
3564 2190 81FF sbrs r24,1
3565 2192 00C0 rjmp .L591
3566 2194 81E0 ldi r24,lo8(1)
3567 2196 8093 0000 sts Looping_Unten,r24
3568 219a 00C0 rjmp .L594
3569 .L591:
3570 219c 8091 0000 lds r24,Looping_Unten
3571 21a0 8823 tst r24
3572 21a2 01F0 breq .L594
3573 21a4 CC0C lsl r12
3574 21a6 DD1C rol r13
3575 21a8 20E0 ldi r18,lo8(PPM_in)
3576 21aa 30E0 ldi r19,hi8(PPM_in)
3577 21ac C20E add r12,r18
3578 21ae D31E adc r13,r19
3579 21b0 D601 movw r26,r12
3580 21b2 2D91 ld r18,X+
3581 21b4 3C91 ld r19,X
3582 21b6 8091 0000 lds r24,EE_Parameter+40
3583 21ba 9927 clr r25
3584 21bc 841B sub r24,r20
3585 21be 950B sbc r25,r21
3586 21c0 8217 cp r24,r18
3587 21c2 9307 cpc r25,r19
3588 21c4 04F4 brge .L594
3589 21c6 1092 0000 sts Looping_Unten,__zero_reg__
3590 .L594:
3591 21ca 8091 0000 lds r24,Looping_Links
3592 21ce 8823 tst r24
3593 21d0 01F4 brne .L597
3594 21d2 8091 0000 lds r24,Looping_Rechts
3595 21d6 8823 tst r24
3596 21d8 01F0 breq .L599
3597 .L597:
3598 21da 81E0 ldi r24,lo8(1)
3599 21dc 8093 0000 sts Looping_Roll,r24
3600 21e0 00C0 rjmp .L600
3601 .L599:
3602 21e2 1092 0000 sts Looping_Roll,__zero_reg__
3603 .L600:
3604 21e6 8091 0000 lds r24,Looping_Oben
3605 21ea 8823 tst r24
3606 21ec 01F4 brne .L601
3607 21ee 8091 0000 lds r24,Looping_Unten
3608 21f2 8823 tst r24
3609 21f4 01F0 breq .L603
3610 .L601:
3611 21f6 81E0 ldi r24,lo8(1)
3612 21f8 8093 0000 sts Looping_Nick,r24
3613 21fc 1092 0000 sts Looping_Roll,__zero_reg__
3614 2200 1092 0000 sts Looping_Links,__zero_reg__
3615 2204 1092 0000 sts Looping_Rechts,__zero_reg__
3616 2208 00C0 rjmp .L604
3617 .L603:
3618 220a 1092 0000 sts Looping_Nick,__zero_reg__
3619 .L526:
3620 220e 8091 0000 lds r24,Looping_Roll
3621 2212 8823 tst r24
3622 2214 01F4 brne .+4
3623 2216 0C94 0000 jmp .L605
3624 221a 84E6 ldi r24,lo8(100)
3625 221c 90E0 ldi r25,hi8(100)
3626 221e 9093 0000 sts (beeptime)+1,r25
3627 2222 8093 0000 sts beeptime,r24
3628 .L604:
3629 2226 8091 0000 lds r24,EE_Parameter+38
3630 222a 9927 clr r25
3631 222c EB81 ldd r30,Y+3
3632 222e FC81 ldd r31,Y+4
3633 2230 8E17 cp r24,r30
3634 2232 9F07 cpc r25,r31
3635 2234 04F4 brge .L607
3636 2236 9C83 std Y+4,r25
3637 2238 8B83 std Y+3,r24
3638 .L607:
3639 223a 8091 0000 lds r24,Notlandung
3640 223e 8823 tst r24
3641 2240 01F0 breq .L609
3642 2242 1092 0000 sts (StickGier)+1,__zero_reg__
3643 2246 1092 0000 sts StickGier,__zero_reg__
3644 224a 1092 0000 sts (StickNick)+1,__zero_reg__
3645 224e 1092 0000 sts StickNick,__zero_reg__
3646 2252 1092 0000 sts (StickRoll)+1,__zero_reg__
3647 2256 1092 0000 sts StickRoll,__zero_reg__
3648 225a 8DEC ldi r24,lo8(0x3dcccccd)
3649 225c 9CEC ldi r25,hi8(0x3dcccccd)
3650 225e ACEC ldi r26,hlo8(0x3dcccccd)
3651 2260 BDE3 ldi r27,hhi8(0x3dcccccd)
3652 2262 8093 0000 sts GyroFaktor,r24
3653 2266 9093 0000 sts (GyroFaktor)+1,r25
3654 226a A093 0000 sts (GyroFaktor)+2,r26
3655 226e B093 0000 sts (GyroFaktor)+3,r27
3656 2272 8AE0 ldi r24,lo8(0x3ba3d70a)
3657 2274 97ED ldi r25,hi8(0x3ba3d70a)
3658 2276 A3EA ldi r26,hlo8(0x3ba3d70a)
3659 2278 BBE3 ldi r27,hhi8(0x3ba3d70a)
3660 227a 8093 0000 sts IntegralFaktor,r24
3661 227e 9093 0000 sts (IntegralFaktor)+1,r25
3662 2282 A093 0000 sts (IntegralFaktor)+2,r26
3663 2286 B093 0000 sts (IntegralFaktor)+3,r27
3664 228a 1092 0000 sts Looping_Roll,__zero_reg__
3665 228e 1092 0000 sts Looping_Nick,__zero_reg__
3666 .L609:
3667 2292 2091 0000 lds r18,IntegralNick
3668 2296 3091 0000 lds r19,(IntegralNick)+1
3669 229a 4091 0000 lds r20,(IntegralNick)+2
3670 229e 5091 0000 lds r21,(IntegralNick)+3
3671 22a2 28AF std Y+56,r18
3672 22a4 39AF std Y+57,r19
3673 22a6 4AAF std Y+58,r20
3674 22a8 5BAF std Y+59,r21
3675 22aa 8091 0000 lds r24,MittelIntegralNick
3676 22ae 9091 0000 lds r25,(MittelIntegralNick)+1
3677 22b2 A091 0000 lds r26,(MittelIntegralNick)+2
3678 22b6 B091 0000 lds r27,(MittelIntegralNick)+3
3679 22ba 820F add r24,r18
3680 22bc 931F adc r25,r19
3681 22be A41F adc r26,r20
3682 22c0 B51F adc r27,r21
3683 22c2 8093 0000 sts MittelIntegralNick,r24
3684 22c6 9093 0000 sts (MittelIntegralNick)+1,r25
3685 22ca A093 0000 sts (MittelIntegralNick)+2,r26
3686 22ce B093 0000 sts (MittelIntegralNick)+3,r27
3687 22d2 4091 0000 lds r20,IntegralRoll
3688 22d6 5091 0000 lds r21,(IntegralRoll)+1
3689 22da 6091 0000 lds r22,(IntegralRoll)+2
3690 22de 7091 0000 lds r23,(IntegralRoll)+3
3691 22e2 4CAB std Y+52,r20
3692 22e4 5DAB std Y+53,r21
3693 22e6 6EAB std Y+54,r22
3694 22e8 7FAB std Y+55,r23
3695 22ea 8091 0000 lds r24,MittelIntegralRoll
3696 22ee 9091 0000 lds r25,(MittelIntegralRoll)+1
3697 22f2 A091 0000 lds r26,(MittelIntegralRoll)+2
3698 22f6 B091 0000 lds r27,(MittelIntegralRoll)+3
3699 22fa 840F add r24,r20
3700 22fc 951F adc r25,r21
3701 22fe A61F adc r26,r22
3702 2300 B71F adc r27,r23
3703 2302 8093 0000 sts MittelIntegralRoll,r24
3704 2306 9093 0000 sts (MittelIntegralRoll)+1,r25
3705 230a A093 0000 sts (MittelIntegralRoll)+2,r26
3706 230e B093 0000 sts (MittelIntegralRoll)+3,r27
3707 2312 6091 0000 lds r22,IntegralNick2
3708 2316 7091 0000 lds r23,(IntegralNick2)+1
3709 231a 8091 0000 lds r24,(IntegralNick2)+2
3710 231e 9091 0000 lds r25,(IntegralNick2)+3
3711 2322 6D8F std Y+29,r22
3712 2324 7E8F std Y+30,r23
3713 2326 8F8F std Y+31,r24
3714 2328 98A3 std Y+32,r25
3715 232a 8091 0000 lds r24,MittelIntegralNick2
3716 232e 9091 0000 lds r25,(MittelIntegralNick2)+1
3717 2332 A091 0000 lds r26,(MittelIntegralNick2)+2
3718 2336 B091 0000 lds r27,(MittelIntegralNick2)+3
3719 233a 2D8D ldd r18,Y+29
3720 233c 3E8D ldd r19,Y+30
3721 233e 4F8D ldd r20,Y+31
3722 2340 58A1 ldd r21,Y+32
3723 2342 820F add r24,r18
3724 2344 931F adc r25,r19
3725 2346 A41F adc r26,r20
3726 2348 B51F adc r27,r21
3727 234a 8093 0000 sts MittelIntegralNick2,r24
3728 234e 9093 0000 sts (MittelIntegralNick2)+1,r25
3729 2352 A093 0000 sts (MittelIntegralNick2)+2,r26
3730 2356 B093 0000 sts (MittelIntegralNick2)+3,r27
3731 235a 4091 0000 lds r20,IntegralRoll2
3732 235e 5091 0000 lds r21,(IntegralRoll2)+1
3733 2362 6091 0000 lds r22,(IntegralRoll2)+2
3734 2366 7091 0000 lds r23,(IntegralRoll2)+3
3735 236a 498F std Y+25,r20
3736 236c 5A8F std Y+26,r21
3737 236e 6B8F std Y+27,r22
3738 2370 7C8F std Y+28,r23
3739 2372 8091 0000 lds r24,MittelIntegralRoll2
3740 2376 9091 0000 lds r25,(MittelIntegralRoll2)+1
3741 237a A091 0000 lds r26,(MittelIntegralRoll2)+2
3742 237e B091 0000 lds r27,(MittelIntegralRoll2)+3
3743 2382 840F add r24,r20
3744 2384 951F adc r25,r21
3745 2386 A61F adc r26,r22
3746 2388 B71F adc r27,r23
3747 238a 8093 0000 sts MittelIntegralRoll2,r24
3748 238e 9093 0000 sts (MittelIntegralRoll2)+1,r25
3749 2392 A093 0000 sts (MittelIntegralRoll2)+2,r26
3750 2396 B093 0000 sts (MittelIntegralRoll2)+3,r27
3751 239a 5091 0000 lds r21,Looping_Nick
3752 239e 59A3 std Y+33,r21
3753 23a0 5523 tst r21
3754 23a2 01F0 breq .+4
3755 23a4 0C94 0000 jmp .L613
3756 23a8 8091 0000 lds r24,Looping_Roll
3757 23ac 8823 tst r24
3758 23ae 01F0 breq .+4
3759 23b0 0C94 0000 jmp .L613
3760 23b4 0C94 0000 jmp .L795
3761 .L796:
3762 23b8 8091 0000 lds r24,MaxStickRoll
3763 23bc 9091 0000 lds r25,(MaxStickRoll)+1
3764 23c0 4097 sbiw r24,16
3765 23c2 04F0 brlt .L617
3766 .L618:
3767 23c4 C201 movw r24,r4
3768 23c6 B101 movw r22,r2
3769 23c8 23E0 ldi r18,lo8(3)
3770 23ca 30E0 ldi r19,hi8(3)
3771 23cc 40E0 ldi r20,hlo8(3)
3772 23ce 50E0 ldi r21,hhi8(3)
3773 23d0 0E94 0000 call __divmodsi4
3774 23d4 5901 movw r10,r18
3775 23d6 6A01 movw r12,r20
3776 23d8 C401 movw r24,r8
3777 23da B301 movw r22,r6
3778 23dc 23E0 ldi r18,lo8(3)
3779 23de 30E0 ldi r19,hi8(3)
3780 23e0 40E0 ldi r20,hlo8(3)
3781 23e2 50E0 ldi r21,hhi8(3)
3782 23e4 0E94 0000 call __divmodsi4
3783 23e8 7901 movw r14,r18
3784 23ea 8A01 movw r16,r20
3785 .L617:
3786 23ec E091 0000 lds r30,EE_Parameter+3
3787 23f0 FF27 clr r31
3788 23f2 EE0F lsl r30
3789 23f4 FF1F rol r31
3790 23f6 E050 subi r30,lo8(-(PPM_in))
3791 23f8 F040 sbci r31,hi8(-(PPM_in))
3792 23fa 0190 ld __tmp_reg__,Z+
3793 23fc F081 ld r31,Z
3794 23fe E02D mov r30,__tmp_reg__
3795 2400 F7FF sbrs r31,7
3796 2402 00C0 rjmp .L620
3797 2404 F095 com r31
3798 2406 E195 neg r30
3799 2408 FF4F sbci r31,lo8(-1)
3800 .L620:
3801 240a 7A97 sbiw r30,26
3802 240c 04F0 brlt .L619
3803 240e C601 movw r24,r12
3804 2410 B501 movw r22,r10
3805 2412 23E0 ldi r18,lo8(3)
3806 2414 30E0 ldi r19,hi8(3)
3807 2416 40E0 ldi r20,hlo8(3)
3808 2418 50E0 ldi r21,hhi8(3)
3809 241a 0E94 0000 call __divmodsi4
3810 241e 5901 movw r10,r18
3811 2420 6A01 movw r12,r20
3812 2422 C801 movw r24,r16
3813 2424 B701 movw r22,r14
3814 2426 23E0 ldi r18,lo8(3)
3815 2428 30E0 ldi r19,hi8(3)
3816 242a 40E0 ldi r20,hlo8(3)
3817 242c 50E0 ldi r21,hhi8(3)
3818 242e 0E94 0000 call __divmodsi4
3819 2432 7901 movw r14,r18
3820 2434 8A01 movw r16,r20
3821 .L619:
3822 2436 61E2 ldi r22,lo8(33)
3823 2438 A616 cp r10,r22
3824 243a B104 cpc r11,__zero_reg__
3825 243c C104 cpc r12,__zero_reg__
3826 243e D104 cpc r13,__zero_reg__
3827 2440 04F0 brlt .L622
3828 2442 90E2 ldi r25,lo8(32)
3829 2444 A92E mov r10,r25
3830 2446 B12C mov r11,__zero_reg__
3831 2448 C12C mov r12,__zero_reg__
3832 244a D12C mov r13,__zero_reg__
3833 244c 00C0 rjmp .L624
3834 .L622:
3835 244e 70EE ldi r23,lo8(-32)
3836 2450 A716 cp r10,r23
3837 2452 7FEF ldi r23,hi8(-32)
3838 2454 B706 cpc r11,r23
3839 2456 7FEF ldi r23,hlo8(-32)
3840 2458 C706 cpc r12,r23
3841 245a 7FEF ldi r23,hhi8(-32)
3842 245c D706 cpc r13,r23
3843 245e 04F4 brge .L624
3844 2460 80EE ldi r24,lo8(-32)
3845 2462 A82E mov r10,r24
3846 2464 8FEF ldi r24,hi8(-32)
3847 2466 B82E mov r11,r24
3848 2468 8FEF ldi r24,hlo8(-32)
3849 246a C82E mov r12,r24
3850 246c 8FEF ldi r24,hhi8(-32)
3851 246e D82E mov r13,r24
3852 .L624:
3853 2470 81E2 ldi r24,lo8(33)
3854 2472 E816 cp r14,r24
3855 2474 F104 cpc r15,__zero_reg__
3856 2476 0105 cpc r16,__zero_reg__
3857 2478 1105 cpc r17,__zero_reg__
3858 247a 04F0 brlt .L626
3859 247c 10E2 ldi r17,lo8(32)
3860 247e E12E mov r14,r17
3861 2480 F12C mov r15,__zero_reg__
3862 2482 012D mov r16,__zero_reg__
3863 2484 112D mov r17,__zero_reg__
3864 2486 00C0 rjmp .L628
3865 .L626:
3866 2488 90EE ldi r25,lo8(-32)
3867 248a E916 cp r14,r25
3868 248c 9FEF ldi r25,hi8(-32)
3869 248e F906 cpc r15,r25
3870 2490 9FEF ldi r25,hlo8(-32)
3871 2492 0907 cpc r16,r25
3872 2494 9FEF ldi r25,hhi8(-32)
3873 2496 1907 cpc r17,r25
3874 2498 04F4 brge .L628
3875 249a B0EE ldi r27,lo8(-32)
3876 249c EB2E mov r14,r27
3877 249e BFEF ldi r27,hi8(-32)
3878 24a0 FB2E mov r15,r27
3879 24a2 BFEF ldi r27,hlo8(-32)
3880 24a4 0B2F mov r16,r27
3881 24a6 BFEF ldi r27,hhi8(-32)
3882 24a8 1B2F mov r17,r27
3883 .L628:
3884 24aa 8091 0000 lds r24,Mess_IntegralNick
3885 24ae 9091 0000 lds r25,(Mess_IntegralNick)+1
3886 24b2 A091 0000 lds r26,(Mess_IntegralNick)+2
3887 24b6 B091 0000 lds r27,(Mess_IntegralNick)+3
3888 24ba 8A19 sub r24,r10
3889 24bc 9B09 sbc r25,r11
3890 24be AC09 sbc r26,r12
3891 24c0 BD09 sbc r27,r13
3892 24c2 8093 0000 sts Mess_IntegralNick,r24
3893 24c6 9093 0000 sts (Mess_IntegralNick)+1,r25
3894 24ca A093 0000 sts (Mess_IntegralNick)+2,r26
3895 24ce B093 0000 sts (Mess_IntegralNick)+3,r27
3896 24d2 8091 0000 lds r24,Mess_IntegralRoll
3897 24d6 9091 0000 lds r25,(Mess_IntegralRoll)+1
3898 24da A091 0000 lds r26,(Mess_IntegralRoll)+2
3899 24de B091 0000 lds r27,(Mess_IntegralRoll)+3
3900 24e2 8E19 sub r24,r14
3901 24e4 9F09 sbc r25,r15
3902 24e6 A00B sbc r26,r16
3903 24e8 B10B sbc r27,r17
3904 24ea 8093 0000 sts Mess_IntegralRoll,r24
3905 24ee 9093 0000 sts (Mess_IntegralRoll)+1,r25
3906 24f2 A093 0000 sts (Mess_IntegralRoll)+2,r26
3907 24f6 B093 0000 sts (Mess_IntegralRoll)+3,r27
3908 .L615:
3909 24fa 8091 0000 lds r24,ZaehlMessungen
3910 24fe 9091 0000 lds r25,(ZaehlMessungen)+1
3911 2502 8F3F cpi r24,255
3912 2504 9105 cpc r25,__zero_reg__
3913 2506 01F0 breq .+2
3914 2508 00F4 brsh .+2
3915 250a 00C0 rjmp .L630
3916 250c A9A1 ldd r26,Y+33
3917 250e AA23 tst r26
3918 2510 01F0 breq .+2
3919 2512 00C0 rjmp .L632
3920 2514 8091 0000 lds r24,Looping_Roll
3921 2518 8823 tst r24
3922 251a 01F0 breq .+2
3923 251c 00C0 rjmp .L632
3924 251e 6091 0000 lds r22,MittelIntegralNick
3925 2522 7091 0000 lds r23,(MittelIntegralNick)+1
3926 2526 8091 0000 lds r24,(MittelIntegralNick)+2
3927 252a 9091 0000 lds r25,(MittelIntegralNick)+3
3928 252e 20E0 ldi r18,lo8(256)
3929 2530 31E0 ldi r19,hi8(256)
3930 2532 40E0 ldi r20,hlo8(256)
3931 2534 50E0 ldi r21,hhi8(256)
3932 2536 0E94 0000 call __divmodsi4
3933 253a 2D8B std Y+21,r18
3934 253c 3E8B std Y+22,r19
3935 253e 4F8B std Y+23,r20
3936 2540 588F std Y+24,r21
3937 2542 2093 0000 sts MittelIntegralNick,r18
3938 2546 3093 0000 sts (MittelIntegralNick)+1,r19
3939 254a 4093 0000 sts (MittelIntegralNick)+2,r20
3940 254e 5093 0000 sts (MittelIntegralNick)+3,r21
3941 2552 6091 0000 lds r22,MittelIntegralRoll
3942 2556 7091 0000 lds r23,(MittelIntegralRoll)+1
3943 255a 8091 0000 lds r24,(MittelIntegralRoll)+2
3944 255e 9091 0000 lds r25,(MittelIntegralRoll)+3
3945 2562 20E0 ldi r18,lo8(256)
3946 2564 31E0 ldi r19,hi8(256)
3947 2566 40E0 ldi r20,hlo8(256)
3948 2568 50E0 ldi r21,hhi8(256)
3949 256a 0E94 0000 call __divmodsi4
3950 256e 298B std Y+17,r18
3951 2570 3A8B std Y+18,r19
3952 2572 4B8B std Y+19,r20
3953 2574 5C8B std Y+20,r21
3954 2576 2093 0000 sts MittelIntegralRoll,r18
3955 257a 3093 0000 sts (MittelIntegralRoll)+1,r19
3956 257e 4093 0000 sts (MittelIntegralRoll)+2,r20
3957 2582 5093 0000 sts (MittelIntegralRoll)+3,r21
3958 2586 E090 0000 lds r14,EE_Parameter+20
3959 258a FF24 clr r15
3960 258c 0027 clr r16
3961 258e 1127 clr r17
3962 2590 2091 0000 lds r18,IntegralAccNick
3963 2594 3091 0000 lds r19,(IntegralAccNick)+1
3964 2598 4091 0000 lds r20,(IntegralAccNick)+2
3965 259c 5091 0000 lds r21,(IntegralAccNick)+3
3966 25a0 C801 movw r24,r16
3967 25a2 B701 movw r22,r14
3968 25a4 0E94 0000 call __mulsi3
3969 25a8 20E0 ldi r18,lo8(256)
3970 25aa 31E0 ldi r19,hi8(256)
3971 25ac 40E0 ldi r20,hlo8(256)
3972 25ae 50E0 ldi r21,hhi8(256)
3973 25b0 0E94 0000 call __divmodsi4
3974 25b4 1901 movw r2,r18
3975 25b6 2A01 movw r4,r20
3976 25b8 2093 0000 sts IntegralAccNick,r18
3977 25bc 3093 0000 sts (IntegralAccNick)+1,r19
3978 25c0 4093 0000 sts (IntegralAccNick)+2,r20
3979 25c4 5093 0000 sts (IntegralAccNick)+3,r21
3980 25c8 2091 0000 lds r18,IntegralAccRoll
3981 25cc 3091 0000 lds r19,(IntegralAccRoll)+1
3982 25d0 4091 0000 lds r20,(IntegralAccRoll)+2
3983 25d4 5091 0000 lds r21,(IntegralAccRoll)+3
3984 25d8 C801 movw r24,r16
3985 25da B701 movw r22,r14
3986 25dc 0E94 0000 call __mulsi3
3987 25e0 20E0 ldi r18,lo8(256)
3988 25e2 31E0 ldi r19,hi8(256)
3989 25e4 40E0 ldi r20,hlo8(256)
3990 25e6 50E0 ldi r21,hhi8(256)
3991 25e8 0E94 0000 call __divmodsi4
3992 25ec 3901 movw r6,r18
3993 25ee 4A01 movw r8,r20
3994 25f0 2093 0000 sts IntegralAccRoll,r18
3995 25f4 3093 0000 sts (IntegralAccRoll)+1,r19
3996 25f8 4093 0000 sts (IntegralAccRoll)+2,r20
3997 25fc 5093 0000 sts (IntegralAccRoll)+3,r21
3998 2600 6091 0000 lds r22,IntegralAccZ
3999 2604 7091 0000 lds r23,(IntegralAccZ)+1
4000 2608 8091 0000 lds r24,(IntegralAccZ)+2
4001 260c 9091 0000 lds r25,(IntegralAccZ)+3
4002 2610 20E0 ldi r18,lo8(256)
4003 2612 31E0 ldi r19,hi8(256)
4004 2614 40E0 ldi r20,hlo8(256)
4005 2616 50E0 ldi r21,hhi8(256)
4006 2618 0E94 0000 call __divmodsi4
4007 261c 2093 0000 sts IntegralAccZ,r18
4008 2620 3093 0000 sts (IntegralAccZ)+1,r19
4009 2624 4093 0000 sts (IntegralAccZ)+2,r20
4010 2628 5093 0000 sts (IntegralAccZ)+3,r21
4011 262c 6D89 ldd r22,Y+21
4012 262e 7E89 ldd r23,Y+22
4013 2630 8F89 ldd r24,Y+23
4014 2632 988D ldd r25,Y+24
4015 2634 6219 sub r22,r2
4016 2636 7309 sbc r23,r3
4017 2638 8409 sbc r24,r4
4018 263a 9509 sbc r25,r5
4019 263c 6093 0000 sts IntegralFehlerNick.2496,r22
4020 2640 7093 0000 sts (IntegralFehlerNick.2496)+1,r23
4021 2644 8093 0000 sts (IntegralFehlerNick.2496)+2,r24
4022 2648 9093 0000 sts (IntegralFehlerNick.2496)+3,r25
4023 264c E090 0000 lds r14,EE_Parameter+45
4024 2650 FF24 clr r15
4025 2652 0027 clr r16
4026 2654 1127 clr r17
4027 2656 A801 movw r20,r16
4028 2658 9701 movw r18,r14
4029 265a 0E94 0000 call __divmodsi4
4030 265e 5901 movw r10,r18
4031 2660 6A01 movw r12,r20
4032 2662 2093 0000 sts ausgleichNick.2506,r18
4033 2666 3093 0000 sts (ausgleichNick.2506)+1,r19
4034 266a 4093 0000 sts (ausgleichNick.2506)+2,r20
4035 266e 5093 0000 sts (ausgleichNick.2506)+3,r21
4036 2672 6989 ldd r22,Y+17
4037 2674 7A89 ldd r23,Y+18
4038 2676 8B89 ldd r24,Y+19
4039 2678 9C89 ldd r25,Y+20
4040 267a 6619 sub r22,r6
4041 267c 7709 sbc r23,r7
4042 267e 8809 sbc r24,r8
4043 2680 9909 sbc r25,r9
4044 2682 6093 0000 sts IntegralFehlerRoll.2497,r22
4045 2686 7093 0000 sts (IntegralFehlerRoll.2497)+1,r23
4046 268a 8093 0000 sts (IntegralFehlerRoll.2497)+2,r24
4047 268e 9093 0000 sts (IntegralFehlerRoll.2497)+3,r25
4048 2692 A801 movw r20,r16
4049 2694 9701 movw r18,r14
4050 2696 0E94 0000 call __divmodsi4
4051 269a 2D87 std Y+13,r18
4052 269c 3E87 std Y+14,r19
4053 269e 4F87 std Y+15,r20
4054 26a0 588B std Y+16,r21
4055 26a2 C601 movw r24,r12
4056 26a4 B501 movw r22,r10
4057 26a6 20E0 ldi r18,lo8(256)
4058 26a8 31E0 ldi r19,hi8(256)
4059 26aa 40E0 ldi r20,hlo8(256)
4060 26ac 50E0 ldi r21,hhi8(256)
4061 26ae 0E94 0000 call __divmodsi4
4062 26b2 8901 movw r16,r18
4063 26b4 3093 0000 sts (LageKorrekturNick)+1,r19
4064 26b8 2093 0000 sts LageKorrekturNick,r18
4065 26bc 6D85 ldd r22,Y+13
4066 26be 7E85 ldd r23,Y+14
4067 26c0 8F85 ldd r24,Y+15
4068 26c2 9889 ldd r25,Y+16
4069 26c4 20E0 ldi r18,lo8(256)
4070 26c6 31E0 ldi r19,hi8(256)
4071 26c8 40E0 ldi r20,hlo8(256)
4072 26ca 50E0 ldi r21,hhi8(256)
4073 26cc 0E94 0000 call __divmodsi4
4074 26d0 3DAF std Y+61,r19
4075 26d2 2CAF std Y+60,r18
4076 26d4 3093 0000 sts (LageKorrekturRoll)+1,r19
4077 26d8 2093 0000 sts LageKorrekturRoll,r18
4078 26dc 8091 0000 lds r24,MaxStickNick
4079 26e0 9091 0000 lds r25,(MaxStickNick)+1
4080 26e4 4097 sbiw r24,16
4081 26e6 04F4 brge .L635
4082 26e8 8091 0000 lds r24,MaxStickRoll
4083 26ec 9091 0000 lds r25,(MaxStickRoll)+1
4084 26f0 4097 sbiw r24,16
4085 26f2 04F4 brge .L635
4086 26f4 E091 0000 lds r30,EE_Parameter+3
4087 26f8 FF27 clr r31
4088 26fa EE0F lsl r30
4089 26fc FF1F rol r31
4090 26fe E050 subi r30,lo8(-(PPM_in))
4091 2700 F040 sbci r31,hi8(-(PPM_in))
4092 2702 0190 ld __tmp_reg__,Z+
4093 2704 F081 ld r31,Z
4094 2706 E02D mov r30,__tmp_reg__
4095 2708 F7FF sbrs r31,7
4096 270a 00C0 rjmp .L639
4097 270c F095 com r31
4098 270e E195 neg r30
4099 2710 FF4F sbci r31,lo8(-1)
4100 .L639:
4101 2712 7A97 sbiw r30,26
4102 2714 04F0 brlt .L638
4103 .L635:
4104 2716 C801 movw r24,r16
4105 2718 62E0 ldi r22,lo8(2)
4106 271a 70E0 ldi r23,hi8(2)
4107 271c 0E94 0000 call __divmodhi4
4108 2720 CB01 movw r24,r22
4109 2722 62E0 ldi r22,lo8(2)
4110 2724 70E0 ldi r23,hi8(2)
4111 2726 0E94 0000 call __divmodhi4
4112 272a 7093 0000 sts (LageKorrekturNick)+1,r23
4113 272e 6093 0000 sts LageKorrekturNick,r22
4114 .L638:
4115 2732 6091 0000 lds r22,MittelIntegralNick2
4116 2736 7091 0000 lds r23,(MittelIntegralNick2)+1
4117 273a 8091 0000 lds r24,(MittelIntegralNick2)+2
4118 273e 9091 0000 lds r25,(MittelIntegralNick2)+3
4119 2742 20E0 ldi r18,lo8(256)
4120 2744 31E0 ldi r19,hi8(256)
4121 2746 40E0 ldi r20,hlo8(256)
4122 2748 50E0 ldi r21,hhi8(256)
4123 274a 0E94 0000 call __divmodsi4
4124 274e 2093 0000 sts MittelIntegralNick2,r18
4125 2752 3093 0000 sts (MittelIntegralNick2)+1,r19
4126 2756 4093 0000 sts (MittelIntegralNick2)+2,r20
4127 275a 5093 0000 sts (MittelIntegralNick2)+3,r21
4128 275e 6091 0000 lds r22,MittelIntegralRoll2
4129 2762 7091 0000 lds r23,(MittelIntegralRoll2)+1
4130 2766 8091 0000 lds r24,(MittelIntegralRoll2)+2
4131 276a 9091 0000 lds r25,(MittelIntegralRoll2)+3
4132 276e 20E0 ldi r18,lo8(256)
4133 2770 31E0 ldi r19,hi8(256)
4134 2772 40E0 ldi r20,hlo8(256)
4135 2774 50E0 ldi r21,hhi8(256)
4136 2776 0E94 0000 call __divmodsi4
4137 277a 2093 0000 sts MittelIntegralRoll2,r18
4138 277e 3093 0000 sts (MittelIntegralRoll2)+1,r19
4139 2782 4093 0000 sts (MittelIntegralRoll2)+2,r20
4140 2786 5093 0000 sts (MittelIntegralRoll2)+3,r21
4141 278a ED8C ldd r14,Y+29
4142 278c FE8C ldd r15,Y+30
4143 278e 0F8D ldd r16,Y+31
4144 2790 18A1 ldd r17,Y+32
4145 2792 28AD ldd r18,Y+56
4146 2794 39AD ldd r19,Y+57
4147 2796 4AAD ldd r20,Y+58
4148 2798 5BAD ldd r21,Y+59
4149 279a E21A sub r14,r18
4150 279c F30A sbc r15,r19
4151 279e 040B sbc r16,r20
4152 27a0 150B sbc r17,r21
4153 27a2 E092 0000 sts tmp_long.2494,r14
4154 27a6 F092 0000 sts (tmp_long.2494)+1,r15
4155 27aa 0093 0000 sts (tmp_long.2494)+2,r16
4156 27ae 1093 0000 sts (tmp_long.2494)+3,r17
4157 27b2 A98C ldd r10,Y+25
4158 27b4 BA8C ldd r11,Y+26
4159 27b6 CB8C ldd r12,Y+27
4160 27b8 DC8C ldd r13,Y+28
4161 27ba 4CA9 ldd r20,Y+52
4162 27bc 5DA9 ldd r21,Y+53
4163 27be 6EA9 ldd r22,Y+54
4164 27c0 7FA9 ldd r23,Y+55
4165 27c2 A41A sub r10,r20
4166 27c4 B50A sbc r11,r21
4167 27c6 C60A sbc r12,r22
4168 27c8 D70A sbc r13,r23
4169 27ca A092 0000 sts tmp_long2.2495,r10
4170 27ce B092 0000 sts (tmp_long2.2495)+1,r11
4171 27d2 C092 0000 sts (tmp_long2.2495)+2,r12
4172 27d6 D092 0000 sts (tmp_long2.2495)+3,r13
4173 27da E092 0000 sts IntegralFehlerNick.2496,r14
4174 27de F092 0000 sts (IntegralFehlerNick.2496)+1,r15
4175 27e2 0093 0000 sts (IntegralFehlerNick.2496)+2,r16
4176 27e6 1093 0000 sts (IntegralFehlerNick.2496)+3,r17
4177 27ea A092 0000 sts IntegralFehlerRoll.2497,r10
4178 27ee B092 0000 sts (IntegralFehlerRoll.2497)+1,r11
4179 27f2 C092 0000 sts (IntegralFehlerRoll.2497)+2,r12
4180 27f6 D092 0000 sts (IntegralFehlerRoll.2497)+3,r13
4181 27fa 8091 0000 lds r24,Mess_IntegralNick2
4182 27fe 9091 0000 lds r25,(Mess_IntegralNick2)+1
4183 2802 A091 0000 lds r26,(Mess_IntegralNick2)+2
4184 2806 B091 0000 lds r27,(Mess_IntegralNick2)+3
4185 280a 8E19 sub r24,r14
4186 280c 9F09 sbc r25,r15
4187 280e A00B sbc r26,r16
4188 2810 B10B sbc r27,r17
4189 2812 8093 0000 sts Mess_IntegralNick2,r24
4190 2816 9093 0000 sts (Mess_IntegralNick2)+1,r25
4191 281a A093 0000 sts (Mess_IntegralNick2)+2,r26
4192 281e B093 0000 sts (Mess_IntegralNick2)+3,r27
4193 2822 8091 0000 lds r24,Mess_IntegralRoll2
4194 2826 9091 0000 lds r25,(Mess_IntegralRoll2)+1
4195 282a A091 0000 lds r26,(Mess_IntegralRoll2)+2
4196 282e B091 0000 lds r27,(Mess_IntegralRoll2)+3
4197 2832 8A19 sub r24,r10
4198 2834 9B09 sbc r25,r11
4199 2836 AC09 sbc r26,r12
4200 2838 BD09 sbc r27,r13
4201 283a 8093 0000 sts Mess_IntegralRoll2,r24
4202 283e 9093 0000 sts (Mess_IntegralRoll2)+1,r25
4203 2842 A093 0000 sts (Mess_IntegralRoll2)+2,r26
4204 2846 B093 0000 sts (Mess_IntegralRoll2)+3,r27
4205 284a C201 movw r24,r4
4206 284c B101 movw r22,r2
4207 284e 2AE1 ldi r18,lo8(26)
4208 2850 30E0 ldi r19,hi8(26)
4209 2852 40E0 ldi r20,hlo8(26)
4210 2854 50E0 ldi r21,hhi8(26)
4211 2856 0E94 0000 call __divmodsi4
4212 285a 3093 0000 sts (DebugOut+36)+1,r19
4213 285e 2093 0000 sts DebugOut+36,r18
4214 2862 C401 movw r24,r8
4215 2864 B301 movw r22,r6
4216 2866 2AE1 ldi r18,lo8(26)
4217 2868 30E0 ldi r19,hi8(26)
4218 286a 40E0 ldi r20,hlo8(26)
4219 286c 50E0 ldi r21,hhi8(26)
4220 286e 0E94 0000 call __divmodsi4
4221 2872 3093 0000 sts (DebugOut+38)+1,r19
4222 2876 2093 0000 sts DebugOut+38,r18
4223 287a F092 0000 sts (DebugOut+40)+1,r15
4224 287e E092 0000 sts DebugOut+40,r14
4225 2882 B092 0000 sts (DebugOut+42)+1,r11
4226 2886 A092 0000 sts DebugOut+42,r10
4227 288a 6D89 ldd r22,Y+21
4228 288c 7E89 ldd r23,Y+22
4229 288e 8F89 ldd r24,Y+23
4230 2890 988D ldd r25,Y+24
4231 2892 2AE1 ldi r18,lo8(26)
4232 2894 30E0 ldi r19,hi8(26)
4233 2896 40E0 ldi r20,hlo8(26)
4234 2898 50E0 ldi r21,hhi8(26)
4235 289a 0E94 0000 call __divmodsi4
4236 289e 3093 0000 sts (DebugOut+44)+1,r19
4237 28a2 2093 0000 sts DebugOut+44,r18
4238 28a6 6989 ldd r22,Y+17
4239 28a8 7A89 ldd r23,Y+18
4240 28aa 8B89 ldd r24,Y+19
4241 28ac 9C89 ldd r25,Y+20
4242 28ae 2AE1 ldi r18,lo8(26)
4243 28b0 30E0 ldi r19,hi8(26)
4244 28b2 40E0 ldi r20,hlo8(26)
4245 28b4 50E0 ldi r21,hhi8(26)
4246 28b6 0E94 0000 call __divmodsi4
4247 28ba 3093 0000 sts (DebugOut+46)+1,r19
4248 28be 2093 0000 sts DebugOut+46,r18
4249 28c2 6D85 ldd r22,Y+13
4250 28c4 7E85 ldd r23,Y+14
4251 28c6 7093 0000 sts (DebugOut+60)+1,r23
4252 28ca 6093 0000 sts DebugOut+60,r22
4253 28ce 8CAD ldd r24,Y+60
4254 28d0 9DAD ldd r25,Y+61
4255 28d2 880F lsl r24
4256 28d4 991F rol r25
4257 28d6 2CAD ldd r18,Y+60
4258 28d8 3DAD ldd r19,Y+61
4259 28da 63E0 ldi r22,3
4260 28dc 220F 1: lsl r18
4261 28de 331F rol r19
4262 28e0 6A95 dec r22
4263 28e2 01F4 brne 1b
4264 28e4 820F add r24,r18
4265 28e6 931F adc r25,r19
4266 28e8 9093 0000 sts (DebugOut+62)+1,r25
4267 28ec 8093 0000 sts DebugOut+62,r24
4268 28f0 81E0 ldi r24,lo8(1)
4269 28f2 90E0 ldi r25,hi8(1)
4270 28f4 9093 0000 sts (cnt.2512)+1,r25
4271 28f8 8093 0000 sts cnt.2512,r24
4272 28fc 8091 0000 lds r24,MittelIntegralNick_Alt.2517
4273 2900 9091 0000 lds r25,(MittelIntegralNick_Alt.2517)+1
4274 2904 A091 0000 lds r26,(MittelIntegralNick_Alt.2517)+2
4275 2908 B091 0000 lds r27,(MittelIntegralNick_Alt.2517)+3
4276 290c 2D89 ldd r18,Y+21
4277 290e 3E89 ldd r19,Y+22
4278 2910 4F89 ldd r20,Y+23
4279 2912 588D ldd r21,Y+24
4280 2914 821B sub r24,r18
4281 2916 930B sbc r25,r19
4282 2918 A40B sbc r26,r20
4283 291a B50B sbc r27,r21
4284 291c 815E subi r24,lo8(-(19999))
4285 291e 914B sbci r25,hi8(-(19999))
4286 2920 AF4F sbci r26,hlo8(-(19999))
4287 2922 BF4F sbci r27,hhi8(-(19999))
4288 2924 8F53 subi r24,lo8(39999)
4289 2926 9C49 sbci r25,hi8(39999)
4290 2928 A040 sbci r26,hlo8(39999)
4291 292a B040 sbci r27,hhi8(39999)
4292 292c 00F0 brlo .+2
4293 292e 00C0 rjmp .L640
4294 2930 41E0 ldi r20,lo8(4097)
4295 2932 E416 cp r14,r20
4296 2934 40E1 ldi r20,hi8(4097)
4297 2936 F406 cpc r15,r20
4298 2938 40E0 ldi r20,hlo8(4097)
4299 293a 0407 cpc r16,r20
4300 293c 40E0 ldi r20,hhi8(4097)
4301 293e 1407 cpc r17,r20
4302 2940 04F4 brge .+2
4303 2942 00C0 rjmp .L642
4304 2944 8091 0000 lds r24,last_n_p.2513
4305 2948 8823 tst r24
4306 294a 01F4 brne .+2
4307 294c 00C0 rjmp .L644
4308 294e D801 movw r26,r16
4309 2950 C701 movw r24,r14
4310 2952 5CE0 ldi r21,12
4311 2954 B595 1: asr r27
4312 2956 A795 ror r26
4313 2958 9795 ror r25
4314 295a 8795 ror r24
4315 295c 5A95 dec r21
4316 295e 01F4 brne 1b
4317 2960 0196 adiw r24,1
4318 2962 9093 0000 sts (cnt.2512)+1,r25
4319 2966 8093 0000 sts cnt.2512,r24
4320 296a D801 movw r26,r16
4321 296c C701 movw r24,r14
4322 296e 43E0 ldi r20,3
4323 2970 B595 1: asr r27
4324 2972 A795 ror r26
4325 2974 9795 ror r25
4326 2976 8795 ror r24
4327 2978 4A95 dec r20
4328 297a 01F4 brne 1b
4329 297c 8093 0000 sts ausgleichNick.2506,r24
4330 2980 9093 0000 sts (ausgleichNick.2506)+1,r25
4331 2984 A093 0000 sts (ausgleichNick.2506)+2,r26
4332 2988 B093 0000 sts (ausgleichNick.2506)+3,r27
4333 298c 8958 subi r24,lo8(5001)
4334 298e 9341 sbci r25,hi8(5001)
4335 2990 A040 sbci r26,hlo8(5001)
4336 2992 B040 sbci r27,hhi8(5001)
4337 2994 04F0 brlt .L646
4338 2996 88E8 ldi r24,lo8(5000)
4339 2998 93E1 ldi r25,hi8(5000)
4340 299a A0E0 ldi r26,hlo8(5000)
4341 299c B0E0 ldi r27,hhi8(5000)
4342 299e 8093 0000 sts ausgleichNick.2506,r24
4343 29a2 9093 0000 sts (ausgleichNick.2506)+1,r25
4344 29a6 A093 0000 sts (ausgleichNick.2506)+2,r26
4345 29aa B093 0000 sts (ausgleichNick.2506)+3,r27
4346 .L646:
4347 29ae 6091 0000 lds r22,ausgleichNick.2506
4348 29b2 7091 0000 lds r23,(ausgleichNick.2506)+1
4349 29b6 8091 0000 lds r24,(ausgleichNick.2506)+2
4350 29ba 9091 0000 lds r25,(ausgleichNick.2506)+3
4351 29be 20E0 ldi r18,lo8(256)
4352 29c0 31E0 ldi r19,hi8(256)
4353 29c2 40E0 ldi r20,hlo8(256)
4354 29c4 50E0 ldi r21,hhi8(256)
4355 29c6 0E94 0000 call __divmodsi4
4356 29ca 8091 0000 lds r24,LageKorrekturNick
4357 29ce 9091 0000 lds r25,(LageKorrekturNick)+1
4358 29d2 820F add r24,r18
4359 29d4 931F adc r25,r19
4360 29d6 9093 0000 sts (LageKorrekturNick)+1,r25
4361 29da 8093 0000 sts LageKorrekturNick,r24
4362 29de 00C0 rjmp .L648
4363 .L644:
4364 29e0 81E0 ldi r24,lo8(1)
4365 29e2 8093 0000 sts last_n_p.2513,r24
4366 29e6 00C0 rjmp .L648
4367 .L642:
4368 29e8 1092 0000 sts last_n_p.2513,__zero_reg__
4369 29ec 60E0 ldi r22,lo8(-4096)
4370 29ee E616 cp r14,r22
4371 29f0 60EF ldi r22,hi8(-4096)
4372 29f2 F606 cpc r15,r22
4373 29f4 6FEF ldi r22,hlo8(-4096)
4374 29f6 0607 cpc r16,r22
4375 29f8 6FEF ldi r22,hhi8(-4096)
4376 29fa 1607 cpc r17,r22
4377 29fc 04F0 brlt .+2
4378 29fe 00C0 rjmp .L648
4379 2a00 8091 0000 lds r24,last_n_n.2514
4380 2a04 8823 tst r24
4381 2a06 01F4 brne .+2
4382 2a08 00C0 rjmp .L650
4383 2a0a 8827 clr r24
4384 2a0c 9927 clr r25
4385 2a0e DC01 movw r26,r24
4386 2a10 8E19 sub r24,r14
4387 2a12 9F09 sbc r25,r15
4388 2a14 A00B sbc r26,r16
4389 2a16 B10B sbc r27,r17
4390 2a18 3CE0 ldi r19,12
4391 2a1a B595 1: asr r27
4392 2a1c A795 ror r26
4393 2a1e 9795 ror r25
4394 2a20 8795 ror r24
4395 2a22 3A95 dec r19
4396 2a24 01F4 brne 1b
4397 2a26 0196 adiw r24,1
4398 2a28 9093 0000 sts (cnt.2512)+1,r25
4399 2a2c 8093 0000 sts cnt.2512,r24
4400 2a30 C801 movw r24,r16
4401 2a32 B701 movw r22,r14
4402 2a34 28E0 ldi r18,lo8(8)
4403 2a36 30E0 ldi r19,hi8(8)
4404 2a38 40E0 ldi r20,hlo8(8)
4405 2a3a 50E0 ldi r21,hhi8(8)
4406 2a3c 0E94 0000 call __divmodsi4
4407 2a40 2093 0000 sts ausgleichNick.2506,r18
4408 2a44 3093 0000 sts (ausgleichNick.2506)+1,r19
4409 2a48 4093 0000 sts (ausgleichNick.2506)+2,r20
4410 2a4c 5093 0000 sts (ausgleichNick.2506)+3,r21
4411 2a50 2857 subi r18,lo8(-5000)
4412 2a52 3C4E sbci r19,hi8(-5000)
4413 2a54 4F4F sbci r20,hlo8(-5000)
4414 2a56 5F4F sbci r21,hhi8(-5000)
4415 2a58 04F4 brge .L652
4416 2a5a 88E7 ldi r24,lo8(-5000)
4417 2a5c 9CEE ldi r25,hi8(-5000)
4418 2a5e AFEF ldi r26,hlo8(-5000)
4419 2a60 BFEF ldi r27,hhi8(-5000)
4420 2a62 8093 0000 sts ausgleichNick.2506,r24
4421 2a66 9093 0000 sts (ausgleichNick.2506)+1,r25
4422 2a6a A093 0000 sts (ausgleichNick.2506)+2,r26
4423 2a6e B093 0000 sts (ausgleichNick.2506)+3,r27
4424 .L652:
4425 2a72 6091 0000 lds r22,ausgleichNick.2506
4426 2a76 7091 0000 lds r23,(ausgleichNick.2506)+1
4427 2a7a 8091 0000 lds r24,(ausgleichNick.2506)+2
4428 2a7e 9091 0000 lds r25,(ausgleichNick.2506)+3
4429 2a82 20E0 ldi r18,lo8(256)
4430 2a84 31E0 ldi r19,hi8(256)
4431 2a86 40E0 ldi r20,hlo8(256)
4432 2a88 50E0 ldi r21,hhi8(256)
4433 2a8a 0E94 0000 call __divmodsi4
4434 2a8e 8091 0000 lds r24,LageKorrekturNick
4435 2a92 9091 0000 lds r25,(LageKorrekturNick)+1
4436 2a96 820F add r24,r18
4437 2a98 931F adc r25,r19
4438 2a9a 9093 0000 sts (LageKorrekturNick)+1,r25
4439 2a9e 8093 0000 sts LageKorrekturNick,r24
4440 2aa2 00C0 rjmp .L654
4441 .L650:
4442 2aa4 81E0 ldi r24,lo8(1)
4443 2aa6 8093 0000 sts last_n_n.2514,r24
4444 2aaa 00C0 rjmp .L654
4445 .L648:
4446 2aac 1092 0000 sts last_n_n.2514,__zero_reg__
4447 2ab0 00C0 rjmp .L654
4448 .L640:
4449 2ab2 1092 0000 sts (cnt.2512)+1,__zero_reg__
4450 2ab6 1092 0000 sts cnt.2512,__zero_reg__
4451 .L654:
4452 2aba 8091 0000 lds r24,EE_Parameter+46
4453 2abe 882E mov r8,r24
4454 2ac0 9924 clr r9
4455 2ac2 8091 0000 lds r24,cnt.2512
4456 2ac6 9091 0000 lds r25,(cnt.2512)+1
4457 2aca 8816 cp r8,r24
4458 2acc 9906 cpc r9,r25
4459 2ace 04F4 brge .L655
4460 2ad0 9092 0000 sts (cnt.2512)+1,r9
4461 2ad4 8092 0000 sts cnt.2512,r8
4462 .L655:
4463 2ad8 81E0 ldi r24,lo8(1025)
4464 2ada E816 cp r14,r24
4465 2adc 84E0 ldi r24,hi8(1025)
4466 2ade F806 cpc r15,r24
4467 2ae0 80E0 ldi r24,hlo8(1025)
4468 2ae2 0807 cpc r16,r24
4469 2ae4 80E0 ldi r24,hhi8(1025)
4470 2ae6 1807 cpc r17,r24
4471 2ae8 04F0 brlt .L657
4472 2aea 8091 0000 lds r24,AdNeutralNick
4473 2aee 9091 0000 lds r25,(AdNeutralNick)+1
4474 2af2 2091 0000 lds r18,cnt.2512
4475 2af6 3091 0000 lds r19,(cnt.2512)+1
4476 2afa 820F add r24,r18
4477 2afc 931F adc r25,r19
4478 2afe 00C0 rjmp .L799
4479 .L657:
4480 2b00 90E0 ldi r25,lo8(-1024)
4481 2b02 E916 cp r14,r25
4482 2b04 9CEF ldi r25,hi8(-1024)
4483 2b06 F906 cpc r15,r25
4484 2b08 9FEF ldi r25,hlo8(-1024)
4485 2b0a 0907 cpc r16,r25
4486 2b0c 9FEF ldi r25,hhi8(-1024)
4487 2b0e 1907 cpc r17,r25
4488 2b10 04F4 brge .L659
4489 2b12 8091 0000 lds r24,AdNeutralNick
4490 2b16 9091 0000 lds r25,(AdNeutralNick)+1
4491 2b1a 2091 0000 lds r18,cnt.2512
4492 2b1e 3091 0000 lds r19,(cnt.2512)+1
4493 2b22 821B sub r24,r18
4494 2b24 930B sbc r25,r19
4495 .L799:
4496 2b26 9093 0000 sts (AdNeutralNick)+1,r25
4497 2b2a 8093 0000 sts AdNeutralNick,r24
4498 .L659:
4499 2b2e 81E0 ldi r24,lo8(1)
4500 2b30 90E0 ldi r25,hi8(1)
4501 2b32 9093 0000 sts (cnt.2512)+1,r25
4502 2b36 8093 0000 sts cnt.2512,r24
4503 2b3a 1092 0000 sts ausgleichRoll.2507,__zero_reg__
4504 2b3e 1092 0000 sts (ausgleichRoll.2507)+1,__zero_reg__
4505 2b42 1092 0000 sts (ausgleichRoll.2507)+2,__zero_reg__
4506 2b46 1092 0000 sts (ausgleichRoll.2507)+3,__zero_reg__
4507 2b4a 8091 0000 lds r24,MittelIntegralRoll_Alt.2518
4508 2b4e 9091 0000 lds r25,(MittelIntegralRoll_Alt.2518)+1
4509 2b52 A091 0000 lds r26,(MittelIntegralRoll_Alt.2518)+2
4510 2b56 B091 0000 lds r27,(MittelIntegralRoll_Alt.2518)+3
4511 2b5a 2989 ldd r18,Y+17
4512 2b5c 3A89 ldd r19,Y+18
4513 2b5e 4B89 ldd r20,Y+19
4514 2b60 5C89 ldd r21,Y+20
4515 2b62 821B sub r24,r18
4516 2b64 930B sbc r25,r19
4517 2b66 A40B sbc r26,r20
4518 2b68 B50B sbc r27,r21
4519 2b6a 815E subi r24,lo8(-(19999))
4520 2b6c 914B sbci r25,hi8(-(19999))
4521 2b6e AF4F sbci r26,hlo8(-(19999))
4522 2b70 BF4F sbci r27,hhi8(-(19999))
4523 2b72 8F53 subi r24,lo8(39999)
4524 2b74 9C49 sbci r25,hi8(39999)
4525 2b76 A040 sbci r26,hlo8(39999)
4526 2b78 B040 sbci r27,hhi8(39999)
4527 2b7a 00F0 brlo .+2
4528 2b7c 00C0 rjmp .L661
4529 2b7e 41E0 ldi r20,lo8(4097)
4530 2b80 A416 cp r10,r20
4531 2b82 40E1 ldi r20,hi8(4097)
4532 2b84 B406 cpc r11,r20
4533 2b86 40E0 ldi r20,hlo8(4097)
4534 2b88 C406 cpc r12,r20
4535 2b8a 40E0 ldi r20,hhi8(4097)
4536 2b8c D406 cpc r13,r20
4537 2b8e 04F4 brge .+2
4538 2b90 00C0 rjmp .L663
4539 2b92 8091 0000 lds r24,last_r_p.2515
4540 2b96 8823 tst r24
4541 2b98 01F4 brne .+2
4542 2b9a 00C0 rjmp .L665
4543 2b9c D601 movw r26,r12
4544 2b9e C501 movw r24,r10
4545 2ba0 2CE0 ldi r18,12
4546 2ba2 B595 1: asr r27
4547 2ba4 A795 ror r26
4548 2ba6 9795 ror r25
4549 2ba8 8795 ror r24
4550 2baa 2A95 dec r18
4551 2bac 01F4 brne 1b
4552 2bae 0196 adiw r24,1
4553 2bb0 9093 0000 sts (cnt.2512)+1,r25
4554 2bb4 8093 0000 sts cnt.2512,r24
4555 2bb8 D601 movw r26,r12
4556 2bba C501 movw r24,r10
4557 2bbc 03E0 ldi r16,3
4558 2bbe B595 1: asr r27
4559 2bc0 A795 ror r26
4560 2bc2 9795 ror r25
4561 2bc4 8795 ror r24
4562 2bc6 0A95 dec r16
4563 2bc8 01F4 brne 1b
4564 2bca 8093 0000 sts ausgleichRoll.2507,r24
4565 2bce 9093 0000 sts (ausgleichRoll.2507)+1,r25
4566 2bd2 A093 0000 sts (ausgleichRoll.2507)+2,r26
4567 2bd6 B093 0000 sts (ausgleichRoll.2507)+3,r27
4568 2bda 8958 subi r24,lo8(5001)
4569 2bdc 9341 sbci r25,hi8(5001)
4570 2bde A040 sbci r26,hlo8(5001)
4571 2be0 B040 sbci r27,hhi8(5001)
4572 2be2 04F0 brlt .L667
4573 2be4 88E8 ldi r24,lo8(5000)
4574 2be6 93E1 ldi r25,hi8(5000)
4575 2be8 A0E0 ldi r26,hlo8(5000)
4576 2bea B0E0 ldi r27,hhi8(5000)
4577 2bec 8093 0000 sts ausgleichRoll.2507,r24
4578 2bf0 9093 0000 sts (ausgleichRoll.2507)+1,r25
4579 2bf4 A093 0000 sts (ausgleichRoll.2507)+2,r26
4580 2bf8 B093 0000 sts (ausgleichRoll.2507)+3,r27
4581 .L667:
4582 2bfc 6091 0000 lds r22,ausgleichRoll.2507
4583 2c00 7091 0000 lds r23,(ausgleichRoll.2507)+1
4584 2c04 8091 0000 lds r24,(ausgleichRoll.2507)+2
4585 2c08 9091 0000 lds r25,(ausgleichRoll.2507)+3
4586 2c0c 20E0 ldi r18,lo8(256)
4587 2c0e 31E0 ldi r19,hi8(256)
4588 2c10 40E0 ldi r20,hlo8(256)
4589 2c12 50E0 ldi r21,hhi8(256)
4590 2c14 0E94 0000 call __divmodsi4
4591 2c18 6CAD ldd r22,Y+60
4592 2c1a 7DAD ldd r23,Y+61
4593 2c1c 620F add r22,r18
4594 2c1e 731F adc r23,r19
4595 2c20 7093 0000 sts (LageKorrekturRoll)+1,r23
4596 2c24 6093 0000 sts LageKorrekturRoll,r22
4597 2c28 00C0 rjmp .L669
4598 .L665:
4599 2c2a 81E0 ldi r24,lo8(1)
4600 2c2c 8093 0000 sts last_r_p.2515,r24
4601 2c30 00C0 rjmp .L669
4602 .L663:
4603 2c32 1092 0000 sts last_r_p.2515,__zero_reg__
4604 2c36 70E0 ldi r23,lo8(-4096)
4605 2c38 A716 cp r10,r23
4606 2c3a 70EF ldi r23,hi8(-4096)
4607 2c3c B706 cpc r11,r23
4608 2c3e 7FEF ldi r23,hlo8(-4096)
4609 2c40 C706 cpc r12,r23
4610 2c42 7FEF ldi r23,hhi8(-4096)
4611 2c44 D706 cpc r13,r23
4612 2c46 04F0 brlt .+2
4613 2c48 00C0 rjmp .L669
4614 2c4a 8091 0000 lds r24,last_r_n.2516
4615 2c4e 8823 tst r24
4616 2c50 01F4 brne .+2
4617 2c52 00C0 rjmp .L671
4618 2c54 8827 clr r24
4619 2c56 9927 clr r25
4620 2c58 DC01 movw r26,r24
4621 2c5a 8A19 sub r24,r10
4622 2c5c 9B09 sbc r25,r11
4623 2c5e AC09 sbc r26,r12
4624 2c60 BD09 sbc r27,r13
4625 2c62 1CE0 ldi r17,12
4626 2c64 B595 1: asr r27
4627 2c66 A795 ror r26
4628 2c68 9795 ror r25
4629 2c6a 8795 ror r24
4630 2c6c 1A95 dec r17
4631 2c6e 01F4 brne 1b
4632 2c70 0196 adiw r24,1
4633 2c72 9093 0000 sts (cnt.2512)+1,r25
4634 2c76 8093 0000 sts cnt.2512,r24
4635 2c7a C601 movw r24,r12
4636 2c7c B501 movw r22,r10
4637 2c7e 28E0 ldi r18,lo8(8)
4638 2c80 30E0 ldi r19,hi8(8)
4639 2c82 40E0 ldi r20,hlo8(8)
4640 2c84 50E0 ldi r21,hhi8(8)
4641 2c86 0E94 0000 call __divmodsi4
4642 2c8a 2093 0000 sts ausgleichRoll.2507,r18
4643 2c8e 3093 0000 sts (ausgleichRoll.2507)+1,r19
4644 2c92 4093 0000 sts (ausgleichRoll.2507)+2,r20
4645 2c96 5093 0000 sts (ausgleichRoll.2507)+3,r21
4646 2c9a 2857 subi r18,lo8(-5000)
4647 2c9c 3C4E sbci r19,hi8(-5000)
4648 2c9e 4F4F sbci r20,hlo8(-5000)
4649 2ca0 5F4F sbci r21,hhi8(-5000)
4650 2ca2 04F4 brge .L673
4651 2ca4 88E7 ldi r24,lo8(-5000)
4652 2ca6 9CEE ldi r25,hi8(-5000)
4653 2ca8 AFEF ldi r26,hlo8(-5000)
4654 2caa BFEF ldi r27,hhi8(-5000)
4655 2cac 8093 0000 sts ausgleichRoll.2507,r24
4656 2cb0 9093 0000 sts (ausgleichRoll.2507)+1,r25
4657 2cb4 A093 0000 sts (ausgleichRoll.2507)+2,r26
4658 2cb8 B093 0000 sts (ausgleichRoll.2507)+3,r27
4659 .L673:
4660 2cbc 6091 0000 lds r22,ausgleichRoll.2507
4661 2cc0 7091 0000 lds r23,(ausgleichRoll.2507)+1
4662 2cc4 8091 0000 lds r24,(ausgleichRoll.2507)+2
4663 2cc8 9091 0000 lds r25,(ausgleichRoll.2507)+3
4664 2ccc 20E0 ldi r18,lo8(256)
4665 2cce 31E0 ldi r19,hi8(256)
4666 2cd0 40E0 ldi r20,hlo8(256)
4667 2cd2 50E0 ldi r21,hhi8(256)
4668 2cd4 0E94 0000 call __divmodsi4
4669 2cd8 ACAD ldd r26,Y+60
4670 2cda BDAD ldd r27,Y+61
4671 2cdc A20F add r26,r18
4672 2cde B31F adc r27,r19
4673 2ce0 B093 0000 sts (LageKorrekturRoll)+1,r27
4674 2ce4 A093 0000 sts LageKorrekturRoll,r26
4675 2ce8 00C0 rjmp .L675
4676 .L671:
4677 2cea 81E0 ldi r24,lo8(1)
4678 2cec 8093 0000 sts last_r_n.2516,r24
4679 2cf0 00C0 rjmp .L675
4680 .L669:
4681 2cf2 1092 0000 sts last_r_n.2516,__zero_reg__
4682 2cf6 00C0 rjmp .L675
4683 .L661:
4684 2cf8 1092 0000 sts (cnt.2512)+1,__zero_reg__
4685 2cfc 1092 0000 sts cnt.2512,__zero_reg__
4686 .L675:
4687 2d00 8091 0000 lds r24,cnt.2512
4688 2d04 9091 0000 lds r25,(cnt.2512)+1
4689 2d08 8816 cp r8,r24
4690 2d0a 9906 cpc r9,r25
4691 2d0c 04F4 brge .L676
4692 2d0e 9092 0000 sts (cnt.2512)+1,r9
4693 2d12 8092 0000 sts cnt.2512,r8
4694 .L676:
4695 2d16 B1E0 ldi r27,lo8(1025)
4696 2d18 AB16 cp r10,r27
4697 2d1a B4E0 ldi r27,hi8(1025)
4698 2d1c BB06 cpc r11,r27
4699 2d1e B0E0 ldi r27,hlo8(1025)
4700 2d20 CB06 cpc r12,r27
4701 2d22 B0E0 ldi r27,hhi8(1025)
4702 2d24 DB06 cpc r13,r27
4703 2d26 04F0 brlt .L678
4704 2d28 8091 0000 lds r24,AdNeutralRoll
4705 2d2c 9091 0000 lds r25,(AdNeutralRoll)+1
4706 2d30 2091 0000 lds r18,cnt.2512
4707 2d34 3091 0000 lds r19,(cnt.2512)+1
4708 2d38 820F add r24,r18
4709 2d3a 931F adc r25,r19
4710 2d3c 00C0 rjmp .L800
4711 .L678:
4712 2d3e E0E0 ldi r30,lo8(-1024)
4713 2d40 AE16 cp r10,r30
4714 2d42 ECEF ldi r30,hi8(-1024)
4715 2d44 BE06 cpc r11,r30
4716 2d46 EFEF ldi r30,hlo8(-1024)
4717 2d48 CE06 cpc r12,r30
4718 2d4a EFEF ldi r30,hhi8(-1024)
4719 2d4c DE06 cpc r13,r30
4720 2d4e 04F4 brge .L680
4721 2d50 8091 0000 lds r24,AdNeutralRoll
4722 2d54 9091 0000 lds r25,(AdNeutralRoll)+1
4723 2d58 2091 0000 lds r18,cnt.2512
4724 2d5c 3091 0000 lds r19,(cnt.2512)+1
4725 2d60 821B sub r24,r18
4726 2d62 930B sbc r25,r19
4727 .L800:
4728 2d64 9093 0000 sts (AdNeutralRoll)+1,r25
4729 2d68 8093 0000 sts AdNeutralRoll,r24
4730 .L680:
4731 2d6c 8091 0000 lds r24,ausgleichRoll.2507
4732 2d70 9091 0000 lds r25,(ausgleichRoll.2507)+1
4733 2d74 9093 0000 sts (DebugOut+56)+1,r25
4734 2d78 8093 0000 sts DebugOut+56,r24
4735 2d7c 8091 0000 lds r24,AdNeutralNick
4736 2d80 9091 0000 lds r25,(AdNeutralNick)+1
4737 2d84 9093 0000 sts (DebugOut+48)+1,r25
4738 2d88 8093 0000 sts DebugOut+48,r24
4739 2d8c 8091 0000 lds r24,AdNeutralRoll
4740 2d90 9091 0000 lds r25,(AdNeutralRoll)+1
4741 2d94 2091 0000 lds r18,StartNeutralRoll
4742 2d98 3091 0000 lds r19,(StartNeutralRoll)+1
4743 2d9c 821B sub r24,r18
4744 2d9e 930B sbc r25,r19
4745 2da0 9C01 movw r18,r24
4746 2da2 A3E0 ldi r26,3
4747 2da4 220F 1: lsl r18
4748 2da6 331F rol r19
4749 2da8 AA95 dec r26
4750 2daa 01F4 brne 1b
4751 2dac 880F lsl r24
4752 2dae 991F rol r25
4753 2db0 820F add r24,r18
4754 2db2 931F adc r25,r19
4755 2db4 9093 0000 sts (DebugOut+50)+1,r25
4756 2db8 8093 0000 sts DebugOut+50,r24
4757 2dbc 00C0 rjmp .L682
4758 .L632:
4759 2dbe 1092 0000 sts (LageKorrekturRoll)+1,__zero_reg__
4760 2dc2 1092 0000 sts LageKorrekturRoll,__zero_reg__
4761 2dc6 1092 0000 sts (LageKorrekturNick)+1,__zero_reg__
4762 2dca 1092 0000 sts LageKorrekturNick,__zero_reg__
4763 .L682:
4764 2dce 20E0 ldi r18,lo8(0x0)
4765 2dd0 30E0 ldi r19,hi8(0x0)
4766 2dd2 40E0 ldi r20,hlo8(0x0)
4767 2dd4 50E0 ldi r21,hhi8(0x0)
4768 2dd6 6091 0000 lds r22,IntegralFaktor
4769 2dda 7091 0000 lds r23,(IntegralFaktor)+1
4770 2dde 8091 0000 lds r24,(IntegralFaktor)+2
4771 2de2 9091 0000 lds r25,(IntegralFaktor)+3
4772 2de6 0E94 0000 call __nesf2
4773 2dea 8823 tst r24
4774 2dec 01F4 brne .L683
4775 2dee 1092 0000 sts (LageKorrekturRoll)+1,__zero_reg__
4776 2df2 1092 0000 sts LageKorrekturRoll,__zero_reg__
4777 2df6 1092 0000 sts (LageKorrekturNick)+1,__zero_reg__
4778 2dfa 1092 0000 sts LageKorrekturNick,__zero_reg__
4779 .L683:
4780 2dfe 8091 0000 lds r24,MittelIntegralNick
4781 2e02 9091 0000 lds r25,(MittelIntegralNick)+1
4782 2e06 A091 0000 lds r26,(MittelIntegralNick)+2
4783 2e0a B091 0000 lds r27,(MittelIntegralNick)+3
4784 2e0e 8093 0000 sts MittelIntegralNick_Alt.2517,r24
4785 2e12 9093 0000 sts (MittelIntegralNick_Alt.2517)+1,r25
4786 2e16 A093 0000 sts (MittelIntegralNick_Alt.2517)+2,r26
4787 2e1a B093 0000 sts (MittelIntegralNick_Alt.2517)+3,r27
4788 2e1e 8091 0000 lds r24,MittelIntegralRoll
4789 2e22 9091 0000 lds r25,(MittelIntegralRoll)+1
4790 2e26 A091 0000 lds r26,(MittelIntegralRoll)+2
4791 2e2a B091 0000 lds r27,(MittelIntegralRoll)+3
4792 2e2e 8093 0000 sts MittelIntegralRoll_Alt.2518,r24
4793 2e32 9093 0000 sts (MittelIntegralRoll_Alt.2518)+1,r25
4794 2e36 A093 0000 sts (MittelIntegralRoll_Alt.2518)+2,r26
4795 2e3a B093 0000 sts (MittelIntegralRoll_Alt.2518)+3,r27
4796 2e3e 1092 0000 sts IntegralAccNick,__zero_reg__
4797 2e42 1092 0000 sts (IntegralAccNick)+1,__zero_reg__
4798 2e46 1092 0000 sts (IntegralAccNick)+2,__zero_reg__
4799 2e4a 1092 0000 sts (IntegralAccNick)+3,__zero_reg__
4800 2e4e 1092 0000 sts IntegralAccRoll,__zero_reg__
4801 2e52 1092 0000 sts (IntegralAccRoll)+1,__zero_reg__
4802 2e56 1092 0000 sts (IntegralAccRoll)+2,__zero_reg__
4803 2e5a 1092 0000 sts (IntegralAccRoll)+3,__zero_reg__
4804 2e5e 1092 0000 sts IntegralAccZ,__zero_reg__
4805 2e62 1092 0000 sts (IntegralAccZ)+1,__zero_reg__
4806 2e66 1092 0000 sts (IntegralAccZ)+2,__zero_reg__
4807 2e6a 1092 0000 sts (IntegralAccZ)+3,__zero_reg__
4808 2e6e 1092 0000 sts MittelIntegralNick,__zero_reg__
4809 2e72 1092 0000 sts (MittelIntegralNick)+1,__zero_reg__
4810 2e76 1092 0000 sts (MittelIntegralNick)+2,__zero_reg__
4811 2e7a 1092 0000 sts (MittelIntegralNick)+3,__zero_reg__
4812 2e7e 1092 0000 sts MittelIntegralRoll,__zero_reg__
4813 2e82 1092 0000 sts (MittelIntegralRoll)+1,__zero_reg__
4814 2e86 1092 0000 sts (MittelIntegralRoll)+2,__zero_reg__
4815 2e8a 1092 0000 sts (MittelIntegralRoll)+3,__zero_reg__
4816 2e8e 1092 0000 sts MittelIntegralNick2,__zero_reg__
4817 2e92 1092 0000 sts (MittelIntegralNick2)+1,__zero_reg__
4818 2e96 1092 0000 sts (MittelIntegralNick2)+2,__zero_reg__
4819 2e9a 1092 0000 sts (MittelIntegralNick2)+3,__zero_reg__
4820 2e9e 1092 0000 sts MittelIntegralRoll2,__zero_reg__
4821 2ea2 1092 0000 sts (MittelIntegralRoll2)+1,__zero_reg__
4822 2ea6 1092 0000 sts (MittelIntegralRoll2)+2,__zero_reg__
4823 2eaa 1092 0000 sts (MittelIntegralRoll2)+3,__zero_reg__
4824 2eae 1092 0000 sts (ZaehlMessungen)+1,__zero_reg__
4825 2eb2 1092 0000 sts ZaehlMessungen,__zero_reg__
4826 .L630:
4827 2eb6 8090 0000 lds r8,StickGier
4828 2eba 9090 0000 lds r9,(StickGier)+1
4829 2ebe 5401 movw r10,r8
4830 2ec0 97FE sbrs r9,7
4831 2ec2 00C0 rjmp .L685
4832 2ec4 AA24 clr r10
4833 2ec6 BB24 clr r11
4834 2ec8 A818 sub r10,r8
4835 2eca B908 sbc r11,r9
4836 .L685:
4837 2ecc F5E1 ldi r31,lo8(21)
4838 2ece AF16 cp r10,r31
4839 2ed0 B104 cpc r11,__zero_reg__
4840 2ed2 04F0 brlt .L686
4841 2ed4 8091 0000 lds r24,EE_Parameter+8
4842 2ed8 84FD sbrc r24,4
4843 2eda 00C0 rjmp .L686
4844 2edc 81E0 ldi r24,lo8(1)
4845 2ede 8093 0000 sts NeueKompassRichtungMerken.2505,r24
4846 .L686:
4847 2ee2 E090 0000 lds r14,EE_Parameter+17
4848 2ee6 CC24 clr r12
4849 2ee8 B7FC sbrc r11,7
4850 2eea C094 com r12
4851 2eec DC2C mov r13,r12
4852 2eee B401 movw r22,r8
4853 2ef0 8827 clr r24
4854 2ef2 77FD sbrc r23,7
4855 2ef4 8095 com r24
4856 2ef6 982F mov r25,r24
4857 2ef8 2E2D mov r18,r14
4858 2efa 3327 clr r19
4859 2efc 4427 clr r20
4860 2efe 5527 clr r21
4861 2f00 0E94 0000 call __mulsi3
4862 2f04 9B01 movw r18,r22
4863 2f06 AC01 movw r20,r24
4864 2f08 C601 movw r24,r12
4865 2f0a B501 movw r22,r10
4866 2f0c 0E94 0000 call __mulsi3
4867 2f10 20E0 ldi r18,lo8(512)
4868 2f12 32E0 ldi r19,hi8(512)
4869 2f14 40E0 ldi r20,hlo8(512)
4870 2f16 50E0 ldi r21,hhi8(512)
4871 2f18 0E94 0000 call __divmodsi4
4872 2f1c 8901 movw r16,r18
4873 2f1e 9A01 movw r18,r20
4874 2f20 FF24 clr r15
4875 2f22 E89C mul r14,r8
4876 2f24 C001 movw r24,r0
4877 2f26 E99C mul r14,r9
4878 2f28 900D add r25,r0
4879 2f2a F89C mul r15,r8
4880 2f2c 900D add r25,r0
4881 2f2e 1124 clr r1
4882 2f30 64E0 ldi r22,lo8(4)
4883 2f32 70E0 ldi r23,hi8(4)
4884 2f34 0E94 0000 call __divmodhi4
4885 2f38 600F add r22,r16
4886 2f3a 711F adc r23,r17
4887 2f3c 8827 clr r24
4888 2f3e 77FD sbrc r23,7
4889 2f40 8095 com r24
4890 2f42 982F mov r25,r24
4891 2f44 6093 0000 sts sollGier.2493,r22
4892 2f48 7093 0000 sts (sollGier.2493)+1,r23
4893 2f4c 8093 0000 sts (sollGier.2493)+2,r24
4894 2f50 9093 0000 sts (sollGier.2493)+3,r25
4895 2f54 2091 0000 lds r18,Mess_Integral_Gier
4896 2f58 3091 0000 lds r19,(Mess_Integral_Gier)+1
4897 2f5c 4091 0000 lds r20,(Mess_Integral_Gier)+2
4898 2f60 5091 0000 lds r21,(Mess_Integral_Gier)+3
4899 2f64 261B sub r18,r22
4900 2f66 370B sbc r19,r23
4901 2f68 480B sbc r20,r24
4902 2f6a 590B sbc r21,r25
4903 2f6c 2093 0000 sts Mess_Integral_Gier,r18
4904 2f70 3093 0000 sts (Mess_Integral_Gier)+1,r19
4905 2f74 4093 0000 sts (Mess_Integral_Gier)+2,r20
4906 2f78 5093 0000 sts (Mess_Integral_Gier)+3,r21
4907 2f7c 2135 cpi r18,lo8(50001)
4908 2f7e 63EC ldi r22,hi8(50001)
4909 2f80 3607 cpc r19,r22
4910 2f82 60E0 ldi r22,hlo8(50001)
4911 2f84 4607 cpc r20,r22
4912 2f86 60E0 ldi r22,hhi8(50001)
4913 2f88 5607 cpc r21,r22
4914 2f8a 04F0 brlt .L689
4915 2f8c 80E5 ldi r24,lo8(50000)
4916 2f8e 93EC ldi r25,hi8(50000)
4917 2f90 A0E0 ldi r26,hlo8(50000)
4918 2f92 B0E0 ldi r27,hhi8(50000)
4919 2f94 00C0 rjmp .L801
4920 .L689:
4921 2f96 205B subi r18,lo8(-50000)
4922 2f98 3C43 sbci r19,hi8(-50000)
4923 2f9a 4F4F sbci r20,hlo8(-50000)
4924 2f9c 5F4F sbci r21,hhi8(-50000)
4925 2f9e 04F4 brge .L691
4926 2fa0 80EB ldi r24,lo8(-50000)
4927 2fa2 9CE3 ldi r25,hi8(-50000)
4928 2fa4 AFEF ldi r26,hlo8(-50000)
4929 2fa6 BFEF ldi r27,hhi8(-50000)
4930 .L801:
4931 2fa8 8093 0000 sts Mess_Integral_Gier,r24
4932 2fac 9093 0000 sts (Mess_Integral_Gier)+1,r25
4933 2fb0 A093 0000 sts (Mess_Integral_Gier)+2,r26
4934 2fb4 B093 0000 sts (Mess_Integral_Gier)+3,r27
4935 .L691:
4936 2fb8 8091 0000 lds r24,EE_Parameter+8
4937 2fbc 83FF sbrs r24,3
4938 2fbe 00C0 rjmp .L693
4939 2fc0 8091 0000 lds r24,updKompass.2521
4940 2fc4 8150 subi r24,lo8(-(-1))
4941 2fc6 8093 0000 sts updKompass.2521,r24
4942 2fca 8F3F cpi r24,lo8(-1)
4943 2fcc 01F4 brne .L695
4944 2fce 0E94 0000 call heading_MM3
4945 2fd2 9093 0000 sts (KompassValue)+1,r25
4946 2fd6 8093 0000 sts KompassValue,r24
4947 2fda 2091 0000 lds r18,KompassStartwert
4948 2fde 3091 0000 lds r19,(KompassStartwert)+1
4949 2fe2 821B sub r24,r18
4950 2fe4 930B sbc r25,r19
4951 2fe6 845E subi r24,lo8(-(540))
4952 2fe8 9D4F sbci r25,hi8(-(540))
4953 2fea 68E6 ldi r22,lo8(360)
4954 2fec 71E0 ldi r23,hi8(360)
4955 2fee 0E94 0000 call __divmodhi4
4956 2ff2 845B subi r24,lo8(-(-180))
4957 2ff4 9040 sbci r25,hi8(-(-180))
4958 2ff6 9093 0000 sts (KompassRichtung)+1,r25
4959 2ffa 8093 0000 sts KompassRichtung,r24
4960 2ffe 82E3 ldi r24,lo8(50)
4961 3000 8093 0000 sts updKompass.2521,r24
4962 .L695:
4963 3004 6091 0000 lds r22,IntegralNick
4964 3008 7091 0000 lds r23,(IntegralNick)+1
4965 300c 8091 0000 lds r24,(IntegralNick)+2
4966 3010 9091 0000 lds r25,(IntegralNick)+3
4967 3014 20E0 ldi r18,lo8(512)
4968 3016 32E0 ldi r19,hi8(512)
4969 3018 40E0 ldi r20,hlo8(512)
4970 301a 50E0 ldi r21,hhi8(512)
4971 301c 0E94 0000 call __divmodsi4
4972 3020 8901 movw r16,r18
4973 3022 37FF sbrs r19,7
4974 3024 00C0 rjmp .L697
4975 3026 1095 com r17
4976 3028 0195 neg r16
4977 302a 1F4F sbci r17,lo8(-1)
4978 .L697:
4979 302c 6091 0000 lds r22,IntegralRoll
4980 3030 7091 0000 lds r23,(IntegralRoll)+1
4981 3034 8091 0000 lds r24,(IntegralRoll)+2
4982 3038 9091 0000 lds r25,(IntegralRoll)+3
4983 303c 20E0 ldi r18,lo8(512)
4984 303e 32E0 ldi r19,hi8(512)
4985 3040 40E0 ldi r20,hlo8(512)
4986 3042 50E0 ldi r21,hhi8(512)
4987 3044 0E94 0000 call __divmodsi4
4988 3048 B901 movw r22,r18
4989 304a 37FF sbrs r19,7
4990 304c 00C0 rjmp .L698
4991 304e 7095 com r23
4992 3050 6195 neg r22
4993 3052 7F4F sbci r23,lo8(-1)
4994 .L698:
4995 3054 6017 cp r22,r16
4996 3056 7107 cpc r23,r17
4997 3058 04F4 brge .L699
4998 305a B801 movw r22,r16
4999 .L699:
5000 305c 6332 cpi r22,35
5001 305e 7105 cpc r23,__zero_reg__
5002 3060 04F4 brge .L700
5003 3062 8091 0000 lds r24,NeueKompassRichtungMerken.2505
5004 3066 8823 tst r24
5005 3068 01F0 breq .L700
5006 306a 8091 0000 lds r24,KompassValue
5007 306e 9091 0000 lds r25,(KompassValue)+1
5008 3072 9093 0000 sts (KompassStartwert)+1,r25
5009 3076 8093 0000 sts KompassStartwert,r24
5010 307a 1092 0000 sts NeueKompassRichtungMerken.2505,__zero_reg__
5011 .L700:
5012 307e 2091 0000 lds r18,Parameter_KompassWirkung
5013 3082 3327 clr r19
5014 3084 629F mul r22,r18
5015 3086 C001 movw r24,r0
5016 3088 639F mul r22,r19
5017 308a 900D add r25,r0
5018 308c 729F mul r23,r18
5019 308e 900D add r25,r0
5020 3090 1124 clr r1
5021 3092 60E4 ldi r22,lo8(64)
5022 3094 70E0 ldi r23,hi8(64)
5023 3096 0E94 0000 call __divmodhi4
5024 309a 261B sub r18,r22
5025 309c 370B sbc r19,r23
5026 309e 1216 cp __zero_reg__,r18
5027 30a0 1306 cpc __zero_reg__,r19
5028 30a2 04F4 brge .L693
5029 30a4 8091 0000 lds r24,KompassRichtung
5030 30a8 9091 0000 lds r25,(KompassRichtung)+1
5031 30ac DC01 movw r26,r24
5032 30ae 2A9F mul r18,r26
5033 30b0 C001 movw r24,r0
5034 30b2 2B9F mul r18,r27
5035 30b4 900D add r25,r0
5036 30b6 3A9F mul r19,r26
5037 30b8 900D add r25,r0
5038 30ba 1124 clr r1
5039 30bc 60E2 ldi r22,lo8(32)
5040 30be 70E0 ldi r23,hi8(32)
5041 30c0 0E94 0000 call __divmodhi4
5042 30c4 8827 clr r24
5043 30c6 77FD sbrc r23,7
5044 30c8 8095 com r24
5045 30ca 982F mov r25,r24
5046 30cc 2091 0000 lds r18,Mess_Integral_Gier
5047 30d0 3091 0000 lds r19,(Mess_Integral_Gier)+1
5048 30d4 4091 0000 lds r20,(Mess_Integral_Gier)+2
5049 30d8 5091 0000 lds r21,(Mess_Integral_Gier)+3
5050 30dc 260F add r18,r22
5051 30de 371F adc r19,r23
5052 30e0 481F adc r20,r24
5053 30e2 591F adc r21,r25
5054 30e4 2093 0000 sts Mess_Integral_Gier,r18
5055 30e8 3093 0000 sts (Mess_Integral_Gier)+1,r19
5056 30ec 4093 0000 sts (Mess_Integral_Gier)+2,r20
5057 30f0 5093 0000 sts (Mess_Integral_Gier)+3,r21
5058 .L693:
5059 30f4 8091 0000 lds r24,TimerWerteausgabe.2504
5060 30f8 8150 subi r24,lo8(-(-1))
5061 30fa 8093 0000 sts TimerWerteausgabe.2504,r24
5062 30fe 8F3F cpi r24,lo8(-1)
5063 3100 01F0 breq .+2
5064 3102 00C0 rjmp .L704
5065 3104 88E1 ldi r24,lo8(24)
5066 3106 8093 0000 sts TimerWerteausgabe.2504,r24
5067 310a E090 0000 lds r14,EE_Parameter+20
5068 310e FF24 clr r15
5069 3110 0027 clr r16
5070 3112 1127 clr r17
5071 3114 6091 0000 lds r22,IntegralNick
5072 3118 7091 0000 lds r23,(IntegralNick)+1
5073 311c 8091 0000 lds r24,(IntegralNick)+2
5074 3120 9091 0000 lds r25,(IntegralNick)+3
5075 3124 A801 movw r20,r16
5076 3126 9701 movw r18,r14
5077 3128 0E94 0000 call __divmodsi4
5078 312c 3093 0000 sts (DebugOut+2)+1,r19
5079 3130 2093 0000 sts DebugOut+2,r18
5080 3134 6091 0000 lds r22,IntegralRoll
5081 3138 7091 0000 lds r23,(IntegralRoll)+1
5082 313c 8091 0000 lds r24,(IntegralRoll)+2
5083 3140 9091 0000 lds r25,(IntegralRoll)+3
5084 3144 A801 movw r20,r16
5085 3146 9701 movw r18,r14
5086 3148 0E94 0000 call __divmodsi4
5087 314c 3093 0000 sts (DebugOut+4)+1,r19
5088 3150 2093 0000 sts DebugOut+4,r18
5089 3154 8091 0000 lds r24,Mittelwert_AccNick
5090 3158 9091 0000 lds r25,(Mittelwert_AccNick)+1
5091 315c 9093 0000 sts (DebugOut+6)+1,r25
5092 3160 8093 0000 sts DebugOut+6,r24
5093 3164 8091 0000 lds r24,Mittelwert_AccRoll
5094 3168 9091 0000 lds r25,(Mittelwert_AccRoll)+1
5095 316c 9093 0000 sts (DebugOut+8)+1,r25
5096 3170 8093 0000 sts DebugOut+8,r24
5097 3174 8091 0000 lds r24,MesswertGier
5098 3178 9091 0000 lds r25,(MesswertGier)+1
5099 317c 9093 0000 sts (DebugOut+10)+1,r25
5100 3180 8093 0000 sts DebugOut+10,r24
5101 3184 8091 0000 lds r24,HoehenWert
5102 3188 9091 0000 lds r25,(HoehenWert)+1
5103 318c 9093 0000 sts (DebugOut+12)+1,r25
5104 3190 8093 0000 sts DebugOut+12,r24
5105 3194 6091 0000 lds r22,Mess_Integral_Hoch
5106 3198 7091 0000 lds r23,(Mess_Integral_Hoch)+1
5107 319c 8091 0000 lds r24,(Mess_Integral_Hoch)+2
5108 31a0 9091 0000 lds r25,(Mess_Integral_Hoch)+3
5109 31a4 20E0 ldi r18,lo8(512)
5110 31a6 32E0 ldi r19,hi8(512)
5111 31a8 40E0 ldi r20,hlo8(512)
5112 31aa 50E0 ldi r21,hhi8(512)
5113 31ac 0E94 0000 call __divmodsi4
5114 31b0 3093 0000 sts (DebugOut+14)+1,r19
5115 31b4 2093 0000 sts DebugOut+14,r18
5116 31b8 8091 0000 lds r24,KompassValue
5117 31bc 9091 0000 lds r25,(KompassValue)+1
5118 31c0 9093 0000 sts (DebugOut+18)+1,r25
5119 31c4 8093 0000 sts DebugOut+18,r24
5120 31c8 8091 0000 lds r24,UBat
5121 31cc 9091 0000 lds r25,(UBat)+1
5122 31d0 9093 0000 sts (DebugOut+20)+1,r25
5123 31d4 8093 0000 sts DebugOut+20,r24
5124 31d8 8091 0000 lds r24,SenderOkay
5125 31dc 9927 clr r25
5126 31de 9093 0000 sts (DebugOut+22)+1,r25
5127 31e2 8093 0000 sts DebugOut+22,r24
5128 31e6 8091 0000 lds r24,Mittelwert_AccHoch
5129 31ea 9091 0000 lds r25,(Mittelwert_AccHoch)+1
5130 31ee 9093 0000 sts (DebugOut+34)+1,r25
5131 31f2 8093 0000 sts DebugOut+34,r24
5132 .L704:
5133 31f6 8091 0000 lds r24,Looping_Nick
5134 31fa C090 0000 lds r12,MesswertNick
5135 31fe D090 0000 lds r13,(MesswertNick)+1
5136 3202 8823 tst r24
5137 3204 01F0 breq .L706
5138 3206 B601 movw r22,r12
5139 3208 8827 clr r24
5140 320a 77FD sbrc r23,7
5141 320c 8095 com r24
5142 320e 982F mov r25,r24
5143 3210 0E94 0000 call __floatsisf
5144 3214 2091 0000 lds r18,GyroFaktor
5145 3218 3091 0000 lds r19,(GyroFaktor)+1
5146 321c 4091 0000 lds r20,(GyroFaktor)+2
5147 3220 5091 0000 lds r21,(GyroFaktor)+3
5148 3224 0E94 0000 call __mulsf3
5149 3228 00C0 rjmp .L802
5150 .L706:
5151 322a 6091 0000 lds r22,IntegralNick
5152 322e 7091 0000 lds r23,(IntegralNick)+1
5153 3232 8091 0000 lds r24,(IntegralNick)+2
5154 3236 9091 0000 lds r25,(IntegralNick)+3
5155 323a 0E94 0000 call __floatsisf
5156 323e 2091 0000 lds r18,IntegralFaktor
5157 3242 3091 0000 lds r19,(IntegralFaktor)+1
5158 3246 4091 0000 lds r20,(IntegralFaktor)+2
5159 324a 5091 0000 lds r21,(IntegralFaktor)+3
5160 324e 0E94 0000 call __mulsf3
5161 3252 7B01 movw r14,r22
5162 3254 8C01 movw r16,r24
5163 3256 B601 movw r22,r12
5164 3258 8827 clr r24
5165 325a 77FD sbrc r23,7
5166 325c 8095 com r24
5167 325e 982F mov r25,r24
5168 3260 0E94 0000 call __floatsisf
5169 3264 2091 0000 lds r18,GyroFaktor
5170 3268 3091 0000 lds r19,(GyroFaktor)+1
5171 326c 4091 0000 lds r20,(GyroFaktor)+2
5172 3270 5091 0000 lds r21,(GyroFaktor)+3
5173 3274 0E94 0000 call __mulsf3
5174 3278 9B01 movw r18,r22
5175 327a AC01 movw r20,r24
5176 327c C801 movw r24,r16
5177 327e B701 movw r22,r14
5178 3280 0E94 0000 call __addsf3
5179 .L802:
5180 3284 0E94 0000 call __fixsfsi
5181 3288 7093 0000 sts (MesswertNick)+1,r23
5182 328c 6093 0000 sts MesswertNick,r22
5183 3290 8091 0000 lds r24,Looping_Roll
5184 3294 C090 0000 lds r12,MesswertRoll
5185 3298 D090 0000 lds r13,(MesswertRoll)+1
5186 329c 8823 tst r24
5187 329e 01F0 breq .L709
5188 32a0 B601 movw r22,r12
5189 32a2 8827 clr r24
5190 32a4 77FD sbrc r23,7
5191 32a6 8095 com r24
5192 32a8 982F mov r25,r24
5193 32aa 0E94 0000 call __floatsisf
5194 32ae 2091 0000 lds r18,GyroFaktor
5195 32b2 3091 0000 lds r19,(GyroFaktor)+1
5196 32b6 4091 0000 lds r20,(GyroFaktor)+2
5197 32ba 5091 0000 lds r21,(GyroFaktor)+3
5198 32be 0E94 0000 call __mulsf3
5199 32c2 00C0 rjmp .L803
5200 .L709:
5201 32c4 6091 0000 lds r22,IntegralRoll
5202 32c8 7091 0000 lds r23,(IntegralRoll)+1
5203 32cc 8091 0000 lds r24,(IntegralRoll)+2
5204 32d0 9091 0000 lds r25,(IntegralRoll)+3
5205 32d4 0E94 0000 call __floatsisf
5206 32d8 2091 0000 lds r18,IntegralFaktor
5207 32dc 3091 0000 lds r19,(IntegralFaktor)+1
5208 32e0 4091 0000 lds r20,(IntegralFaktor)+2
5209 32e4 5091 0000 lds r21,(IntegralFaktor)+3
5210 32e8 0E94 0000 call __mulsf3
5211 32ec 7B01 movw r14,r22
5212 32ee 8C01 movw r16,r24
5213 32f0 B601 movw r22,r12
5214 32f2 8827 clr r24
5215 32f4 77FD sbrc r23,7
5216 32f6 8095 com r24
5217 32f8 982F mov r25,r24
5218 32fa 0E94 0000 call __floatsisf
5219 32fe 2091 0000 lds r18,GyroFaktor
5220 3302 3091 0000 lds r19,(GyroFaktor)+1
5221 3306 4091 0000 lds r20,(GyroFaktor)+2
5222 330a 5091 0000 lds r21,(GyroFaktor)+3
5223 330e 0E94 0000 call __mulsf3
5224 3312 9B01 movw r18,r22
5225 3314 AC01 movw r20,r24
5226 3316 C801 movw r24,r16
5227 3318 B701 movw r22,r14
5228 331a 0E94 0000 call __addsf3
5229 .L803:
5230 331e 0E94 0000 call __fixsfsi
5231 3322 7093 0000 sts (MesswertRoll)+1,r23
5232 3326 6093 0000 sts MesswertRoll,r22
5233 332a 2091 0000 lds r18,IntegralFaktor
5234 332e 3091 0000 lds r19,(IntegralFaktor)+1
5235 3332 4091 0000 lds r20,(IntegralFaktor)+2
5236 3336 5091 0000 lds r21,(IntegralFaktor)+3
5237 333a 2AA3 std Y+34,r18
5238 333c 3BA3 std Y+35,r19
5239 333e 4CA3 std Y+36,r20
5240 3340 5DA3 std Y+37,r21
5241 3342 6091 0000 lds r22,MesswertGier
5242 3346 7091 0000 lds r23,(MesswertGier)+1
5243 334a 8827 clr r24
5244 334c 77FD sbrc r23,7
5245 334e 8095 com r24
5246 3350 982F mov r25,r24
5247 3352 0E94 0000 call __floatsisf
5248 3356 7B01 movw r14,r22
5249 3358 8C01 movw r16,r24
5250 335a 6091 0000 lds r22,GyroFaktor
5251 335e 7091 0000 lds r23,(GyroFaktor)+1
5252 3362 8091 0000 lds r24,(GyroFaktor)+2
5253 3366 9091 0000 lds r25,(GyroFaktor)+3
5254 336a 9B01 movw r18,r22
5255 336c AC01 movw r20,r24
5256 336e 0E94 0000 call __addsf3
5257 3372 9B01 movw r18,r22
5258 3374 AC01 movw r20,r24
5259 3376 C801 movw r24,r16
5260 3378 B701 movw r22,r14
5261 337a 0E94 0000 call __mulsf3
5262 337e 7B01 movw r14,r22
5263 3380 8C01 movw r16,r24
5264 3382 6091 0000 lds r22,Integral_Gier
5265 3386 7091 0000 lds r23,(Integral_Gier)+1
5266 338a 8091 0000 lds r24,(Integral_Gier)+2
5267 338e 9091 0000 lds r25,(Integral_Gier)+3
5268 3392 0E94 0000 call __floatsisf
5269 3396 2AA1 ldd r18,Y+34
5270 3398 3BA1 ldd r19,Y+35
5271 339a 4CA1 ldd r20,Y+36
5272 339c 5DA1 ldd r21,Y+37
5273 339e 0E94 0000 call __mulsf3
5274 33a2 20E0 ldi r18,lo8(0x3f000000)
5275 33a4 30E0 ldi r19,hi8(0x3f000000)
5276 33a6 40E0 ldi r20,hlo8(0x3f000000)
5277 33a8 5FE3 ldi r21,hhi8(0x3f000000)
5278 33aa 0E94 0000 call __mulsf3
5279 33ae 9B01 movw r18,r22
5280 33b0 AC01 movw r20,r24
5281 33b2 C801 movw r24,r16
5282 33b4 B701 movw r22,r14
5283 33b6 0E94 0000 call __addsf3
5284 33ba 0E94 0000 call __fixsfsi
5285 33be 8B01 movw r16,r22
5286 33c0 7093 0000 sts (MesswertGier)+1,r23
5287 33c4 6093 0000 sts MesswertGier,r22
5288 33c8 6091 0000 lds r22,IntegralRoll
5289 33cc 7091 0000 lds r23,(IntegralRoll)+1
5290 33d0 8091 0000 lds r24,(IntegralRoll)+2
5291 33d4 9091 0000 lds r25,(IntegralRoll)+3
5292 33d8 0E94 0000 call __floatsisf
5293 33dc 2AA1 ldd r18,Y+34
5294 33de 3BA1 ldd r19,Y+35
5295 33e0 4CA1 ldd r20,Y+36
5296 33e2 5DA1 ldd r21,Y+37
5297 33e4 0E94 0000 call __mulsf3
5298 33e8 6987 std Y+9,r22
5299 33ea 7A87 std Y+10,r23
5300 33ec 8B87 std Y+11,r24
5301 33ee 9C87 std Y+12,r25
5302 33f0 0E94 0000 call __fixunssfsi
5303 33f4 7093 0000 sts (DebugOut+52)+1,r23
5304 33f8 6093 0000 sts DebugOut+52,r22
5305 33fc 4091 0000 lds r20,StickRoll
5306 3400 5091 0000 lds r21,(StickRoll)+1
5307 3404 5DA7 std Y+45,r21
5308 3406 4CA7 std Y+44,r20
5309 3408 5093 0000 sts (DebugOut+64)+1,r21
5310 340c 4093 0000 sts DebugOut+64,r20
5311 3410 2091 0000 lds r18,MesswertRoll
5312 3414 3091 0000 lds r19,(MesswertRoll)+1
5313 3418 3093 0000 sts (DebugOut+58)+1,r19
5314 341c 2093 0000 sts DebugOut+58,r18
5315 3420 8091 0000 lds r24,MesswertNick
5316 3424 9091 0000 lds r25,(MesswertNick)+1
5317 3428 58E0 ldi r21,hi8(2049)
5318 342a 8130 cpi r24,lo8(2049)
5319 342c 9507 cpc r25,r21
5320 342e 04F0 brlt .L712
5321 3430 80E0 ldi r24,lo8(2048)
5322 3432 98E0 ldi r25,hi8(2048)
5323 3434 00C0 rjmp .L804
5324 .L712:
5325 3436 8050 subi r24,lo8(-2048)
5326 3438 984F sbci r25,hi8(-2048)
5327 343a 04F4 brge .L714
5328 343c 80E0 ldi r24,lo8(-2048)
5329 343e 98EF ldi r25,hi8(-2048)
5330 .L804:
5331 3440 9093 0000 sts (MesswertNick)+1,r25
5332 3444 8093 0000 sts MesswertNick,r24
5333 .L714:
5334 3448 78E0 ldi r23,hi8(2049)
5335 344a 2130 cpi r18,lo8(2049)
5336 344c 3707 cpc r19,r23
5337 344e 04F0 brlt .L716
5338 3450 80E0 ldi r24,lo8(2048)
5339 3452 98E0 ldi r25,hi8(2048)
5340 3454 00C0 rjmp .L805
5341 .L716:
5342 3456 2050 subi r18,lo8(-2048)
5343 3458 384F sbci r19,hi8(-2048)
5344 345a 04F4 brge .L718
5345 345c 80E0 ldi r24,lo8(-2048)
5346 345e 98EF ldi r25,hi8(-2048)
5347 .L805:
5348 3460 9093 0000 sts (MesswertRoll)+1,r25
5349 3464 8093 0000 sts MesswertRoll,r24
5350 .L718:
5351 3468 98E0 ldi r25,hi8(2049)
5352 346a 0130 cpi r16,lo8(2049)
5353 346c 1907 cpc r17,r25
5354 346e 04F0 brlt .L720
5355 3470 80E0 ldi r24,lo8(2048)
5356 3472 98E0 ldi r25,hi8(2048)
5357 3474 00C0 rjmp .L806
5358 .L720:
5359 3476 0050 subi r16,lo8(-2048)
5360 3478 184F sbci r17,hi8(-2048)
5361 347a 04F4 brge .L722
5362 347c 80E0 ldi r24,lo8(-2048)
5363 347e 98EF ldi r25,hi8(-2048)
5364 .L806:
5365 3480 9093 0000 sts (MesswertGier)+1,r25
5366 3484 8093 0000 sts MesswertGier,r24
5367 .L722:
5368 3488 8091 0000 lds r24,EE_Parameter+8
5369 348c 9927 clr r25
5370 348e 80FF sbrs r24,0
5371 3490 00C0 rjmp .L724
5372 3492 4091 0000 lds r20,Parameter_MaxHoehe
5373 3496 81FF sbrs r24,1
5374 3498 00C0 rjmp .L726
5375 349a 4233 cpi r20,lo8(50)
5376 349c 00F4 brsh .L807
5377 349e 8091 0000 lds r24,HoehenWert
5378 34a2 9091 0000 lds r25,(HoehenWert)+1
5379 34a6 4497 sbiw r24,20
5380 34a8 9093 0000 sts (SollHoehe)+1,r25
5381 34ac 8093 0000 sts SollHoehe,r24
5382 34b0 1092 0000 sts HoehenReglerAktiv,__zero_reg__
5383 34b4 00C0 rjmp .L730
5384 .L726:
5385 34b6 2091 0000 lds r18,ExternHoehenValue
5386 34ba 3091 0000 lds r19,(ExternHoehenValue)+1
5387 34be 240F add r18,r20
5388 34c0 311D adc r19,__zero_reg__
5389 34c2 8091 0000 lds r24,EE_Parameter+13
5390 34c6 9927 clr r25
5391 34c8 FC01 movw r30,r24
5392 34ca 2E9F mul r18,r30
5393 34cc C001 movw r24,r0
5394 34ce 2F9F mul r18,r31
5395 34d0 900D add r25,r0
5396 34d2 3E9F mul r19,r30
5397 34d4 900D add r25,r0
5398 34d6 1124 clr r1
5399 34d8 4497 sbiw r24,20
5400 34da 9093 0000 sts (SollHoehe)+1,r25
5401 34de 8093 0000 sts SollHoehe,r24
5402 .L807:
5403 34e2 81E0 ldi r24,lo8(1)
5404 34e4 8093 0000 sts HoehenReglerAktiv,r24
5405 .L730:
5406 34e8 8091 0000 lds r24,Notlandung
5407 34ec 8823 tst r24
5408 34ee 01F0 breq .L731
5409 34f0 1092 0000 sts (SollHoehe)+1,__zero_reg__
5410 34f4 1092 0000 sts SollHoehe,__zero_reg__
5411 .L731:
5412 34f8 2091 0000 lds r18,HoehenWert
5413 34fc 3091 0000 lds r19,(HoehenWert)+1
5414 3500 4091 0000 lds r20,SollHoehe
5415 3504 5091 0000 lds r21,(SollHoehe)+1
5416 3508 4217 cp r20,r18
5417 350a 5307 cpc r21,r19
5418 350c 04F0 brlt .+2
5419 350e 00C0 rjmp .L724
5420 3510 8091 0000 lds r24,HoehenReglerAktiv
5421 3514 8823 tst r24
5422 3516 01F4 brne .+2
5423 3518 00C0 rjmp .L724
5424 351a 241B sub r18,r20
5425 351c 350B sbc r19,r21
5426 351e 8091 0000 lds r24,Parameter_Hoehe_P
5427 3522 9927 clr r25
5428 3524 AC01 movw r20,r24
5429 3526 249F mul r18,r20
5430 3528 C001 movw r24,r0
5431 352a 259F mul r18,r21
5432 352c 900D add r25,r0
5433 352e 349F mul r19,r20
5434 3530 900D add r25,r0
5435 3532 1124 clr r1
5436 3534 60E1 ldi r22,lo8(16)
5437 3536 70E0 ldi r23,hi8(16)
5438 3538 0E94 0000 call __divmodhi4
5439 353c 0B81 ldd r16,Y+3
5440 353e 1C81 ldd r17,Y+4
5441 3540 061B sub r16,r22
5442 3542 170B sbc r17,r23
5443 3544 2091 0000 lds r18,HoeheD
5444 3548 3091 0000 lds r19,(HoeheD)+1
5445 354c 8091 0000 lds r24,Parameter_Luftdruck_D
5446 3550 9927 clr r25
5447 3552 BC01 movw r22,r24
5448 3554 269F mul r18,r22
5449 3556 C001 movw r24,r0
5450 3558 279F mul r18,r23
5451 355a 900D add r25,r0
5452 355c 369F mul r19,r22
5453 355e 900D add r25,r0
5454 3560 1124 clr r1
5455 3562 68E0 ldi r22,lo8(8)
5456 3564 70E0 ldi r23,hi8(8)
5457 3566 0E94 0000 call __divmodhi4
5458 356a 061B sub r16,r22
5459 356c 170B sbc r17,r23
5460 356e 6091 0000 lds r22,Mess_Integral_Hoch
5461 3572 7091 0000 lds r23,(Mess_Integral_Hoch)+1
5462 3576 8091 0000 lds r24,(Mess_Integral_Hoch)+2
5463 357a 9091 0000 lds r25,(Mess_Integral_Hoch)+3
5464 357e 20E0 ldi r18,lo8(512)
5465 3580 32E0 ldi r19,hi8(512)
5466 3582 40E0 ldi r20,hlo8(512)
5467 3584 50E0 ldi r21,hhi8(512)
5468 3586 0E94 0000 call __divmodsi4
5469 358a CA01 movw r24,r20
5470 358c B901 movw r22,r18
5471 358e 2091 0000 lds r18,Parameter_Hoehe_ACC_Wirkung
5472 3592 3327 clr r19
5473 3594 4427 clr r20
5474 3596 5527 clr r21
5475 3598 0E94 0000 call __mulsi3
5476 359c 20E2 ldi r18,lo8(32)
5477 359e 30E0 ldi r19,hi8(32)
5478 35a0 40E0 ldi r20,hlo8(32)
5479 35a2 50E0 ldi r21,hhi8(32)
5480 35a4 0E94 0000 call __divmodsi4
5481 35a8 7FEF ldi r23,hi8(-50)
5482 35aa 2E3C cpi r18,lo8(-50)
5483 35ac 3707 cpc r19,r23
5484 35ae 04F4 brge .L735
5485 35b0 2EEC ldi r18,lo8(-50)
5486 35b2 3FEF ldi r19,hi8(-50)
5487 .L735:
5488 35b4 8091 0000 lds r24,hoehenregler.2503
5489 35b8 9091 0000 lds r25,(hoehenregler.2503)+1
5490 35bc AC01 movw r20,r24
5491 35be E4E0 ldi r30,4
5492 35c0 440F 1: lsl r20
5493 35c2 551F rol r21
5494 35c4 EA95 dec r30
5495 35c6 01F4 brne 1b
5496 35c8 481B sub r20,r24
5497 35ca 590B sbc r21,r25
5498 35cc 2333 cpi r18,51
5499 35ce 3105 cpc r19,__zero_reg__
5500 35d0 04F0 brlt .L736
5501 35d2 22E3 ldi r18,lo8(50)
5502 35d4 30E0 ldi r19,hi8(50)
5503 .L736:
5504 35d6 021B sub r16,r18
5505 35d8 130B sbc r17,r19
5506 35da CA01 movw r24,r20
5507 35dc 800F add r24,r16
5508 35de 911F adc r25,r17
5509 35e0 60E1 ldi r22,lo8(16)
5510 35e2 70E0 ldi r23,hi8(16)
5511 35e4 0E94 0000 call __divmodhi4
5512 35e8 7093 0000 sts (hoehenregler.2503)+1,r23
5513 35ec 6093 0000 sts hoehenregler.2503,r22
5514 35f0 8091 0000 lds r24,EE_Parameter+9
5515 35f4 9927 clr r25
5516 35f6 6817 cp r22,r24
5517 35f8 7907 cpc r23,r25
5518 35fa 04F4 brge .L737
5519 35fc AB81 ldd r26,Y+3
5520 35fe BC81 ldd r27,Y+4
5521 3600 A817 cp r26,r24
5522 3602 B907 cpc r27,r25
5523 3604 04F0 brlt .L739
5524 3606 9093 0000 sts (hoehenregler.2503)+1,r25
5525 360a 8093 0000 sts hoehenregler.2503,r24
5526 360e 00C0 rjmp .L737
5527 .L739:
5528 3610 EB81 ldd r30,Y+3
5529 3612 FC81 ldd r31,Y+4
5530 3614 F093 0000 sts (hoehenregler.2503)+1,r31
5531 3618 E093 0000 sts hoehenregler.2503,r30
5532 361c 00C0 rjmp .L741
5533 .L737:
5534 361e 8091 0000 lds r24,hoehenregler.2503
5535 3622 9091 0000 lds r25,(hoehenregler.2503)+1
5536 3626 2B81 ldd r18,Y+3
5537 3628 3C81 ldd r19,Y+4
5538 362a 2817 cp r18,r24
5539 362c 3907 cpc r19,r25
5540 362e 04F4 brge .L741
5541 3630 3093 0000 sts (hoehenregler.2503)+1,r19
5542 3634 2093 0000 sts hoehenregler.2503,r18
5543 .L741:
5544 3638 4091 0000 lds r20,hoehenregler.2503
5545 363c 5091 0000 lds r21,(hoehenregler.2503)+1
5546 3640 5C83 std Y+4,r21
5547 3642 4B83 std Y+3,r20
5548 .L724:
5549 3644 8091 0000 lds r24,MAX_GAS
5550 3648 682E mov r6,r24
5551 364a 7724 clr r7
5552 364c 7CEE ldi r23,lo8(-20)
5553 364e 872E mov r8,r23
5554 3650 7FEF ldi r23,hi8(-20)
5555 3652 972E mov r9,r23
5556 3654 860C add r8,r6
5557 3656 971C adc r9,r7
5558 3658 6B81 ldd r22,Y+3
5559 365a 7C81 ldd r23,Y+4
5560 365c 6815 cp r22,r8
5561 365e 7905 cpc r23,r9
5562 3660 04F4 brge .L743
5563 3662 4B01 movw r8,r22
5564 .L743:
5565 3664 9092 0000 sts (DebugOut+16)+1,r9
5566 3668 8092 0000 sts DebugOut+16,r8
5567 366c E091 0000 lds r30,MesswertGier
5568 3670 F091 0000 lds r31,(MesswertGier)+1
5569 3674 0091 0000 lds r16,sollGier.2493
5570 3678 1091 0000 lds r17,(sollGier.2493)+1
5571 367c 2091 0000 lds r18,(sollGier.2493)+2
5572 3680 3091 0000 lds r19,(sollGier.2493)+3
5573 3684 74E1 ldi r23,lo8(20)
5574 3686 8716 cp r8,r23
5575 3688 9104 cpc r9,__zero_reg__
5576 368a 04F4 brge .L744
5577 368c 2224 clr r2
5578 368e 3324 clr r3
5579 3690 00C0 rjmp .L746
5580 .L744:
5581 3692 C401 movw r24,r8
5582 3694 62E0 ldi r22,lo8(2)
5583 3696 70E0 ldi r23,hi8(2)
5584 3698 0E94 0000 call __divmodhi4
5585 369c 9F01 movw r18,r30
5586 369e 201B sub r18,r16
5587 36a0 310B sbc r19,r17
5588 36a2 CB01 movw r24,r22
5589 36a4 2617 cp r18,r22
5590 36a6 3707 cpc r19,r23
5591 36a8 04F4 brge .L747
5592 36aa C901 movw r24,r18
5593 .L747:
5594 36ac 7095 com r23
5595 36ae 6195 neg r22
5596 36b0 7F4F sbci r23,lo8(-1)
5597 36b2 6817 cp r22,r24
5598 36b4 7907 cpc r23,r25
5599 36b6 04F4 brge .L748
5600 36b8 BC01 movw r22,r24
5601 .L748:
5602 36ba C301 movw r24,r6
5603 36bc 8819 sub r24,r8
5604 36be 9909 sbc r25,r9
5605 36c0 6817 cp r22,r24
5606 36c2 7907 cpc r23,r25
5607 36c4 04F4 brge .L749
5608 36c6 CB01 movw r24,r22
5609 .L749:
5610 36c8 1401 movw r2,r8
5611 36ca 2618 sub r2,r6
5612 36cc 3708 sbc r3,r7
5613 36ce 2816 cp r2,r24
5614 36d0 3906 cpc r3,r25
5615 36d2 04F4 brge .L746
5616 36d4 1C01 movw r2,r24
5617 .L746:
5618 36d6 4090 0000 lds r4,StickNick
5619 36da 5090 0000 lds r5,(StickNick)+1
5620 36de 8091 0000 lds r24,GPS_Nick
5621 36e2 9091 0000 lds r25,(GPS_Nick)+1
5622 36e6 481A sub r4,r24
5623 36e8 590A sbc r5,r25
5624 36ea 8091 0000 lds r24,MesswertNick
5625 36ee 9091 0000 lds r25,(MesswertNick)+1
5626 36f2 8419 sub r24,r4
5627 36f4 9509 sbc r25,r5
5628 36f6 9093 0000 sts (DiffNick)+1,r25
5629 36fa 8093 0000 sts DiffNick,r24
5630 36fe 20E0 ldi r18,lo8(0x0)
5631 3700 30E0 ldi r19,hi8(0x0)
5632 3702 40E0 ldi r20,hlo8(0x0)
5633 3704 50E0 ldi r21,hhi8(0x0)
5634 3706 6AA1 ldd r22,Y+34
5635 3708 7BA1 ldd r23,Y+35
5636 370a 8CA1 ldd r24,Y+36
5637 370c 9DA1 ldd r25,Y+37
5638 370e 0E94 0000 call __nesf2
5639 3712 8823 tst r24
5640 3714 01F0 breq .L751
5641 3716 6091 0000 lds r22,SummeNick.2491
5642 371a 7091 0000 lds r23,(SummeNick.2491)+1
5643 371e 8091 0000 lds r24,(SummeNick.2491)+2
5644 3722 9091 0000 lds r25,(SummeNick.2491)+3
5645 3726 0E94 0000 call __floatsisf
5646 372a 5B01 movw r10,r22
5647 372c 6C01 movw r12,r24
5648 372e 6091 0000 lds r22,IntegralNick
5649 3732 7091 0000 lds r23,(IntegralNick)+1
5650 3736 8091 0000 lds r24,(IntegralNick)+2
5651 373a 9091 0000 lds r25,(IntegralNick)+3
5652 373e 0E94 0000 call __floatsisf
5653 3742 2AA1 ldd r18,Y+34
5654 3744 3BA1 ldd r19,Y+35
5655 3746 4CA1 ldd r20,Y+36
5656 3748 5DA1 ldd r21,Y+37
5657 374a 0E94 0000 call __mulsf3
5658 374e 7B01 movw r14,r22
5659 3750 8C01 movw r16,r24
5660 3752 B201 movw r22,r4
5661 3754 8827 clr r24
5662 3756 77FD sbrc r23,7
5663 3758 8095 com r24
5664 375a 982F mov r25,r24
5665 375c 0E94 0000 call __floatsisf
5666 3760 9B01 movw r18,r22
5667 3762 AC01 movw r20,r24
5668 3764 C801 movw r24,r16
5669 3766 B701 movw r22,r14
5670 3768 0E94 0000 call __subsf3
5671 376c 9B01 movw r18,r22
5672 376e AC01 movw r20,r24
5673 3770 C601 movw r24,r12
5674 3772 B501 movw r22,r10
5675 3774 0E94 0000 call __addsf3
5676 3778 0E94 0000 call __fixsfsi
5677 377c 6093 0000 sts SummeNick.2491,r22
5678 3780 7093 0000 sts (SummeNick.2491)+1,r23
5679 3784 8093 0000 sts (SummeNick.2491)+2,r24
5680 3788 9093 0000 sts (SummeNick.2491)+3,r25
5681 378c 00C0 rjmp .L754
5682 .L751:
5683 378e 2091 0000 lds r18,DiffNick
5684 3792 3091 0000 lds r19,(DiffNick)+1
5685 3796 4427 clr r20
5686 3798 37FD sbrc r19,7
5687 379a 4095 com r20
5688 379c 542F mov r21,r20
5689 379e 8091 0000 lds r24,SummeNick.2491
5690 37a2 9091 0000 lds r25,(SummeNick.2491)+1
5691 37a6 A091 0000 lds r26,(SummeNick.2491)+2
5692 37aa B091 0000 lds r27,(SummeNick.2491)+3
5693 37ae 820F add r24,r18
5694 37b0 931F adc r25,r19
5695 37b2 A41F adc r26,r20
5696 37b4 B51F adc r27,r21
5697 37b6 8093 0000 sts SummeNick.2491,r24
5698 37ba 9093 0000 sts (SummeNick.2491)+1,r25
5699 37be A093 0000 sts (SummeNick.2491)+2,r26
5700 37c2 B093 0000 sts (SummeNick.2491)+3,r27
5701 .L754:
5702 37c6 8091 0000 lds r24,SummeNick.2491
5703 37ca 9091 0000 lds r25,(SummeNick.2491)+1
5704 37ce A091 0000 lds r26,(SummeNick.2491)+2
5705 37d2 B091 0000 lds r27,(SummeNick.2491)+3
5706 37d6 8138 cpi r24,lo8(16001)
5707 37d8 EEE3 ldi r30,hi8(16001)
5708 37da 9E07 cpc r25,r30
5709 37dc E0E0 ldi r30,hlo8(16001)
5710 37de AE07 cpc r26,r30
5711 37e0 E0E0 ldi r30,hhi8(16001)
5712 37e2 BE07 cpc r27,r30
5713 37e4 04F0 brlt .L755
5714 37e6 80E8 ldi r24,lo8(16000)
5715 37e8 9EE3 ldi r25,hi8(16000)
5716 37ea A0E0 ldi r26,hlo8(16000)
5717 37ec B0E0 ldi r27,hhi8(16000)
5718 37ee 00C0 rjmp .L808
5719 .L755:
5720 37f0 8058 subi r24,lo8(-16000)
5721 37f2 914C sbci r25,hi8(-16000)
5722 37f4 AF4F sbci r26,hlo8(-16000)
5723 37f6 BF4F sbci r27,hhi8(-16000)
5724 37f8 04F4 brge .L757
5725 37fa 80E8 ldi r24,lo8(-16000)
5726 37fc 91EC ldi r25,hi8(-16000)
5727 37fe AFEF ldi r26,hlo8(-16000)
5728 3800 BFEF ldi r27,hhi8(-16000)
5729 .L808:
5730 3802 8093 0000 sts SummeNick.2491,r24
5731 3806 9093 0000 sts (SummeNick.2491)+1,r25
5732 380a A093 0000 sts (SummeNick.2491)+2,r26
5733 380e B093 0000 sts (SummeNick.2491)+3,r27
5734 .L757:
5735 3812 6091 0000 lds r22,DiffNick
5736 3816 7091 0000 lds r23,(DiffNick)+1
5737 381a 2091 0000 lds r18,Ki
5738 381e 3091 0000 lds r19,(Ki)+1
5739 3822 4091 0000 lds r20,(Ki)+2
5740 3826 5091 0000 lds r21,(Ki)+3
5741 382a 2D83 std Y+5,r18
5742 382c 3E83 std Y+6,r19
5743 382e 4F83 std Y+7,r20
5744 3830 5887 std Y+8,r21
5745 3832 8827 clr r24
5746 3834 77FD sbrc r23,7
5747 3836 8095 com r24
5748 3838 982F mov r25,r24
5749 383a 0E94 0000 call __floatsisf
5750 383e 7B01 movw r14,r22
5751 3840 8C01 movw r16,r24
5752 3842 6091 0000 lds r22,SummeNick.2491
5753 3846 7091 0000 lds r23,(SummeNick.2491)+1
5754 384a 8091 0000 lds r24,(SummeNick.2491)+2
5755 384e 9091 0000 lds r25,(SummeNick.2491)+3
5756 3852 0E94 0000 call __floatsisf
5757 3856 9B01 movw r18,r22
5758 3858 AC01 movw r20,r24
5759 385a 6D81 ldd r22,Y+5
5760 385c 7E81 ldd r23,Y+6
5761 385e 8F81 ldd r24,Y+7
5762 3860 9885 ldd r25,Y+8
5763 3862 0E94 0000 call __mulsf3
5764 3866 9B01 movw r18,r22
5765 3868 AC01 movw r20,r24
5766 386a C801 movw r24,r16
5767 386c B701 movw r22,r14
5768 386e 0E94 0000 call __addsf3
5769 3872 0E94 0000 call __fixsfsi
5770 3876 5B01 movw r10,r22
5771 3878 6C01 movw r12,r24
5772 387a 7DAF std Y+61,r23
5773 387c 6CAF std Y+60,r22
5774 387e 8091 0000 lds r24,Parameter_DynamicStability
5775 3882 E82E mov r14,r24
5776 3884 FF24 clr r15
5777 3886 0027 clr r16
5778 3888 1127 clr r17
5779 388a C101 movw r24,r2
5780 388c 37FE sbrs r3,7
5781 388e 00C0 rjmp .L759
5782 3890 8827 clr r24
5783 3892 9927 clr r25
5784 3894 8219 sub r24,r2
5785 3896 9309 sbc r25,r3
5786 .L759:
5787 3898 62E0 ldi r22,lo8(2)
5788 389a 70E0 ldi r23,hi8(2)
5789 389c 0E94 0000 call __divmodhi4
5790 38a0 9B01 movw r18,r22
5791 38a2 280D add r18,r8
5792 38a4 391D adc r19,r9
5793 38a6 4427 clr r20
5794 38a8 37FD sbrc r19,7
5795 38aa 4095 com r20
5796 38ac 542F mov r21,r20
5797 38ae C801 movw r24,r16
5798 38b0 B701 movw r22,r14
5799 38b2 0E94 0000 call __mulsi3
5800 38b6 20E4 ldi r18,lo8(64)
5801 38b8 30E0 ldi r19,hi8(64)
5802 38ba 40E0 ldi r20,hlo8(64)
5803 38bc 50E0 ldi r21,hhi8(64)
5804 38be 0E94 0000 call __divmodsi4
5805 38c2 2901 movw r4,r18
5806 38c4 4CAD ldd r20,Y+60
5807 38c6 5DAD ldd r21,Y+61
5808 38c8 4415 cp r20,r4
5809 38ca 5505 cpc r21,r5
5810 38cc 04F4 brge .L760
5811 38ce 9501 movw r18,r10
5812 .L760:
5813 38d0 AA24 clr r10
5814 38d2 BB24 clr r11
5815 38d4 A418 sub r10,r4
5816 38d6 B508 sbc r11,r5
5817 38d8 A501 movw r20,r10
5818 38da A216 cp r10,r18
5819 38dc B306 cpc r11,r19
5820 38de 04F4 brge .L761
5821 38e0 A901 movw r20,r18
5822 .L761:
5823 38e2 C401 movw r24,r8
5824 38e4 820D add r24,r2
5825 38e6 931D adc r25,r3
5826 38e8 840F add r24,r20
5827 38ea 951F adc r25,r21
5828 38ec 97FF sbrs r25,7
5829 38ee 00C0 rjmp .L762
5830 38f0 20E0 ldi r18,lo8(0)
5831 38f2 30E0 ldi r19,hi8(0)
5832 38f4 00C0 rjmp .L764
5833 .L762:
5834 38f6 9301 movw r18,r6
5835 38f8 8615 cp r24,r6
5836 38fa 9705 cpc r25,r7
5837 38fc 04F4 brge .L764
5838 38fe 9C01 movw r18,r24
5839 .L764:
5840 3900 8091 0000 lds r24,MIN_GAS
5841 3904 C82E mov r12,r24
5842 3906 DD24 clr r13
5843 3908 C601 movw r24,r12
5844 390a C216 cp r12,r18
5845 390c D306 cpc r13,r19
5846 390e 04F4 brge .L766
5847 3910 C901 movw r24,r18
5848 .L766:
5849 3912 8093 0000 sts Motor_Vorne,r24
5850 3916 C401 movw r24,r8
5851 3918 841B sub r24,r20
5852 391a 950B sbc r25,r21
5853 391c 820D add r24,r2
5854 391e 931D adc r25,r3
5855 3920 97FF sbrs r25,7
5856 3922 00C0 rjmp .L767
5857 3924 20E0 ldi r18,lo8(0)
5858 3926 30E0 ldi r19,hi8(0)
5859 3928 00C0 rjmp .L769
5860 .L767:
5861 392a 9301 movw r18,r6
5862 392c 8615 cp r24,r6
5863 392e 9705 cpc r25,r7
5864 3930 04F4 brge .L769
5865 3932 9C01 movw r18,r24
5866 .L769:
5867 3934 C601 movw r24,r12
5868 3936 C216 cp r12,r18
5869 3938 D306 cpc r13,r19
5870 393a 04F4 brge .L771
5871 393c C901 movw r24,r18
5872 .L771:
5873 393e 8093 0000 sts Motor_Hinten,r24
5874 3942 8091 0000 lds r24,GPS_Roll
5875 3946 9091 0000 lds r25,(GPS_Roll)+1
5876 394a 6CA5 ldd r22,Y+44
5877 394c 7DA5 ldd r23,Y+45
5878 394e 681B sub r22,r24
5879 3950 790B sbc r23,r25
5880 3952 7DAF std Y+61,r23
5881 3954 6CAF std Y+60,r22
5882 3956 8091 0000 lds r24,MesswertRoll
5883 395a 9091 0000 lds r25,(MesswertRoll)+1
5884 395e 861B sub r24,r22
5885 3960 970B sbc r25,r23
5886 3962 9093 0000 sts (DiffRoll)+1,r25
5887 3966 8093 0000 sts DiffRoll,r24
5888 396a 20E0 ldi r18,lo8(0x0)
5889 396c 30E0 ldi r19,hi8(0x0)
5890 396e 40E0 ldi r20,hlo8(0x0)
5891 3970 50E0 ldi r21,hhi8(0x0)
5892 3972 6AA1 ldd r22,Y+34
5893 3974 7BA1 ldd r23,Y+35
5894 3976 8CA1 ldd r24,Y+36
5895 3978 9DA1 ldd r25,Y+37
5896 397a 0E94 0000 call __nesf2
5897 397e 8823 tst r24
5898 3980 01F0 breq .L772
5899 3982 6091 0000 lds r22,SummeRoll.2492
5900 3986 7091 0000 lds r23,(SummeRoll.2492)+1
5901 398a 8091 0000 lds r24,(SummeRoll.2492)+2
5902 398e 9091 0000 lds r25,(SummeRoll.2492)+3
5903 3992 0E94 0000 call __floatsisf
5904 3996 7B01 movw r14,r22
5905 3998 8C01 movw r16,r24
5906 399a ACAD ldd r26,Y+60
5907 399c BDAD ldd r27,Y+61
5908 399e BD01 movw r22,r26
5909 39a0 8827 clr r24
5910 39a2 77FD sbrc r23,7
5911 39a4 8095 com r24
5912 39a6 982F mov r25,r24
5913 39a8 0E94 0000 call __floatsisf
5914 39ac 9B01 movw r18,r22
5915 39ae AC01 movw r20,r24
5916 39b0 6985 ldd r22,Y+9
5917 39b2 7A85 ldd r23,Y+10
5918 39b4 8B85 ldd r24,Y+11
5919 39b6 9C85 ldd r25,Y+12
5920 39b8 0E94 0000 call __subsf3
5921 39bc 9B01 movw r18,r22
5922 39be AC01 movw r20,r24
5923 39c0 C801 movw r24,r16
5924 39c2 B701 movw r22,r14
5925 39c4 0E94 0000 call __addsf3
5926 39c8 0E94 0000 call __fixsfsi
5927 39cc 6093 0000 sts SummeRoll.2492,r22
5928 39d0 7093 0000 sts (SummeRoll.2492)+1,r23
5929 39d4 8093 0000 sts (SummeRoll.2492)+2,r24
5930 39d8 9093 0000 sts (SummeRoll.2492)+3,r25
5931 39dc 00C0 rjmp .L775
5932 .L772:
5933 39de 2091 0000 lds r18,DiffRoll
5934 39e2 3091 0000 lds r19,(DiffRoll)+1
5935 39e6 4427 clr r20
5936 39e8 37FD sbrc r19,7
5937 39ea 4095 com r20
5938 39ec 542F mov r21,r20
5939 39ee 8091 0000 lds r24,SummeRoll.2492
5940 39f2 9091 0000 lds r25,(SummeRoll.2492)+1
5941 39f6 A091 0000 lds r26,(SummeRoll.2492)+2
5942 39fa B091 0000 lds r27,(SummeRoll.2492)+3
5943 39fe 820F add r24,r18
5944 3a00 931F adc r25,r19
5945 3a02 A41F adc r26,r20
5946 3a04 B51F adc r27,r21
5947 3a06 8093 0000 sts SummeRoll.2492,r24
5948 3a0a 9093 0000 sts (SummeRoll.2492)+1,r25
5949 3a0e A093 0000 sts (SummeRoll.2492)+2,r26
5950 3a12 B093 0000 sts (SummeRoll.2492)+3,r27
5951 .L775:
5952 3a16 8091 0000 lds r24,SummeRoll.2492
5953 3a1a 9091 0000 lds r25,(SummeRoll.2492)+1
5954 3a1e A091 0000 lds r26,(SummeRoll.2492)+2
5955 3a22 B091 0000 lds r27,(SummeRoll.2492)+3
5956 3a26 8138 cpi r24,lo8(16001)
5957 3a28 EEE3 ldi r30,hi8(16001)
5958 3a2a 9E07 cpc r25,r30
5959 3a2c E0E0 ldi r30,hlo8(16001)
5960 3a2e AE07 cpc r26,r30
5961 3a30 E0E0 ldi r30,hhi8(16001)
5962 3a32 BE07 cpc r27,r30
5963 3a34 04F0 brlt .L776
5964 3a36 80E8 ldi r24,lo8(16000)
5965 3a38 9EE3 ldi r25,hi8(16000)
5966 3a3a A0E0 ldi r26,hlo8(16000)
5967 3a3c B0E0 ldi r27,hhi8(16000)
5968 3a3e 00C0 rjmp .L809
5969 .L776:
5970 3a40 8058 subi r24,lo8(-16000)
5971 3a42 914C sbci r25,hi8(-16000)
5972 3a44 AF4F sbci r26,hlo8(-16000)
5973 3a46 BF4F sbci r27,hhi8(-16000)
5974 3a48 04F4 brge .L778
5975 3a4a 80E8 ldi r24,lo8(-16000)
5976 3a4c 91EC ldi r25,hi8(-16000)
5977 3a4e AFEF ldi r26,hlo8(-16000)
5978 3a50 BFEF ldi r27,hhi8(-16000)
5979 .L809:
5980 3a52 8093 0000 sts SummeRoll.2492,r24
5981 3a56 9093 0000 sts (SummeRoll.2492)+1,r25
5982 3a5a A093 0000 sts (SummeRoll.2492)+2,r26
5983 3a5e B093 0000 sts (SummeRoll.2492)+3,r27
5984 .L778:
5985 3a62 6091 0000 lds r22,DiffRoll
5986 3a66 7091 0000 lds r23,(DiffRoll)+1
5987 3a6a 8827 clr r24
5988 3a6c 77FD sbrc r23,7
5989 3a6e 8095 com r24
5990 3a70 982F mov r25,r24
5991 3a72 0E94 0000 call __floatsisf
5992 3a76 7B01 movw r14,r22
5993 3a78 8C01 movw r16,r24
5994 3a7a 6091 0000 lds r22,SummeRoll.2492
5995 3a7e 7091 0000 lds r23,(SummeRoll.2492)+1
5996 3a82 8091 0000 lds r24,(SummeRoll.2492)+2
5997 3a86 9091 0000 lds r25,(SummeRoll.2492)+3
5998 3a8a 0E94 0000 call __floatsisf
5999 3a8e 9B01 movw r18,r22
6000 3a90 AC01 movw r20,r24
6001 3a92 6D81 ldd r22,Y+5
6002 3a94 7E81 ldd r23,Y+6
6003 3a96 8F81 ldd r24,Y+7
6004 3a98 9885 ldd r25,Y+8
6005 3a9a 0E94 0000 call __mulsf3
6006 3a9e 9B01 movw r18,r22
6007 3aa0 AC01 movw r20,r24
6008 3aa2 C801 movw r24,r16
6009 3aa4 B701 movw r22,r14
6010 3aa6 0E94 0000 call __addsf3
6011 3aaa 0E94 0000 call __fixsfsi
6012 3aae 9201 movw r18,r4
6013 3ab0 6415 cp r22,r4
6014 3ab2 7505 cpc r23,r5
6015 3ab4 04F4 brge .L780
6016 3ab6 9B01 movw r18,r22
6017 .L780:
6018 3ab8 C501 movw r24,r10
6019 3aba A216 cp r10,r18
6020 3abc B306 cpc r11,r19
6021 3abe 04F4 brge .L781
6022 3ac0 C901 movw r24,r18
6023 .L781:
6024 3ac2 A401 movw r20,r8
6025 3ac4 480F add r20,r24
6026 3ac6 591F adc r21,r25
6027 3ac8 4219 sub r20,r2
6028 3aca 5309 sbc r21,r3
6029 3acc 57FF sbrs r21,7
6030 3ace 00C0 rjmp .L782
6031 3ad0 60E0 ldi r22,lo8(0)
6032 3ad2 70E0 ldi r23,hi8(0)
6033 3ad4 00C0 rjmp .L784
6034 .L782:
6035 3ad6 B301 movw r22,r6
6036 3ad8 4615 cp r20,r6
6037 3ada 5705 cpc r21,r7
6038 3adc 04F4 brge .L784
6039 3ade BA01 movw r22,r20
6040 .L784:
6041 3ae0 A601 movw r20,r12
6042 3ae2 C616 cp r12,r22
6043 3ae4 D706 cpc r13,r23
6044 3ae6 04F4 brge .L786
6045 3ae8 AB01 movw r20,r22
6046 .L786:
6047 3aea 4093 0000 sts Motor_Links,r20
6048 3aee 9401 movw r18,r8
6049 3af0 281B sub r18,r24
6050 3af2 390B sbc r19,r25
6051 3af4 2219 sub r18,r2
6052 3af6 3309 sbc r19,r3
6053 3af8 37FF sbrs r19,7
6054 3afa 00C0 rjmp .L787
6055 3afc 40E0 ldi r20,lo8(0)
6056 3afe 50E0 ldi r21,hi8(0)
6057 3b00 00C0 rjmp .L789
6058 .L787:
6059 3b02 A301 movw r20,r6
6060 3b04 2615 cp r18,r6
6061 3b06 3705 cpc r19,r7
6062 3b08 04F4 brge .L789
6063 3b0a A901 movw r20,r18
6064 .L789:
6065 3b0c C601 movw r24,r12
6066 3b0e C416 cp r12,r20
6067 3b10 D506 cpc r13,r21
6068 3b12 04F0 brlt .+2
6069 3b14 00C0 rjmp .L791
6070 3b16 CA01 movw r24,r20
6071 3b18 00C0 rjmp .L791
6072 .L541:
6073 3b1a 2091 0000 lds r18,ExternStickNick
6074 3b1e 3091 0000 lds r19,(ExternStickNick)+1
6075 3b22 C901 movw r24,r18
6076 3b24 63E0 ldi r22,3
6077 3b26 880F 1: lsl r24
6078 3b28 991F rol r25
6079 3b2a 6A95 dec r22
6080 3b2c 01F4 brne 1b
6081 3b2e 821B sub r24,r18
6082 3b30 930B sbc r25,r19
6083 3b32 68E0 ldi r22,lo8(8)
6084 3b34 70E0 ldi r23,hi8(8)
6085 3b36 0E94 0000 call __divmodhi4
6086 3b3a 7DAF std Y+61,r23
6087 3b3c 6CAF std Y+60,r22
6088 3b3e 7093 0000 sts (ExternStickNick)+1,r23
6089 3b42 6093 0000 sts ExternStickNick,r22
6090 .L797:
6091 3b46 40E0 ldi r20,lo8(0)
6092 3b48 50E0 ldi r21,hi8(0)
6093 3b4a 0C94 0000 jmp .L550
6094 .L605:
6095 3b4e 8091 0000 lds r24,Looping_Nick
6096 3b52 8823 tst r24
6097 3b54 01F4 brne .+4
6098 3b56 0C94 0000 jmp .L607
6099 3b5a 0C94 0000 jmp .L604
6100 .L795:
6101 3b5e E090 0000 lds r14,EE_Parameter+20
6102 3b62 FF24 clr r15
6103 3b64 0027 clr r16
6104 3b66 1127 clr r17
6105 3b68 68AD ldd r22,Y+56
6106 3b6a 79AD ldd r23,Y+57
6107 3b6c 8AAD ldd r24,Y+58
6108 3b6e 9BAD ldd r25,Y+59
6109 3b70 A801 movw r20,r16
6110 3b72 9701 movw r18,r14
6111 3b74 0E94 0000 call __divmodsi4
6112 3b78 5901 movw r10,r18
6113 3b7a 6A01 movw r12,r20
6114 3b7c 8091 0000 lds r24,Mittelwert_AccNick
6115 3b80 9091 0000 lds r25,(Mittelwert_AccNick)+1
6116 3b84 AA27 clr r26
6117 3b86 97FD sbrc r25,7
6118 3b88 A095 com r26
6119 3b8a BA2F mov r27,r26
6120 3b8c A81A sub r10,r24
6121 3b8e B90A sbc r11,r25
6122 3b90 CA0A sbc r12,r26
6123 3b92 DB0A sbc r13,r27
6124 3b94 6CA9 ldd r22,Y+52
6125 3b96 7DA9 ldd r23,Y+53
6126 3b98 8EA9 ldd r24,Y+54
6127 3b9a 9FA9 ldd r25,Y+55
6128 3b9c A801 movw r20,r16
6129 3b9e 9701 movw r18,r14
6130 3ba0 0E94 0000 call __divmodsi4
6131 3ba4 7901 movw r14,r18
6132 3ba6 8A01 movw r16,r20
6133 3ba8 8091 0000 lds r24,Mittelwert_AccRoll
6134 3bac 9091 0000 lds r25,(Mittelwert_AccRoll)+1
6135 3bb0 AA27 clr r26
6136 3bb2 97FD sbrc r25,7
6137 3bb4 A095 com r26
6138 3bb6 BA2F mov r27,r26
6139 3bb8 E81A sub r14,r24
6140 3bba F90A sbc r15,r25
6141 3bbc 0A0B sbc r16,r26
6142 3bbe 1B0B sbc r17,r27
6143 3bc0 C601 movw r24,r12
6144 3bc2 B501 movw r22,r10
6145 3bc4 20E1 ldi r18,lo8(16)
6146 3bc6 30E0 ldi r19,hi8(16)
6147 3bc8 40E0 ldi r20,hlo8(16)
6148 3bca 50E0 ldi r21,hhi8(16)
6149 3bcc 0E94 0000 call __divmodsi4
6150 3bd0 1901 movw r2,r18
6151 3bd2 2A01 movw r4,r20
6152 3bd4 5901 movw r10,r18
6153 3bd6 6A01 movw r12,r20
6154 3bd8 C801 movw r24,r16
6155 3bda B701 movw r22,r14
6156 3bdc 20E1 ldi r18,lo8(16)
6157 3bde 30E0 ldi r19,hi8(16)
6158 3be0 40E0 ldi r20,hlo8(16)
6159 3be2 50E0 ldi r21,hhi8(16)
6160 3be4 0E94 0000 call __divmodsi4
6161 3be8 3901 movw r6,r18
6162 3bea 4A01 movw r8,r20
6163 3bec 7901 movw r14,r18
6164 3bee 8A01 movw r16,r20
6165 3bf0 8091 0000 lds r24,MaxStickNick
6166 3bf4 9091 0000 lds r25,(MaxStickNick)+1
6167 3bf8 4097 sbiw r24,16
6168 3bfa 04F0 brlt .+4
6169 3bfc 0C94 0000 jmp .L618
6170 3c00 0C94 0000 jmp .L796
6171 .L613:
6172 3c04 1092 0000 sts IntegralAccNick,__zero_reg__
6173 3c08 1092 0000 sts (IntegralAccNick)+1,__zero_reg__
6174 3c0c 1092 0000 sts (IntegralAccNick)+2,__zero_reg__
6175 3c10 1092 0000 sts (IntegralAccNick)+3,__zero_reg__
6176 3c14 1092 0000 sts IntegralAccRoll,__zero_reg__
6177 3c18 1092 0000 sts (IntegralAccRoll)+1,__zero_reg__
6178 3c1c 1092 0000 sts (IntegralAccRoll)+2,__zero_reg__
6179 3c20 1092 0000 sts (IntegralAccRoll)+3,__zero_reg__
6180 3c24 1092 0000 sts MittelIntegralNick,__zero_reg__
6181 3c28 1092 0000 sts (MittelIntegralNick)+1,__zero_reg__
6182 3c2c 1092 0000 sts (MittelIntegralNick)+2,__zero_reg__
6183 3c30 1092 0000 sts (MittelIntegralNick)+3,__zero_reg__
6184 3c34 1092 0000 sts MittelIntegralRoll,__zero_reg__
6185 3c38 1092 0000 sts (MittelIntegralRoll)+1,__zero_reg__
6186 3c3c 1092 0000 sts (MittelIntegralRoll)+2,__zero_reg__
6187 3c40 1092 0000 sts (MittelIntegralRoll)+3,__zero_reg__
6188 3c44 1092 0000 sts MittelIntegralNick2,__zero_reg__
6189 3c48 1092 0000 sts (MittelIntegralNick2)+1,__zero_reg__
6190 3c4c 1092 0000 sts (MittelIntegralNick2)+2,__zero_reg__
6191 3c50 1092 0000 sts (MittelIntegralNick2)+3,__zero_reg__
6192 3c54 1092 0000 sts MittelIntegralRoll2,__zero_reg__
6193 3c58 1092 0000 sts (MittelIntegralRoll2)+1,__zero_reg__
6194 3c5c 1092 0000 sts (MittelIntegralRoll2)+2,__zero_reg__
6195 3c60 1092 0000 sts (MittelIntegralRoll2)+3,__zero_reg__
6196 3c64 8091 0000 lds r24,Mess_IntegralNick
6197 3c68 9091 0000 lds r25,(Mess_IntegralNick)+1
6198 3c6c A091 0000 lds r26,(Mess_IntegralNick)+2
6199 3c70 B091 0000 lds r27,(Mess_IntegralNick)+3
6200 3c74 8093 0000 sts Mess_IntegralNick2,r24
6201 3c78 9093 0000 sts (Mess_IntegralNick2)+1,r25
6202 3c7c A093 0000 sts (Mess_IntegralNick2)+2,r26
6203 3c80 B093 0000 sts (Mess_IntegralNick2)+3,r27
6204 3c84 8091 0000 lds r24,Mess_IntegralRoll
6205 3c88 9091 0000 lds r25,(Mess_IntegralRoll)+1
6206 3c8c A091 0000 lds r26,(Mess_IntegralRoll)+2
6207 3c90 B091 0000 lds r27,(Mess_IntegralRoll)+3
6208 3c94 8093 0000 sts Mess_IntegralRoll2,r24
6209 3c98 9093 0000 sts (Mess_IntegralRoll2)+1,r25
6210 3c9c A093 0000 sts (Mess_IntegralRoll2)+2,r26
6211 3ca0 B093 0000 sts (Mess_IntegralRoll2)+3,r27
6212 3ca4 1092 0000 sts (ZaehlMessungen)+1,__zero_reg__
6213 3ca8 1092 0000 sts ZaehlMessungen,__zero_reg__
6214 3cac 1092 0000 sts (LageKorrekturNick)+1,__zero_reg__
6215 3cb0 1092 0000 sts LageKorrekturNick,__zero_reg__
6216 3cb4 1092 0000 sts (LageKorrekturRoll)+1,__zero_reg__
6217 3cb8 1092 0000 sts LageKorrekturRoll,__zero_reg__
6218 3cbc 0C94 0000 jmp .L615
6219 .L791:
6220 3cc0 8093 0000 sts Motor_Rechts,r24
6221 /* epilogue: frame size=61 */
6222 3cc4 E2E1 ldi r30,18
6223 3cc6 C35C subi r28,-61
6224 3cc8 0C94 0000 jmp __epilogue_restores__+0
6225 /* epilogue end (size=4) */
6226 /* function MotorRegler size 4949 (4939) */
6228 .data
6229 .LC0:
6230 0000 4265 6769 .string "Beginner"
6230 6E6E 6572
6230 00
6231 0009 00 .string ""
6232 .text
6233 .global DefaultKonstanten3
6235 DefaultKonstanten3:
6236 /* prologue: frame size=0 */
6237 /* prologue end (size=0) */
6238 3ccc 81E0 ldi r24,lo8(1)
6239 3cce 8093 0000 sts EE_Parameter,r24
6240 3cd2 22E0 ldi r18,lo8(2)
6241 3cd4 2093 0000 sts EE_Parameter+1,r18
6242 3cd8 83E0 ldi r24,lo8(3)
6243 3cda 8093 0000 sts EE_Parameter+2,r24
6244 3cde 54E0 ldi r21,lo8(4)
6245 3ce0 5093 0000 sts EE_Parameter+3,r21
6246 3ce4 45E0 ldi r20,lo8(5)
6247 3ce6 4093 0000 sts EE_Parameter+4,r20
6248 3cea 36E0 ldi r19,lo8(6)
6249 3cec 3093 0000 sts EE_Parameter+5,r19
6250 3cf0 87E0 ldi r24,lo8(7)
6251 3cf2 8093 0000 sts EE_Parameter+6,r24
6252 3cf6 88E0 ldi r24,lo8(8)
6253 3cf8 8093 0000 sts EE_Parameter+7,r24
6254 3cfc 80EC ldi r24,lo8(-64)
6255 3cfe 8093 0000 sts EE_Parameter+8,r24
6256 3d02 9EE1 ldi r25,lo8(30)
6257 3d04 9093 0000 sts EE_Parameter+9,r25
6258 3d08 8BEF ldi r24,lo8(-5)
6259 3d0a 8093 0000 sts EE_Parameter+11,r24
6260 3d0e 8AE0 ldi r24,lo8(10)
6261 3d10 8093 0000 sts EE_Parameter+12,r24
6262 3d14 9093 0000 sts EE_Parameter+10,r25
6263 3d18 9093 0000 sts EE_Parameter+14,r25
6264 3d1c 2093 0000 sts EE_Parameter+13,r18
6265 3d20 2093 0000 sts EE_Parameter+15,r18
6266 3d24 5093 0000 sts EE_Parameter+16,r21
6267 3d28 3093 0000 sts EE_Parameter+17,r19
6268 3d2c 8FE0 ldi r24,lo8(15)
6269 3d2e 8093 0000 sts EE_Parameter+18,r24
6270 3d32 8AEF ldi r24,lo8(-6)
6271 3d34 8093 0000 sts EE_Parameter+19,r24
6272 3d38 9093 0000 sts EE_Parameter+20,r25
6273 3d3c 80E8 ldi r24,lo8(-128)
6274 3d3e 8093 0000 sts EE_Parameter+21,r24
6275 3d42 24E6 ldi r18,lo8(100)
6276 3d44 2093 0000 sts EE_Parameter+22,r18
6277 3d48 8CE8 ldi r24,lo8(-116)
6278 3d4a 8093 0000 sts EE_Parameter+23,r24
6279 3d4e 8EE5 ldi r24,lo8(94)
6280 3d50 8093 0000 sts EE_Parameter+24,r24
6281 3d54 83E2 ldi r24,lo8(35)
6282 3d56 8093 0000 sts EE_Parameter+25,r24
6283 3d5a 84E1 ldi r24,lo8(20)
6284 3d5c 8093 0000 sts EE_Parameter+26,r24
6285 3d60 1092 0000 sts EE_Parameter+27,__zero_reg__
6286 3d64 80E1 ldi r24,lo8(16)
6287 3d66 8093 0000 sts EE_Parameter+28,r24
6288 3d6a 80E5 ldi r24,lo8(80)
6289 3d6c 8093 0000 sts EE_Parameter+29,r24
6290 3d70 1092 0000 sts EE_Parameter+30,__zero_reg__
6291 3d74 1092 0000 sts EE_Parameter+31,__zero_reg__
6292 3d78 1092 0000 sts EE_Parameter+32,__zero_reg__
6293 3d7c 1092 0000 sts EE_Parameter+48,__zero_reg__
6294 3d80 1092 0000 sts EE_Parameter+49,__zero_reg__
6295 3d84 1092 0000 sts EE_Parameter+50,__zero_reg__
6296 3d88 1092 0000 sts EE_Parameter+51,__zero_reg__
6297 3d8c 2093 0000 sts EE_Parameter+33,r18
6298 3d90 88E2 ldi r24,lo8(40)
6299 3d92 8093 0000 sts EE_Parameter+34,r24
6300 3d96 1092 0000 sts EE_Parameter+53,__zero_reg__
6301 3d9a 92E3 ldi r25,lo8(50)
6302 3d9c 9093 0000 sts EE_Parameter+35,r25
6303 3da0 86E9 ldi r24,lo8(-106)
6304 3da2 8093 0000 sts EE_Parameter+36,r24
6305 3da6 4093 0000 sts EE_Parameter+37,r20
6306 3daa 9093 0000 sts EE_Parameter+38,r25
6307 3dae 8AE5 ldi r24,lo8(90)
6308 3db0 8093 0000 sts EE_Parameter+39,r24
6309 3db4 9093 0000 sts EE_Parameter+40,r25
6310 3db8 1092 0000 sts EE_Parameter+52,__zero_reg__
6311 3dbc 8093 0000 sts EE_Parameter+41,r24
6312 3dc0 4093 0000 sts EE_Parameter+42,r20
6313 3dc4 2093 0000 sts EE_Parameter+43,r18
6314 3dc8 2093 0000 sts EE_Parameter+44,r18
6315 3dcc 80E2 ldi r24,lo8(32)
6316 3dce 8093 0000 sts EE_Parameter+45,r24
6317 3dd2 5093 0000 sts EE_Parameter+46,r21
6318 3dd6 9093 0000 sts EE_Parameter+47,r25
6319 3dda A0E0 ldi r26,lo8(EE_Parameter+58)
6320 3ddc B0E0 ldi r27,hi8(EE_Parameter+58)
6321 3dde E0E0 ldi r30,lo8(.LC0)
6322 3de0 F0E0 ldi r31,hi8(.LC0)
6323 3de2 8CE0 ldi r24,lo8(12)
6324 .L811:
6325 3de4 0190 ld r0,Z+
6326 3de6 0D92 st X+,r0
6327 3de8 8150 subi r24,lo8(-(-1))
6328 3dea 01F4 brne .L811
6329 /* epilogue: frame size=0 */
6330 3dec 0895 ret
6331 /* epilogue end (size=1) */
6332 /* function DefaultKonstanten3 size 146 (145) */
6334 .data
6335 .LC1:
6336 000a 4E6F 726D .string "Normal"
6336 616C 00
6337 0011 00 .string ""
6338 .text
6339 .global DefaultKonstanten2
6341 DefaultKonstanten2:
6342 /* prologue: frame size=0 */
6343 /* prologue end (size=0) */
6344 3dee 81E0 ldi r24,lo8(1)
6345 3df0 8093 0000 sts EE_Parameter,r24
6346 3df4 82E0 ldi r24,lo8(2)
6347 3df6 8093 0000 sts EE_Parameter+1,r24
6348 3dfa 23E0 ldi r18,lo8(3)
6349 3dfc 2093 0000 sts EE_Parameter+2,r18
6350 3e00 54E0 ldi r21,lo8(4)
6351 3e02 5093 0000 sts EE_Parameter+3,r21
6352 3e06 45E0 ldi r20,lo8(5)
6353 3e08 4093 0000 sts EE_Parameter+4,r20
6354 3e0c 36E0 ldi r19,lo8(6)
6355 3e0e 3093 0000 sts EE_Parameter+5,r19
6356 3e12 87E0 ldi r24,lo8(7)
6357 3e14 8093 0000 sts EE_Parameter+6,r24
6358 3e18 88E0 ldi r24,lo8(8)
6359 3e1a 8093 0000 sts EE_Parameter+7,r24
6360 3e1e 80E4 ldi r24,lo8(64)
6361 3e20 8093 0000 sts EE_Parameter+8,r24
6362 3e24 9EE1 ldi r25,lo8(30)
6363 3e26 9093 0000 sts EE_Parameter+9,r25
6364 3e2a 8BEF ldi r24,lo8(-5)
6365 3e2c 8093 0000 sts EE_Parameter+11,r24
6366 3e30 8AE0 ldi r24,lo8(10)
6367 3e32 8093 0000 sts EE_Parameter+12,r24
6368 3e36 9093 0000 sts EE_Parameter+10,r25
6369 3e3a 9093 0000 sts EE_Parameter+14,r25
6370 3e3e 2093 0000 sts EE_Parameter+13,r18
6371 3e42 2093 0000 sts EE_Parameter+15,r18
6372 3e46 5093 0000 sts EE_Parameter+16,r21
6373 3e4a 3093 0000 sts EE_Parameter+17,r19
6374 3e4e 8FE0 ldi r24,lo8(15)
6375 3e50 8093 0000 sts EE_Parameter+18,r24
6376 3e54 8AEF ldi r24,lo8(-6)
6377 3e56 8093 0000 sts EE_Parameter+19,r24
6378 3e5a 9093 0000 sts EE_Parameter+20,r25
6379 3e5e 80E8 ldi r24,lo8(-128)
6380 3e60 8093 0000 sts EE_Parameter+21,r24
6381 3e64 90E5 ldi r25,lo8(80)
6382 3e66 9093 0000 sts EE_Parameter+22,r25
6383 3e6a 88E7 ldi r24,lo8(120)
6384 3e6c 8093 0000 sts EE_Parameter+23,r24
6385 3e70 8EE5 ldi r24,lo8(94)
6386 3e72 8093 0000 sts EE_Parameter+24,r24
6387 3e76 83E2 ldi r24,lo8(35)
6388 3e78 8093 0000 sts EE_Parameter+25,r24
6389 3e7c 84E1 ldi r24,lo8(20)
6390 3e7e 8093 0000 sts EE_Parameter+26,r24
6391 3e82 1092 0000 sts EE_Parameter+27,__zero_reg__
6392 3e86 30E2 ldi r19,lo8(32)
6393 3e88 3093 0000 sts EE_Parameter+28,r19
6394 3e8c 9093 0000 sts EE_Parameter+29,r25
6395 3e90 1092 0000 sts EE_Parameter+30,__zero_reg__
6396 3e94 1092 0000 sts EE_Parameter+31,__zero_reg__
6397 3e98 1092 0000 sts EE_Parameter+32,__zero_reg__
6398 3e9c 1092 0000 sts EE_Parameter+48,__zero_reg__
6399 3ea0 1092 0000 sts EE_Parameter+49,__zero_reg__
6400 3ea4 1092 0000 sts EE_Parameter+50,__zero_reg__
6401 3ea8 1092 0000 sts EE_Parameter+51,__zero_reg__
6402 3eac 24E6 ldi r18,lo8(100)
6403 3eae 2093 0000 sts EE_Parameter+33,r18
6404 3eb2 88E2 ldi r24,lo8(40)
6405 3eb4 8093 0000 sts EE_Parameter+34,r24
6406 3eb8 1092 0000 sts EE_Parameter+53,__zero_reg__
6407 3ebc 92E3 ldi r25,lo8(50)
6408 3ebe 9093 0000 sts EE_Parameter+35,r25
6409 3ec2 86E9 ldi r24,lo8(-106)
6410 3ec4 8093 0000 sts EE_Parameter+36,r24
6411 3ec8 4093 0000 sts EE_Parameter+37,r20
6412 3ecc 9093 0000 sts EE_Parameter+38,r25
6413 3ed0 8AE5 ldi r24,lo8(90)
6414 3ed2 8093 0000 sts EE_Parameter+39,r24
6415 3ed6 9093 0000 sts EE_Parameter+40,r25
6416 3eda 1092 0000 sts EE_Parameter+52,__zero_reg__
6417 3ede 8093 0000 sts EE_Parameter+41,r24
6418 3ee2 4093 0000 sts EE_Parameter+42,r20
6419 3ee6 2093 0000 sts EE_Parameter+43,r18
6420 3eea 2093 0000 sts EE_Parameter+44,r18
6421 3eee 3093 0000 sts EE_Parameter+45,r19
6422 3ef2 5093 0000 sts EE_Parameter+46,r21
6423 3ef6 8BE4 ldi r24,lo8(75)
6424 3ef8 8093 0000 sts EE_Parameter+47,r24
6425 3efc A0E0 ldi r26,lo8(EE_Parameter+58)
6426 3efe B0E0 ldi r27,hi8(EE_Parameter+58)
6427 3f00 E0E0 ldi r30,lo8(.LC1)
6428 3f02 F0E0 ldi r31,hi8(.LC1)
6429 3f04 8CE0 ldi r24,lo8(12)
6430 .L816:
6431 3f06 0190 ld r0,Z+
6432 3f08 0D92 st X+,r0
6433 3f0a 8150 subi r24,lo8(-(-1))
6434 3f0c 01F4 brne .L816
6435 /* epilogue: frame size=0 */
6436 3f0e 0895 ret
6437 /* epilogue end (size=1) */
6438 /* function DefaultKonstanten2 size 146 (145) */
6440 .data
6441 .LC2:
6442 0012 5370 6F72 .string "Sport"
6442 7400
6443 0018 00 .string ""
6444 .text
6445 .global DefaultKonstanten1
6447 DefaultKonstanten1:
6448 /* prologue: frame size=0 */
6449 /* prologue end (size=0) */
6450 3f10 81E0 ldi r24,lo8(1)
6451 3f12 8093 0000 sts EE_Parameter,r24
6452 3f16 82E0 ldi r24,lo8(2)
6453 3f18 8093 0000 sts EE_Parameter+1,r24
6454 3f1c 83E0 ldi r24,lo8(3)
6455 3f1e 8093 0000 sts EE_Parameter+2,r24
6456 3f22 34E0 ldi r19,lo8(4)
6457 3f24 3093 0000 sts EE_Parameter+3,r19
6458 3f28 45E0 ldi r20,lo8(5)
6459 3f2a 4093 0000 sts EE_Parameter+4,r20
6460 3f2e 86E0 ldi r24,lo8(6)
6461 3f30 8093 0000 sts EE_Parameter+5,r24
6462 3f34 87E0 ldi r24,lo8(7)
6463 3f36 8093 0000 sts EE_Parameter+6,r24
6464 3f3a 28E0 ldi r18,lo8(8)
6465 3f3c 2093 0000 sts EE_Parameter+7,r18
6466 3f40 80E4 ldi r24,lo8(64)
6467 3f42 8093 0000 sts EE_Parameter+8,r24
6468 3f46 9EE1 ldi r25,lo8(30)
6469 3f48 9093 0000 sts EE_Parameter+9,r25
6470 3f4c 8BEF ldi r24,lo8(-5)
6471 3f4e 8093 0000 sts EE_Parameter+11,r24
6472 3f52 8AE0 ldi r24,lo8(10)
6473 3f54 8093 0000 sts EE_Parameter+12,r24
6474 3f58 9093 0000 sts EE_Parameter+10,r25
6475 3f5c 9093 0000 sts EE_Parameter+14,r25
6476 3f60 3093 0000 sts EE_Parameter+13,r19
6477 3f64 3093 0000 sts EE_Parameter+15,r19
6478 3f68 2093 0000 sts EE_Parameter+16,r18
6479 3f6c 8CE0 ldi r24,lo8(12)
6480 3f6e 8093 0000 sts EE_Parameter+17,r24
6481 3f72 8FE0 ldi r24,lo8(15)
6482 3f74 8093 0000 sts EE_Parameter+18,r24
6483 3f78 8AEF ldi r24,lo8(-6)
6484 3f7a 8093 0000 sts EE_Parameter+19,r24
6485 3f7e 9093 0000 sts EE_Parameter+20,r25
6486 3f82 90E8 ldi r25,lo8(-128)
6487 3f84 9093 0000 sts EE_Parameter+21,r25
6488 3f88 80E5 ldi r24,lo8(80)
6489 3f8a 8093 0000 sts EE_Parameter+22,r24
6490 3f8e 56E9 ldi r21,lo8(-106)
6491 3f90 5093 0000 sts EE_Parameter+23,r21
6492 3f94 8EE5 ldi r24,lo8(94)
6493 3f96 8093 0000 sts EE_Parameter+24,r24
6494 3f9a 83E2 ldi r24,lo8(35)
6495 3f9c 8093 0000 sts EE_Parameter+25,r24
6496 3fa0 84E1 ldi r24,lo8(20)
6497 3fa2 8093 0000 sts EE_Parameter+26,r24
6498 3fa6 1092 0000 sts EE_Parameter+27,__zero_reg__
6499 3faa 80E2 ldi r24,lo8(32)
6500 3fac 8093 0000 sts EE_Parameter+28,r24
6501 3fb0 9093 0000 sts EE_Parameter+29,r25
6502 3fb4 1092 0000 sts EE_Parameter+30,__zero_reg__
6503 3fb8 1092 0000 sts EE_Parameter+31,__zero_reg__
6504 3fbc 1092 0000 sts EE_Parameter+32,__zero_reg__
6505 3fc0 1092 0000 sts EE_Parameter+48,__zero_reg__
6506 3fc4 1092 0000 sts EE_Parameter+49,__zero_reg__
6507 3fc8 1092 0000 sts EE_Parameter+50,__zero_reg__
6508 3fcc 1092 0000 sts EE_Parameter+51,__zero_reg__
6509 3fd0 24E6 ldi r18,lo8(100)
6510 3fd2 2093 0000 sts EE_Parameter+33,r18
6511 3fd6 88E2 ldi r24,lo8(40)
6512 3fd8 8093 0000 sts EE_Parameter+34,r24
6513 3fdc 1092 0000 sts EE_Parameter+53,__zero_reg__
6514 3fe0 82E3 ldi r24,lo8(50)
6515 3fe2 8093 0000 sts EE_Parameter+35,r24
6516 3fe6 5093 0000 sts EE_Parameter+36,r21
6517 3fea 4093 0000 sts EE_Parameter+37,r20
6518 3fee 8093 0000 sts EE_Parameter+38,r24
6519 3ff2 9AE5 ldi r25,lo8(90)
6520 3ff4 9093 0000 sts EE_Parameter+39,r25
6521 3ff8 8093 0000 sts EE_Parameter+40,r24
6522 3ffc 1092 0000 sts EE_Parameter+52,__zero_reg__
6523 4000 9093 0000 sts EE_Parameter+41,r25
6524 4004 4093 0000 sts EE_Parameter+42,r20
6525 4008 2093 0000 sts EE_Parameter+43,r18
6526 400c 2093 0000 sts EE_Parameter+44,r18
6527 4010 80E1 ldi r24,lo8(16)
6528 4012 8093 0000 sts EE_Parameter+45,r24
6529 4016 3093 0000 sts EE_Parameter+46,r19
6530 401a 2093 0000 sts EE_Parameter+47,r18
6531 401e A0E0 ldi r26,lo8(EE_Parameter+58)
6532 4020 B0E0 ldi r27,hi8(EE_Parameter+58)
6533 4022 E0E0 ldi r30,lo8(.LC2)
6534 4024 F0E0 ldi r31,hi8(.LC2)
6535 4026 8CE0 ldi r24,lo8(12)
6536 .L821:
6537 4028 0190 ld r0,Z+
6538 402a 0D92 st X+,r0
6539 402c 8150 subi r24,lo8(-(-1))
6540 402e 01F4 brne .L821
6541 /* epilogue: frame size=0 */
6542 4030 0895 ret
6543 /* epilogue end (size=1) */
6544 /* function DefaultKonstanten1 size 146 (145) */
6546 .global I2CTimeout
6547 .data
6550 I2CTimeout:
6551 0019 6400 .word 100
6552 .global AdNeutralNick
6553 .global AdNeutralNick
6554 .section .bss
6557 AdNeutralNick:
6558 0000 0000 .skip 2,0
6559 .global AdNeutralRoll
6560 .global AdNeutralRoll
6563 AdNeutralRoll:
6564 0002 0000 .skip 2,0
6565 .global AdNeutralGier
6566 .global AdNeutralGier
6569 AdNeutralGier:
6570 0004 0000 .skip 2,0
6571 .global StartNeutralRoll
6572 .global StartNeutralRoll
6575 StartNeutralRoll:
6576 0006 0000 .skip 2,0
6577 .global StartNeutralNick
6578 .global StartNeutralNick
6581 StartNeutralNick:
6582 0008 0000 .skip 2,0
6583 .global IntegralNick
6584 .global IntegralNick
6587 IntegralNick:
6588 000a 0000 0000 .skip 4,0
6589 .global IntegralNick2
6590 .global IntegralNick2
6593 IntegralNick2:
6594 000e 0000 0000 .skip 4,0
6595 .global IntegralRoll
6596 .global IntegralRoll
6599 IntegralRoll:
6600 0012 0000 0000 .skip 4,0
6601 .global IntegralRoll2
6602 .global IntegralRoll2
6605 IntegralRoll2:
6606 0016 0000 0000 .skip 4,0
6607 .global IntegralAccNick
6608 .global IntegralAccNick
6611 IntegralAccNick:
6612 001a 0000 0000 .skip 4,0
6613 .global IntegralAccRoll
6614 .global IntegralAccRoll
6617 IntegralAccRoll:
6618 001e 0000 0000 .skip 4,0
6619 .global IntegralAccZ
6620 .global IntegralAccZ
6623 IntegralAccZ:
6624 0022 0000 0000 .skip 4,0
6625 .global Integral_Gier
6626 .global Integral_Gier
6629 Integral_Gier:
6630 0026 0000 0000 .skip 4,0
6631 .global Mess_IntegralNick
6632 .global Mess_IntegralNick
6635 Mess_IntegralNick:
6636 002a 0000 0000 .skip 4,0
6637 .global Mess_IntegralNick2
6638 .global Mess_IntegralNick2
6641 Mess_IntegralNick2:
6642 002e 0000 0000 .skip 4,0
6643 .global Mess_IntegralRoll
6644 .global Mess_IntegralRoll
6647 Mess_IntegralRoll:
6648 0032 0000 0000 .skip 4,0
6649 .global Mess_IntegralRoll2
6650 .global Mess_IntegralRoll2
6653 Mess_IntegralRoll2:
6654 0036 0000 0000 .skip 4,0
6655 .global Mess_Integral_Gier
6656 .global Mess_Integral_Gier
6659 Mess_Integral_Gier:
6660 003a 0000 0000 .skip 4,0
6661 .global Mess_Integral_Gier2
6662 .global Mess_Integral_Gier2
6665 Mess_Integral_Gier2:
6666 003e 0000 0000 .skip 4,0
6667 .global Mess_Integral_Hoch
6668 .global Mess_Integral_Hoch
6671 Mess_Integral_Hoch:
6672 0042 0000 0000 .skip 4,0
6673 .global KompassValue
6674 .global KompassValue
6677 KompassValue:
6678 0046 0000 .skip 2,0
6679 .global KompassStartwert
6680 .global KompassStartwert
6683 KompassStartwert:
6684 0048 0000 .skip 2,0
6685 .global KompassRichtung
6686 .global KompassRichtung
6689 KompassRichtung:
6690 004a 0000 .skip 2,0
6691 .global Notlandung
6692 .global Notlandung
6695 Notlandung:
6696 004c 00 .skip 1,0
6697 .global HoehenReglerAktiv
6698 .global HoehenReglerAktiv
6701 HoehenReglerAktiv:
6702 004d 00 .skip 1,0
6703 .global Umschlag180Nick
6704 .data
6707 Umschlag180Nick:
6708 001b 90 .byte -112
6709 001c D0 .byte -48
6710 001d 03 .byte 3
6711 001e 00 .byte 0
6712 .global Umschlag180Roll
6715 Umschlag180Roll:
6716 001f 90 .byte -112
6717 0020 D0 .byte -48
6718 0021 03 .byte 3
6719 0022 00 .byte 0
6720 .global Poti1
6721 .global Poti1
6722 .section .bss
6725 Poti1:
6726 004e 0000 .skip 2,0
6727 .global Poti2
6728 .global Poti2
6731 Poti2:
6732 0050 0000 .skip 2,0
6733 .global Poti3
6734 .global Poti3
6737 Poti3:
6738 0052 0000 .skip 2,0
6739 .global Poti4
6740 .global Poti4
6743 Poti4:
6744 0054 0000 .skip 2,0
6745 .global SenderOkay
6746 .global SenderOkay
6749 SenderOkay:
6750 0056 00 .skip 1,0
6751 .global StickNick
6752 .global StickNick
6755 StickNick:
6756 0057 0000 .skip 2,0
6757 .global StickRoll
6758 .global StickRoll
6761 StickRoll:
6762 0059 0000 .skip 2,0
6763 .global StickGier
6764 .global StickGier
6767 StickGier:
6768 005b 0000 .skip 2,0
6769 .global StickGas
6770 .global StickGas
6773 StickGas:
6774 005d 0000 .skip 2,0
6775 .global MotorenEin
6776 .global MotorenEin
6779 MotorenEin:
6780 005f 00 .skip 1,0
6781 .global HoehenWert
6782 .global HoehenWert
6785 HoehenWert:
6786 0060 0000 .skip 2,0
6787 .global SollHoehe
6788 .global SollHoehe
6791 SollHoehe:
6792 0062 0000 .skip 2,0
6793 .global LageKorrekturRoll
6794 .global LageKorrekturRoll
6797 LageKorrekturRoll:
6798 0064 0000 .skip 2,0
6799 .global LageKorrekturNick
6800 .global LageKorrekturNick
6803 LageKorrekturNick:
6804 0066 0000 .skip 2,0
6805 .global Ki
6806 .data
6809 Ki:
6810 0023 17 .byte 23
6811 0024 B7 .byte -73
6812 0025 D1 .byte -47
6813 0026 38 .byte 56
6814 .global Looping_Nick
6815 .global Looping_Nick
6816 .section .bss
6819 Looping_Nick:
6820 0068 00 .skip 1,0
6821 .global Looping_Roll
6822 .global Looping_Roll
6825 Looping_Roll:
6826 0069 00 .skip 1,0
6827 .global Looping_Links
6828 .global Looping_Links
6831 Looping_Links:
6832 006a 00 .skip 1,0
6833 .global Looping_Rechts
6834 .global Looping_Rechts
6837 Looping_Rechts:
6838 006b 00 .skip 1,0
6839 .global Looping_Unten
6840 .global Looping_Unten
6843 Looping_Unten:
6844 006c 00 .skip 1,0
6845 .global Looping_Oben
6846 .global Looping_Oben
6849 Looping_Oben:
6850 006d 00 .skip 1,0
6851 .global Parameter_Luftdruck_D
6852 .data
6855 Parameter_Luftdruck_D:
6856 0027 30 .byte 48
6857 .global Parameter_MaxHoehe
6860 Parameter_MaxHoehe:
6861 0028 FB .byte -5
6862 .global Parameter_Hoehe_P
6865 Parameter_Hoehe_P:
6866 0029 10 .byte 16
6867 .global Parameter_Hoehe_ACC_Wirkung
6870 Parameter_Hoehe_ACC_Wirkung:
6871 002a 3A .byte 58
6872 .global Parameter_KompassWirkung
6875 Parameter_KompassWirkung:
6876 002b 40 .byte 64
6877 .global Parameter_Gyro_P
6880 Parameter_Gyro_P:
6881 002c 96 .byte -106
6882 .global Parameter_Gyro_I
6885 Parameter_Gyro_I:
6886 002d 96 .byte -106
6887 .global Parameter_Gier_P
6890 Parameter_Gier_P:
6891 002e 02 .byte 2
6892 .global Parameter_I_Faktor
6895 Parameter_I_Faktor:
6896 002f 0A .byte 10
6897 .global Parameter_UserParam1
6898 .global Parameter_UserParam1
6899 .section .bss
6902 Parameter_UserParam1:
6903 006e 00 .skip 1,0
6904 .global Parameter_UserParam2
6905 .global Parameter_UserParam2
6908 Parameter_UserParam2:
6909 006f 00 .skip 1,0
6910 .global Parameter_UserParam3
6911 .global Parameter_UserParam3
6914 Parameter_UserParam3:
6915 0070 00 .skip 1,0
6916 .global Parameter_UserParam4
6917 .global Parameter_UserParam4
6920 Parameter_UserParam4:
6921 0071 00 .skip 1,0
6922 .global Parameter_UserParam5
6923 .global Parameter_UserParam5
6926 Parameter_UserParam5:
6927 0072 00 .skip 1,0
6928 .global Parameter_UserParam6
6929 .global Parameter_UserParam6
6932 Parameter_UserParam6:
6933 0073 00 .skip 1,0
6934 .global Parameter_UserParam7
6935 .global Parameter_UserParam7
6938 Parameter_UserParam7:
6939 0074 00 .skip 1,0
6940 .global Parameter_UserParam8
6941 .global Parameter_UserParam8
6944 Parameter_UserParam8:
6945 0075 00 .skip 1,0
6946 .global Parameter_ServoNickControl
6947 .data
6950 Parameter_ServoNickControl:
6951 0030 64 .byte 100
6952 .global Parameter_LoopGasLimit
6955 Parameter_LoopGasLimit:
6956 0031 46 .byte 70
6957 .global Parameter_AchsKopplung1
6958 .global Parameter_AchsKopplung1
6959 .section .bss
6962 Parameter_AchsKopplung1:
6963 0076 00 .skip 1,0
6964 .global Parameter_AchsGegenKopplung1
6965 .global Parameter_AchsGegenKopplung1
6968 Parameter_AchsGegenKopplung1:
6969 0077 00 .skip 1,0
6970 .global Parameter_DynamicStability
6971 .data
6974 Parameter_DynamicStability:
6975 0032 64 .byte 100
6976 .global ExternStickNick
6977 .global ExternStickNick
6978 .section .bss
6981 ExternStickNick:
6982 0078 0000 .skip 2,0
6983 .global ExternStickRoll
6984 .global ExternStickRoll
6987 ExternStickRoll:
6988 007a 0000 .skip 2,0
6989 .global ExternStickGier
6990 .global ExternStickGier
6993 ExternStickGier:
6994 007c 0000 .skip 2,0
6995 .global ExternHoehenValue
6996 .data
6999 ExternHoehenValue:
7000 0033 ECFF .word -20
7001 .global MaxStickNick
7002 .global MaxStickNick
7003 .section .bss
7006 MaxStickNick:
7007 007e 0000 .skip 2,0
7008 .global MaxStickRoll
7009 .global MaxStickRoll
7012 MaxStickRoll:
7013 0080 0000 .skip 2,0
7014 .lcomm updKompass.2521,1
7015 .lcomm MittelIntegralRoll_Alt.2518,4
7016 .lcomm MittelIntegralNick_Alt.2517,4
7017 .lcomm last_r_n.2516,1
7018 .lcomm last_r_p.2515,1
7019 .lcomm last_n_n.2514,1
7020 .lcomm last_n_p.2513,1
7021 .lcomm cnt.2512,2
7022 .lcomm ausgleichRoll.2507,4
7023 .lcomm ausgleichNick.2506,4
7024 .data
7027 NeueKompassRichtungMerken.2505:
7028 0035 01 .byte 1
7029 .lcomm TimerWerteausgabe.2504,1
7030 .lcomm hoehenregler.2503,2
7031 .lcomm modell_fliegt.2502,2
7032 .lcomm delay_ausschalten.2501,1
7033 .lcomm delay_einschalten.2500,1
7034 .lcomm delay_neutral.2499,1
7035 .lcomm RcLostTimer.2498,2
7036 .lcomm IntegralFehlerRoll.2497,4
7037 .lcomm IntegralFehlerNick.2496,4
7038 .lcomm tmp_long2.2495,4
7039 .lcomm tmp_long.2494,4
7040 .lcomm sollGier.2493,4
7041 .lcomm SummeRoll.2492,4
7042 .lcomm SummeNick.2491,4
7043 .lcomm tmpl2.2171,4
7044 .lcomm tmpl.2170,4
7045 .comm MesswertNick,2,1
7046 .comm MesswertRoll,2,1
7047 .comm MesswertGier,2,1
7048 .comm Mittelwert_AccNick,2,1
7049 .comm Mittelwert_AccRoll,2,1
7050 .comm Mittelwert_AccHoch,2,1
7051 .comm h,1,1
7052 .comm m,1,1
7053 .comm s,1,1
7054 .comm DiffNick,2,1
7055 .comm DiffRoll,2,1
7056 .comm Motor_Vorne,1,1
7057 .comm Motor_Hinten,1,1
7058 .comm Motor_Rechts,1,1
7059 .comm Motor_Links,1,1
7060 .comm Count,1,1
7061 .comm MotorWert,5,1
7062 .comm acc_neutral,8,1
7063 .comm EE_Parameter,70,1
7064 .comm MittelIntegralNick,4,1
7065 .comm MittelIntegralRoll,4,1
7066 .comm MittelIntegralNick2,4,1
7067 .comm MittelIntegralRoll2,4,1
7068 .comm MAX_GAS,1,1
7069 .comm MIN_GAS,1,1
7070 .comm GyroFaktor,4,1
7071 .comm IntegralFaktor,4,1
7072 .global ee_acc_neutral
7073 .section .eeprom,"aw",@progbits
7076 ee_acc_neutral:
7077 0000 0000 0000 .skip 8,0
7077 0000 0000
7078 /* File "fc.c": code 8286 = 0x205e (8249), prologues 16, epilogues 21 */
DEFINED SYMBOLS
*ABS*:00000000 fc.c
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:13 .text:00000000 Mittelwert
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6569 .bss:00000004 AdNeutralGier
*COM*:00000002 MesswertGier
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6557 .bss:00000000 AdNeutralNick
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6563 .bss:00000002 AdNeutralRoll
*COM*:00000002 Mittelwert_AccNick
*COM*:00000002 Mittelwert_AccRoll
*COM*:00000002 Mittelwert_AccHoch
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6611 .bss:0000001a IntegralAccNick
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6617 .bss:0000001e IntegralAccRoll
*COM*:00000008 acc_neutral
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6623 .bss:00000022 IntegralAccZ
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6659 .bss:0000003a Mess_Integral_Gier
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6665 .bss:0000003e Mess_Integral_Gier2
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6819 .bss:00000068 Looping_Nick
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6825 .bss:00000069 Looping_Roll
*COM*:00000046 EE_Parameter
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6962 .bss:00000076 Parameter_AchsKopplung1
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6635 .bss:0000002a Mess_IntegralNick
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7043 .bss:000000c3 tmpl.2170
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6647 .bss:00000032 Mess_IntegralRoll
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7042 .bss:000000bf tmpl2.2171
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6968 .bss:00000077 Parameter_AchsGegenKopplung1
*COM*:00000002 MesswertRoll
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6653 .bss:00000036 Mess_IntegralRoll2
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6797 .bss:00000064 LageKorrekturRoll
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6715 .data:0000001f Umschlag180Roll
*COM*:00000002 MesswertNick
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6641 .bss:0000002e Mess_IntegralNick2
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6803 .bss:00000066 LageKorrekturNick
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6707 .data:0000001b Umschlag180Nick
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6629 .bss:00000026 Integral_Gier
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6587 .bss:0000000a IntegralNick
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6599 .bss:00000012 IntegralRoll
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6593 .bss:0000000e IntegralNick2
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6605 .bss:00000016 IntegralRoll2
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6725 .bss:0000004e Poti1
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6731 .bss:00000050 Poti2
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6737 .bss:00000052 Poti3
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6743 .bss:00000054 Poti4
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:1028 .text:00000a60 CalibrierMittelwert
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:1308 .text:00000cfa ParameterZuordnung
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6860 .data:00000028 Parameter_MaxHoehe
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6855 .data:00000027 Parameter_Luftdruck_D
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6865 .data:00000029 Parameter_Hoehe_P
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6870 .data:0000002a Parameter_Hoehe_ACC_Wirkung
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6875 .data:0000002b Parameter_KompassWirkung
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6880 .data:0000002c Parameter_Gyro_P
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6885 .data:0000002d Parameter_Gyro_I
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6895 .data:0000002f Parameter_I_Faktor
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6902 .bss:0000006e Parameter_UserParam1
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6908 .bss:0000006f Parameter_UserParam2
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6914 .bss:00000070 Parameter_UserParam3
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6920 .bss:00000071 Parameter_UserParam4
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6926 .bss:00000072 Parameter_UserParam5
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6932 .bss:00000073 Parameter_UserParam6
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6938 .bss:00000074 Parameter_UserParam7
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6944 .bss:00000075 Parameter_UserParam8
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6950 .data:00000030 Parameter_ServoNickControl
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6955 .data:00000031 Parameter_LoopGasLimit
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6974 .data:00000032 Parameter_DynamicStability
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6809 .data:00000023 Ki
*COM*:00000001 MAX_GAS
*COM*:00000001 MIN_GAS
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:2066 .text:0000133a SendMotorData
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6779 .bss:0000005f MotorenEin
*COM*:00000001 Motor_Hinten
*COM*:00000001 Motor_Vorne
*COM*:00000001 Motor_Rechts
*COM*:00000001 Motor_Links
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:2122 .text:000013c8 SetNeutral
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6575 .bss:00000006 StartNeutralRoll
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6581 .bss:00000008 StartNeutralNick
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7076 .eeprom:00000000 ee_acc_neutral
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6671 .bss:00000042 Mess_Integral_Hoch
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6677 .bss:00000046 KompassValue
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6683 .bss:00000048 KompassStartwert
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6999 .data:00000033 ExternHoehenValue
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:2269 .text:0000159e calib_acc
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:2347 .text:0000165a Piep
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:2376 .text:00001684 MotorRegler
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6773 .bss:0000005d StickGas
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6749 .bss:00000056 SenderOkay
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7034 .bss:000000a1 RcLostTimer.2498
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6695 .bss:0000004c Notlandung
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7030 .bss:0000009c modell_fliegt.2502
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7041 .bss:000000bb SummeNick.2491
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7040 .bss:000000b7 SummeRoll.2492
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7033 .bss:000000a0 delay_neutral.2499
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7032 .bss:0000009f delay_einschalten.2500
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7039 .bss:000000b3 sollGier.2493
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7031 .bss:0000009e delay_ausschalten.2501
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6755 .bss:00000057 StickNick
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6761 .bss:00000059 StickRoll
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7006 .bss:0000007e MaxStickNick
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7012 .bss:00000080 MaxStickRoll
*COM*:00000004 GyroFaktor
*COM*:00000004 IntegralFaktor
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6981 .bss:00000078 ExternStickNick
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6987 .bss:0000007a ExternStickRoll
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6993 .bss:0000007c ExternStickGier
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6767 .bss:0000005b StickGier
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6831 .bss:0000006a Looping_Links
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6837 .bss:0000006b Looping_Rechts
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6849 .bss:0000006d Looping_Oben
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6843 .bss:0000006c Looping_Unten
*COM*:00000004 MittelIntegralNick
*COM*:00000004 MittelIntegralRoll
*COM*:00000004 MittelIntegralNick2
*COM*:00000004 MittelIntegralRoll2
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7036 .bss:000000a7 IntegralFehlerNick.2496
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7022 .bss:00000095 ausgleichNick.2506
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7035 .bss:000000a3 IntegralFehlerRoll.2497
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7038 .bss:000000af tmp_long.2494
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7037 .bss:000000ab tmp_long2.2495
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7020 .bss:0000008f cnt.2512
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7015 .bss:00000087 MittelIntegralNick_Alt.2517
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7019 .bss:0000008e last_n_p.2513
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7018 .bss:0000008d last_n_n.2514
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7021 .bss:00000091 ausgleichRoll.2507
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7014 .bss:00000083 MittelIntegralRoll_Alt.2518
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7017 .bss:0000008c last_r_p.2515
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7016 .bss:0000008b last_r_n.2516
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7027 .data:00000035 NeueKompassRichtungMerken.2505
.bss:00000082 updKompass.2521
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6689 .bss:0000004a KompassRichtung
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7023 .bss:00000099 TimerWerteausgabe.2504
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6785 .bss:00000060 HoehenWert
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6791 .bss:00000062 SollHoehe
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6701 .bss:0000004d HoehenReglerAktiv
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:7029 .bss:0000009a hoehenregler.2503
*COM*:00000002 DiffNick
*COM*:00000002 DiffRoll
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6235 .text:00003ccc DefaultKonstanten3
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6341 .text:00003dee DefaultKonstanten2
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6447 .text:00003f10 DefaultKonstanten1
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6550 .data:00000019 I2CTimeout
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccmPYVCi.s:6890 .data:0000002e Parameter_Gier_P
*COM*:00000001 h
*COM*:00000001 m
*COM*:00000001 s
*COM*:00000001 Count
*COM*:00000005 MotorWert
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__prologue_saves__
AdWertGier
AdWertRoll
AdWertNick
DebugOut
AdWertAccNick
__mulsi3
__divmodsi4
AdWertAccRoll
AdWertAccHoch
Aktuell_az
__floatsisf
__subsf3
__addsf3
__fixsfsi
PlatinenVersion
PPM_in
__epilogue_restores__
__mulsf3
MotorTest
twi_state
motor
i2c_start
Delay_ms_Mess
MessLuftdruck
SucheLuftruckOffset
__eeprom_read_block_1F2021
Luftdruck
StartLuftdruck
HoeheD
GPS_Neutral
beeptime
__divmodhi4
__eeprom_write_block_1F2021
Delay_ms
PcZugriff
BeepMuster
EEPromArray
__eeprom_write_byte_1F2021
GetActiveParamSetNumber
ReadParameterSet
NewPpmData
PPM_diff
__divsf3
DubWiseKeys
ExternControl
__ltsf2
ZaehlMessungen
__nesf2
heading_MM3
UBat
__fixunssfsi
GPS_Nick
GPS_Roll
/branches/MicroMag3_Nick666/Festkomma/V0.68d/flight.pnproj
0,0 → 1,0
<Project name="Flight-Ctrl"><File path="uart.h"></File><File path="main.c"></File><File path="main.h"></File><File path="makefile"></File><File path="uart.c"></File><File path="printf_P.h"></File><File path="printf_P.c"></File><File path="timer0.c"></File><File path="timer0.h"></File><File path="old_macros.h"></File><File path="twimaster.c"></File><File path="version.txt"></File><File path="twimaster.h"></File><File path="rc.c"></File><File path="rc.h"></File><File path="fc.h"></File><File path="fc.c"></File><File path="menu.h"></File><File path="menu.c"></File><File path="_Settings.h"></File><File path="analog.c"></File><File path="analog.h"></File><File path="GPS.c"></File><File path="gps.h"></File><File path="License.txt"></File><File path="eeprom.c"></File><File path="compass.c"></File><File path="compass.h"></File><File path="mymath.c"></File><File path="mymath.h"></File></Project>
/branches/MicroMag3_Nick666/Festkomma/V0.68d/flight.pnps
0,0 → 1,0
<pd><ViewState><e p="Flight-Ctrl" x="true"></e></ViewState></pd>
/branches/MicroMag3_Nick666/Festkomma/V0.68d/gps.h
0,0 → 1,14
extern signed int GPS_Nick;
extern signed int GPS_Nick;
extern signed int GPS_Nick;
extern signed int GPS_Nick;
extern signed int GPS_Nick;
extern signed int GPS_Nick;
extern signed int GPS_Nick;
extern signed int GPS_Nick;
extern signed int GPS_Nick;
extern signed int GPS_Nick;
extern signed int GPS_Roll;
 
void GPS_Neutral(void);
void GPS_BerechneZielrichtung(void);
/branches/MicroMag3_Nick666/Festkomma/V0.68d/main.c
0,0 → 1,262
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Copyright (c) 04.2007 Holger Buss
// + Nur für den privaten Gebrauch
// + www.MikroKopter.com
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Es gilt für das gesamte Projekt (Hardware, Software, Binärfiles, Sourcecode und Dokumentation),
// + dass eine Nutzung (auch auszugsweise) nur für den privaten und nicht-kommerziellen Gebrauch zulässig ist.
// + Sollten direkte oder indirekte kommerzielle Absichten verfolgt werden, ist mit uns (info@mikrokopter.de) Kontakt
// + bzgl. der Nutzungsbedingungen aufzunehmen.
// + Eine kommerzielle Nutzung ist z.B.Verkauf von MikroKoptern, Bestückung und Verkauf von Platinen oder Bausätzen,
// + Verkauf von Luftbildaufnahmen, usw.
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Werden Teile des Quellcodes (mit oder ohne Modifikation) weiterverwendet oder veröffentlicht,
// + unterliegen sie auch diesen Nutzungsbedingungen und diese Nutzungsbedingungen incl. Copyright müssen dann beiliegen
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Sollte die Software (auch auszugesweise) oder sonstige Informationen des MikroKopter-Projekts
// + auf anderen Webseiten oder Medien veröffentlicht werden, muss unsere Webseite "http://www.mikrokopter.de"
// + eindeutig als Ursprung verlinkt und genannt werden
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Keine Gewähr auf Fehlerfreiheit, Vollständigkeit oder Funktion
// + Benutzung auf eigene Gefahr
// + Wir übernehmen keinerlei Haftung für direkte oder indirekte Personen- oder Sachschäden
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Die Portierung der Software (oder Teile davon) auf andere Systeme (ausser der Hardware von www.mikrokopter.de) ist nur
// + mit unserer Zustimmung zulässig
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Die Funktion printf_P() unterliegt ihrer eigenen Lizenz und ist hiervon nicht betroffen
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Redistributions of source code (with or without modifications) must retain the above copyright notice,
// + this list of conditions and the following disclaimer.
// + * Neither the name of the copyright holders nor the names of contributors may be used to endorse or promote products derived
// + from this software without specific prior written permission.
// + * The use of this project (hardware, software, binary files, sources and documentation) is only permittet
// + for non-commercial use (directly or indirectly)
// + Commercial use (for excample: selling of MikroKopters, selling of PCBs, assembly, ...) is only permitted
// + with our written permission
// + * If sources or documentations are redistributet on other webpages, out webpage (http://www.MikroKopter.de) must be
// + clearly linked as origin
// + * porting to systems other than hardware from www.mikrokopter.de is not allowed
// + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
// + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// + POSSIBILITY OF SUCH DAMAGE.
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#include "main.h"
 
// Reservierung im EEPROM
unsigned char EEPromArray[10] EEMEM;
struct mk_param_struct EEParameterArray[5] EEMEM;
 
unsigned char PlatinenVersion = 10;
 
// -- Parametersatz aus EEPROM lesen ---
// number [0..5]
void ReadParameterSet(unsigned char number, unsigned char *buffer, unsigned char length)
{
if (number > 5) number = 5;
number--; // Auf Index 0 bis 4 anpassen
eeprom_read_block(buffer, &EEParameterArray[number], length);
}
 
// -- Parametersatz ins EEPROM schreiben ---
// number [0..5]
void WriteParameterSet(unsigned char number, unsigned char *buffer, unsigned char length)
{
if (number > 5) number = 5;
number--; // Auf Index 0 bis 4 anpassen
eeprom_write_block(buffer, &EEParameterArray[number], length);
 
eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], number); // diesen Parametersatz als aktuell merken
}
 
unsigned char GetActiveParamSetNumber(void)
{
unsigned char set;
set = eeprom_read_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET]);
if(set > 5)
{
set = 2;
eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], set); // diesen Parametersatz als aktuell merken
}
return(set);
}
 
//############################################################################
//Hauptprogramm
int main (void)
//############################################################################
{
unsigned int timer;
 
//unsigned int timer2 = 0;
DDRB = 0x00;
PORTB = 0x00;
for(timer = 0; timer < 1000; timer++); // verzögern
if(PINB & 0x01) PlatinenVersion = 11; else PlatinenVersion = 10;
DDRC = 0x81; // SCL
PORTC = 0xff; // Pullup SDA
DDRB = 0x1B; // LEDs und Druckoffset
PORTB = 0x01; // LED_Rot
DDRD = 0x3E; // Speaker & TXD & J3 J4 J5
DDRD |=0x80; // J7
PORTD = 0xF7; // LED
MCUSR &=~(1<<WDRF);
WDTCSR |= (1<<WDCE)|(1<<WDE);
WDTCSR = 0;
 
beeptime = 2000;
 
StickGier = 0; PPM_in[K_GAS] = 0;StickRoll = 0; StickNick = 0;
 
ROT_OFF;
Timer_Init();
UART_Init();
rc_sum_init();
ADC_Init();
i2c_init();
init_MM3();
sei();
 
VersionInfo.Hauptversion = VERSION_HAUPTVERSION;
VersionInfo.Nebenversion = VERSION_NEBENVERSION;
VersionInfo.PCKompatibel = VERSION_KOMPATIBEL;
printf("\n\rFlightControl\n\rHardware:%d.%d\n\rSoftware:V%d.%d%c ",PlatinenVersion/10,PlatinenVersion%10, VERSION_HAUPTVERSION, VERSION_NEBENVERSION,VERSION_INDEX + 'a');
printf("\n\r==============================");
GRN_ON;
 
#define EE_DATENREVISION 69 // wird angepasst, wenn sich die EEPROM-Daten geändert haben
if(eeprom_read_byte(&EEPromArray[EEPROM_ADR_VALID]) != EE_DATENREVISION)
{
printf("\n\rInit. EEPROM: Generiere Default-Parameter...");
DefaultKonstanten1();
for (unsigned char i=0;i<6;i++)
{
if(i==2) DefaultKonstanten2(); // Kamera
if(i==3) DefaultKonstanten3(); // Beginner
if(i>3) DefaultKonstanten2(); // Kamera
WriteParameterSet(i, (unsigned char *) &EE_Parameter.Kanalbelegung[0], sizeof(struct mk_param_struct));
}
eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], 3); // default-Setting
eeprom_write_byte(&EEPromArray[EEPROM_ADR_VALID], EE_DATENREVISION);
}
ReadParameterSet(GetActiveParamSetNumber(), (unsigned char *) &EE_Parameter.Kanalbelegung[0], sizeof(struct mk_param_struct));
printf("\n\rBenutze Parametersatz %d", GetActiveParamSetNumber());
 
//kurze Wartezeit (sonst reagiert die "Kompass kalibrieren?"-Abfrage nicht
timer = SetDelay(500);
while(!CheckDelay(timer));
//Kompass kalibrieren?
if(PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] > 100 && PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] > 100)
{
printf("\n\rKalibriere Kompass");
calib_MM3();
}
 
//Neutrallage kalibrieren?
if(PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] > 100 && PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] < -100)
{
printf("\n\rKalibriere Neutrallage");
calib_acc();
}
if(EE_Parameter.GlobalConfig & CFG_HOEHENREGELUNG)
{
printf("\n\rAbgleich Luftdrucksensor..");
timer = SetDelay(1000);
SucheLuftruckOffset();
while (!CheckDelay(timer));
printf("OK\n\r");
}
SetNeutral();
 
ROT_OFF;
beeptime = 2000;
ExternControl.Digital[0] = 0x55;
 
printf("\n\rSteuerung: ");
if (EE_Parameter.GlobalConfig & CFG_HEADING_HOLD) printf("HeadingHold");
else printf("Neutral");
printf("\n\n\r");
LcdClear();
I2CTimeout = 5000;
while (1)
{
if(UpdateMotor) // ReglerIntervall
{
UpdateMotor=0;
//PORTD |= 0x08;
MotorRegler();
 
//PORTD &= ~0x08;
SendMotorData();
ROT_OFF;
if(PcZugriff) PcZugriff--;
else
{
DubWiseKeys[0] = 0;
DubWiseKeys[1] = 0;
ExternControl.Config = 0;
ExternStickNick = 0;
ExternStickRoll = 0;
ExternStickGier = 0;
}
if(SenderOkay) SenderOkay--;
if(!I2CTimeout)
{
I2CTimeout = 5;
i2c_reset();
if((BeepMuster == 0xffff) && MotorenEin)
{
beeptime = 10000;
BeepMuster = 0x0080;
}
}
else
{
I2CTimeout--;
ROT_OFF;
}
if(SIO_DEBUG && !UpdateMotor)
{
DatenUebertragung();
BearbeiteRxDaten();
}
else BearbeiteRxDaten();
if(CheckDelay(timer))
{
if(UBat < EE_Parameter.UnterspannungsWarnung)
{
if(BeepMuster == 0xffff)
{
beeptime = 6000;
BeepMuster = 0x0300;
}
}
timer = SetDelay(100);
}
//if(UpdateMotor) DebugOut.Analog[26]++;
}
}
return (1);
}
 
/branches/MicroMag3_Nick666/Festkomma/V0.68d/main.d
0,0 → 1,2
main.o main.d : main.c main.h old_macros.h _Settings.h printf_P.h timer0.h uart.h \
analog.h twimaster.h menu.h rc.h fc.h gps.h compass.h mymath.h
/branches/MicroMag3_Nick666/Festkomma/V0.68d/main.h
0,0 → 1,95
#ifndef _MAIN_H
#define _MAIN_H
 
//Hier die Quarz Frequenz einstellen
#if defined (__AVR_ATmega32__)
#define SYSCLK 20000000L //Quarz Frequenz in Hz
#endif
 
#if defined (__AVR_ATmega644__)
#define SYSCLK 20000000L //Quarz Frequenz in Hz
//#define SYSCLK 16000000L //Quarz Frequenz in Hz
#endif
 
// neue Hardware
#define ROT_OFF {if(PlatinenVersion == 10) PORTB &=~0x01; else PORTB |= 0x01;}
#define ROT_ON {if(PlatinenVersion == 10) PORTB |= 0x01; else PORTB &=~0x01;}
#define ROT_FLASH PORTB ^= 0x01
#define GRN_OFF PORTB &=~0x02
#define GRN_ON PORTB |= 0x02
#define GRN_FLASH PORTB ^= 0x02
 
 
 
#define F_CPU SYSCLK
//#ifndef F_CPU
//#error ################## F_CPU nicht definiert oder ungültig #############
//#endif
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
#define EEPROM_ADR_VALID 1
#define EEPROM_ADR_ACTIVE_SET 2
#define EEPROM_ADR_LAST_OFFSET 3
 
#define CFG_HOEHENREGELUNG 0x01
#define CFG_HOEHEN_SCHALTER 0x02
#define CFG_HEADING_HOLD 0x04
#define CFG_KOMPASS_AKTIV 0x08
#define CFG_KOMPASS_FIX 0x10
#define CFG_GPS_AKTIV 0x20
#define CFG_ACHSENKOPPLUNG_AKTIV 0x40
#define CFG_DREHRATEN_BEGRENZER 0x80
 
#define CFG_LOOP_OBEN 0x01
#define CFG_LOOP_UNTEN 0x02
#define CFG_LOOP_LINKS 0x04
#define CFG_LOOP_RECHTS 0x08
 
extern unsigned char PlatinenVersion;
 
void ReadParameterSet (unsigned char number, unsigned char *buffer, unsigned char length);
void WriteParameterSet(unsigned char number, unsigned char *buffer, unsigned char length);
extern unsigned char GetActiveParamSetNumber(void);
extern unsigned char EEPromArray[];
 
#include <stdlib.h>
#include <string.h>
#include <avr/io.h>
#include <avr/pgmspace.h>
#include <avr/interrupt.h>
#include <avr/eeprom.h>
#include <avr/boot.h>
#include <avr/wdt.h>
 
#include "old_macros.h"
 
#include "_Settings.h"
#include "printf_P.h"
#include "timer0.h"
#include "uart.h"
#include "analog.h"
#include "twimaster.h"
#include "menu.h"
#include "rc.h"
#include "fc.h"
#include "gps.h"
#include "compass.h"
#include "mymath.h"
 
 
#ifndef EEMEM
#define EEMEM __attribute__ ((section (".eeprom")))
#endif
 
#define DEBUG_DISPLAY_INTERVALL 123 // in ms
 
 
#define DELAY_US(x) ((unsigned int)( (x) * 1e-6 * F_CPU ))
#endif //_MAIN_H
 
 
 
 
 
 
/branches/MicroMag3_Nick666/Festkomma/V0.68d/main.lst
0,0 → 1,775
1 .file "main.c"
2 .arch atmega644
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
10 .text
11 .global GetActiveParamSetNumber
13 GetActiveParamSetNumber:
14 /* prologue: frame size=0 */
15 /* prologue end (size=0) */
16 0000 20E0 ldi r18,lo8(EEPromArray+2)
17 0002 30E0 ldi r19,hi8(EEPromArray+2)
18 0004 D901 movw r26,r18
19 /* #APP */
20 0006 0E94 0000 call __eeprom_read_byte_1F2021
21 000a 802D mov r24,__tmp_reg__
22 /* #NOAPP */
23 000c 8630 cpi r24,lo8(6)
24 000e 00F0 brlo .L2
25 0010 82E0 ldi r24,lo8(2)
26 0012 D901 movw r26,r18
27 /* #APP */
28 0014 082E mov __tmp_reg__,r24
29 0016 0E94 0000 call __eeprom_write_byte_1F2021
30 /* #NOAPP */
31 .L2:
32 001a 9927 clr r25
33 /* epilogue: frame size=0 */
34 001c 0895 ret
35 /* epilogue end (size=1) */
36 /* function GetActiveParamSetNumber size 17 (16) */
38 .global WriteParameterSet
40 WriteParameterSet:
41 /* prologue: frame size=0 */
42 /* prologue end (size=0) */
43 001e FB01 movw r30,r22
44 0020 8630 cpi r24,lo8(6)
45 0022 00F0 brlo .L6
46 0024 85E0 ldi r24,lo8(5)
47 .L6:
48 0026 282F mov r18,r24
49 0028 2150 subi r18,lo8(-(-1))
50 002a 842F mov r24,r20
51 002c 9927 clr r25
52 002e A6E4 ldi r26,lo8(70)
53 0030 2A9F mul r18,r26
54 0032 D001 movw r26,r0
55 0034 1124 clr r1
56 0036 A050 subi r26,lo8(-(EEParameterArray))
57 0038 B040 sbci r27,hi8(-(EEParameterArray))
58 /* #APP */
59 .36_start:
60 003a 0197 sbiw r24,1
61 003c 04F0 brlt .36_finished
62 003e 0190 ld __tmp_reg__,z+
63 0040 0E94 0000 call __eeprom_write_byte_1F2021
64 0044 00C0 rjmp .36_start
65 .36_finished:
66 /* #NOAPP */
67 0046 A0E0 ldi r26,lo8(EEPromArray+2)
68 0048 B0E0 ldi r27,hi8(EEPromArray+2)
69 /* #APP */
70 004a 022E mov __tmp_reg__,r18
71 004c 0E94 0000 call __eeprom_write_byte_1F2021
72 /* #NOAPP */
73 /* epilogue: frame size=0 */
74 0050 0895 ret
75 /* epilogue end (size=1) */
76 /* function WriteParameterSet size 35 (34) */
78 .global ReadParameterSet
80 ReadParameterSet:
81 /* prologue: frame size=0 */
82 /* prologue end (size=0) */
83 0052 FB01 movw r30,r22
84 0054 282F mov r18,r24
85 0056 8630 cpi r24,lo8(6)
86 0058 00F0 brlo .L9
87 005a 25E0 ldi r18,lo8(5)
88 .L9:
89 005c 842F mov r24,r20
90 005e 9927 clr r25
91 0060 2150 subi r18,lo8(-(-1))
92 0062 A6E4 ldi r26,lo8(70)
93 0064 2A9F mul r18,r26
94 0066 D001 movw r26,r0
95 0068 1124 clr r1
96 006a A050 subi r26,lo8(-(EEParameterArray))
97 006c B040 sbci r27,hi8(-(EEParameterArray))
98 /* #APP */
99 .57_start:
100 006e 0197 sbiw r24,1
101 0070 04F0 brlt .57_finished
102 0072 0E94 0000 call __eeprom_read_byte_1F2021
103 0076 0192 st z+,__tmp_reg__
104 0078 00C0 rjmp .57_start
105 .57_finished:
106 /* #NOAPP */
107 /* epilogue: frame size=0 */
108 007a 0895 ret
109 /* epilogue end (size=1) */
110 /* function ReadParameterSet size 29 (28) */
112 .global main
114 main:
115 /* prologue: frame size=0 */
116 007c 1F93 push r17
117 007e CF93 push r28
118 0080 DF93 push r29
119 /* prologue end (size=3) */
120 0082 14B8 out 36-0x20,__zero_reg__
121 0084 15B8 out 37-0x20,__zero_reg__
122 0086 189B sbis 35-0x20,0
123 0088 00C0 rjmp .L12
124 008a 8BE0 ldi r24,lo8(11)
125 008c 00C0 rjmp .L89
126 .L12:
127 008e 8AE0 ldi r24,lo8(10)
128 .L89:
129 0090 8093 0000 sts PlatinenVersion,r24
130 0094 81E8 ldi r24,lo8(-127)
131 0096 87B9 out 39-0x20,r24
132 0098 8FEF ldi r24,lo8(-1)
133 009a 88B9 out 40-0x20,r24
134 009c 8BE1 ldi r24,lo8(27)
135 009e 84B9 out 36-0x20,r24
136 00a0 81E0 ldi r24,lo8(1)
137 00a2 85B9 out 37-0x20,r24
138 00a4 8EE3 ldi r24,lo8(62)
139 00a6 8AB9 out 42-0x20,r24
140 00a8 579A sbi 42-0x20,7
141 00aa 87EF ldi r24,lo8(-9)
142 00ac 8BB9 out 43-0x20,r24
143 00ae 84B7 in r24,84-0x20
144 00b0 877F andi r24,lo8(-9)
145 00b2 84BF out 84-0x20,r24
146 00b4 8091 6000 lds r24,96
147 00b8 8861 ori r24,lo8(24)
148 00ba 8093 6000 sts 96,r24
149 00be 1092 6000 sts 96,__zero_reg__
150 00c2 80ED ldi r24,lo8(2000)
151 00c4 97E0 ldi r25,hi8(2000)
152 00c6 9093 0000 sts (beeptime)+1,r25
153 00ca 8093 0000 sts beeptime,r24
154 00ce 1092 0000 sts (StickGier)+1,__zero_reg__
155 00d2 1092 0000 sts StickGier,__zero_reg__
156 00d6 1092 0000 sts (PPM_in+4)+1,__zero_reg__
157 00da 1092 0000 sts PPM_in+4,__zero_reg__
158 00de 1092 0000 sts (StickRoll)+1,__zero_reg__
159 00e2 1092 0000 sts StickRoll,__zero_reg__
160 00e6 1092 0000 sts (StickNick)+1,__zero_reg__
161 00ea 1092 0000 sts StickNick,__zero_reg__
162 00ee 8091 0000 lds r24,PlatinenVersion
163 00f2 8A30 cpi r24,lo8(10)
164 00f4 01F4 brne .L15
165 00f6 2898 cbi 37-0x20,0
166 00f8 00C0 rjmp .L17
167 .L15:
168 00fa 289A sbi 37-0x20,0
169 .L17:
170 00fc 0E94 0000 call Timer_Init
171 0100 0E94 0000 call UART_Init
172 0104 0E94 0000 call rc_sum_init
173 0108 0E94 0000 call ADC_Init
174 010c 0E94 0000 call i2c_init
175 0110 0E94 0000 call init_MM3
176 /* #APP */
177 0114 7894 sei
178 /* #NOAPP */
179 0116 1092 0000 sts VersionInfo,__zero_reg__
180 011a 84E4 ldi r24,lo8(68)
181 011c 8093 0000 sts VersionInfo+1,r24
182 0120 87E0 ldi r24,lo8(7)
183 0122 8093 0000 sts VersionInfo+2,r24
184 0126 2091 0000 lds r18,PlatinenVersion
185 012a 84E6 ldi r24,lo8(100)
186 012c 90E0 ldi r25,hi8(100)
187 012e 9F93 push r25
188 0130 8F93 push r24
189 0132 84E4 ldi r24,lo8(68)
190 0134 90E0 ldi r25,hi8(68)
191 0136 9F93 push r25
192 0138 8F93 push r24
193 013a 1F92 push __zero_reg__
194 013c 1F92 push __zero_reg__
195 013e 822F mov r24,r18
196 0140 6AE0 ldi r22,lo8(10)
197 0142 0E94 0000 call __udivmodqi4
198 0146 892F mov r24,r25
199 0148 9927 clr r25
200 014a 9F93 push r25
201 014c 8F93 push r24
202 014e 822F mov r24,r18
203 0150 0E94 0000 call __udivmodqi4
204 0154 9927 clr r25
205 0156 9F93 push r25
206 0158 8F93 push r24
207 015a 80E0 ldi r24,lo8(__c.2048)
208 015c 90E0 ldi r25,hi8(__c.2048)
209 015e 9F93 push r25
210 0160 8F93 push r24
211 0162 1F92 push __zero_reg__
212 0164 0E94 0000 call _printf_P
213 0168 80E0 ldi r24,lo8(__c.2050)
214 016a 90E0 ldi r25,hi8(__c.2050)
215 016c 9F93 push r25
216 016e 8F93 push r24
217 0170 1F92 push __zero_reg__
218 0172 0E94 0000 call _printf_P
219 0176 299A sbi 37-0x20,1
220 0178 A0E0 ldi r26,lo8(EEPromArray+1)
221 017a B0E0 ldi r27,hi8(EEPromArray+1)
222 /* #APP */
223 017c 0E94 0000 call __eeprom_read_byte_1F2021
224 0180 802D mov r24,__tmp_reg__
225 /* #NOAPP */
226 0182 2DB7 in r18,__SP_L__
227 0184 3EB7 in r19,__SP_H__
228 0186 205F subi r18,lo8(-(16))
229 0188 3F4F sbci r19,hi8(-(16))
230 018a 2DBF out __SP_L__,r18
231 018c 8534 cpi r24,lo8(69)
232 018e 01F4 brne .+2
233 0190 00C0 rjmp .L18
234 0192 80E0 ldi r24,lo8(__c.2052)
235 0194 90E0 ldi r25,hi8(__c.2052)
236 0196 9F93 push r25
237 0198 8F93 push r24
238 019a 1F92 push __zero_reg__
239 019c 0E94 0000 call _printf_P
240 01a0 0E94 0000 call DefaultKonstanten1
241 01a4 10E0 ldi r17,lo8(0)
242 01a6 0F90 pop __tmp_reg__
243 01a8 0F90 pop __tmp_reg__
244 01aa 0F90 pop __tmp_reg__
245 .L75:
246 01ac 1230 cpi r17,lo8(2)
247 01ae 01F4 brne .L21
248 01b0 0E94 0000 call DefaultKonstanten2
249 01b4 46E4 ldi r20,lo8(70)
250 01b6 60E0 ldi r22,lo8(EE_Parameter)
251 01b8 70E0 ldi r23,hi8(EE_Parameter)
252 01ba 82E0 ldi r24,lo8(2)
253 01bc 0E94 0000 call WriteParameterSet
254 01c0 00C0 rjmp .L77
255 .L21:
256 01c2 1330 cpi r17,lo8(3)
257 01c4 01F4 brne .L23
258 .L77:
259 01c6 0E94 0000 call DefaultKonstanten3
260 01ca 46E4 ldi r20,lo8(70)
261 01cc 60E0 ldi r22,lo8(EE_Parameter)
262 01ce 70E0 ldi r23,hi8(EE_Parameter)
263 01d0 83E0 ldi r24,lo8(3)
264 01d2 0E94 0000 call WriteParameterSet
265 01d6 14E0 ldi r17,lo8(4)
266 01d8 00C0 rjmp .L78
267 .L23:
268 01da 1430 cpi r17,lo8(4)
269 01dc 00F0 brlo .L25
270 .L78:
271 01de 0E94 0000 call DefaultKonstanten2
272 .L25:
273 01e2 46E4 ldi r20,lo8(70)
274 01e4 60E0 ldi r22,lo8(EE_Parameter)
275 01e6 70E0 ldi r23,hi8(EE_Parameter)
276 01e8 812F mov r24,r17
277 01ea 0E94 0000 call WriteParameterSet
278 01ee 1F5F subi r17,lo8(-(1))
279 01f0 1630 cpi r17,lo8(6)
280 01f2 00F0 brlo .L75
281 01f4 83E0 ldi r24,lo8(3)
282 01f6 20E0 ldi r18,lo8(EEPromArray+2)
283 01f8 30E0 ldi r19,hi8(EEPromArray+2)
284 01fa D901 movw r26,r18
285 /* #APP */
286 01fc 082E mov __tmp_reg__,r24
287 01fe 0E94 0000 call __eeprom_write_byte_1F2021
288 /* #NOAPP */
289 0202 85E4 ldi r24,lo8(69)
290 0204 2150 subi r18,lo8(-(-1))
291 0206 3040 sbci r19,hi8(-(-1))
292 0208 D901 movw r26,r18
293 /* #APP */
294 020a 082E mov __tmp_reg__,r24
295 020c 0E94 0000 call __eeprom_write_byte_1F2021
296 /* #NOAPP */
297 .L18:
298 0210 C0E0 ldi r28,lo8(EEPromArray+2)
299 0212 D0E0 ldi r29,hi8(EEPromArray+2)
300 0214 DE01 movw r26,r28
301 /* #APP */
302 0216 0E94 0000 call __eeprom_read_byte_1F2021
303 021a 802D mov r24,__tmp_reg__
304 /* #NOAPP */
305 021c 8630 cpi r24,lo8(6)
306 021e 00F0 brlo .L28
307 0220 82E0 ldi r24,lo8(2)
308 0222 DE01 movw r26,r28
309 /* #APP */
310 0224 082E mov __tmp_reg__,r24
311 0226 0E94 0000 call __eeprom_write_byte_1F2021
312 /* #NOAPP */
313 .L28:
314 022a 46E4 ldi r20,lo8(70)
315 022c 60E0 ldi r22,lo8(EE_Parameter)
316 022e 70E0 ldi r23,hi8(EE_Parameter)
317 0230 0E94 0000 call ReadParameterSet
318 0234 DE01 movw r26,r28
319 /* #APP */
320 0236 0E94 0000 call __eeprom_read_byte_1F2021
321 023a 802D mov r24,__tmp_reg__
322 /* #NOAPP */
323 023c 8630 cpi r24,lo8(6)
324 023e 00F0 brlo .L30
325 0240 82E0 ldi r24,lo8(2)
326 0242 DE01 movw r26,r28
327 /* #APP */
328 0244 082E mov __tmp_reg__,r24
329 0246 0E94 0000 call __eeprom_write_byte_1F2021
330 /* #NOAPP */
331 .L30:
332 024a 9927 clr r25
333 024c 9F93 push r25
334 024e 8F93 push r24
335 0250 80E0 ldi r24,lo8(__c.2059)
336 0252 90E0 ldi r25,hi8(__c.2059)
337 0254 9F93 push r25
338 0256 8F93 push r24
339 0258 1F92 push __zero_reg__
340 025a 0E94 0000 call _printf_P
341 025e 84EF ldi r24,lo8(500)
342 0260 91E0 ldi r25,hi8(500)
343 0262 0E94 0000 call SetDelay
344 0266 EC01 movw r28,r24
345 0268 0F90 pop __tmp_reg__
346 026a 0F90 pop __tmp_reg__
347 026c 0F90 pop __tmp_reg__
348 026e 0F90 pop __tmp_reg__
349 0270 0F90 pop __tmp_reg__
350 .L32:
351 0272 CE01 movw r24,r28
352 0274 0E94 0000 call CheckDelay
353 0278 8823 tst r24
354 027a 01F0 breq .L32
355 027c E091 0000 lds r30,EE_Parameter+2
356 0280 FF27 clr r31
357 0282 EE0F lsl r30
358 0284 FF1F rol r31
359 0286 E050 subi r30,lo8(-(PPM_in))
360 0288 F040 sbci r31,hi8(-(PPM_in))
361 028a 8081 ld r24,Z
362 028c 9181 ldd r25,Z+1
363 028e 8536 cpi r24,101
364 0290 9105 cpc r25,__zero_reg__
365 0292 04F0 brlt .L34
366 0294 E091 0000 lds r30,EE_Parameter+3
367 0298 FF27 clr r31
368 029a EE0F lsl r30
369 029c FF1F rol r31
370 029e E050 subi r30,lo8(-(PPM_in))
371 02a0 F040 sbci r31,hi8(-(PPM_in))
372 02a2 8081 ld r24,Z
373 02a4 9181 ldd r25,Z+1
374 02a6 8536 cpi r24,101
375 02a8 9105 cpc r25,__zero_reg__
376 02aa 04F0 brlt .L34
377 02ac 80E0 ldi r24,lo8(__c.2064)
378 02ae 90E0 ldi r25,hi8(__c.2064)
379 02b0 9F93 push r25
380 02b2 8F93 push r24
381 02b4 1F92 push __zero_reg__
382 02b6 0E94 0000 call _printf_P
383 02ba 0E94 0000 call calib_MM3
384 02be 0F90 pop __tmp_reg__
385 02c0 0F90 pop __tmp_reg__
386 02c2 0F90 pop __tmp_reg__
387 .L34:
388 02c4 E091 0000 lds r30,EE_Parameter+2
389 02c8 FF27 clr r31
390 02ca EE0F lsl r30
391 02cc FF1F rol r31
392 02ce E050 subi r30,lo8(-(PPM_in))
393 02d0 F040 sbci r31,hi8(-(PPM_in))
394 02d2 8081 ld r24,Z
395 02d4 9181 ldd r25,Z+1
396 02d6 8536 cpi r24,101
397 02d8 9105 cpc r25,__zero_reg__
398 02da 04F0 brlt .L37
399 02dc E091 0000 lds r30,EE_Parameter+3
400 02e0 FF27 clr r31
401 02e2 EE0F lsl r30
402 02e4 FF1F rol r31
403 02e6 E050 subi r30,lo8(-(PPM_in))
404 02e8 F040 sbci r31,hi8(-(PPM_in))
405 02ea 8081 ld r24,Z
406 02ec 9181 ldd r25,Z+1
407 02ee 8C59 subi r24,lo8(-100)
408 02f0 9F4F sbci r25,hi8(-100)
409 02f2 04F4 brge .L37
410 02f4 80E0 ldi r24,lo8(__c.2066)
411 02f6 90E0 ldi r25,hi8(__c.2066)
412 02f8 9F93 push r25
413 02fa 8F93 push r24
414 02fc 1F92 push __zero_reg__
415 02fe 0E94 0000 call _printf_P
416 0302 0E94 0000 call calib_acc
417 0306 0F90 pop __tmp_reg__
418 0308 0F90 pop __tmp_reg__
419 030a 0F90 pop __tmp_reg__
420 .L37:
421 030c 8091 0000 lds r24,EE_Parameter+8
422 0310 80FF sbrs r24,0
423 0312 00C0 rjmp .L40
424 0314 80E0 ldi r24,lo8(__c.2068)
425 0316 90E0 ldi r25,hi8(__c.2068)
426 0318 9F93 push r25
427 031a 8F93 push r24
428 031c 1F92 push __zero_reg__
429 031e 0E94 0000 call _printf_P
430 0322 88EE ldi r24,lo8(1000)
431 0324 93E0 ldi r25,hi8(1000)
432 0326 0E94 0000 call SetDelay
433 032a EC01 movw r28,r24
434 032c 0E94 0000 call SucheLuftruckOffset
435 0330 0F90 pop __tmp_reg__
436 0332 0F90 pop __tmp_reg__
437 0334 0F90 pop __tmp_reg__
438 .L42:
439 0336 CE01 movw r24,r28
440 0338 0E94 0000 call CheckDelay
441 033c 8823 tst r24
442 033e 01F0 breq .L42
443 0340 80E0 ldi r24,lo8(__c.2073)
444 0342 90E0 ldi r25,hi8(__c.2073)
445 0344 9F93 push r25
446 0346 8F93 push r24
447 0348 1F92 push __zero_reg__
448 034a 0E94 0000 call _printf_P
449 034e 0F90 pop __tmp_reg__
450 0350 0F90 pop __tmp_reg__
451 0352 0F90 pop __tmp_reg__
452 .L40:
453 0354 0E94 0000 call SetNeutral
454 0358 8091 0000 lds r24,PlatinenVersion
455 035c 8A30 cpi r24,lo8(10)
456 035e 01F4 brne .L44
457 0360 2898 cbi 37-0x20,0
458 0362 00C0 rjmp .L46
459 .L44:
460 0364 289A sbi 37-0x20,0
461 .L46:
462 0366 80ED ldi r24,lo8(2000)
463 0368 97E0 ldi r25,hi8(2000)
464 036a 9093 0000 sts (beeptime)+1,r25
465 036e 8093 0000 sts beeptime,r24
466 0372 85E5 ldi r24,lo8(85)
467 0374 8093 0000 sts ExternControl,r24
468 0378 80E0 ldi r24,lo8(__c.2075)
469 037a 90E0 ldi r25,hi8(__c.2075)
470 037c 9F93 push r25
471 037e 8F93 push r24
472 0380 1F92 push __zero_reg__
473 0382 0E94 0000 call _printf_P
474 0386 8091 0000 lds r24,EE_Parameter+8
475 038a 0F90 pop __tmp_reg__
476 038c 0F90 pop __tmp_reg__
477 038e 0F90 pop __tmp_reg__
478 0390 82FF sbrs r24,2
479 0392 00C0 rjmp .L47
480 0394 80E0 ldi r24,lo8(__c.2077)
481 0396 90E0 ldi r25,hi8(__c.2077)
482 0398 00C0 rjmp .L90
483 .L47:
484 039a 80E0 ldi r24,lo8(__c.2079)
485 039c 90E0 ldi r25,hi8(__c.2079)
486 .L90:
487 039e 9F93 push r25
488 03a0 8F93 push r24
489 03a2 1F92 push __zero_reg__
490 03a4 0E94 0000 call _printf_P
491 03a8 0F90 pop __tmp_reg__
492 03aa 0F90 pop __tmp_reg__
493 03ac 0F90 pop __tmp_reg__
494 03ae 80E0 ldi r24,lo8(__c.2081)
495 03b0 90E0 ldi r25,hi8(__c.2081)
496 03b2 9F93 push r25
497 03b4 8F93 push r24
498 03b6 1F92 push __zero_reg__
499 03b8 0E94 0000 call _printf_P
500 03bc 0E94 0000 call LcdClear
501 03c0 88E8 ldi r24,lo8(5000)
502 03c2 93E1 ldi r25,hi8(5000)
503 03c4 9093 0000 sts (I2CTimeout)+1,r25
504 03c8 8093 0000 sts I2CTimeout,r24
505 03cc 0F90 pop __tmp_reg__
506 03ce 0F90 pop __tmp_reg__
507 03d0 0F90 pop __tmp_reg__
508 .L91:
509 03d2 8091 0000 lds r24,UpdateMotor
510 03d6 8823 tst r24
511 03d8 01F0 breq .L91
512 03da 1092 0000 sts UpdateMotor,__zero_reg__
513 03de 0E94 0000 call MotorRegler
514 03e2 0E94 0000 call SendMotorData
515 03e6 2091 0000 lds r18,PlatinenVersion
516 03ea 2A30 cpi r18,lo8(10)
517 03ec 01F4 brne .L52
518 03ee 2898 cbi 37-0x20,0
519 03f0 00C0 rjmp .L54
520 .L52:
521 03f2 289A sbi 37-0x20,0
522 .L54:
523 03f4 8091 0000 lds r24,PcZugriff
524 03f8 8823 tst r24
525 03fa 01F0 breq .L55
526 03fc 8150 subi r24,lo8(-(-1))
527 03fe 8093 0000 sts PcZugriff,r24
528 0402 00C0 rjmp .L57
529 .L55:
530 0404 1092 0000 sts DubWiseKeys,__zero_reg__
531 0408 1092 0000 sts DubWiseKeys+1,__zero_reg__
532 040c 1092 0000 sts ExternControl+10,__zero_reg__
533 0410 1092 0000 sts (ExternStickNick)+1,__zero_reg__
534 0414 1092 0000 sts ExternStickNick,__zero_reg__
535 0418 1092 0000 sts (ExternStickRoll)+1,__zero_reg__
536 041c 1092 0000 sts ExternStickRoll,__zero_reg__
537 0420 1092 0000 sts (ExternStickGier)+1,__zero_reg__
538 0424 1092 0000 sts ExternStickGier,__zero_reg__
539 .L57:
540 0428 8091 0000 lds r24,SenderOkay
541 042c 8823 tst r24
542 042e 01F0 breq .L58
543 0430 8091 0000 lds r24,SenderOkay
544 0434 8150 subi r24,lo8(-(-1))
545 0436 8093 0000 sts SenderOkay,r24
546 .L58:
547 043a 8091 0000 lds r24,I2CTimeout
548 043e 9091 0000 lds r25,(I2CTimeout)+1
549 0442 892B or r24,r25
550 0444 01F4 brne .L60
551 0446 85E0 ldi r24,lo8(5)
552 0448 90E0 ldi r25,hi8(5)
553 044a 9093 0000 sts (I2CTimeout)+1,r25
554 044e 8093 0000 sts I2CTimeout,r24
555 0452 0E94 0000 call i2c_reset
556 0456 8091 0000 lds r24,BeepMuster
557 045a 9091 0000 lds r25,(BeepMuster)+1
558 045e 8F5F subi r24,lo8(-1)
559 0460 9F4F sbci r25,hi8(-1)
560 0462 01F4 brne .L62
561 0464 8091 0000 lds r24,MotorenEin
562 0468 8823 tst r24
563 046a 01F0 breq .L62
564 046c 80E1 ldi r24,lo8(10000)
565 046e 97E2 ldi r25,hi8(10000)
566 0470 9093 0000 sts (beeptime)+1,r25
567 0474 8093 0000 sts beeptime,r24
568 0478 80E8 ldi r24,lo8(128)
569 047a 90E0 ldi r25,hi8(128)
570 047c 9093 0000 sts (BeepMuster)+1,r25
571 0480 8093 0000 sts BeepMuster,r24
572 0484 00C0 rjmp .L62
573 .L60:
574 0486 8091 0000 lds r24,I2CTimeout
575 048a 9091 0000 lds r25,(I2CTimeout)+1
576 048e 0197 sbiw r24,1
577 0490 9093 0000 sts (I2CTimeout)+1,r25
578 0494 8093 0000 sts I2CTimeout,r24
579 0498 2A30 cpi r18,lo8(10)
580 049a 01F4 brne .L65
581 049c 2898 cbi 37-0x20,0
582 049e 00C0 rjmp .L62
583 .L65:
584 04a0 289A sbi 37-0x20,0
585 .L62:
586 04a2 8091 0000 lds r24,UpdateMotor
587 04a6 8823 tst r24
588 04a8 01F4 brne .L67
589 04aa 0E94 0000 call DatenUebertragung
590 .L67:
591 04ae 0E94 0000 call BearbeiteRxDaten
592 04b2 CE01 movw r24,r28
593 04b4 0E94 0000 call CheckDelay
594 04b8 8823 tst r24
595 04ba 01F4 brne .+2
596 04bc 00C0 rjmp .L91
597 04be 2091 0000 lds r18,UBat
598 04c2 3091 0000 lds r19,(UBat)+1
599 04c6 8091 0000 lds r24,EE_Parameter+24
600 04ca 9927 clr r25
601 04cc 2817 cp r18,r24
602 04ce 3907 cpc r19,r25
603 04d0 04F4 brge .L71
604 04d2 8091 0000 lds r24,BeepMuster
605 04d6 9091 0000 lds r25,(BeepMuster)+1
606 04da 8F5F subi r24,lo8(-1)
607 04dc 9F4F sbci r25,hi8(-1)
608 04de 01F4 brne .L71
609 04e0 80E7 ldi r24,lo8(6000)
610 04e2 97E1 ldi r25,hi8(6000)
611 04e4 9093 0000 sts (beeptime)+1,r25
612 04e8 8093 0000 sts beeptime,r24
613 04ec 80E0 ldi r24,lo8(768)
614 04ee 93E0 ldi r25,hi8(768)
615 04f0 9093 0000 sts (BeepMuster)+1,r25
616 04f4 8093 0000 sts BeepMuster,r24
617 .L71:
618 04f8 84E6 ldi r24,lo8(100)
619 04fa 90E0 ldi r25,hi8(100)
620 04fc 0E94 0000 call SetDelay
621 0500 EC01 movw r28,r24
622 0502 00C0 rjmp .L91
623 /* epilogue: frame size=0 */
624 /* epilogue: noreturn */
625 /* epilogue end (size=0) */
626 /* function main size 591 (588) */
628 .global PlatinenVersion
629 .data
632 PlatinenVersion:
633 0000 0A .byte 10
634 .section .progmem.data,"a",@progbits
637 __c.2081:
638 0000 0A0A 0D00 .string "\n\n\r"
641 __c.2079:
642 0004 4E65 7574 .string "Neutral"
642 7261 6C00
645 __c.2077:
646 000c 4865 6164 .string "HeadingHold"
646 696E 6748
646 6F6C 6400
649 __c.2075:
650 0018 0A0D 5374 .string "\n\rSteuerung: "
650 6575 6572
650 756E 673A
650 2000
653 __c.2073:
654 0026 4F4B 0A0D .string "OK\n\r"
654 00
657 __c.2068:
658 002b 0A0D 4162 .string "\n\rAbgleich Luftdrucksensor.."
658 676C 6569
658 6368 204C
658 7566 7464
658 7275 636B
661 __c.2066:
662 0048 0A0D 4B61 .string "\n\rKalibriere Neutrallage"
662 6C69 6272
662 6965 7265
662 204E 6575
662 7472 616C
665 __c.2064:
666 0061 0A0D 4B61 .string "\n\rKalibriere Kompass"
666 6C69 6272
666 6965 7265
666 204B 6F6D
666 7061 7373
669 __c.2059:
670 0076 0A0D 4265 .string "\n\rBenutze Parametersatz %d"
670 6E75 747A
670 6520 5061
670 7261 6D65
670 7465 7273
673 __c.2052:
674 0091 0A0D 496E .string "\n\rInit. EEPROM: Generiere Default-Parameter..."
674 6974 2E20
674 4545 5052
674 4F4D 3A20
674 4765 6E65
677 __c.2050:
678 00c0 0A0D 3D3D .string "\n\r=============================="
678 3D3D 3D3D
678 3D3D 3D3D
678 3D3D 3D3D
678 3D3D 3D3D
681 __c.2048:
682 00e1 0A0D 466C .string "\n\rFlightControl\n\rHardware:%d.%d\n\rSoftware:V%d.%d%c "
682 6967 6874
682 436F 6E74
682 726F 6C0A
682 0D48 6172
683 .global EEPromArray
684 .section .eeprom,"aw",@progbits
687 EEPromArray:
688 0000 0000 0000 .skip 10,0
688 0000 0000
688 0000
689 .global EEParameterArray
692 EEParameterArray:
693 000a 0000 0000 .skip 350,0
693 0000 0000
693 0000 0000
693 0000 0000
693 0000 0000
694 /* File "main.c": code 672 = 0x02a0 ( 666), prologues 3, epilogues 3 */
DEFINED SYMBOLS
*ABS*:00000000 main.c
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:13 .text:00000000 GetActiveParamSetNumber
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:687 .eeprom:00000000 EEPromArray
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:40 .text:0000001e WriteParameterSet
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:692 .eeprom:0000000a EEParameterArray
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:59 .text:0000003a .36_start
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:65 .text:00000046 .36_finished
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:80 .text:00000052 ReadParameterSet
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:99 .text:0000006e .57_start
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:105 .text:0000007a .57_finished
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:114 .text:0000007c main
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:632 .data:00000000 PlatinenVersion
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:681 .progmem.data:000000e1 __c.2048
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:677 .progmem.data:000000c0 __c.2050
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:673 .progmem.data:00000091 __c.2052
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:669 .progmem.data:00000076 __c.2059
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:665 .progmem.data:00000061 __c.2064
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:661 .progmem.data:00000048 __c.2066
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:657 .progmem.data:0000002b __c.2068
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:653 .progmem.data:00000026 __c.2073
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:649 .progmem.data:00000018 __c.2075
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:645 .progmem.data:0000000c __c.2077
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:641 .progmem.data:00000004 __c.2079
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc16BpmV.s:637 .progmem.data:00000000 __c.2081
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__eeprom_read_byte_1F2021
__eeprom_write_byte_1F2021
beeptime
StickGier
PPM_in
StickRoll
StickNick
Timer_Init
UART_Init
rc_sum_init
ADC_Init
i2c_init
init_MM3
VersionInfo
__udivmodqi4
_printf_P
DefaultKonstanten1
DefaultKonstanten2
EE_Parameter
DefaultKonstanten3
SetDelay
CheckDelay
calib_MM3
calib_acc
SucheLuftruckOffset
SetNeutral
ExternControl
LcdClear
I2CTimeout
UpdateMotor
MotorRegler
SendMotorData
PcZugriff
DubWiseKeys
ExternStickNick
ExternStickRoll
ExternStickGier
SenderOkay
i2c_reset
BeepMuster
MotorenEin
DatenUebertragung
BearbeiteRxDaten
UBat
/branches/MicroMag3_Nick666/Festkomma/V0.68d/makefile
0,0 → 1,423
#--------------------------------------------------------------------
# MCU name
MCU = atmega644
F_CPU = 20000000
#-------------------------------------------------------------------
HAUPT_VERSION = 0
NEBEN_VERSION = 68
VERSION_INDEX = 3
 
VERSION_KOMPATIBEL = 7 # PC-Kompatibilität
#-------------------------------------------------------------------
 
ifeq ($(MCU), atmega32)
# FUSE_SETTINGS= -u -U lfuse:w:0xff:m -U hfuse:w:0xcf:m
 
HEX_NAME = MEGA32
endif
 
ifeq ($(MCU), atmega644)
FUSE_SETTINGS = -u -U lfuse:w:0xff:m -U hfuse:w:0xdf:m
#FUSE_SETTINGS = -U lfuse:w:0xff:m -U hfuse:w:0xdf:m
# -u bei neuen Controllern wieder einspielen
HEX_NAME = MEGA644
endif
 
ifeq ($(MCU), atmega644p)
FUSE_SETTINGS = -u -U lfuse:w:0xff:m -U hfuse:w:0xdf:m
HEX_NAME = MEGA644
endif
 
 
ifeq ($(F_CPU), 16000000)
QUARZ = 16MHZ
endif
 
ifeq ($(F_CPU), 20000000)
QUARZ = 20MHZ
endif
 
 
# Output format. (can be srec, ihex, binary)
FORMAT = ihex
 
# Target file name (without extension).
 
ifeq ($(VERSION_INDEX), 0)
TARGET = Flight-Ctrl_$(HEX_NAME)_V$(HAUPT_VERSION)_$(NEBEN_VERSION)a
endif
ifeq ($(VERSION_INDEX), 1)
TARGET = Flight-Ctrl_$(HEX_NAME)_V$(HAUPT_VERSION)_$(NEBEN_VERSION)b
endif
ifeq ($(VERSION_INDEX), 2)
TARGET = Flight-Ctrl_$(HEX_NAME)_V$(HAUPT_VERSION)_$(NEBEN_VERSION)c
endif
ifeq ($(VERSION_INDEX), 3)
TARGET = Flight-Ctrl_$(HEX_NAME)_V$(HAUPT_VERSION)_$(NEBEN_VERSION)d
endif
ifeq ($(VERSION_INDEX), 4)
TARGET = Flight-Ctrl_$(HEX_NAME)_V$(HAUPT_VERSION)_$(NEBEN_VERSION)e
endif
ifeq ($(VERSION_INDEX), 5)
TARGET = Flight-Ctrl_$(HEX_NAME)_V$(HAUPT_VERSION)_$(NEBEN_VERSION)f
endif
ifeq ($(VERSION_INDEX), 6)
TARGET = Flight-Ctrl_$(HEX_NAME)_V$(HAUPT_VERSION)_$(NEBEN_VERSION)g
endif
ifeq ($(VERSION_INDEX), 7)
TARGET = Flight-Ctrl_$(HEX_NAME)_V$(HAUPT_VERSION)_$(NEBEN_VERSION)h
endif
 
# Optimization level, can be [0, 1, 2, 3, s]. 0 turns off optimization.
# (Note: 3 is not always the best optimization level. See avr-libc FAQ.)
OPT = s
 
##########################################################################################################
# List C source files here. (C dependencies are automatically generated.)
SRC = main.c uart.c printf_P.c timer0.c analog.c menu.c
SRC += twimaster.c rc.c fc.c GPS.c
SRC += compass.c mymath.c
##########################################################################################################
 
 
# List Assembler source files here.
# Make them always end in a capital .S. Files ending in a lowercase .s
# will not be considered source files but generated files (assembler
# output from the compiler), and will be deleted upon "make clean"!
# Even though the DOS/Win* filesystem matches both .s and .S the same,
# it will preserve the spelling of the filenames, and gcc itself does
# care about how the name is spelled on its command-line.
ASRC =
 
 
 
# List any extra directories to look for include files here.
# Each directory must be seperated by a space.
EXTRAINCDIRS =
 
 
# Optional compiler flags.
# -g: generate debugging information (for GDB, or for COFF conversion)
# -O*: optimization level
# -f...: tuning, see gcc manual and avr-libc documentation
# -Wall...: warning level
# -Wa,...: tell GCC to pass this to the assembler.
# -ahlms: create assembler listing
CFLAGS = -O$(OPT) \
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums \
-mtiny-stack -mcall-prologues \
-Wall -Wstrict-prototypes \
-Wa,-adhlns=$(<:.c=.lst) \
$(patsubst %,-I%,$(EXTRAINCDIRS))
 
 
# Set a "language standard" compiler flag.
# Unremark just one line below to set the language standard to use.
# gnu99 = C99 + GNU extensions. See GCC manual for more information.
#CFLAGS += -std=c89
#CFLAGS += -std=gnu89
#CFLAGS += -std=c99
CFLAGS += -std=gnu99
 
CFLAGS += -DVERSION_HAUPTVERSION=$(HAUPT_VERSION) -DVERSION_NEBENVERSION=$(NEBEN_VERSION) -DVERSION_KOMPATIBEL=$(VERSION_KOMPATIBEL) -DVERSION_INDEX=$(VERSION_INDEX)
 
 
# Optional assembler flags.
# -Wa,...: tell GCC to pass this to the assembler.
# -ahlms: create listing
# -gstabs: have the assembler create line number information; note that
# for use in COFF files, additional information about filenames
# and function names needs to be present in the assembler source
# files -- see avr-libc docs [FIXME: not yet described there]
ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs
 
 
 
# Optional linker flags.
# -Wl,...: tell GCC to pass this to linker.
# -Map: create map file
# --cref: add cross reference to map file
LDFLAGS = -Wl,-Map=$(TARGET).map,--cref
 
# Additional libraries
 
# Minimalistic printf version
#LDFLAGS += -Wl,-u,vfprintf -lprintf_min
 
# Floating point printf version (requires -lm below)
#LDFLAGS += -Wl,-u,vfprintf -lprintf_flt
 
# -lm = math library
LDFLAGS += -lm
 
 
##LDFLAGS += -T./linkerfile/avr5.x
 
 
 
# Programming support using avrdude. Settings and variables.
 
# Programming hardware: alf avr910 avrisp bascom bsd
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ?
# to get a full listing.
#
#AVRDUDE_PROGRAMMER = dt006
#AVRDUDE_PROGRAMMER = stk200
#AVRDUDE_PROGRAMMER = ponyser
AVRDUDE_PROGRAMMER = avrispv2
#falls Ponyser ausgewählt wird, muss sich unsere avrdude-Configdatei im Bin-Verzeichnis des Compilers befinden
 
#AVRDUDE_PORT = com1 # programmer connected to serial device
#AVRDUDE_PORT = lpt1 # programmer connected to parallel port
AVRDUDE_PORT = usb # programmer connected to USB
 
#AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex $(FUSE_SETTINGS)
#AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep
 
#avrdude -c avrispv2 -P usb -p m32 -U flash:w:blink.hex
AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER)
 
# Uncomment the following if you want avrdude's erase cycle counter.
# Note that this counter needs to be initialized first using -Yn,
# see avrdude manual.
#AVRDUDE_ERASE += -y
 
# Uncomment the following if you do /not/ wish a verification to be
# performed after programming the device.
AVRDUDE_FLAGS += -V
 
# Increase verbosity level. Please use this when submitting bug
# reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude>
# to submit bug reports.
#AVRDUDE_FLAGS += -v -v
 
# ---------------------------------------------------------------------------
# Define directories, if needed.
DIRAVR = c:/winavr
DIRAVRBIN = $(DIRAVR)/bin
DIRAVRUTILS = $(DIRAVR)/utils/bin
DIRINC = .
DIRLIB = $(DIRAVR)/avr/lib
 
 
# Define programs and commands.
SHELL = sh
 
CC = avr-gcc
 
OBJCOPY = avr-objcopy
OBJDUMP = avr-objdump
SIZE = avr-size
 
# Programming support using avrdude.
AVRDUDE = avrdude
 
REMOVE = rm -f
COPY = cp
 
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) -A $(TARGET).elf
 
# Define Messages
# English
MSG_ERRORS_NONE = Errors: none
MSG_BEGIN = -------- begin --------
MSG_END = -------- end --------
MSG_SIZE_BEFORE = Size before:
MSG_SIZE_AFTER = Size after:
MSG_COFF = Converting to AVR COFF:
MSG_EXTENDED_COFF = Converting to AVR Extended COFF:
MSG_FLASH = Creating load file for Flash:
MSG_EEPROM = Creating load file for EEPROM:
MSG_EXTENDED_LISTING = Creating Extended Listing:
MSG_SYMBOL_TABLE = Creating Symbol Table:
MSG_LINKING = Linking:
MSG_COMPILING = Compiling:
MSG_ASSEMBLING = Assembling:
MSG_CLEANING = Cleaning project:
 
 
# Define all object files.
OBJ = $(SRC:.c=.o) $(ASRC:.S=.o)
 
# Define all listing files.
LST = $(ASRC:.S=.lst) $(SRC:.c=.lst)
 
# Combine all necessary flags and optional flags.
# Add target processor to flags.
#ALL_CFLAGS = -mmcu=$(MCU) -DF_CPU=$(F_CPU) -I. $(CFLAGS)
ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS)
ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
 
 
# Default target.
all: begin gccversion sizebefore $(TARGET).elf $(TARGET).hex $(TARGET).eep \
$(TARGET).lss $(TARGET).sym sizeafter finished end
 
 
# Eye candy.
# AVR Studio 3.x does not check make's exit code but relies on
# the following magic strings to be generated by the compile job.
begin:
@echo
@echo $(MSG_BEGIN)
 
finished:
@echo $(MSG_ERRORS_NONE)
 
end:
@echo $(MSG_END)
@echo
 
 
# Display size of file.
sizebefore:
@if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); echo; fi
 
sizeafter:
@if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); echo; fi
 
 
 
# Display compiler version information.
gccversion :
@$(CC) --version
 
 
# Convert ELF to COFF for use in debugging / simulating in
# AVR Studio or VMLAB.
COFFCONVERT=$(OBJCOPY) --debugging \
--change-section-address .data-0x800000 \
--change-section-address .bss-0x800000 \
--change-section-address .noinit-0x800000 \
--change-section-address .eeprom-0x810000
 
 
coff: $(TARGET).elf
@echo
@echo $(MSG_COFF) $(TARGET).cof
$(COFFCONVERT) -O coff-avr $< $(TARGET).cof
 
 
extcoff: $(TARGET).elf
@echo
@echo $(MSG_EXTENDED_COFF) $(TARGET).cof
$(COFFCONVERT) -O coff-ext-avr $< $(TARGET).cof
 
 
 
 
# Program the device.
program: $(TARGET).hex $(TARGET).eep
$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM)
 
 
 
 
# Create final output files (.hex, .eep) from ELF output file.
%.hex: %.elf
@echo
@echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@
 
%.eep: %.elf
@echo
@echo $(MSG_EEPROM) $@
-$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
--change-section-lma .eeprom=0 -O $(FORMAT) $< $@
 
# Create extended listing file from ELF output file.
%.lss: %.elf
@echo
@echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -S $< > $@
 
# Create a symbol table from ELF output file.
%.sym: %.elf
@echo
@echo $(MSG_SYMBOL_TABLE) $@
avr-nm -n $< > $@
 
 
 
# Link: create ELF output file from object files.
.SECONDARY : $(TARGET).elf
.PRECIOUS : $(OBJ)
%.elf: $(OBJ)
@echo
@echo $(MSG_LINKING) $@
$(CC) $(ALL_CFLAGS) $(OBJ) --output $@ $(LDFLAGS)
 
 
# Compile: create object files from C source files.
%.o : %.c
@echo
@echo $(MSG_COMPILING) $<
$(CC) -c $(ALL_CFLAGS) $< -o $@
 
 
# Compile: create assembler files from C source files.
%.s : %.c
$(CC) -S $(ALL_CFLAGS) $< -o $@
 
 
# Assemble: create object files from assembler source files.
%.o : %.S
@echo
@echo $(MSG_ASSEMBLING) $<
$(CC) -c $(ALL_ASFLAGS) $< -o $@
 
 
 
 
 
 
# Target: clean project.
clean: begin clean_list finished end
 
clean_list :
@echo
@echo $(MSG_CLEANING)
# $(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET).obj
$(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map
$(REMOVE) $(TARGET).obj
$(REMOVE) $(TARGET).a90
$(REMOVE) $(TARGET).sym
$(REMOVE) $(TARGET).lnk
$(REMOVE) $(TARGET).lss
$(REMOVE) $(OBJ)
$(REMOVE) $(LST)
$(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d)
 
 
# Automatically generate C source code dependencies.
# (Code originally taken from the GNU make user manual and modified
# (See README.txt Credits).)
#
# Note that this will work with sh (bash) and sed that is shipped with WinAVR
# (see the SHELL variable defined above).
# This may not work with other shells or other seds.
#
%.d: %.c
set -e; $(CC) -MM $(ALL_CFLAGS) $< \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > $@; \
[ -s $@ ] || rm -f $@
 
 
# Remove the '-' if you want to see the dependency files generated.
-include $(SRC:.c=.d)
 
 
 
# Listing of phony targets.
.PHONY : all begin finish end sizebefore sizeafter gccversion coff extcoff \
clean clean_list program
 
/branches/MicroMag3_Nick666/Festkomma/V0.68d/menu.c
0,0 → 1,145
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Copyright (c) 04.2007 Holger Buss
// + only for non-profit use
// + www.MikroKopter.com
// + see the File "License.txt" for further Informations
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#include "main.h"
 
unsigned int TestInt = 0;
#define ARRAYGROESSE 10
unsigned char Array[ARRAYGROESSE] = {1,2,3,4,5,6,7,8,9,10};
char DisplayBuff[80] = "Hallo Welt";
unsigned char DispPtr = 0;
unsigned char RemoteTasten = 0;
 
#define KEY1 0x01
#define KEY2 0x02
#define KEY3 0x04
#define KEY4 0x08
#define KEY5 0x10
 
void LcdClear(void)
{
unsigned char i;
for(i=0;i<80;i++) DisplayBuff[i] = ' ';
}
 
void Menu(void)
{
static unsigned char MaxMenue = 13,MenuePunkt=0;
if(RemoteTasten & KEY1) { if(MenuePunkt) MenuePunkt--; else MenuePunkt = MaxMenue; LcdClear(); RemotePollDisplayLine = -1; }
if(RemoteTasten & KEY2) { MenuePunkt++; LcdClear(); RemotePollDisplayLine = -1;}
if((RemoteTasten & KEY1) && (RemoteTasten & KEY2)) MenuePunkt = 0;
if(MenuePunkt < 10) {LCD_printfxy(17,0,"[%i]",MenuePunkt);} else {LCD_printfxy(16,0,"[%i]",MenuePunkt);};
switch(MenuePunkt)
{
case 0:
LCD_printfxy(0,0,"+ MikroKopter +");
LCD_printfxy(0,1,"HW:V%d.%d SW:%d.%d%c",PlatinenVersion/10,PlatinenVersion%10,VERSION_HAUPTVERSION, VERSION_NEBENVERSION,VERSION_INDEX+'a');
LCD_printfxy(0,2,"Setting: %d ",GetActiveParamSetNumber());
LCD_printfxy(0,3,"(c) Holger Buss");
// if(RemoteTasten & KEY3) TestInt--;
// if(RemoteTasten & KEY4) TestInt++;
break;
case 1:
if(EE_Parameter.GlobalConfig & CFG_HOEHENREGELUNG)
{
LCD_printfxy(0,0,"Hoehe: %5i",HoehenWert);
LCD_printfxy(0,1,"SollHoehe: %5i",SollHoehe);
LCD_printfxy(0,2,"Luftdruck: %5i",MessLuftdruck);
LCD_printfxy(0,3,"Off : %5i",DruckOffsetSetting);
}
else
{
LCD_printfxy(0,1,"Keine ");
LCD_printfxy(0,2,"Höhenregelung");
}
break;
case 2:
LCD_printfxy(0,0,"akt. Lage");
LCD_printfxy(0,1,"Nick: %5i",IntegralNick/1024);
LCD_printfxy(0,2,"Roll: %5i",IntegralRoll/1024);
LCD_printfxy(0,3,"Kompass: %5i",KompassValue);
break;
case 3:
LCD_printfxy(0,0,"K1:%4i K2:%4i ",PPM_in[1],PPM_in[2]);
LCD_printfxy(0,1,"K3:%4i K4:%4i ",PPM_in[3],PPM_in[4]);
LCD_printfxy(0,2,"K5:%4i K6:%4i ",PPM_in[5],PPM_in[6]);
LCD_printfxy(0,3,"K7:%4i K8:%4i ",PPM_in[7],PPM_in[8]);
break;
case 4:
LCD_printfxy(0,0,"Ni:%4i Ro:%4i ",PPM_in[EE_Parameter.Kanalbelegung[K_NICK]],PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]]);
LCD_printfxy(0,1,"Gs:%4i Gi:%4i ",PPM_in[EE_Parameter.Kanalbelegung[K_GAS]],PPM_in[EE_Parameter.Kanalbelegung[K_GIER]]);
LCD_printfxy(0,2,"P1:%4i P2:%4i ",PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]],PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]]);
LCD_printfxy(0,3,"P3:%4i P4:%4i ",PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]],PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]]);
break;
case 5:
LCD_printfxy(0,0,"Gyro - Sensor");
if(PlatinenVersion == 10)
{
LCD_printfxy(0,1,"Nick %4i (%3i)",AdWertNick - AdNeutralNick, AdNeutralNick);
LCD_printfxy(0,2,"Roll %4i (%3i)",AdWertRoll - AdNeutralRoll, AdNeutralRoll);
LCD_printfxy(0,3,"Gier %4i (%3i)",MesswertGier, AdNeutralGier);
}
else
{
LCD_printfxy(0,1,"Nick %4i (%3i)",AdWertNick - AdNeutralNick, AdNeutralNick/2);
LCD_printfxy(0,2,"Roll %4i (%3i)",AdWertRoll - AdNeutralRoll, AdNeutralRoll/2);
LCD_printfxy(0,3,"Gier %4i (%3i)",MesswertGier, AdNeutralGier/2);
}
break;
case 6:
LCD_printfxy(0,0,"ACC - Sensor");
LCD_printfxy(0,1,"Nick %4i (%3i)",AdWertAccNick,acc_neutral.X);
LCD_printfxy(0,2,"Roll %4i (%3i)",AdWertAccRoll,acc_neutral.Y);
LCD_printfxy(0,3,"Hoch %4i (%3i)",Mittelwert_AccHoch,(int)acc_neutral.Z);
break;
case 7:
LCD_printfxy(0,1,"Spannung: %5i",UBat);
LCD_printfxy(0,2,"Empf.Pegel:%5i",SenderOkay);
break;
case 8:
LCD_printfxy(0,0,"Kompass ");
LCD_printfxy(0,1,"Richtung: %5i",KompassRichtung);
LCD_printfxy(0,2,"Messwert: %5i",KompassValue);
LCD_printfxy(0,3,"Start: %5i",KompassStartwert);
break;
case 9:
LCD_printfxy(0,0,"Poti1: %3i",Poti1);
LCD_printfxy(0,1,"Poti2: %3i",Poti2);
LCD_printfxy(0,2,"Poti3: %3i",Poti3);
LCD_printfxy(0,3,"Poti4: %3i",Poti4);
break;
case 10:
LCD_printfxy(0,0,"Servo " );
LCD_printfxy(0,1,"Setpoint %3i",Parameter_ServoNickControl);
LCD_printfxy(0,2,"Stellung: %3i",ServoValue);
LCD_printfxy(0,3,"Range:%3i-%3i",EE_Parameter.ServoNickMin,EE_Parameter.ServoNickMax);
break;
case 11:
LCD_printfxy(0,0,"ExternControl " );
LCD_printfxy(0,1,"Ni:%4i Ro:%4i ",ExternControl.Nick,ExternControl.Roll);
LCD_printfxy(0,2,"Gs:%4i Gi:%4i ",ExternControl.Gas,ExternControl.Gier);
LCD_printfxy(0,3,"Hi:%4i Cf:%4i ",ExternControl.Hight,ExternControl.Config);
break;
case 12:
LCD_printfxy(0,0,"MM3 Off");
LCD_printfxy(0,1,"X_Offset: %3i",MM3_calib.X_off);
LCD_printfxy(0,2,"Y_Offset: %3i",MM3_calib.Y_off);
LCD_printfxy(0,3,"Z_Offset: %3i",MM3_calib.Z_off);
break;
case 13:
LCD_printfxy(0,0,"MM3 Range");
LCD_printfxy(0,1,"X_Range: %4i",MM3_calib.X_range);
LCD_printfxy(0,2,"Y_Range: %4i",MM3_calib.Y_range);
LCD_printfxy(0,3,"Z_Range: %4i",MM3_calib.Z_range);
break;
default: MaxMenue = MenuePunkt - 1;
MenuePunkt = 0;
break;
}
RemoteTasten = 0;
}
/branches/MicroMag3_Nick666/Festkomma/V0.68d/menu.d
0,0 → 1,2
menu.o menu.d : menu.c main.h old_macros.h _Settings.h printf_P.h timer0.h uart.h \
analog.h twimaster.h menu.h rc.h fc.h gps.h compass.h mymath.h
/branches/MicroMag3_Nick666/Festkomma/V0.68d/menu.h
0,0 → 1,6
extern void Menu(void);
extern void LcdClear(void);
extern char DisplayBuff[80];
extern unsigned char DispPtr;
extern unsigned char RemoteTasten;
 
/branches/MicroMag3_Nick666/Festkomma/V0.68d/menu.lst
0,0 → 1,1535
1 .file "menu.c"
2 .arch atmega644
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
10 .text
11 .global LcdClear
13 LcdClear:
14 /* prologue: frame size=0 */
15 /* prologue end (size=0) */
16 0000 E0E0 ldi r30,lo8(DisplayBuff)
17 0002 F0E0 ldi r31,hi8(DisplayBuff)
18 0004 80E2 ldi r24,lo8(32)
19 .L2:
20 0006 8193 st Z+,r24
21 0008 90E0 ldi r25,hi8(DisplayBuff+80)
22 000a E030 cpi r30,lo8(DisplayBuff+80)
23 000c F907 cpc r31,r25
24 000e 01F4 brne .L2
25 /* epilogue: frame size=0 */
26 0010 0895 ret
27 /* epilogue end (size=1) */
28 /* function LcdClear size 9 (8) */
30 .global Menu
32 Menu:
33 /* prologue: frame size=0 */
34 0012 1F93 push r17
35 /* prologue end (size=1) */
36 0014 8091 0000 lds r24,RemoteTasten
37 0018 282F mov r18,r24
38 001a 3327 clr r19
39 001c C901 movw r24,r18
40 001e 8170 andi r24,lo8(1)
41 0020 9070 andi r25,hi8(1)
42 0022 682F mov r22,r24
43 0024 8823 tst r24
44 0026 01F0 breq .L8
45 0028 8091 0000 lds r24,MenuePunkt.2027
46 002c 8823 tst r24
47 002e 01F0 breq .L10
48 0030 8150 subi r24,lo8(-(-1))
49 0032 00C0 rjmp .L51
50 .L10:
51 0034 8091 0000 lds r24,MaxMenue.2026
52 .L51:
53 0038 8093 0000 sts MenuePunkt.2027,r24
54 003c E0E0 ldi r30,lo8(DisplayBuff)
55 003e F0E0 ldi r31,hi8(DisplayBuff)
56 0040 80E2 ldi r24,lo8(32)
57 .L13:
58 0042 8193 st Z+,r24
59 0044 90E0 ldi r25,hi8(DisplayBuff+80)
60 0046 E030 cpi r30,lo8(DisplayBuff+80)
61 0048 F907 cpc r31,r25
62 004a 01F4 brne .L13
63 004c 8FEF ldi r24,lo8(-1)
64 004e 8093 0000 sts RemotePollDisplayLine,r24
65 .L8:
66 0052 A901 movw r20,r18
67 0054 4270 andi r20,lo8(2)
68 0056 5070 andi r21,hi8(2)
69 0058 21FF sbrs r18,1
70 005a 00C0 rjmp .L15
71 005c 8091 0000 lds r24,MenuePunkt.2027
72 0060 8F5F subi r24,lo8(-(1))
73 0062 8093 0000 sts MenuePunkt.2027,r24
74 0066 E0E0 ldi r30,lo8(DisplayBuff)
75 0068 F0E0 ldi r31,hi8(DisplayBuff)
76 006a 80E2 ldi r24,lo8(32)
77 .L17:
78 006c 8193 st Z+,r24
79 006e 90E0 ldi r25,hi8(DisplayBuff+80)
80 0070 E030 cpi r30,lo8(DisplayBuff+80)
81 0072 F907 cpc r31,r25
82 0074 01F4 brne .L17
83 0076 8FEF ldi r24,lo8(-1)
84 0078 8093 0000 sts RemotePollDisplayLine,r24
85 .L15:
86 007c 6623 tst r22
87 007e 01F0 breq .L19
88 0080 452B or r20,r21
89 0082 01F0 breq .L19
90 0084 1092 0000 sts MenuePunkt.2027,__zero_reg__
91 0088 90E0 ldi r25,lo8(0)
92 008a 00C0 rjmp .L22
93 .L19:
94 008c 9091 0000 lds r25,MenuePunkt.2027
95 0090 9A30 cpi r25,lo8(10)
96 0092 00F4 brsh .L23
97 .L22:
98 0094 81E1 ldi r24,lo8(17)
99 0096 8093 0000 sts DispPtr,r24
100 009a 892F mov r24,r25
101 009c 9927 clr r25
102 009e 9F93 push r25
103 00a0 8F93 push r24
104 00a2 80E0 ldi r24,lo8(__c.2028)
105 00a4 90E0 ldi r25,hi8(__c.2028)
106 00a6 00C0 rjmp .L52
107 .L23:
108 00a8 80E1 ldi r24,lo8(16)
109 00aa 8093 0000 sts DispPtr,r24
110 00ae 892F mov r24,r25
111 00b0 9927 clr r25
112 00b2 9F93 push r25
113 00b4 8F93 push r24
114 00b6 80E0 ldi r24,lo8(__c.2030)
115 00b8 90E0 ldi r25,hi8(__c.2030)
116 .L52:
117 00ba 9F93 push r25
118 00bc 8F93 push r24
119 00be 81E0 ldi r24,lo8(1)
120 00c0 8F93 push r24
121 00c2 0E94 0000 call _printf_P
122 00c6 0F90 pop __tmp_reg__
123 00c8 0F90 pop __tmp_reg__
124 00ca 0F90 pop __tmp_reg__
125 00cc 0F90 pop __tmp_reg__
126 00ce 0F90 pop __tmp_reg__
127 00d0 8091 0000 lds r24,MenuePunkt.2027
128 00d4 E82F mov r30,r24
129 00d6 FF27 clr r31
130 00d8 EE30 cpi r30,14
131 00da F105 cpc r31,__zero_reg__
132 00dc 00F0 brlo .+2
133 00de 00C0 rjmp .L25
134 00e0 E050 subi r30,lo8(-(gs(.L40)))
135 00e2 F040 sbci r31,hi8(-(gs(.L40)))
136 00e4 0C94 0000 jmp __tablejump2__
137 .data
138 .section .progmem.gcc_sw_table, "a", @progbits
139 .p2align 1
140 .L40:
141 .data
142 .section .progmem.gcc_sw_table, "a", @progbits
143 .p2align 1
144 0000 0000 .word gs(.L26)
145 0002 0000 .word gs(.L27)
146 0004 0000 .word gs(.L28)
147 0006 0000 .word gs(.L29)
148 0008 0000 .word gs(.L30)
149 000a 0000 .word gs(.L31)
150 000c 0000 .word gs(.L32)
151 000e 0000 .word gs(.L33)
152 0010 0000 .word gs(.L34)
153 0012 0000 .word gs(.L35)
154 0014 0000 .word gs(.L36)
155 0016 0000 .word gs(.L37)
156 0018 0000 .word gs(.L38)
157 001a 0000 .word gs(.L39)
158 .text
159 .L26:
160 00e8 1092 0000 sts DispPtr,__zero_reg__
161 00ec 80E0 ldi r24,lo8(__c.2033)
162 00ee 90E0 ldi r25,hi8(__c.2033)
163 00f0 9F93 push r25
164 00f2 8F93 push r24
165 00f4 11E0 ldi r17,lo8(1)
166 00f6 1F93 push r17
167 00f8 0E94 0000 call _printf_P
168 00fc 84E1 ldi r24,lo8(20)
169 00fe 8093 0000 sts DispPtr,r24
170 0102 2091 0000 lds r18,PlatinenVersion
171 0106 84E6 ldi r24,lo8(100)
172 0108 90E0 ldi r25,hi8(100)
173 010a 9F93 push r25
174 010c 8F93 push r24
175 010e 84E4 ldi r24,lo8(68)
176 0110 90E0 ldi r25,hi8(68)
177 0112 9F93 push r25
178 0114 8F93 push r24
179 0116 1F92 push __zero_reg__
180 0118 1F92 push __zero_reg__
181 011a 822F mov r24,r18
182 011c 6AE0 ldi r22,lo8(10)
183 011e 0E94 0000 call __udivmodqi4
184 0122 892F mov r24,r25
185 0124 9927 clr r25
186 0126 9F93 push r25
187 0128 8F93 push r24
188 012a 822F mov r24,r18
189 012c 0E94 0000 call __udivmodqi4
190 0130 9927 clr r25
191 0132 9F93 push r25
192 0134 8F93 push r24
193 0136 80E0 ldi r24,lo8(__c.2035)
194 0138 90E0 ldi r25,hi8(__c.2035)
195 013a 9F93 push r25
196 013c 8F93 push r24
197 013e 1F93 push r17
198 0140 0E94 0000 call _printf_P
199 0144 88E2 ldi r24,lo8(40)
200 0146 8093 0000 sts DispPtr,r24
201 014a 0E94 0000 call GetActiveParamSetNumber
202 014e 9927 clr r25
203 0150 9F93 push r25
204 0152 8F93 push r24
205 0154 80E0 ldi r24,lo8(__c.2037)
206 0156 90E0 ldi r25,hi8(__c.2037)
207 0158 9F93 push r25
208 015a 8F93 push r24
209 015c 1F93 push r17
210 015e 0E94 0000 call _printf_P
211 0162 8CE3 ldi r24,lo8(60)
212 0164 8093 0000 sts DispPtr,r24
213 0168 80E0 ldi r24,lo8(__c.2039)
214 016a 90E0 ldi r25,hi8(__c.2039)
215 016c 9F93 push r25
216 016e 8F93 push r24
217 0170 1F93 push r17
218 0172 0E94 0000 call _printf_P
219 0176 00C0 rjmp .L54
220 .L27:
221 0178 8091 0000 lds r24,EE_Parameter+8
222 017c 80FF sbrs r24,0
223 017e 00C0 rjmp .L42
224 0180 1092 0000 sts DispPtr,__zero_reg__
225 0184 8091 0000 lds r24,HoehenWert
226 0188 9091 0000 lds r25,(HoehenWert)+1
227 018c 9F93 push r25
228 018e 8F93 push r24
229 0190 80E0 ldi r24,lo8(__c.2043)
230 0192 90E0 ldi r25,hi8(__c.2043)
231 0194 9F93 push r25
232 0196 8F93 push r24
233 0198 11E0 ldi r17,lo8(1)
234 019a 1F93 push r17
235 019c 0E94 0000 call _printf_P
236 01a0 84E1 ldi r24,lo8(20)
237 01a2 8093 0000 sts DispPtr,r24
238 01a6 8091 0000 lds r24,SollHoehe
239 01aa 9091 0000 lds r25,(SollHoehe)+1
240 01ae 9F93 push r25
241 01b0 8F93 push r24
242 01b2 80E0 ldi r24,lo8(__c.2045)
243 01b4 90E0 ldi r25,hi8(__c.2045)
244 01b6 9F93 push r25
245 01b8 8F93 push r24
246 01ba 1F93 push r17
247 01bc 0E94 0000 call _printf_P
248 01c0 88E2 ldi r24,lo8(40)
249 01c2 8093 0000 sts DispPtr,r24
250 01c6 8091 0000 lds r24,MessLuftdruck
251 01ca 9091 0000 lds r25,(MessLuftdruck)+1
252 01ce 9F93 push r25
253 01d0 8F93 push r24
254 01d2 80E0 ldi r24,lo8(__c.2047)
255 01d4 90E0 ldi r25,hi8(__c.2047)
256 01d6 9F93 push r25
257 01d8 8F93 push r24
258 01da 1F93 push r17
259 01dc 0E94 0000 call _printf_P
260 01e0 8CE3 ldi r24,lo8(60)
261 01e2 8093 0000 sts DispPtr,r24
262 01e6 8091 0000 lds r24,DruckOffsetSetting
263 01ea 9927 clr r25
264 01ec 9F93 push r25
265 01ee 8F93 push r24
266 01f0 80E0 ldi r24,lo8(__c.2049)
267 01f2 90E0 ldi r25,hi8(__c.2049)
268 .L60:
269 01f4 9F93 push r25
270 01f6 8F93 push r24
271 01f8 1F93 push r17
272 01fa 0E94 0000 call _printf_P
273 .L56:
274 01fe 8DB7 in r24,__SP_L__
275 0200 9EB7 in r25,__SP_H__
276 0202 4496 adiw r24,20
277 .L53:
278 0204 8DBF out __SP_L__,r24
279 0206 00C0 rjmp .L41
280 .L42:
281 0208 84E1 ldi r24,lo8(20)
282 020a 8093 0000 sts DispPtr,r24
283 020e 80E0 ldi r24,lo8(__c.2051)
284 0210 90E0 ldi r25,hi8(__c.2051)
285 0212 9F93 push r25
286 0214 8F93 push r24
287 0216 11E0 ldi r17,lo8(1)
288 0218 1F93 push r17
289 021a 0E94 0000 call _printf_P
290 021e 88E2 ldi r24,lo8(40)
291 0220 8093 0000 sts DispPtr,r24
292 0224 80E0 ldi r24,lo8(__c.2053)
293 0226 90E0 ldi r25,hi8(__c.2053)
294 0228 9F93 push r25
295 022a 8F93 push r24
296 022c 1F93 push r17
297 022e 0E94 0000 call _printf_P
298 0232 8DB7 in r24,__SP_L__
299 0234 9EB7 in r25,__SP_H__
300 0236 0696 adiw r24,6
301 0238 00C0 rjmp .L53
302 .L28:
303 023a 1092 0000 sts DispPtr,__zero_reg__
304 023e 80E0 ldi r24,lo8(__c.2056)
305 0240 90E0 ldi r25,hi8(__c.2056)
306 0242 9F93 push r25
307 0244 8F93 push r24
308 0246 11E0 ldi r17,lo8(1)
309 0248 1F93 push r17
310 024a 0E94 0000 call _printf_P
311 024e 84E1 ldi r24,lo8(20)
312 0250 8093 0000 sts DispPtr,r24
313 0254 6091 0000 lds r22,IntegralNick
314 0258 7091 0000 lds r23,(IntegralNick)+1
315 025c 8091 0000 lds r24,(IntegralNick)+2
316 0260 9091 0000 lds r25,(IntegralNick)+3
317 0264 20E0 ldi r18,lo8(1024)
318 0266 34E0 ldi r19,hi8(1024)
319 0268 40E0 ldi r20,hlo8(1024)
320 026a 50E0 ldi r21,hhi8(1024)
321 026c 0E94 0000 call __divmodsi4
322 0270 5F93 push r21
323 0272 4F93 push r20
324 0274 3F93 push r19
325 0276 2F93 push r18
326 0278 80E0 ldi r24,lo8(__c.2058)
327 027a 90E0 ldi r25,hi8(__c.2058)
328 027c 9F93 push r25
329 027e 8F93 push r24
330 0280 1F93 push r17
331 0282 0E94 0000 call _printf_P
332 0286 88E2 ldi r24,lo8(40)
333 0288 8093 0000 sts DispPtr,r24
334 028c 6091 0000 lds r22,IntegralRoll
335 0290 7091 0000 lds r23,(IntegralRoll)+1
336 0294 8091 0000 lds r24,(IntegralRoll)+2
337 0298 9091 0000 lds r25,(IntegralRoll)+3
338 029c 20E0 ldi r18,lo8(1024)
339 029e 34E0 ldi r19,hi8(1024)
340 02a0 40E0 ldi r20,hlo8(1024)
341 02a2 50E0 ldi r21,hhi8(1024)
342 02a4 0E94 0000 call __divmodsi4
343 02a8 5F93 push r21
344 02aa 4F93 push r20
345 02ac 3F93 push r19
346 02ae 2F93 push r18
347 02b0 80E0 ldi r24,lo8(__c.2060)
348 02b2 90E0 ldi r25,hi8(__c.2060)
349 02b4 9F93 push r25
350 02b6 8F93 push r24
351 02b8 1F93 push r17
352 02ba 0E94 0000 call _printf_P
353 02be 8CE3 ldi r24,lo8(60)
354 02c0 8093 0000 sts DispPtr,r24
355 02c4 8091 0000 lds r24,KompassValue
356 02c8 9091 0000 lds r25,(KompassValue)+1
357 02cc 9F93 push r25
358 02ce 8F93 push r24
359 02d0 80E0 ldi r24,lo8(__c.2062)
360 02d2 90E0 ldi r25,hi8(__c.2062)
361 02d4 9F93 push r25
362 02d6 8F93 push r24
363 02d8 1F93 push r17
364 02da 0E94 0000 call _printf_P
365 02de 8DB7 in r24,__SP_L__
366 02e0 9EB7 in r25,__SP_H__
367 02e2 4696 adiw r24,22
368 02e4 00C0 rjmp .L53
369 .L29:
370 02e6 1092 0000 sts DispPtr,__zero_reg__
371 02ea 8091 0000 lds r24,PPM_in+4
372 02ee 9091 0000 lds r25,(PPM_in+4)+1
373 02f2 2091 0000 lds r18,PPM_in+2
374 02f6 3091 0000 lds r19,(PPM_in+2)+1
375 02fa 9F93 push r25
376 02fc 8F93 push r24
377 02fe 3F93 push r19
378 0300 2F93 push r18
379 0302 80E0 ldi r24,lo8(__c.2065)
380 0304 90E0 ldi r25,hi8(__c.2065)
381 0306 9F93 push r25
382 0308 8F93 push r24
383 030a 11E0 ldi r17,lo8(1)
384 030c 1F93 push r17
385 030e 0E94 0000 call _printf_P
386 0312 84E1 ldi r24,lo8(20)
387 0314 8093 0000 sts DispPtr,r24
388 0318 8091 0000 lds r24,PPM_in+8
389 031c 9091 0000 lds r25,(PPM_in+8)+1
390 0320 2091 0000 lds r18,PPM_in+6
391 0324 3091 0000 lds r19,(PPM_in+6)+1
392 0328 9F93 push r25
393 032a 8F93 push r24
394 032c 3F93 push r19
395 032e 2F93 push r18
396 0330 80E0 ldi r24,lo8(__c.2067)
397 0332 90E0 ldi r25,hi8(__c.2067)
398 0334 9F93 push r25
399 0336 8F93 push r24
400 0338 1F93 push r17
401 033a 0E94 0000 call _printf_P
402 033e 88E2 ldi r24,lo8(40)
403 0340 8093 0000 sts DispPtr,r24
404 0344 8091 0000 lds r24,PPM_in+12
405 0348 9091 0000 lds r25,(PPM_in+12)+1
406 034c 2091 0000 lds r18,PPM_in+10
407 0350 3091 0000 lds r19,(PPM_in+10)+1
408 0354 9F93 push r25
409 0356 8F93 push r24
410 0358 3F93 push r19
411 035a 2F93 push r18
412 035c 80E0 ldi r24,lo8(__c.2069)
413 035e 90E0 ldi r25,hi8(__c.2069)
414 0360 9F93 push r25
415 0362 8F93 push r24
416 0364 1F93 push r17
417 0366 0E94 0000 call _printf_P
418 036a 8CE3 ldi r24,lo8(60)
419 036c 8093 0000 sts DispPtr,r24
420 0370 8091 0000 lds r24,PPM_in+16
421 0374 9091 0000 lds r25,(PPM_in+16)+1
422 0378 2091 0000 lds r18,PPM_in+14
423 037c 3091 0000 lds r19,(PPM_in+14)+1
424 0380 9F93 push r25
425 0382 8F93 push r24
426 0384 3F93 push r19
427 0386 2F93 push r18
428 0388 80E0 ldi r24,lo8(__c.2071)
429 038a 90E0 ldi r25,hi8(__c.2071)
430 038c 00C0 rjmp .L57
431 .L30:
432 038e 1092 0000 sts DispPtr,__zero_reg__
433 0392 E091 0000 lds r30,EE_Parameter+1
434 0396 FF27 clr r31
435 0398 EE0F lsl r30
436 039a FF1F rol r31
437 039c E050 subi r30,lo8(-(PPM_in))
438 039e F040 sbci r31,hi8(-(PPM_in))
439 03a0 2081 ld r18,Z
440 03a2 3181 ldd r19,Z+1
441 03a4 E091 0000 lds r30,EE_Parameter
442 03a8 FF27 clr r31
443 03aa EE0F lsl r30
444 03ac FF1F rol r31
445 03ae E050 subi r30,lo8(-(PPM_in))
446 03b0 F040 sbci r31,hi8(-(PPM_in))
447 03b2 8081 ld r24,Z
448 03b4 9181 ldd r25,Z+1
449 03b6 3F93 push r19
450 03b8 2F93 push r18
451 03ba 9F93 push r25
452 03bc 8F93 push r24
453 03be 80E0 ldi r24,lo8(__c.2074)
454 03c0 90E0 ldi r25,hi8(__c.2074)
455 03c2 9F93 push r25
456 03c4 8F93 push r24
457 03c6 11E0 ldi r17,lo8(1)
458 03c8 1F93 push r17
459 03ca 0E94 0000 call _printf_P
460 03ce 84E1 ldi r24,lo8(20)
461 03d0 8093 0000 sts DispPtr,r24
462 03d4 E091 0000 lds r30,EE_Parameter+3
463 03d8 FF27 clr r31
464 03da EE0F lsl r30
465 03dc FF1F rol r31
466 03de E050 subi r30,lo8(-(PPM_in))
467 03e0 F040 sbci r31,hi8(-(PPM_in))
468 03e2 2081 ld r18,Z
469 03e4 3181 ldd r19,Z+1
470 03e6 E091 0000 lds r30,EE_Parameter+2
471 03ea FF27 clr r31
472 03ec EE0F lsl r30
473 03ee FF1F rol r31
474 03f0 E050 subi r30,lo8(-(PPM_in))
475 03f2 F040 sbci r31,hi8(-(PPM_in))
476 03f4 8081 ld r24,Z
477 03f6 9181 ldd r25,Z+1
478 03f8 3F93 push r19
479 03fa 2F93 push r18
480 03fc 9F93 push r25
481 03fe 8F93 push r24
482 0400 80E0 ldi r24,lo8(__c.2076)
483 0402 90E0 ldi r25,hi8(__c.2076)
484 0404 9F93 push r25
485 0406 8F93 push r24
486 0408 1F93 push r17
487 040a 0E94 0000 call _printf_P
488 040e 88E2 ldi r24,lo8(40)
489 0410 8093 0000 sts DispPtr,r24
490 0414 E091 0000 lds r30,EE_Parameter+5
491 0418 FF27 clr r31
492 041a EE0F lsl r30
493 041c FF1F rol r31
494 041e E050 subi r30,lo8(-(PPM_in))
495 0420 F040 sbci r31,hi8(-(PPM_in))
496 0422 2081 ld r18,Z
497 0424 3181 ldd r19,Z+1
498 0426 E091 0000 lds r30,EE_Parameter+4
499 042a FF27 clr r31
500 042c EE0F lsl r30
501 042e FF1F rol r31
502 0430 E050 subi r30,lo8(-(PPM_in))
503 0432 F040 sbci r31,hi8(-(PPM_in))
504 0434 8081 ld r24,Z
505 0436 9181 ldd r25,Z+1
506 0438 3F93 push r19
507 043a 2F93 push r18
508 043c 9F93 push r25
509 043e 8F93 push r24
510 0440 80E0 ldi r24,lo8(__c.2078)
511 0442 90E0 ldi r25,hi8(__c.2078)
512 0444 9F93 push r25
513 0446 8F93 push r24
514 0448 1F93 push r17
515 044a 0E94 0000 call _printf_P
516 044e 8CE3 ldi r24,lo8(60)
517 0450 8093 0000 sts DispPtr,r24
518 0454 E091 0000 lds r30,EE_Parameter+7
519 0458 FF27 clr r31
520 045a EE0F lsl r30
521 045c FF1F rol r31
522 045e E050 subi r30,lo8(-(PPM_in))
523 0460 F040 sbci r31,hi8(-(PPM_in))
524 0462 2081 ld r18,Z
525 0464 3181 ldd r19,Z+1
526 0466 E091 0000 lds r30,EE_Parameter+6
527 046a FF27 clr r31
528 046c EE0F lsl r30
529 046e FF1F rol r31
530 0470 E050 subi r30,lo8(-(PPM_in))
531 0472 F040 sbci r31,hi8(-(PPM_in))
532 0474 8081 ld r24,Z
533 0476 9181 ldd r25,Z+1
534 0478 3F93 push r19
535 047a 2F93 push r18
536 047c 9F93 push r25
537 047e 8F93 push r24
538 0480 80E0 ldi r24,lo8(__c.2080)
539 0482 90E0 ldi r25,hi8(__c.2080)
540 .L57:
541 0484 9F93 push r25
542 0486 8F93 push r24
543 0488 1F93 push r17
544 048a 0E94 0000 call _printf_P
545 048e 8DB7 in r24,__SP_L__
546 0490 9EB7 in r25,__SP_H__
547 0492 4C96 adiw r24,28
548 0494 00C0 rjmp .L53
549 .L31:
550 0496 1092 0000 sts DispPtr,__zero_reg__
551 049a 80E0 ldi r24,lo8(__c.2083)
552 049c 90E0 ldi r25,hi8(__c.2083)
553 049e 9F93 push r25
554 04a0 8F93 push r24
555 04a2 11E0 ldi r17,lo8(1)
556 04a4 1F93 push r17
557 04a6 0E94 0000 call _printf_P
558 04aa 0F90 pop __tmp_reg__
559 04ac 0F90 pop __tmp_reg__
560 04ae 0F90 pop __tmp_reg__
561 04b0 8091 0000 lds r24,PlatinenVersion
562 04b4 E091 0000 lds r30,AdNeutralNick
563 04b8 F091 0000 lds r31,(AdNeutralNick)+1
564 04bc 8A30 cpi r24,lo8(10)
565 04be 01F4 brne .L44
566 04c0 84E1 ldi r24,lo8(20)
567 04c2 8093 0000 sts DispPtr,r24
568 04c6 8091 0000 lds r24,AdWertNick
569 04ca 9091 0000 lds r25,(AdWertNick)+1
570 04ce FF93 push r31
571 04d0 EF93 push r30
572 04d2 8E1B sub r24,r30
573 04d4 9F0B sbc r25,r31
574 04d6 9F93 push r25
575 04d8 8F93 push r24
576 04da 80E0 ldi r24,lo8(__c.2085)
577 04dc 90E0 ldi r25,hi8(__c.2085)
578 04de 9F93 push r25
579 04e0 8F93 push r24
580 04e2 1F93 push r17
581 04e4 0E94 0000 call _printf_P
582 04e8 88E2 ldi r24,lo8(40)
583 04ea 8093 0000 sts DispPtr,r24
584 04ee 2091 0000 lds r18,AdNeutralRoll
585 04f2 3091 0000 lds r19,(AdNeutralRoll)+1
586 04f6 8091 0000 lds r24,AdWertRoll
587 04fa 9091 0000 lds r25,(AdWertRoll)+1
588 04fe 3F93 push r19
589 0500 2F93 push r18
590 0502 821B sub r24,r18
591 0504 930B sbc r25,r19
592 0506 9F93 push r25
593 0508 8F93 push r24
594 050a 80E0 ldi r24,lo8(__c.2087)
595 050c 90E0 ldi r25,hi8(__c.2087)
596 050e 9F93 push r25
597 0510 8F93 push r24
598 0512 1F93 push r17
599 0514 0E94 0000 call _printf_P
600 0518 8CE3 ldi r24,lo8(60)
601 051a 8093 0000 sts DispPtr,r24
602 051e 8091 0000 lds r24,AdNeutralGier
603 0522 9091 0000 lds r25,(AdNeutralGier)+1
604 0526 9F93 push r25
605 0528 8F93 push r24
606 052a 8091 0000 lds r24,MesswertGier
607 052e 9091 0000 lds r25,(MesswertGier)+1
608 0532 9F93 push r25
609 0534 8F93 push r24
610 0536 80E0 ldi r24,lo8(__c.2089)
611 0538 90E0 ldi r25,hi8(__c.2089)
612 053a 00C0 rjmp .L58
613 .L44:
614 053c 84E1 ldi r24,lo8(20)
615 053e 8093 0000 sts DispPtr,r24
616 0542 2091 0000 lds r18,AdWertNick
617 0546 3091 0000 lds r19,(AdWertNick)+1
618 054a CF01 movw r24,r30
619 054c 62E0 ldi r22,lo8(2)
620 054e 70E0 ldi r23,hi8(2)
621 0550 0E94 0000 call __divmodhi4
622 0554 7F93 push r23
623 0556 6F93 push r22
624 0558 2E1B sub r18,r30
625 055a 3F0B sbc r19,r31
626 055c 3F93 push r19
627 055e 2F93 push r18
628 0560 80E0 ldi r24,lo8(__c.2091)
629 0562 90E0 ldi r25,hi8(__c.2091)
630 0564 9F93 push r25
631 0566 8F93 push r24
632 0568 1F93 push r17
633 056a 0E94 0000 call _printf_P
634 056e 88E2 ldi r24,lo8(40)
635 0570 8093 0000 sts DispPtr,r24
636 0574 E091 0000 lds r30,AdNeutralRoll
637 0578 F091 0000 lds r31,(AdNeutralRoll)+1
638 057c 2091 0000 lds r18,AdWertRoll
639 0580 3091 0000 lds r19,(AdWertRoll)+1
640 0584 CF01 movw r24,r30
641 0586 62E0 ldi r22,lo8(2)
642 0588 70E0 ldi r23,hi8(2)
643 058a 0E94 0000 call __divmodhi4
644 058e 7F93 push r23
645 0590 6F93 push r22
646 0592 2E1B sub r18,r30
647 0594 3F0B sbc r19,r31
648 0596 3F93 push r19
649 0598 2F93 push r18
650 059a 80E0 ldi r24,lo8(__c.2093)
651 059c 90E0 ldi r25,hi8(__c.2093)
652 059e 9F93 push r25
653 05a0 8F93 push r24
654 05a2 1F93 push r17
655 05a4 0E94 0000 call _printf_P
656 05a8 8CE3 ldi r24,lo8(60)
657 05aa 8093 0000 sts DispPtr,r24
658 05ae 8091 0000 lds r24,AdNeutralGier
659 05b2 9091 0000 lds r25,(AdNeutralGier)+1
660 05b6 62E0 ldi r22,lo8(2)
661 05b8 70E0 ldi r23,hi8(2)
662 05ba 0E94 0000 call __divmodhi4
663 05be 7F93 push r23
664 05c0 6F93 push r22
665 05c2 8091 0000 lds r24,MesswertGier
666 05c6 9091 0000 lds r25,(MesswertGier)+1
667 05ca 9F93 push r25
668 05cc 8F93 push r24
669 05ce 80E0 ldi r24,lo8(__c.2095)
670 05d0 90E0 ldi r25,hi8(__c.2095)
671 .L58:
672 05d2 9F93 push r25
673 05d4 8F93 push r24
674 05d6 1F93 push r17
675 05d8 0E94 0000 call _printf_P
676 05dc 8DB7 in r24,__SP_L__
677 05de 9EB7 in r25,__SP_H__
678 05e0 4596 adiw r24,21
679 05e2 00C0 rjmp .L53
680 .L32:
681 05e4 1092 0000 sts DispPtr,__zero_reg__
682 05e8 80E0 ldi r24,lo8(__c.2098)
683 05ea 90E0 ldi r25,hi8(__c.2098)
684 05ec 9F93 push r25
685 05ee 8F93 push r24
686 05f0 11E0 ldi r17,lo8(1)
687 05f2 1F93 push r17
688 05f4 0E94 0000 call _printf_P
689 05f8 84E1 ldi r24,lo8(20)
690 05fa 8093 0000 sts DispPtr,r24
691 05fe 8091 0000 lds r24,acc_neutral
692 0602 9091 0000 lds r25,(acc_neutral)+1
693 0606 2091 0000 lds r18,AdWertAccNick
694 060a 3091 0000 lds r19,(AdWertAccNick)+1
695 060e 9F93 push r25
696 0610 8F93 push r24
697 0612 3F93 push r19
698 0614 2F93 push r18
699 0616 80E0 ldi r24,lo8(__c.2100)
700 0618 90E0 ldi r25,hi8(__c.2100)
701 061a 9F93 push r25
702 061c 8F93 push r24
703 061e 1F93 push r17
704 0620 0E94 0000 call _printf_P
705 0624 88E2 ldi r24,lo8(40)
706 0626 8093 0000 sts DispPtr,r24
707 062a 8091 0000 lds r24,acc_neutral+2
708 062e 9091 0000 lds r25,(acc_neutral+2)+1
709 0632 2091 0000 lds r18,AdWertAccRoll
710 0636 3091 0000 lds r19,(AdWertAccRoll)+1
711 063a 9F93 push r25
712 063c 8F93 push r24
713 063e 3F93 push r19
714 0640 2F93 push r18
715 0642 80E0 ldi r24,lo8(__c.2102)
716 0644 90E0 ldi r25,hi8(__c.2102)
717 0646 9F93 push r25
718 0648 8F93 push r24
719 064a 1F93 push r17
720 064c 0E94 0000 call _printf_P
721 0650 8CE3 ldi r24,lo8(60)
722 0652 8093 0000 sts DispPtr,r24
723 0656 6091 0000 lds r22,acc_neutral+4
724 065a 7091 0000 lds r23,(acc_neutral+4)+1
725 065e 8091 0000 lds r24,(acc_neutral+4)+2
726 0662 9091 0000 lds r25,(acc_neutral+4)+3
727 0666 0E94 0000 call __fixsfsi
728 066a 7F93 push r23
729 066c 6F93 push r22
730 066e 8091 0000 lds r24,Mittelwert_AccHoch
731 0672 9091 0000 lds r25,(Mittelwert_AccHoch)+1
732 0676 9F93 push r25
733 0678 8F93 push r24
734 067a 80E0 ldi r24,lo8(__c.2104)
735 067c 90E0 ldi r25,hi8(__c.2104)
736 067e 00C0 rjmp .L59
737 .L33:
738 0680 84E1 ldi r24,lo8(20)
739 0682 8093 0000 sts DispPtr,r24
740 0686 8091 0000 lds r24,UBat
741 068a 9091 0000 lds r25,(UBat)+1
742 068e 9F93 push r25
743 0690 8F93 push r24
744 0692 80E0 ldi r24,lo8(__c.2107)
745 0694 90E0 ldi r25,hi8(__c.2107)
746 0696 9F93 push r25
747 0698 8F93 push r24
748 069a 11E0 ldi r17,lo8(1)
749 069c 1F93 push r17
750 069e 0E94 0000 call _printf_P
751 06a2 88E2 ldi r24,lo8(40)
752 06a4 8093 0000 sts DispPtr,r24
753 06a8 8091 0000 lds r24,SenderOkay
754 06ac 9927 clr r25
755 06ae 9F93 push r25
756 06b0 8F93 push r24
757 06b2 80E0 ldi r24,lo8(__c.2109)
758 06b4 90E0 ldi r25,hi8(__c.2109)
759 06b6 9F93 push r25
760 06b8 8F93 push r24
761 06ba 1F93 push r17
762 06bc 0E94 0000 call _printf_P
763 06c0 8DB7 in r24,__SP_L__
764 06c2 9EB7 in r25,__SP_H__
765 06c4 0A96 adiw r24,10
766 06c6 00C0 rjmp .L53
767 .L34:
768 06c8 1092 0000 sts DispPtr,__zero_reg__
769 06cc 80E0 ldi r24,lo8(__c.2112)
770 06ce 90E0 ldi r25,hi8(__c.2112)
771 06d0 9F93 push r25
772 06d2 8F93 push r24
773 06d4 11E0 ldi r17,lo8(1)
774 06d6 1F93 push r17
775 06d8 0E94 0000 call _printf_P
776 06dc 84E1 ldi r24,lo8(20)
777 06de 8093 0000 sts DispPtr,r24
778 06e2 8091 0000 lds r24,KompassRichtung
779 06e6 9091 0000 lds r25,(KompassRichtung)+1
780 06ea 9F93 push r25
781 06ec 8F93 push r24
782 06ee 80E0 ldi r24,lo8(__c.2114)
783 06f0 90E0 ldi r25,hi8(__c.2114)
784 06f2 9F93 push r25
785 06f4 8F93 push r24
786 06f6 1F93 push r17
787 06f8 0E94 0000 call _printf_P
788 06fc 88E2 ldi r24,lo8(40)
789 06fe 8093 0000 sts DispPtr,r24
790 0702 8091 0000 lds r24,KompassValue
791 0706 9091 0000 lds r25,(KompassValue)+1
792 070a 9F93 push r25
793 070c 8F93 push r24
794 070e 80E0 ldi r24,lo8(__c.2116)
795 0710 90E0 ldi r25,hi8(__c.2116)
796 0712 9F93 push r25
797 0714 8F93 push r24
798 0716 1F93 push r17
799 0718 0E94 0000 call _printf_P
800 071c 8CE3 ldi r24,lo8(60)
801 071e 8093 0000 sts DispPtr,r24
802 0722 8091 0000 lds r24,KompassStartwert
803 0726 9091 0000 lds r25,(KompassStartwert)+1
804 072a 9F93 push r25
805 072c 8F93 push r24
806 072e 80E0 ldi r24,lo8(__c.2118)
807 0730 90E0 ldi r25,hi8(__c.2118)
808 0732 00C0 rjmp .L55
809 .L35:
810 0734 1092 0000 sts DispPtr,__zero_reg__
811 0738 8091 0000 lds r24,Poti1
812 073c 9091 0000 lds r25,(Poti1)+1
813 0740 9F93 push r25
814 0742 8F93 push r24
815 0744 80E0 ldi r24,lo8(__c.2121)
816 0746 90E0 ldi r25,hi8(__c.2121)
817 0748 9F93 push r25
818 074a 8F93 push r24
819 074c 11E0 ldi r17,lo8(1)
820 074e 1F93 push r17
821 0750 0E94 0000 call _printf_P
822 0754 84E1 ldi r24,lo8(20)
823 0756 8093 0000 sts DispPtr,r24
824 075a 8091 0000 lds r24,Poti2
825 075e 9091 0000 lds r25,(Poti2)+1
826 0762 9F93 push r25
827 0764 8F93 push r24
828 0766 80E0 ldi r24,lo8(__c.2123)
829 0768 90E0 ldi r25,hi8(__c.2123)
830 076a 9F93 push r25
831 076c 8F93 push r24
832 076e 1F93 push r17
833 0770 0E94 0000 call _printf_P
834 0774 88E2 ldi r24,lo8(40)
835 0776 8093 0000 sts DispPtr,r24
836 077a 8091 0000 lds r24,Poti3
837 077e 9091 0000 lds r25,(Poti3)+1
838 0782 9F93 push r25
839 0784 8F93 push r24
840 0786 80E0 ldi r24,lo8(__c.2125)
841 0788 90E0 ldi r25,hi8(__c.2125)
842 078a 9F93 push r25
843 078c 8F93 push r24
844 078e 1F93 push r17
845 0790 0E94 0000 call _printf_P
846 0794 8CE3 ldi r24,lo8(60)
847 0796 8093 0000 sts DispPtr,r24
848 079a 8091 0000 lds r24,Poti4
849 079e 9091 0000 lds r25,(Poti4)+1
850 07a2 9F93 push r25
851 07a4 8F93 push r24
852 07a6 80E0 ldi r24,lo8(__c.2127)
853 07a8 90E0 ldi r25,hi8(__c.2127)
854 07aa 00C0 rjmp .L60
855 .L36:
856 07ac 1092 0000 sts DispPtr,__zero_reg__
857 07b0 80E0 ldi r24,lo8(__c.2130)
858 07b2 90E0 ldi r25,hi8(__c.2130)
859 07b4 9F93 push r25
860 07b6 8F93 push r24
861 07b8 11E0 ldi r17,lo8(1)
862 07ba 1F93 push r17
863 07bc 0E94 0000 call _printf_P
864 07c0 84E1 ldi r24,lo8(20)
865 07c2 8093 0000 sts DispPtr,r24
866 07c6 8091 0000 lds r24,Parameter_ServoNickControl
867 07ca 9927 clr r25
868 07cc 9F93 push r25
869 07ce 8F93 push r24
870 07d0 80E0 ldi r24,lo8(__c.2132)
871 07d2 90E0 ldi r25,hi8(__c.2132)
872 07d4 9F93 push r25
873 07d6 8F93 push r24
874 07d8 1F93 push r17
875 07da 0E94 0000 call _printf_P
876 07de 88E2 ldi r24,lo8(40)
877 07e0 8093 0000 sts DispPtr,r24
878 07e4 8091 0000 lds r24,ServoValue
879 07e8 9091 0000 lds r25,(ServoValue)+1
880 07ec 9F93 push r25
881 07ee 8F93 push r24
882 07f0 80E0 ldi r24,lo8(__c.2134)
883 07f2 90E0 ldi r25,hi8(__c.2134)
884 07f4 9F93 push r25
885 07f6 8F93 push r24
886 07f8 1F93 push r17
887 07fa 0E94 0000 call _printf_P
888 07fe 8CE3 ldi r24,lo8(60)
889 0800 8093 0000 sts DispPtr,r24
890 0804 8091 0000 lds r24,EE_Parameter+36
891 0808 9927 clr r25
892 080a 9F93 push r25
893 080c 8F93 push r24
894 080e 8091 0000 lds r24,EE_Parameter+35
895 0812 9927 clr r25
896 0814 9F93 push r25
897 0816 8F93 push r24
898 0818 80E0 ldi r24,lo8(__c.2136)
899 081a 90E0 ldi r25,hi8(__c.2136)
900 081c 9F93 push r25
901 081e 8F93 push r24
902 0820 1F93 push r17
903 0822 0E94 0000 call _printf_P
904 0826 00C0 rjmp .L56
905 .L37:
906 0828 1092 0000 sts DispPtr,__zero_reg__
907 082c 80E0 ldi r24,lo8(__c.2139)
908 082e 90E0 ldi r25,hi8(__c.2139)
909 0830 9F93 push r25
910 0832 8F93 push r24
911 0834 11E0 ldi r17,lo8(1)
912 0836 1F93 push r17
913 0838 0E94 0000 call _printf_P
914 083c 84E1 ldi r24,lo8(20)
915 083e 8093 0000 sts DispPtr,r24
916 0842 8091 0000 lds r24,ExternControl+4
917 0846 9927 clr r25
918 0848 87FD sbrc r24,7
919 084a 9095 com r25
920 084c 9F93 push r25
921 084e 8F93 push r24
922 0850 8091 0000 lds r24,ExternControl+3
923 0854 9927 clr r25
924 0856 87FD sbrc r24,7
925 0858 9095 com r25
926 085a 9F93 push r25
927 085c 8F93 push r24
928 085e 80E0 ldi r24,lo8(__c.2141)
929 0860 90E0 ldi r25,hi8(__c.2141)
930 0862 9F93 push r25
931 0864 8F93 push r24
932 0866 1F93 push r17
933 0868 0E94 0000 call _printf_P
934 086c 88E2 ldi r24,lo8(40)
935 086e 8093 0000 sts DispPtr,r24
936 0872 8091 0000 lds r24,ExternControl+5
937 0876 9927 clr r25
938 0878 87FD sbrc r24,7
939 087a 9095 com r25
940 087c 9F93 push r25
941 087e 8F93 push r24
942 0880 8091 0000 lds r24,ExternControl+6
943 0884 9927 clr r25
944 0886 9F93 push r25
945 0888 8F93 push r24
946 088a 80E0 ldi r24,lo8(__c.2143)
947 088c 90E0 ldi r25,hi8(__c.2143)
948 088e 9F93 push r25
949 0890 8F93 push r24
950 0892 1F93 push r17
951 0894 0E94 0000 call _printf_P
952 0898 8CE3 ldi r24,lo8(60)
953 089a 8093 0000 sts DispPtr,r24
954 089e 8091 0000 lds r24,ExternControl+10
955 08a2 9927 clr r25
956 08a4 9F93 push r25
957 08a6 8F93 push r24
958 08a8 8091 0000 lds r24,ExternControl+7
959 08ac 9927 clr r25
960 08ae 87FD sbrc r24,7
961 08b0 9095 com r25
962 08b2 9F93 push r25
963 08b4 8F93 push r24
964 08b6 80E0 ldi r24,lo8(__c.2145)
965 08b8 90E0 ldi r25,hi8(__c.2145)
966 .L59:
967 08ba 9F93 push r25
968 08bc 8F93 push r24
969 08be 1F93 push r17
970 08c0 0E94 0000 call _printf_P
971 .L54:
972 08c4 8DB7 in r24,__SP_L__
973 08c6 9EB7 in r25,__SP_H__
974 08c8 4896 adiw r24,24
975 08ca 00C0 rjmp .L53
976 .L38:
977 08cc 1092 0000 sts DispPtr,__zero_reg__
978 08d0 80E0 ldi r24,lo8(__c.2148)
979 08d2 90E0 ldi r25,hi8(__c.2148)
980 08d4 9F93 push r25
981 08d6 8F93 push r24
982 08d8 11E0 ldi r17,lo8(1)
983 08da 1F93 push r17
984 08dc 0E94 0000 call _printf_P
985 08e0 84E1 ldi r24,lo8(20)
986 08e2 8093 0000 sts DispPtr,r24
987 08e6 8091 0000 lds r24,MM3_calib
988 08ea 9927 clr r25
989 08ec 87FD sbrc r24,7
990 08ee 9095 com r25
991 08f0 9F93 push r25
992 08f2 8F93 push r24
993 08f4 80E0 ldi r24,lo8(__c.2150)
994 08f6 90E0 ldi r25,hi8(__c.2150)
995 08f8 9F93 push r25
996 08fa 8F93 push r24
997 08fc 1F93 push r17
998 08fe 0E94 0000 call _printf_P
999 0902 88E2 ldi r24,lo8(40)
1000 0904 8093 0000 sts DispPtr,r24
1001 0908 8091 0000 lds r24,MM3_calib+1
1002 090c 9927 clr r25
1003 090e 87FD sbrc r24,7
1004 0910 9095 com r25
1005 0912 9F93 push r25
1006 0914 8F93 push r24
1007 0916 80E0 ldi r24,lo8(__c.2152)
1008 0918 90E0 ldi r25,hi8(__c.2152)
1009 091a 9F93 push r25
1010 091c 8F93 push r24
1011 091e 1F93 push r17
1012 0920 0E94 0000 call _printf_P
1013 0924 8CE3 ldi r24,lo8(60)
1014 0926 8093 0000 sts DispPtr,r24
1015 092a 8091 0000 lds r24,MM3_calib+2
1016 092e 9927 clr r25
1017 0930 87FD sbrc r24,7
1018 0932 9095 com r25
1019 0934 9F93 push r25
1020 0936 8F93 push r24
1021 0938 80E0 ldi r24,lo8(__c.2154)
1022 093a 90E0 ldi r25,hi8(__c.2154)
1023 093c 00C0 rjmp .L55
1024 .L39:
1025 093e 1092 0000 sts DispPtr,__zero_reg__
1026 0942 80E0 ldi r24,lo8(__c.2157)
1027 0944 90E0 ldi r25,hi8(__c.2157)
1028 0946 9F93 push r25
1029 0948 8F93 push r24
1030 094a 11E0 ldi r17,lo8(1)
1031 094c 1F93 push r17
1032 094e 0E94 0000 call _printf_P
1033 0952 84E1 ldi r24,lo8(20)
1034 0954 8093 0000 sts DispPtr,r24
1035 0958 8091 0000 lds r24,MM3_calib+3
1036 095c 9091 0000 lds r25,(MM3_calib+3)+1
1037 0960 9F93 push r25
1038 0962 8F93 push r24
1039 0964 80E0 ldi r24,lo8(__c.2159)
1040 0966 90E0 ldi r25,hi8(__c.2159)
1041 0968 9F93 push r25
1042 096a 8F93 push r24
1043 096c 1F93 push r17
1044 096e 0E94 0000 call _printf_P
1045 0972 88E2 ldi r24,lo8(40)
1046 0974 8093 0000 sts DispPtr,r24
1047 0978 8091 0000 lds r24,MM3_calib+5
1048 097c 9091 0000 lds r25,(MM3_calib+5)+1
1049 0980 9F93 push r25
1050 0982 8F93 push r24
1051 0984 80E0 ldi r24,lo8(__c.2161)
1052 0986 90E0 ldi r25,hi8(__c.2161)
1053 0988 9F93 push r25
1054 098a 8F93 push r24
1055 098c 1F93 push r17
1056 098e 0E94 0000 call _printf_P
1057 0992 8CE3 ldi r24,lo8(60)
1058 0994 8093 0000 sts DispPtr,r24
1059 0998 8091 0000 lds r24,MM3_calib+7
1060 099c 9091 0000 lds r25,(MM3_calib+7)+1
1061 09a0 9F93 push r25
1062 09a2 8F93 push r24
1063 09a4 80E0 ldi r24,lo8(__c.2163)
1064 09a6 90E0 ldi r25,hi8(__c.2163)
1065 .L55:
1066 09a8 9F93 push r25
1067 09aa 8F93 push r24
1068 09ac 1F93 push r17
1069 09ae 0E94 0000 call _printf_P
1070 09b2 8DB7 in r24,__SP_L__
1071 09b4 9EB7 in r25,__SP_H__
1072 09b6 4296 adiw r24,18
1073 09b8 00C0 rjmp .L53
1074 .L25:
1075 09ba 8150 subi r24,lo8(-(-1))
1076 09bc 8093 0000 sts MaxMenue.2026,r24
1077 09c0 1092 0000 sts MenuePunkt.2027,__zero_reg__
1078 .L41:
1079 09c4 1092 0000 sts RemoteTasten,__zero_reg__
1080 /* epilogue: frame size=0 */
1081 09c8 1F91 pop r17
1082 09ca 0895 ret
1083 /* epilogue end (size=2) */
1084 /* function Menu size 1259 (1256) */
1086 .global TestInt
1087 .global TestInt
1088 .section .bss
1091 TestInt:
1092 0000 0000 .skip 2,0
1093 .global Array
1094 .data
1097 Array:
1098 0000 01 .byte 1
1099 0001 02 .byte 2
1100 0002 03 .byte 3
1101 0003 04 .byte 4
1102 0004 05 .byte 5
1103 0005 06 .byte 6
1104 0006 07 .byte 7
1105 0007 08 .byte 8
1106 0008 09 .byte 9
1107 0009 0A .byte 10
1108 .global DisplayBuff
1111 DisplayBuff:
1112 000a 4861 6C6C .string "Hallo Welt"
1112 6F20 5765
1112 6C74 00
1113 0015 0000 0000 .skip 69,0
1113 0000 0000
1113 0000 0000
1113 0000 0000
1113 0000 0000
1114 .global DispPtr
1115 .global DispPtr
1116 .section .bss
1119 DispPtr:
1120 0002 00 .skip 1,0
1121 .global RemoteTasten
1122 .global RemoteTasten
1125 RemoteTasten:
1126 0003 00 .skip 1,0
1127 .section .progmem.data,"a",@progbits
1130 __c.2163:
1131 0000 5A5F 5261 .string "Z_Range: %4i"
1131 6E67 653A
1131 2020 2534
1131 6900
1134 __c.2161:
1135 000e 595F 5261 .string "Y_Range: %4i"
1135 6E67 653A
1135 2020 2534
1135 6900
1138 __c.2159:
1139 001c 585F 5261 .string "X_Range: %4i"
1139 6E67 653A
1139 2020 2534
1139 6900
1142 __c.2157:
1143 002a 4D4D 3320 .string "MM3 Range"
1143 5261 6E67
1143 6500
1146 __c.2154:
1147 0034 5A5F 4F66 .string "Z_Offset: %3i"
1147 6673 6574
1147 3A20 2025
1147 3369 00
1150 __c.2152:
1151 0043 595F 4F66 .string "Y_Offset: %3i"
1151 6673 6574
1151 3A20 2025
1151 3369 00
1154 __c.2150:
1155 0052 585F 4F66 .string "X_Offset: %3i"
1155 6673 6574
1155 3A20 2025
1155 3369 00
1158 __c.2148:
1159 0061 4D4D 3320 .string "MM3 Off"
1159 4F66 6600
1162 __c.2145:
1163 0069 4869 3A25 .string "Hi:%4i Cf:%4i "
1163 3469 2020
1163 4366 3A25
1163 3469 2000
1166 __c.2143:
1167 0079 4773 3A25 .string "Gs:%4i Gi:%4i "
1167 3469 2020
1167 4769 3A25
1167 3469 2000
1170 __c.2141:
1171 0089 4E69 3A25 .string "Ni:%4i Ro:%4i "
1171 3469 2020
1171 526F 3A25
1171 3469 2000
1174 __c.2139:
1175 0099 4578 7465 .string "ExternControl "
1175 726E 436F
1175 6E74 726F
1175 6C20 2000
1178 __c.2136:
1179 00a9 5261 6E67 .string "Range:%3i-%3i"
1179 653A 2533
1179 692D 2533
1179 6900
1182 __c.2134:
1183 00b7 5374 656C .string "Stellung: %3i"
1183 6C75 6E67
1183 3A20 2533
1183 6900
1186 __c.2132:
1187 00c5 5365 7470 .string "Setpoint %3i"
1187 6F69 6E74
1187 2020 2533
1187 6900
1190 __c.2130:
1191 00d3 5365 7276 .string "Servo "
1191 6F20 2000
1194 __c.2127:
1195 00db 506F 7469 .string "Poti4: %3i"
1195 343A 2020
1195 2533 6900
1198 __c.2125:
1199 00e7 506F 7469 .string "Poti3: %3i"
1199 333A 2020
1199 2533 6900
1202 __c.2123:
1203 00f3 506F 7469 .string "Poti2: %3i"
1203 323A 2020
1203 2533 6900
1206 __c.2121:
1207 00ff 506F 7469 .string "Poti1: %3i"
1207 313A 2020
1207 2533 6900
1210 __c.2118:
1211 010b 5374 6172 .string "Start: %5i"
1211 743A 2020
1211 2020 2025
1211 3569 00
1214 __c.2116:
1215 011a 4D65 7373 .string "Messwert: %5i"
1215 7765 7274
1215 3A20 2025
1215 3569 00
1218 __c.2114:
1219 0129 5269 6368 .string "Richtung: %5i"
1219 7475 6E67
1219 3A20 2025
1219 3569 00
1222 __c.2112:
1223 0138 4B6F 6D70 .string "Kompass "
1223 6173 7320
1223 2020 2020
1223 2020 00
1226 __c.2109:
1227 0147 456D 7066 .string "Empf.Pegel:%5i"
1227 2E50 6567
1227 656C 3A25
1227 3569 00
1230 __c.2107:
1231 0156 5370 616E .string "Spannung: %5i"
1231 6E75 6E67
1231 3A20 2025
1231 3569 00
1234 __c.2104:
1235 0165 486F 6368 .string "Hoch %4i (%3i)"
1235 2025 3469
1235 2028 2533
1235 6929 00
1238 __c.2102:
1239 0174 526F 6C6C .string "Roll %4i (%3i)"
1239 2025 3469
1239 2028 2533
1239 6929 00
1242 __c.2100:
1243 0183 4E69 636B .string "Nick %4i (%3i)"
1243 2025 3469
1243 2028 2533
1243 6929 00
1246 __c.2098:
1247 0192 4143 4320 .string "ACC - Sensor"
1247 2D20 5365
1247 6E73 6F72
1247 00
1250 __c.2095:
1251 019f 4769 6572 .string "Gier %4i (%3i)"
1251 2025 3469
1251 2028 2533
1251 6929 00
1254 __c.2093:
1255 01ae 526F 6C6C .string "Roll %4i (%3i)"
1255 2025 3469
1255 2028 2533
1255 6929 00
1258 __c.2091:
1259 01bd 4E69 636B .string "Nick %4i (%3i)"
1259 2025 3469
1259 2028 2533
1259 6929 00
1262 __c.2089:
1263 01cc 4769 6572 .string "Gier %4i (%3i)"
1263 2025 3469
1263 2028 2533
1263 6929 00
1266 __c.2087:
1267 01db 526F 6C6C .string "Roll %4i (%3i)"
1267 2025 3469
1267 2028 2533
1267 6929 00
1270 __c.2085:
1271 01ea 4E69 636B .string "Nick %4i (%3i)"
1271 2025 3469
1271 2028 2533
1271 6929 00
1274 __c.2083:
1275 01f9 4779 726F .string "Gyro - Sensor"
1275 202D 2053
1275 656E 736F
1275 7200
1278 __c.2080:
1279 0207 5033 3A25 .string "P3:%4i P4:%4i "
1279 3469 2020
1279 5034 3A25
1279 3469 2000
1282 __c.2078:
1283 0217 5031 3A25 .string "P1:%4i P2:%4i "
1283 3469 2020
1283 5032 3A25
1283 3469 2000
1286 __c.2076:
1287 0227 4773 3A25 .string "Gs:%4i Gi:%4i "
1287 3469 2020
1287 4769 3A25
1287 3469 2000
1290 __c.2074:
1291 0237 4E69 3A25 .string "Ni:%4i Ro:%4i "
1291 3469 2020
1291 526F 3A25
1291 3469 2000
1294 __c.2071:
1295 0247 4B37 3A25 .string "K7:%4i K8:%4i "
1295 3469 2020
1295 4B38 3A25
1295 3469 2000
1298 __c.2069:
1299 0257 4B35 3A25 .string "K5:%4i K6:%4i "
1299 3469 2020
1299 4B36 3A25
1299 3469 2000
1302 __c.2067:
1303 0267 4B33 3A25 .string "K3:%4i K4:%4i "
1303 3469 2020
1303 4B34 3A25
1303 3469 2000
1306 __c.2065:
1307 0277 4B31 3A25 .string "K1:%4i K2:%4i "
1307 3469 2020
1307 4B32 3A25
1307 3469 2000
1310 __c.2062:
1311 0287 4B6F 6D70 .string "Kompass: %5i"
1311 6173 733A
1311 2020 2025
1311 3569 00
1314 __c.2060:
1315 0296 526F 6C6C .string "Roll: %5i"
1315 3A20 2020
1315 2020 2025
1315 3569 00
1318 __c.2058:
1319 02a5 4E69 636B .string "Nick: %5i"
1319 3A20 2020
1319 2020 2025
1319 3569 00
1322 __c.2056:
1323 02b4 616B 742E .string "akt. Lage"
1323 204C 6167
1323 6500
1326 __c.2053:
1327 02be 48F6 6865 .string "H\366henregelung"
1327 6E72 6567
1327 656C 756E
1327 6700
1330 __c.2051:
1331 02cc 4B65 696E .string "Keine "
1331 6520 00
1334 __c.2049:
1335 02d3 4F66 6620 .string "Off : %5i"
1335 2020 2020
1335 203A 2025
1335 3569 00
1338 __c.2047:
1339 02e2 4C75 6674 .string "Luftdruck: %5i"
1339 6472 7563
1339 6B3A 2025
1339 3569 00
1342 __c.2045:
1343 02f1 536F 6C6C .string "SollHoehe: %5i"
1343 486F 6568
1343 653A 2025
1343 3569 00
1346 __c.2043:
1347 0300 486F 6568 .string "Hoehe: %5i"
1347 653A 2020
1347 2020 2025
1347 3569 00
1350 __c.2039:
1351 030f 2863 2920 .string "(c) Holger Buss"
1351 486F 6C67
1351 6572 2042
1351 7573 7300
1354 __c.2037:
1355 031f 5365 7474 .string "Setting: %d "
1355 696E 673A
1355 2025 6420
1355 00
1358 __c.2035:
1359 032c 4857 3A56 .string "HW:V%d.%d SW:%d.%d%c"
1359 2564 2E25
1359 6420 5357
1359 3A25 642E
1359 2564 2563
1362 __c.2033:
1363 0341 2B20 4D69 .string "+ MikroKopter +"
1363 6B72 6F4B
1363 6F70 7465
1363 7220 2B00
1366 __c.2030:
1367 0351 5B25 695D .string "[%i]"
1367 00
1370 __c.2028:
1371 0356 5B25 695D .string "[%i]"
1371 00
1372 .lcomm MenuePunkt.2027,1
1373 .data
1376 MaxMenue.2026:
1377 005a 0D .byte 13
1378 /* File "menu.c": code 1268 = 0x04f4 (1264), prologues 1, epilogues 3 */
DEFINED SYMBOLS
*ABS*:00000000 menu.c
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:13 .text:00000000 LcdClear
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1111 .data:0000000a DisplayBuff
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:32 .text:00000012 Menu
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1125 .bss:00000003 RemoteTasten
.bss:00000004 MenuePunkt.2027
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1376 .data:0000005a MaxMenue.2026
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1119 .bss:00000002 DispPtr
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1370 .progmem.data:00000356 __c.2028
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1366 .progmem.data:00000351 __c.2030
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1362 .progmem.data:00000341 __c.2033
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1358 .progmem.data:0000032c __c.2035
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1354 .progmem.data:0000031f __c.2037
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1350 .progmem.data:0000030f __c.2039
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1346 .progmem.data:00000300 __c.2043
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1342 .progmem.data:000002f1 __c.2045
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1338 .progmem.data:000002e2 __c.2047
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1334 .progmem.data:000002d3 __c.2049
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1330 .progmem.data:000002cc __c.2051
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1326 .progmem.data:000002be __c.2053
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1322 .progmem.data:000002b4 __c.2056
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1318 .progmem.data:000002a5 __c.2058
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1314 .progmem.data:00000296 __c.2060
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1310 .progmem.data:00000287 __c.2062
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1306 .progmem.data:00000277 __c.2065
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1302 .progmem.data:00000267 __c.2067
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1298 .progmem.data:00000257 __c.2069
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1294 .progmem.data:00000247 __c.2071
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1290 .progmem.data:00000237 __c.2074
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1286 .progmem.data:00000227 __c.2076
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1282 .progmem.data:00000217 __c.2078
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1278 .progmem.data:00000207 __c.2080
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1274 .progmem.data:000001f9 __c.2083
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1270 .progmem.data:000001ea __c.2085
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1266 .progmem.data:000001db __c.2087
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1262 .progmem.data:000001cc __c.2089
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1258 .progmem.data:000001bd __c.2091
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1254 .progmem.data:000001ae __c.2093
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1250 .progmem.data:0000019f __c.2095
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1246 .progmem.data:00000192 __c.2098
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1242 .progmem.data:00000183 __c.2100
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1238 .progmem.data:00000174 __c.2102
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1234 .progmem.data:00000165 __c.2104
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1230 .progmem.data:00000156 __c.2107
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1226 .progmem.data:00000147 __c.2109
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1222 .progmem.data:00000138 __c.2112
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1218 .progmem.data:00000129 __c.2114
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1214 .progmem.data:0000011a __c.2116
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1210 .progmem.data:0000010b __c.2118
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1206 .progmem.data:000000ff __c.2121
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1202 .progmem.data:000000f3 __c.2123
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1198 .progmem.data:000000e7 __c.2125
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1194 .progmem.data:000000db __c.2127
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1190 .progmem.data:000000d3 __c.2130
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1186 .progmem.data:000000c5 __c.2132
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1182 .progmem.data:000000b7 __c.2134
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1178 .progmem.data:000000a9 __c.2136
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1174 .progmem.data:00000099 __c.2139
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1170 .progmem.data:00000089 __c.2141
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1166 .progmem.data:00000079 __c.2143
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1162 .progmem.data:00000069 __c.2145
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1158 .progmem.data:00000061 __c.2148
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1154 .progmem.data:00000052 __c.2150
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1150 .progmem.data:00000043 __c.2152
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1146 .progmem.data:00000034 __c.2154
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1142 .progmem.data:0000002a __c.2157
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1138 .progmem.data:0000001c __c.2159
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1134 .progmem.data:0000000e __c.2161
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1130 .progmem.data:00000000 __c.2163
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1091 .bss:00000000 TestInt
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccEyE7cP.s:1097 .data:00000000 Array
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
RemotePollDisplayLine
_printf_P
__tablejump2__
PlatinenVersion
__udivmodqi4
GetActiveParamSetNumber
EE_Parameter
HoehenWert
SollHoehe
MessLuftdruck
DruckOffsetSetting
IntegralNick
__divmodsi4
IntegralRoll
KompassValue
PPM_in
AdNeutralNick
AdWertNick
AdNeutralRoll
AdWertRoll
AdNeutralGier
MesswertGier
__divmodhi4
acc_neutral
AdWertAccNick
AdWertAccRoll
__fixsfsi
Mittelwert_AccHoch
UBat
SenderOkay
KompassRichtung
KompassStartwert
Poti1
Poti2
Poti3
Poti4
Parameter_ServoNickControl
ServoValue
ExternControl
MM3_calib
/branches/MicroMag3_Nick666/Festkomma/V0.68d/mymath.c
0,0 → 1,111
/*
 
Copyright 2007, Niklas Nold
 
This program (files math.c and math.h) is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation;
either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
 
Please note: All the other files for the project "Mikrokopter" by H. Buss are under the license (license_buss.txt) published by www.mikrokopter.de
*/
 
#include "main.h"
 
 
const uint8_t pgm_atan[346] PROGMEM = {0,1,2,3,4,4,5,6,7,8,9,10,11,11,12,13,14,15,16,17,17,18,19,20,21,21,22,23,24,24,25,26,27,27,28,29,29,30,31,31,32,33,33,34,35,35,36,36,37,37,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,45,46,46,47,47,48,48,48,49,49,50,50,50,51,51,51,52,52,52,53,53,53,54,54,54,55,55,55,55,56,56,56,57,57,57,57,58,58,58,58,59,59,59,59,60,60,60,60,60,61,61,61,61,62,62,62,62,62,63,63,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,66,67,67,67,67,67,67,67,68,68,68,68,68,68,68,68,69,69,69,69,69,69,69,69,69,70,70,70,70,70,70,70,70,70,71,71,71,71,71,71,71,71,71,71,71,72,72,72,72,72,72,72,72,72,72,72,73,73,73,73,73,73,73,73,73,73,73,73,73,73,74,74,74,74,74,74,74,74,74,74,74,74,74,74,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79};
 
//############################################################################
// Arkustangens2 im Gradmaß
signed int atan2_i(signed int x, signed int y)
//############################################################################
{
int16_t angle;
uint16_t i;
int8_t m;
if (!x && !y) return 0; //atan2 = 0 für x und y = 0
if (y < 0) m=-1;
else m=1;
if (!x) return (90*m); // atan2 = 90° für x = 0
i = abs(y / x); // Berechne i für die Lookup table (Schrittweite atan(x) ist 0,015625 -> y *64)
 
if (i<346) angle = pgm_read_byte(&pgm_atan[i]); // Lookup für 1° bis 79°
else if (i>7334) angle = 90; // Grenzwert ist 90°
else if (i>2444) angle = 89; // 89° bis 80° über Wertebereiche
else if (i>1465) angle = 88;
else if (i>1046) angle = 87;
else if (i>813) angle = 86;
else if (i>664) angle = 85;
else if (i>561) angle = 84;
else if (i>486) angle = 83;
else if (i>428) angle = 82;
else if (i>382) angle = 81;
else angle = 80; // (i>345)
if (x > 0) return (angle*m); // Quadrant I und IV
else if ((x < 0) && (m > 0)) return (-angle + 180); // Quadrant II
else return (angle - 180); // x < 0 && y < 0 Quadrant III
}
 
 
const uint16_t pgm_sinus_i[91] PROGMEM = {0,18,36,54,71,89,107,125,143,160,178,195,213,230,248,265,282,299,316,333,350,367,384,400,416,433,449,465,481,496,512,527,543,558,573,587,602,616,630,644,658,672,685,698,711,724,737,749,761,773,784,796,807,818,828,839,849,859,868,878,887,896,904,912,920,928,935,943,949,956,962,968,974,979,984,989,994,998,1002,1005,1008,1011,1014,1016,1018,1020,1022,1023,1023,1024,1024};
//############################################################################
// Kosinusfunktion im Gradmaß
signed int cos_i(signed int winkel)
//############################################################################
{
return (sin_i(90-winkel));
}
 
//############################################################################
// Sinusfunktion im Gradmaß
signed int sin_i(signed int winkel)
//############################################################################
{
short int m,n;
signed int sinus;
if (winkel < 0)
{
m = -1;
winkel = abs(winkel);
}
else m = +1;
// Quadranten auswerten
if (winkel <= 90) n=1;
else if ((winkel > 90) && (winkel <= 180)) {winkel = 180 - winkel; n = 1;}
else if ((winkel > 180) && (winkel <= 270)) {winkel = winkel - 180; n = -1;}
else {winkel = 360 - winkel; n = -1;} //if ((winkel > 270) && (winkel <= 360))
 
sinus = pgm_read_word(&pgm_sinus_i[winkel]);
 
return (sinus*m*n);
}
 
/*
const uint8_t pgm_asin[201] PROGMEM = {0,0,1,1,1,1,2,2,2,3,3,3,3,4,4,4,5,5,5,5,6,6,6,7,7,7,7,8,8,8,9,9,9,9,10,10,10,11,11,11,12,12,12,12,13,13,13,14,14,14,14,15,15,15,16,16,16,17,17,17,17,18,18,18,19,19,19,20,20,20,20,21,21,21,22,22,22,23,23,23,24,24,24,25,25,25,25,26,26,26,27,27,27,28,28,28,29,29,29,30,30,30,31,31,31,32,32,32,33,33,33,34,34,34,35,35,35,36,36,37,37,37,38,38,38,39,39,39,40,40,41,41,41,42,42,42,43,43,44,44,44,45,45,46,46,46,47,47,48,48,49,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,58,58,59,59,60,60,61,62,62,63,64,64,65,66,66,67,68,68,69,70,71,72,73,74,75,76,77,79,80,82,84,90};
 
//############################################################################
// Akurssinusfunktion im Gradmaß
int8_t asin_i(signed int i)
//############################################################################
{
signed char m;
if (i < 0) {m=-1;i=abs(i);}
else m=1;
i %= 200;
return (pgm_read_byte(&pgm_asin[i]) * m);
}
*/
/branches/MicroMag3_Nick666/Festkomma/V0.68d/mymath.d
0,0 → 1,2
mymath.o mymath.d : mymath.c main.h old_macros.h _Settings.h printf_P.h timer0.h \
uart.h analog.h twimaster.h menu.h rc.h fc.h gps.h compass.h mymath.h
/branches/MicroMag3_Nick666/Festkomma/V0.68d/mymath.h
0,0 → 1,8
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
#include "main.h"
 
extern signed int atan2_i(signed int x, signed int y);
extern signed int cos_i(signed int winkel);
extern signed int sin_i(signed int winkel);
//extern int8_t asin_i(signed int i);
/branches/MicroMag3_Nick666/Festkomma/V0.68d/mymath.lst
0,0 → 1,737
1 .file "mymath.c"
2 .arch atmega644
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
10 .text
11 .global atan2_i
13 atan2_i:
14 /* prologue: frame size=0 */
15 /* prologue end (size=0) */
16 0000 9C01 movw r18,r24
17 0002 892B or r24,r25
18 0004 01F4 brne .L2
19 0006 6115 cp r22,__zero_reg__
20 0008 7105 cpc r23,__zero_reg__
21 000a 01F4 brne .L2
22 000c 80E0 ldi r24,lo8(0)
23 000e 90E0 ldi r25,hi8(0)
24 0010 0895 ret
25 .L2:
26 0012 77FD sbrc r23,7
27 0014 00C0 rjmp .L6
28 0016 41E0 ldi r20,lo8(1)
29 0018 00C0 rjmp .L8
30 .L6:
31 001a 4FEF ldi r20,lo8(-1)
32 .L8:
33 001c 2115 cp r18,__zero_reg__
34 001e 3105 cpc r19,__zero_reg__
35 0020 01F4 brne .L9
36 0022 8AE5 ldi r24,lo8(90)
37 0024 4802 muls r20,r24
38 0026 C001 movw r24,r0
39 0028 1124 clr r1
40 002a 0895 ret
41 .L9:
42 002c CB01 movw r24,r22
43 002e B901 movw r22,r18
44 0030 0E94 0000 call __divmodhi4
45 0034 FB01 movw r30,r22
46 0036 77FF sbrs r23,7
47 0038 00C0 rjmp .L11
48 003a F095 com r31
49 003c E195 neg r30
50 003e FF4F sbci r31,lo8(-1)
51 .L11:
52 0040 81E0 ldi r24,hi8(346)
53 0042 EA35 cpi r30,lo8(346)
54 0044 F807 cpc r31,r24
55 0046 00F4 brsh .L12
56 0048 E050 subi r30,lo8(-(pgm_atan))
57 004a F040 sbci r31,hi8(-(pgm_atan))
58 /* #APP */
59 004c 8491 lpm r24, Z
60
61 /* #NOAPP */
62 004e 682F mov r22,r24
63 0050 7727 clr r23
64 0052 00C0 rjmp .L14
65 .L12:
66 0054 8CE1 ldi r24,hi8(7335)
67 0056 E73A cpi r30,lo8(7335)
68 0058 F807 cpc r31,r24
69 005a 00F0 brlo .L15
70 005c 6AE5 ldi r22,lo8(90)
71 005e 70E0 ldi r23,hi8(90)
72 0060 00C0 rjmp .L14
73 .L15:
74 0062 89E0 ldi r24,hi8(2445)
75 0064 ED38 cpi r30,lo8(2445)
76 0066 F807 cpc r31,r24
77 0068 00F0 brlo .L17
78 006a 69E5 ldi r22,lo8(89)
79 006c 70E0 ldi r23,hi8(89)
80 006e 00C0 rjmp .L14
81 .L17:
82 0070 85E0 ldi r24,hi8(1466)
83 0072 EA3B cpi r30,lo8(1466)
84 0074 F807 cpc r31,r24
85 0076 00F0 brlo .L19
86 0078 68E5 ldi r22,lo8(88)
87 007a 70E0 ldi r23,hi8(88)
88 007c 00C0 rjmp .L14
89 .L19:
90 007e 84E0 ldi r24,hi8(1047)
91 0080 E731 cpi r30,lo8(1047)
92 0082 F807 cpc r31,r24
93 0084 00F0 brlo .L21
94 0086 67E5 ldi r22,lo8(87)
95 0088 70E0 ldi r23,hi8(87)
96 008a 00C0 rjmp .L14
97 .L21:
98 008c 83E0 ldi r24,hi8(814)
99 008e EE32 cpi r30,lo8(814)
100 0090 F807 cpc r31,r24
101 0092 00F0 brlo .L23
102 0094 66E5 ldi r22,lo8(86)
103 0096 70E0 ldi r23,hi8(86)
104 0098 00C0 rjmp .L14
105 .L23:
106 009a 82E0 ldi r24,hi8(665)
107 009c E939 cpi r30,lo8(665)
108 009e F807 cpc r31,r24
109 00a0 00F0 brlo .L25
110 00a2 65E5 ldi r22,lo8(85)
111 00a4 70E0 ldi r23,hi8(85)
112 00a6 00C0 rjmp .L14
113 .L25:
114 00a8 82E0 ldi r24,hi8(562)
115 00aa E233 cpi r30,lo8(562)
116 00ac F807 cpc r31,r24
117 00ae 00F0 brlo .L27
118 00b0 64E5 ldi r22,lo8(84)
119 00b2 70E0 ldi r23,hi8(84)
120 00b4 00C0 rjmp .L14
121 .L27:
122 00b6 81E0 ldi r24,hi8(487)
123 00b8 E73E cpi r30,lo8(487)
124 00ba F807 cpc r31,r24
125 00bc 00F0 brlo .L29
126 00be 63E5 ldi r22,lo8(83)
127 00c0 70E0 ldi r23,hi8(83)
128 00c2 00C0 rjmp .L14
129 .L29:
130 00c4 81E0 ldi r24,hi8(429)
131 00c6 ED3A cpi r30,lo8(429)
132 00c8 F807 cpc r31,r24
133 00ca 00F0 brlo .L31
134 00cc 62E5 ldi r22,lo8(82)
135 00ce 70E0 ldi r23,hi8(82)
136 00d0 00C0 rjmp .L14
137 .L31:
138 00d2 EF57 subi r30,lo8(383)
139 00d4 F140 sbci r31,hi8(383)
140 00d6 00F0 brlo .L33
141 00d8 61E5 ldi r22,lo8(81)
142 00da 70E0 ldi r23,hi8(81)
143 00dc 00C0 rjmp .L14
144 .L33:
145 00de 60E5 ldi r22,lo8(80)
146 00e0 70E0 ldi r23,hi8(80)
147 .L14:
148 00e2 1216 cp __zero_reg__,r18
149 00e4 1306 cpc __zero_reg__,r19
150 00e6 04F4 brge .L35
151 00e8 842F mov r24,r20
152 00ea 9927 clr r25
153 00ec 87FD sbrc r24,7
154 00ee 9095 com r25
155 00f0 9C01 movw r18,r24
156 00f2 629F mul r22,r18
157 00f4 C001 movw r24,r0
158 00f6 639F mul r22,r19
159 00f8 900D add r25,r0
160 00fa 729F mul r23,r18
161 00fc 900D add r25,r0
162 00fe 1124 clr r1
163 0100 0895 ret
164 .L35:
165 0102 1416 cp __zero_reg__,r20
166 0104 04F4 brge .L37
167 0106 84EB ldi r24,lo8(180)
168 0108 90E0 ldi r25,hi8(180)
169 010a 861B sub r24,r22
170 010c 970B sbc r25,r23
171 010e 0895 ret
172 .L37:
173 0110 CB01 movw r24,r22
174 0112 845B subi r24,lo8(-(-180))
175 0114 9040 sbci r25,hi8(-(-180))
176 0116 0895 ret
177 /* epilogue: frame size=0 */
178 /* epilogue: noreturn */
179 /* epilogue end (size=0) */
180 /* function atan2_i size 144 (144) */
182 .global sin_i
184 sin_i:
185 /* prologue: frame size=0 */
186 /* prologue end (size=0) */
187 0118 FC01 movw r30,r24
188 011a 97FD sbrc r25,7
189 011c 00C0 rjmp .L41
190 011e 41E0 ldi r20,lo8(1)
191 0120 50E0 ldi r21,hi8(1)
192 0122 00C0 rjmp .L43
193 .L41:
194 0124 F095 com r31
195 0126 E195 neg r30
196 0128 FF4F sbci r31,lo8(-1)
197 012a 4FEF ldi r20,lo8(-1)
198 012c 5FEF ldi r21,hi8(-1)
199 .L43:
200 012e EB35 cpi r30,91
201 0130 F105 cpc r31,__zero_reg__
202 0132 04F0 brlt .L52
203 0134 CF01 movw r24,r30
204 0136 8B55 subi r24,lo8(-(-91))
205 0138 9040 sbci r25,hi8(-(-91))
206 013a 8A35 cpi r24,90
207 013c 9105 cpc r25,__zero_reg__
208 013e 00F4 brsh .L47
209 0140 84EB ldi r24,lo8(180)
210 0142 90E0 ldi r25,hi8(180)
211 0144 8E1B sub r24,r30
212 0146 9F0B sbc r25,r31
213 0148 FC01 movw r30,r24
214 .L52:
215 014a 21E0 ldi r18,lo8(1)
216 014c 30E0 ldi r19,hi8(1)
217 014e 00C0 rjmp .L46
218 .L47:
219 0150 CF01 movw r24,r30
220 0152 855B subi r24,lo8(-(-181))
221 0154 9040 sbci r25,hi8(-(-181))
222 0156 8A35 cpi r24,90
223 0158 9105 cpc r25,__zero_reg__
224 015a 00F4 brsh .L49
225 015c E45B subi r30,lo8(-(-180))
226 015e F040 sbci r31,hi8(-(-180))
227 0160 00C0 rjmp .L53
228 .L49:
229 0162 88E6 ldi r24,lo8(360)
230 0164 91E0 ldi r25,hi8(360)
231 0166 8E1B sub r24,r30
232 0168 9F0B sbc r25,r31
233 016a FC01 movw r30,r24
234 .L53:
235 016c 2FEF ldi r18,lo8(-1)
236 016e 3FEF ldi r19,hi8(-1)
237 .L46:
238 0170 EE0F lsl r30
239 0172 FF1F rol r31
240 0174 E050 subi r30,lo8(-(pgm_sinus_i))
241 0176 F040 sbci r31,hi8(-(pgm_sinus_i))
242 /* #APP */
243 0178 8591 lpm r24, Z+
244 017a 9491 lpm r25, Z
245
246 /* #NOAPP */
247 017c BC01 movw r22,r24
248 017e 629F mul r22,r18
249 0180 C001 movw r24,r0
250 0182 639F mul r22,r19
251 0184 900D add r25,r0
252 0186 729F mul r23,r18
253 0188 900D add r25,r0
254 018a 1124 clr r1
255 018c 9C01 movw r18,r24
256 018e 429F mul r20,r18
257 0190 C001 movw r24,r0
258 0192 439F mul r20,r19
259 0194 900D add r25,r0
260 0196 529F mul r21,r18
261 0198 900D add r25,r0
262 019a 1124 clr r1
263 /* epilogue: frame size=0 */
264 019c 0895 ret
265 /* epilogue end (size=1) */
266 /* function sin_i size 71 (70) */
268 .global cos_i
270 cos_i:
271 /* prologue: frame size=0 */
272 /* prologue end (size=0) */
273 019e 2AE5 ldi r18,lo8(90)
274 01a0 30E0 ldi r19,hi8(90)
275 01a2 281B sub r18,r24
276 01a4 390B sbc r19,r25
277 01a6 C901 movw r24,r18
278 01a8 0E94 0000 call sin_i
279 /* epilogue: frame size=0 */
280 01ac 0895 ret
281 /* epilogue end (size=1) */
282 /* function cos_i size 8 (7) */
284 .global pgm_atan
285 .section .progmem.data,"a",@progbits
288 pgm_atan:
289 0000 00 .byte 0
290 0001 01 .byte 1
291 0002 02 .byte 2
292 0003 03 .byte 3
293 0004 04 .byte 4
294 0005 04 .byte 4
295 0006 05 .byte 5
296 0007 06 .byte 6
297 0008 07 .byte 7
298 0009 08 .byte 8
299 000a 09 .byte 9
300 000b 0A .byte 10
301 000c 0B .byte 11
302 000d 0B .byte 11
303 000e 0C .byte 12
304 000f 0D .byte 13
305 0010 0E .byte 14
306 0011 0F .byte 15
307 0012 10 .byte 16
308 0013 11 .byte 17
309 0014 11 .byte 17
310 0015 12 .byte 18
311 0016 13 .byte 19
312 0017 14 .byte 20
313 0018 15 .byte 21
314 0019 15 .byte 21
315 001a 16 .byte 22
316 001b 17 .byte 23
317 001c 18 .byte 24
318 001d 18 .byte 24
319 001e 19 .byte 25
320 001f 1A .byte 26
321 0020 1B .byte 27
322 0021 1B .byte 27
323 0022 1C .byte 28
324 0023 1D .byte 29
325 0024 1D .byte 29
326 0025 1E .byte 30
327 0026 1F .byte 31
328 0027 1F .byte 31
329 0028 20 .byte 32
330 0029 21 .byte 33
331 002a 21 .byte 33
332 002b 22 .byte 34
333 002c 23 .byte 35
334 002d 23 .byte 35
335 002e 24 .byte 36
336 002f 24 .byte 36
337 0030 25 .byte 37
338 0031 25 .byte 37
339 0032 26 .byte 38
340 0033 27 .byte 39
341 0034 27 .byte 39
342 0035 28 .byte 40
343 0036 28 .byte 40
344 0037 29 .byte 41
345 0038 29 .byte 41
346 0039 2A .byte 42
347 003a 2A .byte 42
348 003b 2B .byte 43
349 003c 2B .byte 43
350 003d 2C .byte 44
351 003e 2C .byte 44
352 003f 2D .byte 45
353 0040 2D .byte 45
354 0041 2D .byte 45
355 0042 2E .byte 46
356 0043 2E .byte 46
357 0044 2F .byte 47
358 0045 2F .byte 47
359 0046 30 .byte 48
360 0047 30 .byte 48
361 0048 30 .byte 48
362 0049 31 .byte 49
363 004a 31 .byte 49
364 004b 32 .byte 50
365 004c 32 .byte 50
366 004d 32 .byte 50
367 004e 33 .byte 51
368 004f 33 .byte 51
369 0050 33 .byte 51
370 0051 34 .byte 52
371 0052 34 .byte 52
372 0053 34 .byte 52
373 0054 35 .byte 53
374 0055 35 .byte 53
375 0056 35 .byte 53
376 0057 36 .byte 54
377 0058 36 .byte 54
378 0059 36 .byte 54
379 005a 37 .byte 55
380 005b 37 .byte 55
381 005c 37 .byte 55
382 005d 37 .byte 55
383 005e 38 .byte 56
384 005f 38 .byte 56
385 0060 38 .byte 56
386 0061 39 .byte 57
387 0062 39 .byte 57
388 0063 39 .byte 57
389 0064 39 .byte 57
390 0065 3A .byte 58
391 0066 3A .byte 58
392 0067 3A .byte 58
393 0068 3A .byte 58
394 0069 3B .byte 59
395 006a 3B .byte 59
396 006b 3B .byte 59
397 006c 3B .byte 59
398 006d 3C .byte 60
399 006e 3C .byte 60
400 006f 3C .byte 60
401 0070 3C .byte 60
402 0071 3C .byte 60
403 0072 3D .byte 61
404 0073 3D .byte 61
405 0074 3D .byte 61
406 0075 3D .byte 61
407 0076 3E .byte 62
408 0077 3E .byte 62
409 0078 3E .byte 62
410 0079 3E .byte 62
411 007a 3E .byte 62
412 007b 3F .byte 63
413 007c 3F .byte 63
414 007d 3F .byte 63
415 007e 3F .byte 63
416 007f 3F .byte 63
417 0080 3F .byte 63
418 0081 40 .byte 64
419 0082 40 .byte 64
420 0083 40 .byte 64
421 0084 40 .byte 64
422 0085 40 .byte 64
423 0086 40 .byte 64
424 0087 41 .byte 65
425 0088 41 .byte 65
426 0089 41 .byte 65
427 008a 41 .byte 65
428 008b 41 .byte 65
429 008c 41 .byte 65
430 008d 42 .byte 66
431 008e 42 .byte 66
432 008f 42 .byte 66
433 0090 42 .byte 66
434 0091 42 .byte 66
435 0092 42 .byte 66
436 0093 42 .byte 66
437 0094 43 .byte 67
438 0095 43 .byte 67
439 0096 43 .byte 67
440 0097 43 .byte 67
441 0098 43 .byte 67
442 0099 43 .byte 67
443 009a 43 .byte 67
444 009b 44 .byte 68
445 009c 44 .byte 68
446 009d 44 .byte 68
447 009e 44 .byte 68
448 009f 44 .byte 68
449 00a0 44 .byte 68
450 00a1 44 .byte 68
451 00a2 44 .byte 68
452 00a3 45 .byte 69
453 00a4 45 .byte 69
454 00a5 45 .byte 69
455 00a6 45 .byte 69
456 00a7 45 .byte 69
457 00a8 45 .byte 69
458 00a9 45 .byte 69
459 00aa 45 .byte 69
460 00ab 45 .byte 69
461 00ac 46 .byte 70
462 00ad 46 .byte 70
463 00ae 46 .byte 70
464 00af 46 .byte 70
465 00b0 46 .byte 70
466 00b1 46 .byte 70
467 00b2 46 .byte 70
468 00b3 46 .byte 70
469 00b4 46 .byte 70
470 00b5 47 .byte 71
471 00b6 47 .byte 71
472 00b7 47 .byte 71
473 00b8 47 .byte 71
474 00b9 47 .byte 71
475 00ba 47 .byte 71
476 00bb 47 .byte 71
477 00bc 47 .byte 71
478 00bd 47 .byte 71
479 00be 47 .byte 71
480 00bf 47 .byte 71
481 00c0 48 .byte 72
482 00c1 48 .byte 72
483 00c2 48 .byte 72
484 00c3 48 .byte 72
485 00c4 48 .byte 72
486 00c5 48 .byte 72
487 00c6 48 .byte 72
488 00c7 48 .byte 72
489 00c8 48 .byte 72
490 00c9 48 .byte 72
491 00ca 48 .byte 72
492 00cb 49 .byte 73
493 00cc 49 .byte 73
494 00cd 49 .byte 73
495 00ce 49 .byte 73
496 00cf 49 .byte 73
497 00d0 49 .byte 73
498 00d1 49 .byte 73
499 00d2 49 .byte 73
500 00d3 49 .byte 73
501 00d4 49 .byte 73
502 00d5 49 .byte 73
503 00d6 49 .byte 73
504 00d7 49 .byte 73
505 00d8 49 .byte 73
506 00d9 4A .byte 74
507 00da 4A .byte 74
508 00db 4A .byte 74
509 00dc 4A .byte 74
510 00dd 4A .byte 74
511 00de 4A .byte 74
512 00df 4A .byte 74
513 00e0 4A .byte 74
514 00e1 4A .byte 74
515 00e2 4A .byte 74
516 00e3 4A .byte 74
517 00e4 4A .byte 74
518 00e5 4A .byte 74
519 00e6 4A .byte 74
520 00e7 4B .byte 75
521 00e8 4B .byte 75
522 00e9 4B .byte 75
523 00ea 4B .byte 75
524 00eb 4B .byte 75
525 00ec 4B .byte 75
526 00ed 4B .byte 75
527 00ee 4B .byte 75
528 00ef 4B .byte 75
529 00f0 4B .byte 75
530 00f1 4B .byte 75
531 00f2 4B .byte 75
532 00f3 4B .byte 75
533 00f4 4B .byte 75
534 00f5 4B .byte 75
535 00f6 4B .byte 75
536 00f7 4B .byte 75
537 00f8 4C .byte 76
538 00f9 4C .byte 76
539 00fa 4C .byte 76
540 00fb 4C .byte 76
541 00fc 4C .byte 76
542 00fd 4C .byte 76
543 00fe 4C .byte 76
544 00ff 4C .byte 76
545 0100 4C .byte 76
546 0101 4C .byte 76
547 0102 4C .byte 76
548 0103 4C .byte 76
549 0104 4C .byte 76
550 0105 4C .byte 76
551 0106 4C .byte 76
552 0107 4C .byte 76
553 0108 4C .byte 76
554 0109 4C .byte 76
555 010a 4C .byte 76
556 010b 4D .byte 77
557 010c 4D .byte 77
558 010d 4D .byte 77
559 010e 4D .byte 77
560 010f 4D .byte 77
561 0110 4D .byte 77
562 0111 4D .byte 77
563 0112 4D .byte 77
564 0113 4D .byte 77
565 0114 4D .byte 77
566 0115 4D .byte 77
567 0116 4D .byte 77
568 0117 4D .byte 77
569 0118 4D .byte 77
570 0119 4D .byte 77
571 011a 4D .byte 77
572 011b 4D .byte 77
573 011c 4D .byte 77
574 011d 4D .byte 77
575 011e 4D .byte 77
576 011f 4D .byte 77
577 0120 4D .byte 77
578 0121 4E .byte 78
579 0122 4E .byte 78
580 0123 4E .byte 78
581 0124 4E .byte 78
582 0125 4E .byte 78
583 0126 4E .byte 78
584 0127 4E .byte 78
585 0128 4E .byte 78
586 0129 4E .byte 78
587 012a 4E .byte 78
588 012b 4E .byte 78
589 012c 4E .byte 78
590 012d 4E .byte 78
591 012e 4E .byte 78
592 012f 4E .byte 78
593 0130 4E .byte 78
594 0131 4E .byte 78
595 0132 4E .byte 78
596 0133 4E .byte 78
597 0134 4E .byte 78
598 0135 4E .byte 78
599 0136 4E .byte 78
600 0137 4E .byte 78
601 0138 4E .byte 78
602 0139 4E .byte 78
603 013a 4E .byte 78
604 013b 4F .byte 79
605 013c 4F .byte 79
606 013d 4F .byte 79
607 013e 4F .byte 79
608 013f 4F .byte 79
609 0140 4F .byte 79
610 0141 4F .byte 79
611 0142 4F .byte 79
612 0143 4F .byte 79
613 0144 4F .byte 79
614 0145 4F .byte 79
615 0146 4F .byte 79
616 0147 4F .byte 79
617 0148 4F .byte 79
618 0149 4F .byte 79
619 014a 4F .byte 79
620 014b 4F .byte 79
621 014c 4F .byte 79
622 014d 4F .byte 79
623 014e 4F .byte 79
624 014f 4F .byte 79
625 0150 4F .byte 79
626 0151 4F .byte 79
627 0152 4F .byte 79
628 0153 4F .byte 79
629 0154 4F .byte 79
630 0155 4F .byte 79
631 0156 4F .byte 79
632 0157 4F .byte 79
633 0158 4F .byte 79
634 0159 4F .byte 79
635 .global pgm_sinus_i
638 pgm_sinus_i:
639 015a 0000 .word 0
640 015c 1200 .word 18
641 015e 2400 .word 36
642 0160 3600 .word 54
643 0162 4700 .word 71
644 0164 5900 .word 89
645 0166 6B00 .word 107
646 0168 7D00 .word 125
647 016a 8F00 .word 143
648 016c A000 .word 160
649 016e B200 .word 178
650 0170 C300 .word 195
651 0172 D500 .word 213
652 0174 E600 .word 230
653 0176 F800 .word 248
654 0178 0901 .word 265
655 017a 1A01 .word 282
656 017c 2B01 .word 299
657 017e 3C01 .word 316
658 0180 4D01 .word 333
659 0182 5E01 .word 350
660 0184 6F01 .word 367
661 0186 8001 .word 384
662 0188 9001 .word 400
663 018a A001 .word 416
664 018c B101 .word 433
665 018e C101 .word 449
666 0190 D101 .word 465
667 0192 E101 .word 481
668 0194 F001 .word 496
669 0196 0002 .word 512
670 0198 0F02 .word 527
671 019a 1F02 .word 543
672 019c 2E02 .word 558
673 019e 3D02 .word 573
674 01a0 4B02 .word 587
675 01a2 5A02 .word 602
676 01a4 6802 .word 616
677 01a6 7602 .word 630
678 01a8 8402 .word 644
679 01aa 9202 .word 658
680 01ac A002 .word 672
681 01ae AD02 .word 685
682 01b0 BA02 .word 698
683 01b2 C702 .word 711
684 01b4 D402 .word 724
685 01b6 E102 .word 737
686 01b8 ED02 .word 749
687 01ba F902 .word 761
688 01bc 0503 .word 773
689 01be 1003 .word 784
690 01c0 1C03 .word 796
691 01c2 2703 .word 807
692 01c4 3203 .word 818
693 01c6 3C03 .word 828
694 01c8 4703 .word 839
695 01ca 5103 .word 849
696 01cc 5B03 .word 859
697 01ce 6403 .word 868
698 01d0 6E03 .word 878
699 01d2 7703 .word 887
700 01d4 8003 .word 896
701 01d6 8803 .word 904
702 01d8 9003 .word 912
703 01da 9803 .word 920
704 01dc A003 .word 928
705 01de A703 .word 935
706 01e0 AF03 .word 943
707 01e2 B503 .word 949
708 01e4 BC03 .word 956
709 01e6 C203 .word 962
710 01e8 C803 .word 968
711 01ea CE03 .word 974
712 01ec D303 .word 979
713 01ee D803 .word 984
714 01f0 DD03 .word 989
715 01f2 E203 .word 994
716 01f4 E603 .word 998
717 01f6 EA03 .word 1002
718 01f8 ED03 .word 1005
719 01fa F003 .word 1008
720 01fc F303 .word 1011
721 01fe F603 .word 1014
722 0200 F803 .word 1016
723 0202 FA03 .word 1018
724 0204 FC03 .word 1020
725 0206 FE03 .word 1022
726 0208 FF03 .word 1023
727 020a FF03 .word 1023
728 020c 0004 .word 1024
729 020e 0004 .word 1024
730 /* File "mymath.c": code 223 = 0x00df ( 221), prologues 0, epilogues 2 */
DEFINED SYMBOLS
*ABS*:00000000 mymath.c
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccW8dgjC.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccW8dgjC.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccW8dgjC.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccW8dgjC.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccW8dgjC.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccW8dgjC.s:13 .text:00000000 atan2_i
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccW8dgjC.s:288 .progmem.data:00000000 pgm_atan
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccW8dgjC.s:184 .text:00000118 sin_i
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccW8dgjC.s:638 .progmem.data:0000015a pgm_sinus_i
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccW8dgjC.s:270 .text:0000019e cos_i
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__divmodhi4
/branches/MicroMag3_Nick666/Festkomma/V0.68d/old_macros.h
0,0 → 1,47
/*
For backwards compatibility only.
Ingo Busker ingo@mikrocontroller.com
*/
 
#ifndef cbi
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#endif
 
#ifndef sbi
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
#endif
 
#ifndef inb
#define inb(sfr) _SFR_BYTE(sfr)
#endif
 
#ifndef outb
#define outb(sfr, val) (_SFR_BYTE(sfr) = (val))
#endif
 
#ifndef inw
#define inw(sfr) _SFR_WORD(sfr)
#endif
 
#ifndef outw
#define outw(sfr, val) (_SFR_WORD(sfr) = (val))
#endif
 
#ifndef outp
#define outp(val, sfr) outb(sfr, val)
#endif
 
#ifndef inp
#define inp(sfr) inb(sfr)
#endif
 
#ifndef BV
#define BV(bit) _BV(bit)
#endif
 
 
#ifndef PRG_RDB
#define PRG_RDB pgm_read_byte
#endif
 
/branches/MicroMag3_Nick666/Festkomma/V0.68d/printf_P.c
0,0 → 1,480
// Die Funktion printf_P() unterliegt ihrer eigenen Lizenz und ist nicht von der Lizenz für den MikroKopter-Teil unterstellt
 
/*
Copyright (C) 1993 Free Software Foundation
 
This file is part of the GNU IO Library. This library is free
software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option)
any later version.
 
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
 
You should have received a copy of the GNU General Public License
along with this library; see the file COPYING. If not, write to the Free
Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
As a special exception, if you link this library with files
compiled with a GNU compiler to produce an executable, this does not cause
the resulting executable to be covered by the GNU General Public License.
This exception does not however invalidate any other reasons why
the executable file might be covered by the GNU General Public License. */
 
/*
* Copyright (c) 1990 Regents of the University of California.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. [rescinded 22 July 1999]
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
 
/******************************************************************************
This file is a patched version of printf called _printf_P
It is made to work with avr-gcc for Atmel AVR MCUs.
There are some differences from standard printf:
1. There is no floating point support (with fp the code is about 8K!)
2. Return type is void
3. Format string must be in program memory (by using macro printf this is
done automaticaly)
4. %n is not implemented (just remove the comment around it if you need it)
5. If LIGHTPRINTF is defined, the code is about 550 bytes smaller and the
folowing specifiers are disabled :
space # * . - + p s o O
6. A function void uart_sendchar(char c) is used for output. The UART must
be initialized before using printf.
 
Alexander Popov
sasho@vip.orbitel.bg
******************************************************************************/
 
/*
* Actual printf innards.
*
* This code is large and complicated...
*/
 
#include <string.h>
#ifdef __STDC__
#include <stdarg.h>
#else
#include <varargs.h>
#endif
 
#include "main.h"
 
 
//#define LIGHTPRINTF
char PrintZiel;
 
 
char Putchar(char zeichen)
{
if(PrintZiel == OUT_LCD) { DisplayBuff[DispPtr++] = zeichen; return(1);}
else return(uart_putchar(zeichen));
}
 
 
void PRINT(const char * ptr, unsigned int len)
{
for(;len;len--) Putchar(*ptr++);
}
void PRINTP(const char * ptr, unsigned int len)
{
for(;len;len--) Putchar(pgm_read_byte(ptr++));
}
 
void PAD_SP(signed char howmany)
{
for(;howmany>0;howmany--) Putchar(' ');
}
 
void PAD_0(signed char howmany)
{
for(;howmany>0;howmany--) Putchar('0');
}
 
#define BUF 40
 
/*
* Macros for converting digits to letters and vice versa
*/
#define to_digit(c) ((c) - '0')
#define is_digit(c) ((c)<='9' && (c)>='0')
#define to_char(n) ((n) + '0')
 
/*
* Flags used during conversion.
*/
#define LONGINT 0x01 /* long integer */
#define LONGDBL 0x02 /* long double; unimplemented */
#define SHORTINT 0x04 /* short integer */
#define ALT 0x08 /* alternate form */
#define LADJUST 0x10 /* left adjustment */
#define ZEROPAD 0x20 /* zero (as opposed to blank) pad */
#define HEXPREFIX 0x40 /* add 0x or 0X prefix */
 
void _printf_P (char ziel,char const *fmt0, ...) /* Works with string from FLASH */
{
va_list ap;
register const char *fmt; /* format string */
register char ch; /* character from fmt */
register int n; /* handy integer (short term usage) */
register char *cp; /* handy char pointer (short term usage) */
const char *fmark; /* for remembering a place in fmt */
register unsigned char flags; /* flags as above */
signed char width; /* width from format (%8d), or 0 */
signed char prec; /* precision from format (%.3d), or -1 */
char sign; /* sign prefix (' ', '+', '-', or \0) */
unsigned long _ulong=0; /* integer arguments %[diouxX] */
#define OCT 8
#define DEC 10
#define HEX 16
unsigned char base; /* base for [diouxX] conversion */
signed char dprec; /* a copy of prec if [diouxX], 0 otherwise */
signed char dpad; /* extra 0 padding needed for integers */
signed char fieldsz; /* field size expanded by sign, dpad etc */
/* The initialization of 'size' is to suppress a warning that
'size' might be used unitialized. It seems gcc can't
quite grok this spaghetti code ... */
signed char size = 0; /* size of converted field or string */
char buf[BUF]; /* space for %c, %[diouxX], %[eEfgG] */
char ox[2]; /* space for 0x hex-prefix */
 
PrintZiel = ziel; // bestimmt, LCD oder UART
va_start(ap, fmt0);
fmt = fmt0;
 
/*
* Scan the format for conversions (`%' character).
*/
for (;;) {
for (fmark = fmt; (ch = pgm_read_byte(fmt)) != '\0' && ch != '%'; fmt++)
/* void */;
if ((n = fmt - fmark) != 0) {
PRINTP(fmark, n);
}
if (ch == '\0')
goto done;
fmt++; /* skip over '%' */
 
flags = 0;
dprec = 0;
width = 0;
prec = -1;
sign = '\0';
 
rflag: ch = PRG_RDB(fmt++);
reswitch:
#ifdef LIGHTPRINTF
if (ch=='o' || ch=='u' || (ch|0x20)=='x') {
#else
if (ch=='u' || (ch|0x20)=='x') {
#endif
if (flags&LONGINT) {
_ulong=va_arg(ap, unsigned long);
} else {
register unsigned int _d;
_d=va_arg(ap, unsigned int);
_ulong = flags&SHORTINT ? (unsigned long)(unsigned short)_d : (unsigned long)_d;
}
}
#ifndef LIGHTPRINTF
if(ch==' ') {
/*
* ``If the space and + flags both appear, the space
* flag will be ignored.''
* -- ANSI X3J11
*/
if (!sign)
sign = ' ';
goto rflag;
} else if (ch=='#') {
flags |= ALT;
goto rflag;
} else if (ch=='*'||ch=='-') {
if (ch=='*') {
/*
* ``A negative field width argument is taken as a
* - flag followed by a positive field width.''
* -- ANSI X3J11
* They don't exclude field widths read from args.
*/
if ((width = va_arg(ap, int)) >= 0)
goto rflag;
width = -width;
}
flags |= LADJUST;
flags &= ~ZEROPAD; /* '-' disables '0' */
goto rflag;
} else if (ch=='+') {
sign = '+';
goto rflag;
} else if (ch=='.') {
if ((ch = PRG_RDB(fmt++)) == '*') {
n = va_arg(ap, int);
prec = n < 0 ? -1 : n;
goto rflag;
}
n = 0;
while (is_digit(ch)) {
n = n*10 + to_digit(ch);
ch = PRG_RDB(fmt++);
}
prec = n < 0 ? -1 : n;
goto reswitch;
} else
#endif /* LIGHTPRINTF */
if (ch=='0') {
/*
* ``Note that 0 is taken as a flag, not as the
* beginning of a field width.''
* -- ANSI X3J11
*/
if (!(flags & LADJUST))
flags |= ZEROPAD; /* '-' disables '0' */
goto rflag;
} else if (ch>='1' && ch<='9') {
n = 0;
do {
n = 10 * n + to_digit(ch);
ch = PRG_RDB(fmt++);
} while (is_digit(ch));
width = n;
goto reswitch;
} else if (ch=='h') {
flags |= SHORTINT;
goto rflag;
} else if (ch=='l') {
flags |= LONGINT;
goto rflag;
} else if (ch=='c') {
*(cp = buf) = va_arg(ap, int);
size = 1;
sign = '\0';
} else if (ch=='D'||ch=='d'||ch=='i') {
if(ch=='D')
flags |= LONGINT;
if (flags&LONGINT) {
_ulong=va_arg(ap, long);
} else {
register int _d;
_d=va_arg(ap, int);
_ulong = flags&SHORTINT ? (long)(short)_d : (long)_d;
}
if ((long)_ulong < 0) {
_ulong = -_ulong;
sign = '-';
}
base = DEC;
goto number;
} else
/*
if (ch=='n') {
if (flags & LONGINT)
*va_arg(ap, long *) = ret;
else if (flags & SHORTINT)
*va_arg(ap, short *) = ret;
else
*va_arg(ap, int *) = ret;
continue; // no output
} else
*/
#ifndef LIGHTPRINTF
if (ch=='O'||ch=='o') {
if (ch=='O')
flags |= LONGINT;
base = OCT;
goto nosign;
} else if (ch=='p') {
/*
* ``The argument shall be a pointer to void. The
* value of the pointer is converted to a sequence
* of printable characters, in an implementation-
* defined manner.''
* -- ANSI X3J11
*/
/* NOSTRICT */
_ulong = (unsigned int)va_arg(ap, void *);
base = HEX;
flags |= HEXPREFIX;
ch = 'x';
goto nosign;
} else if (ch=='s') { // print a string from RAM
if ((cp = va_arg(ap, char *)) == NULL) {
cp=buf;
cp[0] = '(';
cp[1] = 'n';
cp[2] = 'u';
cp[4] = cp[3] = 'l';
cp[5] = ')';
cp[6] = '\0';
}
if (prec >= 0) {
/*
* can't use strlen; can only look for the
* NUL in the first `prec' characters, and
* strlen() will go further.
*/
char *p = (char*)memchr(cp, 0, prec);
 
if (p != NULL) {
size = p - cp;
if (size > prec)
size = prec;
} else
size = prec;
} else
size = strlen(cp);
sign = '\0';
} else
#endif /* LIGHTPRINTF */
if(ch=='U'||ch=='u') {
if (ch=='U')
flags |= LONGINT;
base = DEC;
goto nosign;
} else if (ch=='X'||ch=='x') {
base = HEX;
/* leading 0x/X only if non-zero */
if (flags & ALT && _ulong != 0)
flags |= HEXPREFIX;
 
/* unsigned conversions */
nosign: sign = '\0';
/*
* ``... diouXx conversions ... if a precision is
* specified, the 0 flag will be ignored.''
* -- ANSI X3J11
*/
number: if ((dprec = prec) >= 0)
flags &= ~ZEROPAD;
 
/*
* ``The result of converting a zero value with an
* explicit precision of zero is no characters.''
* -- ANSI X3J11
*/
cp = buf + BUF;
if (_ulong != 0 || prec != 0) {
register unsigned char _d,notlastdigit;
do {
notlastdigit=(_ulong>=base);
_d = _ulong % base;
 
if (_d<10) {
_d+='0';
} else {
_d+='a'-10;
if (ch=='X') _d&=~0x20;
}
*--cp=_d;
_ulong /= base;
} while (notlastdigit);
#ifndef LIGHTPRINTF
// handle octal leading 0
if (base==OCT && flags & ALT && *cp != '0')
*--cp = '0';
#endif
}
 
size = buf + BUF - cp;
} else { //default
/* "%?" prints ?, unless ? is NUL */
if (ch == '\0')
goto done;
/* pretend it was %c with argument ch */
cp = buf;
*cp = ch;
size = 1;
sign = '\0';
}
 
/*
* All reasonable formats wind up here. At this point,
* `cp' points to a string which (if not flags&LADJUST)
* should be padded out to `width' places. If
* flags&ZEROPAD, it should first be prefixed by any
* sign or other prefix; otherwise, it should be blank
* padded before the prefix is emitted. After any
* left-hand padding and prefixing, emit zeroes
* required by a decimal [diouxX] precision, then print
* the string proper, then emit zeroes required by any
* leftover floating precision; finally, if LADJUST,
* pad with blanks.
*/
 
/*
* compute actual size, so we know how much to pad.
*/
fieldsz = size;
 
dpad = dprec - size;
if (dpad < 0)
dpad = 0;
 
if (sign)
fieldsz++;
else if (flags & HEXPREFIX)
fieldsz += 2;
fieldsz += dpad;
 
/* right-adjusting blank padding */
if ((flags & (LADJUST|ZEROPAD)) == 0)
PAD_SP(width - fieldsz);
 
/* prefix */
if (sign) {
PRINT(&sign, 1);
} else if (flags & HEXPREFIX) {
ox[0] = '0';
ox[1] = ch;
PRINT(ox, 2);
}
 
/* right-adjusting zero padding */
if ((flags & (LADJUST|ZEROPAD)) == ZEROPAD)
PAD_0(width - fieldsz);
 
/* leading zeroes from decimal precision */
PAD_0(dpad);
 
/* the string or number proper */
PRINT(cp, size);
 
/* left-adjusting padding (always blank) */
if (flags & LADJUST)
PAD_SP(width - fieldsz);
}
done:
va_end(ap);
}
/branches/MicroMag3_Nick666/Festkomma/V0.68d/printf_P.d
0,0 → 1,3
printf_P.o printf_P.d : printf_P.c main.h old_macros.h _Settings.h printf_P.h \
timer0.h uart.h analog.h twimaster.h menu.h rc.h fc.h gps.h compass.h \
mymath.h
/branches/MicroMag3_Nick666/Festkomma/V0.68d/printf_P.h
0,0 → 1,19
#ifndef _PRINTF_P_H_
#define _PRINTF_P_H_
 
#include <avr/pgmspace.h>
 
#define OUT_V24 0
#define OUT_LCD 1
 
 
void _printf_P (char, char const *fmt0, ...);
extern char PrintZiel;
 
 
#define printf_P(format, args...) _printf_P(OUT_V24,format , ## args)
#define printf(format, args...) _printf_P(OUT_V24,PSTR(format) , ## args)
#define LCD_printfxy(x,y,format, args...) { DispPtr = y * 20 + x; _printf_P(OUT_LCD,PSTR(format) , ## args);}
#define LCD_printf(format, args...) { _printf_P(OUT_LCD,PSTR(format) , ## args);}
 
#endif
/branches/MicroMag3_Nick666/Festkomma/V0.68d/printf_P.lst
0,0 → 1,884
1 .file "printf_P.c"
2 .arch atmega644
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
10 .text
11 .global Putchar
13 Putchar:
14 /* prologue: frame size=0 */
15 /* prologue end (size=0) */
16 0000 982F mov r25,r24
17 0002 8091 0000 lds r24,PrintZiel
18 0006 8130 cpi r24,lo8(1)
19 0008 01F4 brne .L2
20 000a 8091 0000 lds r24,DispPtr
21 000e E82F mov r30,r24
22 0010 FF27 clr r31
23 0012 E050 subi r30,lo8(-(DisplayBuff))
24 0014 F040 sbci r31,hi8(-(DisplayBuff))
25 0016 9083 st Z,r25
26 0018 8F5F subi r24,lo8(-(1))
27 001a 8093 0000 sts DispPtr,r24
28 001e 21E0 ldi r18,lo8(1)
29 0020 30E0 ldi r19,hi8(1)
30 0022 00C0 rjmp .L4
31 .L2:
32 0024 892F mov r24,r25
33 0026 0E94 0000 call uart_putchar
34 002a 282F mov r18,r24
35 002c 3327 clr r19
36 .L4:
37 002e C901 movw r24,r18
38 /* epilogue: frame size=0 */
39 0030 0895 ret
40 /* epilogue end (size=1) */
41 /* function Putchar size 25 (24) */
43 .global PAD_0
45 PAD_0:
46 /* prologue: frame size=0 */
47 0032 1F93 push r17
48 /* prologue end (size=1) */
49 0034 182F mov r17,r24
50 0036 00C0 rjmp .L7
51 .L8:
52 0038 80E3 ldi r24,lo8(48)
53 003a 0E94 0000 call Putchar
54 003e 1150 subi r17,lo8(-(-1))
55 .L7:
56 0040 1116 cp __zero_reg__,r17
57 0042 04F0 brlt .L8
58 /* epilogue: frame size=0 */
59 0044 1F91 pop r17
60 0046 0895 ret
61 /* epilogue end (size=2) */
62 /* function PAD_0 size 11 (8) */
64 .global PAD_SP
66 PAD_SP:
67 /* prologue: frame size=0 */
68 0048 1F93 push r17
69 /* prologue end (size=1) */
70 004a 182F mov r17,r24
71 004c 00C0 rjmp .L12
72 .L13:
73 004e 80E2 ldi r24,lo8(32)
74 0050 0E94 0000 call Putchar
75 0054 1150 subi r17,lo8(-(-1))
76 .L12:
77 0056 1116 cp __zero_reg__,r17
78 0058 04F0 brlt .L13
79 /* epilogue: frame size=0 */
80 005a 1F91 pop r17
81 005c 0895 ret
82 /* epilogue end (size=2) */
83 /* function PAD_SP size 11 (8) */
85 .global PRINTP
87 PRINTP:
88 /* prologue: frame size=0 */
89 005e 0F93 push r16
90 0060 1F93 push r17
91 0062 CF93 push r28
92 0064 DF93 push r29
93 /* prologue end (size=4) */
94 0066 8C01 movw r16,r24
95 0068 EB01 movw r28,r22
96 006a 00C0 rjmp .L17
97 .L18:
98 006c F801 movw r30,r16
99 006e 0F5F subi r16,lo8(-(1))
100 0070 1F4F sbci r17,hi8(-(1))
101 /* #APP */
102 0072 E491 lpm r30, Z
103
104 /* #NOAPP */
105 0074 8E2F mov r24,r30
106 0076 0E94 0000 call Putchar
107 007a 2197 sbiw r28,1
108 .L17:
109 007c 2097 sbiw r28,0
110 007e 01F4 brne .L18
111 /* epilogue: frame size=0 */
112 0080 DF91 pop r29
113 0082 CF91 pop r28
114 0084 1F91 pop r17
115 0086 0F91 pop r16
116 0088 0895 ret
117 /* epilogue end (size=5) */
118 /* function PRINTP size 25 (16) */
120 .global PRINT
122 PRINT:
123 /* prologue: frame size=0 */
124 008a 0F93 push r16
125 008c 1F93 push r17
126 008e CF93 push r28
127 0090 DF93 push r29
128 /* prologue end (size=4) */
129 0092 8C01 movw r16,r24
130 0094 EB01 movw r28,r22
131 0096 00C0 rjmp .L22
132 .L23:
133 0098 F801 movw r30,r16
134 009a 8191 ld r24,Z+
135 009c 8F01 movw r16,r30
136 009e 0E94 0000 call Putchar
137 00a2 2197 sbiw r28,1
138 .L22:
139 00a4 2097 sbiw r28,0
140 00a6 01F4 brne .L23
141 /* epilogue: frame size=0 */
142 00a8 DF91 pop r29
143 00aa CF91 pop r28
144 00ac 1F91 pop r17
145 00ae 0F91 pop r16
146 00b0 0895 ret
147 /* epilogue end (size=5) */
148 /* function PRINT size 20 (11) */
150 .global _printf_P
152 _printf_P:
153 /* prologue: frame size=51 */
154 00b2 A3E3 ldi r26,lo8(51)
155 00b4 B0E0 ldi r27,hi8(51)
156 00b6 E0E0 ldi r30,lo8(gs(1f))
157 00b8 F0E0 ldi r31,hi8(gs(1f))
158 00ba 0C94 0000 jmp __prologue_saves__+0
159 1:
160 /* prologue end (size=6) */
161 00be 2996 adiw r28,72-63
162 00c0 8FAD ldd r24,Y+63
163 00c2 2997 sbiw r28,72-63
164 00c4 8093 0000 sts PrintZiel,r24
165 00c8 CE01 movw r24,r28
166 00ca 855B subi r24,lo8(-(75))
167 00cc 9F4F sbci r25,hi8(-(75))
168 00ce 9D83 std Y+5,r25
169 00d0 8C83 std Y+4,r24
170 00d2 2B96 adiw r28,73-62
171 00d4 8EAD ldd r24,Y+62
172 00d6 9FAD ldd r25,Y+63
173 00d8 2B97 sbiw r28,73-62
174 00da 9FA7 std Y+47,r25
175 00dc 8EA7 std Y+46,r24
176 00de 2224 clr r2
177 00e0 3324 clr r3
178 00e2 2101 movw r4,r2
179 00e4 00C0 rjmp .L27
180 .L28:
181 00e6 1301 movw r2,r6
182 00e8 2401 movw r4,r8
183 .L27:
184 00ea 0EA5 ldd r16,Y+46
185 00ec 1FA5 ldd r17,Y+47
186 00ee 00C0 rjmp .L29
187 .L30:
188 00f0 0F5F subi r16,lo8(-(1))
189 00f2 1F4F sbci r17,hi8(-(1))
190 .L29:
191 00f4 F801 movw r30,r16
192 /* #APP */
193 00f6 F490 lpm r15, Z
194
195 /* #NOAPP */
196 00f8 FF20 tst r15
197 00fa 01F0 breq .L31
198 00fc F5E2 ldi r31,lo8(37)
199 00fe FF16 cp r15,r31
200 0100 01F4 brne .L30
201 .L31:
202 0102 B801 movw r22,r16
203 0104 8EA5 ldd r24,Y+46
204 0106 9FA5 ldd r25,Y+47
205 0108 681B sub r22,r24
206 010a 790B sbc r23,r25
207 010c 01F0 breq .L33
208 010e 0E94 0000 call PRINTP
209 .L33:
210 0112 FF20 tst r15
211 0114 01F4 brne .+2
212 0116 00C0 rjmp .L152
213 0118 0F5F subi r16,lo8(-(1))
214 011a 1F4F sbci r17,hi8(-(1))
215 011c 1FA7 std Y+47,r17
216 011e 0EA7 std Y+46,r16
217 0120 1982 std Y+1,__zero_reg__
218 0122 AC81 ldd r26,Y+4
219 0124 BD81 ldd r27,Y+5
220 0126 1BAA std Y+51,__zero_reg__
221 0128 1AAA std Y+50,__zero_reg__
222 012a 9FEF ldi r25,lo8(-1)
223 012c 99AB std Y+49,r25
224 .L175:
225 012e EEA5 ldd r30,Y+46
226 0130 FFA5 ldd r31,Y+47
227 0132 CF01 movw r24,r30
228 0134 0196 adiw r24,1
229 0136 9FA7 std Y+47,r25
230 0138 8EA7 std Y+46,r24
231 /* #APP */
232 013a B490 lpm r11, Z
233
234 /* #NOAPP */
235 .L176:
236 013c 95E7 ldi r25,lo8(117)
237 013e B916 cp r11,r25
238 0140 01F0 breq .L39
239 0142 8B2D mov r24,r11
240 0144 8062 ori r24,lo8(32)
241 0146 8837 cpi r24,lo8(120)
242 0148 01F4 brne .L41
243 .L39:
244 014a EBA9 ldd r30,Y+51
245 014c E0FF sbrs r30,0
246 014e 00C0 rjmp .L42
247 0150 2D90 ld r2,X+
248 0152 3D90 ld r3,X+
249 0154 4D90 ld r4,X+
250 0156 5C90 ld r5,X
251 0158 1397 sbiw r26,3
252 015a 1496 adiw r26,4
253 015c 00C0 rjmp .L41
254 .L42:
255 015e 8D91 ld r24,X+
256 0160 9C91 ld r25,X
257 0162 1197 sbiw r26,1
258 0164 1C01 movw r2,r24
259 0166 4424 clr r4
260 0168 5524 clr r5
261 016a 1296 adiw r26,2
262 .L41:
263 016c F0E2 ldi r31,lo8(32)
264 016e BF16 cp r11,r31
265 0170 01F4 brne .L44
266 0172 8981 ldd r24,Y+1
267 0174 8823 tst r24
268 0176 01F4 brne .L175
269 0178 00C0 rjmp .L156
270 .L44:
271 017a 83E2 ldi r24,lo8(35)
272 017c B816 cp r11,r24
273 017e 01F4 brne .+2
274 0180 00C0 rjmp .L155
275 0182 9AE2 ldi r25,lo8(42)
276 0184 B916 cp r11,r25
277 0186 01F0 breq .L49
278 0188 EDE2 ldi r30,lo8(45)
279 018a BE16 cp r11,r30
280 018c 01F4 brne .L164
281 018e 00C0 rjmp .L51
282 .L49:
283 0190 FD01 movw r30,r26
284 0192 1296 adiw r26,2
285 0194 E081 ld r30,Z
286 0196 EAAB std Y+50,r30
287 0198 E7FF sbrs r30,7
288 019a 00C0 rjmp .L175
289 019c E195 neg r30
290 019e EAAB std Y+50,r30
291 .L51:
292 01a0 FBA9 ldd r31,Y+51
293 01a2 F061 ori r31,lo8(16)
294 01a4 FF7D andi r31,lo8(-33)
295 01a6 00C0 rjmp .L169
296 .L164:
297 01a8 8BE2 ldi r24,lo8(43)
298 01aa B816 cp r11,r24
299 01ac 01F4 brne .+2
300 01ae 00C0 rjmp .L156
301 01b0 9EE2 ldi r25,lo8(46)
302 01b2 B916 cp r11,r25
303 01b4 01F4 brne .L56
304 01b6 2EA5 ldd r18,Y+46
305 01b8 3FA5 ldd r19,Y+47
306 01ba 2F5F subi r18,lo8(-(1))
307 01bc 3F4F sbci r19,hi8(-(1))
308 01be EEA5 ldd r30,Y+46
309 01c0 FFA5 ldd r31,Y+47
310 /* #APP */
311 01c2 8491 lpm r24, Z
312
313 /* #NOAPP */
314 01c4 8A32 cpi r24,lo8(42)
315 01c6 01F0 breq .L58
316 01c8 B82E mov r11,r24
317 01ca 20E0 ldi r18,lo8(0)
318 01cc 30E0 ldi r19,hi8(0)
319 01ce 00C0 rjmp .L60
320 .L58:
321 01d0 FD01 movw r30,r26
322 01d2 1296 adiw r26,2
323 01d4 4081 ld r20,Z
324 01d6 5181 ldd r21,Z+1
325 01d8 57FF sbrs r21,7
326 01da 00C0 rjmp .L61
327 01dc 4FEF ldi r20,lo8(-1)
328 01de 5FEF ldi r21,hi8(-1)
329 .L61:
330 01e0 49AB std Y+49,r20
331 01e2 3FA7 std Y+47,r19
332 01e4 2EA7 std Y+46,r18
333 01e6 00C0 rjmp .L175
334 .L62:
335 01e8 C901 movw r24,r18
336 01ea 03E0 ldi r16,3
337 01ec 880F 1: lsl r24
338 01ee 991F rol r25
339 01f0 0A95 dec r16
340 01f2 01F4 brne 1b
341 01f4 220F lsl r18
342 01f6 331F rol r19
343 01f8 280F add r18,r24
344 01fa 391F adc r19,r25
345 01fc 2B0D add r18,r11
346 01fe 311D adc r19,__zero_reg__
347 0200 2053 subi r18,lo8(-(-48))
348 0202 3040 sbci r19,hi8(-(-48))
349 /* #APP */
350 0204 B490 lpm r11, Z
351
352 /* #NOAPP */
353 .L60:
354 0206 3196 adiw r30,1
355 0208 8B2D mov r24,r11
356 020a 8053 subi r24,lo8(-(-48))
357 020c 8A30 cpi r24,lo8(10)
358 020e 00F0 brlo .L62
359 0210 FFA7 std Y+47,r31
360 0212 EEA7 std Y+46,r30
361 0214 A901 movw r20,r18
362 0216 37FF sbrs r19,7
363 0218 00C0 rjmp .L64
364 021a 4FEF ldi r20,lo8(-1)
365 021c 5FEF ldi r21,hi8(-1)
366 .L64:
367 021e 49AB std Y+49,r20
368 0220 00C0 rjmp .L176
369 .L56:
370 0222 F0E3 ldi r31,lo8(48)
371 0224 BF16 cp r11,r31
372 0226 01F4 brne .L65
373 0228 8BA9 ldd r24,Y+51
374 022a 84FD sbrc r24,4
375 022c 00C0 rjmp .L175
376 022e 8062 ori r24,lo8(32)
377 0230 8BAB std Y+51,r24
378 0232 00C0 rjmp .L175
379 .L65:
380 0234 8B2D mov r24,r11
381 0236 8153 subi r24,lo8(-(-49))
382 0238 8930 cpi r24,lo8(9)
383 023a 00F4 brsh .L68
384 023c 20E0 ldi r18,lo8(0)
385 023e 30E0 ldi r19,hi8(0)
386 .L70:
387 0240 C901 movw r24,r18
388 0242 F3E0 ldi r31,3
389 0244 880F 1: lsl r24
390 0246 991F rol r25
391 0248 FA95 dec r31
392 024a 01F4 brne 1b
393 024c 220F lsl r18
394 024e 331F rol r19
395 0250 280F add r18,r24
396 0252 391F adc r19,r25
397 0254 2B0D add r18,r11
398 0256 311D adc r19,__zero_reg__
399 0258 2053 subi r18,lo8(-(-48))
400 025a 3040 sbci r19,hi8(-(-48))
401 025c EEA5 ldd r30,Y+46
402 025e FFA5 ldd r31,Y+47
403 0260 CF01 movw r24,r30
404 0262 0196 adiw r24,1
405 0264 9FA7 std Y+47,r25
406 0266 8EA7 std Y+46,r24
407 /* #APP */
408 0268 B490 lpm r11, Z
409
410 /* #NOAPP */
411 026a 8B2D mov r24,r11
412 026c 8053 subi r24,lo8(-(-48))
413 026e 8A30 cpi r24,lo8(10)
414 0270 00F0 brlo .L70
415 0272 2AAB std Y+50,r18
416 0274 00C0 rjmp .L176
417 .L68:
418 0276 98E6 ldi r25,lo8(104)
419 0278 B916 cp r11,r25
420 027a 01F4 brne .L72
421 027c EBA9 ldd r30,Y+51
422 027e E460 ori r30,lo8(4)
423 0280 EBAB std Y+51,r30
424 0282 00C0 rjmp .L175
425 .L156:
426 0284 B982 std Y+1,r11
427 0286 00C0 rjmp .L175
428 .L155:
429 0288 FBA9 ldd r31,Y+51
430 028a F860 ori r31,lo8(8)
431 .L169:
432 028c FBAB std Y+51,r31
433 028e 00C0 rjmp .L175
434 .L72:
435 0290 8CE6 ldi r24,lo8(108)
436 0292 B816 cp r11,r24
437 0294 01F4 brne .L74
438 0296 9BA9 ldd r25,Y+51
439 0298 9160 ori r25,lo8(1)
440 029a 9BAB std Y+51,r25
441 029c 00C0 rjmp .L175
442 .L74:
443 029e BD83 std Y+5,r27
444 02a0 AC83 std Y+4,r26
445 02a2 E3E6 ldi r30,lo8(99)
446 02a4 BE16 cp r11,r30
447 02a6 01F4 brne .L76
448 02a8 1296 adiw r26,2
449 02aa BD83 std Y+5,r27
450 02ac AC83 std Y+4,r26
451 02ae 1297 sbiw r26,2
452 02b0 8C91 ld r24,X
453 02b2 8E83 std Y+6,r24
454 02b4 00C0 rjmp .L174
455 .L76:
456 02b6 F4E4 ldi r31,lo8(68)
457 02b8 BF16 cp r11,r31
458 02ba 01F0 breq .L79
459 02bc 84E6 ldi r24,lo8(100)
460 02be B816 cp r11,r24
461 02c0 01F0 breq .L81
462 02c2 99E6 ldi r25,lo8(105)
463 02c4 B916 cp r11,r25
464 02c6 01F4 brne .L166
465 02c8 00C0 rjmp .L81
466 .L79:
467 02ca EBA9 ldd r30,Y+51
468 02cc E160 ori r30,lo8(1)
469 02ce EBAB std Y+51,r30
470 .L81:
471 02d0 FBA9 ldd r31,Y+51
472 02d2 F0FF sbrs r31,0
473 02d4 00C0 rjmp .L84
474 02d6 1496 adiw r26,4
475 02d8 BD83 std Y+5,r27
476 02da AC83 std Y+4,r26
477 02dc 5E90 ld r5,-X
478 02de 4E90 ld r4,-X
479 02e0 3E90 ld r3,-X
480 02e2 2E90 ld r2,-X
481 02e4 00C0 rjmp .L86
482 .L84:
483 02e6 1296 adiw r26,2
484 02e8 BD83 std Y+5,r27
485 02ea AC83 std Y+4,r26
486 02ec 9E91 ld r25,-X
487 02ee 8E91 ld r24,-X
488 02f0 1C01 movw r2,r24
489 02f2 4424 clr r4
490 02f4 37FC sbrc r3,7
491 02f6 4094 com r4
492 02f8 542C mov r5,r4
493 .L86:
494 02fa 57FC sbrc r5,7
495 02fc 00C0 rjmp .L87
496 02fe 8AE0 ldi r24,lo8(10)
497 0300 88AB std Y+48,r24
498 0302 00C0 rjmp .L89
499 .L87:
500 0304 5094 com r5
501 0306 4094 com r4
502 0308 3094 com r3
503 030a 2094 com r2
504 030c 211C adc r2,__zero_reg__
505 030e 311C adc r3,__zero_reg__
506 0310 411C adc r4,__zero_reg__
507 0312 511C adc r5,__zero_reg__
508 0314 8DE2 ldi r24,lo8(45)
509 0316 8983 std Y+1,r24
510 0318 9AE0 ldi r25,lo8(10)
511 031a 98AB std Y+48,r25
512 031c 00C0 rjmp .L89
513 .L166:
514 031e EFE4 ldi r30,lo8(79)
515 0320 BE16 cp r11,r30
516 0322 01F0 breq .L90
517 0324 FFE6 ldi r31,lo8(111)
518 0326 BF16 cp r11,r31
519 0328 01F4 brne .L92
520 032a 88E0 ldi r24,lo8(8)
521 032c 00C0 rjmp .L170
522 .L90:
523 032e 9BA9 ldd r25,Y+51
524 0330 9160 ori r25,lo8(1)
525 0332 9BAB std Y+51,r25
526 0334 E8E0 ldi r30,lo8(8)
527 0336 00C0 rjmp .L171
528 .L92:
529 0338 F0E7 ldi r31,lo8(112)
530 033a BF16 cp r11,r31
531 033c 01F4 brne .L95
532 033e 1296 adiw r26,2
533 0340 BD83 std Y+5,r27
534 0342 AC83 std Y+4,r26
535 0344 9E91 ld r25,-X
536 0346 8E91 ld r24,-X
537 0348 1C01 movw r2,r24
538 034a 4424 clr r4
539 034c 5524 clr r5
540 034e 8BA9 ldd r24,Y+51
541 0350 8064 ori r24,lo8(64)
542 0352 8BAB std Y+51,r24
543 0354 78E7 ldi r23,lo8(120)
544 0356 B72E mov r11,r23
545 0358 00C0 rjmp .L172
546 .L95:
547 035a E3E7 ldi r30,lo8(115)
548 035c BE16 cp r11,r30
549 035e 01F4 brne .L97
550 0360 1296 adiw r26,2
551 0362 BD83 std Y+5,r27
552 0364 AC83 std Y+4,r26
553 0366 DE90 ld r13,-X
554 0368 CE90 ld r12,-X
555 036a C114 cp r12,__zero_reg__
556 036c D104 cpc r13,__zero_reg__
557 036e 01F4 brne .L99
558 0370 88E2 ldi r24,lo8(40)
559 0372 8E83 std Y+6,r24
560 0374 8EE6 ldi r24,lo8(110)
561 0376 8F83 std Y+7,r24
562 0378 85E7 ldi r24,lo8(117)
563 037a 8887 std Y+8,r24
564 037c 8CE6 ldi r24,lo8(108)
565 037e 8987 std Y+9,r24
566 0380 8A87 std Y+10,r24
567 0382 89E2 ldi r24,lo8(41)
568 0384 8B87 std Y+11,r24
569 0386 1C86 std Y+12,__zero_reg__
570 0388 66E0 ldi r22,lo8(6)
571 038a C62E mov r12,r22
572 038c D12C mov r13,__zero_reg__
573 038e CC0E add r12,r28
574 0390 DD1E adc r13,r29
575 .L99:
576 0392 F9A9 ldd r31,Y+49
577 0394 F7FD sbrc r31,7
578 0396 00C0 rjmp .L101
579 0398 4F2F mov r20,r31
580 039a 5527 clr r21
581 039c 47FD sbrc r20,7
582 039e 5095 com r21
583 03a0 60E0 ldi r22,lo8(0)
584 03a2 70E0 ldi r23,hi8(0)
585 03a4 C601 movw r24,r12
586 03a6 0E94 0000 call memchr
587 03aa 0097 sbiw r24,0
588 03ac 01F4 brne .L103
589 03ae 19A9 ldd r17,Y+49
590 03b0 00C0 rjmp .L105
591 .L103:
592 03b2 8C19 sub r24,r12
593 03b4 19A9 ldd r17,Y+49
594 03b6 8117 cp r24,r17
595 03b8 04F4 brge .L105
596 03ba 182F mov r17,r24
597 03bc 00C0 rjmp .L105
598 .L101:
599 03be F601 movw r30,r12
600 03c0 0190 ld __tmp_reg__,Z+
601 03c2 0020 tst __tmp_reg__
602 03c4 01F4 brne .-6
603 03c6 3197 sbiw r30,1
604 03c8 1E2F mov r17,r30
605 03ca 1C19 sub r17,r12
606 .L105:
607 03cc 1982 std Y+1,__zero_reg__
608 03ce 4201 movw r8,r4
609 03d0 3101 movw r6,r2
610 03d2 40E0 ldi r20,lo8(0)
611 03d4 00C0 rjmp .L107
612 .L97:
613 03d6 85E5 ldi r24,lo8(85)
614 03d8 B816 cp r11,r24
615 03da 01F0 breq .L108
616 03dc 95E7 ldi r25,lo8(117)
617 03de B916 cp r11,r25
618 03e0 01F4 brne .L110
619 03e2 EAE0 ldi r30,lo8(10)
620 .L171:
621 03e4 E8AB std Y+48,r30
622 03e6 00C0 rjmp .L94
623 .L108:
624 03e8 FBA9 ldd r31,Y+51
625 03ea F160 ori r31,lo8(1)
626 03ec FBAB std Y+51,r31
627 03ee 8AE0 ldi r24,lo8(10)
628 .L170:
629 03f0 88AB std Y+48,r24
630 03f2 00C0 rjmp .L94
631 .L110:
632 03f4 98E5 ldi r25,lo8(88)
633 03f6 B916 cp r11,r25
634 03f8 01F0 breq .L112
635 03fa E8E7 ldi r30,lo8(120)
636 03fc BE16 cp r11,r30
637 03fe 01F0 breq .+2
638 0400 00C0 rjmp .L114
639 .L112:
640 0402 FBA9 ldd r31,Y+51
641 0404 F3FD sbrc r31,3
642 0406 00C0 rjmp .L115
643 0408 80E1 ldi r24,lo8(16)
644 040a 00C0 rjmp .L170
645 .L115:
646 040c 2114 cp r2,__zero_reg__
647 040e 3104 cpc r3,__zero_reg__
648 0410 4104 cpc r4,__zero_reg__
649 0412 5104 cpc r5,__zero_reg__
650 0414 01F4 brne .L117
651 .L172:
652 0416 90E1 ldi r25,lo8(16)
653 0418 98AB std Y+48,r25
654 041a 00C0 rjmp .L94
655 .L117:
656 041c EBA9 ldd r30,Y+51
657 041e E064 ori r30,lo8(64)
658 0420 EBAB std Y+51,r30
659 0422 F0E1 ldi r31,lo8(16)
660 0424 F8AB std Y+48,r31
661 .L94:
662 0426 1982 std Y+1,__zero_reg__
663 .L89:
664 0428 89A9 ldd r24,Y+49
665 042a 87FD sbrc r24,7
666 042c 00C0 rjmp .L119
667 042e 9BA9 ldd r25,Y+51
668 0430 9F7D andi r25,lo8(-33)
669 0432 9BAB std Y+51,r25
670 .L119:
671 0434 2114 cp r2,__zero_reg__
672 0436 3104 cpc r3,__zero_reg__
673 0438 4104 cpc r4,__zero_reg__
674 043a 5104 cpc r5,__zero_reg__
675 043c 01F4 brne .L121
676 043e E9A9 ldd r30,Y+49
677 0440 EE23 tst r30
678 0442 01F4 brne .L121
679 0444 6624 clr r6
680 0446 7724 clr r7
681 0448 4301 movw r8,r6
682 044a 5EE2 ldi r21,lo8(46)
683 044c C52E mov r12,r21
684 044e D12C mov r13,__zero_reg__
685 0450 CC0E add r12,r28
686 0452 DD1E adc r13,r29
687 0454 00C0 rjmp .L124
688 .L121:
689 0456 4EE2 ldi r20,lo8(46)
690 0458 C42E mov r12,r20
691 045a D12C mov r13,__zero_reg__
692 045c CC0E add r12,r28
693 045e DD1E adc r13,r29
694 0460 F8A9 ldd r31,Y+48
695 0462 EF2E mov r14,r31
696 0464 FF24 clr r15
697 0466 0027 clr r16
698 0468 1127 clr r17
699 .L125:
700 046a C201 movw r24,r4
701 046c B101 movw r22,r2
702 046e A801 movw r20,r16
703 0470 9701 movw r18,r14
704 0472 0E94 0000 call __udivmodsi4
705 0476 6A30 cpi r22,lo8(10)
706 0478 00F4 brsh .L126
707 047a 30E3 ldi r19,lo8(48)
708 047c A32E mov r10,r19
709 047e A60E add r10,r22
710 0480 00C0 rjmp .L128
711 .L126:
712 0482 27E5 ldi r18,lo8(87)
713 0484 A22E mov r10,r18
714 0486 A60E add r10,r22
715 0488 88E5 ldi r24,lo8(88)
716 048a B816 cp r11,r24
717 048c 01F4 brne .L128
718 048e 9FED ldi r25,lo8(-33)
719 0490 A922 and r10,r25
720 .L128:
721 0492 F601 movw r30,r12
722 0494 A292 st -Z,r10
723 0496 6F01 movw r12,r30
724 0498 C201 movw r24,r4
725 049a B101 movw r22,r2
726 049c A801 movw r20,r16
727 049e 9701 movw r18,r14
728 04a0 0E94 0000 call __udivmodsi4
729 04a4 3901 movw r6,r18
730 04a6 4A01 movw r8,r20
731 04a8 2E14 cp r2,r14
732 04aa 3F04 cpc r3,r15
733 04ac 4006 cpc r4,r16
734 04ae 5106 cpc r5,r17
735 04b0 00F0 brlo .L130
736 04b2 1901 movw r2,r18
737 04b4 2A01 movw r4,r20
738 04b6 00C0 rjmp .L125
739 .L130:
740 04b8 F8A9 ldd r31,Y+48
741 04ba F830 cpi r31,lo8(8)
742 04bc 01F4 brne .L124
743 04be 8BA9 ldd r24,Y+51
744 04c0 83FF sbrs r24,3
745 04c2 00C0 rjmp .L124
746 04c4 90E3 ldi r25,lo8(48)
747 04c6 A916 cp r10,r25
748 04c8 01F0 breq .L124
749 04ca 80E3 ldi r24,lo8(48)
750 04cc F601 movw r30,r12
751 04ce 8293 st -Z,r24
752 04d0 6F01 movw r12,r30
753 .L124:
754 04d2 CE01 movw r24,r28
755 04d4 8C19 sub r24,r12
756 04d6 182F mov r17,r24
757 04d8 125D subi r17,lo8(-(46))
758 04da 49A9 ldd r20,Y+49
759 04dc 00C0 rjmp .L107
760 .L114:
761 04de BB20 tst r11
762 04e0 01F4 brne .+2
763 04e2 00C0 rjmp .L152
764 04e4 BE82 std Y+6,r11
765 .L174:
766 04e6 1982 std Y+1,__zero_reg__
767 04e8 4201 movw r8,r4
768 04ea 3101 movw r6,r2
769 04ec 00E0 ldi r16,lo8(0)
770 04ee 96E0 ldi r25,lo8(6)
771 04f0 C92E mov r12,r25
772 04f2 D12C mov r13,__zero_reg__
773 04f4 CC0E add r12,r28
774 04f6 DD1E adc r13,r29
775 04f8 11E0 ldi r17,lo8(1)
776 04fa 21E0 ldi r18,lo8(1)
777 04fc 00C0 rjmp .L136
778 .L107:
779 04fe 212F mov r18,r17
780 0500 042F mov r16,r20
781 0502 011B sub r16,r17
782 0504 07FD sbrc r16,7
783 0506 00E0 ldi r16,lo8(0)
784 .L136:
785 0508 8981 ldd r24,Y+1
786 050a 8823 tst r24
787 050c 01F0 breq .L138
788 050e 812F mov r24,r17
789 0510 8F5F subi r24,lo8(-(1))
790 0512 00C0 rjmp .L140
791 .L138:
792 0514 9BA9 ldd r25,Y+51
793 0516 96FD sbrc r25,6
794 0518 00C0 rjmp .L141
795 051a 812F mov r24,r17
796 051c 00C0 rjmp .L140
797 .L141:
798 051e 822F mov r24,r18
799 0520 8E5F subi r24,lo8(-(2))
800 .L140:
801 0522 A82E mov r10,r24
802 0524 A00E add r10,r16
803 0526 EBA9 ldd r30,Y+51
804 0528 EE2E mov r14,r30
805 052a FF24 clr r15
806 052c 80E3 ldi r24,lo8(48)
807 052e 482E mov r4,r24
808 0530 512C mov r5,__zero_reg__
809 0532 4E20 and r4,r14
810 0534 5F20 and r5,r15
811 0536 4114 cp r4,__zero_reg__
812 0538 5104 cpc r5,__zero_reg__
813 053a 01F4 brne .L143
814 053c 8AA9 ldd r24,Y+50
815 053e 8A19 sub r24,r10
816 0540 0E94 0000 call PAD_SP
817 .L143:
818 0544 8981 ldd r24,Y+1
819 0546 8823 tst r24
820 0548 01F0 breq .L145
821 054a 61E0 ldi r22,lo8(1)
822 054c 70E0 ldi r23,hi8(1)
823 054e CE01 movw r24,r28
824 0550 0196 adiw r24,1
825 0552 00C0 rjmp .L173
826 .L145:
827 0554 E6FE sbrs r14,6
828 0556 00C0 rjmp .L147
829 0558 80E3 ldi r24,lo8(48)
830 055a 8A83 std Y+2,r24
831 055c BB82 std Y+3,r11
832 055e 62E0 ldi r22,lo8(2)
833 0560 70E0 ldi r23,hi8(2)
834 0562 CE01 movw r24,r28
835 0564 0296 adiw r24,2
836 .L173:
837 0566 0E94 0000 call PRINT
838 .L147:
839 056a F0E2 ldi r31,lo8(32)
840 056c 4F16 cp r4,r31
841 056e 5104 cpc r5,__zero_reg__
842 0570 01F4 brne .L149
843 0572 8AA9 ldd r24,Y+50
844 0574 8A19 sub r24,r10
845 0576 0E94 0000 call PAD_0
846 .L149:
847 057a 802F mov r24,r16
848 057c 0E94 0000 call PAD_0
849 0580 612F mov r22,r17
850 0582 7727 clr r23
851 0584 67FD sbrc r22,7
852 0586 7095 com r23
853 0588 C601 movw r24,r12
854 058a 0E94 0000 call PRINT
855 058e E4FE sbrs r14,4
856 0590 00C0 rjmp .L28
857 0592 8AA9 ldd r24,Y+50
858 0594 8A19 sub r24,r10
859 0596 0E94 0000 call PAD_SP
860 059a 00C0 rjmp .L28
861 .L35:
862 .L152:
863 /* epilogue: frame size=51 */
864 059c E2E1 ldi r30,18
865 059e CD5C subi r28,-51
866 05a0 0C94 0000 jmp __epilogue_restores__+0
867 /* epilogue end (size=4) */
868 /* function _printf_P size 651 (641) */
870 .comm PrintZiel,1,1
871 /* File "printf_P.c": code 743 = 0x02e7 ( 708), prologues 16, epilogues 19 */
DEFINED SYMBOLS
*ABS*:00000000 printf_P.c
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccYixtSf.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccYixtSf.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccYixtSf.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccYixtSf.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccYixtSf.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccYixtSf.s:13 .text:00000000 Putchar
*COM*:00000001 PrintZiel
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccYixtSf.s:45 .text:00000032 PAD_0
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccYixtSf.s:66 .text:00000048 PAD_SP
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccYixtSf.s:87 .text:0000005e PRINTP
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccYixtSf.s:122 .text:0000008a PRINT
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccYixtSf.s:152 .text:000000b2 _printf_P
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
DispPtr
DisplayBuff
uart_putchar
__prologue_saves__
memchr
__udivmodsi4
__epilogue_restores__
/branches/MicroMag3_Nick666/Festkomma/V0.68d/rc.c
0,0 → 1,86
/*#######################################################################################
Decodieren eines RC Summen Signals
#######################################################################################*/
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Copyright (c) 04.2007 Holger Buss
// + only for non-profit use
// + www.MikroKopter.com
// + see the File "License.txt" for further Informations
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
#include "rc.h"
#include "main.h"
 
volatile int PPM_in[11];
volatile int PPM_diff[11]; // das diffenzierte Stick-Signal
volatile unsigned char NewPpmData = 1;
 
//############################################################################
//zum decodieren des PPM-Signals wird Timer1 mit seiner Input
//Capture Funktion benutzt:
void rc_sum_init (void)
//############################################################################
{
TCCR1B=(1<<CS11)|(1<<CS10)|(1<<ICES1)|(1<<ICNC1);//|(1 << WGM12); //timer1 prescale 64
 
// PWM
//TCCR1A = (1 << COM1B1) | (1 << WGM11) | (1 << WGM10);
//TCCR1B |= (1 << WGM12);
//OCR1B = 55;
TIMSK1 |= _BV(ICIE1);
AdNeutralGier = 0;
AdNeutralRoll = 0;
AdNeutralNick = 0;
return;
}
 
//############################################################################
//Diese Routine startet und inizialisiert den Timer für RC
SIGNAL(SIG_INPUT_CAPTURE1)
//############################################################################
 
{
static unsigned int AltICR=0;
signed int signal = 0,tmp;
static int index;
signal = (unsigned int) ICR1 - AltICR;
AltICR = ICR1;
//Syncronisationspause?
// if((signal > (int) Parameter_UserParam2 * 10) && (signal < 8000))
if((signal > 1100) && (signal < 8000))
{
if(index >= 4) NewPpmData = 0; // Null bedeutet: Neue Daten
index = 1;
}
else
{
if(index < 10)
{
if((signal > 250) && (signal < 687))
{
signal -= 466;
// Stabiles Signal
if(abs(signal - PPM_in[index]) < 6) { if(SenderOkay < 200) SenderOkay += 10;}
// tmp = (7 * (PPM_in[index]) + signal) / 8;
tmp = (3 * (PPM_in[index]) + signal) / 4;
if(tmp > signal+1) tmp--; else
if(tmp < signal-1) tmp++;
if(SenderOkay >= 195) PPM_diff[index] = ((tmp - PPM_in[index]) / 3) * 3;
else PPM_diff[index] = 0;
PPM_in[index] = tmp;
}
index++;
if(index == 5) PORTD |= 0x20; else PORTD &= ~0x20; // Servosignal an J3 anlegen
if(index == 6) PORTD |= 0x10; else PORTD &= ~0x10; // Servosignal an J4 anlegen
if(index == 7) PORTD |= 0x08; else PORTD &= ~0x08; // Servosignal an J5 anlegen
}
}
}
 
 
 
 
 
/branches/MicroMag3_Nick666/Festkomma/V0.68d/rc.d
0,0 → 1,2
rc.o rc.d : rc.c rc.h main.h old_macros.h _Settings.h printf_P.h timer0.h \
uart.h analog.h twimaster.h menu.h fc.h gps.h compass.h mymath.h
/branches/MicroMag3_Nick666/Festkomma/V0.68d/rc.h
0,0 → 1,29
/*#######################################################################################
Derkodieren eines RC Summen Signals
#######################################################################################*/
 
#ifndef _RC_H
#define _RC_H
 
#if defined (__AVR_ATmega32__)
#define TIMER_TEILER CK64
#define TIMER_RELOAD_VALUE 250
#endif
 
#if defined (__AVR_ATmega644__)
//#define TIMER_TEILER CK64
#define TIMER_RELOAD_VALUE 250
//#define TIMER_TEILER CK256 // bei 20MHz
//#define TIMER_RELOAD_VALUE -78 // bei 20MHz
#endif
 
#define GAS PPM_in[2]
 
 
extern void rc_sum_init (void);
 
extern volatile int PPM_in[11];
extern volatile int PPM_diff[11]; // das diffenzierte Stick-Signal
extern volatile unsigned char NewPpmData;
 
#endif //_RC_H
/branches/MicroMag3_Nick666/Festkomma/V0.68d/rc.lst
0,0 → 1,283
1 .file "rc.c"
2 .arch atmega644
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
10 .text
11 .global rc_sum_init
13 rc_sum_init:
14 /* prologue: frame size=0 */
15 /* prologue end (size=0) */
16 0000 83EC ldi r24,lo8(-61)
17 0002 8093 8100 sts 129,r24
18 0006 EFE6 ldi r30,lo8(111)
19 0008 F0E0 ldi r31,hi8(111)
20 000a 8081 ld r24,Z
21 000c 8062 ori r24,lo8(32)
22 000e 8083 st Z,r24
23 0010 1092 0000 sts (AdNeutralGier)+1,__zero_reg__
24 0014 1092 0000 sts AdNeutralGier,__zero_reg__
25 0018 1092 0000 sts (AdNeutralRoll)+1,__zero_reg__
26 001c 1092 0000 sts AdNeutralRoll,__zero_reg__
27 0020 1092 0000 sts (AdNeutralNick)+1,__zero_reg__
28 0024 1092 0000 sts AdNeutralNick,__zero_reg__
29 /* epilogue: frame size=0 */
30 0028 0895 ret
31 /* epilogue end (size=1) */
32 /* function rc_sum_init size 21 (20) */
34 .global __vector_12
36 __vector_12:
37 /* prologue: frame size=0 */
38 002a 1F92 push __zero_reg__
39 002c 0F92 push __tmp_reg__
40 002e 0FB6 in __tmp_reg__,__SREG__
41 0030 0F92 push __tmp_reg__
42 0032 1124 clr __zero_reg__
43 0034 0F93 push r16
44 0036 1F93 push r17
45 0038 2F93 push r18
46 003a 3F93 push r19
47 003c 4F93 push r20
48 003e 5F93 push r21
49 0040 6F93 push r22
50 0042 7F93 push r23
51 0044 8F93 push r24
52 0046 9F93 push r25
53 0048 AF93 push r26
54 004a BF93 push r27
55 004c CF93 push r28
56 004e DF93 push r29
57 0050 EF93 push r30
58 0052 FF93 push r31
59 /* prologue end (size=21) */
60 0054 2091 8600 lds r18,134
61 0058 3091 8700 lds r19,(134)+1
62 005c 8091 0000 lds r24,AltICR.2025
63 0060 9091 0000 lds r25,(AltICR.2025)+1
64 0064 281B sub r18,r24
65 0066 390B sbc r19,r25
66 0068 8091 8600 lds r24,134
67 006c 9091 8700 lds r25,(134)+1
68 0070 9093 0000 sts (AltICR.2025)+1,r25
69 0074 8093 0000 sts AltICR.2025,r24
70 0078 C901 movw r24,r18
71 007a 8D54 subi r24,lo8(-(-1101))
72 007c 9440 sbci r25,hi8(-(-1101))
73 007e 0091 0000 lds r16,index.2028
74 0082 1091 0000 lds r17,(index.2028)+1
75 0086 835F subi r24,lo8(6899)
76 0088 9A41 sbci r25,hi8(6899)
77 008a 00F4 brsh .L4
78 008c 0430 cpi r16,4
79 008e 1105 cpc r17,__zero_reg__
80 0090 04F0 brlt .L6
81 0092 1092 0000 sts NewPpmData,__zero_reg__
82 .L6:
83 0096 81E0 ldi r24,lo8(1)
84 0098 90E0 ldi r25,hi8(1)
85 009a 9093 0000 sts (index.2028)+1,r25
86 009e 8093 0000 sts index.2028,r24
87 00a2 00C0 rjmp .L29
88 .L4:
89 00a4 0A30 cpi r16,10
90 00a6 1105 cpc r17,__zero_reg__
91 00a8 04F0 brlt .+2
92 00aa 00C0 rjmp .L29
93 00ac C901 movw r24,r18
94 00ae 8B5F subi r24,lo8(-(-251))
95 00b0 9040 sbci r25,hi8(-(-251))
96 00b2 845B subi r24,lo8(436)
97 00b4 9140 sbci r25,hi8(436)
98 00b6 00F0 brlo .+2
99 00b8 00C0 rjmp .L10
100 00ba E901 movw r28,r18
101 00bc C25D subi r28,lo8(-(-466))
102 00be D140 sbci r29,hi8(-(-466))
103 00c0 F801 movw r30,r16
104 00c2 EE0F lsl r30
105 00c4 FF1F rol r31
106 00c6 E050 subi r30,lo8(-(PPM_in))
107 00c8 F040 sbci r31,hi8(-(PPM_in))
108 00ca 8081 ld r24,Z
109 00cc 9181 ldd r25,Z+1
110 00ce 9E01 movw r18,r28
111 00d0 281B sub r18,r24
112 00d2 390B sbc r19,r25
113 00d4 C901 movw r24,r18
114 00d6 37FF sbrs r19,7
115 00d8 00C0 rjmp .L13
116 00da 9095 com r25
117 00dc 8195 neg r24
118 00de 9F4F sbci r25,lo8(-1)
119 .L13:
120 00e0 0697 sbiw r24,6
121 00e2 04F4 brge .L12
122 00e4 8091 0000 lds r24,SenderOkay
123 00e8 883C cpi r24,lo8(-56)
124 00ea 00F4 brsh .L12
125 00ec 8091 0000 lds r24,SenderOkay
126 00f0 865F subi r24,lo8(-(10))
127 00f2 8093 0000 sts SenderOkay,r24
128 .L12:
129 00f6 F801 movw r30,r16
130 00f8 EE0F lsl r30
131 00fa FF1F rol r31
132 00fc E050 subi r30,lo8(-(PPM_in))
133 00fe F040 sbci r31,hi8(-(PPM_in))
134 0100 2081 ld r18,Z
135 0102 3181 ldd r19,Z+1
136 0104 C901 movw r24,r18
137 0106 880F lsl r24
138 0108 991F rol r25
139 010a 820F add r24,r18
140 010c 931F adc r25,r19
141 010e 8C0F add r24,r28
142 0110 9D1F adc r25,r29
143 0112 64E0 ldi r22,lo8(4)
144 0114 70E0 ldi r23,hi8(4)
145 0116 0E94 0000 call __divmodhi4
146 011a 9B01 movw r18,r22
147 011c CE01 movw r24,r28
148 011e 0196 adiw r24,1
149 0120 8617 cp r24,r22
150 0122 9707 cpc r25,r23
151 0124 04F4 brge .L16
152 0126 2150 subi r18,lo8(-(-1))
153 0128 3040 sbci r19,hi8(-(-1))
154 012a 00C0 rjmp .L18
155 .L16:
156 012c 2197 sbiw r28,1
157 012e 6C17 cp r22,r28
158 0130 7D07 cpc r23,r29
159 0132 04F4 brge .L18
160 0134 2F5F subi r18,lo8(-(1))
161 0136 3F4F sbci r19,hi8(-(1))
162 .L18:
163 0138 8091 0000 lds r24,SenderOkay
164 013c E801 movw r28,r16
165 013e CC0F lsl r28
166 0140 DD1F rol r29
167 0142 833C cpi r24,lo8(-61)
168 0144 00F0 brlo .L20
169 0146 FE01 movw r30,r28
170 0148 E050 subi r30,lo8(-(PPM_in))
171 014a F040 sbci r31,hi8(-(PPM_in))
172 014c 8081 ld r24,Z
173 014e 9181 ldd r25,Z+1
174 0150 A901 movw r20,r18
175 0152 481B sub r20,r24
176 0154 590B sbc r21,r25
177 0156 CA01 movw r24,r20
178 0158 63E0 ldi r22,lo8(3)
179 015a 70E0 ldi r23,hi8(3)
180 015c 0E94 0000 call __divmodhi4
181 0160 CB01 movw r24,r22
182 0162 880F lsl r24
183 0164 991F rol r25
184 0166 860F add r24,r22
185 0168 971F adc r25,r23
186 016a C050 subi r28,lo8(-(PPM_diff))
187 016c D040 sbci r29,hi8(-(PPM_diff))
188 016e 9983 std Y+1,r25
189 0170 8883 st Y,r24
190 0172 00C0 rjmp .L22
191 .L20:
192 0174 C050 subi r28,lo8(-(PPM_diff))
193 0176 D040 sbci r29,hi8(-(PPM_diff))
194 0178 1982 std Y+1,__zero_reg__
195 017a 1882 st Y,__zero_reg__
196 .L22:
197 017c F801 movw r30,r16
198 017e EE0F lsl r30
199 0180 FF1F rol r31
200 0182 E050 subi r30,lo8(-(PPM_in))
201 0184 F040 sbci r31,hi8(-(PPM_in))
202 0186 3183 std Z+1,r19
203 0188 2083 st Z,r18
204 .L10:
205 018a F801 movw r30,r16
206 018c 3196 adiw r30,1
207 018e F093 0000 sts (index.2028)+1,r31
208 0192 E093 0000 sts index.2028,r30
209 0196 E530 cpi r30,5
210 0198 F105 cpc r31,__zero_reg__
211 019a 01F4 brne .L23
212 019c 5D9A sbi 43-0x20,5
213 019e 5C98 cbi 43-0x20,4
214 01a0 00C0 rjmp .L25
215 .L23:
216 01a2 5D98 cbi 43-0x20,5
217 01a4 E630 cpi r30,6
218 01a6 F105 cpc r31,__zero_reg__
219 01a8 01F4 brne .L26
220 01aa 5C9A sbi 43-0x20,4
221 01ac 00C0 rjmp .L25
222 .L26:
223 01ae 5C98 cbi 43-0x20,4
224 01b0 3797 sbiw r30,7
225 01b2 01F4 brne .L25
226 01b4 5B9A sbi 43-0x20,3
227 01b6 00C0 rjmp .L29
228 .L25:
229 01b8 5B98 cbi 43-0x20,3
230 .L29:
231 /* epilogue: frame size=0 */
232 01ba FF91 pop r31
233 01bc EF91 pop r30
234 01be DF91 pop r29
235 01c0 CF91 pop r28
236 01c2 BF91 pop r27
237 01c4 AF91 pop r26
238 01c6 9F91 pop r25
239 01c8 8F91 pop r24
240 01ca 7F91 pop r23
241 01cc 6F91 pop r22
242 01ce 5F91 pop r21
243 01d0 4F91 pop r20
244 01d2 3F91 pop r19
245 01d4 2F91 pop r18
246 01d6 1F91 pop r17
247 01d8 0F91 pop r16
248 01da 0F90 pop __tmp_reg__
249 01dc 0FBE out __SREG__,__tmp_reg__
250 01de 0F90 pop __tmp_reg__
251 01e0 1F90 pop __zero_reg__
252 01e2 1895 reti
253 /* epilogue end (size=21) */
254 /* function __vector_12 size 225 (183) */
256 .global NewPpmData
257 .data
260 NewPpmData:
261 0000 01 .byte 1
262 .lcomm index.2028,2
263 .lcomm AltICR.2025,2
264 .comm PPM_in,22,1
265 .comm PPM_diff,22,1
266 /* File "rc.c": code 246 = 0x00f6 ( 203), prologues 21, epilogues 22 */
DEFINED SYMBOLS
*ABS*:00000000 rc.c
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccgwZabc.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccgwZabc.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccgwZabc.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccgwZabc.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccgwZabc.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccgwZabc.s:13 .text:00000000 rc_sum_init
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccgwZabc.s:36 .text:0000002a __vector_12
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccgwZabc.s:262 .bss:00000002 AltICR.2025
.bss:00000000 index.2028
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccgwZabc.s:260 .data:00000000 NewPpmData
*COM*:00000016 PPM_in
*COM*:00000016 PPM_diff
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
AdNeutralGier
AdNeutralRoll
AdNeutralNick
SenderOkay
__divmodhi4
/branches/MicroMag3_Nick666/Festkomma/V0.68d/spi.c
0,0 → 1,113
// ######################## SPI - FlightCtrl ###################
#include "main.h"
 
 
struct str_ToNaviCtrl ToNaviCtrl;
struct str_FromNaviCtrl FromNaviCtrl;
unsigned char SPI_BufferIndex;
volatile unsigned char SPI_Buffer[sizeof(FromNaviCtrl)];
unsigned char *Ptr_buffer = (unsigned char *) &ToNaviCtrl;
 
unsigned char SPITransferCompleted, SPI_ChkSum;
#ifdef USE_SPI_COMMUNICATION
//------------------------------------------------------
void SPI_MasterInit(void)
{
DDR_SPI |= (1<<DD_MOSI)|(1<<DD_SCK); // Set MOSI and SCK output, all others input
SLAVE_SELECT_DDR_PORT |= (1 << SPI_SLAVE_SELECT);
SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR1)|(0<<SPIE); // Enable SPI, Master, set clock rate fck/64
SLAVE_SELECT_PORT |= (1 << SPI_SLAVE_SELECT);
SPITransferCompleted = 1;
ToNaviCtrl.Sync1 = 0x81;
ToNaviCtrl.Sync2 = 0x55;
ToNaviCtrl.Comp = 12;
ToNaviCtrl.IntegralNick = 12345;
ToNaviCtrl.IntegralRoll = 56789;
ToNaviCtrl.StickNick = 100;
ToNaviCtrl.StickRoll = 150;//(char) StickRoll;
ToNaviCtrl.StickGier = 200;//(char) StickGier;
}
 
//------------------------------------------------------
void SPI_StartTransmitPacket(void)
{
//if ((SLAVE_SELECT_PORT & (1 << SPI_SLAVE_SELECT)) == 0) return; // transfer of prev. packet not completed
if (!SPITransferCompleted) return;
SLAVE_SELECT_PORT &= ~(1 << SPI_SLAVE_SELECT); // SelectSlave
SPITransferCompleted = 0;
UpdateSPI_Buffer(); // update buffer
SPI_BufferIndex = 1;
DebugOut.Analog[16]++;
// -- Debug-Output ---
/* DebugOut.Analog[20] = FromNaviCtrl.Comp;
DebugOut.Analog[21] = FromNaviCtrl.GPS_Nick;
DebugOut.Analog[22] = FromNaviCtrl.GPS_Roll;
DebugOut.Analog[23] = FromNaviCtrl.CompassValue;
*/
//----
SPDR = ToNaviCtrl.Sync1; // Start transmission
ToNaviCtrl.ChkSum = ToNaviCtrl.Sync1;
}
 
//------------------------------------------------------
//SIGNAL(SIG_SPI)
void SPI_TransmitByte(void)
{
if (!(SPSR & (1 << SPIF))) return;
SLAVE_SELECT_PORT |= (1 << SPI_SLAVE_SELECT); // DeselectSlave
if (SPI_BufferIndex < sizeof(FromNaviCtrl))
{
SPI_Buffer[SPI_BufferIndex]= SPDR; // get data
// if (SPI_BufferIndex < 32 ) DebugOut.Analog[26+SPI_BufferIndex] = SPI_Buffer[SPI_BufferIndex];
//if(SPDR!= 0x00) DebugOut.Analog[19]++; ;
}
if (SPI_BufferIndex < sizeof(ToNaviCtrl))
{
asm volatile ("nop"); asm volatile ("nop"); asm volatile ("nop"); asm volatile ("nop");
asm volatile ("nop"); asm volatile ("nop"); asm volatile ("nop"); asm volatile ("nop");
SLAVE_SELECT_PORT &= ~(1 << SPI_SLAVE_SELECT); // SelectSlave
asm volatile ("nop"); asm volatile ("nop"); asm volatile ("nop"); asm volatile ("nop");
asm volatile ("nop"); asm volatile ("nop"); asm volatile ("nop"); asm volatile ("nop");
SPDR = Ptr_buffer[SPI_BufferIndex];
ToNaviCtrl.ChkSum += Ptr_buffer[SPI_BufferIndex];
}
else
{
unsigned char *ptr = (unsigned char *)&FromNaviCtrl;
SPITransferCompleted = 1;
memcpy(ptr, (unsigned char *) SPI_Buffer, sizeof(SPI_Buffer));
}
SPI_BufferIndex++;
}
 
//------------------------------------------------------
void UpdateSPI_Buffer(void)
{
/*static unsigned char i =0;
cli();
ToNaviCtrl.Comp = SPI_PROTOCOL_COMP;
ToNaviCtrl.IntegralNick = (int) (IntegralNick >> 4);
ToNaviCtrl.IntegralRoll = (int) (IntegralRoll >> 4);
ToNaviCtrl.StickNick = 4;
ToNaviCtrl.StickRoll = 5;//(char) StickRoll;
ToNaviCtrl.StickGier = 6;//(char) StickGier;
sei();
*/
}
 
#endif
 
 
/branches/MicroMag3_Nick666/Festkomma/V0.68d/spi.h
0,0 → 1,89
// ######################## SPI - FlightCtrl ###################
#ifndef _SPI_H
#define _SPI_H
 
//#define USE_SPI_COMMUNICATION
 
#define SPI_PROTOCOL_COMP 1
 
//-----------------------------------------
#define DDR_SPI DDRB
#define DD_SS PB4
#define DD_SCK PB7
#define DD_MOSI PB5
#define DD_MISO PB6
 
// for compatibility reasons gcc3.x <-> gcc4.x
#ifndef SPCR
#define SPCR SPCR0
#endif
#ifndef SPE
#define SPE SPE0
#endif
#ifndef MSTR
#define MSTR MSTR0
#endif
#ifndef SPR1
#define SPR1 SPR01
#endif
#ifndef SPR0
#define SPR0 SPR00
#endif
#ifndef SPIE
#define SPIE SPIE0
#endif
#ifndef SPDR
#define SPDR SPDR0
#endif
#ifndef SPIF
#define SPIF SPIF0
#endif
#ifndef SPSR
#define SPSR SPSR0
#endif
// -------------------------
 
#define SLAVE_SELECT_DDR_PORT DDRC
#define SLAVE_SELECT_PORT PORTC
#define SPI_SLAVE_SELECT PC5
 
struct str_ToNaviCtrl
{
unsigned char Sync1, Sync2;
unsigned char Comp;
int IntegralNick;
int IntegralRoll;
char StickNick,StickRoll,StickGier;
unsigned char ChkSum;
};
 
struct str_FromNaviCtrl
{
unsigned int Dummy;
unsigned char Comp;
int GPS_Nick;
int GPS_Roll;
int CompassValue;
};
 
#ifdef USE_SPI_COMMUNICATION
extern struct str_ToNaviCtrl ToNaviCtrl;
extern struct str_FromNaviCtrl FromNaviCtrl;
 
 
extern void SPI_MasterInit(void);
extern void SPI_StartTransmitPacket(void);
extern void UpdateSPI_Buffer(void);
extern void SPI_TransmitByte(void);
#else
 
 
// -------------------------------- Dummy -----------------------------------------
#define SPI_MasterInit() ;
#define SPI_StartTransmitPacket() ;
#define UpdateSPI_Buffer() ;
#define SPI_TransmitByte() ;
#endif
 
 
#endif
/branches/MicroMag3_Nick666/Festkomma/V0.68d/timer0.c
0,0 → 1,143
#include "main.h"
 
volatile unsigned int CountMilliseconds = 0;
volatile static unsigned int tim_main;
volatile unsigned char UpdateMotor = 0;
volatile unsigned int beeptime = 0;
unsigned int BeepMuster = 0xffff;
int ServoValue = 0;
 
enum {
STOP = 0,
CK = 1,
CK8 = 2,
CK64 = 3,
CK256 = 4,
CK1024 = 5,
T0_FALLING_EDGE = 6,
T0_RISING_EDGE = 7
};
 
 
SIGNAL (SIG_OVERFLOW0) // 9,8kHz
{
static unsigned char cnt_1ms = 1,cnt = 0;
unsigned char pieper_ein = 0;
 
if(!cnt--)
{
cnt = 10;
cnt_1ms++;
cnt_1ms %= 2;
if(!cnt_1ms) UpdateMotor = 1;
CountMilliseconds++;
}
 
if(beeptime > 1)
{
beeptime--;
if(beeptime & BeepMuster)
{
pieper_ein = 1;
}
else pieper_ein = 0;
}
else
{
pieper_ein = 0;
BeepMuster = 0xffff;
}
 
 
if(pieper_ein)
{
if(PlatinenVersion == 10) PORTD |= (1<<2); // Speaker an PORTD.2
else PORTC |= (1<<7); // Speaker an PORTC.7
}
else
{
if(PlatinenVersion == 10) PORTD &= ~(1<<2);
else PORTC &= ~(1<<7);
}
if(EE_Parameter.GlobalConfig & CFG_KOMPASS_AKTIV) timer0_MM3(); // Kompass auslesen
}
 
 
void Timer_Init(void)
{
TCCR0B = CK8;
TCCR0A = (1<<COM0A1)|(1<<COM0B1)|3;//fast PWM
OCR0A = 0;
OCR0B = 120;
 
TCCR2A=(1<<COM2A1)|(1<<COM2A0)|3;
TCCR2B=(0<<CS20)|(1<<CS21)|(1<<CS22);
// TIMSK2 |= _BV(TOIE2);
TIMSK2 |= _BV(OCIE2A);
 
TIMSK0 |= _BV(TOIE0);
OCR2A = 10;
TCNT2 = 0;
}
 
// -----------------------------------------------------------------------
 
unsigned int SetDelay (unsigned int t)
{
// TIMSK0 &= ~_BV(TOIE0);
return(CountMilliseconds + t + 1);
// TIMSK0 |= _BV(TOIE0);
}
 
// -----------------------------------------------------------------------
char CheckDelay(unsigned int t)
{
// TIMSK0 &= ~_BV(TOIE0);
return(((t - CountMilliseconds) & 0x8000) >> 9);
// TIMSK0 |= _BV(TOIE0);
}
 
// -----------------------------------------------------------------------
void Delay_ms(unsigned int w)
{
unsigned int akt;
akt = SetDelay(w);
while (!CheckDelay(akt));
}
 
void Delay_ms_Mess(unsigned int w)
{
unsigned int akt;
akt = SetDelay(w);
while (!CheckDelay(akt)) ANALOG_ON;
}
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Servo ansteuern
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SIGNAL(SIG_OUTPUT_COMPARE2A)
{
static unsigned char timer = 10;
if(!timer--)
{
TCCR2A=(1<<COM2A1)|(0<<COM2A0)|3;
ServoValue = Parameter_ServoNickControl;
if(EE_Parameter.ServoNickCompInvert & 0x01) ServoValue += ((long) EE_Parameter.ServoNickComp * (IntegralNick / 128)) / 512;
else ServoValue -= ((long) EE_Parameter.ServoNickComp * (IntegralNick / 128)) / 512;
if(ServoValue < EE_Parameter.ServoNickMin) ServoValue = EE_Parameter.ServoNickMin;
else if(ServoValue > EE_Parameter.ServoNickMax) ServoValue = EE_Parameter.ServoNickMax;
 
OCR2A = ServoValue;// + 75;
timer = EE_Parameter.ServoNickRefresh;
}
else
{
TCCR2A =3;
PORTD&=~0x80;
}
}
/branches/MicroMag3_Nick666/Festkomma/V0.68d/timer0.d
0,0 → 1,2
timer0.o timer0.d : timer0.c main.h old_macros.h _Settings.h printf_P.h timer0.h \
uart.h analog.h twimaster.h menu.h rc.h fc.h gps.h compass.h mymath.h
/branches/MicroMag3_Nick666/Festkomma/V0.68d/timer0.h
0,0 → 1,15
 
#define TIMER_TEILER CK8
#define TIMER_RELOAD_VALUE 250
 
void Timer_Init(void);
void Delay_ms(unsigned int);
void Delay_ms_Mess(unsigned int);
unsigned int SetDelay (unsigned int t);
char CheckDelay (unsigned int t);
 
extern volatile unsigned int CountMilliseconds;
extern volatile unsigned char UpdateMotor;
extern volatile unsigned int beeptime;
extern int ServoValue;
extern unsigned int BeepMuster;
/branches/MicroMag3_Nick666/Festkomma/V0.68d/timer0.lst
0,0 → 1,442
1 .file "timer0.c"
2 .arch atmega644
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
10 .text
11 .global Timer_Init
13 Timer_Init:
14 /* prologue: frame size=0 */
15 /* prologue end (size=0) */
16 0000 82E0 ldi r24,lo8(2)
17 0002 85BD out 69-0x20,r24
18 0004 83EA ldi r24,lo8(-93)
19 0006 84BD out 68-0x20,r24
20 0008 17BC out 71-0x20,__zero_reg__
21 000a 88E7 ldi r24,lo8(120)
22 000c 88BD out 72-0x20,r24
23 000e 83EC ldi r24,lo8(-61)
24 0010 8093 B000 sts 176,r24
25 0014 86E0 ldi r24,lo8(6)
26 0016 8093 B100 sts 177,r24
27 001a E0E7 ldi r30,lo8(112)
28 001c F0E0 ldi r31,hi8(112)
29 001e 8081 ld r24,Z
30 0020 8260 ori r24,lo8(2)
31 0022 8083 st Z,r24
32 0024 EEE6 ldi r30,lo8(110)
33 0026 F0E0 ldi r31,hi8(110)
34 0028 8081 ld r24,Z
35 002a 8160 ori r24,lo8(1)
36 002c 8083 st Z,r24
37 002e 8AE0 ldi r24,lo8(10)
38 0030 8093 B300 sts 179,r24
39 0034 1092 B200 sts 178,__zero_reg__
40 /* epilogue: frame size=0 */
41 0038 0895 ret
42 /* epilogue end (size=1) */
43 /* function Timer_Init size 29 (28) */
45 .global SetDelay
47 SetDelay:
48 /* prologue: frame size=0 */
49 /* prologue end (size=0) */
50 003a 2091 0000 lds r18,CountMilliseconds
51 003e 3091 0000 lds r19,(CountMilliseconds)+1
52 0042 2F5F subi r18,lo8(-(1))
53 0044 3F4F sbci r19,hi8(-(1))
54 0046 820F add r24,r18
55 0048 931F adc r25,r19
56 /* epilogue: frame size=0 */
57 004a 0895 ret
58 /* epilogue end (size=1) */
59 /* function SetDelay size 9 (8) */
61 .global CheckDelay
63 CheckDelay:
64 /* prologue: frame size=0 */
65 /* prologue end (size=0) */
66 004c 2091 0000 lds r18,CountMilliseconds
67 0050 3091 0000 lds r19,(CountMilliseconds)+1
68 0054 821B sub r24,r18
69 0056 930B sbc r25,r19
70 0058 892F mov r24,r25
71 005a 9927 clr r25
72 005c 8695 lsr r24
73 005e 8074 andi r24,lo8(64)
74 0060 9927 clr r25
75 /* epilogue: frame size=0 */
76 0062 0895 ret
77 /* epilogue end (size=1) */
78 /* function CheckDelay size 12 (11) */
80 .global __vector_9
82 __vector_9:
83 /* prologue: frame size=0 */
84 0064 1F92 push __zero_reg__
85 0066 0F92 push __tmp_reg__
86 0068 0FB6 in __tmp_reg__,__SREG__
87 006a 0F92 push __tmp_reg__
88 006c 1124 clr __zero_reg__
89 006e EF92 push r14
90 0070 FF92 push r15
91 0072 0F93 push r16
92 0074 1F93 push r17
93 0076 2F93 push r18
94 0078 3F93 push r19
95 007a 4F93 push r20
96 007c 5F93 push r21
97 007e 6F93 push r22
98 0080 7F93 push r23
99 0082 8F93 push r24
100 0084 9F93 push r25
101 0086 AF93 push r26
102 0088 BF93 push r27
103 008a CF93 push r28
104 008c DF93 push r29
105 008e EF93 push r30
106 0090 FF93 push r31
107 /* prologue end (size=23) */
108 0092 8091 0000 lds r24,timer.2116
109 0096 8150 subi r24,lo8(-(-1))
110 0098 8093 0000 sts timer.2116,r24
111 009c 8F3F cpi r24,lo8(-1)
112 009e 01F0 breq .+2
113 00a0 00C0 rjmp .L8
114 00a2 83E8 ldi r24,lo8(-125)
115 00a4 8093 B000 sts 176,r24
116 00a8 8091 0000 lds r24,Parameter_ServoNickControl
117 00ac C82F mov r28,r24
118 00ae DD27 clr r29
119 00b0 D093 0000 sts (ServoValue)+1,r29
120 00b4 C093 0000 sts ServoValue,r28
121 00b8 8091 0000 lds r24,EE_Parameter+53
122 00bc E090 0000 lds r14,EE_Parameter+34
123 00c0 2091 0000 lds r18,IntegralNick
124 00c4 3091 0000 lds r19,(IntegralNick)+1
125 00c8 4091 0000 lds r20,(IntegralNick)+2
126 00cc 5091 0000 lds r21,(IntegralNick)+3
127 00d0 80FF sbrs r24,0
128 00d2 00C0 rjmp .L10
129 00d4 FF24 clr r15
130 00d6 0027 clr r16
131 00d8 1127 clr r17
132 00da CA01 movw r24,r20
133 00dc B901 movw r22,r18
134 00de 20E8 ldi r18,lo8(128)
135 00e0 30E0 ldi r19,hi8(128)
136 00e2 40E0 ldi r20,hlo8(128)
137 00e4 50E0 ldi r21,hhi8(128)
138 00e6 0E94 0000 call __divmodsi4
139 00ea C801 movw r24,r16
140 00ec B701 movw r22,r14
141 00ee 0E94 0000 call __mulsi3
142 00f2 20E0 ldi r18,lo8(512)
143 00f4 32E0 ldi r19,hi8(512)
144 00f6 40E0 ldi r20,hlo8(512)
145 00f8 50E0 ldi r21,hhi8(512)
146 00fa 0E94 0000 call __divmodsi4
147 00fe C20F add r28,r18
148 0100 D31F adc r29,r19
149 0102 00C0 rjmp .L19
150 .L10:
151 0104 FF24 clr r15
152 0106 0027 clr r16
153 0108 1127 clr r17
154 010a CA01 movw r24,r20
155 010c B901 movw r22,r18
156 010e 20E8 ldi r18,lo8(128)
157 0110 30E0 ldi r19,hi8(128)
158 0112 40E0 ldi r20,hlo8(128)
159 0114 50E0 ldi r21,hhi8(128)
160 0116 0E94 0000 call __divmodsi4
161 011a C801 movw r24,r16
162 011c B701 movw r22,r14
163 011e 0E94 0000 call __mulsi3
164 0122 20E0 ldi r18,lo8(512)
165 0124 32E0 ldi r19,hi8(512)
166 0126 40E0 ldi r20,hlo8(512)
167 0128 50E0 ldi r21,hhi8(512)
168 012a 0E94 0000 call __divmodsi4
169 012e C21B sub r28,r18
170 0130 D30B sbc r29,r19
171 .L19:
172 0132 D093 0000 sts (ServoValue)+1,r29
173 0136 C093 0000 sts ServoValue,r28
174 013a 2091 0000 lds r18,ServoValue
175 013e 3091 0000 lds r19,(ServoValue)+1
176 0142 8091 0000 lds r24,EE_Parameter+35
177 0146 9927 clr r25
178 0148 2817 cp r18,r24
179 014a 3907 cpc r19,r25
180 014c 04F0 brlt .L20
181 014e 8091 0000 lds r24,EE_Parameter+36
182 0152 9927 clr r25
183 0154 8217 cp r24,r18
184 0156 9307 cpc r25,r19
185 0158 04F4 brge .L15
186 .L20:
187 015a 9093 0000 sts (ServoValue)+1,r25
188 015e 8093 0000 sts ServoValue,r24
189 .L15:
190 0162 8091 0000 lds r24,ServoValue
191 0166 8093 B300 sts 179,r24
192 016a 8091 0000 lds r24,EE_Parameter+37
193 016e 8093 0000 sts timer.2116,r24
194 0172 00C0 rjmp .L18
195 .L8:
196 0174 83E0 ldi r24,lo8(3)
197 0176 8093 B000 sts 176,r24
198 017a 5F98 cbi 43-0x20,7
199 .L18:
200 /* epilogue: frame size=0 */
201 017c FF91 pop r31
202 017e EF91 pop r30
203 0180 DF91 pop r29
204 0182 CF91 pop r28
205 0184 BF91 pop r27
206 0186 AF91 pop r26
207 0188 9F91 pop r25
208 018a 8F91 pop r24
209 018c 7F91 pop r23
210 018e 6F91 pop r22
211 0190 5F91 pop r21
212 0192 4F91 pop r20
213 0194 3F91 pop r19
214 0196 2F91 pop r18
215 0198 1F91 pop r17
216 019a 0F91 pop r16
217 019c FF90 pop r15
218 019e EF90 pop r14
219 01a0 0F90 pop __tmp_reg__
220 01a2 0FBE out __SREG__,__tmp_reg__
221 01a4 0F90 pop __tmp_reg__
222 01a6 1F90 pop __zero_reg__
223 01a8 1895 reti
224 /* epilogue end (size=23) */
225 /* function __vector_9 size 163 (117) */
227 .global __vector_18
229 __vector_18:
230 /* prologue: frame size=0 */
231 01aa 1F92 push __zero_reg__
232 01ac 0F92 push __tmp_reg__
233 01ae 0FB6 in __tmp_reg__,__SREG__
234 01b0 0F92 push __tmp_reg__
235 01b2 1124 clr __zero_reg__
236 01b4 2F93 push r18
237 01b6 3F93 push r19
238 01b8 4F93 push r20
239 01ba 5F93 push r21
240 01bc 6F93 push r22
241 01be 7F93 push r23
242 01c0 8F93 push r24
243 01c2 9F93 push r25
244 01c4 AF93 push r26
245 01c6 BF93 push r27
246 01c8 EF93 push r30
247 01ca FF93 push r31
248 /* prologue end (size=17) */
249 01cc 8091 0000 lds r24,cnt.2031
250 01d0 8150 subi r24,lo8(-(-1))
251 01d2 8093 0000 sts cnt.2031,r24
252 01d6 8F3F cpi r24,lo8(-1)
253 01d8 01F4 brne .L22
254 01da 8AE0 ldi r24,lo8(10)
255 01dc 8093 0000 sts cnt.2031,r24
256 01e0 8091 0000 lds r24,cnt_1ms.2030
257 01e4 8F5F subi r24,lo8(-(1))
258 01e6 8170 andi r24,lo8(1)
259 01e8 8093 0000 sts cnt_1ms.2030,r24
260 01ec 8823 tst r24
261 01ee 01F4 brne .L24
262 01f0 81E0 ldi r24,lo8(1)
263 01f2 8093 0000 sts UpdateMotor,r24
264 .L24:
265 01f6 8091 0000 lds r24,CountMilliseconds
266 01fa 9091 0000 lds r25,(CountMilliseconds)+1
267 01fe 0196 adiw r24,1
268 0200 9093 0000 sts (CountMilliseconds)+1,r25
269 0204 8093 0000 sts CountMilliseconds,r24
270 .L22:
271 0208 8091 0000 lds r24,beeptime
272 020c 9091 0000 lds r25,(beeptime)+1
273 0210 0297 sbiw r24,2
274 0212 00F0 brlo .L26
275 0214 8091 0000 lds r24,beeptime
276 0218 9091 0000 lds r25,(beeptime)+1
277 021c 0197 sbiw r24,1
278 021e 9093 0000 sts (beeptime)+1,r25
279 0222 8093 0000 sts beeptime,r24
280 0226 8091 0000 lds r24,beeptime
281 022a 9091 0000 lds r25,(beeptime)+1
282 022e 2091 0000 lds r18,BeepMuster
283 0232 3091 0000 lds r19,(BeepMuster)+1
284 0236 8223 and r24,r18
285 0238 9323 and r25,r19
286 023a 892B or r24,r25
287 023c 01F4 brne .L28
288 023e 00C0 rjmp .L29
289 .L26:
290 0240 8FEF ldi r24,lo8(-1)
291 0242 9FEF ldi r25,hi8(-1)
292 0244 9093 0000 sts (BeepMuster)+1,r25
293 0248 8093 0000 sts BeepMuster,r24
294 .L29:
295 024c 8091 0000 lds r24,PlatinenVersion
296 0250 8A30 cpi r24,lo8(10)
297 0252 01F4 brne .L38
298 0254 00C0 rjmp .L30
299 .L32:
300 0256 5A9A sbi 43-0x20,2
301 0258 00C0 rjmp .L33
302 .L39:
303 025a 479A sbi 40-0x20,7
304 025c 00C0 rjmp .L33
305 .L30:
306 025e 5A98 cbi 43-0x20,2
307 0260 00C0 rjmp .L33
308 .L38:
309 0262 4798 cbi 40-0x20,7
310 .L33:
311 0264 8091 0000 lds r24,EE_Parameter+8
312 0268 83FF sbrs r24,3
313 026a 00C0 rjmp .L37
314 026c 0E94 0000 call timer0_MM3
315 0270 00C0 rjmp .L37
316 .L28:
317 0272 8091 0000 lds r24,PlatinenVersion
318 0276 8A30 cpi r24,lo8(10)
319 0278 01F4 brne .L39
320 027a 00C0 rjmp .L32
321 .L37:
322 /* epilogue: frame size=0 */
323 027c FF91 pop r31
324 027e EF91 pop r30
325 0280 BF91 pop r27
326 0282 AF91 pop r26
327 0284 9F91 pop r25
328 0286 8F91 pop r24
329 0288 7F91 pop r23
330 028a 6F91 pop r22
331 028c 5F91 pop r21
332 028e 4F91 pop r20
333 0290 3F91 pop r19
334 0292 2F91 pop r18
335 0294 0F90 pop __tmp_reg__
336 0296 0FBE out __SREG__,__tmp_reg__
337 0298 0F90 pop __tmp_reg__
338 029a 1F90 pop __zero_reg__
339 029c 1895 reti
340 /* epilogue end (size=17) */
341 /* function __vector_18 size 123 (89) */
343 .global Delay_ms_Mess
345 Delay_ms_Mess:
346 /* prologue: frame size=0 */
347 /* prologue end (size=0) */
348 029e 2091 0000 lds r18,CountMilliseconds
349 02a2 3091 0000 lds r19,(CountMilliseconds)+1
350 02a6 2F5F subi r18,lo8(-(1))
351 02a8 3F4F sbci r19,hi8(-(1))
352 02aa 280F add r18,r24
353 02ac 391F adc r19,r25
354 02ae 4FEE ldi r20,lo8(-17)
355 02b0 00C0 rjmp .L41
356 .L42:
357 02b2 4093 7A00 sts 122,r20
358 .L41:
359 02b6 8091 0000 lds r24,CountMilliseconds
360 02ba 9091 0000 lds r25,(CountMilliseconds)+1
361 02be B901 movw r22,r18
362 02c0 681B sub r22,r24
363 02c2 790B sbc r23,r25
364 02c4 77FF sbrs r23,7
365 02c6 00C0 rjmp .L42
366 /* epilogue: frame size=0 */
367 02c8 0895 ret
368 /* epilogue end (size=1) */
369 /* function Delay_ms_Mess size 22 (21) */
371 .global Delay_ms
373 Delay_ms:
374 /* prologue: frame size=0 */
375 /* prologue end (size=0) */
376 02ca 2091 0000 lds r18,CountMilliseconds
377 02ce 3091 0000 lds r19,(CountMilliseconds)+1
378 02d2 2F5F subi r18,lo8(-(1))
379 02d4 3F4F sbci r19,hi8(-(1))
380 02d6 280F add r18,r24
381 02d8 391F adc r19,r25
382 .L46:
383 02da 8091 0000 lds r24,CountMilliseconds
384 02de 9091 0000 lds r25,(CountMilliseconds)+1
385 02e2 A901 movw r20,r18
386 02e4 481B sub r20,r24
387 02e6 590B sbc r21,r25
388 02e8 57FF sbrs r21,7
389 02ea 00C0 rjmp .L46
390 /* epilogue: frame size=0 */
391 02ec 0895 ret
392 /* epilogue end (size=1) */
393 /* function Delay_ms size 18 (17) */
395 .global CountMilliseconds
396 .global CountMilliseconds
397 .section .bss
400 CountMilliseconds:
401 0000 0000 .skip 2,0
402 .global UpdateMotor
403 .global UpdateMotor
406 UpdateMotor:
407 0002 00 .skip 1,0
408 .global beeptime
409 .global beeptime
412 beeptime:
413 0003 0000 .skip 2,0
414 .global BeepMuster
415 .data
418 BeepMuster:
419 0000 FFFF .word -1
420 .global ServoValue
421 .global ServoValue
422 .section .bss
425 ServoValue:
426 0005 0000 .skip 2,0
427 .data
430 timer.2116:
431 0002 0A .byte 10
432 .lcomm cnt.2031,1
435 cnt_1ms.2030:
436 0003 01 .byte 1
437 /* File "timer0.c": code 376 = 0x0178 ( 291), prologues 40, epilogues 45 */
DEFINED SYMBOLS
*ABS*:00000000 timer0.c
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:13 .text:00000000 Timer_Init
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:47 .text:0000003a SetDelay
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:400 .bss:00000000 CountMilliseconds
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:63 .text:0000004c CheckDelay
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:82 .text:00000064 __vector_9
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:430 .data:00000002 timer.2116
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:425 .bss:00000005 ServoValue
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:229 .text:000001aa __vector_18
.bss:00000007 cnt.2031
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:435 .data:00000003 cnt_1ms.2030
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:406 .bss:00000002 UpdateMotor
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:412 .bss:00000003 beeptime
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:418 .data:00000000 BeepMuster
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:345 .text:0000029e Delay_ms_Mess
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:373 .text:000002ca Delay_ms
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
Parameter_ServoNickControl
EE_Parameter
IntegralNick
__divmodsi4
__mulsi3
PlatinenVersion
timer0_MM3
/branches/MicroMag3_Nick666/Festkomma/V0.68d/twimaster.c
0,0 → 1,134
/*############################################################################
############################################################################*/
 
#include "main.h"
 
unsigned char twi_state = 0;
unsigned char motor = 0;
unsigned char motor_rx[8];
 
//############################################################################
//Initzialisieren der I2C (TWI) Schnittstelle
void i2c_init(void)
//############################################################################
{
TWSR = 0;
TWBR = ((SYSCLK/SCL_CLOCK)-16)/2;
}
 
//############################################################################
//Start I2C
void i2c_start(void)
//############################################################################
{
TWCR = (1<<TWSTA) | (1<<TWEN) | (1<<TWINT) | (1<<TWIE);
}
 
//############################################################################
//Stop I2C
void i2c_stop(void)
//############################################################################
{
TWCR = (1<<TWEN) | (1<<TWSTO) | (1<<TWINT);
}
 
void i2c_reset(void)
//############################################################################
{
i2c_stop();
twi_state = 0;
motor = TWDR;
motor = 0;
TWCR = 0x80;
TWAMR = 0;
TWAR = 0;
TWDR = 0;
TWSR = 0;
TWBR = 0;
i2c_init();
i2c_start();
i2c_write_byte(0);
}
 
//############################################################################
//Write to I2C
void i2c_write_byte(char byte)
//############################################################################
{
TWDR = byte;
TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWIE);
}
 
//############################################################################
// I2C receive byte and send ACK
void i2c_receive_byte(void)
//############################################################################
{
TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWIE) | (1<<TWEA);
}
 
//############################################################################
// I2C receive last byte and send NOT ACK
void i2c_receive_last_byte(void)
//############################################################################
{
TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWIE);
}
 
//############################################################################
//Start I2C
SIGNAL (TWI_vect)
//############################################################################
{
static unsigned char motorread = 0;
 
switch (twi_state++) // First i2c_start from SendMotorData()
{
// Master Transmit
case 0: // Address Slave SL+W
i2c_write_byte(0x52+(motor*2));
break;
case 1: // Send Data
switch(motor++)
{
case 0:
i2c_write_byte(Motor_Vorne);
break;
case 1:
i2c_write_byte(Motor_Hinten);
break;
case 2:
i2c_write_byte(Motor_Rechts);
break;
case 3:
i2c_write_byte(Motor_Links);
break;
}
break;
case 2: // Repeat case 0+1 for all Slaves
if (motor < 4) twi_state = 0;
i2c_start(); // Repeated start -> switch salve or switch Master Transmit -> Master Receive
break;
 
// Master Receive
case 3: // Address Slave SL+R
i2c_write_byte(0x53+(motorread*2));
break;
case 4: //1. Byte vom Motor übertragen
i2c_receive_byte();
break;
case 5: // 1. Byte lesen und 2. Byte übertragen
motor_rx[motorread] = TWDR;
i2c_receive_last_byte();
break;
case 6: //2. Byte lesen
motor_rx[motorread+4] = TWDR;
motorread++;
if (motorread > 3) motorread=0;
default:
i2c_stop();
twi_state = 0;
I2CTimeout = 10;
motor = 0;
}
}
/branches/MicroMag3_Nick666/Festkomma/V0.68d/twimaster.d
0,0 → 1,3
twimaster.o twimaster.d : twimaster.c main.h old_macros.h _Settings.h printf_P.h \
timer0.h uart.h analog.h twimaster.h menu.h rc.h fc.h gps.h compass.h \
mymath.h
/branches/MicroMag3_Nick666/Festkomma/V0.68d/twimaster.h
0,0 → 1,33
/*############################################################################
############################################################################*/
 
#ifndef _I2C_MASTER_H
#define _I2C_MASTER_H
 
//############################################################################
 
// I2C Konstanten
#define SCL_CLOCK 200000L
#define I2C_TIMEOUT 30000
#define I2C_START 0x08
#define I2C_REPEATED_START 0x10
#define I2C_TX_SLA_ACK 0x18
#define I2C_TX_DATA_ACK 0x28
#define I2C_RX_SLA_ACK 0x40
#define I2C_RX_DATA_ACK 0x50
 
//############################################################################
 
extern unsigned char twi_state;
extern unsigned char motor;
extern unsigned char motorread;
extern unsigned char motor_rx[8];
 
void i2c_reset(void);
extern void i2c_init (void); // I2C initialisieren
extern void i2c_start (void); // Start I2C
extern void i2c_stop (void); // Stop I2C
extern void i2c_write_byte (char byte); // 1 Byte schreiben
extern void i2c_reset(void);
 
#endif
/branches/MicroMag3_Nick666/Festkomma/V0.68d/twimaster.lst
0,0 → 1,287
1 .file "twimaster.c"
2 .arch atmega644
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
10 .text
11 .global i2c_init
13 i2c_init:
14 /* prologue: frame size=0 */
15 /* prologue end (size=0) */
16 0000 1092 B900 sts 185,__zero_reg__
17 0004 8AE2 ldi r24,lo8(42)
18 0006 8093 B800 sts 184,r24
19 /* epilogue: frame size=0 */
20 000a 0895 ret
21 /* epilogue end (size=1) */
22 /* function i2c_init size 6 (5) */
24 .global i2c_start
26 i2c_start:
27 /* prologue: frame size=0 */
28 /* prologue end (size=0) */
29 000c 85EA ldi r24,lo8(-91)
30 000e 8093 BC00 sts 188,r24
31 /* epilogue: frame size=0 */
32 0012 0895 ret
33 /* epilogue end (size=1) */
34 /* function i2c_start size 4 (3) */
36 .global i2c_stop
38 i2c_stop:
39 /* prologue: frame size=0 */
40 /* prologue end (size=0) */
41 0014 84E9 ldi r24,lo8(-108)
42 0016 8093 BC00 sts 188,r24
43 /* epilogue: frame size=0 */
44 001a 0895 ret
45 /* epilogue end (size=1) */
46 /* function i2c_stop size 4 (3) */
48 .global i2c_write_byte
50 i2c_write_byte:
51 /* prologue: frame size=0 */
52 /* prologue end (size=0) */
53 001c 8093 BB00 sts 187,r24
54 0020 85E8 ldi r24,lo8(-123)
55 0022 8093 BC00 sts 188,r24
56 /* epilogue: frame size=0 */
57 0026 0895 ret
58 /* epilogue end (size=1) */
59 /* function i2c_write_byte size 6 (5) */
61 .global i2c_receive_byte
63 i2c_receive_byte:
64 /* prologue: frame size=0 */
65 /* prologue end (size=0) */
66 0028 85EC ldi r24,lo8(-59)
67 002a 8093 BC00 sts 188,r24
68 /* epilogue: frame size=0 */
69 002e 0895 ret
70 /* epilogue end (size=1) */
71 /* function i2c_receive_byte size 4 (3) */
73 .global i2c_receive_last_byte
75 i2c_receive_last_byte:
76 /* prologue: frame size=0 */
77 /* prologue end (size=0) */
78 0030 85E8 ldi r24,lo8(-123)
79 0032 8093 BC00 sts 188,r24
80 /* epilogue: frame size=0 */
81 0036 0895 ret
82 /* epilogue end (size=1) */
83 /* function i2c_receive_last_byte size 4 (3) */
85 .global __vector_26
87 __vector_26:
88 /* prologue: frame size=0 */
89 0038 1F92 push __zero_reg__
90 003a 0F92 push __tmp_reg__
91 003c 0FB6 in __tmp_reg__,__SREG__
92 003e 0F92 push __tmp_reg__
93 0040 1124 clr __zero_reg__
94 0042 8F93 push r24
95 0044 9F93 push r25
96 0046 EF93 push r30
97 0048 FF93 push r31
98 /* prologue end (size=9) */
99 004a 8091 0000 lds r24,twi_state
100 004e 8F5F subi r24,lo8(-(1))
101 0050 8093 0000 sts twi_state,r24
102 0054 8150 subi r24,lo8(-(-1))
103 0056 8330 cpi r24,lo8(3)
104 0058 01F0 breq .L18
105 005a 8430 cpi r24,lo8(4)
106 005c 00F4 brsh .L22
107 005e 8130 cpi r24,lo8(1)
108 0060 01F0 breq .L16
109 0062 8230 cpi r24,lo8(2)
110 0064 00F4 brsh .L17
111 0066 00C0 rjmp .L32
112 .L22:
113 0068 8530 cpi r24,lo8(5)
114 006a 01F0 breq .L20
115 006c 8530 cpi r24,lo8(5)
116 006e 00F0 brlo .L19
117 0070 8630 cpi r24,lo8(6)
118 0072 01F0 breq .+2
119 0074 00C0 rjmp .L14
120 0076 00C0 rjmp .L21
121 .L32:
122 0078 8091 0000 lds r24,motor
123 007c 880F lsl r24
124 007e 8E5A subi r24,lo8(-(82))
125 0080 00C0 rjmp .L33
126 .L16:
127 0082 8091 0000 lds r24,motor
128 0086 8F5F subi r24,lo8(-(1))
129 0088 8093 0000 sts motor,r24
130 008c 8150 subi r24,lo8(-(-1))
131 008e 8130 cpi r24,lo8(1)
132 0090 01F0 breq .L25
133 0092 8130 cpi r24,lo8(1)
134 0094 00F0 brlo .L24
135 0096 8230 cpi r24,lo8(2)
136 0098 01F0 breq .L26
137 009a 8330 cpi r24,lo8(3)
138 009c 01F0 breq .+2
139 009e 00C0 rjmp .L31
140 00a0 00C0 rjmp .L27
141 .L24:
142 00a2 8091 0000 lds r24,Motor_Vorne
143 .L33:
144 00a6 8093 BB00 sts 187,r24
145 .L34:
146 00aa 85E8 ldi r24,lo8(-123)
147 .L35:
148 00ac 8093 BC00 sts 188,r24
149 00b0 00C0 rjmp .L31
150 .L25:
151 00b2 8091 0000 lds r24,Motor_Hinten
152 00b6 00C0 rjmp .L33
153 .L26:
154 00b8 8091 0000 lds r24,Motor_Rechts
155 00bc 00C0 rjmp .L33
156 .L27:
157 00be 8091 0000 lds r24,Motor_Links
158 00c2 00C0 rjmp .L33
159 .L17:
160 00c4 8091 0000 lds r24,motor
161 00c8 8430 cpi r24,lo8(4)
162 00ca 00F4 brsh .L28
163 00cc 1092 0000 sts twi_state,__zero_reg__
164 .L28:
165 00d0 85EA ldi r24,lo8(-91)
166 00d2 00C0 rjmp .L35
167 .L18:
168 00d4 8091 0000 lds r24,motorread.2054
169 00d8 880F lsl r24
170 00da 8D5A subi r24,lo8(-(83))
171 00dc 00C0 rjmp .L33
172 .L19:
173 00de 85EC ldi r24,lo8(-59)
174 00e0 00C0 rjmp .L35
175 .L20:
176 00e2 8091 BB00 lds r24,187
177 00e6 E091 0000 lds r30,motorread.2054
178 00ea FF27 clr r31
179 00ec E050 subi r30,lo8(-(motor_rx))
180 00ee F040 sbci r31,hi8(-(motor_rx))
181 00f0 8083 st Z,r24
182 00f2 00C0 rjmp .L34
183 .L21:
184 00f4 8091 0000 lds r24,motorread.2054
185 00f8 9091 BB00 lds r25,187
186 00fc E82F mov r30,r24
187 00fe FF27 clr r31
188 0100 E050 subi r30,lo8(-(motor_rx))
189 0102 F040 sbci r31,hi8(-(motor_rx))
190 0104 9483 std Z+4,r25
191 0106 8F5F subi r24,lo8(-(1))
192 0108 8093 0000 sts motorread.2054,r24
193 010c 8430 cpi r24,lo8(4)
194 010e 00F0 brlo .L14
195 0110 1092 0000 sts motorread.2054,__zero_reg__
196 .L14:
197 0114 84E9 ldi r24,lo8(-108)
198 0116 8093 BC00 sts 188,r24
199 011a 1092 0000 sts twi_state,__zero_reg__
200 011e 8AE0 ldi r24,lo8(10)
201 0120 90E0 ldi r25,hi8(10)
202 0122 9093 0000 sts (I2CTimeout)+1,r25
203 0126 8093 0000 sts I2CTimeout,r24
204 012a 1092 0000 sts motor,__zero_reg__
205 .L31:
206 /* epilogue: frame size=0 */
207 012e FF91 pop r31
208 0130 EF91 pop r30
209 0132 9F91 pop r25
210 0134 8F91 pop r24
211 0136 0F90 pop __tmp_reg__
212 0138 0FBE out __SREG__,__tmp_reg__
213 013a 0F90 pop __tmp_reg__
214 013c 1F90 pop __zero_reg__
215 013e 1895 reti
216 /* epilogue end (size=9) */
217 /* function __vector_26 size 132 (114) */
219 .global i2c_reset
221 i2c_reset:
222 /* prologue: frame size=0 */
223 /* prologue end (size=0) */
224 0140 4CEB ldi r20,lo8(188)
225 0142 50E0 ldi r21,hi8(188)
226 0144 84E9 ldi r24,lo8(-108)
227 0146 FA01 movw r30,r20
228 0148 8083 st Z,r24
229 014a 1092 0000 sts twi_state,__zero_reg__
230 014e 2BEB ldi r18,lo8(187)
231 0150 30E0 ldi r19,hi8(187)
232 0152 F901 movw r30,r18
233 0154 8081 ld r24,Z
234 0156 1092 0000 sts motor,__zero_reg__
235 015a 80E8 ldi r24,lo8(-128)
236 015c FA01 movw r30,r20
237 015e 8083 st Z,r24
238 0160 1092 BD00 sts 189,__zero_reg__
239 0164 1092 BA00 sts 186,__zero_reg__
240 0168 F901 movw r30,r18
241 016a 1082 st Z,__zero_reg__
242 016c E9EB ldi r30,lo8(185)
243 016e F0E0 ldi r31,hi8(185)
244 0170 1082 st Z,__zero_reg__
245 0172 A8EB ldi r26,lo8(184)
246 0174 B0E0 ldi r27,hi8(184)
247 0176 1C92 st X,__zero_reg__
248 0178 1082 st Z,__zero_reg__
249 017a 8AE2 ldi r24,lo8(42)
250 017c 8C93 st X,r24
251 017e 85EA ldi r24,lo8(-91)
252 0180 FA01 movw r30,r20
253 0182 8083 st Z,r24
254 0184 F901 movw r30,r18
255 0186 1082 st Z,__zero_reg__
256 0188 85E8 ldi r24,lo8(-123)
257 018a FA01 movw r30,r20
258 018c 8083 st Z,r24
259 /* epilogue: frame size=0 */
260 018e 0895 ret
261 /* epilogue end (size=1) */
262 /* function i2c_reset size 40 (39) */
264 .global twi_state
265 .global twi_state
266 .section .bss
269 twi_state:
270 0000 00 .skip 1,0
271 .global motor
272 .global motor
275 motor:
276 0001 00 .skip 1,0
277 .lcomm motorread.2054,1
278 .comm motor_rx,8,1
279 /* File "twimaster.c": code 200 = 0x00c8 ( 175), prologues 9, epilogues 16 */
DEFINED SYMBOLS
*ABS*:00000000 twimaster.c
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:13 .text:00000000 i2c_init
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:26 .text:0000000c i2c_start
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:38 .text:00000014 i2c_stop
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:50 .text:0000001c i2c_write_byte
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:63 .text:00000028 i2c_receive_byte
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:75 .text:00000030 i2c_receive_last_byte
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:87 .text:00000038 __vector_26
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:269 .bss:00000000 twi_state
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:275 .bss:00000001 motor
.bss:00000002 motorread.2054
*COM*:00000008 motor_rx
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:221 .text:00000140 i2c_reset
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
Motor_Vorne
Motor_Hinten
Motor_Rechts
Motor_Links
I2CTimeout
/branches/MicroMag3_Nick666/Festkomma/V0.68d/uart.c
0,0 → 1,402
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Copyright (c) 04.2007 Holger Buss
// + only for non-profit use
// + www.MikroKopter.com
// + see the File "License.txt" for further Informations
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
#include "main.h"
#include "uart.h"
 
unsigned char DebugGetAnforderung = 0,DebugDisplayAnforderung = 0,DebugDataAnforderung = 0,GetVersionAnforderung = 0;
unsigned char SendeBuffer[MAX_SENDE_BUFF];
unsigned char RxdBuffer[MAX_EMPFANGS_BUFF];
unsigned volatile char NMEABuffer[MAX_EMPFANGS_BUFF];
unsigned volatile char NeuerDatensatzEmpfangen = 0;
unsigned volatile char NeueKoordinateEmpfangen = 0;
unsigned volatile char UebertragungAbgeschlossen = 1;
unsigned volatile char CntCrcError = 0;
unsigned volatile char AnzahlEmpfangsBytes = 0;
unsigned volatile char PC_DebugTimeout = 0;
unsigned char RemotePollDisplayLine = 0;
unsigned char NurKanalAnforderung = 0;
unsigned char DebugTextAnforderung = 255;
unsigned char PcZugriff = 100;
unsigned char MotorTest[4] = {0,0,0,0};
unsigned char DubWiseKeys[4] = {0,0,0,0};
unsigned char MeineSlaveAdresse;
unsigned char ConfirmFrame;
struct str_DebugOut DebugOut;
struct str_ExternControl ExternControl;
struct str_VersionInfo VersionInfo;
int Debug_Timer;
 
const unsigned char ANALOG_TEXT[32][16] =
{
//1234567890123456
"IntegralNick ", //0
"IntegralRoll ",
"AccNick ",
"AccRoll ",
"GyroGier ",
"HoehenWert ", //5
"AccZ ",
"Gas ",
"KompassValue ",
"Spannung ",
"Empfang ", //10
"Analog11 ",
"Motor_Vorne ",
"Motor_Hinten ",
"Motor_Links ",
"Motor_Rechts ", //15
"Acc_Z ",
"MittelAccNick ",
"MittelAccRoll ",
"IntegralErrNick ",
"IntegralErrRoll ", //20
"MittelIntNick ",
"MittelIntRoll ",
"NeutralNick ",
"RollOffset ",
"IntRoll*Faktor ", //25
"Analog26 ",
"DirektAusglRoll ",
"MesswertRoll ",
"AusgleichRoll ",
"I-LageRoll ", //30
"StickRoll "
};
 
 
 
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ Sende-Part der Datenübertragung
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SIGNAL(INT_VEC_TX)
{
static unsigned int ptr = 0;
unsigned char tmp_tx;
if(!UebertragungAbgeschlossen)
{
ptr++; // die [0] wurde schon gesendet
tmp_tx = SendeBuffer[ptr];
if((tmp_tx == '\r') || (ptr == MAX_SENDE_BUFF))
{
ptr = 0;
UebertragungAbgeschlossen = 1;
}
UDR = tmp_tx;
}
else ptr = 0;
}
 
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ Empfangs-Part der Datenübertragung, incl. CRC-Auswertung
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SIGNAL(INT_VEC_RX)
{
static unsigned int crc;
static unsigned char crc1,crc2,buf_ptr;
static unsigned char UartState = 0;
unsigned char SioTmp;
 
SioTmp = UDR;
if(buf_ptr >= MAX_EMPFANGS_BUFF) UartState = 0;
if(buf_ptr == 0)
{
if(SioTmp == '#' && !NeuerDatensatzEmpfangen) buf_ptr = 1; // Startzeichen und Daten schon verarbeitet
RxdBuffer[0] = SioTmp;
crc = SioTmp;
}
#if 0
else if ((buf_ptr == 1) // Adresse auswerten
{
RxdBuffer[buf_ptr++] = SioTmp;
crc += SioTmp;
}
#endif
else if (/*(buf_ptr > 0) && */(buf_ptr < MAX_EMPFANGS_BUFF))
{ // Eingangsdaten sammeln
if(SioTmp != '\r')
{
RxdBuffer[buf_ptr++] = SioTmp;
crc += SioTmp;
}
else
{
crc -= RxdBuffer[buf_ptr-2];
crc -= RxdBuffer[buf_ptr-1];
crc %= 4096;
crc1 = '=' + crc / 64;
crc2 = '=' + crc % 64;
// CrcOkay = 0;
if((crc1 == RxdBuffer[buf_ptr-2]) && (crc2 == RxdBuffer[buf_ptr-1]))
{
if(!NeuerDatensatzEmpfangen) // Datensatz schon verarbeitet
{
NeuerDatensatzEmpfangen = 1;
AnzahlEmpfangsBytes = buf_ptr;
RxdBuffer[buf_ptr] = '\r';
if(RxdBuffer[2] == 'R') wdt_enable(WDTO_250MS); // Reset-Commando
}
}
else { CntCrcError++;}
buf_ptr = 0;
}
}
else
{
buf_ptr = 0;
}
}
 
 
// --------------------------------------------------------------------------
void AddCRC(unsigned int wieviele)
{
unsigned int tmpCRC = 0,i;
for(i = 0; i < wieviele;i++)
{
tmpCRC += SendeBuffer[i];
}
tmpCRC %= 4096;
SendeBuffer[i++] = '=' + tmpCRC / 64;
SendeBuffer[i++] = '=' + tmpCRC % 64;
SendeBuffer[i++] = '\r';
UebertragungAbgeschlossen = 0;
UDR = SendeBuffer[0];
}
 
 
 
// --------------------------------------------------------------------------
void SendOutData(unsigned char cmd,unsigned char modul, unsigned char *snd, unsigned char len)
{
unsigned int pt = 0;
unsigned char a,b,c;
unsigned char ptr = 0;
 
SendeBuffer[pt++] = '#'; // Startzeichen
SendeBuffer[pt++] = modul; // Adresse (a=0; b=1,...)
SendeBuffer[pt++] = cmd; // Commando
 
while(len)
{
if(len) { a = snd[ptr++]; len--;} else a = 0;
if(len) { b = snd[ptr++]; len--;} else b = 0;
if(len) { c = snd[ptr++]; len--;} else c = 0;
SendeBuffer[pt++] = '=' + (a >> 2);
SendeBuffer[pt++] = '=' + (((a & 0x03) << 4) | ((b & 0xf0) >> 4));
SendeBuffer[pt++] = '=' + (((b & 0x0f) << 2) | ((c & 0xc0) >> 6));
SendeBuffer[pt++] = '=' + ( c & 0x3f);
}
AddCRC(pt);
}
 
 
// --------------------------------------------------------------------------
void Decode64(unsigned char *ptrOut, unsigned char len, unsigned char ptrIn,unsigned char max) // Wohin mit den Daten; Wie lang; Wo im RxdBuffer
{
unsigned char a,b,c,d;
unsigned char ptr = 0;
unsigned char x,y,z;
while(len)
{
a = RxdBuffer[ptrIn++] - '=';
b = RxdBuffer[ptrIn++] - '=';
c = RxdBuffer[ptrIn++] - '=';
d = RxdBuffer[ptrIn++] - '=';
if(ptrIn > max - 2) break; // nicht mehr Daten verarbeiten, als empfangen wurden
 
x = (a << 2) | (b >> 4);
y = ((b & 0x0f) << 4) | (c >> 2);
z = ((c & 0x03) << 6) | d;
 
if(len--) ptrOut[ptr++] = x; else break;
if(len--) ptrOut[ptr++] = y; else break;
if(len--) ptrOut[ptr++] = z; else break;
}
 
}
 
// --------------------------------------------------------------------------
void BearbeiteRxDaten(void)
{
if(!NeuerDatensatzEmpfangen) return;
 
// unsigned int tmp_int_arr1[1];
// unsigned int tmp_int_arr2[2];
// unsigned int tmp_int_arr3[3];
unsigned char tmp_char_arr2[2];
// unsigned char tmp_char_arr3[3];
// unsigned char tmp_char_arr4[4];
//if(!MotorenEin)
PcZugriff = 255;
switch(RxdBuffer[2])
{
case 'a':// Texte der Analogwerte
Decode64((unsigned char *) &tmp_char_arr2[0],sizeof(tmp_char_arr2),3,AnzahlEmpfangsBytes);
DebugTextAnforderung = tmp_char_arr2[0];
break;
case 'b':
Decode64((unsigned char *) &ExternControl,sizeof(ExternControl),3,AnzahlEmpfangsBytes);
RemoteTasten |= ExternControl.RemoteTasten;
ConfirmFrame = ExternControl.Frame;
break;
case 'c':
Decode64((unsigned char *) &ExternControl,sizeof(ExternControl),3,AnzahlEmpfangsBytes);
RemoteTasten |= ExternControl.RemoteTasten;
ConfirmFrame = ExternControl.Frame;
DebugDataAnforderung = 1;
break;
case 'h':// x-1 Displayzeilen
Decode64((unsigned char *) &tmp_char_arr2[0],sizeof(tmp_char_arr2),3,AnzahlEmpfangsBytes);
RemoteTasten |= tmp_char_arr2[0];
if(tmp_char_arr2[1] == 255) NurKanalAnforderung = 1; else NurKanalAnforderung = 0; // keine Displaydaten
DebugDisplayAnforderung = 1;
break;
case 't':// Motortest
Decode64((unsigned char *) &MotorTest[0],sizeof(MotorTest),3,AnzahlEmpfangsBytes);
break;
case 'k':// Keys von DubWise
Decode64((unsigned char *) &DubWiseKeys[0],sizeof(DubWiseKeys),3,AnzahlEmpfangsBytes);
ConfirmFrame = DubWiseKeys[3];
break;
case 'v': // Version-Anforderung und Ausbaustufe
GetVersionAnforderung = 1;
break;
case 'g':// "Get"-Anforderung für Debug-Daten
// Bei Get werden die vom PC einstellbaren Werte vom PC zurückgelesen
DebugGetAnforderung = 1;
break;
case 'q':// "Get"-Anforderung für Settings
// Bei Get werden die vom PC einstellbaren Werte vom PC zurückgelesen
Decode64((unsigned char *) &tmp_char_arr2[0],sizeof(tmp_char_arr2),3,AnzahlEmpfangsBytes);
if(tmp_char_arr2[0] != 0xff)
{
if(tmp_char_arr2[0] > 5) tmp_char_arr2[0] = 5;
ReadParameterSet(tmp_char_arr2[0], (unsigned char *) &EE_Parameter.Kanalbelegung[0], sizeof(struct mk_param_struct));
SendOutData('L' + tmp_char_arr2[0] -1,MeineSlaveAdresse,(unsigned char *) &EE_Parameter.Kanalbelegung[0],sizeof(struct mk_param_struct));
}
else
SendOutData('L' + GetActiveParamSetNumber()-1,MeineSlaveAdresse,(unsigned char *) &EE_Parameter.Kanalbelegung[0],sizeof(struct mk_param_struct));
break;
case 'l':
case 'm':
case 'n':
case 'o':
case 'p': // Parametersatz speichern
Decode64((unsigned char *) &EE_Parameter.Kanalbelegung[0],sizeof(struct mk_param_struct),3,AnzahlEmpfangsBytes);
WriteParameterSet(RxdBuffer[2] - 'l' + 1, (unsigned char *) &EE_Parameter.Kanalbelegung[0], sizeof(struct mk_param_struct));
eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], RxdBuffer[2] - 'l' + 1); // aktiven Datensatz merken
Umschlag180Nick = (long) EE_Parameter.WinkelUmschlagNick * 2500L;
Umschlag180Roll = (long) EE_Parameter.WinkelUmschlagRoll * 2500L;
Piep(GetActiveParamSetNumber());
break;
}
// DebugOut.AnzahlZyklen = Debug_Timer_Intervall;
NeuerDatensatzEmpfangen = 0;
}
 
//############################################################################
//Routine für die Serielle Ausgabe
int uart_putchar (char c)
//############################################################################
{
if (c == '\n')
uart_putchar('\r');
//Warten solange bis Zeichen gesendet wurde
loop_until_bit_is_set(USR, UDRE);
//Ausgabe des Zeichens
UDR = c;
return (0);
}
 
// --------------------------------------------------------------------------
void WriteProgramData(unsigned int pos, unsigned char wert)
{
//if (ProgramLocation == IN_RAM) Buffer[pos] = wert;
// else eeprom_write_byte(&EE_Buffer[pos], wert);
// Buffer[pos] = wert;
}
 
//############################################################################
//INstallation der Seriellen Schnittstelle
void UART_Init (void)
//############################################################################
{
//Enable TXEN im Register UCR TX-Data Enable & RX Enable
 
UCR=(1 << TXEN) | (1 << RXEN);
// UART Double Speed (U2X)
USR |= (1<<U2X);
// RX-Interrupt Freigabe
UCSRB |= (1<<RXCIE);
// TX-Interrupt Freigabe
UCSRB |= (1<<TXCIE);
 
//Teiler wird gesetzt
UBRR=(SYSCLK / (BAUD_RATE * 8L) - 1);
//UBRR = 33;
//öffnet einen Kanal für printf (STDOUT)
//fdevopen (uart_putchar, 0);
//sbi(PORTD,4);
Debug_Timer = SetDelay(200);
}
 
//---------------------------------------------------------------------------------------------
void DatenUebertragung(void)
{
if(!UebertragungAbgeschlossen) return;
 
if(DebugGetAnforderung && UebertragungAbgeschlossen) // Bei Get werden die vom PC einstellbaren Werte vom PC zurückgelesen
{
SendOutData('G',MeineSlaveAdresse,(unsigned char *) &ExternControl,sizeof(ExternControl));
DebugGetAnforderung = 0;
}
 
if((CheckDelay(Debug_Timer) || DebugDataAnforderung) && UebertragungAbgeschlossen)
{
SendOutData('D',MeineSlaveAdresse,(unsigned char *) &DebugOut,sizeof(DebugOut));
DebugDataAnforderung = 0;
Debug_Timer = SetDelay(MIN_DEBUG_INTERVALL);
}
if(DebugTextAnforderung != 255) // Texte für die Analogdaten
{
SendOutData('A',DebugTextAnforderung + '0',(unsigned char *) ANALOG_TEXT[DebugTextAnforderung],16);
DebugTextAnforderung = 255;
}
if(ConfirmFrame && UebertragungAbgeschlossen) // Datensatz ohne CRC bestätigen
{
SendeBuffer[0] = '#';
SendeBuffer[1] = ConfirmFrame;
SendeBuffer[2] = '\r';
UebertragungAbgeschlossen = 0;
ConfirmFrame = 0;
UDR = SendeBuffer[0];
}
if(DebugDisplayAnforderung && UebertragungAbgeschlossen)
{
Menu();
DebugDisplayAnforderung = 0;
if(++RemotePollDisplayLine == 4 || NurKanalAnforderung)
{
SendOutData('4',0,(unsigned char *)&PPM_in,sizeof(PPM_in)); // DisplayZeile übertragen
RemotePollDisplayLine = -1;
}
else SendOutData('0' + RemotePollDisplayLine,0,(unsigned char *)&DisplayBuff[20 * RemotePollDisplayLine],20); // DisplayZeile übertragen
}
if(GetVersionAnforderung && UebertragungAbgeschlossen)
{
SendOutData('V',MeineSlaveAdresse,(unsigned char *) &VersionInfo,sizeof(VersionInfo));
GetVersionAnforderung = 0;
}
 
}
 
/branches/MicroMag3_Nick666/Festkomma/V0.68d/uart.d
0,0 → 1,2
uart.o uart.d : uart.c main.h old_macros.h _Settings.h printf_P.h timer0.h uart.h \
analog.h twimaster.h menu.h rc.h fc.h gps.h compass.h mymath.h
/branches/MicroMag3_Nick666/Festkomma/V0.68d/uart.h
0,0 → 1,107
#ifndef _UART_H
#define _UART_H
 
#define MAX_SENDE_BUFF 150
#define MAX_EMPFANGS_BUFF 150
#define DUB_KEY_UP 4
#define DUB_KEY_DOWN 8
#define DUB_KEY_RIGHT 32
#define DUB_KEY_LEFT 16
#define DUB_KEY_FIRE 64
 
void BearbeiteRxDaten(void);
 
extern unsigned char DebugGetAnforderung;
extern unsigned char SendeBuffer[MAX_SENDE_BUFF];
extern unsigned char RxdBuffer[MAX_EMPFANGS_BUFF];
extern unsigned volatile char UebertragungAbgeschlossen;
extern unsigned volatile char PC_DebugTimeout;
extern unsigned volatile char NeueKoordinateEmpfangen;
extern unsigned char MeineSlaveAdresse;
extern unsigned char PcZugriff;
extern unsigned char RemotePollDisplayLine;
extern int Debug_Timer;
extern void UART_Init (void);
extern int uart_putchar (char c);
extern void boot_program_page (uint32_t page, uint8_t *buf);
extern void DatenUebertragung(void);
extern void DecodeNMEA(void);
extern void BearbeiteRxDaten(void);
extern unsigned char MotorTest[4];
extern unsigned char DubWiseKeys[4];
struct str_DebugOut
{
unsigned char Digital[2];
unsigned int Analog[32]; // Debugwerte
};
 
extern struct str_DebugOut DebugOut;
 
struct str_ExternControl
{
unsigned char Digital[2];
unsigned char RemoteTasten;
signed char Nick;
signed char Roll;
signed char Gier;
unsigned char Gas;
signed char Hight;
unsigned char free;
unsigned char Frame;
unsigned char Config;
};
extern struct str_ExternControl ExternControl;
 
struct str_VersionInfo
{
unsigned char Hauptversion;
unsigned char Nebenversion;
unsigned char PCKompatibel;
unsigned char Rserved[7];
};
extern struct str_VersionInfo VersionInfo;
 
//Die Baud_Rate der Seriellen Schnittstelle ist 9600 Baud
//#define BAUD_RATE 9600 //Baud Rate für die Serielle Schnittstelle
//#define BAUD_RATE 14400 //Baud Rate für die Serielle Schnittstelle
//#define BAUD_RATE 28800 //Baud Rate für die Serielle Schnittstelle
//#define BAUD_RATE 38400 //Baud Rate für die Serielle Schnittstelle
#define BAUD_RATE 57600 //Baud Rate für die Serielle Schnittstelle
 
//Anpassen der seriellen Schnittstellen Register wenn ein ATMega128 benutzt wird
#if defined (__AVR_ATmega128__)
# define USR UCSR0A
# define UCR UCSR0B
# define UDR UDR0
# define UBRR UBRR0L
# define EICR EICRB
#endif
 
#if defined (__AVR_ATmega32__)
# define USR UCSRA
# define UCR UCSRB
# define UBRR UBRRL
# define EICR EICRB
# define INT_VEC_RX SIG_UART_RECV
# define INT_VEC_TX SIG_UART_TRANS
#endif
 
#if defined (__AVR_ATmega644__)
# define USR UCSR0A
# define UCR UCSR0B
# define UDR UDR0
# define UBRR UBRR0L
# define EICR EICR0B
# define TXEN TXEN0
# define RXEN RXEN0
# define RXCIE RXCIE0
# define TXCIE TXCIE0
# define U2X U2X0
# define UCSRB UCSR0B
# define UDRE UDRE0
# define INT_VEC_RX SIG_USART_RECV
# define INT_VEC_TX SIG_USART_TRANS
#endif
 
 
#endif //_UART_H
/branches/MicroMag3_Nick666/Festkomma/V0.68d/uart.lst
0,0 → 1,1178
1 .file "uart.c"
2 .arch atmega644
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
10 .text
11 .global __vector_22
13 __vector_22:
14 /* prologue: frame size=0 */
15 0000 1F92 push __zero_reg__
16 0002 0F92 push __tmp_reg__
17 0004 0FB6 in __tmp_reg__,__SREG__
18 0006 0F92 push __tmp_reg__
19 0008 1124 clr __zero_reg__
20 000a 8F93 push r24
21 000c 9F93 push r25
22 000e EF93 push r30
23 0010 FF93 push r31
24 /* prologue end (size=9) */
25 0012 8091 0000 lds r24,UebertragungAbgeschlossen
26 0016 8823 tst r24
27 0018 01F4 brne .L2
28 001a 8091 0000 lds r24,ptr.2041
29 001e 9091 0000 lds r25,(ptr.2041)+1
30 0022 0196 adiw r24,1
31 0024 9093 0000 sts (ptr.2041)+1,r25
32 0028 8093 0000 sts ptr.2041,r24
33 002c FC01 movw r30,r24
34 002e E050 subi r30,lo8(-(SendeBuffer))
35 0030 F040 sbci r31,hi8(-(SendeBuffer))
36 0032 E081 ld r30,Z
37 0034 ED30 cpi r30,lo8(13)
38 0036 01F0 breq .L4
39 0038 8639 cpi r24,150
40 003a 9105 cpc r25,__zero_reg__
41 003c 01F4 brne .L6
42 .L4:
43 003e 1092 0000 sts (ptr.2041)+1,__zero_reg__
44 0042 1092 0000 sts ptr.2041,__zero_reg__
45 0046 81E0 ldi r24,lo8(1)
46 0048 8093 0000 sts UebertragungAbgeschlossen,r24
47 .L6:
48 004c E093 C600 sts 198,r30
49 0050 00C0 rjmp .L8
50 .L2:
51 0052 1092 0000 sts (ptr.2041)+1,__zero_reg__
52 0056 1092 0000 sts ptr.2041,__zero_reg__
53 .L8:
54 /* epilogue: frame size=0 */
55 005a FF91 pop r31
56 005c EF91 pop r30
57 005e 9F91 pop r25
58 0060 8F91 pop r24
59 0062 0F90 pop __tmp_reg__
60 0064 0FBE out __SREG__,__tmp_reg__
61 0066 0F90 pop __tmp_reg__
62 0068 1F90 pop __zero_reg__
63 006a 1895 reti
64 /* epilogue end (size=9) */
65 /* function __vector_22 size 54 (36) */
67 .global __vector_20
69 __vector_20:
70 /* prologue: frame size=0 */
71 006c 1F92 push __zero_reg__
72 006e 0F92 push __tmp_reg__
73 0070 0FB6 in __tmp_reg__,__SREG__
74 0072 0F92 push __tmp_reg__
75 0074 1124 clr __zero_reg__
76 0076 2F93 push r18
77 0078 3F93 push r19
78 007a 4F93 push r20
79 007c 5F93 push r21
80 007e 6F93 push r22
81 0080 7F93 push r23
82 0082 8F93 push r24
83 0084 9F93 push r25
84 0086 EF93 push r30
85 0088 FF93 push r31
86 /* prologue end (size=15) */
87 008a 9091 C600 lds r25,198
88 008e 6091 0000 lds r22,buf_ptr.2057
89 0092 6639 cpi r22,lo8(-106)
90 0094 00F0 brlo .L10
91 0096 1092 0000 sts UartState.2058,__zero_reg__
92 009a 00C0 rjmp .L23
93 .L10:
94 009c 6623 tst r22
95 009e 01F4 brne .L13
96 00a0 9332 cpi r25,lo8(35)
97 00a2 01F4 brne .L15
98 00a4 8091 0000 lds r24,NeuerDatensatzEmpfangen
99 00a8 8823 tst r24
100 00aa 01F4 brne .L15
101 00ac 81E0 ldi r24,lo8(1)
102 00ae 8093 0000 sts buf_ptr.2057,r24
103 .L15:
104 00b2 9093 0000 sts RxdBuffer,r25
105 00b6 892F mov r24,r25
106 00b8 9927 clr r25
107 00ba 9093 0000 sts (crc.2054)+1,r25
108 00be 8093 0000 sts crc.2054,r24
109 00c2 00C0 rjmp .L26
110 .L13:
111 00c4 E62F mov r30,r22
112 00c6 FF27 clr r31
113 00c8 2091 0000 lds r18,crc.2054
114 00cc 3091 0000 lds r19,(crc.2054)+1
115 00d0 9D30 cpi r25,lo8(13)
116 00d2 01F0 breq .L18
117 00d4 E050 subi r30,lo8(-(RxdBuffer))
118 00d6 F040 sbci r31,hi8(-(RxdBuffer))
119 00d8 9083 st Z,r25
120 00da 6F5F subi r22,lo8(-(1))
121 00dc 6093 0000 sts buf_ptr.2057,r22
122 00e0 290F add r18,r25
123 00e2 311D adc r19,__zero_reg__
124 00e4 3093 0000 sts (crc.2054)+1,r19
125 00e8 2093 0000 sts crc.2054,r18
126 00ec 00C0 rjmp .L26
127 .L18:
128 00ee E050 subi r30,lo8(-(RxdBuffer))
129 00f0 F040 sbci r31,hi8(-(RxdBuffer))
130 00f2 3297 sbiw r30,2
131 00f4 8081 ld r24,Z
132 00f6 3296 adiw r30,2
133 00f8 7291 ld r23,-Z
134 00fa 3196 adiw r30,1
135 00fc 281B sub r18,r24
136 00fe 3109 sbc r19,__zero_reg__
137 0100 271B sub r18,r23
138 0102 3109 sbc r19,__zero_reg__
139 0104 3F70 andi r19,hi8(4095)
140 0106 3093 0000 sts (crc.2054)+1,r19
141 010a 2093 0000 sts crc.2054,r18
142 010e A901 movw r20,r18
143 0110 36E0 ldi r19,6
144 0112 5695 1: lsr r21
145 0114 4795 ror r20
146 0116 3A95 dec r19
147 0118 01F4 brne 1b
148 011a 435C subi r20,lo8(-(61))
149 011c 4093 0000 sts crc1.2055,r20
150 0120 2F73 andi r18,lo8(63)
151 0122 235C subi r18,lo8(-(61))
152 0124 2093 0000 sts crc2.2056,r18
153 0128 4817 cp r20,r24
154 012a 01F4 brne .L20
155 012c 2717 cp r18,r23
156 012e 01F4 brne .L20
157 0130 8091 0000 lds r24,NeuerDatensatzEmpfangen
158 0134 8823 tst r24
159 0136 01F4 brne .L23
160 0138 81E0 ldi r24,lo8(1)
161 013a 8093 0000 sts NeuerDatensatzEmpfangen,r24
162 013e 6093 0000 sts AnzahlEmpfangsBytes,r22
163 0142 9083 st Z,r25
164 0144 8091 0000 lds r24,RxdBuffer+2
165 0148 8235 cpi r24,lo8(82)
166 014a 01F4 brne .L23
167 014c 88E1 ldi r24,lo8(24)
168 014e 90E0 ldi r25,hi8(24)
169 0150 2CE0 ldi r18,lo8(12)
170 /* #APP */
171 0152 0FB6 in __tmp_reg__,__SREG__
172 0154 F894 cli
173 0156 A895 wdr
174 0158 8093 6000 sts 96,r24
175 015c 0FBE out __SREG__,__tmp_reg__
176 015e 2093 6000 sts 96,r18
177 /* #NOAPP */
178 0162 00C0 rjmp .L23
179 .L20:
180 0164 8091 0000 lds r24,CntCrcError
181 0168 8F5F subi r24,lo8(-(1))
182 016a 8093 0000 sts CntCrcError,r24
183 .L23:
184 016e 1092 0000 sts buf_ptr.2057,__zero_reg__
185 .L26:
186 /* epilogue: frame size=0 */
187 0172 FF91 pop r31
188 0174 EF91 pop r30
189 0176 9F91 pop r25
190 0178 8F91 pop r24
191 017a 7F91 pop r23
192 017c 6F91 pop r22
193 017e 5F91 pop r21
194 0180 4F91 pop r20
195 0182 3F91 pop r19
196 0184 2F91 pop r18
197 0186 0F90 pop __tmp_reg__
198 0188 0FBE out __SREG__,__tmp_reg__
199 018a 0F90 pop __tmp_reg__
200 018c 1F90 pop __zero_reg__
201 018e 1895 reti
202 /* epilogue end (size=15) */
203 /* function __vector_20 size 151 (121) */
205 .global AddCRC
207 AddCRC:
208 /* prologue: frame size=0 */
209 /* prologue end (size=0) */
210 0190 AC01 movw r20,r24
211 0192 20E0 ldi r18,lo8(0)
212 0194 30E0 ldi r19,hi8(0)
213 0196 60E0 ldi r22,lo8(0)
214 0198 70E0 ldi r23,hi8(0)
215 019a E0E0 ldi r30,lo8(SendeBuffer)
216 019c F0E0 ldi r31,hi8(SendeBuffer)
217 019e 00C0 rjmp .L28
218 .L29:
219 01a0 8191 ld r24,Z+
220 01a2 280F add r18,r24
221 01a4 311D adc r19,__zero_reg__
222 01a6 6F5F subi r22,lo8(-(1))
223 01a8 7F4F sbci r23,hi8(-(1))
224 .L28:
225 01aa 6417 cp r22,r20
226 01ac 7507 cpc r23,r21
227 01ae 01F4 brne .L29
228 01b0 3F70 andi r19,hi8(4095)
229 01b2 FA01 movw r30,r20
230 01b4 E050 subi r30,lo8(-(SendeBuffer))
231 01b6 F040 sbci r31,hi8(-(SendeBuffer))
232 01b8 C901 movw r24,r18
233 01ba 66E0 ldi r22,6
234 01bc 9695 1: lsr r25
235 01be 8795 ror r24
236 01c0 6A95 dec r22
237 01c2 01F4 brne 1b
238 01c4 835C subi r24,lo8(-(61))
239 01c6 8083 st Z,r24
240 01c8 FA01 movw r30,r20
241 01ca E050 subi r30,lo8(-(SendeBuffer+1))
242 01cc F040 sbci r31,hi8(-(SendeBuffer+1))
243 01ce 2F73 andi r18,lo8(63)
244 01d0 235C subi r18,lo8(-(61))
245 01d2 2083 st Z,r18
246 01d4 8DE0 ldi r24,lo8(13)
247 01d6 8183 std Z+1,r24
248 01d8 1092 0000 sts UebertragungAbgeschlossen,__zero_reg__
249 01dc 8091 0000 lds r24,SendeBuffer
250 01e0 8093 C600 sts 198,r24
251 /* epilogue: frame size=0 */
252 01e4 0895 ret
253 /* epilogue end (size=1) */
254 /* function AddCRC size 44 (43) */
256 .global SendOutData
258 SendOutData:
259 /* prologue: frame size=0 */
260 01e6 0F93 push r16
261 01e8 1F93 push r17
262 01ea CF93 push r28
263 01ec DF93 push r29
264 /* prologue end (size=4) */
265 01ee 8A01 movw r16,r20
266 01f0 722F mov r23,r18
267 01f2 93E2 ldi r25,lo8(35)
268 01f4 9093 0000 sts SendeBuffer,r25
269 01f8 6093 0000 sts SendeBuffer+1,r22
270 01fc 8093 0000 sts SendeBuffer+2,r24
271 0200 60E0 ldi r22,lo8(0)
272 0202 A0E0 ldi r26,lo8(SendeBuffer+3)
273 0204 B0E0 ldi r27,hi8(SendeBuffer+3)
274 0206 00C0 rjmp .L33
275 .L34:
276 0208 F801 movw r30,r16
277 020a E60F add r30,r22
278 020c F11D adc r31,__zero_reg__
279 020e 9081 ld r25,Z
280 0210 6F5F subi r22,lo8(-(1))
281 0212 7150 subi r23,lo8(-(-1))
282 0214 01F4 brne .L35
283 0216 E0E0 ldi r30,lo8(0)
284 0218 40E0 ldi r20,lo8(0)
285 021a 00C0 rjmp .L37
286 .L35:
287 021c F801 movw r30,r16
288 021e E60F add r30,r22
289 0220 F11D adc r31,__zero_reg__
290 0222 4081 ld r20,Z
291 0224 6F5F subi r22,lo8(-(1))
292 0226 7150 subi r23,lo8(-(-1))
293 0228 01F4 brne .L38
294 022a E0E0 ldi r30,lo8(0)
295 022c 00C0 rjmp .L37
296 .L38:
297 022e F801 movw r30,r16
298 0230 E60F add r30,r22
299 0232 F11D adc r31,__zero_reg__
300 0234 E081 ld r30,Z
301 0236 6F5F subi r22,lo8(-(1))
302 0238 7150 subi r23,lo8(-(-1))
303 .L37:
304 023a 892F mov r24,r25
305 023c 8695 lsr r24
306 023e 8695 lsr r24
307 0240 835C subi r24,lo8(-(61))
308 0242 8C93 st X,r24
309 0244 5527 clr r21
310 0246 892F mov r24,r25
311 0248 9927 clr r25
312 024a 8370 andi r24,lo8(3)
313 024c 9070 andi r25,hi8(3)
314 024e 24E0 ldi r18,4
315 0250 880F 1: lsl r24
316 0252 991F rol r25
317 0254 2A95 dec r18
318 0256 01F4 brne 1b
319 0258 9A01 movw r18,r20
320 025a 94E0 ldi r25,4
321 025c 3695 1: lsr r19
322 025e 2795 ror r18
323 0260 9A95 dec r25
324 0262 01F4 brne 1b
325 0264 822B or r24,r18
326 0266 835C subi r24,lo8(-(61))
327 0268 ED01 movw r28,r26
328 026a 8983 std Y+1,r24
329 026c 4F70 andi r20,lo8(15)
330 026e 5070 andi r21,hi8(15)
331 0270 440F lsl r20
332 0272 551F rol r21
333 0274 440F lsl r20
334 0276 551F rol r21
335 0278 8E2F mov r24,r30
336 027a 8295 swap r24
337 027c 8695 lsr r24
338 027e 8695 lsr r24
339 0280 8370 andi r24,0x3
340 0282 842B or r24,r20
341 0284 835C subi r24,lo8(-(61))
342 0286 8A83 std Y+2,r24
343 0288 EF73 andi r30,lo8(63)
344 028a E35C subi r30,lo8(-(61))
345 028c EB83 std Y+3,r30
346 028e 1496 adiw r26,4
347 .L33:
348 0290 7723 tst r23
349 0292 01F0 breq .+2
350 0294 00C0 rjmp .L34
351 0296 CD01 movw r24,r26
352 0298 8050 subi r24,lo8(SendeBuffer)
353 029a 9040 sbci r25,hi8(SendeBuffer)
354 029c 0E94 0000 call AddCRC
355 /* epilogue: frame size=0 */
356 02a0 DF91 pop r29
357 02a2 CF91 pop r28
358 02a4 1F91 pop r17
359 02a6 0F91 pop r16
360 02a8 0895 ret
361 /* epilogue end (size=5) */
362 /* function SendOutData size 100 (91) */
364 .global Decode64
366 Decode64:
367 /* prologue: frame size=0 */
368 02aa 1F93 push r17
369 02ac CF93 push r28
370 02ae DF93 push r29
371 /* prologue end (size=3) */
372 02b0 EC01 movw r28,r24
373 02b2 70E0 ldi r23,lo8(0)
374 02b4 A22F mov r26,r18
375 02b6 BB27 clr r27
376 02b8 1297 sbiw r26,2
377 02ba 00C0 rjmp .L43
378 .L44:
379 02bc E42F mov r30,r20
380 02be FF27 clr r31
381 02c0 E050 subi r30,lo8(-(RxdBuffer))
382 02c2 F040 sbci r31,hi8(-(RxdBuffer))
383 02c4 3081 ld r19,Z
384 02c6 4F5F subi r20,lo8(-(1))
385 02c8 E42F mov r30,r20
386 02ca FF27 clr r31
387 02cc E050 subi r30,lo8(-(RxdBuffer))
388 02ce F040 sbci r31,hi8(-(RxdBuffer))
389 02d0 5081 ld r21,Z
390 02d2 4F5F subi r20,lo8(-(1))
391 02d4 E42F mov r30,r20
392 02d6 FF27 clr r31
393 02d8 E050 subi r30,lo8(-(RxdBuffer))
394 02da F040 sbci r31,hi8(-(RxdBuffer))
395 02dc 1081 ld r17,Z
396 02de 4F5F subi r20,lo8(-(1))
397 02e0 E42F mov r30,r20
398 02e2 FF27 clr r31
399 02e4 E050 subi r30,lo8(-(RxdBuffer))
400 02e6 F040 sbci r31,hi8(-(RxdBuffer))
401 02e8 2081 ld r18,Z
402 02ea 4F5F subi r20,lo8(-(1))
403 02ec 842F mov r24,r20
404 02ee 9927 clr r25
405 02f0 A817 cp r26,r24
406 02f2 B907 cpc r27,r25
407 02f4 04F0 brlt .L49
408 02f6 5D53 subi r21,lo8(-(-61))
409 02f8 FE01 movw r30,r28
410 02fa E70F add r30,r23
411 02fc F11D adc r31,__zero_reg__
412 02fe 3D53 subi r19,lo8(-(-61))
413 0300 330F lsl r19
414 0302 330F lsl r19
415 0304 852F mov r24,r21
416 0306 8295 swap r24
417 0308 8F70 andi r24,0x0f
418 030a 382B or r19,r24
419 030c 3083 st Z,r19
420 030e 6130 cpi r22,lo8(1)
421 0310 01F0 breq .L49
422 0312 912F mov r25,r17
423 0314 9D53 subi r25,lo8(-(-61))
424 0316 7F5F subi r23,lo8(-(1))
425 0318 FE01 movw r30,r28
426 031a E70F add r30,r23
427 031c F11D adc r31,__zero_reg__
428 031e 7150 subi r23,lo8(-(-1))
429 0320 5295 swap r21
430 0322 507F andi r21,0xf0
431 0324 892F mov r24,r25
432 0326 8695 lsr r24
433 0328 8695 lsr r24
434 032a 582B or r21,r24
435 032c 5083 st Z,r21
436 032e 6350 subi r22,lo8(-(-3))
437 0330 6F3F cpi r22,lo8(-1)
438 0332 01F0 breq .L49
439 0334 7E5F subi r23,lo8(-(2))
440 0336 FE01 movw r30,r28
441 0338 E70F add r30,r23
442 033a F11D adc r31,__zero_reg__
443 033c 9295 swap r25
444 033e 990F lsl r25
445 0340 990F lsl r25
446 0342 907C andi r25,0xc0
447 0344 2D53 subi r18,lo8(-(-61))
448 0346 922B or r25,r18
449 0348 9083 st Z,r25
450 034a 7F5F subi r23,lo8(-(1))
451 .L43:
452 034c 6623 tst r22
453 034e 01F0 breq .+2
454 0350 00C0 rjmp .L44
455 .L49:
456 /* epilogue: frame size=0 */
457 0352 DF91 pop r29
458 0354 CF91 pop r28
459 0356 1F91 pop r17
460 0358 0895 ret
461 /* epilogue end (size=4) */
462 /* function Decode64 size 88 (81) */
464 .global uart_putchar
466 uart_putchar:
467 /* prologue: frame size=0 */
468 035a 1F93 push r17
469 /* prologue end (size=1) */
470 035c 182F mov r17,r24
471 035e 8A30 cpi r24,lo8(10)
472 0360 01F4 brne .L55
473 0362 8DE0 ldi r24,lo8(13)
474 0364 0E94 0000 call uart_putchar
475 .L55:
476 0368 8091 C000 lds r24,192
477 036c 85FF sbrs r24,5
478 036e 00C0 rjmp .L55
479 0370 1093 C600 sts 198,r17
480 0374 80E0 ldi r24,lo8(0)
481 0376 90E0 ldi r25,hi8(0)
482 /* epilogue: frame size=0 */
483 0378 1F91 pop r17
484 037a 0895 ret
485 /* epilogue end (size=2) */
486 /* function uart_putchar size 17 (14) */
488 .global WriteProgramData
490 WriteProgramData:
491 /* prologue: frame size=0 */
492 /* prologue end (size=0) */
493 /* epilogue: frame size=0 */
494 037c 0895 ret
495 /* epilogue end (size=1) */
496 /* function WriteProgramData size 1 (0) */
498 .global UART_Init
500 UART_Init:
501 /* prologue: frame size=0 */
502 /* prologue end (size=0) */
503 037e E1EC ldi r30,lo8(193)
504 0380 F0E0 ldi r31,hi8(193)
505 0382 88E1 ldi r24,lo8(24)
506 0384 8083 st Z,r24
507 0386 A0EC ldi r26,lo8(192)
508 0388 B0E0 ldi r27,hi8(192)
509 038a 8C91 ld r24,X
510 038c 8260 ori r24,lo8(2)
511 038e 8C93 st X,r24
512 0390 8081 ld r24,Z
513 0392 8068 ori r24,lo8(-128)
514 0394 8083 st Z,r24
515 0396 8081 ld r24,Z
516 0398 8064 ori r24,lo8(64)
517 039a 8083 st Z,r24
518 039c 8AE2 ldi r24,lo8(42)
519 039e 8093 C400 sts 196,r24
520 03a2 88EC ldi r24,lo8(200)
521 03a4 90E0 ldi r25,hi8(200)
522 03a6 0E94 0000 call SetDelay
523 03aa 9093 0000 sts (Debug_Timer)+1,r25
524 03ae 8093 0000 sts Debug_Timer,r24
525 /* epilogue: frame size=0 */
526 03b2 0895 ret
527 /* epilogue end (size=1) */
528 /* function UART_Init size 27 (26) */
530 .global DatenUebertragung
532 DatenUebertragung:
533 /* prologue: frame size=0 */
534 /* prologue end (size=0) */
535 03b4 8091 0000 lds r24,UebertragungAbgeschlossen
536 03b8 8823 tst r24
537 03ba 01F4 brne .+2
538 03bc 00C0 rjmp .L85
539 03be 8091 0000 lds r24,DebugGetAnforderung
540 03c2 8823 tst r24
541 03c4 01F0 breq .L65
542 03c6 8091 0000 lds r24,UebertragungAbgeschlossen
543 03ca 8823 tst r24
544 03cc 01F0 breq .L65
545 03ce 2BE0 ldi r18,lo8(11)
546 03d0 40E0 ldi r20,lo8(ExternControl)
547 03d2 50E0 ldi r21,hi8(ExternControl)
548 03d4 6091 0000 lds r22,MeineSlaveAdresse
549 03d8 87E4 ldi r24,lo8(71)
550 03da 0E94 0000 call SendOutData
551 03de 1092 0000 sts DebugGetAnforderung,__zero_reg__
552 .L65:
553 03e2 8091 0000 lds r24,Debug_Timer
554 03e6 9091 0000 lds r25,(Debug_Timer)+1
555 03ea 0E94 0000 call CheckDelay
556 03ee 8823 tst r24
557 03f0 01F4 brne .L68
558 03f2 8091 0000 lds r24,DebugDataAnforderung
559 03f6 8823 tst r24
560 03f8 01F0 breq .L70
561 .L68:
562 03fa 8091 0000 lds r24,UebertragungAbgeschlossen
563 03fe 8823 tst r24
564 0400 01F0 breq .L70
565 0402 22E4 ldi r18,lo8(66)
566 0404 40E0 ldi r20,lo8(DebugOut)
567 0406 50E0 ldi r21,hi8(DebugOut)
568 0408 6091 0000 lds r22,MeineSlaveAdresse
569 040c 84E4 ldi r24,lo8(68)
570 040e 0E94 0000 call SendOutData
571 0412 1092 0000 sts DebugDataAnforderung,__zero_reg__
572 0416 84EF ldi r24,lo8(500)
573 0418 91E0 ldi r25,hi8(500)
574 041a 0E94 0000 call SetDelay
575 041e 9093 0000 sts (Debug_Timer)+1,r25
576 0422 8093 0000 sts Debug_Timer,r24
577 .L70:
578 0426 6091 0000 lds r22,DebugTextAnforderung
579 042a 6F3F cpi r22,lo8(-1)
580 042c 01F0 breq .L72
581 042e 462F mov r20,r22
582 0430 5527 clr r21
583 0432 34E0 ldi r19,4
584 0434 440F 1: lsl r20
585 0436 551F rol r21
586 0438 3A95 dec r19
587 043a 01F4 brne 1b
588 043c 4050 subi r20,lo8(-(ANALOG_TEXT))
589 043e 5040 sbci r21,hi8(-(ANALOG_TEXT))
590 0440 605D subi r22,lo8(-(48))
591 0442 20E1 ldi r18,lo8(16)
592 0444 81E4 ldi r24,lo8(65)
593 0446 0E94 0000 call SendOutData
594 044a 8FEF ldi r24,lo8(-1)
595 044c 8093 0000 sts DebugTextAnforderung,r24
596 .L72:
597 0450 2091 0000 lds r18,ConfirmFrame
598 0454 2223 tst r18
599 0456 01F0 breq .L74
600 0458 8091 0000 lds r24,UebertragungAbgeschlossen
601 045c 8823 tst r24
602 045e 01F0 breq .L74
603 0460 93E2 ldi r25,lo8(35)
604 0462 9093 0000 sts SendeBuffer,r25
605 0466 2093 0000 sts SendeBuffer+1,r18
606 046a 8DE0 ldi r24,lo8(13)
607 046c 8093 0000 sts SendeBuffer+2,r24
608 0470 1092 0000 sts UebertragungAbgeschlossen,__zero_reg__
609 0474 1092 0000 sts ConfirmFrame,__zero_reg__
610 0478 9093 C600 sts 198,r25
611 .L74:
612 047c 8091 0000 lds r24,DebugDisplayAnforderung
613 0480 8823 tst r24
614 0482 01F0 breq .L77
615 0484 8091 0000 lds r24,UebertragungAbgeschlossen
616 0488 8823 tst r24
617 048a 01F0 breq .L77
618 048c 0E94 0000 call Menu
619 0490 1092 0000 sts DebugDisplayAnforderung,__zero_reg__
620 0494 3091 0000 lds r19,RemotePollDisplayLine
621 0498 932F mov r25,r19
622 049a 9F5F subi r25,lo8(-(1))
623 049c 9093 0000 sts RemotePollDisplayLine,r25
624 04a0 9430 cpi r25,lo8(4)
625 04a2 01F0 breq .L80
626 04a4 8091 0000 lds r24,NurKanalAnforderung
627 04a8 8823 tst r24
628 04aa 01F0 breq .L82
629 .L80:
630 04ac 26E1 ldi r18,lo8(22)
631 04ae 40E0 ldi r20,lo8(PPM_in)
632 04b0 50E0 ldi r21,hi8(PPM_in)
633 04b2 60E0 ldi r22,lo8(0)
634 04b4 84E3 ldi r24,lo8(52)
635 04b6 0E94 0000 call SendOutData
636 04ba 8FEF ldi r24,lo8(-1)
637 04bc 8093 0000 sts RemotePollDisplayLine,r24
638 04c0 00C0 rjmp .L77
639 .L82:
640 04c2 44E1 ldi r20,lo8(20)
641 04c4 949F mul r25,r20
642 04c6 A001 movw r20,r0
643 04c8 1124 clr r1
644 04ca 4050 subi r20,lo8(-(DisplayBuff))
645 04cc 5040 sbci r21,hi8(-(DisplayBuff))
646 04ce 24E1 ldi r18,lo8(20)
647 04d0 60E0 ldi r22,lo8(0)
648 04d2 832F mov r24,r19
649 04d4 8F5C subi r24,lo8(-(49))
650 04d6 0E94 0000 call SendOutData
651 .L77:
652 04da 8091 0000 lds r24,GetVersionAnforderung
653 04de 8823 tst r24
654 04e0 01F0 breq .L85
655 04e2 8091 0000 lds r24,UebertragungAbgeschlossen
656 04e6 8823 tst r24
657 04e8 01F0 breq .L85
658 04ea 2AE0 ldi r18,lo8(10)
659 04ec 40E0 ldi r20,lo8(VersionInfo)
660 04ee 50E0 ldi r21,hi8(VersionInfo)
661 04f0 6091 0000 lds r22,MeineSlaveAdresse
662 04f4 86E5 ldi r24,lo8(86)
663 04f6 0E94 0000 call SendOutData
664 04fa 1092 0000 sts GetVersionAnforderung,__zero_reg__
665 .L85:
666 04fe 0895 ret
667 /* epilogue: frame size=0 */
668 /* epilogue: noreturn */
669 /* epilogue end (size=0) */
670 /* function DatenUebertragung size 166 (166) */
672 .global BearbeiteRxDaten
674 BearbeiteRxDaten:
675 /* prologue: frame size=2 */
676 0500 A2E0 ldi r26,lo8(2)
677 0502 B0E0 ldi r27,hi8(2)
678 0504 E0E0 ldi r30,lo8(gs(1f))
679 0506 F0E0 ldi r31,hi8(gs(1f))
680 0508 0C94 0000 jmp __prologue_saves__+30
681 1:
682 /* prologue end (size=6) */
683 050c 8091 0000 lds r24,NeuerDatensatzEmpfangen
684 0510 8823 tst r24
685 0512 01F4 brne .+2
686 0514 00C0 rjmp .L108
687 0516 8FEF ldi r24,lo8(-1)
688 0518 8093 0000 sts PcZugriff,r24
689 051c 8091 0000 lds r24,RxdBuffer+2
690 0520 9927 clr r25
691 0522 AA27 clr r26
692 0524 BB27 clr r27
693 0526 FC01 movw r30,r24
694 0528 E156 subi r30,lo8(-(-97))
695 052a F040 sbci r31,hi8(-(-97))
696 052c E631 cpi r30,22
697 052e F105 cpc r31,__zero_reg__
698 0530 00F0 brlo .+2
699 0532 00C0 rjmp .L89
700 0534 E050 subi r30,lo8(-(gs(.L100)))
701 0536 F040 sbci r31,hi8(-(gs(.L100)))
702 0538 0C94 0000 jmp __tablejump2__
703 .data
704 .section .progmem.gcc_sw_table, "a", @progbits
705 .p2align 1
706 .L100:
707 .data
708 .section .progmem.gcc_sw_table, "a", @progbits
709 .p2align 1
710 0000 0000 .word gs(.L90)
711 0002 0000 .word gs(.L91)
712 0004 0000 .word gs(.L92)
713 0006 0000 .word gs(.L89)
714 0008 0000 .word gs(.L89)
715 000a 0000 .word gs(.L89)
716 000c 0000 .word gs(.L93)
717 000e 0000 .word gs(.L94)
718 0010 0000 .word gs(.L89)
719 0012 0000 .word gs(.L89)
720 0014 0000 .word gs(.L95)
721 0016 0000 .word gs(.L96)
722 0018 0000 .word gs(.L96)
723 001a 0000 .word gs(.L96)
724 001c 0000 .word gs(.L96)
725 001e 0000 .word gs(.L96)
726 0020 0000 .word gs(.L97)
727 0022 0000 .word gs(.L89)
728 0024 0000 .word gs(.L89)
729 0026 0000 .word gs(.L98)
730 0028 0000 .word gs(.L89)
731 002a 0000 .word gs(.L99)
732 .text
733 .L90:
734 053c 2091 0000 lds r18,AnzahlEmpfangsBytes
735 0540 43E0 ldi r20,lo8(3)
736 0542 62E0 ldi r22,lo8(2)
737 0544 CE01 movw r24,r28
738 0546 0196 adiw r24,1
739 0548 0E94 0000 call Decode64
740 054c 8981 ldd r24,Y+1
741 054e 8093 0000 sts DebugTextAnforderung,r24
742 0552 00C0 rjmp .L89
743 .L91:
744 0554 2091 0000 lds r18,AnzahlEmpfangsBytes
745 0558 43E0 ldi r20,lo8(3)
746 055a 6BE0 ldi r22,lo8(11)
747 055c 80E0 ldi r24,lo8(ExternControl)
748 055e 90E0 ldi r25,hi8(ExternControl)
749 0560 0E94 0000 call Decode64
750 0564 8091 0000 lds r24,RemoteTasten
751 0568 9091 0000 lds r25,ExternControl+2
752 056c 892B or r24,r25
753 056e 8093 0000 sts RemoteTasten,r24
754 0572 8091 0000 lds r24,ExternControl+9
755 0576 00C0 rjmp .L109
756 .L92:
757 0578 2091 0000 lds r18,AnzahlEmpfangsBytes
758 057c 43E0 ldi r20,lo8(3)
759 057e 6BE0 ldi r22,lo8(11)
760 0580 80E0 ldi r24,lo8(ExternControl)
761 0582 90E0 ldi r25,hi8(ExternControl)
762 0584 0E94 0000 call Decode64
763 0588 8091 0000 lds r24,RemoteTasten
764 058c 9091 0000 lds r25,ExternControl+2
765 0590 892B or r24,r25
766 0592 8093 0000 sts RemoteTasten,r24
767 0596 8091 0000 lds r24,ExternControl+9
768 059a 8093 0000 sts ConfirmFrame,r24
769 059e 81E0 ldi r24,lo8(1)
770 05a0 8093 0000 sts DebugDataAnforderung,r24
771 05a4 00C0 rjmp .L89
772 .L94:
773 05a6 2091 0000 lds r18,AnzahlEmpfangsBytes
774 05aa 43E0 ldi r20,lo8(3)
775 05ac 62E0 ldi r22,lo8(2)
776 05ae CE01 movw r24,r28
777 05b0 0196 adiw r24,1
778 05b2 0E94 0000 call Decode64
779 05b6 8091 0000 lds r24,RemoteTasten
780 05ba 9981 ldd r25,Y+1
781 05bc 892B or r24,r25
782 05be 8093 0000 sts RemoteTasten,r24
783 05c2 8A81 ldd r24,Y+2
784 05c4 8F3F cpi r24,lo8(-1)
785 05c6 01F4 brne .L101
786 05c8 81E0 ldi r24,lo8(1)
787 05ca 8093 0000 sts NurKanalAnforderung,r24
788 05ce 00C0 rjmp .L103
789 .L101:
790 05d0 1092 0000 sts NurKanalAnforderung,__zero_reg__
791 .L103:
792 05d4 81E0 ldi r24,lo8(1)
793 05d6 8093 0000 sts DebugDisplayAnforderung,r24
794 05da 00C0 rjmp .L89
795 .L98:
796 05dc 2091 0000 lds r18,AnzahlEmpfangsBytes
797 05e0 43E0 ldi r20,lo8(3)
798 05e2 64E0 ldi r22,lo8(4)
799 05e4 80E0 ldi r24,lo8(MotorTest)
800 05e6 90E0 ldi r25,hi8(MotorTest)
801 05e8 0E94 0000 call Decode64
802 05ec 00C0 rjmp .L89
803 .L95:
804 05ee 2091 0000 lds r18,AnzahlEmpfangsBytes
805 05f2 43E0 ldi r20,lo8(3)
806 05f4 64E0 ldi r22,lo8(4)
807 05f6 80E0 ldi r24,lo8(DubWiseKeys)
808 05f8 90E0 ldi r25,hi8(DubWiseKeys)
809 05fa 0E94 0000 call Decode64
810 05fe 8091 0000 lds r24,DubWiseKeys+3
811 .L109:
812 0602 8093 0000 sts ConfirmFrame,r24
813 0606 00C0 rjmp .L89
814 .L99:
815 0608 81E0 ldi r24,lo8(1)
816 060a 8093 0000 sts GetVersionAnforderung,r24
817 060e 00C0 rjmp .L89
818 .L93:
819 0610 81E0 ldi r24,lo8(1)
820 0612 8093 0000 sts DebugGetAnforderung,r24
821 0616 00C0 rjmp .L89
822 .L97:
823 0618 2091 0000 lds r18,AnzahlEmpfangsBytes
824 061c 43E0 ldi r20,lo8(3)
825 061e 62E0 ldi r22,lo8(2)
826 0620 CE01 movw r24,r28
827 0622 0196 adiw r24,1
828 0624 0E94 0000 call Decode64
829 0628 8981 ldd r24,Y+1
830 062a 8F3F cpi r24,lo8(-1)
831 062c 01F0 breq .L104
832 062e 8630 cpi r24,lo8(6)
833 0630 00F0 brlo .L106
834 0632 85E0 ldi r24,lo8(5)
835 0634 8983 std Y+1,r24
836 .L106:
837 0636 46E4 ldi r20,lo8(70)
838 0638 60E0 ldi r22,lo8(EE_Parameter)
839 063a 70E0 ldi r23,hi8(EE_Parameter)
840 063c 8981 ldd r24,Y+1
841 063e 0E94 0000 call ReadParameterSet
842 0642 8981 ldd r24,Y+1
843 0644 26E4 ldi r18,lo8(70)
844 0646 40E0 ldi r20,lo8(EE_Parameter)
845 0648 50E0 ldi r21,hi8(EE_Parameter)
846 064a 6091 0000 lds r22,MeineSlaveAdresse
847 064e 00C0 rjmp .L110
848 .L104:
849 0650 1091 0000 lds r17,MeineSlaveAdresse
850 0654 0E94 0000 call GetActiveParamSetNumber
851 0658 26E4 ldi r18,lo8(70)
852 065a 40E0 ldi r20,lo8(EE_Parameter)
853 065c 50E0 ldi r21,hi8(EE_Parameter)
854 065e 612F mov r22,r17
855 .L110:
856 0660 855B subi r24,lo8(-(75))
857 0662 0E94 0000 call SendOutData
858 0666 00C0 rjmp .L89
859 .L96:
860 0668 2091 0000 lds r18,AnzahlEmpfangsBytes
861 066c 43E0 ldi r20,lo8(3)
862 066e 66E4 ldi r22,lo8(70)
863 0670 80E0 ldi r24,lo8(EE_Parameter)
864 0672 90E0 ldi r25,hi8(EE_Parameter)
865 0674 0E94 0000 call Decode64
866 0678 8091 0000 lds r24,RxdBuffer+2
867 067c 46E4 ldi r20,lo8(70)
868 067e 60E0 ldi r22,lo8(EE_Parameter)
869 0680 70E0 ldi r23,hi8(EE_Parameter)
870 0682 8B56 subi r24,lo8(-(-107))
871 0684 0E94 0000 call WriteParameterSet
872 0688 8091 0000 lds r24,RxdBuffer+2
873 068c 8B56 subi r24,lo8(-(-107))
874 068e A0E0 ldi r26,lo8(EEPromArray+2)
875 0690 B0E0 ldi r27,hi8(EEPromArray+2)
876 /* #APP */
877 0692 082E mov __tmp_reg__,r24
878 0694 0E94 0000 call __eeprom_write_byte_1F2021
879 /* #NOAPP */
880 0698 6091 0000 lds r22,EE_Parameter+43
881 069c 7727 clr r23
882 069e 8827 clr r24
883 06a0 9927 clr r25
884 06a2 24EC ldi r18,lo8(2500)
885 06a4 39E0 ldi r19,hi8(2500)
886 06a6 40E0 ldi r20,hlo8(2500)
887 06a8 50E0 ldi r21,hhi8(2500)
888 06aa 0E94 0000 call __mulsi3
889 06ae 6093 0000 sts Umschlag180Nick,r22
890 06b2 7093 0000 sts (Umschlag180Nick)+1,r23
891 06b6 8093 0000 sts (Umschlag180Nick)+2,r24
892 06ba 9093 0000 sts (Umschlag180Nick)+3,r25
893 06be 6091 0000 lds r22,EE_Parameter+44
894 06c2 7727 clr r23
895 06c4 8827 clr r24
896 06c6 9927 clr r25
897 06c8 0E94 0000 call __mulsi3
898 06cc 6093 0000 sts Umschlag180Roll,r22
899 06d0 7093 0000 sts (Umschlag180Roll)+1,r23
900 06d4 8093 0000 sts (Umschlag180Roll)+2,r24
901 06d8 9093 0000 sts (Umschlag180Roll)+3,r25
902 06dc 0E94 0000 call GetActiveParamSetNumber
903 06e0 0E94 0000 call Piep
904 .L89:
905 06e4 1092 0000 sts NeuerDatensatzEmpfangen,__zero_reg__
906 .L108:
907 /* epilogue: frame size=2 */
908 06e8 E3E0 ldi r30,3
909 06ea CE5F subi r28,-2
910 06ec 0C94 0000 jmp __epilogue_restores__+30
911 /* epilogue end (size=4) */
912 /* function BearbeiteRxDaten size 271 (261) */
914 .global DebugGetAnforderung
915 .global DebugGetAnforderung
916 .section .bss
919 DebugGetAnforderung:
920 0000 00 .skip 1,0
921 .global DebugDisplayAnforderung
922 .global DebugDisplayAnforderung
925 DebugDisplayAnforderung:
926 0001 00 .skip 1,0
927 .global DebugDataAnforderung
928 .global DebugDataAnforderung
931 DebugDataAnforderung:
932 0002 00 .skip 1,0
933 .global GetVersionAnforderung
934 .global GetVersionAnforderung
937 GetVersionAnforderung:
938 0003 00 .skip 1,0
939 .global NeuerDatensatzEmpfangen
940 .global NeuerDatensatzEmpfangen
943 NeuerDatensatzEmpfangen:
944 0004 00 .skip 1,0
945 .global NeueKoordinateEmpfangen
946 .global NeueKoordinateEmpfangen
949 NeueKoordinateEmpfangen:
950 0005 00 .skip 1,0
951 .global UebertragungAbgeschlossen
952 .data
955 UebertragungAbgeschlossen:
956 0000 01 .byte 1
957 .global CntCrcError
958 .global CntCrcError
959 .section .bss
962 CntCrcError:
963 0006 00 .skip 1,0
964 .global AnzahlEmpfangsBytes
965 .global AnzahlEmpfangsBytes
968 AnzahlEmpfangsBytes:
969 0007 00 .skip 1,0
970 .global PC_DebugTimeout
971 .global PC_DebugTimeout
974 PC_DebugTimeout:
975 0008 00 .skip 1,0
976 .global RemotePollDisplayLine
977 .global RemotePollDisplayLine
980 RemotePollDisplayLine:
981 0009 00 .skip 1,0
982 .global NurKanalAnforderung
983 .global NurKanalAnforderung
986 NurKanalAnforderung:
987 000a 00 .skip 1,0
988 .global DebugTextAnforderung
989 .data
992 DebugTextAnforderung:
993 0001 FF .byte -1
994 .global PcZugriff
997 PcZugriff:
998 0002 64 .byte 100
999 .global MotorTest
1000 .global MotorTest
1001 .section .bss
1004 MotorTest:
1005 000b 0000 0000 .skip 4,0
1006 .global DubWiseKeys
1007 .global DubWiseKeys
1010 DubWiseKeys:
1011 000f 0000 0000 .skip 4,0
1012 .global ANALOG_TEXT
1013 .data
1016 ANALOG_TEXT:
1017 0003 496E 7465 .ascii "IntegralNick "
1017 6772 616C
1017 4E69 636B
1017 2020 2020
1018 0013 496E 7465 .ascii "IntegralRoll "
1018 6772 616C
1018 526F 6C6C
1018 2020 2020
1019 0023 4163 634E .ascii "AccNick "
1019 6963 6B20
1019 2020 2020
1019 2020 2020
1020 0033 4163 6352 .ascii "AccRoll "
1020 6F6C 6C20
1020 2020 2020
1020 2020 2020
1021 0043 4779 726F .ascii "GyroGier "
1021 4769 6572
1021 2020 2020
1021 2020 2020
1022 0053 486F 6568 .ascii "HoehenWert "
1022 656E 5765
1022 7274 2020
1022 2020 2020
1023 0063 4163 635A .ascii "AccZ "
1023 2020 2020
1023 2020 2020
1023 2020 2020
1024 0073 4761 7320 .ascii "Gas "
1024 2020 2020
1024 2020 2020
1024 2020 2020
1025 0083 4B6F 6D70 .ascii "KompassValue "
1025 6173 7356
1025 616C 7565
1025 2020 2020
1026 0093 5370 616E .ascii "Spannung "
1026 6E75 6E67
1026 2020 2020
1026 2020 2020
1027 00a3 456D 7066 .ascii "Empfang "
1027 616E 6720
1027 2020 2020
1027 2020 2020
1028 00b3 416E 616C .ascii "Analog11 "
1028 6F67 3131
1028 2020 2020
1028 2020 2020
1029 00c3 4D6F 746F .ascii "Motor_Vorne "
1029 725F 566F
1029 726E 6520
1029 2020 2020
1030 00d3 4D6F 746F .ascii "Motor_Hinten "
1030 725F 4869
1030 6E74 656E
1030 2020 2020
1031 00e3 4D6F 746F .ascii "Motor_Links "
1031 725F 4C69
1031 6E6B 7320
1031 2020 2020
1032 00f3 4D6F 746F .ascii "Motor_Rechts "
1032 725F 5265
1032 6368 7473
1032 2020 2020
1033 0103 4163 635F .ascii "Acc_Z "
1033 5A20 2020
1033 2020 2020
1033 2020 2020
1034 0113 4D69 7474 .ascii "MittelAccNick "
1034 656C 4163
1034 634E 6963
1034 6B20 2020
1035 0123 4D69 7474 .ascii "MittelAccRoll "
1035 656C 4163
1035 6352 6F6C
1035 6C20 2020
1036 0133 496E 7465 .ascii "IntegralErrNick "
1036 6772 616C
1036 4572 724E
1036 6963 6B20
1037 0143 496E 7465 .ascii "IntegralErrRoll "
1037 6772 616C
1037 4572 7252
1037 6F6C 6C20
1038 0153 4D69 7474 .ascii "MittelIntNick "
1038 656C 496E
1038 744E 6963
1038 6B20 2020
1039 0163 4D69 7474 .string "MittelIntRoll\t "
1039 656C 496E
1039 7452 6F6C
1039 6C09 2000
1040 0173 4E65 7574 .ascii "NeutralNick "
1040 7261 6C4E
1040 6963 6B20
1040 2020 2020
1041 0183 526F 6C6C .ascii "RollOffset "
1041 4F66 6673
1041 6574 2020
1041 2020 2020
1042 0193 496E 7452 .ascii "IntRoll*Faktor "
1042 6F6C 6C2A
1042 4661 6B74
1042 6F72 2020
1043 01a3 416E 616C .ascii "Analog26 "
1043 6F67 3236
1043 2020 2020
1043 2020 2020
1044 01b3 4469 7265 .ascii "DirektAusglRoll "
1044 6B74 4175
1044 7367 6C52
1044 6F6C 6C20
1045 01c3 4D65 7373 .ascii "MesswertRoll "
1045 7765 7274
1045 526F 6C6C
1045 2020 2020
1046 01d3 4175 7367 .ascii "AusgleichRoll "
1046 6C65 6963
1046 6852 6F6C
1046 6C20 2020
1047 01e3 492D 4C61 .ascii "I-LageRoll "
1047 6765 526F
1047 6C6C 2020
1047 2020 2020
1048 01f3 5374 6963 .ascii "StickRoll "
1048 6B52 6F6C
1048 6C20 2020
1048 2020 2020
1049 .lcomm UartState.2058,1
1050 .lcomm buf_ptr.2057,1
1051 .lcomm crc2.2056,1
1052 .lcomm crc1.2055,1
1053 .lcomm crc.2054,2
1054 .lcomm ptr.2041,2
1055 .comm SendeBuffer,150,1
1056 .comm RxdBuffer,150,1
1057 .comm MeineSlaveAdresse,1,1
1058 .comm Debug_Timer,2,1
1059 .comm DebugOut,66,1
1060 .comm ExternControl,11,1
1061 .comm VersionInfo,10,1
1062 .comm NMEABuffer,150,1
1063 .comm ConfirmFrame,1,1
1064 /* File "uart.c": code 919 = 0x0397 ( 839), prologues 38, epilogues 42 */
DEFINED SYMBOLS
*ABS*:00000000 uart.c
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:13 .text:00000000 __vector_22
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:955 .data:00000000 UebertragungAbgeschlossen
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:1053 .bss:00000019 ptr.2041
*COM*:00000096 SendeBuffer
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:69 .text:0000006c __vector_20
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:1049 .bss:00000014 buf_ptr.2057
.bss:00000013 UartState.2058
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:943 .bss:00000004 NeuerDatensatzEmpfangen
*COM*:00000096 RxdBuffer
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:1052 .bss:00000017 crc.2054
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:1051 .bss:00000016 crc1.2055
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:1050 .bss:00000015 crc2.2056
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:968 .bss:00000007 AnzahlEmpfangsBytes
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:962 .bss:00000006 CntCrcError
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:207 .text:00000190 AddCRC
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:258 .text:000001e6 SendOutData
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:366 .text:000002aa Decode64
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:466 .text:0000035a uart_putchar
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:490 .text:0000037c WriteProgramData
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:500 .text:0000037e UART_Init
*COM*:00000002 Debug_Timer
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:532 .text:000003b4 DatenUebertragung
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:919 .bss:00000000 DebugGetAnforderung
*COM*:0000000b ExternControl
*COM*:00000001 MeineSlaveAdresse
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:931 .bss:00000002 DebugDataAnforderung
*COM*:00000042 DebugOut
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:992 .data:00000001 DebugTextAnforderung
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:1016 .data:00000003 ANALOG_TEXT
*COM*:00000001 ConfirmFrame
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:925 .bss:00000001 DebugDisplayAnforderung
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:980 .bss:00000009 RemotePollDisplayLine
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:986 .bss:0000000a NurKanalAnforderung
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:937 .bss:00000003 GetVersionAnforderung
*COM*:0000000a VersionInfo
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:674 .text:00000500 BearbeiteRxDaten
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:997 .data:00000002 PcZugriff
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:1004 .bss:0000000b MotorTest
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:1010 .bss:0000000f DubWiseKeys
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:949 .bss:00000005 NeueKoordinateEmpfangen
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccvgt8J9.s:974 .bss:00000008 PC_DebugTimeout
*COM*:00000096 NMEABuffer
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
SetDelay
CheckDelay
Menu
PPM_in
DisplayBuff
__prologue_saves__
__tablejump2__
RemoteTasten
EE_Parameter
ReadParameterSet
GetActiveParamSetNumber
WriteParameterSet
EEPromArray
__eeprom_write_byte_1F2021
__mulsi3
Umschlag180Nick
Umschlag180Roll
Piep
__epilogue_restores__
/branches/MicroMag3_Nick666/Festkomma/V0.68d/version.txt
0,0 → 1,116
 
-------
V0.53 27.04.2007 H.Buss
- erste öffentliche Version
 
V0.53b 29.04.2007 H.Buss
- der FAKTOR_I war versehentlich auf Null, dann liegt der MikroKopter nicht so hart in der Luft
 
V0.53c 29.04.2007 H.Buss
- es gib ein Menü, in dem die Werte der Kanäle nach Nick, Roll, Gas,... sortiert sind.
Die angezeigten Werte waren nicht die Werte der Funke
 
V0.54 01.05.2007 H.Buss
- die Paramtersätze können jetzt vor dem Start ausgewählt werden
Dazu wird beim Kalibrieren der Messwerte (Gashebel oben links) der Nick-Rollhebel abgefragt:
2 3 4
1 x 5
- - -
Bedeutet: Nick-Rollhebel Links Mitte = Setting:1 Links Oben = Setting:2 usw.
- der Faktor_I für den Hauptregler ist hinzugekommen. Im Heading-Hold-Modus sollte er vergössert werden, was Stabilität bringt
 
V0.55 14.05.2007 H.Buss
- es können nun Servos an J3,J4,J5 mit den Kanälen 5-7 gesteuert werden
 
V0.56 14.05.2007 H.Buss
- es gab Probleme mit Funken, die mehr als 8 Kanäle haben, wenn mehrere Kanäle dann auf Null waren
- Funken, die nicht bis +-120 aussteuern können, sollten jetzt auch gehen
V0.57 24.05.2007 H.Buss
- Der Höhenregler kann nun auch mittels Schalter bedient werden
- Bug im Gier-Algorithmus behoben; Schnelles Gieren fürhrte dazu, dass der MK zu weit gedreht hat
- Kompass-Einfluss dämpfen bei Neigung
- Man kann zwischen Kompass FIX (Richtung beim Kalibrieren) und Variabel (einstellbar per Gier) wählen
- Der Motortest vom Kopter-Tool geht jetzt
- Man kann den Parametersätzen einen Namen geben
- Das Kamerasetting ist unter Setting 2 defaultmässig integriert
V0.58 30.05.2007 H.Buss
- Der Höhenregler-Algorithmus wird nun umgangen, wenn der Höhenreglerschalter aus ist
 
V0.60 17.08.2007 H.Buss
- "Schwindel-Bug" behoben
- Die Poti-Werte werden jetzt auf Unterlauf (<0) überprüft
- Poti4 zugefügt
- Es werden jetzt 8 Kanäle ausgewertet
- Kamera-Servo (an J7)
- Die Settings müssen überschrieben werden
V0.61 - V0.63 H.Buss 27.09.2007
- Poti 4 und Kanal 8 werden im Menü angezeigt
- ein paar Kleinigkeiten bei den DefaultKonstanten2 bereinigt
- Analog.c: Aktuell_ax korrigiert
- auf 32 Debug-Kanäle erweitert
- Loopings sind jetzt möglich und einzeln im KopterTool freischaltbar
- leichte Anpassungen im Gier - Geschwindigkeit und Drift
- die Hardwareversion V1.1 wird erkannt und das Programm stellt sich auf die geänderte Gyroverstärkung und die geänderten Portpins ein
- die Software startet nach dem Einschalten schneller, weil der Luftdruckoffset schneller gefunden wird
- die PPM-Ausgänge liegen wieder an den Pins an
- Details an der Sensordatenverarbeitung -> es fliegt sich geringfügig anders
- der MK ist bei wenig Gas nicht mehr so giftig -> soll das Landen vereinfachen
- I2C-Bus läuft jetzt sicher nach einer Störung wieder an
- Sticksignale werden präziser ausgewertet
- Stick-Kanäle werden ans Kopter-Tool übertragen
- Es muss die Version V1.47 des Kopter-Tool verwendet werden
- Die Settings werden auf Default zurückgesetzt
- am Piepen kann man die Fehlerart unterscheiden
1. einzelnes Piepen beim Einschalten und Kalibrieren
2. langsames Intervall mindestens 1 Sek -> Empfangsausfall
3. schnelleres Intervall mindestens 1 Sek -> Akku
4. sehr schnelles Intervall mindestens 1 Sek -> Kommunikation zu den Reglern gestört
V0.64 H.Buss 30.09.2007
- beim Gieren wurden die Achsen nicht hart genug geregelt
V0.65a H.Buss 15.10.2007
- Integral im Mischer wieder integriert
- Feinabstimmung im ACC/Gyro Abgleich -> 1/32 & 100
- ACC/Gyro Abgleich auch bei HH
 
V0.66a H.Buss 3.11.2007
- Messwertverarbeitung aus dem Analog-Interrupt entfernt
- Analogmessung hängt jetzt am FC-Timing
- Looping-Stick-Hysterese eingebaut
- Looping-180°-Umschlag einstellbar
- Achsenkopplung: Gierbewegung verkoppelt Nick und Roll
- Lageregelung nach ACC-Sensor verbessert
- zusätzlicher I-Anteil in der Lageregelung verbessert die Neutrallage
- Gyrodriftkompensation überarbeitet
- Bug in der Gier-Stick-Berechnung behoben
- Gyro-Messung auf 1kHz beschleunigt
V0.67a H.Buss 16.11.2007
- der Hauptregler-I-Anteil wirkt jetzt nur noch auf den Winkel (ausser im HH-Mode)
- Gyro-Acc-Abgleich jetzt wieder in jedem Zyklus
- Feinabstimmung
- Beim HH-Modus gab es noch Bugs
 
V0.67e H.Buss 29.11.2007
- Parameter: Dynamic Stability und Driftfaktor eingeführt
- Die Namen der Analogwerte werden jetzt zum Koptertool übertragen
- Kompatibilität zum Koptertool erhöht
 
V0.67f H.Buss 04.12.2007
- Das Integral des Hauptreglers wird jetzt linear entladen und nicht mehr proportional
- Schub für Gier wird jetzt auf den Gaswert begrenzt, dadurch steigt der MK nicht mehr beim Gieren. Gier ist allerdings nicht mehr so agressiv
- Die ACC-Nullwerte können jetzt dauerhaft im EEPROM gespeichert werden (Stick:Vollgas und Gier rechts)
V0.68a I.Busker 28.12.2007
- SPI.c & SPI.h ins Projekt aufgenommen
SPI-Kommuikation kann in SPI.h aktiviert/deaktivert werden
 
V0.68c H.Buss 05.01.2008
- Stickauswertung verbessert -> träger und präziser
- Alle Settings angepasst