Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 20 → Rev 21

/branches/V0.60_GPS_BETA_chris2798_hallo2/Flight-Ctrl_MEGA644_V0_60.eep
0,0 → 1,129
:1000000000000000000000000000000000000000F0
:1000100000000000000000000000000000000000E0
:1000200000000000000000000000000000000000D0
:1000300000000000000000000000000000000000C0
:1000400000000000000000000000000000000000B0
:1000500000000000000000000000000000000000A0
:100060000000000000000000000000000000000090
:100070000000000000000000000000000000000080
:100080000000000000000000000000000000000070
:100090000000000000000000000000000000000060
:1000A0000000000000000000000000000000000050
:1000B0000000000000000000000000000000000040
:1000C0000000000000000000000000000000000030
:1000D0000000000000000000000000000000000020
:1000E0000000000000000000000000000000000010
:1000F0000000000000000000000000000000000000
:1001000000000000000000000000000000000000EF
:1001100000000000000000000000000000000000DF
:1001200000000000000000000000000000000000CF
:1001300000000000000000000000000000000000BF
:1001400000000000000000000000000000000000AF
:10015000000000000000000000000000000000009F
:10016000000000000000000000000000000000008F
:10017000000000000000000000000000000000007F
:10018000000000000000000000000000000000006F
:10019000000000000000000000000000000000005F
:1001A000000000000000000000000000000000004F
:1001B000000000000000000000000000000000003F
:1001C000000000000000000000000000000000002F
:1001D000000000000000000000000000000000001F
:1001E000000000000000000000000000000000000F
:1001F00000000000000000000000000000000000FF
:1002000000000000000000000000000000000000EE
:1002100000000000000000000000000000000000DE
:1002200000000000000000000000000000000000CE
:1002300000000000000000000000000000000000BE
:1002400000000000000000000000000000000000AE
:10025000000000000000000000000000000000009E
:10026000000000000000000000000000000000008E
:10027000000000000000000000000000000000007E
:10028000000000000000000000000000000000006E
:10029000000000000000000000000000000000005E
:1002A000000000000000000000000000000000004E
:1002B000000000000000000000000000000000003E
:1002C000000000000000000000000000000000002E
:1002D000000000000000000000000000000000001E
:1002E000000000000000000000000000000000000E
:1002F00000000000000000000000000000000000FE
:1003000000000000000000000000000000000000ED
:1003100000000000000000000000000000000000DD
:1003200000000000000000000000000000000000CD
:1003300000000000000000000000000000000000BD
:1003400000000000000000000000000000000000AD
:10035000000000000000000000000000000000009D
:10036000000000000000000000000000000000008D
:10037000000000000000000000000000000000007D
:10038000000000000000000000000000000000006D
:10039000000000000000000000000000000000005D
:1003A000000000000000000000000000000000004D
:1003B000000000000000000000000000000000003D
:1003C000000000000000000000000000000000002D
:1003D000000000000000000000000000000000001D
:1003E000000000000000000000000000000000000D
:1003F00000000000000000000000000000000000FD
:1004000000000000000000000000000000000000EC
:1004100000000000000000000000000000000000DC
:1004200000000000000000000000000000000000CC
:1004300000000000000000000000000000000000BC
:1004400000000000000000000000000000000000AC
:10045000000000000000000000000000000000009C
:10046000000000000000000000000000000000008C
:10047000000000000000000000000000000000007C
:10048000000000000000000000000000000000006C
:10049000000000000000000000000000000000005C
:1004A000000000000000000000000000000000004C
:1004B000000000000000000000000000000000003C
:1004C000000000000000000000000000000000002C
:1004D000000000000000000000000000000000001C
:1004E000000000000000000000000000000000000C
:1004F00000000000000000000000000000000000FC
:1005000000000000000000000000000000000000EB
:1005100000000000000000000000000000000000DB
:1005200000000000000000000000000000000000CB
:1005300000000000000000000000000000000000BB
:1005400000000000000000000000000000000000AB
:10055000000000000000000000000000000000009B
:10056000000000000000000000000000000000008B
:10057000000000000000000000000000000000007B
:10058000000000000000000000000000000000006B
:10059000000000000000000000000000000000005B
:1005A000000000000000000000000000000000004B
:1005B000000000000000000000000000000000003B
:1005C000000000000000000000000000000000002B
:1005D000000000000000000000000000000000001B
:1005E000000000000000000000000000000000000B
:1005F00000000000000000000000000000000000FB
:1006000000000000000000000000000000000000EA
:1006100000000000000000000000000000000000DA
:1006200000000000000000000000000000000000CA
:1006300000000000000000000000000000000000BA
:1006400000000000000000000000000000000000AA
:10065000000000000000000000000000000000009A
:10066000000000000000000000000000000000008A
:10067000000000000000000000000000000000007A
:10068000000000000000000000000000000000006A
:10069000000000000000000000000000000000005A
:1006A000000000000000000000000000000000004A
:1006B000000000000000000000000000000000003A
:1006C000000000000000000000000000000000002A
:1006D000000000000000000000000000000000001A
:1006E000000000000000000000000000000000000A
:1006F00000000000000000000000000000000000FA
:1007000000000000000000000000000000000000E9
:1007100000000000000000000000000000000000D9
:1007200000000000000000000000000000000000C9
:1007300000000000000000000000000000000000B9
:1007400000000000000000000000000000000000A9
:100750000000000000000000000000000000000099
:100760000000000000000000000000000000000089
:100770000000000000000000000000000000000079
:100780000000000000000000000000000000000069
:100790000000000000000000000000000000000059
:1007A0000000000000000000000000000000000049
:1007B0000000000000000000000000000000000039
:1007C0000000000000000000000000000000000029
:1007D0000000000000000000000000000000000019
:1007E0000000000000000000000000000000000009
:1007F00000000000000000000000000000000000F9
:00000001FF
/branches/V0.60_GPS_BETA_chris2798_hallo2/Flight-Ctrl_MEGA644_V0_60.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/V0.60_GPS_BETA_chris2798_hallo2/Flight-Ctrl_MEGA644_V0_60.hex
0,0 → 1,1497
:100000000C94EC010C9409020C9409020C94090262
:100010000C9409020C9409020C9409020C94090234
:100020000C9409020C94460C0C9409020C940902DD
:100030000C9417150C9409020C9409020C940902F3
:100040000C9409020C9409020C949D0B0C94090267
:100050000C945F040C9409020C94A5030C940902FF
:100060000C94320D0C9409020C9464140C94090243
:100070000829573F9F2D49CBA5310F76C73493F2FE
:100080007E37D00D013AB60B613D2AAAAB3F000086
:10009000003F800000000A0A0D004E657574726111
:1000A0006C0048656164696E67486F6C64000A0D96
:1000B000537465756572756E673A20004F4B0A0D73
:1000C000000A0D4162676C65696368204C7566744F
:1000D000647275636B73656E736F722E2E000A0DFA
:1000E00042656E75747A6520506172616D657465E4
:1000F000727361747A202564000A0D496E69742E4A
:1001000020454550524F4D3A2047656E65726965EE
:1001100072652044656661756C742D506172616D05
:10012000657465722E2E2E000A0D3D3D3D3D3D3D10
:100130003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3DEF
:100140003D3D3D3D3D3D3D3D000A0D466C696768C6
:1001500074436F6E74726F6C205625642E25642074
:10016000002E0052616E67653A2533692D2533698B
:10017000005374656C6C756E673A202533690053C3
:100180006574706F696E7420202533690053657241
:10019000766F202000506F7469343A20202533692F
:1001A00000506F7469333A202025336900506F7412
:1001B00069323A202025336900506F7469313A2042
:1001C000202533690053746172743A202020202066
:1001D000253569004D657373776572743A20202563
:1001E0003569005269636874756E673A2020253559
:1001F00069004B6F6D7061737320202020202020D8
:1002000000456D70662E506567656C3A253569004E
:100210005370616E6E756E673A202025356900480F
:100220006F63682025346920282533692900526FBF
:100230006C6C20253469202825336929004E6963B8
:100240006B20253469202825336929004143432048
:100250002D2053656E736F720047696572202534D7
:100260006920282533692900526F6C6C2025346978
:10027000202825336929004E69636B2025346920C5
:100280002825336929004779726F202D2053656E28
:10029000736F720050333A25346920204B616EE44D
:1002A0006C65200050313A253469202050323A25BF
:1002B0003469200047733A253469202047693A257C
:1002C000346920004E693A2534692020526F3A255E
:1002D000346920004B373A25346920204B616EE4A5
:1002E0006C6520004B353A25346920204B363A2581
:1002F000346920004B333A25346920204B343A25A9
:10030000346920004B313A25346920204B323A259C
:10031000346920004B6F6D706173733A2020202583
:10032000356900526F6C6C3A202020202020253542
:1003300069004E69636B3A20202020202025356912
:1003400000616B742E204C6167650048F668656E2D
:10035000726567656C756E67004B65696E65200038
:100360004F66662020202020203A20253569004C49
:10037000756674647275636B3A2025356900536F36
:100380006C6C486F6568653A2025356900486F6573
:1003900068653A202020202025356900286329201F
:1003A000486F6C676572204275737300536574748F
:1003B000696E673A20256420005625642E25640066
:1003C0002B2B204D696B726F4B6F70746572202BF5
:1003D0002B005B25695D000011241FBECFEFD0E12B
:1003E000DEBFCDBF11E0A0E0B1E0ECEEFCE502C065
:1003F00005900D92AE38B107D9F715E0AEE8B1E03F
:1004000001C01D92AE3EB107E1F70E9440020C947C
:10041000752E0C940000A2E0B0E00E94612E802DA9
:1004200099270895FB01282F863008F025E0842FB6
:100430009927429FD0011124AC59BF4F019724F056
:1004400001900E94692EFACFA2E0B0E0022E0E9435
:10045000692E0895CF93DF93FB01C42FDD278630EB
:1004600008F085E0489FD0011124AC59BF4F219777
:1004700024F00E94612E0192FACFDF91CF9108956E
:100480000F931F93CF93DF9391E097B98FEF88B9C4
:100490008BE184B995B98EE38AB9579A87EF8BB906
:1004A00084B7877F84BF80916000886180936000FB
:1004B0001092600080ED97E09093AC018093AB01C7
:1004C00010922D0210922C02109277051092760550
:1004D00010922B0210922A021092290210922802E6
:1004E00028980E94F30C0E9463070E9402150E9444
:1004F0002C0D0E944A1478941092FE038CE3809392
:10050000FF0384E0809300048CE390E09F938F933B
:100510001F921F9289E491E09F938F931F920E94F4
:10052000F90888E291E09F938F931F920E94F90847
:10053000299AA1E0B0E00E94612E802D2DB73EB730
:10054000265F3F4F0FB6F8943EBF0FBE2DBF8B33D3
:10055000A9F189EF90E09F938F931F920E94F90871
:100560000E94CD1C4AE36EE975E080E00E94120211
:1005700001E00F900F900F90023049F40E94601C30
:100580004AE36EE975E082E00E94120203E04AE36A
:100590006EE975E0802F0E9412020F5F063060F353
:1005A00081E022E030E0D901082E0E94692E8BE321
:1005B00021503040D901082E0E94692E02E010E03F
:1005C000D8010E94612E802D4AE36EE975E00E94F9
:1005D0002A02D8010E94612E802D99279F938F9324
:1005E0008EED90E09F938F931F920E94F908809167
:1005F000A6050F900F900F900F900F9080FF20C0D6
:1006000081EC90E09F938F931F920E94F90884ECF5
:1006100099E00E94310CEC010E9456100F900F904F
:100620000F90CE010E943A0C8823D9F38CEB90E016
:100630009F938F931F920E94F9080F900F900F9035
:100640000E94851D289880ED97E09093AC018093DF
:10065000AB0188EE93E09093F9038093F80385E56E
:100660008093F3038EEA90E09F938F931F920E94F2
:10067000F9088091A6050F900F900F9082FF03C09C
:1006800082EA90E002C08AE990E09F938F931F92E4
:100690000E94F9080F900F900F9086E990E09F93C9
:1006A0008F931F920E94F9080E947D100F900F9067
:1006B0000F908091A801882379F11092A8010E94DF
:1006C000961E0E943E1D289880910101882319F0F2
:1006D00081508093010180912702882329F0809125
:1006E0002702815080932702209104013091050157
:1006F0008091B60599272817390734F480ED97E0E3
:100700009093AC018093AB018091D601882319F4BA
:100710000E944A1401C028980E9480070E94EE0798
:1007200080E090E00E943A0C882319F280912E021A
:10073000882329F088B190E1892788B901C04498BD
:1007400084EF91E00E94310CB4CF1F920F920FB64C
:100750000F9211248F939F93EF93FF938091000149
:100760008823E1F48091A3019091A40101969093D4
:10077000A4018093A301FC01ED54FD4FE081ED3015
:1007800019F08639910539F41092A4011092A30151
:1007900081E080930001E093C60004C01092A401A0
:1007A0001092A301FF91EF919F918F910F900FBE37
:1007B0000F901F9018958091F203813031F4809151
:1007C000E60380932E051092F2038091D3048130CA
:1007D00009F044C06091C9047091CA048091CB04AF
:1007E0009091CC042AE030E040E050E00E94462E98
:1007F00020930E0530930F0540931005509311057B
:100800006091C5047091C6048091C7049091C8049A
:100810002AE030E040E050E00E94462E209312058E
:100820003093130540931405509315056091CD0442
:100830007091CE048091CF049091D0042AE030E0F2
:1008400040E050E00E94462E209316053093170595
:1008500040931805509319051092D30480912804F1
:10086000813011F41092280480915605813011F5E1
:100870008091360590913705A0913805B0913905E2
:1008800080931A0590931B05A0931C05B0931D053A
:1008900080913A0590913B05A0913C05B0913D05B2
:1008A00080931E0590931F05A0932005B09321050A
:1008B0001092560580912E058111289A08951F9255
:1008C0000F920FB60F9211242F933F934F935F9384
:1008D0006F937F938F939F93AF93BF93CF93DF9348
:1008E000EF93FF938091C600809392018091C000A6
:1008F00040919201887109F01FC18091A501843057
:1009000009F4A4C0853050F48130D1F0813098F0E2
:10091000823001F1833009F00CC121C0863009F426
:10092000C5C0863008F4A6C0873009F4F0C088300E
:1009300009F0FFC0F2C0453B09F002C181E003C0ED
:10094000423621F482E08093A501FAC0453B09F4C8
:10095000F7C0EFC0413009F0ECC083E0F4CF409322
:1009600030054F5F4093B2028091B2028F5F809357
:10097000E10384E08093A50180913005833061F02C
:10098000843020F4823009F059C01AC0883061F1F7
:10099000823109F053C03CC082EE93E090932A0468
:1009A0008093290423E035E03093B0022093AF0216
:1009B00040969093D5048093D4048091F2033BC079
:1009C0008CE094E090932A048093290425E537E095
:1009D0003093B0022093AF024C969093D50480934D
:1009E000D4048091280427C081EC94E090932A04D9
:1009F000809329042AE236E03093B0022093AF02BC
:100A000042969093D5048093D4048091D30413C06C
:100A100082E395E090932A04809329042BE83AE03E
:100A20003093B0022093AF0284969093D5048093C4
:100A3000D404809156058093310582C081E0809373
:100A400031051092D5041092D4047AC0842F9927CE
:100A50009093D7048093D6048091B202840F809340
:100A6000B2028091E1039091B202890F8093E10379
:100A700085E069CF2091D6043091D704842F99273F
:100A8000982F8827280F391F3093D7042093D60436
:100A90008091B202840F8093B2028091E103909121
:100AA000B202890F8093E10386E04DCF8091B202BC
:100AB000840F8093B2028091E1039091B202890F7A
:100AC0008093E10380913105882381F4E09129042A
:100AD000F0912A048091AF029091B002E817F907D3
:100AE00028F44193F0932A04E09329048091D604DA
:100AF0009091D70401979093D7048093D604809166
:100B0000D6049091D704892BD9F487E01CCF80912B
:100B1000B202481771F488E016CF8091E1034817BC
:100B200041F4E091D404F091D504309711F081E0C4
:100B300080831092A50104C01092A5010E94DB03DE
:100B40000E94DB0340919E01463910F010929D01F6
:100B5000809192018D3009F05CC080919D018230BE
:100B600009F057C010929D01A42FBB27FD01E75D3E
:100B7000FB4F3081ED01C65DDB4F28818091A101E3
:100B80009091A201831B9109821B91099F70909300
:100B9000A2018093A1019C0196E0369527959A9534
:100BA000E1F7235C2093A001982F9F73935C9093AF
:100BB0009F018081281729F48881981711F491E00A
:100BC00006C0809195018F5F8093950190E08091A0
:100BD0009301882309F064C0992309F461C081E07E
:100BE0008093930140939601A55DBB4F8DE08C935C
:100BF00080912D04823509F053C088E190E02CE00B
:100C00000FB6F894A895809360000FBE2093600003
:100C100047C080919D018130D9F0813018F0823039
:100C2000E9F530C080919201833239F480919301CB
:100C3000882319F481E080939D0180919201809333
:100C40002B0481E080939E0180919201992715C029
:100C500082E080939D01E42FFF2780919201E55D62
:100C6000FB4F80834F5F40939E01209192018091C2
:100C7000A1019091A201820F911D9093A2018093F6
:100C8000A1010EC0E42FFF2780919201E55DFB4F8B
:100C90008083463938F310929D01E7CF10929D0171
:100CA000FF91EF91DF91CF91BF91AF919F918F9184
:100CB0007F916F915F914F913F912F910F900FBE58
:100CC0000F901F901895DC0120E030E040E050E0EC
:100CD000E3EBF2E005C08191280F311D4F5F5F4FBC
:100CE0004A175B07C1F73F70C90166E09695879583
:100CF0006A95E1F7835CFD01ED54FD4F8083119609
:100D00002F73235CFD01ED54FD4F2083AC54BD4F88
:100D10008DE08C93109200018091B3028093C60005
:100D20000895EF92FF920F931F93CF93DF937A0171
:100D3000722F93E29093B3026093B4028093B50252
:100D400003E010E060E0A6EBB2E046C0F701E60F7A
:100D5000F11D90816F5F715019F4E0E040E00FC029
:100D6000F701E60FF11D40816F5F715011F4E0E073
:100D700006C0F701E60FF11DE0816F5F7150892F0A
:100D800086958695835C8C935527892F9927837048
:100D9000907024E0880F991F2A95E1F79A0194E05A
:100DA000369527959A95E1F7822B835CED0189832F
:100DB0004F705070440F551F440F551F8E2F829552
:100DC000869586958370842B835C8A83EF73E35CBE
:100DD000EB830C5F1F4F1496772309F0B7CFC80140
:100DE0000E946306DF91CF911F910F91FF90EF90CA
:100DF00008951F93CF93DF93EC0170E0A22FBB27E0
:100E0000129748C0E42FFF27E55DFB4F30814F5F0D
:100E1000E42FFF27E55DFB4F50814F5FE42FFF2755
:100E2000E55DFB4F10814F5FE42FFF27E55DFB4F32
:100E300020814F5F842F9927A817B90774F15D535C
:100E4000FE01E70FF11D3D53330F330F852F8295C0
:100E50008F70382B3083613001F1912F9D537F5F6C
:100E6000FE01E70FF11D71505295507F892F869535
:100E70008695582B508363506F3F79F07E5FFE015B
:100E8000E70FF11D9295990F990F907C2D53922B9E
:100E900090837F5F662309F0B5CFDF91CF911F91DB
:100EA00008951F93182F8A3019F48DE00E9451077E
:100EB0008091C00085FFFCCF1093C60080E090E0D9
:100EC0001F9108950895E1ECF0E088E18083A0ECA3
:100ED000B0E08C9182608C93808180688083808177
:100EE000806480838AE28093C40088EC90E00E9452
:100EF000310C9093E0038093DF031092A5010895D5
:100F000080910001882309F468C080918E018823B4
:100F100071F080910001882351F02BE043EF53E002
:100F20006091B10287E40E94910610928E01809137
:100F3000DF039091E0030E943A0C882321F4809112
:100F400090018823B1F080910001882391F022E381
:100F50004CED54E06091B10284E40E94910610923D
:100F600090018AEF90E00E94310C9093E00380930F
:100F7000DF0380918F018823F1F0809100018823A5
:100F8000D1F00E94861010928F0180919C018F5F9A
:100F900080939C01843011F410929C0180919C01FB
:100FA00044E1849FA00111244A5E5E4F24E160E089
:100FB000805D0E94910680919101882371F080915B
:100FC0000001882351F02AE04EEF53E06091B10216
:100FD00086E50E9491061092910108951F93CF9388
:100FE000DF93CDB7DEB722970FB6F894DEBF0FBE02
:100FF000CDBF80919301882309F498C08FEF80932F
:10100000010180912D04813760F48C3608F06FC0A7
:10101000873609F440C08836F9F0833609F084C079
:1010200008C0843759F1863791F1813709F07CC0C7
:1010300036C02091960143E06BE083EF93E00E947D
:10104000F9068091CD019091F503892B8093CD0114
:1010500081E08093900168C02091960143E062E0B6
:10106000CE0101960E94F9068091CD019981892BCC
:101070008093CD0181E080938F0156C0209196012D
:1010800043E064E088E991E00E94F9064DC081E008
:101090008093910149C081E080938E0145C02091E9
:1010A000960143E062E0CE0101960E94F906898133
:1010B0008F3F89F0863010F085E089834AE36EE93E
:1010C00075E089810E942A0289812AE34EE955E070
:1010D0006091B10208C01091B1020E940B022AE394
:1010E0004EE955E0612F855B0E9491061DC020915D
:1010F000960143E06AE38EE995E00E94F90680914B
:101100002D044AE36EE975E08B560E94120280912D
:101110002D048B56A2E0B0E0082E0E94692E0E949A
:101120000B0299270E94811E1092930122960FB6FE
:10113000F894DEBF0FBECDBFDF91CF911F91089510
:10114000982F80915705813069F48091CC01E82F68
:10115000FF27EA5EFE4F90838F5F8093CC0121E0F2
:1011600030E005C0892F0E945107282F3327C9017D
:1011700008951F93182F04C080E30E94A008115007
:101180001116D4F31F9108951F93182F04C080E205
:101190000E94A00811501116D4F31F9108950F93C7
:1011A0001F93CF93DF938C01EB0108C0F8010F5F11
:1011B0001F4FE4918E2F0E94A00821972097B1F72E
:1011C000DF91CF911F910F9108950F931F93CF93AC
:1011D000DF938C01EB0106C0F80181918F010E9421
:1011E000A00821972097C1F7DF91CF911F910F9110
:1011F00008952F923F924F925F926F927F928F92BB
:101200009F92AF92BF92CF92DF92EF92FF920F9395
:101210001F93CF93DF93CDB7DEB7E3970FB6F89464
:10122000DEBF0FBECDBF29968FAD2997809357059E
:10123000CE01855B9F4F9D838C832B968EAD9FAD9A
:101240002B979FA78EA722243324210102C01301CC
:1012500024010EA51FA502C00F5F1F4FF801F490D7
:10126000FF2019F0F5E2FF16B9F7B8018EA59FA58A
:10127000681B790B11F00E94CF08FF2009F444C2CB
:101280000F5F1F4F1FA70EA71982AC81BD811BAA3C
:101290001AAA9FEF99ABEEA5FFA5CF0101969FA7D4
:1012A0008EA7B49095E7B91621F08B2D8062883710
:1012B00089F4EBA9E0FF07C02D903D904D905C9024
:1012C0001397149607C08D919C9111971C0144248B
:1012D00055241296F0E2BF1621F489818823D9F6AD
:1012E00085C083E2B81609F483C09AE2B91621F0EA
:1012F000EDE2BE1669F408C0FD011296E081EAAB8A
:10130000E7FFC9CFE195EAABFBA9F061FF7D72C0B1
:101310008BE2B81609F46AC09EE2B916B1F52EA5A3
:101320003FA52F5F3F4FEEA5FFA584918A3221F0A4
:10133000B82E20E030E01BC0FD01129640815181A3
:1013400057FF02C04FEF5FEF49AB3FA72EA7A3CFD8
:10135000C90103E0880F991F0A95E1F7220F331F97
:10136000280F391F2B0D311D20533040B49031967A
:101370008B2D80538A3060F3FFA7EEA7A90137FFBA
:1013800002C04FEF5FEF49AB8DCFF0E3BF1631F4F2
:101390008BA984FD80CF80628BAB7DCF8B2D815359
:1013A0008930E8F420E030E0C901F3E0880F991FAC
:1013B000FA95E1F7220F331F280F391F2B0D311D2E
:1013C00020533040EEA5FFA5CF0101969FA78EA721
:1013D000B4908B2D80538A3038F32AAB63CF98E6D4
:1013E000B91651F4EBA9E460EBAB55CFB98253CFFA
:1013F000FBA9F860FBAB4FCF8CE6B81621F49BA994
:1014000091609BAB48CFBD83AC83E3E6BE1639F455
:101410001296BD83AC8312978C918E831AC1F4E42B
:10142000BF1639F084E6B81639F099E6B91659F5C1
:1014300003C0EBA9E160EBABFBA9F0FF08C0149679
:10144000BD83AC835E904E903E902E900AC0129663
:10145000BD83AC839E918E911C01442437FC409443
:10146000542C57FC03C08AE088AB94C0509440943D
:1014700030942094211C311C411C511C8DE2898325
:101480009AE098AB87C0EFE4BE1629F0FFE6BF16DE
:1014900039F488E063C09BA991609BABE8E058C039
:1014A000F0E7BF1681F41296BD83AC839E918E91B6
:1014B0001C01442455248BA980648BAB90E198AB2C
:1014C00078E7B72E66C0E3E7BE16D9F51296BD835E
:1014D000AC83DE90CE90C114D10489F488E28E836F
:1014E0008EE68F8385E788878CE689878A8789E2FD
:1014F0008B871C8666E0C62ED12CCC0EDD1EF9A98A
:10150000F7FD13C04F2F552747FD509560E070E061
:10151000C6010E94B32B009711F419A90DC08C19B4
:1015200019A981174CF4182F07C0F601019000206B
:10153000E9F731971E2F1C1919824201310140E051
:1015400094C085E5B81631F095E7B91649F4EAE09C
:10155000E8AB1FC0FBA9F160FBAB8AE088AB19C008
:1015600098E5B91621F0E8E7BE1609F06EC0FBA9B0
:10157000F3FD02C080E1F2CF211431044104510493
:1015800019F490E198AB05C0EBA9E064EBABF0E196
:10159000F8AB198289A987FD03C09BA99F7D9BABEE
:1015A000211431044104510461F4E9A9EE2349F402
:1015B0006624772443015EE2C52ED12CCC0EDD1EBD
:1015C0003EC04EE2C42ED12CCC0EDD1EF8A9EF2E6B
:1015D000FF2400271127C201B101A80197010E9431
:1015E000242E6A3020F430E3A32EA60E08C027E58F
:1015F000A22EA60E88E5B81611F49FEDA922F601D9
:10160000A2926F01C201B101A80197010E94242E8C
:1016100039014A012E143F044006510618F0190101
:101620002A01D9CFF8A9F83051F48BA983FF07C05C
:1016300090E3A91621F080E3F60182936F01CE01B9
:101640008C19182F125D49A910C0BB2009F45CC089
:10165000BE8219824201310100E011E096E0C92EFC
:10166000D12CCC0EDD1E21E005C0212F042F011B43
:1016700007FD00E08981882319F0812F8F5F07C063
:101680009BA996FD02C0812F02C0822F8E5FA82EDB
:10169000A00EEBA9EE2EFF2480E3482E512C4E2005
:1016A0005F204114510421F48AA98A190E94C408B8
:1016B0008981882329F061E070E0CE01019609C09C
:1016C000E6FE09C080E38A83BB8262E070E0CE015F
:1016D00002960E94E508F0E24F16510421F48AA90F
:1016E0008A190E94B908802F0E94B908612F7727B4
:1016F00067FD7095C6010E94E508E4FEA8CD8AA9A1
:101700008A190E94C408A3CDE3960FB6F894DEBFF1
:101710000FBECDBFDF91CF911F910F91FF90EF9042
:10172000DF90CF90BF90AF909F908F907F906F9001
:101730005F904F903F902F9008951F920F920FB699
:101740000F9211242F933F935F936F937F938F9307
:101750009F93AF93BF938091AF0181508093AF016E
:101760008F3F01F589E08093AF01809103018F5F86
:10177000817080930301882319F481E08093A8018C
:101780008091A6019091A70101969093A701809363
:10179000A6018091D601882329F08091D60181503D
:1017A0008093D6018091AB019091AC01029758F0E3
:1017B0008091AB019091AC0101979093AC01809323
:1017C000AB015A9A01C05A988091A60583FF3BC08D
:1017D000349B0AC08091A9019091AA01019690932F
:1017E000AA018093A9012FC08091A9019091AA011B
:1017F000892B79F08091A9019091AA01805A9F408C
:1018000040F48091A9019091AA01909318028093CD
:1018100017028091170290911802209119023091BD
:101820001A02821B930B845E9D4F68E671E00E9452
:10183000112E845B904090931C0280931B021092A7
:10184000AA011092A901BF91AF919F918F917F91B1
:101850006F915F913F912F910F900FBE0F901F904E
:1018600018952091A6013091A7012F5F3F4F820F5D
:10187000931F08952091A6013091A701821B930B1D
:10188000892F992786958074992708951F920F9222
:101890000FB60F921124EF92FF920F931F932F9385
:1018A0003F934F935F936F937F938F939F93AF93E8
:1018B000BF93CF93DF93EF93FF9380910201815009
:1018C000809302018F3F09F073C083E88093B000DA
:1018D00080918901C82FDD27D093AE01C093AD015F
:1018E0008091C405E090C00580FF1EC06091E701B3
:1018F0007091E8018091E9019091EA01FF240027AD
:10190000112720E830E040E050E00E94462EC80158
:10191000B7010E94DE2D20E032E040E050E00E945E
:10192000462EC20FD31F1DC06091E7017091E801E0
:101930008091E9019091EA01FF240027112720E816
:1019400030E040E050E00E94462EC801B7010E94FE
:10195000DE2D20E032E040E050E00E94462EC21B27
:10196000D30BD093AE01C093AD012091AD01309166
:10197000AE018091C10599272817390734F080916D
:10198000C20599278217930724F49093AE018093A0
:10199000AD018091AD019091AE01909303058093CC
:1019A00002058093B3008091C3058093020104C0B7
:1019B00083E08093B0005F98FF91EF91DF91CF912A
:1019C000BF91AF919F918F917F916F915F914F9157
:1019D0003F912F911F910F91FF90EF900F900FBEAD
:1019E0000F901F9018958091A6019091A7010B96DA
:1019F0009093B1018093B00182E085BD83EA84BDFC
:101A000017BC88E788BD96E096BD83EC8093B00054
:101A10009093B100E0E7F0E0808182608083EEE6A1
:101A2000F0E08081816080838AE08093B30010922F
:101A3000B20008952091A6013091A7012F5F3F4F7A
:101A4000280F391F8091A6019091A701A901481B79
:101A5000590B57FFF7CF089510927C008FEE8093BB
:101A60007A0008951F920F920FB60F921124EF92F1
:101A7000FF920F931F932F933F934F935F936F9317
:101A80007F938F939F93AF93BF93CF93DF93EF9306
:101A9000FF9310927A004091C8014F5F4093C801B4
:101AA0004150433009F41CC1443038F4413009F44A
:101AB00063C0423008F0B9C00DC0453009F450C1D0
:101AC000453008F42AC1463009F46FC1473009F0A7
:101AD000CBC252C22091DB013091DC0180917800B1
:101AE00090917900281B390B8091B6019091B70134
:101AF000820F931F9093B7018093B6018091C0012C
:101B00008F5F8093C00180910B0290910C02A09195
:101B10000D02B0910E02442737FD4095542F820FDD
:101B2000931FA41FB51F80930B0290930C02A093E8
:101B30000D02B0930E0280910F0290911002A091BD
:101B40001102B0911202820F931FA41FB51F809340
:101B50000F0290931002A0931102B093120281E041
:101B60008093C9018091C6019091C701019690931D
:101B7000C7018093C6017CC26091780070917900A2
:101B80008091D9019091DA01681B790B8091030251
:101B900090910402A0910502B09106029B01442796
:101BA00037FD4095542F820F931FA41FB51F8093BC
:101BB000030290930402A0930502B0930602809161
:101BC000070290910802A0910902B0910A02820FC7
:101BD000931FA41FB51F8093070290930802A09340
:101BE0000902B0930A0280917800909179000A97D7
:101BF00010F464E47DEF8091780090917900895E23
:101C0000934010F06CEB72E08091B4019091B501BB
:101C1000860F971F9093B5018093B4018091BF0107
:101C20008F5F8093BF0182E058C06091780070910F
:101C300079008091D7019091D801681B790B809130
:101C4000FB019091FC01A091FD01B091FE019B016F
:101C5000442737FD4095542F820F931FA41FB51FB3
:101C60008093FB019093FC01A093FD01B093FE01D2
:101C70008091FF0190910002A0910102B0910202B7
:101C8000820F931FA41FB51F8093FF019093000242
:101C9000A0930102B09302028091780090917900A4
:101CA0000A9710F464E47DEF8091780090917900B8
:101CB000895E934010F06CEB72E08091B2019091DC
:101CC000B301860F971F9093B3018093B201809167
:101CD000BE018F5F8093BE0184E08093C901C8C1BB
:101CE0004091040150910501809178009091790014
:101CF0009A01220F331F240F351F63E070E00E940A
:101D0000FD2D260F371F369527953695279530934D
:101D100005012093040186E0E0CF8091DF019091DE
:101D2000E0012091780030917900821B930B909311
:101D30005905809358058091B8019091B90120917F
:101D4000580530915905820F931F9093B9018093E4
:101D5000B8018091C2018F5F8093C20187E0BDCF3F
:101D600080917800909179002091DD013091DE0121
:101D7000821B930B90935905809358058091BA016B
:101D80009091BB012091580530915905820F931F06
:101D90009093BB018093BA018091C1018F5F8093C2
:101DA000C1014093C90186E0E4C060917800709160
:101DB0007900E090E101F090E2010091E3011091DF
:101DC000E401882777FD8095982F0E946C2CA8014C
:101DD00097010E94C02B0E944F2C7093BD0160930D
:101DE000BC012091BC013091BD01E0915805F091FA
:101DF0005905809163059091640597FF03C0909504
:101E000081959F4F64E070E00E94112EEB01CF019D
:101E1000F7FF03C0909581959F4F64E070E00E94AA
:101E2000112E260F371F2C0F3D1F3093BD0120931D
:101E3000BC018091BC019091BD01029704F16091B9
:101E4000E1017091E2018091E3019091E40120E0D1
:101E500030E048E454E40E94892C88230CF03CC014
:101E60006091E1017091E2018091E3019091E401C0
:101E70002AE037ED43EA5CE30E94C12B25C0809144
:101E8000BC019091BD018F5F9F4F34F56091E101DE
:101E90007091E2018091E3019091E40120E030E053
:101EA00046E154E40E948C2C1816B4F46091E101D0
:101EB0007091E2018091E3019091E4012AE037ED15
:101EC00043EA5CE30E94C02B6093E1017093E2015E
:101ED0008093E3019093E40181E08093C3018091BA
:101EE00078009091790090935B0580935A0520913A
:101EF0001302309114024091150250911602809104
:101F0000BC019091BD01AA2797FDA095BA2F280F7B
:101F1000391F4A1F5B1F2093130230931402409312
:101F2000150250931602E0901302F09014020091F3
:101F300015021091160260911302709114028091A3
:101F400015029091160220E034E040E050E00E943B
:101F5000462EE21AF30A040B150BE0921302F092DC
:101F60001402009315021093160283E08093C901B6
:101F700087E08093C8017CC08091680590916905D5
:101F80002091780030917900820F931F909369051A
:101F900080936805809160058F5F809360058091D4
:101FA0006005853008F460C08091780090917900D8
:101FB00090930B0180930A011092600580915C055B
:101FC00090915D052091680530916905821B930B06
:101FD00020912F0230913002821B930B9093C50108
:101FE0008093C4016091680570916905E0900601D5
:101FF000F09007010091080110910901882777FDF1
:102000008095982FA8019701220F331F441F551F59
:102010002E0D3F1D401F511F620F731F841F951F00
:1020200024E030E040E050E00E94462E209306017C
:1020300030930701409308015093090120915C05FA
:1020400030915D058091060190910701A0910801F2
:10205000B0910901281B390B3093300220932F02D5
:1020600010926905109268051092C9011092C8017A
:102070008091C90180937C008FEE80937A00FF915C
:10208000EF91DF91CF91BF91AF919F918F917F9110
:102090006F915F914F913F912F911F910F91FF9001
:1020A000EF900F900FBE0F901F901895CF93DF9376
:1020B000C0E0D0E0C7BD82E390E00E941A0D81E647
:1020C00091E09F938F931F920E94F90880910A01DB
:1020D00090910B010F900F900F908458934020F037
:1020E0002196CA3FD10531F7C093650588EC90E091
:1020F0000E941A0DDF91CF910895E6E1F1E080E2B0
:10210000819391E0E636F907D9F70895FF920F938E
:102110001F938091CD01282F3327C90181709070C2
:10212000682F882391F08091CE01882311F081508F
:1021300002C0809166018093CE01E6E1F1E080E289
:10214000819391E0E636F907D9F7A9014270507002
:1021500021FF0DC08091CE018F5F8093CE01E6E11B
:10216000F1E080E2819391E0E636F907D9F7662342
:1021700021F0452B11F01092CE0181E18093CC012A
:102180008091CE0199279F938F9382ED93E09F9347
:102190008F93E1E0FE2EFF920E94F9080091CE019C
:1021A0000F900F900F900F900F90053009F4D7C14A
:1021B000063090F4023009F4B8C0033030F4002344
:1021C000F1F0013009F05BC34DC0033009F402C1E6
:1021D000043009F054C34BC1083009F498C20930E7
:1021E00038F4063009F411C2073009F048C36CC254
:1021F000093009F4C9C20A3009F041C303C310927F
:10220000CC0180EC93E09F938F93FF920E94F9089A
:1022100084E18093CC018CE390E09F938F931F9295
:102220001F9289EB93E09F938F93FF920E94F9088E
:1022300088E28093CC010E940B0299279F938F9391
:102240008CEA93E09F938F93FF920E94F9088CE3AE
:102250008093CC018CE993E09F938F93FF920E942F
:10226000F9088EC28091A60580FF47C01092CC016C
:1022700080912F02909130029F938F938DE893E08D
:102280009F938F930F930E94F90884E18093CC0170
:1022900080913102909132029F938F938EE793E069
:1022A0009F938F930F930E94F90888E28093CC014B
:1022B00080910A0190910B019F938F938FE693E099
:1022C0009F938F930F930E94F9088CE38093CC0126
:1022D0008091650599279F938F9380E693E09F9364
:1022E0008F930F930E94F9088DB79EB744960FB64F
:1022F000F8949EBF0FBE8DBFC7C284E18093CC010E
:1023000089E593E09F938F930F930E94F90888E2E9
:102310008093CC018BE493E09F938F930F930E9463
:10232000F9088DB79EB70696E2CF1092CC0181E4F2
:1023300093E09F938F93FF920E94F90884E180932A
:10234000CC016091E7017091E8018091E9019091E1
:10235000EA0120E034E040E050E00E94462E5F9326
:102360004F933F932F9382E393E09F938F93FF923A
:102370000E94F90888E28093CC016091EF0170918E
:10238000F0018091F1019091F20120E034E040E011
:1023900050E00E94462E5F934F933F932F9383E22A
:1023A00093E09F938F93FF920E94F9088CE38093B0
:1023B000CC0180911702909118029F938F9384E132
:1023C00093E09F938F93FF920E94F9088DB79EB779
:1023D00046968DCF1092CC0180917605909177052D
:1023E00020917405309175059F938F933F932F93A0
:1023F00084E093E09F938F93FF920E94F90884E119
:102400008093CC0180917A0590917B05209178058D
:10241000309179059F938F933F932F9384EF92E0B0
:102420009F938F93FF920E94F90888E28093CC01DA
:1024300080917E0590917F0520917C0530917D05EE
:102440009F938F933F932F9384EE92E09F938F936C
:10245000FF920E94F9088CE38093CC018091800563
:10246000909181059F938F9384ED92E06FC01092BD
:10247000CC01E0919F05FF27EE0FFF1FEE58FA4FAA
:1024800020813181E0919E05FF27EE0FFF1FEE585E
:10249000FA4F808191813F932F939F938F9384EC88
:1024A00092E09F938F93FF920E94F90884E18093BA
:1024B000CC01E091A105FF27EE0FFF1FEE58FA4F68
:1024C00020813181E091A005FF27EE0FFF1FEE581C
:1024D000FA4F808191813F932F939F938F9384EB49
:1024E00092E09F938F93FF920E94F90888E2809375
:1024F000CC01E091A305FF27EE0FFF1FEE58FA4F26
:1025000020813181E091A205FF27EE0FFF1FEE58D9
:10251000FA4F808191813F932F939F938F9384EA09
:1025200092E09F938F93FF920E94F9088CE380932F
:10253000CC01E091A405FF27EE0FFF1FEE58FA4FE4
:10254000808191819F938F9384E992E09F938F93F1
:10255000FF920E94F9088DB79EB74A96C8CE109296
:10256000CC0186E892E09F938F93FF920E94F90836
:1025700084E18093CC012091D7013091D8018091E2
:10258000B2019091B3016091BE013F932F937727E1
:102590000E94112E7F936F9387E792E09F938F9312
:1025A000FF920E94F90888E28093CC012091D90122
:1025B0003091DA018091B4019091B5016091BF0131
:1025C0003F932F9377270E94112E7F936F9388E676
:1025D00092E09F938F93FF920E94F9088CE380937F
:1025E000CC012091DB013091DC018091B60190910A
:1025F000B7016091C0013F932F9377270E94112E5E
:102600007F936F9389E592E056C01092CC018CE4E1
:1026100092E09F938F93FF920E94F90884E1809348
:10262000CC012091DD013091DE018091BA019091C1
:10263000BB016091C1013F932F9377270E94112E18
:102640007F936F938DE392E09F938F93FF920E940D
:10265000F90888E28093CC012091DF013091E001FC
:102660008091B8019091B9016091C2013F932F937D
:1026700077270E94112E7F936F938EE292E09F93B3
:102680008F93FF920E94F9088CE38093CC016091B4
:10269000E1017091E2018091E3019091E4010091E8
:1026A0005A0510915B050E944F2C7F936F931F93E7
:1026B0000F938FE192E09F938F93FF920E94F9080E
:1026C0008DB79EB7489613CE84E18093CC0180915C
:1026D0000401909105019F938F9380E192E09F9375
:1026E0008F93FF920E94F90888E28093CC01809139
:1026F000270299279F938F9381E092E09F938F9376
:10270000FF920E94F9088DB79EB70A96F0CD1092FD
:10271000CC0182EF91E09F938F93FF920E94F90882
:1027200084E18093CC0180911B0290911C029F93C5
:102730008F9383EE91E09F938F93FF920E94F9080D
:1027400088E28093CC0180911702909118029F93A8
:102750008F9384ED91E09F938F93FF920E94F908ED
:102760008CE38093CC018091190290911A029F937F
:102770008F9385EC91E09F938F93FF920E94F908CD
:102780008DB79EB74296B3CD1092CC0180911F02B7
:10279000909120029F938F9389EB91E09F938F9369
:1027A000FF920E94F90884E18093CC01809121027C
:1027B000909122029F938F938DEA91E09F938F9344
:1027C000FF920E94F90888E28093CC018091230255
:1027D000909124029F938F9381EA91E09F938F932E
:1027E000FF920E94F9088CE38093CC01809125022E
:1027F000909126029F938F9385E991E09F938F9309
:10280000FF9270CD1092CC018DE891E09F938F9351
:10281000FF920E94F90884E18093CC0180918901A4
:1028200099279F938F938FE791E09F938F93FF92C8
:102830000E94F90888E28093CC018091AD019091CB
:10284000AE019F938F9381E791E09F938F93FF92C7
:102850000E94F9088CE38093CC018091C2059927EE
:102860009F938F938091C10599279F938F9383E6C0
:1028700091E09F938F93FF920E94F90835CD01500C
:10288000009366011092CE011092CD011F910F911D
:10289000FF9008951092B9008AE28093B8000895DD
:1028A00085EA8093BC0080E090E0089584E98093FD
:1028B000BC0008951092B9008093BB0085E8809316
:1028C000BC0080E090E008951F920F920FB60F9227
:1028D00011248F939F93EF93FF938091CF018F5F8C
:1028E0008093CF018150833009F442C0843028F4B2
:1028F0008130A1F0823070F50CC0853009F448C0F9
:102900008530D8F1863009F44BC0873009F071C0AA
:102910005BC08091D001880F8E5A14C08091D00185
:102920008F5F8093D0018150813009F444C08130A1
:1029300038F0823009F442C0833009F05AC041C0F7
:10294000809196021092B9008093BB0085E8809335
:10295000BC004FC084E98093BC008091D0018430DA
:1029600018F41092CF0102C01092D00185EAEFCF87
:102970008091D101880F8D5AE5CF8091D1018130AE
:10298000D1F08130E8F28230C9F0833091F519C07E
:102990008091BB00E091D101FF27E659FA4F808377
:1029A0008091D101813039F0813050F2823031F0A4
:1029B0008330F9F406C080919702C4CF80919A02C7
:1029C000C1CF8091A602BECF8091D1019091BB0072
:1029D000E82FFF27E659FA4F94838F5F8093D10148
:1029E000843010F01092D10184E98093BC001092E1
:1029F000CF01FF91EF919F918F910F900FBE0F909C
:102A00001F90189583EC80938100EFE6F0E08081C1
:102A1000806280831092DC011092DB011092DA0157
:102A20001092D9011092D8011092D70108951F92E7
:102A30000F920FB60F9211240F931F932F933F9372
:102A40004F935F936F937F938F939F93AF93BF93B6
:102A5000CF93DF93EF93FF9320918600309187000F
:102A60008091D4019091D501281B390B809186006B
:102A7000909187009093D5018093D401C9018D5D19
:102A800095408356994148F481E090E09093D301BA
:102A90008093D2011092670154C0C091D201D091AD
:102AA000D301CA30D1050CF04CC0C9018B5F9040F6
:102AB000845B914008F040C0A901425D5140FE0195
:102AC000EE0FFF1FEE58FA4F80819181FA01E81B4B
:102AD000F90BCF01F7FF03C0909581959F4F0697A3
:102AE0004CF480912702883C28F480912702865F6D
:102AF00080932702FE01EE0FFF1F8F010E581A4F21
:102B0000D8012D913C91C901880F991F820F931F05
:102B1000840F951F64E070E00E94112ED8018D9102
:102B20009C9111979B01281B390BE857FA4F318371
:102B3000208311967C936E932196D093D301C093FA
:102B4000D201FF91EF91DF91CF91BF91AF919F9112
:102B50008F917F916F915F914F913F912F911F9135
:102B60000F910F900FBE0F901F901895AF92BF92CC
:102B7000CF92DF92EF92FF920F931F9310927A0001
:102B80008091BE01882369F08091B2019091B301D8
:102B90006091BE0177270E94112E7093DB05609330
:102BA000DA058091BF01882369F08091B40190918A
:102BB000B5016091BF0177270E94112E7093D9054E
:102BC0006093D8058091C001882369F08091B60197
:102BD0009091B7016091C00177270E94112E7093E8
:102BE000E7056093E6058091C1018823D9F1E09063
:102BF000E305F090E4056091BA017091BB0120916A
:102C0000C1010027F7FC0095102F5701680143E030
:102C1000AA0CBB1CCC1CDD1C4A95D1F7AE18BF0812
:102C2000C00AD10A882777FD8095982F34E0660F77
:102C3000771F881F991F3A95D1F7332744275527C7
:102C40000E94462EA20EB31EC41ED51EC601B5019B
:102C500028E030E040E050E00E94462E3093E4054A
:102C60002093E3058091C2018823D9F1E090EC051F
:102C7000F090ED056091B8017091B9012091C20109
:102C80000027F7FC0095102F5701680183E0AA0C7C
:102C9000BB1CCC1CDD1C8A95D1F7AE18BF08C00A3E
:102CA000D10A882777FD8095982FB4E0660F771FAB
:102CB000881F991FBA95D1F73327442755270E94BB
:102CC000462EA20EB31EC41ED51EC601B50128E0B5
:102CD00030E040E050E00E94462E3093ED05209316
:102CE000EC058091C3018823A1F1E090DD05F0900F
:102CF000DE056091BC017091BD012091C3010027E8
:102D0000F7FC0095102F57016801A3E0AA0CBB1C2B
:102D1000CC1CDD1CAA95D1F7AE18BF08C00AD10A99
:102D2000882777FD8095982F3327442755270E94C1
:102D3000462EA20EB31EC41ED51EC601B50128E044
:102D400030E040E050E00E94462E3093DE052093B4
:102D5000DD051092B3011092B2011092BE011092E3
:102D6000B5011092B4011092BF011092B7011092F8
:102D7000B6011092C0011092B9011092B8011092E0
:102D8000C2011092BB011092BA011092C1011092BF
:102D9000BD011092BC011092C30180910B02909171
:102DA0000C02A0910D02B0910E028093F701909356
:102DB000F801A093F901B093FA018091FB01909181
:102DC000FC01A091FD01B091FE018093E701909379
:102DD000E801A093E901B093EA0180910302909188
:102DE0000402A0910502B09106028093EF01909336
:102DF000F001A093F101B093F2018091FF01909155
:102E00000002A0910102B09102028093EB01909325
:102E1000EC01A093ED01B093EE0180910702909137
:102E20000802A0910902B0910A028093F3019093E5
:102E3000F401A093F501B093F6018FEE80937A0030
:102E40008091DA059091DB05893C91057CF0209119
:102E5000DA053091DB058091DA059091DB05880F6A
:102E6000991F880F991F2052334015C08091DA05B1
:102E70009091DB0588539F4FA4F42091DA0530919F
:102E8000DB058091DA059091DB05880F991F880F8B
:102E9000991F205E3C4F820F931F9093DB05809318
:102EA000DA058091D8059091D905893C91057CF08F
:102EB0002091D8053091D9058091D8059091D905F8
:102EC000880F991F880F991F2052334015C0809199
:102ED000D8059091D90588539F4FA4F42091D80527
:102EE0003091D9058091D8059091D905880F991F07
:102EF000880F991F205E3C4F820F931F9093D90536
:102F00008093D80520911F02309120028091A20564
:102F1000E82FFF27EE0FFF1FEE58FA4F80819181B7
:102F200082599F4F281739071CF42F5F3F4F0CC061
:102F30008081918182599F4F821793074CF421150C
:102F4000310531F0215030403093200220931F0290
:102F500020912102309122028091A305E82FFF27C2
:102F6000EE0FFF1FEE58FA4F8081918182599F4FDB
:102F7000281739071CF42F5F3F4F0CC080819181C7
:102F800082599F4F821793074CF42115310531F078
:102F900021503040309322022093210220912302BD
:102FA000309124028091A405E82FFF27EE0FFF1F28
:102FB000EE58FA4F8081918182599F4F2817390727
:102FC0001CF42F5F3F4F0CC08081918182599F4F2D
:102FD000821793074CF42115310531F02150304010
:102FE000309324022093230220912502309126025F
:102FF0008091A505E82FFF27EE0FFF1FEE58FA4F2F
:103000008081918182599F4F281739071CF42F5FC7
:103010003F4F0CC08081918182599F4F8217930747
:103020004CF42115310531F0215030403093260207
:103030002093250280911F029091200297FF05C0E6
:103040001092200210921F020AC08F3F910539F0A2
:1030500034F08FEF90E09093200280931F028091D4
:1030600021029091220297FF05C010922202109235
:1030700021020AC08F3F910539F034F08FEF90E0C4
:103080009093220280932102809123029091240246
:1030900097FF05C010922402109223020AC08F3FAE
:1030A000910539F034F08FEF90E0909324028093F3
:1030B0002302809125029091260297FF05C010926D
:1030C0002602109225020AC08F3F910539F034F094
:1030D0008FEF90E090932602809325021F910F912D
:1030E000FF90EF90DF90CF90BF90AF900895109237
:1030F0007A008091BE01882369F08091B20190919D
:10310000B3016091BE0177270E94112E7093DB05F9
:103110006093DA058091BF01882369F08091B40142
:103120009091B5016091BF0177270E94112E709395
:10313000D9056093D8058091C001882369F08091FA
:10314000B6019091B7016091C00177270E94112EBE
:103150007093E7056093E6058091C1018823D1F063
:103160006091BA017091BB012091C101882777FD60
:103170008095982F34E0660F771F881F991F3A9526
:10318000D1F73327442755270E94462E3093E40574
:103190002093E3058091C2018823D1F06091B801AA
:1031A0007091B9012091C201882777FD8095982FF1
:1031B000B4E0660F771F881F991FBA95D1F73327A0
:1031C000442755270E94462E3093ED052093EC05A9
:1031D0008091C301882399F06091BC017091BD0179
:1031E0002091C301882777FD8095982F33274427A6
:1031F00055270E94462E3093DE052093DD05109260
:10320000B3011092B2011092BE011092B50110925A
:10321000B4011092BF011092B7011092B601109242
:10322000C0011092B9011092B8011092C20110921F
:10323000BB011092BA011092C1011092BD0110920F
:10324000BC011092C3018FEE80937A0020911F027F
:10325000309120028091A205E82FFF27EE0FFF1F7B
:10326000EE58FA4F8081918182599F4F2817390774
:103270001CF42F5F3F4F0CC08081918182599F4F7A
:10328000821793074CF42115310531F0215030405D
:103290003093200220931F022091210230912202BC
:1032A0008091A305E82FFF27EE0FFF1FEE58FA4F7E
:1032B0008081918182599F4F281739071CF42F5F15
:1032C0003F4F0CC08081918182599F4F8217930795
:1032D0004CF42115310531F0215030403093220259
:1032E0002093210220912302309124028091A40591
:1032F000E82FFF27EE0FFF1FEE58FA4F80819181D4
:1033000082599F4F281739071CF42F5F3F4F0CC07D
:103310008081918182599F4F821793074CF4211528
:10332000310531F0215030403093240220932302A4
:1033300020912502309126028091A505E82FFF27D4
:10334000EE0FFF1FEE58FA4F8081918182599F4FF7
:10335000281739071CF42F5F3F4F0CC080819181E3
:1033600082599F4F821793074CF42115310531F094
:1033700021503040309326022093250280911F0275
:103380009091200297FF05C01092200210921F0218
:103390000AC08F3F910539F034F08FEF90E09093A1
:1033A000200280931F02809121029091220297FFB8
:1033B00005C010922202109221020AC08F3F91058F
:1033C00039F034F08FEF90E0909322028093210245
:1033D000809123029091240297FF05C0109224024D
:1033E000109223020AC08F3F910539F034F08FEF1D
:1033F00090E0909324028093230280912502909183
:10340000260297FF05C01092260210922502089509
:103410008F3F910539F034F08FEF90E090932602C2
:103420008093250208951F938091A9058B3F98F002
:103430008B3F19F480911F020EC08C3F19F48091CC
:10344000210209C08D3F19F48091230204C08E3FF0
:1034500021F480912502809381018091810188234C
:1034600019F41092810104C08F3F11F480938101FF
:103470008091A8058B3F98F08B3F19F480911F0233
:103480000EC08C3F19F48091210209C08D3F19F4C0
:103490008091230204C08E3F21F480912502809305
:1034A000800180918001882319F41092800105C069
:1034B000843618F084E6809380018091AA058B3FC2
:1034C00098F08B3F19F480911F020EC08C3F19F4C5
:1034D0008091210209C08D3F19F48091230204C01C
:1034E0008E3F21F480912502809382018091820198
:1034F000882319F41092820105C0843618F084E6FE
:10350000809382018091AC058B3F98F08B3F19F43A
:1035100080911F020EC08C3F19F48091210209C0D6
:103520008D3F19F48091230204C08E3F21F48091D5
:1035300025028093830180918301882319F41092DE
:10354000830104C08F3F11F4809383018091B30500
:103550008B3F98F08B3F19F480911F020EC08C3F77
:1035600019F48091210209C08D3F19F48091230242
:1035700004C08E3F21F480912502809384018091C4
:103580008401882319F41092840104C08F3F11F440
:10359000809384018091B4058B3F98F08B3F19F4A0
:1035A00080911F020EC08C3F19F48091210209C046
:1035B0008D3F19F48091230204C08E3F21F4809145
:1035C000250280938501809185018B3010F48AE07B
:1035D00002C08F3F11F4809385018091B5058B3F28
:1035E00098F08B3F19F480911F020EC08C3F19F4A4
:1035F0008091210209C08D3F19F48091230204C0FB
:103600008E3F21F48091250280938601809186016E
:10361000882319F41092860104C08F3F11F480931F
:1036200086018091BA058B3F98F08B3F19F4809109
:103630001F020EC08C3F19F48091210209C08D3FFA
:1036400019F48091230204C08E3F21F48091250259
:103650008093880180918801882319F41092880151
:1036600004C08F3F11F4809388018091BB058B3F8C
:1036700098F08B3F19F480911F020EC08C3F19F413
:103680008091210209C08D3F19F48091230204C06A
:103690008E3F21F480912502809333028091330282
:1036A000882319F41092330204C08F3F11F48093E1
:1036B00033028091BC058B3F98F08B3F19F48091C9
:1036C0001F020EC08C3F19F48091210209C08D3F6A
:1036D00019F48091230204C08E3F21F480912502C9
:1036E0008093340280913402882319F410923402BA
:1036F00004C08F3F11F4809334028091BD058B3F4D
:1037000098F08B3F19F480911F020EC08C3F19F482
:103710008091210209C08D3F19F48091230204C0D9
:103720008E3F21F4809125028093350280913502ED
:10373000882319F41092350204C08F3F11F480934E
:1037400035028091BE058B3F98F08B3F19F4809134
:103750001F020EC08C3F19F48091210209C08D3FD9
:1037600019F48091230204C08E3F21F48091250238
:103770008093360280913602882319F41092360223
:1037800004C08F3F11F4809336029091BF059B3F98
:10379000B0F09B3F19F480911F0204C09C3F29F4B4
:1037A00080912102809389010CC09D3F19F4809182
:1037B0002302F8CF9E3F29F480912502F3CF909306
:1037C000890180918901882319F41092890104C02C
:1037D0008F3F11F4809389019B3FB0F09B3F19F418
:1037E00080911F0204C09C3F29F4809121028093A4
:1037F00089010CC09D3F19F480912302F8CF9E3FB0
:1038000029F480912502F3CF909389018091890159
:10381000882319F41092890104C08F3F11F480931A
:1038200089019B3FB0F09B3F19F480911F0204C0B7
:103830009C3F29F480912102809389010CC09D3F17
:1038400019F480912302F8CF9E3F29F4809125023C
:10385000F3CF9093890180918901882319F4109204
:10386000890104C08F3F11F4809389011091880170
:10387000612F772767FD7095872F972F0E946C2CFB
:1038800017FF06C020E030E040E853E40E94C12B5F
:1038900027E137EB41ED58E30E947A2D60937C01DC
:1038A00070937D0180937E0190937F018091B1059B
:1038B0008093E5058091B0058093DC051F91089504
:1038C00081E080939E0542E040939F0583E08093D2
:1038D000A00524E02093A10535E03093A20586E001
:1038E0008093A30587E08093A4051092A6058EE13E
:1038F0008093A7058BEF8093A9058AE08093AA05A2
:1039000092E39093A8059093AC054093AB05209368
:10391000AD051092AE0580E18093AF058FE08093F6
:10392000B0058AEF8093B1058AE18093B20580E803
:103930008093B3058FEA8093B4058093B5058AE53B
:103940008093B60583E28093B70584E18093B80540
:103950001092B9053093BA051092BB051092BC05C0
:103960001092BD051092BE0584E68093BF0588E2E3
:103970008093C0051092C4059093C10586E9809399
:10398000C2053093C305ACECB5E0E8E6F1E08CE0AD
:1039900001900D928150E1F7089581E080939E059A
:1039A00052E050939F0583E08093A00544E040934C
:1039B000A10535E03093A20586E08093A30587E05A
:1039C0008093A40528E02093A5051092A6059EE10A
:1039D0009093A7058BEF8093A9058AE08093AA05B1
:1039E00086E48093A8059093AC055093AB05409373
:1039F000AD052093AE0580E18093AF058FE0809305
:103A0000B0058AEF8093B1058AE18093B20580E822
:103A10008093B30588E78093B40596E99093B50544
:103A20008AE58093B60583E28093B70584E18093AD
:103A3000B8051092B9053093BA051092BB051092E3
:103A4000BC051092BD051092BE0584E68093BF05AB
:103A500088E28093C0051092C40582E38093C1057B
:103A60009093C2053093C305ACECB5E0E0E7F1E01C
:103A70008CE001900D928150E1F7089580912E0223
:103A8000882301F5109297021092960210929A02E2
:103A90001092A60280919801882311F080939602DB
:103AA00080919901882311F08093970280919A0167
:103AB000882311F08093A60280919B01882311F046
:103AC00080939A028091960299279093070580939C
:103AD0000605809197029927909309058093080520
:103AE0008091A602992790930B0580930A058091F7
:103AF0009A02992790930D0580930C051092CF019F
:103B00001092D0010E9450140895CF93DF93109229
:103B1000DE011092DD011092E0011092DF0180E0E1
:103B200090E0A0E0B0E08093E1019093E201A093E7
:103B3000E301B093E4011092D8011092D7011092E2
:103B4000DA011092D9011092DC011092DB010E947F
:103B5000771885E090E00E94310CEC01CE010E94C4
:103B60003A0C8823D9F30E9477188091A60580FF2C
:103B700010C080910A0190910B01875B934038F44B
:103B800080910A0190910B018E5E924010F40E9488
:103B900056108091DA059091DB0597FF03C0909550
:103BA00081959F4F9093D8018093D7018091D8053C
:103BB0009091D90597FF03C0909581959F4F909361
:103BC000DA018093D9018091E6059091E70597FF8E
:103BD00003C0909581959F4F9093DC018093DB010A
:103BE0008091EC059091ED0597FF03C0909581952C
:103BF0009F4F60E170E00E94112E7093E00160938E
:103C0000DF018091E3059091E40597FF03C0909553
:103C100081959F4F60E170E00E94112E7093DE014C
:103C20006093DD0160915A0570915B05882777FDEF
:103C30008095982F0E946C2C6093E1017093E201B3
:103C40008093E3019093E4011092FB011092FC0138
:103C50001092FD011092FE011092FF0110920002DD
:103C600010920102109202021092030210920402BA
:103C7000109205021092060210920702109208029A
:103C80001092090210920A0210920B0210920C027A
:103C900010920D0210920E021092DB051092DA05BE
:103CA0001092D9051092D8051092E7051092E605FA
:103CB0008091060190910701A0910801B09109013E
:103CC00090935D0580935C051092C5011092C4012C
:103CD0001092130210921402109215021092160202
:103CE000809117029091180290931A028093190202
:103CF00082E390E09093AC018093AB01DF91CF9190
:103D000008951F93182F0EC080912E02882361F40E
:103D100084E690E09093AC018093AB018AEF90E051
:103D20000E941A0D115080F71F9108952F923F9213
:103D30004F925F926F927F928F929F92AF92BF92BB
:103D4000CF92DF92EF92FF920F931F93CF93DF9367
:103D5000CDB7DEB724970FB6F894DEBF0FBECDBF48
:103D60000E94B615299AE091A005AE2FBB27AA0F95
:103D7000BB1FAE58BA4F0D90BC91A02D9D01285885
:103D80003F4F3A83298337FF02C01A8219828091FC
:103D90002702843608F04AC080910101882331F45B
:103DA00084EF91E09093AC018093AB01809142024B
:103DB00090914302009731F00197909343028093D2
:103DC000420204C010922E0210921D02289A809185
:103DD0003D0290913E02815D974028F18091B705A8
:103DE000482F55275A83498381E080931D02E09133
:103DF0009E05FF27EE0FFF1FEE58FA4F118210822B
:103E0000E0919F05FF27EE0FFF1FEE58FA4F11823A
:103E10001082E091A105FF27EE0FFF1FEE58FA4F29
:103E200011821082CEC110922E02CBC18091270246
:103E30008D3808F4C6C110921D028091B80522E3A6
:103E4000829FC001112490934302809342026981B2
:103E50007A81693271056CF080913D0290913E0249
:103E60007FEF8F3F970781F1019690933E028093F9
:103E70003D0280913D0290913E02883C910520F0E8
:103E800089819A81889704F51092580210925902FC
:103E900010925A0210925B02109254021092550234
:103EA000109256021092570210920B0210920C02BE
:103EB00010920D0210920E0210920F021092100238
:103EC0001092110210921202E981FA81E93CF10587
:103ED0000CF4D6C080912E02882309F072C1E091C3
:103EE000A105FF27EE0FFF1FEE58FA4F8081918149
:103EF0008C3491050CF4C1C0809141028F5F809396
:103F00004102893C08F45DC129980E94851D1092E8
:103F10002E021092410210923E0210923D028091B8
:103F20009E05282F3327F901EE0FFF1FEE58FA4F99
:103F300080819181873491059CF4E0919F05FF2752
:103F4000EE0FFF1FEE58FA4F0190F081E02DF7FFC2
:103F500003C0F095E195FF4FE734F1050CF46CC018
:103F600080919F05682F7727DB01AA0FBB1FAE58F2
:103F7000BA4F8D919C911197873491053CF0F901CE
:103F8000EE0FFF1FEE58FA4F808191818D919C9129
:103F90008734910564F0F901EE0FFF1FEE58FA4FD8
:103FA000808191818734910514F042E001C041E0A5
:103FB000FB01EE0FFF1FEE58FA4F8081918186348E
:103FC00091055CF4F901EE0FFF1FEE58FA4F808166
:103FD0009181873491050CF043E0FB01EE0FFF1F48
:103FE000EE58FA4F808191818A5B9F4F5CF4F90112
:103FF000EE0FFF1FEE58FA4F8081918187349105B3
:104000000CF044E0660F771F6E587A4FFB018081F9
:1040100091818A5B9F4F5CF4220F331F2E583A4FD9
:10402000F90180819181863491050CF445E0A2E08C
:10403000B0E0042E0E94692E0E940B024AE36EE952
:1040400075E00E942A020E940B020E94811E80914C
:10405000A60580FFB6C080910A0190910B01875B95
:10406000934040F480910A0190910B018E5E924042
:1040700008F0A7C00E945610A4C010924102A1C02F
:1040800049815A81433251050CF09BC08091A105B2
:10409000482F5527FA01EE0FFF1FEE58FA4F808187
:1040A0009181855B9F4F0CF06DC0809140028F5FC6
:1040B00080934002893C08F467C088EC80934002FA
:1040C00081E090E090933E0280933D0281E08093F6
:1040D0002E0210925002109251021092520210922F
:1040E000530210920B0210920C0210920D021092C9
:1040F0000E0210920F0210921002109211021092F2
:1041000012021092FB011092FC011092FD0110921C
:10411000FE01109203021092040210920502109206
:1041200006028091E7019091E801A091E901B09128
:10413000EA018093FF0190930002A0930102B093E3
:1041400002028091EF019091F001A091F101B091F4
:10415000F2018093070290930802A0930902B093A2
:104160000A02109258021092590210925A021092AA
:104170005B02109254021092550210925602109255
:10418000570202C010924002440F551F4E585A4F1A
:10419000FA01808191818C3491058CF080913F02ED
:1041A0008F5F80933F02893C60F010922E0288EC72
:1041B00080933F0210923E0210923D0202C0109284
:1041C0003F02809167018150809367018091670170
:1041D0008F3F29F080911D02882309F412C10E94AB
:1041E000131AE0919E05FF27EE0FFF1FDF01AE5867
:1041F000BA4F8D919C916091AD057727E857FA4FA2
:10420000208131814091AE055527FC01E69FC00118
:10421000E79F900DF69F900D1124F901E49F900106
:10422000E59F300DF49F300D1124820F931F909362
:10423000290280932802E0919F05FF27EE0FFF1FC0
:10424000DF01AE58BA4F8D919C91E857FA4F20810B
:104250003181FC01E69FC001E79F900DF69F900D14
:104260001124B901649F9001659F300D749F300D3A
:104270001124820F931F90932B0280932A02E091C6
:10428000A105FF27EE0FFF1FEE58FA4F80819181A5
:10429000909581959F4F90932D0280932C021091C1
:1042A0008501612F772767FD7095872F972F0E94D3
:1042B0006C2C17FF06C020E030E040E853E40E9479
:1042C000C12B20E030E040E251E40E94C12B20E00D
:1042D00030E040E85BE30E947A2D5B016C01609363
:1042E000E8057093E9058093EA059093EB0510913A
:1042F0008601612F772767FD7095872F972F0E9482
:104300006C2C17FF06C020E030E040E853E40E9428
:10431000C12B20E030EE4BE257E40E94092C609361
:10432000DF057093E0058093E1059093E2058091AD
:10433000A60582FF0CC080E090E0A0E0B0E0809392
:10434000DF059093E005A093E105B093E20520E03E
:1043500030E040E050E0C601B5010E94892C88237E
:1043600064F480E090E0A0E0B0E08093E8059093F2
:10437000E905A093EA05B093EB0520E030E040E0CA
:1043800050E06091DF057091E0058091E10590912A
:10439000E2050E94892C882364F480E090E0A0E08C
:1043A000B0E08093DF059093E005A093E105B09322
:1043B000E20580911D02882321F110922D021092B6
:1043C0002C02109229021092280210922B021092B5
:1043D0002A028DEC9CECACECBDE38093E805909355
:1043E000E905A093EA05B093EB058AE097EDA3EA0F
:1043F000BBE38093DF059093E005A093E105B093C4
:10440000E2058091C6019091C7018D54914008F456
:10441000BCC02091EB013091EC014091ED01509135
:10442000EE018091E7019091E801A091E901B0913E
:10443000EA01B901681B790B709347026093460249
:104440002091F3013091F4014091F5015091F60172
:104450008091EF019091F001A091F101B091F201F2
:10446000281B390B30934502209344021092C70158
:104470001092C601673A710534F08091D70190918E
:10448000D801019608C06A557F4F4CF48091D7013E
:104490009091D80101979093D8018093D701273A42
:1044A000310534F08091D9019091DA01019608C06C
:1044B0002A553F4F4CF48091D9019091DA01019730
:1044C0009093DA018093D90180910F0290911002AC
:1044D000A0911102B0911202873A9105A105B10590
:1044E0004CF08091DB019091DC0101979093DC010D
:1044F0008093DB0180910F0290911002A091110234
:10450000B09112028A559F4FAF4FBF4F4CF480912C
:10451000DB019091DC0101969093DC018093DB013B
:1045200010927A008091E7019091E801A091E90151
:10453000B091EA018093FF0190930002A0930102E1
:10454000B09302028091EF019091F001A091F101EE
:10455000B091F2018093070290930802A0930902A0
:10456000B0930A028091F7019091F801A091F901AE
:10457000B091FA0180930F0290931002A093110260
:10458000B09312028FEE80937A006091E7017091F0
:10459000E8018091E9019091EA01A090B205BB2465
:1045A000CC24DD24E090E305F090E405A60195011C
:1045B0000E94462E0027F7FC0095102F2E193F0968
:1045C000400B510BCA01B90120E130E040E050E05E
:1045D0000E94462E39014A0120934C0230934D022D
:1045E00040934E0250934F026091EF017091F001A1
:1045F0008091F1019091F201E090EC05F090ED05D1
:10460000A60195010E94462E0027F7FC0095102F69
:104610002E193F09400B510BCA01B90120E130E0CE
:1046200040E050E00E94462E209348023093490219
:1046300040934A0250934B02F5EF6F16F1E07F066C
:10464000F0E08F06F0E09F062CF084EF91E0A0E010
:10465000B0E00DC06CE066166EEF76066FEF860672
:104660006FEF960664F48CE09EEFAFEFBFEF8093A0
:104670004C0290934D02A0934E02B0934F02253FFF
:1046800071E0370770E0470770E057072CF084EFC0
:1046900091E0A0E0B0E009C02C503E4F4F4F5F4F7B
:1046A00064F48CE09EEFAFEFBFEF809348029093ED
:1046B0004902A0934A02B0934B0210927A00809173
:1046C000FB019091FC01A091FD01B091FE012091B0
:1046D0004C0230914D0240914E0250914F02821B8C
:1046E000930BA40BB50B8093FB019093FC01A0935B
:1046F000FD01B093FE018091030290910402A0910C
:104700000502B09106022091480230914902409181
:104710004A0250914B02821B930BA40BB50B809362
:10472000030290930402A0930502B09306028091C5
:104730002C0290912D025C01CC24B7FCC094DC2C9F
:10474000A0925002B0925102C0925202D0925302F3
:1047500097FF03C0909581959F4F84973CF080917F
:10476000A60584FD03C081E08093390260900B02AE
:1047700070900C0280900D0290900E02C501B7FE61
:1047800003C0909581959F4F7C010027F7FC009511
:10479000102F2091AF05332744275527C601B501B7
:1047A0000E94DE2D9B01AC01C801B7010E94DE2DE5
:1047B00020E031E040E050E00E94462E442737FDE3
:1047C0004095542F621A730A840A950A60920B026C
:1047D00070920C0280920D0290920E0280910B0258
:1047E00090910C02A0910D02B0910E028153954759
:1047F000A040B04064F080E395E7A0E0B0E0809393
:104800000B0290930C02A0930D02B0930E028091C4
:104810000B0290910C02A0910D02B0910E02805DEE
:104820009A48AF4FBF4F64F480ED9AE8AFEFBFEF07
:1048300080930B0290930C02A0930D02B0930E0292
:104840008FEE80937A008091170290911802892B45
:1048500009F4A1C08091A60583FF9DC06091E70186
:104860007091E8018091E9019091EA0120E032E045
:1048700040E050E00E94462E890137FF03C01095AA
:1048800001951F4F6091EF017091F0018091F1014E
:104890009091F20120E032E040E050E00E94462E8C
:1048A000B90137FF03C0709561957F4F601771079D
:1048B0000CF4B80169317105A4F4809139028823A0
:1048C00081F08091370290913802892B51F48091C8
:1048D00017029091180290931A0280931902109275
:1048E0003902209184013327629FC001639F900D9C
:1048F000729F900D112460E470E00E94112EA901B6
:10490000461B570B141615060CF03FC010927A0088
:1049100020913702309138022115310561F500915F
:104920000B0210910C0220910D0230910E02809129
:104930001B0290911C02BC01649FC001659F900DF9
:10494000749F900D112460E270E00E94112E882760
:1049500077FD8095982F060F171F281F391F00938A
:104960000B0210930C0220930D0230930E028FEE77
:1049700080937A0010C08FEE80937A0021503040EF
:10498000309338022093370206C084EF91E0909371
:104990003802809337028091A60585FF18C0809168
:1049A000330299279093A3028093A202809134024C
:1049B00099279093A5028093A402809135029927AC
:1049C0009093A1028093A0020E94672908C01092D0
:1049D0008D0210928C0210928F0210928E028091A2
:1049E000ED048F5F8093ED0480913A0281508093B3
:1049F0003A028F3F09F068C081E380933A026091E8
:104A0000E7017091E8018091E9019091EA01E0905D
:104A1000B205FF2400271127A80197010E94462E06
:104A20003093EF042093EE046091EF017091F00158
:104A30008091F1019091F201A80197010E94462E08
:104A40003093F1042093F0048091E3059091E40504
:104A50009093F3048093F2048091EC059091ED051E
:104A60009093F5048093F4048091E6059091E70516
:104A70009093F7048093F60480912F029091300276
:104A80009093F9048093F8046091130270911402DA
:104A9000809115029091160220E032E040E050E053
:104AA0000E94462E3093FB042093FA0489819A8158
:104AB0009093FD048093FC0480911702909118025A
:104AC0009093FF048093FE046091E7017091E801E8
:104AD0008091E9019091EA012090DF053090E00596
:104AE0004090E1055090E205E090DA05F090DB059A
:104AF0006090E8057090E9058090EA059090EB05DC
:104B00000E946C2CA20191010E947A2D5B016C0124
:104B10000027F7FC0095102FC801B7010E946C2CEC
:104B2000A40193010E947A2D9B01AC01C601B5013D
:104B30000E94C12B0E944F2C7093DB056093DA0515
:104B40006091EF017091F0018091F1019091F2017B
:104B5000E090D805F090D9050E946C2CA20191013B
:104B60000E947A2D5B016C010027F7FC0095102F45
:104B7000C801B7010E946C2CA40193010E947A2DF8
:104B80009B01AC01C601B5010E94C12B0E944F2CB4
:104B90007093D9056093D8056091E6057091E7059B
:104BA000A090F701B090F801C090F901D090FA01FF
:104BB000882777FD8095982F0E946C2C7B018C01B3
:104BC00020E030E040E05FE3C401B3010E947A2DB1
:104BD0009B01AC01C801B7010E947A2D7B018C01B9
:104BE000C601B5010E946C2CA20191010E947A2D90
:104BF0009B01AC01C801B7010E94C12B0E944F2C40
:104C00007093E7056093E6058091DA059091DB05E6
:104C10008150984034F080E098E09093DB058093D9
:104C2000DA058091DA059091DB058050984F34F4D5
:104C300080E098EF9093DB058093DA058091D805AA
:104C40009091D9058150984034F080E098E090939D
:104C5000D9058093D8058091D8059091D9058050C9
:104C6000984F34F480E098EF9093D9058093D8055D
:104C70008091E6059091E7058150984034F080E0FE
:104C800098E09093E7058093E6058091E605909182
:104C9000E7058050984F34F480E098EF9093E70553
:104CA0008093E6058091A605992780FFCDC02091CD
:104CB000810181FF0EC02233B0F480912F029091C8
:104CC00030024497909332028093310210921E0278
:104CD0000DC08091AB05289FC0011124449790938B
:104CE00032028093310281E080931E0280911D0286
:104CF000882321F0109232021092310220912F026B
:104D000030913002409131025091320242175307E4
:104D10000CF09AC080911E02882309F495C0241BD0
:104D2000350B809182019927BC01269FC001279FE6
:104D3000900D369F900D112460E170E00E94112EBD
:104D400009811A81061B170B2091C4013091C501FE
:104D5000809180019927FC012E9FC0012F9F900D0B
:104D60003E9F900D112468E070E00E94112E061BFA
:104D7000170B6091130270911402809115029091AB
:104D8000160220E032E040E050E00E94462ECA01C8
:104D9000B901209183013327442755270E94DE2D36
:104DA00020E230E040E050E00E94462EFFEF2E3C33
:104DB0003F0714F42EEC3FEF80913B0290913C02B0
:104DC000AC0174E0440F551F7A95E1F7481B590B6D
:104DD0002333310514F022E330E0021B130BCA0128
:104DE000800F911F60E170E00E94112E70933C02D1
:104DF00060933B028091A7059927681779078CF487
:104E000029813A81281739072CF090933C0280932E
:104E10003B0207C049815A8150933C0240933B02B8
:104E20000DC080913B0290913C0269817A816817A4
:104E3000790724F470933C0260933B0280913B021B
:104E400090913C029A838983C090E605D090E70553
:104E50008091500290915102C81AD90A95E6C9165C
:104E6000D10424F064E6C62ED12C09C0ECE9CE169C
:104E7000EFEFDE0624F45CE9C52E5FEFD52E4090FF
:104E800078015090790160907A0170907B01609177
:104E9000DA057091DB0520912802309129024091BA
:104EA0008C0250918D02241B350B621B730B8827DB
:104EB00077FD8095982F0E946C2C9B01AC01C3015B
:104EC000B2010E947A2D0E944F2C70939902609338
:104ED000980280919802909199028C01222717FDE7
:104EE0002095322F8091580290915902A0915A0238
:104EF000B0915B02080F191F2A1F3B1F0093580235
:104F00001093590220935A0230935B021016110637
:104F100012061306ACF4C80117FF03C090958195E3
:104F20009F4F60E071E00E94112E6F5F7F4F8827D6
:104F300077FD8095982F061B170B280B390B14C093
:104F4000C80117FF03C0909581959F4F60E071E005
:104F50000E94112E6F5F7F4F882777FD8095982FD5
:104F6000060F171F281F391F00935802109359026C
:104F700020935A0230935B0280915802909159021B
:104F8000A0915A02B0915B028138FEE39F07F0E0E6
:104F9000AF07F0E0BF072CF080E89EE3A0E0B0E0B0
:104FA00009C08058914CAF4FBF4F64F480E891EC3A
:104FB000AFEFBFEF8093580290935902A0935A022B
:104FC000B0935B02609198027091990280907C018D
:104FD00090907D01A0907E01B0907F01882777FDA1
:104FE0008095982F0E946C2C7B018C016091580257
:104FF0007091590280915A0290915B020E946C2C30
:105000009B01AC01C501B4010E947A2D9B01AC014A
:10501000C801B7010E94C12B0E944F2C9601260F98
:10502000371F49815A81240F351F22244A305105E8
:1050300014F441E0242E37FD02C0222019F040E094
:1050400050E008C08091E505482F55272417350703
:105050000CF4A9018091DC05E82FFF27FC83EB838A
:105060009F01E417F5070CF49A0120939602298119
:105070003A81261B370BB9016C0D7D1D77FD02C0EF
:10508000222019F080E090E007C08091E505992783
:10509000681779070CF4CB012B813C81281739075D
:1050A0000CF49C01209397026091D8057091D9056A
:1050B00020912A0230912B0240918E0250918F0252
:1050C000241B350B621B730B882777FD8095982F67
:1050D0000E946C2C9B01AC01C301B2010E947A2D8D
:1050E0000E944F2C709395026093940280919402D9
:1050F000909195028C01222717FD2095322F8091E7
:10510000540290915502A0915602B0915702080F97
:10511000191F2A1F3B1F009354021093550220931E
:105120005602309357021016110612061306ACF4FD
:10513000C80117FF03C0909581959F4F60E071E013
:105140000E94112E6F5F7F4F882777FD8095982FE3
:10515000061B170B280B390B14C0C80117FF03C01F
:10516000909581959F4F60E071E00E94112E6F5FD6
:105170007F4F882777FD8095982F060F171F281FD0
:10518000391F009354021093550220935602309316
:1051900057028091540290915502A0915602B0910D
:1051A000570281383EE3930730E0A30730E0B307AE
:1051B0002CF080E89EE3A0E0B0E009C08058914C5C
:1051C000AF4FBF4F64F480E891ECAFEFBFEF809337
:1051D000540290935502A0935602B09357026091E7
:1051E000940270919502882777FD8095982F0E94F0
:1051F0006C2C7B018C01609154027091550280915E
:105200005602909157020E946C2C9B01AC01C50183
:10521000B4010E947A2D9B01AC01C801B7010E9424
:10522000C12B0E944F2C29813A81260F371F2C1940
:105230003D0937FD02C0222019F040E050E008C0CF
:105240008091E505482F5527241735070CF4A9014F
:105250002B813C81241735070CF49A012093A60278
:1052600089819A81861B970BBC016C197D0977FD9A
:1052700002C0222019F020E030E008C08091E5054E
:10528000282F3327621773070CF49B018B819C81B5
:10529000821793070CF4C90180939A0224960FB6E3
:1052A000F894DEBF0FBECDBFDF91CF911F910F915C
:1052B000FF90EF90DF90CF90BF90AF909F908F9036
:1052C0007F906F905F904F903F902F9008952F9216
:1052D0003F924F925F926F927F928F929F92AF9286
:1052E000BF92CF92DF92EF92FF920F931F93CF93D3
:1052F000DF9380912E028230B0F1809180029091F4
:105300008102892B81F580912E05882361F180919E
:105310000E0590910F05A0911005B0911105809395
:10532000820290938302A0938402B09385028091BD
:10533000120590911305A0911405B0911505809365
:10534000860290938702A0938802B093890280E539
:1053500090E09093AC018093AB0181E090E090935A
:1053600081028093800280911F0290912002181682
:1053700019060CF0C7C180912E05882309F4C2C11B
:1053800080918A0190918B01892B51F180910E05BA
:1053900090910F05A0911005B091110580935E02C8
:1053A00090935F02A0936002B09361028091120516
:1053B00090911305A0911405B09115058093620298
:1053C00090936302A0936402B093650282E390E03D
:1053D0009093AC018093AB0110928B0110928A01E3
:1053E0002091A2023091A30260915E0270915F024F
:1053F0008091600290916102E0900E05F0900F059F
:1054000000911005109111056E197F09800B910B09
:10541000442737FD4095542F0E94DE2D1B012C019F
:10542000609368027093690280936A0290936B02A2
:105430002091A2023091A3026091620270916302F6
:105440008091640290916502E0901205F09013053E
:1054500000911405109115056E197F09800B910BB1
:10546000442737FD4095542F0E94DE2D5B016C01CF
:1054700060936C0270936D0280936E0290936F0242
:1054800010927002109271021092720210927302C6
:1054900010927402109275021092760210927702A6
:1054A0006091A4027091A502882777FD8095982FBE
:1054B00020911A0530911B0540911C0550911D0546
:1054C0000E94DE2D7B018C0160937802709379023B
:1054D00080937A0290937B026091A4027091A5025E
:1054E000882777FD8095982F20911E0530911F0504
:1054F00040912005509121050E94DE2D3B014C0179
:1055000060937C0270937D0280937E0290937F0271
:105510002091A0023091A102E218F30804091509B4
:10552000442737FD4095542FC801B7010E94462EED
:10553000E90130938D0220938C022091A0023091DA
:10554000A102A618B708C808D908442737FD409516
:10555000542FC601B5010E94462EB90130938F0227
:1055600020938E0280918C0190918D018C179D0764
:105570002CF480918C0190918D0111C080918C014F
:1055800090918D01909581959F4FC817D9075CF434
:1055900080918C0190918D01909581959F4F909372
:1055A0008D0280938C0280918C0190918D018617E1
:1055B00097072CF480918C0190918D0111C08091FE
:1055C0008C0190918D01909581959F4F6817790777
:1055D0005CF480918C0190918D01909581959F4F05
:1055E00090938F0280938E0210926702109266024F
:1055F000E0906602F090670260918E0270918F02D7
:10560000882777FD8095982F0E946C2C1B012C0118
:10561000A0906602B09067020027F7FC0095102F5B
:10562000C801B7010E946C2C0E94C22DA2019101F9
:105630000E947A2D3B014C01CC24B7FCC094DC2C99
:10564000C601B5010E946C2C0E94032C7B018C01C9
:1056500060918C0270918D02882777FD8095982F3C
:105660000E946C2C9B01AC01C801B7010E947A2DED
:105670009B01AC01C401B3010E94C12B0E944F2CBD
:105680007B0170938D0260938C0260916602709131
:105690006702A0906602B0906702882777FD809528
:1056A000982F0E946C2C0E94032C3B014C01002778
:1056B000F7FC0095102FC801B7010E946C2C9B01CC
:1056C000AC01C401B3010E947A2D7B018C01CC2472
:1056D000B7FCC094DC2CC601B5010E946C2C0E9462
:1056E000C22DA20191010E947A2D9B01AC01C8013B
:1056F000B7010E94C02B0E944F2C70938F026093C1
:105700008E021EC085E090E090938B0180938A0109
:1057100010928D0210928C0210928F0210928E02C3
:105720001092700210927102109272021092730223
:105730001092740210927502109276021092770203
:10574000DF91CF911F910F91FF90EF90DF90CF905D
:10575000BF90AF909F908F907F906F905F904F9091
:105760003F902F900895FC014150504030F001903F
:105770000616D1F73197CF01089588279927089504
:105780005058192E59D101D009C1BA1762077307B1
:1057900084079507B1F188F40EF410940B2EBA2FFC
:1057A000A02D062E622F202D072E732F302D082EB0
:1057B000842F402D092E952F502DFF275523B9F00A
:1057C000591B49F0573E98F0469537952795A79570
:1057D000F0405395C9F776F0BA0F621F731F841F0C
:1057E00030F4879577956795B795F040939517FABC
:1057F0000F2E0895BF1BBB27BA0B620B730B840BD4
:10580000F6CFDEF645C150E449EC3FE02BED6ED01B
:10581000A2C012D101D0C2C0552359F0992369F01A
:105820009F575F57951B33F442F4903811F4915809
:1058300005C0CCC091589F3F09F42AC1BB27112451
:1058400062177307840730F4660F771F881FBB1F2A
:10585000915098F311D00F920FD00F920DD0A0E875
:105860002617370748071B0609F0A048BA2F602DF6
:105870007F918F9100240895A0E800246217730798
:105880008407B10528F0621B730B840BB1090A2A47
:10589000660F771F881FBB1FA69581F7089597FB9A
:1058A000D7D09F3738F0FEE9F91B982F872F762F36
:1058B0006B2F05C0EAC09695879577956795F1504F
:1058C000D0F73EF490958095709561957F4F8F4FFE
:1058D0009F4F0895E89403C097FB0EF4F3DFB62FB3
:1058E000672F782F892F9EE9002458C05F775523B2
:1058F00019F444230AF06AC02F933F934F935F93A8
:1059000088DF55274427C6D05F914F913F912F9153
:10591000F1C00ED05EF004C00BD026F001C008D05C
:1059200019F020F48FEF089580E0089581E0089544
:1059300097FB092E052600F8689481D0E89407FCAF
:1059400007C0621773078407950721F008F40094D5
:105950000794989408951F939F7750EC49E43FE093
:105960002BED0FDF10E89F775FE349EC3FE02BED75
:10597000621773078407950720F050EC49E401DFB4
:10598000112713D19068E0E7F0E023D091271F9111
:1059900008959A95BB0F661F771F881F11249923BE
:1059A000A1F08823B2F79F3F59F0BB0F48F421F4D0
:1059B000002011F460FF04C06F5F7F4F8F4F9F4F37
:1059C000881F9795879597F908955FC09FEF80ECA2
:1059D0000895FF92EF92DF92CF92BF926B017C010C
:1059E000B59016D0B590BB2069F09F938F937F93AD
:1059F0006F93B601C7010CD02F913F914F915F91EA
:105A00000E94092CBF90CF90DF90EF90FF900895F7
:105A1000D0D002C09601A701EF93FF930E947A2D88
:105A2000FF91EF91C6D0EF93FF930E94C12BFF919E
:105A3000EF91BA9479F70895052E092607FA440FD5
:105A4000551F5F3F79F0AA27A51708F051E0479549
:105A5000880F991F9F3F31F0BB27B91708F091E0DD
:105A6000879508959F919F911124B0CF97FB880F40
:105A7000991F9F3F31F0BB27B91708F091E0879538
:105A800008959F919F911124A1CF6627772788279A
:105A900099270895EBDFCF93DF93D52FC42F552798
:105AA0004427332722279923D9F09F37C8F0F92FAD
:105AB00075DF592F482F372F262FF63968F4EFDE80
:105AC0000BDFC030CD0721F06993799389939993C7
:105AD0009058DF91CF9155CE992788277727662751
:105AE000C030CD0721F02993399349935993DF9121
:105AF000CF9154CFA1DF01D051CF992339F0552355
:105B000029F09F575F57950F13F49AF1C1CF915821
:105B10009F3FE1F3629FA12D0F92BB27639FA00DD2
:105B2000B11DEE27729FA00DB11DEE1FAF93AA27E6
:105B3000649FB00DE11D739FB00DE11DAA1F662784
:105B4000829FB00DE11DA61F5527749FE00DA11D7A
:105B5000551F839FE00DA11D561F849FA00D511D51
:105B6000852F7A2F6E2F1F900F9088231AF493950C
:105B700039F42CCF000C111CBB1F661F771F881F28
:105B8000012808959F939F77993358F050E449EC8A
:105B90003FE02BEDABDE5FEB49EC3FE02BEDF1DDC1
:105BA000DADE5F915078952708959B01AC010C9443
:105BB0007A2D55914591359125910895629FD00197
:105BC000739FF001829FE00DF11D649FE00DF11DB8
:105BD000929FF00D839FF00D749FF00D659FF00D67
:105BE0009927729FB00DE11DF91F639FB00DE11D54
:105BF000F91FBD01CF0111240895AA1BBB1B51E160
:105C000007C0AA1FBB1FA617B70710F0A61BB70B2C
:105C1000881F991F5A95A9F780959095BC01CD01D1
:105C2000089597FB092E07260AD077FD04D0E5DFFB
:105C300006D000201AF4709561957F4F0895F6F70D
:105C4000909581959F4F0895A1E21A2EAA1BBB1B28
:105C5000FD010DC0AA1FBB1FEE1FFF1FA217B30738
:105C6000E407F50720F0A21BB30BE40BF50B661F4E
:105C7000771F881F991F1A9469F760957095809512
:105C800090959B01AC01BD01CF01089597FB092EB2
:105C900005260ED057FD04D0D7DF0AD0001C38F4FB
:105CA00050954095309521953F4F4F4F5F4F089548
:105CB000F6F790958095709561957F4F8F4F9F4F28
:105CC0000895F999FECFB2BDA1BDF89A119600B41E
:105CD0000895F999FECFB2BDA1BD00BC11960FB6D3
:0C5CE000F894FA9AF99A0FBE0895FFCFCD
:105CEC0001640A016400007D0000FF03010203044B
:105CFC0005060708090A48616C6C6F2057656C74BF
:105D0C000000000000000000000000000000000087
:105D1C000000000000000000000000000000000077
:105D2C000000000000000000000000000000000067
:105D3C000000000000000000000000000000000057
:105D4C000000000000000A014B616D6572610000EB
:105D5C004E6F726D616C00000000803F17B7D13838
:0E5D6C0030FB103A403296020A6405001E0019
:00000001FF
/branches/V0.60_GPS_BETA_chris2798_hallo2/Flight-Ctrl_MEGA644_V0_60.lss
0,0 → 1,9329
 
Flight-Ctrl_MEGA644_V0_60.elf: file format elf32-avr
 
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 0000008e 00800100 00005cec 00005da0 2**0
CONTENTS, ALLOC, LOAD, DATA
1 .text 00005cec 00000000 00000000 000000b4 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .bss 00000460 0080018e 0080018e 00005e2e 2**0
ALLOC
3 .eeprom 00000800 00810000 00810000 00005e2e 2**0
CONTENTS, ALLOC, LOAD, DATA
4 .stab 00000378 00000000 00000000 00006630 2**2
CONTENTS, READONLY, DEBUGGING
5 .stabstr 00000071 00000000 00000000 000069a8 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
 
00000000 <__vectors>:
0: 0c 94 ec 01 jmp 0x3d8 ; 0x3d8 <__ctors_end>
4: 0c 94 09 02 jmp 0x412 ; 0x412 <__bad_interrupt>
8: 0c 94 09 02 jmp 0x412 ; 0x412 <__bad_interrupt>
c: 0c 94 09 02 jmp 0x412 ; 0x412 <__bad_interrupt>
10: 0c 94 09 02 jmp 0x412 ; 0x412 <__bad_interrupt>
14: 0c 94 09 02 jmp 0x412 ; 0x412 <__bad_interrupt>
18: 0c 94 09 02 jmp 0x412 ; 0x412 <__bad_interrupt>
1c: 0c 94 09 02 jmp 0x412 ; 0x412 <__bad_interrupt>
20: 0c 94 09 02 jmp 0x412 ; 0x412 <__bad_interrupt>
24: 0c 94 46 0c jmp 0x188c ; 0x188c <__vector_9>
28: 0c 94 09 02 jmp 0x412 ; 0x412 <__bad_interrupt>
2c: 0c 94 09 02 jmp 0x412 ; 0x412 <__bad_interrupt>
30: 0c 94 17 15 jmp 0x2a2e ; 0x2a2e <__vector_12>
34: 0c 94 09 02 jmp 0x412 ; 0x412 <__bad_interrupt>
38: 0c 94 09 02 jmp 0x412 ; 0x412 <__bad_interrupt>
3c: 0c 94 09 02 jmp 0x412 ; 0x412 <__bad_interrupt>
40: 0c 94 09 02 jmp 0x412 ; 0x412 <__bad_interrupt>
44: 0c 94 09 02 jmp 0x412 ; 0x412 <__bad_interrupt>
48: 0c 94 9d 0b jmp 0x173a ; 0x173a <__vector_18>
4c: 0c 94 09 02 jmp 0x412 ; 0x412 <__bad_interrupt>
50: 0c 94 5f 04 jmp 0x8be ; 0x8be <__vector_20>
54: 0c 94 09 02 jmp 0x412 ; 0x412 <__bad_interrupt>
58: 0c 94 a5 03 jmp 0x74a ; 0x74a <__vector_22>
5c: 0c 94 09 02 jmp 0x412 ; 0x412 <__bad_interrupt>
60: 0c 94 32 0d jmp 0x1a64 ; 0x1a64 <__vector_24>
64: 0c 94 09 02 jmp 0x412 ; 0x412 <__bad_interrupt>
68: 0c 94 64 14 jmp 0x28c8 ; 0x28c8 <__vector_26>
6c: 0c 94 09 02 jmp 0x412 ; 0x412 <__bad_interrupt>
 
00000070 <table_cos>:
70: 08 29 or r16, r8
72: 57 3f cpi r21, 0xF7 ; 247
74: 9f 2d mov r25, r15
76: 49 cb rjmp .-2414 ; 0xfffff70a <__eeprom_end+0xff7eef0a>
78: a5 31 cpi r26, 0x15 ; 21
7a: 0f 76 andi r16, 0x6F ; 111
7c: c7 34 cpi r28, 0x47 ; 71
7e: 93 f2 brvs .-92 ; 0x24 <__zero_reg__+0x23>
80: 7e 37 cpi r23, 0x7E ; 126
82: d0 0d add r29, r0
84: 01 3a cpi r16, 0xA1 ; 161
86: b6 0b sbc r27, r22
88: 61 3d cpi r22, 0xD1 ; 209
8a: 2a aa std Y+50, r2 ; 0x32
8c: ab 3f cpi r26, 0xFB ; 251
8e: 00 00 nop
90: 00 3f cpi r16, 0xF0 ; 240
92: 80 00 .word 0x0080 ; ????
...
 
00000096 <__c.2019>:
96: 0a 0a 0d 00 ....
 
0000009a <__c.2017>:
9a: 4e 65 75 74 72 61 6c 00 Neutral.
 
000000a2 <__c.2015>:
a2: 48 65 61 64 69 6e 67 48 6f 6c 64 00 HeadingHold.
 
000000ae <__c.2013>:
ae: 0a 0d 53 74 65 75 65 72 75 6e 67 3a 20 00 ..Steuerung: .
 
000000bc <__c.2011>:
bc: 4f 4b 0a 0d 00 OK...
 
000000c1 <__c.2006>:
c1: 0a 0d 41 62 67 6c 65 69 63 68 20 4c 75 66 74 64 ..Abgleich Luftd
d1: 72 75 63 6b 73 65 6e 73 6f 72 2e 2e 00 rucksensor...
 
000000de <__c.2004>:
de: 0a 0d 42 65 6e 75 74 7a 65 20 50 61 72 61 6d 65 ..Benutze Parame
ee: 74 65 72 73 61 74 7a 20 25 64 00 tersatz %d.
 
000000f9 <__c.1996>:
f9: 0a 0d 49 6e 69 74 2e 20 45 45 50 52 4f 4d 3a 20 ..Init. EEPROM:
109: 47 65 6e 65 72 69 65 72 65 20 44 65 66 61 75 6c Generiere Defaul
119: 74 2d 50 61 72 61 6d 65 74 65 72 2e 2e 2e 00 t-Parameter....
 
00000128 <__c.1994>:
128: 0a 0d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ..==============
138: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
...
 
00000149 <__c.1992>:
149: 0a 0d 46 6c 69 67 68 74 43 6f 6e 74 72 6f 6c 20 ..FlightControl
159: 56 25 64 2e 25 64 20 00 V%d.%d .
 
00000161 <__c.1991>:
161: 2e 00 ..
 
00000163 <__c.2073>:
163: 52 61 6e 67 65 3a 25 33 69 2d 25 33 69 00 Range:%3i-%3i.
 
00000171 <__c.2071>:
171: 53 74 65 6c 6c 75 6e 67 3a 20 25 33 69 00 Stellung: %3i.
 
0000017f <__c.2069>:
17f: 53 65 74 70 6f 69 6e 74 20 20 25 33 69 00 Setpoint %3i.
 
0000018d <__c.2067>:
18d: 53 65 72 76 6f 20 20 00 Servo .
 
00000195 <__c.2064>:
195: 50 6f 74 69 34 3a 20 20 25 33 69 00 Poti4: %3i.
 
000001a1 <__c.2062>:
1a1: 50 6f 74 69 33 3a 20 20 25 33 69 00 Poti3: %3i.
 
000001ad <__c.2060>:
1ad: 50 6f 74 69 32 3a 20 20 25 33 69 00 Poti2: %3i.
 
000001b9 <__c.2058>:
1b9: 50 6f 74 69 31 3a 20 20 25 33 69 00 Poti1: %3i.
 
000001c5 <__c.2055>:
1c5: 53 74 61 72 74 3a 20 20 20 20 20 25 35 69 00 Start: %5i.
 
000001d4 <__c.2053>:
1d4: 4d 65 73 73 77 65 72 74 3a 20 20 25 35 69 00 Messwert: %5i.
 
000001e3 <__c.2051>:
1e3: 52 69 63 68 74 75 6e 67 3a 20 20 25 35 69 00 Richtung: %5i.
 
000001f2 <__c.2049>:
1f2: 4b 6f 6d 70 61 73 73 20 20 20 20 20 20 20 00 Kompass .
 
00000201 <__c.2046>:
201: 45 6d 70 66 2e 50 65 67 65 6c 3a 25 35 69 00 Empf.Pegel:%5i.
 
00000210 <__c.2044>:
210: 53 70 61 6e 6e 75 6e 67 3a 20 20 25 35 69 00 Spannung: %5i.
 
0000021f <__c.2041>:
21f: 48 6f 63 68 20 25 34 69 20 28 25 33 69 29 00 Hoch %4i (%3i).
 
0000022e <__c.2039>:
22e: 52 6f 6c 6c 20 25 34 69 20 28 25 33 69 29 00 Roll %4i (%3i).
 
0000023d <__c.2037>:
23d: 4e 69 63 6b 20 25 34 69 20 28 25 33 69 29 00 Nick %4i (%3i).
 
0000024c <__c.2035>:
24c: 41 43 43 20 2d 20 53 65 6e 73 6f 72 00 ACC - Sensor.
 
00000259 <__c.2032>:
259: 47 69 65 72 20 25 34 69 20 28 25 33 69 29 00 Gier %4i (%3i).
 
00000268 <__c.2030>:
268: 52 6f 6c 6c 20 25 34 69 20 28 25 33 69 29 00 Roll %4i (%3i).
 
00000277 <__c.2028>:
277: 4e 69 63 6b 20 25 34 69 20 28 25 33 69 29 00 Nick %4i (%3i).
 
00000286 <__c.2026>:
286: 47 79 72 6f 20 2d 20 53 65 6e 73 6f 72 00 Gyro - Sensor.
 
00000294 <__c.2023>:
294: 50 33 3a 25 34 69 20 20 4b 61 6e e4 6c 65 20 00 P3:%4i Kan.le .
 
000002a4 <__c.2021>:
2a4: 50 31 3a 25 34 69 20 20 50 32 3a 25 34 69 20 00 P1:%4i P2:%4i .
 
000002b4 <__c.2019>:
2b4: 47 73 3a 25 34 69 20 20 47 69 3a 25 34 69 20 00 Gs:%4i Gi:%4i .
 
000002c4 <__c.2017>:
2c4: 4e 69 3a 25 34 69 20 20 52 6f 3a 25 34 69 20 00 Ni:%4i Ro:%4i .
 
000002d4 <__c.2014>:
2d4: 4b 37 3a 25 34 69 20 20 4b 61 6e e4 6c 65 20 00 K7:%4i Kan.le .
 
000002e4 <__c.2012>:
2e4: 4b 35 3a 25 34 69 20 20 4b 36 3a 25 34 69 20 00 K5:%4i K6:%4i .
 
000002f4 <__c.2010>:
2f4: 4b 33 3a 25 34 69 20 20 4b 34 3a 25 34 69 20 00 K3:%4i K4:%4i .
 
00000304 <__c.2008>:
304: 4b 31 3a 25 34 69 20 20 4b 32 3a 25 34 69 20 00 K1:%4i K2:%4i .
 
00000314 <__c.2005>:
314: 4b 6f 6d 70 61 73 73 3a 20 20 20 25 35 69 00 Kompass: %5i.
 
00000323 <__c.2003>:
323: 52 6f 6c 6c 3a 20 20 20 20 20 20 25 35 69 00 Roll: %5i.
 
00000332 <__c.2001>:
332: 4e 69 63 6b 3a 20 20 20 20 20 20 25 35 69 00 Nick: %5i.
 
00000341 <__c.1999>:
341: 61 6b 74 2e 20 4c 61 67 65 00 akt. Lage.
 
0000034b <__c.1996>:
34b: 48 f6 68 65 6e 72 65 67 65 6c 75 6e 67 00 H.henregelung.
 
00000359 <__c.1994>:
359: 4b 65 69 6e 65 20 00 Keine .
 
00000360 <__c.1992>:
360: 4f 66 66 20 20 20 20 20 20 3a 20 25 35 69 00 Off : %5i.
 
0000036f <__c.1990>:
36f: 4c 75 66 74 64 72 75 63 6b 3a 20 25 35 69 00 Luftdruck: %5i.
 
0000037e <__c.1988>:
37e: 53 6f 6c 6c 48 6f 65 68 65 3a 20 25 35 69 00 SollHoehe: %5i.
 
0000038d <__c.1986>:
38d: 48 6f 65 68 65 3a 20 20 20 20 20 25 35 69 00 Hoehe: %5i.
 
0000039c <__c.1982>:
39c: 28 63 29 20 48 6f 6c 67 65 72 20 42 75 73 73 00 (c) Holger Buss.
 
000003ac <__c.1980>:
3ac: 53 65 74 74 69 6e 67 3a 20 25 64 20 00 Setting: %d .
 
000003b9 <__c.1978>:
3b9: 56 25 64 2e 25 64 00 V%d.%d.
 
000003c0 <__c.1976>:
3c0: 2b 2b 20 4d 69 6b 72 6f 4b 6f 70 74 65 72 20 2b ++ MikroKopter +
3d0: 2b 00 +.
 
000003d2 <__c.1973>:
3d2: 5b 25 69 5d 00 00 [%i]..
 
000003d8 <__ctors_end>:
3d8: 11 24 eor r1, r1
3da: 1f be out 0x3f, r1 ; 63
3dc: cf ef ldi r28, 0xFF ; 255
3de: d0 e1 ldi r29, 0x10 ; 16
3e0: de bf out 0x3e, r29 ; 62
3e2: cd bf out 0x3d, r28 ; 61
 
000003e4 <__do_copy_data>:
3e4: 11 e0 ldi r17, 0x01 ; 1
3e6: a0 e0 ldi r26, 0x00 ; 0
3e8: b1 e0 ldi r27, 0x01 ; 1
3ea: ec ee ldi r30, 0xEC ; 236
3ec: fc e5 ldi r31, 0x5C ; 92
3ee: 02 c0 rjmp .+4 ; 0x3f4 <.do_copy_data_start>
 
000003f0 <.do_copy_data_loop>:
3f0: 05 90 lpm r0, Z+
3f2: 0d 92 st X+, r0
 
000003f4 <.do_copy_data_start>:
3f4: ae 38 cpi r26, 0x8E ; 142
3f6: b1 07 cpc r27, r17
3f8: d9 f7 brne .-10 ; 0x3f0 <.do_copy_data_loop>
 
000003fa <__do_clear_bss>:
3fa: 15 e0 ldi r17, 0x05 ; 5
3fc: ae e8 ldi r26, 0x8E ; 142
3fe: b1 e0 ldi r27, 0x01 ; 1
400: 01 c0 rjmp .+2 ; 0x404 <.do_clear_bss_start>
 
00000402 <.do_clear_bss_loop>:
402: 1d 92 st X+, r1
 
00000404 <.do_clear_bss_start>:
404: ae 3e cpi r26, 0xEE ; 238
406: b1 07 cpc r27, r17
408: e1 f7 brne .-8 ; 0x402 <.do_clear_bss_loop>
40a: 0e 94 40 02 call 0x480 ; 0x480 <main>
40e: 0c 94 75 2e jmp 0x5cea ; 0x5cea <_exit>
 
00000412 <__bad_interrupt>:
412: 0c 94 00 00 jmp 0 ; 0x0 <__vectors>
 
00000416 <GetActiveParamSetNumber>:
416: a2 e0 ldi r26, 0x02 ; 2
418: b0 e0 ldi r27, 0x00 ; 0
41a: 0e 94 61 2e call 0x5cc2 ; 0x5cc2 <__eeprom_read_byte_1F2021>
41e: 80 2d mov r24, r0
420: 99 27 eor r25, r25
422: 08 95 ret
 
00000424 <WriteParameterSet>:
424: fb 01 movw r30, r22
426: 28 2f mov r18, r24
428: 86 30 cpi r24, 0x06 ; 6
42a: 08 f0 brcs .+2 ; 0x42e <WriteParameterSet+0xa>
42c: 25 e0 ldi r18, 0x05 ; 5
42e: 84 2f mov r24, r20
430: 99 27 eor r25, r25
432: 42 9f mul r20, r18
434: d0 01 movw r26, r0
436: 11 24 eor r1, r1
438: ac 59 subi r26, 0x9C ; 156
43a: bf 4f sbci r27, 0xFF ; 255
 
0000043c <.26_start>:
43c: 01 97 sbiw r24, 0x01 ; 1
43e: 24 f0 brlt .+8 ; 0x448 <.26_finished>
440: 01 90 ld r0, Z+
442: 0e 94 69 2e call 0x5cd2 ; 0x5cd2 <__eeprom_write_byte_1F2021>
446: fa cf rjmp .-12 ; 0x43c <.26_start>
 
00000448 <.26_finished>:
448: a2 e0 ldi r26, 0x02 ; 2
44a: b0 e0 ldi r27, 0x00 ; 0
44c: 02 2e mov r0, r18
44e: 0e 94 69 2e call 0x5cd2 ; 0x5cd2 <__eeprom_write_byte_1F2021>
452: 08 95 ret
 
00000454 <ReadParameterSet>:
454: cf 93 push r28
456: df 93 push r29
458: fb 01 movw r30, r22
45a: c4 2f mov r28, r20
45c: dd 27 eor r29, r29
45e: 86 30 cpi r24, 0x06 ; 6
460: 08 f0 brcs .+2 ; 0x464 <ReadParameterSet+0x10>
462: 85 e0 ldi r24, 0x05 ; 5
464: 48 9f mul r20, r24
466: d0 01 movw r26, r0
468: 11 24 eor r1, r1
46a: ac 59 subi r26, 0x9C ; 156
46c: bf 4f sbci r27, 0xFF ; 255
 
0000046e <.44_start>:
46e: 21 97 sbiw r28, 0x01 ; 1
470: 24 f0 brlt .+8 ; 0x47a <.44_finished>
472: 0e 94 61 2e call 0x5cc2 ; 0x5cc2 <__eeprom_read_byte_1F2021>
476: 01 92 st Z+, r0
478: fa cf rjmp .-12 ; 0x46e <.44_start>
 
0000047a <.44_finished>:
47a: df 91 pop r29
47c: cf 91 pop r28
47e: 08 95 ret
 
00000480 <main>:
480: 0f 93 push r16
482: 1f 93 push r17
484: cf 93 push r28
486: df 93 push r29
488: 91 e0 ldi r25, 0x01 ; 1
48a: 97 b9 out 0x07, r25 ; 7
48c: 8f ef ldi r24, 0xFF ; 255
48e: 88 b9 out 0x08, r24 ; 8
490: 8b e1 ldi r24, 0x1B ; 27
492: 84 b9 out 0x04, r24 ; 4
494: 95 b9 out 0x05, r25 ; 5
496: 8e e3 ldi r24, 0x3E ; 62
498: 8a b9 out 0x0a, r24 ; 10
49a: 57 9a sbi 0x0a, 7 ; 10
49c: 87 ef ldi r24, 0xF7 ; 247
49e: 8b b9 out 0x0b, r24 ; 11
4a0: 84 b7 in r24, 0x34 ; 52
4a2: 87 7f andi r24, 0xF7 ; 247
4a4: 84 bf out 0x34, r24 ; 52
4a6: 80 91 60 00 lds r24, 0x0060
4aa: 88 61 ori r24, 0x18 ; 24
4ac: 80 93 60 00 sts 0x0060, r24
4b0: 10 92 60 00 sts 0x0060, r1
4b4: 80 ed ldi r24, 0xD0 ; 208
4b6: 97 e0 ldi r25, 0x07 ; 7
4b8: 90 93 ac 01 sts 0x01AC, r25
4bc: 80 93 ab 01 sts 0x01AB, r24
4c0: 10 92 2d 02 sts 0x022D, r1
4c4: 10 92 2c 02 sts 0x022C, r1
4c8: 10 92 77 05 sts 0x0577, r1
4cc: 10 92 76 05 sts 0x0576, r1
4d0: 10 92 2b 02 sts 0x022B, r1
4d4: 10 92 2a 02 sts 0x022A, r1
4d8: 10 92 29 02 sts 0x0229, r1
4dc: 10 92 28 02 sts 0x0228, r1
4e0: 28 98 cbi 0x05, 0 ; 5
4e2: 0e 94 f3 0c call 0x19e6 ; 0x19e6 <Timer_Init>
4e6: 0e 94 63 07 call 0xec6 ; 0xec6 <UART_Init>
4ea: 0e 94 02 15 call 0x2a04 ; 0x2a04 <rc_sum_init>
4ee: 0e 94 2c 0d call 0x1a58 ; 0x1a58 <ADC_Init>
4f2: 0e 94 4a 14 call 0x2894 ; 0x2894 <i2c_init>
4f6: 78 94 sei
4f8: 10 92 fe 03 sts 0x03FE, r1
4fc: 8c e3 ldi r24, 0x3C ; 60
4fe: 80 93 ff 03 sts 0x03FF, r24
502: 84 e0 ldi r24, 0x04 ; 4
504: 80 93 00 04 sts 0x0400, r24
508: 8c e3 ldi r24, 0x3C ; 60
50a: 90 e0 ldi r25, 0x00 ; 0
50c: 9f 93 push r25
50e: 8f 93 push r24
510: 1f 92 push r1
512: 1f 92 push r1
514: 89 e4 ldi r24, 0x49 ; 73
516: 91 e0 ldi r25, 0x01 ; 1
518: 9f 93 push r25
51a: 8f 93 push r24
51c: 1f 92 push r1
51e: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
522: 88 e2 ldi r24, 0x28 ; 40
524: 91 e0 ldi r25, 0x01 ; 1
526: 9f 93 push r25
528: 8f 93 push r24
52a: 1f 92 push r1
52c: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
530: 29 9a sbi 0x05, 1 ; 5
532: a1 e0 ldi r26, 0x01 ; 1
534: b0 e0 ldi r27, 0x00 ; 0
536: 0e 94 61 2e call 0x5cc2 ; 0x5cc2 <__eeprom_read_byte_1F2021>
53a: 80 2d mov r24, r0
53c: 2d b7 in r18, 0x3d ; 61
53e: 3e b7 in r19, 0x3e ; 62
540: 26 5f subi r18, 0xF6 ; 246
542: 3f 4f sbci r19, 0xFF ; 255
544: 0f b6 in r0, 0x3f ; 63
546: f8 94 cli
548: 3e bf out 0x3e, r19 ; 62
54a: 0f be out 0x3f, r0 ; 63
54c: 2d bf out 0x3d, r18 ; 61
54e: 8b 33 cpi r24, 0x3B ; 59
550: a9 f1 breq .+106 ; 0x5bc <main+0x13c>
552: 89 ef ldi r24, 0xF9 ; 249
554: 90 e0 ldi r25, 0x00 ; 0
556: 9f 93 push r25
558: 8f 93 push r24
55a: 1f 92 push r1
55c: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
560: 0e 94 cd 1c call 0x399a ; 0x399a <DefaultKonstanten1>
564: 4a e3 ldi r20, 0x3A ; 58
566: 6e e9 ldi r22, 0x9E ; 158
568: 75 e0 ldi r23, 0x05 ; 5
56a: 80 e0 ldi r24, 0x00 ; 0
56c: 0e 94 12 02 call 0x424 ; 0x424 <WriteParameterSet>
570: 01 e0 ldi r16, 0x01 ; 1
572: 0f 90 pop r0
574: 0f 90 pop r0
576: 0f 90 pop r0
578: 02 30 cpi r16, 0x02 ; 2
57a: 49 f4 brne .+18 ; 0x58e <main+0x10e>
57c: 0e 94 60 1c call 0x38c0 ; 0x38c0 <DefaultKonstanten2>
580: 4a e3 ldi r20, 0x3A ; 58
582: 6e e9 ldi r22, 0x9E ; 158
584: 75 e0 ldi r23, 0x05 ; 5
586: 82 e0 ldi r24, 0x02 ; 2
588: 0e 94 12 02 call 0x424 ; 0x424 <WriteParameterSet>
58c: 03 e0 ldi r16, 0x03 ; 3
58e: 4a e3 ldi r20, 0x3A ; 58
590: 6e e9 ldi r22, 0x9E ; 158
592: 75 e0 ldi r23, 0x05 ; 5
594: 80 2f mov r24, r16
596: 0e 94 12 02 call 0x424 ; 0x424 <WriteParameterSet>
59a: 0f 5f subi r16, 0xFF ; 255
59c: 06 30 cpi r16, 0x06 ; 6
59e: 60 f3 brcs .-40 ; 0x578 <main+0xf8>
5a0: 81 e0 ldi r24, 0x01 ; 1
5a2: 22 e0 ldi r18, 0x02 ; 2
5a4: 30 e0 ldi r19, 0x00 ; 0
5a6: d9 01 movw r26, r18
5a8: 08 2e mov r0, r24
5aa: 0e 94 69 2e call 0x5cd2 ; 0x5cd2 <__eeprom_write_byte_1F2021>
5ae: 8b e3 ldi r24, 0x3B ; 59
5b0: 21 50 subi r18, 0x01 ; 1
5b2: 30 40 sbci r19, 0x00 ; 0
5b4: d9 01 movw r26, r18
5b6: 08 2e mov r0, r24
5b8: 0e 94 69 2e call 0x5cd2 ; 0x5cd2 <__eeprom_write_byte_1F2021>
5bc: 02 e0 ldi r16, 0x02 ; 2
5be: 10 e0 ldi r17, 0x00 ; 0
5c0: d8 01 movw r26, r16
5c2: 0e 94 61 2e call 0x5cc2 ; 0x5cc2 <__eeprom_read_byte_1F2021>
5c6: 80 2d mov r24, r0
5c8: 4a e3 ldi r20, 0x3A ; 58
5ca: 6e e9 ldi r22, 0x9E ; 158
5cc: 75 e0 ldi r23, 0x05 ; 5
5ce: 0e 94 2a 02 call 0x454 ; 0x454 <ReadParameterSet>
5d2: d8 01 movw r26, r16
5d4: 0e 94 61 2e call 0x5cc2 ; 0x5cc2 <__eeprom_read_byte_1F2021>
5d8: 80 2d mov r24, r0
5da: 99 27 eor r25, r25
5dc: 9f 93 push r25
5de: 8f 93 push r24
5e0: 8e ed ldi r24, 0xDE ; 222
5e2: 90 e0 ldi r25, 0x00 ; 0
5e4: 9f 93 push r25
5e6: 8f 93 push r24
5e8: 1f 92 push r1
5ea: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
5ee: 80 91 a6 05 lds r24, 0x05A6
5f2: 0f 90 pop r0
5f4: 0f 90 pop r0
5f6: 0f 90 pop r0
5f8: 0f 90 pop r0
5fa: 0f 90 pop r0
5fc: 80 ff sbrs r24, 0
5fe: 20 c0 rjmp .+64 ; 0x640 <main+0x1c0>
600: 81 ec ldi r24, 0xC1 ; 193
602: 90 e0 ldi r25, 0x00 ; 0
604: 9f 93 push r25
606: 8f 93 push r24
608: 1f 92 push r1
60a: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
60e: 84 ec ldi r24, 0xC4 ; 196
610: 99 e0 ldi r25, 0x09 ; 9
612: 0e 94 31 0c call 0x1862 ; 0x1862 <SetDelay>
616: ec 01 movw r28, r24
618: 0e 94 56 10 call 0x20ac ; 0x20ac <SucheLuftruckOffset>
61c: 0f 90 pop r0
61e: 0f 90 pop r0
620: 0f 90 pop r0
622: ce 01 movw r24, r28
624: 0e 94 3a 0c call 0x1874 ; 0x1874 <CheckDelay>
628: 88 23 and r24, r24
62a: d9 f3 breq .-10 ; 0x622 <main+0x1a2>
62c: 8c eb ldi r24, 0xBC ; 188
62e: 90 e0 ldi r25, 0x00 ; 0
630: 9f 93 push r25
632: 8f 93 push r24
634: 1f 92 push r1
636: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
63a: 0f 90 pop r0
63c: 0f 90 pop r0
63e: 0f 90 pop r0
640: 0e 94 85 1d call 0x3b0a ; 0x3b0a <SetNeutral>
644: 28 98 cbi 0x05, 0 ; 5
646: 80 ed ldi r24, 0xD0 ; 208
648: 97 e0 ldi r25, 0x07 ; 7
64a: 90 93 ac 01 sts 0x01AC, r25
64e: 80 93 ab 01 sts 0x01AB, r24
652: 88 ee ldi r24, 0xE8 ; 232
654: 93 e0 ldi r25, 0x03 ; 3
656: 90 93 f9 03 sts 0x03F9, r25
65a: 80 93 f8 03 sts 0x03F8, r24
65e: 85 e5 ldi r24, 0x55 ; 85
660: 80 93 f3 03 sts 0x03F3, r24
664: 8e ea ldi r24, 0xAE ; 174
666: 90 e0 ldi r25, 0x00 ; 0
668: 9f 93 push r25
66a: 8f 93 push r24
66c: 1f 92 push r1
66e: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
672: 80 91 a6 05 lds r24, 0x05A6
676: 0f 90 pop r0
678: 0f 90 pop r0
67a: 0f 90 pop r0
67c: 82 ff sbrs r24, 2
67e: 03 c0 rjmp .+6 ; 0x686 <main+0x206>
680: 82 ea ldi r24, 0xA2 ; 162
682: 90 e0 ldi r25, 0x00 ; 0
684: 02 c0 rjmp .+4 ; 0x68a <main+0x20a>
686: 8a e9 ldi r24, 0x9A ; 154
688: 90 e0 ldi r25, 0x00 ; 0
68a: 9f 93 push r25
68c: 8f 93 push r24
68e: 1f 92 push r1
690: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
694: 0f 90 pop r0
696: 0f 90 pop r0
698: 0f 90 pop r0
69a: 86 e9 ldi r24, 0x96 ; 150
69c: 90 e0 ldi r25, 0x00 ; 0
69e: 9f 93 push r25
6a0: 8f 93 push r24
6a2: 1f 92 push r1
6a4: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
6a8: 0e 94 7d 10 call 0x20fa ; 0x20fa <LcdClear>
6ac: 0f 90 pop r0
6ae: 0f 90 pop r0
6b0: 0f 90 pop r0
6b2: 80 91 a8 01 lds r24, 0x01A8
6b6: 88 23 and r24, r24
6b8: 79 f1 breq .+94 ; 0x718 <main+0x298>
6ba: 10 92 a8 01 sts 0x01A8, r1
6be: 0e 94 96 1e call 0x3d2c ; 0x3d2c <MotorRegler>
6c2: 0e 94 3e 1d call 0x3a7c ; 0x3a7c <SendMotorData>
6c6: 28 98 cbi 0x05, 0 ; 5
6c8: 80 91 01 01 lds r24, 0x0101
6cc: 88 23 and r24, r24
6ce: 19 f0 breq .+6 ; 0x6d6 <main+0x256>
6d0: 81 50 subi r24, 0x01 ; 1
6d2: 80 93 01 01 sts 0x0101, r24
6d6: 80 91 27 02 lds r24, 0x0227
6da: 88 23 and r24, r24
6dc: 29 f0 breq .+10 ; 0x6e8 <main+0x268>
6de: 80 91 27 02 lds r24, 0x0227
6e2: 81 50 subi r24, 0x01 ; 1
6e4: 80 93 27 02 sts 0x0227, r24
6e8: 20 91 04 01 lds r18, 0x0104
6ec: 30 91 05 01 lds r19, 0x0105
6f0: 80 91 b6 05 lds r24, 0x05B6
6f4: 99 27 eor r25, r25
6f6: 28 17 cp r18, r24
6f8: 39 07 cpc r19, r25
6fa: 34 f4 brge .+12 ; 0x708 <main+0x288>
6fc: 80 ed ldi r24, 0xD0 ; 208
6fe: 97 e0 ldi r25, 0x07 ; 7
700: 90 93 ac 01 sts 0x01AC, r25
704: 80 93 ab 01 sts 0x01AB, r24
708: 80 91 d6 01 lds r24, 0x01D6
70c: 88 23 and r24, r24
70e: 19 f4 brne .+6 ; 0x716 <main+0x296>
710: 0e 94 4a 14 call 0x2894 ; 0x2894 <i2c_init>
714: 01 c0 rjmp .+2 ; 0x718 <main+0x298>
716: 28 98 cbi 0x05, 0 ; 5
718: 0e 94 80 07 call 0xf00 ; 0xf00 <DatenUebertragung>
71c: 0e 94 ee 07 call 0xfdc ; 0xfdc <BearbeiteRxDaten>
720: 80 e0 ldi r24, 0x00 ; 0
722: 90 e0 ldi r25, 0x00 ; 0
724: 0e 94 3a 0c call 0x1874 ; 0x1874 <CheckDelay>
728: 88 23 and r24, r24
72a: 19 f2 breq .-122 ; 0x6b2 <main+0x232>
72c: 80 91 2e 02 lds r24, 0x022E
730: 88 23 and r24, r24
732: 29 f0 breq .+10 ; 0x73e <main+0x2be>
734: 88 b1 in r24, 0x08 ; 8
736: 90 e1 ldi r25, 0x10 ; 16
738: 89 27 eor r24, r25
73a: 88 b9 out 0x08, r24 ; 8
73c: 01 c0 rjmp .+2 ; 0x740 <main+0x2c0>
73e: 44 98 cbi 0x08, 4 ; 8
740: 84 ef ldi r24, 0xF4 ; 244
742: 91 e0 ldi r25, 0x01 ; 1
744: 0e 94 31 0c call 0x1862 ; 0x1862 <SetDelay>
748: b4 cf rjmp .-152 ; 0x6b2 <main+0x232>
 
0000074a <__vector_22>:
74a: 1f 92 push r1
74c: 0f 92 push r0
74e: 0f b6 in r0, 0x3f ; 63
750: 0f 92 push r0
752: 11 24 eor r1, r1
754: 8f 93 push r24
756: 9f 93 push r25
758: ef 93 push r30
75a: ff 93 push r31
75c: 80 91 00 01 lds r24, 0x0100
760: 88 23 and r24, r24
762: e1 f4 brne .+56 ; 0x79c <__vector_22+0x52>
764: 80 91 a3 01 lds r24, 0x01A3
768: 90 91 a4 01 lds r25, 0x01A4
76c: 01 96 adiw r24, 0x01 ; 1
76e: 90 93 a4 01 sts 0x01A4, r25
772: 80 93 a3 01 sts 0x01A3, r24
776: fc 01 movw r30, r24
778: ed 54 subi r30, 0x4D ; 77
77a: fd 4f sbci r31, 0xFD ; 253
77c: e0 81 ld r30, Z
77e: ed 30 cpi r30, 0x0D ; 13
780: 19 f0 breq .+6 ; 0x788 <__vector_22+0x3e>
782: 86 39 cpi r24, 0x96 ; 150
784: 91 05 cpc r25, r1
786: 39 f4 brne .+14 ; 0x796 <__vector_22+0x4c>
788: 10 92 a4 01 sts 0x01A4, r1
78c: 10 92 a3 01 sts 0x01A3, r1
790: 81 e0 ldi r24, 0x01 ; 1
792: 80 93 00 01 sts 0x0100, r24
796: e0 93 c6 00 sts 0x00C6, r30
79a: 04 c0 rjmp .+8 ; 0x7a4 <__vector_22+0x5a>
79c: 10 92 a4 01 sts 0x01A4, r1
7a0: 10 92 a3 01 sts 0x01A3, r1
7a4: ff 91 pop r31
7a6: ef 91 pop r30
7a8: 9f 91 pop r25
7aa: 8f 91 pop r24
7ac: 0f 90 pop r0
7ae: 0f be out 0x3f, r0 ; 63
7b0: 0f 90 pop r0
7b2: 1f 90 pop r1
7b4: 18 95 reti
 
000007b6 <GPSscanData>:
7b6: 80 91 f2 03 lds r24, 0x03F2
7ba: 81 30 cpi r24, 0x01 ; 1
7bc: 31 f4 brne .+12 ; 0x7ca <GPSscanData+0x14>
7be: 80 91 e6 03 lds r24, 0x03E6
7c2: 80 93 2e 05 sts 0x052E, r24
7c6: 10 92 f2 03 sts 0x03F2, r1
7ca: 80 91 d3 04 lds r24, 0x04D3
7ce: 81 30 cpi r24, 0x01 ; 1
7d0: 09 f0 breq .+2 ; 0x7d4 <GPSscanData+0x1e>
7d2: 44 c0 rjmp .+136 ; 0x85c <GPSscanData+0xa6>
7d4: 60 91 c9 04 lds r22, 0x04C9
7d8: 70 91 ca 04 lds r23, 0x04CA
7dc: 80 91 cb 04 lds r24, 0x04CB
7e0: 90 91 cc 04 lds r25, 0x04CC
7e4: 2a e0 ldi r18, 0x0A ; 10
7e6: 30 e0 ldi r19, 0x00 ; 0
7e8: 40 e0 ldi r20, 0x00 ; 0
7ea: 50 e0 ldi r21, 0x00 ; 0
7ec: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
7f0: 20 93 0e 05 sts 0x050E, r18
7f4: 30 93 0f 05 sts 0x050F, r19
7f8: 40 93 10 05 sts 0x0510, r20
7fc: 50 93 11 05 sts 0x0511, r21
800: 60 91 c5 04 lds r22, 0x04C5
804: 70 91 c6 04 lds r23, 0x04C6
808: 80 91 c7 04 lds r24, 0x04C7
80c: 90 91 c8 04 lds r25, 0x04C8
810: 2a e0 ldi r18, 0x0A ; 10
812: 30 e0 ldi r19, 0x00 ; 0
814: 40 e0 ldi r20, 0x00 ; 0
816: 50 e0 ldi r21, 0x00 ; 0
818: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
81c: 20 93 12 05 sts 0x0512, r18
820: 30 93 13 05 sts 0x0513, r19
824: 40 93 14 05 sts 0x0514, r20
828: 50 93 15 05 sts 0x0515, r21
82c: 60 91 cd 04 lds r22, 0x04CD
830: 70 91 ce 04 lds r23, 0x04CE
834: 80 91 cf 04 lds r24, 0x04CF
838: 90 91 d0 04 lds r25, 0x04D0
83c: 2a e0 ldi r18, 0x0A ; 10
83e: 30 e0 ldi r19, 0x00 ; 0
840: 40 e0 ldi r20, 0x00 ; 0
842: 50 e0 ldi r21, 0x00 ; 0
844: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
848: 20 93 16 05 sts 0x0516, r18
84c: 30 93 17 05 sts 0x0517, r19
850: 40 93 18 05 sts 0x0518, r20
854: 50 93 19 05 sts 0x0519, r21
858: 10 92 d3 04 sts 0x04D3, r1
85c: 80 91 28 04 lds r24, 0x0428
860: 81 30 cpi r24, 0x01 ; 1
862: 11 f4 brne .+4 ; 0x868 <GPSscanData+0xb2>
864: 10 92 28 04 sts 0x0428, r1
868: 80 91 56 05 lds r24, 0x0556
86c: 81 30 cpi r24, 0x01 ; 1
86e: 11 f5 brne .+68 ; 0x8b4 <GPSscanData+0xfe>
870: 80 91 36 05 lds r24, 0x0536
874: 90 91 37 05 lds r25, 0x0537
878: a0 91 38 05 lds r26, 0x0538
87c: b0 91 39 05 lds r27, 0x0539
880: 80 93 1a 05 sts 0x051A, r24
884: 90 93 1b 05 sts 0x051B, r25
888: a0 93 1c 05 sts 0x051C, r26
88c: b0 93 1d 05 sts 0x051D, r27
890: 80 91 3a 05 lds r24, 0x053A
894: 90 91 3b 05 lds r25, 0x053B
898: a0 91 3c 05 lds r26, 0x053C
89c: b0 91 3d 05 lds r27, 0x053D
8a0: 80 93 1e 05 sts 0x051E, r24
8a4: 90 93 1f 05 sts 0x051F, r25
8a8: a0 93 20 05 sts 0x0520, r26
8ac: b0 93 21 05 sts 0x0521, r27
8b0: 10 92 56 05 sts 0x0556, r1
8b4: 80 91 2e 05 lds r24, 0x052E
8b8: 81 11 cpse r24, r1
8ba: 28 9a sbi 0x05, 0 ; 5
8bc: 08 95 ret
 
000008be <__vector_20>:
8be: 1f 92 push r1
8c0: 0f 92 push r0
8c2: 0f b6 in r0, 0x3f ; 63
8c4: 0f 92 push r0
8c6: 11 24 eor r1, r1
8c8: 2f 93 push r18
8ca: 3f 93 push r19
8cc: 4f 93 push r20
8ce: 5f 93 push r21
8d0: 6f 93 push r22
8d2: 7f 93 push r23
8d4: 8f 93 push r24
8d6: 9f 93 push r25
8d8: af 93 push r26
8da: bf 93 push r27
8dc: cf 93 push r28
8de: df 93 push r29
8e0: ef 93 push r30
8e2: ff 93 push r31
8e4: 80 91 c6 00 lds r24, 0x00C6
8e8: 80 93 92 01 sts 0x0192, r24
8ec: 80 91 c0 00 lds r24, 0x00C0
8f0: 40 91 92 01 lds r20, 0x0192
8f4: 88 71 andi r24, 0x18 ; 24
8f6: 09 f0 breq .+2 ; 0x8fa <__vector_20+0x3c>
8f8: 1f c1 rjmp .+574 ; 0xb38 <__vector_20+0x27a>
8fa: 80 91 a5 01 lds r24, 0x01A5
8fe: 84 30 cpi r24, 0x04 ; 4
900: 09 f4 brne .+2 ; 0x904 <__vector_20+0x46>
902: a4 c0 rjmp .+328 ; 0xa4c <__vector_20+0x18e>
904: 85 30 cpi r24, 0x05 ; 5
906: 50 f4 brcc .+20 ; 0x91c <__vector_20+0x5e>
908: 81 30 cpi r24, 0x01 ; 1
90a: d1 f0 breq .+52 ; 0x940 <__vector_20+0x82>
90c: 81 30 cpi r24, 0x01 ; 1
90e: 98 f0 brcs .+38 ; 0x936 <__vector_20+0x78>
910: 82 30 cpi r24, 0x02 ; 2
912: 01 f1 breq .+64 ; 0x954 <__vector_20+0x96>
914: 83 30 cpi r24, 0x03 ; 3
916: 09 f0 breq .+2 ; 0x91a <__vector_20+0x5c>
918: 0c c1 rjmp .+536 ; 0xb32 <__vector_20+0x274>
91a: 21 c0 rjmp .+66 ; 0x95e <__vector_20+0xa0>
91c: 86 30 cpi r24, 0x06 ; 6
91e: 09 f4 brne .+2 ; 0x922 <__vector_20+0x64>
920: c5 c0 rjmp .+394 ; 0xaac <__vector_20+0x1ee>
922: 86 30 cpi r24, 0x06 ; 6
924: 08 f4 brcc .+2 ; 0x928 <__vector_20+0x6a>
926: a6 c0 rjmp .+332 ; 0xa74 <__vector_20+0x1b6>
928: 87 30 cpi r24, 0x07 ; 7
92a: 09 f4 brne .+2 ; 0x92e <__vector_20+0x70>
92c: f0 c0 rjmp .+480 ; 0xb0e <__vector_20+0x250>
92e: 88 30 cpi r24, 0x08 ; 8
930: 09 f0 breq .+2 ; 0x934 <__vector_20+0x76>
932: ff c0 rjmp .+510 ; 0xb32 <__vector_20+0x274>
934: f2 c0 rjmp .+484 ; 0xb1a <__vector_20+0x25c>
936: 45 3b cpi r20, 0xB5 ; 181
938: 09 f0 breq .+2 ; 0x93c <__vector_20+0x7e>
93a: 02 c1 rjmp .+516 ; 0xb40 <__vector_20+0x282>
93c: 81 e0 ldi r24, 0x01 ; 1
93e: 03 c0 rjmp .+6 ; 0x946 <__vector_20+0x88>
940: 42 36 cpi r20, 0x62 ; 98
942: 21 f4 brne .+8 ; 0x94c <__vector_20+0x8e>
944: 82 e0 ldi r24, 0x02 ; 2
946: 80 93 a5 01 sts 0x01A5, r24
94a: fa c0 rjmp .+500 ; 0xb40 <__vector_20+0x282>
94c: 45 3b cpi r20, 0xB5 ; 181
94e: 09 f4 brne .+2 ; 0x952 <__vector_20+0x94>
950: f7 c0 rjmp .+494 ; 0xb40 <__vector_20+0x282>
952: ef c0 rjmp .+478 ; 0xb32 <__vector_20+0x274>
954: 41 30 cpi r20, 0x01 ; 1
956: 09 f0 breq .+2 ; 0x95a <__vector_20+0x9c>
958: ec c0 rjmp .+472 ; 0xb32 <__vector_20+0x274>
95a: 83 e0 ldi r24, 0x03 ; 3
95c: f4 cf rjmp .-24 ; 0x946 <__vector_20+0x88>
95e: 40 93 30 05 sts 0x0530, r20
962: 4f 5f subi r20, 0xFF ; 255
964: 40 93 b2 02 sts 0x02B2, r20
968: 80 91 b2 02 lds r24, 0x02B2
96c: 8f 5f subi r24, 0xFF ; 255
96e: 80 93 e1 03 sts 0x03E1, r24
972: 84 e0 ldi r24, 0x04 ; 4
974: 80 93 a5 01 sts 0x01A5, r24
978: 80 91 30 05 lds r24, 0x0530
97c: 83 30 cpi r24, 0x03 ; 3
97e: 61 f0 breq .+24 ; 0x998 <__vector_20+0xda>
980: 84 30 cpi r24, 0x04 ; 4
982: 20 f4 brcc .+8 ; 0x98c <__vector_20+0xce>
984: 82 30 cpi r24, 0x02 ; 2
986: 09 f0 breq .+2 ; 0x98a <__vector_20+0xcc>
988: 59 c0 rjmp .+178 ; 0xa3c <__vector_20+0x17e>
98a: 1a c0 rjmp .+52 ; 0x9c0 <__vector_20+0x102>
98c: 88 30 cpi r24, 0x08 ; 8
98e: 61 f1 breq .+88 ; 0x9e8 <__vector_20+0x12a>
990: 82 31 cpi r24, 0x12 ; 18
992: 09 f0 breq .+2 ; 0x996 <__vector_20+0xd8>
994: 53 c0 rjmp .+166 ; 0xa3c <__vector_20+0x17e>
996: 3c c0 rjmp .+120 ; 0xa10 <__vector_20+0x152>
998: 82 ee ldi r24, 0xE2 ; 226
99a: 93 e0 ldi r25, 0x03 ; 3
99c: 90 93 2a 04 sts 0x042A, r25
9a0: 80 93 29 04 sts 0x0429, r24
9a4: 23 e0 ldi r18, 0x03 ; 3
9a6: 35 e0 ldi r19, 0x05 ; 5
9a8: 30 93 b0 02 sts 0x02B0, r19
9ac: 20 93 af 02 sts 0x02AF, r18
9b0: 40 96 adiw r24, 0x10 ; 16
9b2: 90 93 d5 04 sts 0x04D5, r25
9b6: 80 93 d4 04 sts 0x04D4, r24
9ba: 80 91 f2 03 lds r24, 0x03F2
9be: 3b c0 rjmp .+118 ; 0xa36 <__vector_20+0x178>
9c0: 8c e0 ldi r24, 0x0C ; 12
9c2: 94 e0 ldi r25, 0x04 ; 4
9c4: 90 93 2a 04 sts 0x042A, r25
9c8: 80 93 29 04 sts 0x0429, r24
9cc: 25 e5 ldi r18, 0x55 ; 85
9ce: 37 e0 ldi r19, 0x07 ; 7
9d0: 30 93 b0 02 sts 0x02B0, r19
9d4: 20 93 af 02 sts 0x02AF, r18
9d8: 4c 96 adiw r24, 0x1c ; 28
9da: 90 93 d5 04 sts 0x04D5, r25
9de: 80 93 d4 04 sts 0x04D4, r24
9e2: 80 91 28 04 lds r24, 0x0428
9e6: 27 c0 rjmp .+78 ; 0xa36 <__vector_20+0x178>
9e8: 81 ec ldi r24, 0xC1 ; 193
9ea: 94 e0 ldi r25, 0x04 ; 4
9ec: 90 93 2a 04 sts 0x042A, r25
9f0: 80 93 29 04 sts 0x0429, r24
9f4: 2a e2 ldi r18, 0x2A ; 42
9f6: 36 e0 ldi r19, 0x06 ; 6
9f8: 30 93 b0 02 sts 0x02B0, r19
9fc: 20 93 af 02 sts 0x02AF, r18
a00: 42 96 adiw r24, 0x12 ; 18
a02: 90 93 d5 04 sts 0x04D5, r25
a06: 80 93 d4 04 sts 0x04D4, r24
a0a: 80 91 d3 04 lds r24, 0x04D3
a0e: 13 c0 rjmp .+38 ; 0xa36 <__vector_20+0x178>
a10: 82 e3 ldi r24, 0x32 ; 50
a12: 95 e0 ldi r25, 0x05 ; 5
a14: 90 93 2a 04 sts 0x042A, r25
a18: 80 93 29 04 sts 0x0429, r24
a1c: 2b e8 ldi r18, 0x8B ; 139
a1e: 3a e0 ldi r19, 0x0A ; 10
a20: 30 93 b0 02 sts 0x02B0, r19
a24: 20 93 af 02 sts 0x02AF, r18
a28: 84 96 adiw r24, 0x24 ; 36
a2a: 90 93 d5 04 sts 0x04D5, r25
a2e: 80 93 d4 04 sts 0x04D4, r24
a32: 80 91 56 05 lds r24, 0x0556
a36: 80 93 31 05 sts 0x0531, r24
a3a: 82 c0 rjmp .+260 ; 0xb40 <__vector_20+0x282>
a3c: 81 e0 ldi r24, 0x01 ; 1
a3e: 80 93 31 05 sts 0x0531, r24
a42: 10 92 d5 04 sts 0x04D5, r1
a46: 10 92 d4 04 sts 0x04D4, r1
a4a: 7a c0 rjmp .+244 ; 0xb40 <__vector_20+0x282>
a4c: 84 2f mov r24, r20
a4e: 99 27 eor r25, r25
a50: 90 93 d7 04 sts 0x04D7, r25
a54: 80 93 d6 04 sts 0x04D6, r24
a58: 80 91 b2 02 lds r24, 0x02B2
a5c: 84 0f add r24, r20
a5e: 80 93 b2 02 sts 0x02B2, r24
a62: 80 91 e1 03 lds r24, 0x03E1
a66: 90 91 b2 02 lds r25, 0x02B2
a6a: 89 0f add r24, r25
a6c: 80 93 e1 03 sts 0x03E1, r24
a70: 85 e0 ldi r24, 0x05 ; 5
a72: 69 cf rjmp .-302 ; 0x946 <__vector_20+0x88>
a74: 20 91 d6 04 lds r18, 0x04D6
a78: 30 91 d7 04 lds r19, 0x04D7
a7c: 84 2f mov r24, r20
a7e: 99 27 eor r25, r25
a80: 98 2f mov r25, r24
a82: 88 27 eor r24, r24
a84: 28 0f add r18, r24
a86: 39 1f adc r19, r25
a88: 30 93 d7 04 sts 0x04D7, r19
a8c: 20 93 d6 04 sts 0x04D6, r18
a90: 80 91 b2 02 lds r24, 0x02B2
a94: 84 0f add r24, r20
a96: 80 93 b2 02 sts 0x02B2, r24
a9a: 80 91 e1 03 lds r24, 0x03E1
a9e: 90 91 b2 02 lds r25, 0x02B2
aa2: 89 0f add r24, r25
aa4: 80 93 e1 03 sts 0x03E1, r24
aa8: 86 e0 ldi r24, 0x06 ; 6
aaa: 4d cf rjmp .-358 ; 0x946 <__vector_20+0x88>
aac: 80 91 b2 02 lds r24, 0x02B2
ab0: 84 0f add r24, r20
ab2: 80 93 b2 02 sts 0x02B2, r24
ab6: 80 91 e1 03 lds r24, 0x03E1
aba: 90 91 b2 02 lds r25, 0x02B2
abe: 89 0f add r24, r25
ac0: 80 93 e1 03 sts 0x03E1, r24
ac4: 80 91 31 05 lds r24, 0x0531
ac8: 88 23 and r24, r24
aca: 81 f4 brne .+32 ; 0xaec <__vector_20+0x22e>
acc: e0 91 29 04 lds r30, 0x0429
ad0: f0 91 2a 04 lds r31, 0x042A
ad4: 80 91 af 02 lds r24, 0x02AF
ad8: 90 91 b0 02 lds r25, 0x02B0
adc: e8 17 cp r30, r24
ade: f9 07 cpc r31, r25
ae0: 28 f4 brcc .+10 ; 0xaec <__vector_20+0x22e>
ae2: 41 93 st Z+, r20
ae4: f0 93 2a 04 sts 0x042A, r31
ae8: e0 93 29 04 sts 0x0429, r30
aec: 80 91 d6 04 lds r24, 0x04D6
af0: 90 91 d7 04 lds r25, 0x04D7
af4: 01 97 sbiw r24, 0x01 ; 1
af6: 90 93 d7 04 sts 0x04D7, r25
afa: 80 93 d6 04 sts 0x04D6, r24
afe: 80 91 d6 04 lds r24, 0x04D6
b02: 90 91 d7 04 lds r25, 0x04D7
b06: 89 2b or r24, r25
b08: d9 f4 brne .+54 ; 0xb40 <__vector_20+0x282>
b0a: 87 e0 ldi r24, 0x07 ; 7
b0c: 1c cf rjmp .-456 ; 0x946 <__vector_20+0x88>
b0e: 80 91 b2 02 lds r24, 0x02B2
b12: 48 17 cp r20, r24
b14: 71 f4 brne .+28 ; 0xb32 <__vector_20+0x274>
b16: 88 e0 ldi r24, 0x08 ; 8
b18: 16 cf rjmp .-468 ; 0x946 <__vector_20+0x88>
b1a: 80 91 e1 03 lds r24, 0x03E1
b1e: 48 17 cp r20, r24
b20: 41 f4 brne .+16 ; 0xb32 <__vector_20+0x274>
b22: e0 91 d4 04 lds r30, 0x04D4
b26: f0 91 d5 04 lds r31, 0x04D5
b2a: 30 97 sbiw r30, 0x00 ; 0
b2c: 11 f0 breq .+4 ; 0xb32 <__vector_20+0x274>
b2e: 81 e0 ldi r24, 0x01 ; 1
b30: 80 83 st Z, r24
b32: 10 92 a5 01 sts 0x01A5, r1
b36: 04 c0 rjmp .+8 ; 0xb40 <__vector_20+0x282>
b38: 10 92 a5 01 sts 0x01A5, r1
b3c: 0e 94 db 03 call 0x7b6 ; 0x7b6 <GPSscanData>
b40: 0e 94 db 03 call 0x7b6 ; 0x7b6 <GPSscanData>
b44: 40 91 9e 01 lds r20, 0x019E
b48: 46 39 cpi r20, 0x96 ; 150
b4a: 10 f0 brcs .+4 ; 0xb50 <__vector_20+0x292>
b4c: 10 92 9d 01 sts 0x019D, r1
b50: 80 91 92 01 lds r24, 0x0192
b54: 8d 30 cpi r24, 0x0D ; 13
b56: 09 f0 breq .+2 ; 0xb5a <__vector_20+0x29c>
b58: 5c c0 rjmp .+184 ; 0xc12 <__vector_20+0x354>
b5a: 80 91 9d 01 lds r24, 0x019D
b5e: 82 30 cpi r24, 0x02 ; 2
b60: 09 f0 breq .+2 ; 0xb64 <__vector_20+0x2a6>
b62: 57 c0 rjmp .+174 ; 0xc12 <__vector_20+0x354>
b64: 10 92 9d 01 sts 0x019D, r1
b68: a4 2f mov r26, r20
b6a: bb 27 eor r27, r27
b6c: fd 01 movw r30, r26
b6e: e7 5d subi r30, 0xD7 ; 215
b70: fb 4f sbci r31, 0xFB ; 251
b72: 30 81 ld r19, Z
b74: ed 01 movw r28, r26
b76: c6 5d subi r28, 0xD6 ; 214
b78: db 4f sbci r29, 0xFB ; 251
b7a: 28 81 ld r18, Y
b7c: 80 91 a1 01 lds r24, 0x01A1
b80: 90 91 a2 01 lds r25, 0x01A2
b84: 83 1b sub r24, r19
b86: 91 09 sbc r25, r1
b88: 82 1b sub r24, r18
b8a: 91 09 sbc r25, r1
b8c: 9f 70 andi r25, 0x0F ; 15
b8e: 90 93 a2 01 sts 0x01A2, r25
b92: 80 93 a1 01 sts 0x01A1, r24
b96: 9c 01 movw r18, r24
b98: 96 e0 ldi r25, 0x06 ; 6
b9a: 36 95 lsr r19
b9c: 27 95 ror r18
b9e: 9a 95 dec r25
ba0: e1 f7 brne .-8 ; 0xb9a <__vector_20+0x2dc>
ba2: 23 5c subi r18, 0xC3 ; 195
ba4: 20 93 a0 01 sts 0x01A0, r18
ba8: 98 2f mov r25, r24
baa: 9f 73 andi r25, 0x3F ; 63
bac: 93 5c subi r25, 0xC3 ; 195
bae: 90 93 9f 01 sts 0x019F, r25
bb2: 80 81 ld r24, Z
bb4: 28 17 cp r18, r24
bb6: 29 f4 brne .+10 ; 0xbc2 <__vector_20+0x304>
bb8: 88 81 ld r24, Y
bba: 98 17 cp r25, r24
bbc: 11 f4 brne .+4 ; 0xbc2 <__vector_20+0x304>
bbe: 91 e0 ldi r25, 0x01 ; 1
bc0: 06 c0 rjmp .+12 ; 0xbce <__vector_20+0x310>
bc2: 80 91 95 01 lds r24, 0x0195
bc6: 8f 5f subi r24, 0xFF ; 255
bc8: 80 93 95 01 sts 0x0195, r24
bcc: 90 e0 ldi r25, 0x00 ; 0
bce: 80 91 93 01 lds r24, 0x0193
bd2: 88 23 and r24, r24
bd4: 09 f0 breq .+2 ; 0xbd8 <__vector_20+0x31a>
bd6: 64 c0 rjmp .+200 ; 0xca0 <__vector_20+0x3e2>
bd8: 99 23 and r25, r25
bda: 09 f4 brne .+2 ; 0xbde <__vector_20+0x320>
bdc: 61 c0 rjmp .+194 ; 0xca0 <__vector_20+0x3e2>
bde: 81 e0 ldi r24, 0x01 ; 1
be0: 80 93 93 01 sts 0x0193, r24
be4: 40 93 96 01 sts 0x0196, r20
be8: a5 5d subi r26, 0xD5 ; 213
bea: bb 4f sbci r27, 0xFB ; 251
bec: 8d e0 ldi r24, 0x0D ; 13
bee: 8c 93 st X, r24
bf0: 80 91 2d 04 lds r24, 0x042D
bf4: 82 35 cpi r24, 0x52 ; 82
bf6: 09 f0 breq .+2 ; 0xbfa <__vector_20+0x33c>
bf8: 53 c0 rjmp .+166 ; 0xca0 <__vector_20+0x3e2>
bfa: 88 e1 ldi r24, 0x18 ; 24
bfc: 90 e0 ldi r25, 0x00 ; 0
bfe: 2c e0 ldi r18, 0x0C ; 12
c00: 0f b6 in r0, 0x3f ; 63
c02: f8 94 cli
c04: a8 95 wdr
c06: 80 93 60 00 sts 0x0060, r24
c0a: 0f be out 0x3f, r0 ; 63
c0c: 20 93 60 00 sts 0x0060, r18
c10: 47 c0 rjmp .+142 ; 0xca0 <__vector_20+0x3e2>
c12: 80 91 9d 01 lds r24, 0x019D
c16: 81 30 cpi r24, 0x01 ; 1
c18: d9 f0 breq .+54 ; 0xc50 <__vector_20+0x392>
c1a: 81 30 cpi r24, 0x01 ; 1
c1c: 18 f0 brcs .+6 ; 0xc24 <__vector_20+0x366>
c1e: 82 30 cpi r24, 0x02 ; 2
c20: e9 f5 brne .+122 ; 0xc9c <__vector_20+0x3de>
c22: 30 c0 rjmp .+96 ; 0xc84 <__vector_20+0x3c6>
c24: 80 91 92 01 lds r24, 0x0192
c28: 83 32 cpi r24, 0x23 ; 35
c2a: 39 f4 brne .+14 ; 0xc3a <__vector_20+0x37c>
c2c: 80 91 93 01 lds r24, 0x0193
c30: 88 23 and r24, r24
c32: 19 f4 brne .+6 ; 0xc3a <__vector_20+0x37c>
c34: 81 e0 ldi r24, 0x01 ; 1
c36: 80 93 9d 01 sts 0x019D, r24
c3a: 80 91 92 01 lds r24, 0x0192
c3e: 80 93 2b 04 sts 0x042B, r24
c42: 81 e0 ldi r24, 0x01 ; 1
c44: 80 93 9e 01 sts 0x019E, r24
c48: 80 91 92 01 lds r24, 0x0192
c4c: 99 27 eor r25, r25
c4e: 15 c0 rjmp .+42 ; 0xc7a <__vector_20+0x3bc>
c50: 82 e0 ldi r24, 0x02 ; 2
c52: 80 93 9d 01 sts 0x019D, r24
c56: e4 2f mov r30, r20
c58: ff 27 eor r31, r31
c5a: 80 91 92 01 lds r24, 0x0192
c5e: e5 5d subi r30, 0xD5 ; 213
c60: fb 4f sbci r31, 0xFB ; 251
c62: 80 83 st Z, r24
c64: 4f 5f subi r20, 0xFF ; 255
c66: 40 93 9e 01 sts 0x019E, r20
c6a: 20 91 92 01 lds r18, 0x0192
c6e: 80 91 a1 01 lds r24, 0x01A1
c72: 90 91 a2 01 lds r25, 0x01A2
c76: 82 0f add r24, r18
c78: 91 1d adc r25, r1
c7a: 90 93 a2 01 sts 0x01A2, r25
c7e: 80 93 a1 01 sts 0x01A1, r24
c82: 0e c0 rjmp .+28 ; 0xca0 <__vector_20+0x3e2>
c84: e4 2f mov r30, r20
c86: ff 27 eor r31, r31
c88: 80 91 92 01 lds r24, 0x0192
c8c: e5 5d subi r30, 0xD5 ; 213
c8e: fb 4f sbci r31, 0xFB ; 251
c90: 80 83 st Z, r24
c92: 46 39 cpi r20, 0x96 ; 150
c94: 38 f3 brcs .-50 ; 0xc64 <__vector_20+0x3a6>
c96: 10 92 9d 01 sts 0x019D, r1
c9a: e7 cf rjmp .-50 ; 0xc6a <__vector_20+0x3ac>
c9c: 10 92 9d 01 sts 0x019D, r1
ca0: ff 91 pop r31
ca2: ef 91 pop r30
ca4: df 91 pop r29
ca6: cf 91 pop r28
ca8: bf 91 pop r27
caa: af 91 pop r26
cac: 9f 91 pop r25
cae: 8f 91 pop r24
cb0: 7f 91 pop r23
cb2: 6f 91 pop r22
cb4: 5f 91 pop r21
cb6: 4f 91 pop r20
cb8: 3f 91 pop r19
cba: 2f 91 pop r18
cbc: 0f 90 pop r0
cbe: 0f be out 0x3f, r0 ; 63
cc0: 0f 90 pop r0
cc2: 1f 90 pop r1
cc4: 18 95 reti
 
00000cc6 <AddCRC>:
cc6: dc 01 movw r26, r24
cc8: 20 e0 ldi r18, 0x00 ; 0
cca: 30 e0 ldi r19, 0x00 ; 0
ccc: 40 e0 ldi r20, 0x00 ; 0
cce: 50 e0 ldi r21, 0x00 ; 0
cd0: e3 eb ldi r30, 0xB3 ; 179
cd2: f2 e0 ldi r31, 0x02 ; 2
cd4: 05 c0 rjmp .+10 ; 0xce0 <AddCRC+0x1a>
cd6: 81 91 ld r24, Z+
cd8: 28 0f add r18, r24
cda: 31 1d adc r19, r1
cdc: 4f 5f subi r20, 0xFF ; 255
cde: 5f 4f sbci r21, 0xFF ; 255
ce0: 4a 17 cp r20, r26
ce2: 5b 07 cpc r21, r27
ce4: c1 f7 brne .-16 ; 0xcd6 <AddCRC+0x10>
ce6: 3f 70 andi r19, 0x0F ; 15
ce8: c9 01 movw r24, r18
cea: 66 e0 ldi r22, 0x06 ; 6
cec: 96 95 lsr r25
cee: 87 95 ror r24
cf0: 6a 95 dec r22
cf2: e1 f7 brne .-8 ; 0xcec <AddCRC+0x26>
cf4: 83 5c subi r24, 0xC3 ; 195
cf6: fd 01 movw r30, r26
cf8: ed 54 subi r30, 0x4D ; 77
cfa: fd 4f sbci r31, 0xFD ; 253
cfc: 80 83 st Z, r24
cfe: 11 96 adiw r26, 0x01 ; 1
d00: 2f 73 andi r18, 0x3F ; 63
d02: 23 5c subi r18, 0xC3 ; 195
d04: fd 01 movw r30, r26
d06: ed 54 subi r30, 0x4D ; 77
d08: fd 4f sbci r31, 0xFD ; 253
d0a: 20 83 st Z, r18
d0c: ac 54 subi r26, 0x4C ; 76
d0e: bd 4f sbci r27, 0xFD ; 253
d10: 8d e0 ldi r24, 0x0D ; 13
d12: 8c 93 st X, r24
d14: 10 92 00 01 sts 0x0100, r1
d18: 80 91 b3 02 lds r24, 0x02B3
d1c: 80 93 c6 00 sts 0x00C6, r24
d20: 08 95 ret
 
00000d22 <SendOutData>:
d22: ef 92 push r14
d24: ff 92 push r15
d26: 0f 93 push r16
d28: 1f 93 push r17
d2a: cf 93 push r28
d2c: df 93 push r29
d2e: 7a 01 movw r14, r20
d30: 72 2f mov r23, r18
d32: 93 e2 ldi r25, 0x23 ; 35
d34: 90 93 b3 02 sts 0x02B3, r25
d38: 60 93 b4 02 sts 0x02B4, r22
d3c: 80 93 b5 02 sts 0x02B5, r24
d40: 03 e0 ldi r16, 0x03 ; 3
d42: 10 e0 ldi r17, 0x00 ; 0
d44: 60 e0 ldi r22, 0x00 ; 0
d46: a6 eb ldi r26, 0xB6 ; 182
d48: b2 e0 ldi r27, 0x02 ; 2
d4a: 46 c0 rjmp .+140 ; 0xdd8 <SendOutData+0xb6>
d4c: f7 01 movw r30, r14
d4e: e6 0f add r30, r22
d50: f1 1d adc r31, r1
d52: 90 81 ld r25, Z
d54: 6f 5f subi r22, 0xFF ; 255
d56: 71 50 subi r23, 0x01 ; 1
d58: 19 f4 brne .+6 ; 0xd60 <SendOutData+0x3e>
d5a: e0 e0 ldi r30, 0x00 ; 0
d5c: 40 e0 ldi r20, 0x00 ; 0
d5e: 0f c0 rjmp .+30 ; 0xd7e <SendOutData+0x5c>
d60: f7 01 movw r30, r14
d62: e6 0f add r30, r22
d64: f1 1d adc r31, r1
d66: 40 81 ld r20, Z
d68: 6f 5f subi r22, 0xFF ; 255
d6a: 71 50 subi r23, 0x01 ; 1
d6c: 11 f4 brne .+4 ; 0xd72 <SendOutData+0x50>
d6e: e0 e0 ldi r30, 0x00 ; 0
d70: 06 c0 rjmp .+12 ; 0xd7e <SendOutData+0x5c>
d72: f7 01 movw r30, r14
d74: e6 0f add r30, r22
d76: f1 1d adc r31, r1
d78: e0 81 ld r30, Z
d7a: 6f 5f subi r22, 0xFF ; 255
d7c: 71 50 subi r23, 0x01 ; 1
d7e: 89 2f mov r24, r25
d80: 86 95 lsr r24
d82: 86 95 lsr r24
d84: 83 5c subi r24, 0xC3 ; 195
d86: 8c 93 st X, r24
d88: 55 27 eor r21, r21
d8a: 89 2f mov r24, r25
d8c: 99 27 eor r25, r25
d8e: 83 70 andi r24, 0x03 ; 3
d90: 90 70 andi r25, 0x00 ; 0
d92: 24 e0 ldi r18, 0x04 ; 4
d94: 88 0f add r24, r24
d96: 99 1f adc r25, r25
d98: 2a 95 dec r18
d9a: e1 f7 brne .-8 ; 0xd94 <SendOutData+0x72>
d9c: 9a 01 movw r18, r20
d9e: 94 e0 ldi r25, 0x04 ; 4
da0: 36 95 lsr r19
da2: 27 95 ror r18
da4: 9a 95 dec r25
da6: e1 f7 brne .-8 ; 0xda0 <SendOutData+0x7e>
da8: 82 2b or r24, r18
daa: 83 5c subi r24, 0xC3 ; 195
dac: ed 01 movw r28, r26
dae: 89 83 std Y+1, r24 ; 0x01
db0: 4f 70 andi r20, 0x0F ; 15
db2: 50 70 andi r21, 0x00 ; 0
db4: 44 0f add r20, r20
db6: 55 1f adc r21, r21
db8: 44 0f add r20, r20
dba: 55 1f adc r21, r21
dbc: 8e 2f mov r24, r30
dbe: 82 95 swap r24
dc0: 86 95 lsr r24
dc2: 86 95 lsr r24
dc4: 83 70 andi r24, 0x03 ; 3
dc6: 84 2b or r24, r20
dc8: 83 5c subi r24, 0xC3 ; 195
dca: 8a 83 std Y+2, r24 ; 0x02
dcc: ef 73 andi r30, 0x3F ; 63
dce: e3 5c subi r30, 0xC3 ; 195
dd0: eb 83 std Y+3, r30 ; 0x03
dd2: 0c 5f subi r16, 0xFC ; 252
dd4: 1f 4f sbci r17, 0xFF ; 255
dd6: 14 96 adiw r26, 0x04 ; 4
dd8: 77 23 and r23, r23
dda: 09 f0 breq .+2 ; 0xdde <SendOutData+0xbc>
ddc: b7 cf rjmp .-146 ; 0xd4c <SendOutData+0x2a>
dde: c8 01 movw r24, r16
de0: 0e 94 63 06 call 0xcc6 ; 0xcc6 <AddCRC>
de4: df 91 pop r29
de6: cf 91 pop r28
de8: 1f 91 pop r17
dea: 0f 91 pop r16
dec: ff 90 pop r15
dee: ef 90 pop r14
df0: 08 95 ret
 
00000df2 <Decode64>:
df2: 1f 93 push r17
df4: cf 93 push r28
df6: df 93 push r29
df8: ec 01 movw r28, r24
dfa: 70 e0 ldi r23, 0x00 ; 0
dfc: a2 2f mov r26, r18
dfe: bb 27 eor r27, r27
e00: 12 97 sbiw r26, 0x02 ; 2
e02: 48 c0 rjmp .+144 ; 0xe94 <Decode64+0xa2>
e04: e4 2f mov r30, r20
e06: ff 27 eor r31, r31
e08: e5 5d subi r30, 0xD5 ; 213
e0a: fb 4f sbci r31, 0xFB ; 251
e0c: 30 81 ld r19, Z
e0e: 4f 5f subi r20, 0xFF ; 255
e10: e4 2f mov r30, r20
e12: ff 27 eor r31, r31
e14: e5 5d subi r30, 0xD5 ; 213
e16: fb 4f sbci r31, 0xFB ; 251
e18: 50 81 ld r21, Z
e1a: 4f 5f subi r20, 0xFF ; 255
e1c: e4 2f mov r30, r20
e1e: ff 27 eor r31, r31
e20: e5 5d subi r30, 0xD5 ; 213
e22: fb 4f sbci r31, 0xFB ; 251
e24: 10 81 ld r17, Z
e26: 4f 5f subi r20, 0xFF ; 255
e28: e4 2f mov r30, r20
e2a: ff 27 eor r31, r31
e2c: e5 5d subi r30, 0xD5 ; 213
e2e: fb 4f sbci r31, 0xFB ; 251
e30: 20 81 ld r18, Z
e32: 4f 5f subi r20, 0xFF ; 255
e34: 84 2f mov r24, r20
e36: 99 27 eor r25, r25
e38: a8 17 cp r26, r24
e3a: b9 07 cpc r27, r25
e3c: 74 f1 brlt .+92 ; 0xe9a <Decode64+0xa8>
e3e: 5d 53 subi r21, 0x3D ; 61
e40: fe 01 movw r30, r28
e42: e7 0f add r30, r23
e44: f1 1d adc r31, r1
e46: 3d 53 subi r19, 0x3D ; 61
e48: 33 0f add r19, r19
e4a: 33 0f add r19, r19
e4c: 85 2f mov r24, r21
e4e: 82 95 swap r24
e50: 8f 70 andi r24, 0x0F ; 15
e52: 38 2b or r19, r24
e54: 30 83 st Z, r19
e56: 61 30 cpi r22, 0x01 ; 1
e58: 01 f1 breq .+64 ; 0xe9a <Decode64+0xa8>
e5a: 91 2f mov r25, r17
e5c: 9d 53 subi r25, 0x3D ; 61
e5e: 7f 5f subi r23, 0xFF ; 255
e60: fe 01 movw r30, r28
e62: e7 0f add r30, r23
e64: f1 1d adc r31, r1
e66: 71 50 subi r23, 0x01 ; 1
e68: 52 95 swap r21
e6a: 50 7f andi r21, 0xF0 ; 240
e6c: 89 2f mov r24, r25
e6e: 86 95 lsr r24
e70: 86 95 lsr r24
e72: 58 2b or r21, r24
e74: 50 83 st Z, r21
e76: 63 50 subi r22, 0x03 ; 3
e78: 6f 3f cpi r22, 0xFF ; 255
e7a: 79 f0 breq .+30 ; 0xe9a <Decode64+0xa8>
e7c: 7e 5f subi r23, 0xFE ; 254
e7e: fe 01 movw r30, r28
e80: e7 0f add r30, r23
e82: f1 1d adc r31, r1
e84: 92 95 swap r25
e86: 99 0f add r25, r25
e88: 99 0f add r25, r25
e8a: 90 7c andi r25, 0xC0 ; 192
e8c: 2d 53 subi r18, 0x3D ; 61
e8e: 92 2b or r25, r18
e90: 90 83 st Z, r25
e92: 7f 5f subi r23, 0xFF ; 255
e94: 66 23 and r22, r22
e96: 09 f0 breq .+2 ; 0xe9a <Decode64+0xa8>
e98: b5 cf rjmp .-150 ; 0xe04 <Decode64+0x12>
e9a: df 91 pop r29
e9c: cf 91 pop r28
e9e: 1f 91 pop r17
ea0: 08 95 ret
 
00000ea2 <uart_putchar>:
ea2: 1f 93 push r17
ea4: 18 2f mov r17, r24
ea6: 8a 30 cpi r24, 0x0A ; 10
ea8: 19 f4 brne .+6 ; 0xeb0 <uart_putchar+0xe>
eaa: 8d e0 ldi r24, 0x0D ; 13
eac: 0e 94 51 07 call 0xea2 ; 0xea2 <uart_putchar>
eb0: 80 91 c0 00 lds r24, 0x00C0
eb4: 85 ff sbrs r24, 5
eb6: fc cf rjmp .-8 ; 0xeb0 <uart_putchar+0xe>
eb8: 10 93 c6 00 sts 0x00C6, r17
ebc: 80 e0 ldi r24, 0x00 ; 0
ebe: 90 e0 ldi r25, 0x00 ; 0
ec0: 1f 91 pop r17
ec2: 08 95 ret
 
00000ec4 <WriteProgramData>:
ec4: 08 95 ret
 
00000ec6 <UART_Init>:
ec6: e1 ec ldi r30, 0xC1 ; 193
ec8: f0 e0 ldi r31, 0x00 ; 0
eca: 88 e1 ldi r24, 0x18 ; 24
ecc: 80 83 st Z, r24
ece: a0 ec ldi r26, 0xC0 ; 192
ed0: b0 e0 ldi r27, 0x00 ; 0
ed2: 8c 91 ld r24, X
ed4: 82 60 ori r24, 0x02 ; 2
ed6: 8c 93 st X, r24
ed8: 80 81 ld r24, Z
eda: 80 68 ori r24, 0x80 ; 128
edc: 80 83 st Z, r24
ede: 80 81 ld r24, Z
ee0: 80 64 ori r24, 0x40 ; 64
ee2: 80 83 st Z, r24
ee4: 8a e2 ldi r24, 0x2A ; 42
ee6: 80 93 c4 00 sts 0x00C4, r24
eea: 88 ec ldi r24, 0xC8 ; 200
eec: 90 e0 ldi r25, 0x00 ; 0
eee: 0e 94 31 0c call 0x1862 ; 0x1862 <SetDelay>
ef2: 90 93 e0 03 sts 0x03E0, r25
ef6: 80 93 df 03 sts 0x03DF, r24
efa: 10 92 a5 01 sts 0x01A5, r1
efe: 08 95 ret
 
00000f00 <DatenUebertragung>:
f00: 80 91 00 01 lds r24, 0x0100
f04: 88 23 and r24, r24
f06: 09 f4 brne .+2 ; 0xf0a <DatenUebertragung+0xa>
f08: 68 c0 rjmp .+208 ; 0xfda <DatenUebertragung+0xda>
f0a: 80 91 8e 01 lds r24, 0x018E
f0e: 88 23 and r24, r24
f10: 71 f0 breq .+28 ; 0xf2e <DatenUebertragung+0x2e>
f12: 80 91 00 01 lds r24, 0x0100
f16: 88 23 and r24, r24
f18: 51 f0 breq .+20 ; 0xf2e <DatenUebertragung+0x2e>
f1a: 2b e0 ldi r18, 0x0B ; 11
f1c: 43 ef ldi r20, 0xF3 ; 243
f1e: 53 e0 ldi r21, 0x03 ; 3
f20: 60 91 b1 02 lds r22, 0x02B1
f24: 87 e4 ldi r24, 0x47 ; 71
f26: 0e 94 91 06 call 0xd22 ; 0xd22 <SendOutData>
f2a: 10 92 8e 01 sts 0x018E, r1
f2e: 80 91 df 03 lds r24, 0x03DF
f32: 90 91 e0 03 lds r25, 0x03E0
f36: 0e 94 3a 0c call 0x1874 ; 0x1874 <CheckDelay>
f3a: 88 23 and r24, r24
f3c: 21 f4 brne .+8 ; 0xf46 <DatenUebertragung+0x46>
f3e: 80 91 90 01 lds r24, 0x0190
f42: 88 23 and r24, r24
f44: b1 f0 breq .+44 ; 0xf72 <DatenUebertragung+0x72>
f46: 80 91 00 01 lds r24, 0x0100
f4a: 88 23 and r24, r24
f4c: 91 f0 breq .+36 ; 0xf72 <DatenUebertragung+0x72>
f4e: 22 e3 ldi r18, 0x32 ; 50
f50: 4c ed ldi r20, 0xDC ; 220
f52: 54 e0 ldi r21, 0x04 ; 4
f54: 60 91 b1 02 lds r22, 0x02B1
f58: 84 e4 ldi r24, 0x44 ; 68
f5a: 0e 94 91 06 call 0xd22 ; 0xd22 <SendOutData>
f5e: 10 92 90 01 sts 0x0190, r1
f62: 8a ef ldi r24, 0xFA ; 250
f64: 90 e0 ldi r25, 0x00 ; 0
f66: 0e 94 31 0c call 0x1862 ; 0x1862 <SetDelay>
f6a: 90 93 e0 03 sts 0x03E0, r25
f6e: 80 93 df 03 sts 0x03DF, r24
f72: 80 91 8f 01 lds r24, 0x018F
f76: 88 23 and r24, r24
f78: f1 f0 breq .+60 ; 0xfb6 <DatenUebertragung+0xb6>
f7a: 80 91 00 01 lds r24, 0x0100
f7e: 88 23 and r24, r24
f80: d1 f0 breq .+52 ; 0xfb6 <DatenUebertragung+0xb6>
f82: 0e 94 86 10 call 0x210c ; 0x210c <Menu>
f86: 10 92 8f 01 sts 0x018F, r1
f8a: 80 91 9c 01 lds r24, 0x019C
f8e: 8f 5f subi r24, 0xFF ; 255
f90: 80 93 9c 01 sts 0x019C, r24
f94: 84 30 cpi r24, 0x04 ; 4
f96: 11 f4 brne .+4 ; 0xf9c <DatenUebertragung+0x9c>
f98: 10 92 9c 01 sts 0x019C, r1
f9c: 80 91 9c 01 lds r24, 0x019C
fa0: 44 e1 ldi r20, 0x14 ; 20
fa2: 84 9f mul r24, r20
fa4: a0 01 movw r20, r0
fa6: 11 24 eor r1, r1
fa8: 4a 5e subi r20, 0xEA ; 234
faa: 5e 4f sbci r21, 0xFE ; 254
fac: 24 e1 ldi r18, 0x14 ; 20
fae: 60 e0 ldi r22, 0x00 ; 0
fb0: 80 5d subi r24, 0xD0 ; 208
fb2: 0e 94 91 06 call 0xd22 ; 0xd22 <SendOutData>
fb6: 80 91 91 01 lds r24, 0x0191
fba: 88 23 and r24, r24
fbc: 71 f0 breq .+28 ; 0xfda <DatenUebertragung+0xda>
fbe: 80 91 00 01 lds r24, 0x0100
fc2: 88 23 and r24, r24
fc4: 51 f0 breq .+20 ; 0xfda <DatenUebertragung+0xda>
fc6: 2a e0 ldi r18, 0x0A ; 10
fc8: 4e ef ldi r20, 0xFE ; 254
fca: 53 e0 ldi r21, 0x03 ; 3
fcc: 60 91 b1 02 lds r22, 0x02B1
fd0: 86 e5 ldi r24, 0x56 ; 86
fd2: 0e 94 91 06 call 0xd22 ; 0xd22 <SendOutData>
fd6: 10 92 91 01 sts 0x0191, r1
fda: 08 95 ret
 
00000fdc <BearbeiteRxDaten>:
fdc: 1f 93 push r17
fde: cf 93 push r28
fe0: df 93 push r29
fe2: cd b7 in r28, 0x3d ; 61
fe4: de b7 in r29, 0x3e ; 62
fe6: 22 97 sbiw r28, 0x02 ; 2
fe8: 0f b6 in r0, 0x3f ; 63
fea: f8 94 cli
fec: de bf out 0x3e, r29 ; 62
fee: 0f be out 0x3f, r0 ; 63
ff0: cd bf out 0x3d, r28 ; 61
ff2: 80 91 93 01 lds r24, 0x0193
ff6: 88 23 and r24, r24
ff8: 09 f4 brne .+2 ; 0xffc <BearbeiteRxDaten+0x20>
ffa: 98 c0 rjmp .+304 ; 0x112c <__stack+0x2d>
ffc: 8f ef ldi r24, 0xFF ; 255
ffe: 80 93 01 01 sts 0x0101, r24
1002: 80 91 2d 04 lds r24, 0x042D
1006: 81 37 cpi r24, 0x71 ; 113
1008: 60 f4 brcc .+24 ; 0x1022 <BearbeiteRxDaten+0x46>
100a: 8c 36 cpi r24, 0x6C ; 108
100c: 08 f0 brcs .+2 ; 0x1010 <BearbeiteRxDaten+0x34>
100e: 6f c0 rjmp .+222 ; 0x10ee <BearbeiteRxDaten+0x112>
1010: 87 36 cpi r24, 0x67 ; 103
1012: 09 f4 brne .+2 ; 0x1016 <BearbeiteRxDaten+0x3a>
1014: 40 c0 rjmp .+128 ; 0x1096 <BearbeiteRxDaten+0xba>
1016: 88 36 cpi r24, 0x68 ; 104
1018: f9 f0 breq .+62 ; 0x1058 <BearbeiteRxDaten+0x7c>
101a: 83 36 cpi r24, 0x63 ; 99
101c: 09 f0 breq .+2 ; 0x1020 <BearbeiteRxDaten+0x44>
101e: 84 c0 rjmp .+264 ; 0x1128 <__stack+0x29>
1020: 08 c0 rjmp .+16 ; 0x1032 <BearbeiteRxDaten+0x56>
1022: 84 37 cpi r24, 0x74 ; 116
1024: 59 f1 breq .+86 ; 0x107c <BearbeiteRxDaten+0xa0>
1026: 86 37 cpi r24, 0x76 ; 118
1028: 91 f1 breq .+100 ; 0x108e <BearbeiteRxDaten+0xb2>
102a: 81 37 cpi r24, 0x71 ; 113
102c: 09 f0 breq .+2 ; 0x1030 <BearbeiteRxDaten+0x54>
102e: 7c c0 rjmp .+248 ; 0x1128 <__stack+0x29>
1030: 36 c0 rjmp .+108 ; 0x109e <BearbeiteRxDaten+0xc2>
1032: 20 91 96 01 lds r18, 0x0196
1036: 43 e0 ldi r20, 0x03 ; 3
1038: 6b e0 ldi r22, 0x0B ; 11
103a: 83 ef ldi r24, 0xF3 ; 243
103c: 93 e0 ldi r25, 0x03 ; 3
103e: 0e 94 f9 06 call 0xdf2 ; 0xdf2 <Decode64>
1042: 80 91 cd 01 lds r24, 0x01CD
1046: 90 91 f5 03 lds r25, 0x03F5
104a: 89 2b or r24, r25
104c: 80 93 cd 01 sts 0x01CD, r24
1050: 81 e0 ldi r24, 0x01 ; 1
1052: 80 93 90 01 sts 0x0190, r24
1056: 68 c0 rjmp .+208 ; 0x1128 <__stack+0x29>
1058: 20 91 96 01 lds r18, 0x0196
105c: 43 e0 ldi r20, 0x03 ; 3
105e: 62 e0 ldi r22, 0x02 ; 2
1060: ce 01 movw r24, r28
1062: 01 96 adiw r24, 0x01 ; 1
1064: 0e 94 f9 06 call 0xdf2 ; 0xdf2 <Decode64>
1068: 80 91 cd 01 lds r24, 0x01CD
106c: 99 81 ldd r25, Y+1 ; 0x01
106e: 89 2b or r24, r25
1070: 80 93 cd 01 sts 0x01CD, r24
1074: 81 e0 ldi r24, 0x01 ; 1
1076: 80 93 8f 01 sts 0x018F, r24
107a: 56 c0 rjmp .+172 ; 0x1128 <__stack+0x29>
107c: 20 91 96 01 lds r18, 0x0196
1080: 43 e0 ldi r20, 0x03 ; 3
1082: 64 e0 ldi r22, 0x04 ; 4
1084: 88 e9 ldi r24, 0x98 ; 152
1086: 91 e0 ldi r25, 0x01 ; 1
1088: 0e 94 f9 06 call 0xdf2 ; 0xdf2 <Decode64>
108c: 4d c0 rjmp .+154 ; 0x1128 <__stack+0x29>
108e: 81 e0 ldi r24, 0x01 ; 1
1090: 80 93 91 01 sts 0x0191, r24
1094: 49 c0 rjmp .+146 ; 0x1128 <__stack+0x29>
1096: 81 e0 ldi r24, 0x01 ; 1
1098: 80 93 8e 01 sts 0x018E, r24
109c: 45 c0 rjmp .+138 ; 0x1128 <__stack+0x29>
109e: 20 91 96 01 lds r18, 0x0196
10a2: 43 e0 ldi r20, 0x03 ; 3
10a4: 62 e0 ldi r22, 0x02 ; 2
10a6: ce 01 movw r24, r28
10a8: 01 96 adiw r24, 0x01 ; 1
10aa: 0e 94 f9 06 call 0xdf2 ; 0xdf2 <Decode64>
10ae: 89 81 ldd r24, Y+1 ; 0x01
10b0: 8f 3f cpi r24, 0xFF ; 255
10b2: 89 f0 breq .+34 ; 0x10d6 <BearbeiteRxDaten+0xfa>
10b4: 86 30 cpi r24, 0x06 ; 6
10b6: 10 f0 brcs .+4 ; 0x10bc <BearbeiteRxDaten+0xe0>
10b8: 85 e0 ldi r24, 0x05 ; 5
10ba: 89 83 std Y+1, r24 ; 0x01
10bc: 4a e3 ldi r20, 0x3A ; 58
10be: 6e e9 ldi r22, 0x9E ; 158
10c0: 75 e0 ldi r23, 0x05 ; 5
10c2: 89 81 ldd r24, Y+1 ; 0x01
10c4: 0e 94 2a 02 call 0x454 ; 0x454 <ReadParameterSet>
10c8: 89 81 ldd r24, Y+1 ; 0x01
10ca: 2a e3 ldi r18, 0x3A ; 58
10cc: 4e e9 ldi r20, 0x9E ; 158
10ce: 55 e0 ldi r21, 0x05 ; 5
10d0: 60 91 b1 02 lds r22, 0x02B1
10d4: 08 c0 rjmp .+16 ; 0x10e6 <BearbeiteRxDaten+0x10a>
10d6: 10 91 b1 02 lds r17, 0x02B1
10da: 0e 94 0b 02 call 0x416 ; 0x416 <GetActiveParamSetNumber>
10de: 2a e3 ldi r18, 0x3A ; 58
10e0: 4e e9 ldi r20, 0x9E ; 158
10e2: 55 e0 ldi r21, 0x05 ; 5
10e4: 61 2f mov r22, r17
10e6: 85 5b subi r24, 0xB5 ; 181
10e8: 0e 94 91 06 call 0xd22 ; 0xd22 <SendOutData>
10ec: 1d c0 rjmp .+58 ; 0x1128 <__stack+0x29>
10ee: 20 91 96 01 lds r18, 0x0196
10f2: 43 e0 ldi r20, 0x03 ; 3
10f4: 6a e3 ldi r22, 0x3A ; 58
10f6: 8e e9 ldi r24, 0x9E ; 158
10f8: 95 e0 ldi r25, 0x05 ; 5
10fa: 0e 94 f9 06 call 0xdf2 ; 0xdf2 <Decode64>
10fe: 80 91 2d 04 lds r24, 0x042D
1102: 4a e3 ldi r20, 0x3A ; 58
1104: 6e e9 ldi r22, 0x9E ; 158
1106: 75 e0 ldi r23, 0x05 ; 5
1108: 8b 56 subi r24, 0x6B ; 107
110a: 0e 94 12 02 call 0x424 ; 0x424 <WriteParameterSet>
110e: 80 91 2d 04 lds r24, 0x042D
1112: 8b 56 subi r24, 0x6B ; 107
1114: a2 e0 ldi r26, 0x02 ; 2
1116: b0 e0 ldi r27, 0x00 ; 0
1118: 08 2e mov r0, r24
111a: 0e 94 69 2e call 0x5cd2 ; 0x5cd2 <__eeprom_write_byte_1F2021>
111e: 0e 94 0b 02 call 0x416 ; 0x416 <GetActiveParamSetNumber>
1122: 99 27 eor r25, r25
1124: 0e 94 81 1e call 0x3d02 ; 0x3d02 <Piep>
1128: 10 92 93 01 sts 0x0193, r1
112c: 22 96 adiw r28, 0x02 ; 2
112e: 0f b6 in r0, 0x3f ; 63
1130: f8 94 cli
1132: de bf out 0x3e, r29 ; 62
1134: 0f be out 0x3f, r0 ; 63
1136: cd bf out 0x3d, r28 ; 61
1138: df 91 pop r29
113a: cf 91 pop r28
113c: 1f 91 pop r17
113e: 08 95 ret
 
00001140 <Putchar>:
1140: 98 2f mov r25, r24
1142: 80 91 57 05 lds r24, 0x0557
1146: 81 30 cpi r24, 0x01 ; 1
1148: 69 f4 brne .+26 ; 0x1164 <Putchar+0x24>
114a: 80 91 cc 01 lds r24, 0x01CC
114e: e8 2f mov r30, r24
1150: ff 27 eor r31, r31
1152: ea 5e subi r30, 0xEA ; 234
1154: fe 4f sbci r31, 0xFE ; 254
1156: 90 83 st Z, r25
1158: 8f 5f subi r24, 0xFF ; 255
115a: 80 93 cc 01 sts 0x01CC, r24
115e: 21 e0 ldi r18, 0x01 ; 1
1160: 30 e0 ldi r19, 0x00 ; 0
1162: 05 c0 rjmp .+10 ; 0x116e <Putchar+0x2e>
1164: 89 2f mov r24, r25
1166: 0e 94 51 07 call 0xea2 ; 0xea2 <uart_putchar>
116a: 28 2f mov r18, r24
116c: 33 27 eor r19, r19
116e: c9 01 movw r24, r18
1170: 08 95 ret
 
00001172 <PAD_0>:
1172: 1f 93 push r17
1174: 18 2f mov r17, r24
1176: 04 c0 rjmp .+8 ; 0x1180 <PAD_0+0xe>
1178: 80 e3 ldi r24, 0x30 ; 48
117a: 0e 94 a0 08 call 0x1140 ; 0x1140 <Putchar>
117e: 11 50 subi r17, 0x01 ; 1
1180: 11 16 cp r1, r17
1182: d4 f3 brlt .-12 ; 0x1178 <PAD_0+0x6>
1184: 1f 91 pop r17
1186: 08 95 ret
 
00001188 <PAD_SP>:
1188: 1f 93 push r17
118a: 18 2f mov r17, r24
118c: 04 c0 rjmp .+8 ; 0x1196 <PAD_SP+0xe>
118e: 80 e2 ldi r24, 0x20 ; 32
1190: 0e 94 a0 08 call 0x1140 ; 0x1140 <Putchar>
1194: 11 50 subi r17, 0x01 ; 1
1196: 11 16 cp r1, r17
1198: d4 f3 brlt .-12 ; 0x118e <PAD_SP+0x6>
119a: 1f 91 pop r17
119c: 08 95 ret
 
0000119e <PRINTP>:
119e: 0f 93 push r16
11a0: 1f 93 push r17
11a2: cf 93 push r28
11a4: df 93 push r29
11a6: 8c 01 movw r16, r24
11a8: eb 01 movw r28, r22
11aa: 08 c0 rjmp .+16 ; 0x11bc <PRINTP+0x1e>
11ac: f8 01 movw r30, r16
11ae: 0f 5f subi r16, 0xFF ; 255
11b0: 1f 4f sbci r17, 0xFF ; 255
11b2: e4 91 lpm r30, Z
11b4: 8e 2f mov r24, r30
11b6: 0e 94 a0 08 call 0x1140 ; 0x1140 <Putchar>
11ba: 21 97 sbiw r28, 0x01 ; 1
11bc: 20 97 sbiw r28, 0x00 ; 0
11be: b1 f7 brne .-20 ; 0x11ac <PRINTP+0xe>
11c0: df 91 pop r29
11c2: cf 91 pop r28
11c4: 1f 91 pop r17
11c6: 0f 91 pop r16
11c8: 08 95 ret
 
000011ca <PRINT>:
11ca: 0f 93 push r16
11cc: 1f 93 push r17
11ce: cf 93 push r28
11d0: df 93 push r29
11d2: 8c 01 movw r16, r24
11d4: eb 01 movw r28, r22
11d6: 06 c0 rjmp .+12 ; 0x11e4 <PRINT+0x1a>
11d8: f8 01 movw r30, r16
11da: 81 91 ld r24, Z+
11dc: 8f 01 movw r16, r30
11de: 0e 94 a0 08 call 0x1140 ; 0x1140 <Putchar>
11e2: 21 97 sbiw r28, 0x01 ; 1
11e4: 20 97 sbiw r28, 0x00 ; 0
11e6: c1 f7 brne .-16 ; 0x11d8 <PRINT+0xe>
11e8: df 91 pop r29
11ea: cf 91 pop r28
11ec: 1f 91 pop r17
11ee: 0f 91 pop r16
11f0: 08 95 ret
 
000011f2 <_printf_P>:
11f2: 2f 92 push r2
11f4: 3f 92 push r3
11f6: 4f 92 push r4
11f8: 5f 92 push r5
11fa: 6f 92 push r6
11fc: 7f 92 push r7
11fe: 8f 92 push r8
1200: 9f 92 push r9
1202: af 92 push r10
1204: bf 92 push r11
1206: cf 92 push r12
1208: df 92 push r13
120a: ef 92 push r14
120c: ff 92 push r15
120e: 0f 93 push r16
1210: 1f 93 push r17
1212: cf 93 push r28
1214: df 93 push r29
1216: cd b7 in r28, 0x3d ; 61
1218: de b7 in r29, 0x3e ; 62
121a: e3 97 sbiw r28, 0x33 ; 51
121c: 0f b6 in r0, 0x3f ; 63
121e: f8 94 cli
1220: de bf out 0x3e, r29 ; 62
1222: 0f be out 0x3f, r0 ; 63
1224: cd bf out 0x3d, r28 ; 61
1226: 29 96 adiw r28, 0x09 ; 9
1228: 8f ad ldd r24, Y+63 ; 0x3f
122a: 29 97 sbiw r28, 0x09 ; 9
122c: 80 93 57 05 sts 0x0557, r24
1230: ce 01 movw r24, r28
1232: 85 5b subi r24, 0xB5 ; 181
1234: 9f 4f sbci r25, 0xFF ; 255
1236: 9d 83 std Y+5, r25 ; 0x05
1238: 8c 83 std Y+4, r24 ; 0x04
123a: 2b 96 adiw r28, 0x0b ; 11
123c: 8e ad ldd r24, Y+62 ; 0x3e
123e: 9f ad ldd r25, Y+63 ; 0x3f
1240: 2b 97 sbiw r28, 0x0b ; 11
1242: 9f a7 std Y+47, r25 ; 0x2f
1244: 8e a7 std Y+46, r24 ; 0x2e
1246: 22 24 eor r2, r2
1248: 33 24 eor r3, r3
124a: 21 01 movw r4, r2
124c: 02 c0 rjmp .+4 ; 0x1252 <_printf_P+0x60>
124e: 13 01 movw r2, r6
1250: 24 01 movw r4, r8
1252: 0e a5 ldd r16, Y+46 ; 0x2e
1254: 1f a5 ldd r17, Y+47 ; 0x2f
1256: 02 c0 rjmp .+4 ; 0x125c <_printf_P+0x6a>
1258: 0f 5f subi r16, 0xFF ; 255
125a: 1f 4f sbci r17, 0xFF ; 255
125c: f8 01 movw r30, r16
125e: f4 90 lpm r15, Z
1260: ff 20 and r15, r15
1262: 19 f0 breq .+6 ; 0x126a <_printf_P+0x78>
1264: f5 e2 ldi r31, 0x25 ; 37
1266: ff 16 cp r15, r31
1268: b9 f7 brne .-18 ; 0x1258 <_printf_P+0x66>
126a: b8 01 movw r22, r16
126c: 8e a5 ldd r24, Y+46 ; 0x2e
126e: 9f a5 ldd r25, Y+47 ; 0x2f
1270: 68 1b sub r22, r24
1272: 79 0b sbc r23, r25
1274: 11 f0 breq .+4 ; 0x127a <_printf_P+0x88>
1276: 0e 94 cf 08 call 0x119e ; 0x119e <PRINTP>
127a: ff 20 and r15, r15
127c: 09 f4 brne .+2 ; 0x1280 <_printf_P+0x8e>
127e: 44 c2 rjmp .+1160 ; 0x1708 <_printf_P+0x516>
1280: 0f 5f subi r16, 0xFF ; 255
1282: 1f 4f sbci r17, 0xFF ; 255
1284: 1f a7 std Y+47, r17 ; 0x2f
1286: 0e a7 std Y+46, r16 ; 0x2e
1288: 19 82 std Y+1, r1 ; 0x01
128a: ac 81 ldd r26, Y+4 ; 0x04
128c: bd 81 ldd r27, Y+5 ; 0x05
128e: 1b aa std Y+51, r1 ; 0x33
1290: 1a aa std Y+50, r1 ; 0x32
1292: 9f ef ldi r25, 0xFF ; 255
1294: 99 ab std Y+49, r25 ; 0x31
1296: ee a5 ldd r30, Y+46 ; 0x2e
1298: ff a5 ldd r31, Y+47 ; 0x2f
129a: cf 01 movw r24, r30
129c: 01 96 adiw r24, 0x01 ; 1
129e: 9f a7 std Y+47, r25 ; 0x2f
12a0: 8e a7 std Y+46, r24 ; 0x2e
12a2: b4 90 lpm r11, Z
12a4: 95 e7 ldi r25, 0x75 ; 117
12a6: b9 16 cp r11, r25
12a8: 21 f0 breq .+8 ; 0x12b2 <_printf_P+0xc0>
12aa: 8b 2d mov r24, r11
12ac: 80 62 ori r24, 0x20 ; 32
12ae: 88 37 cpi r24, 0x78 ; 120
12b0: 89 f4 brne .+34 ; 0x12d4 <_printf_P+0xe2>
12b2: eb a9 ldd r30, Y+51 ; 0x33
12b4: e0 ff sbrs r30, 0
12b6: 07 c0 rjmp .+14 ; 0x12c6 <_printf_P+0xd4>
12b8: 2d 90 ld r2, X+
12ba: 3d 90 ld r3, X+
12bc: 4d 90 ld r4, X+
12be: 5c 90 ld r5, X
12c0: 13 97 sbiw r26, 0x03 ; 3
12c2: 14 96 adiw r26, 0x04 ; 4
12c4: 07 c0 rjmp .+14 ; 0x12d4 <_printf_P+0xe2>
12c6: 8d 91 ld r24, X+
12c8: 9c 91 ld r25, X
12ca: 11 97 sbiw r26, 0x01 ; 1
12cc: 1c 01 movw r2, r24
12ce: 44 24 eor r4, r4
12d0: 55 24 eor r5, r5
12d2: 12 96 adiw r26, 0x02 ; 2
12d4: f0 e2 ldi r31, 0x20 ; 32
12d6: bf 16 cp r11, r31
12d8: 21 f4 brne .+8 ; 0x12e2 <_printf_P+0xf0>
12da: 89 81 ldd r24, Y+1 ; 0x01
12dc: 88 23 and r24, r24
12de: d9 f6 brne .-74 ; 0x1296 <_printf_P+0xa4>
12e0: 85 c0 rjmp .+266 ; 0x13ec <_printf_P+0x1fa>
12e2: 83 e2 ldi r24, 0x23 ; 35
12e4: b8 16 cp r11, r24
12e6: 09 f4 brne .+2 ; 0x12ea <_printf_P+0xf8>
12e8: 83 c0 rjmp .+262 ; 0x13f0 <_printf_P+0x1fe>
12ea: 9a e2 ldi r25, 0x2A ; 42
12ec: b9 16 cp r11, r25
12ee: 21 f0 breq .+8 ; 0x12f8 <_printf_P+0x106>
12f0: ed e2 ldi r30, 0x2D ; 45
12f2: be 16 cp r11, r30
12f4: 69 f4 brne .+26 ; 0x1310 <_printf_P+0x11e>
12f6: 08 c0 rjmp .+16 ; 0x1308 <_printf_P+0x116>
12f8: fd 01 movw r30, r26
12fa: 12 96 adiw r26, 0x02 ; 2
12fc: e0 81 ld r30, Z
12fe: ea ab std Y+50, r30 ; 0x32
1300: e7 ff sbrs r30, 7
1302: c9 cf rjmp .-110 ; 0x1296 <_printf_P+0xa4>
1304: e1 95 neg r30
1306: ea ab std Y+50, r30 ; 0x32
1308: fb a9 ldd r31, Y+51 ; 0x33
130a: f0 61 ori r31, 0x10 ; 16
130c: ff 7d andi r31, 0xDF ; 223
130e: 72 c0 rjmp .+228 ; 0x13f4 <_printf_P+0x202>
1310: 8b e2 ldi r24, 0x2B ; 43
1312: b8 16 cp r11, r24
1314: 09 f4 brne .+2 ; 0x1318 <_printf_P+0x126>
1316: 6a c0 rjmp .+212 ; 0x13ec <_printf_P+0x1fa>
1318: 9e e2 ldi r25, 0x2E ; 46
131a: b9 16 cp r11, r25
131c: b1 f5 brne .+108 ; 0x138a <_printf_P+0x198>
131e: 2e a5 ldd r18, Y+46 ; 0x2e
1320: 3f a5 ldd r19, Y+47 ; 0x2f
1322: 2f 5f subi r18, 0xFF ; 255
1324: 3f 4f sbci r19, 0xFF ; 255
1326: ee a5 ldd r30, Y+46 ; 0x2e
1328: ff a5 ldd r31, Y+47 ; 0x2f
132a: 84 91 lpm r24, Z
132c: 8a 32 cpi r24, 0x2A ; 42
132e: 21 f0 breq .+8 ; 0x1338 <_printf_P+0x146>
1330: b8 2e mov r11, r24
1332: 20 e0 ldi r18, 0x00 ; 0
1334: 30 e0 ldi r19, 0x00 ; 0
1336: 1b c0 rjmp .+54 ; 0x136e <_printf_P+0x17c>
1338: fd 01 movw r30, r26
133a: 12 96 adiw r26, 0x02 ; 2
133c: 40 81 ld r20, Z
133e: 51 81 ldd r21, Z+1 ; 0x01
1340: 57 ff sbrs r21, 7
1342: 02 c0 rjmp .+4 ; 0x1348 <_printf_P+0x156>
1344: 4f ef ldi r20, 0xFF ; 255
1346: 5f ef ldi r21, 0xFF ; 255
1348: 49 ab std Y+49, r20 ; 0x31
134a: 3f a7 std Y+47, r19 ; 0x2f
134c: 2e a7 std Y+46, r18 ; 0x2e
134e: a3 cf rjmp .-186 ; 0x1296 <_printf_P+0xa4>
1350: c9 01 movw r24, r18
1352: 03 e0 ldi r16, 0x03 ; 3
1354: 88 0f add r24, r24
1356: 99 1f adc r25, r25
1358: 0a 95 dec r16
135a: e1 f7 brne .-8 ; 0x1354 <_printf_P+0x162>
135c: 22 0f add r18, r18
135e: 33 1f adc r19, r19
1360: 28 0f add r18, r24
1362: 39 1f adc r19, r25
1364: 2b 0d add r18, r11
1366: 31 1d adc r19, r1
1368: 20 53 subi r18, 0x30 ; 48
136a: 30 40 sbci r19, 0x00 ; 0
136c: b4 90 lpm r11, Z
136e: 31 96 adiw r30, 0x01 ; 1
1370: 8b 2d mov r24, r11
1372: 80 53 subi r24, 0x30 ; 48
1374: 8a 30 cpi r24, 0x0A ; 10
1376: 60 f3 brcs .-40 ; 0x1350 <_printf_P+0x15e>
1378: ff a7 std Y+47, r31 ; 0x2f
137a: ee a7 std Y+46, r30 ; 0x2e
137c: a9 01 movw r20, r18
137e: 37 ff sbrs r19, 7
1380: 02 c0 rjmp .+4 ; 0x1386 <_printf_P+0x194>
1382: 4f ef ldi r20, 0xFF ; 255
1384: 5f ef ldi r21, 0xFF ; 255
1386: 49 ab std Y+49, r20 ; 0x31
1388: 8d cf rjmp .-230 ; 0x12a4 <_printf_P+0xb2>
138a: f0 e3 ldi r31, 0x30 ; 48
138c: bf 16 cp r11, r31
138e: 31 f4 brne .+12 ; 0x139c <_printf_P+0x1aa>
1390: 8b a9 ldd r24, Y+51 ; 0x33
1392: 84 fd sbrc r24, 4
1394: 80 cf rjmp .-256 ; 0x1296 <_printf_P+0xa4>
1396: 80 62 ori r24, 0x20 ; 32
1398: 8b ab std Y+51, r24 ; 0x33
139a: 7d cf rjmp .-262 ; 0x1296 <_printf_P+0xa4>
139c: 8b 2d mov r24, r11
139e: 81 53 subi r24, 0x31 ; 49
13a0: 89 30 cpi r24, 0x09 ; 9
13a2: e8 f4 brcc .+58 ; 0x13de <_printf_P+0x1ec>
13a4: 20 e0 ldi r18, 0x00 ; 0
13a6: 30 e0 ldi r19, 0x00 ; 0
13a8: c9 01 movw r24, r18
13aa: f3 e0 ldi r31, 0x03 ; 3
13ac: 88 0f add r24, r24
13ae: 99 1f adc r25, r25
13b0: fa 95 dec r31
13b2: e1 f7 brne .-8 ; 0x13ac <_printf_P+0x1ba>
13b4: 22 0f add r18, r18
13b6: 33 1f adc r19, r19
13b8: 28 0f add r18, r24
13ba: 39 1f adc r19, r25
13bc: 2b 0d add r18, r11
13be: 31 1d adc r19, r1
13c0: 20 53 subi r18, 0x30 ; 48
13c2: 30 40 sbci r19, 0x00 ; 0
13c4: ee a5 ldd r30, Y+46 ; 0x2e
13c6: ff a5 ldd r31, Y+47 ; 0x2f
13c8: cf 01 movw r24, r30
13ca: 01 96 adiw r24, 0x01 ; 1
13cc: 9f a7 std Y+47, r25 ; 0x2f
13ce: 8e a7 std Y+46, r24 ; 0x2e
13d0: b4 90 lpm r11, Z
13d2: 8b 2d mov r24, r11
13d4: 80 53 subi r24, 0x30 ; 48
13d6: 8a 30 cpi r24, 0x0A ; 10
13d8: 38 f3 brcs .-50 ; 0x13a8 <_printf_P+0x1b6>
13da: 2a ab std Y+50, r18 ; 0x32
13dc: 63 cf rjmp .-314 ; 0x12a4 <_printf_P+0xb2>
13de: 98 e6 ldi r25, 0x68 ; 104
13e0: b9 16 cp r11, r25
13e2: 51 f4 brne .+20 ; 0x13f8 <_printf_P+0x206>
13e4: eb a9 ldd r30, Y+51 ; 0x33
13e6: e4 60 ori r30, 0x04 ; 4
13e8: eb ab std Y+51, r30 ; 0x33
13ea: 55 cf rjmp .-342 ; 0x1296 <_printf_P+0xa4>
13ec: b9 82 std Y+1, r11 ; 0x01
13ee: 53 cf rjmp .-346 ; 0x1296 <_printf_P+0xa4>
13f0: fb a9 ldd r31, Y+51 ; 0x33
13f2: f8 60 ori r31, 0x08 ; 8
13f4: fb ab std Y+51, r31 ; 0x33
13f6: 4f cf rjmp .-354 ; 0x1296 <_printf_P+0xa4>
13f8: 8c e6 ldi r24, 0x6C ; 108
13fa: b8 16 cp r11, r24
13fc: 21 f4 brne .+8 ; 0x1406 <_printf_P+0x214>
13fe: 9b a9 ldd r25, Y+51 ; 0x33
1400: 91 60 ori r25, 0x01 ; 1
1402: 9b ab std Y+51, r25 ; 0x33
1404: 48 cf rjmp .-368 ; 0x1296 <_printf_P+0xa4>
1406: bd 83 std Y+5, r27 ; 0x05
1408: ac 83 std Y+4, r26 ; 0x04
140a: e3 e6 ldi r30, 0x63 ; 99
140c: be 16 cp r11, r30
140e: 39 f4 brne .+14 ; 0x141e <_printf_P+0x22c>
1410: 12 96 adiw r26, 0x02 ; 2
1412: bd 83 std Y+5, r27 ; 0x05
1414: ac 83 std Y+4, r26 ; 0x04
1416: 12 97 sbiw r26, 0x02 ; 2
1418: 8c 91 ld r24, X
141a: 8e 83 std Y+6, r24 ; 0x06
141c: 1a c1 rjmp .+564 ; 0x1652 <_printf_P+0x460>
141e: f4 e4 ldi r31, 0x44 ; 68
1420: bf 16 cp r11, r31
1422: 39 f0 breq .+14 ; 0x1432 <_printf_P+0x240>
1424: 84 e6 ldi r24, 0x64 ; 100
1426: b8 16 cp r11, r24
1428: 39 f0 breq .+14 ; 0x1438 <_printf_P+0x246>
142a: 99 e6 ldi r25, 0x69 ; 105
142c: b9 16 cp r11, r25
142e: 59 f5 brne .+86 ; 0x1486 <_printf_P+0x294>
1430: 03 c0 rjmp .+6 ; 0x1438 <_printf_P+0x246>
1432: eb a9 ldd r30, Y+51 ; 0x33
1434: e1 60 ori r30, 0x01 ; 1
1436: eb ab std Y+51, r30 ; 0x33
1438: fb a9 ldd r31, Y+51 ; 0x33
143a: f0 ff sbrs r31, 0
143c: 08 c0 rjmp .+16 ; 0x144e <_printf_P+0x25c>
143e: 14 96 adiw r26, 0x04 ; 4
1440: bd 83 std Y+5, r27 ; 0x05
1442: ac 83 std Y+4, r26 ; 0x04
1444: 5e 90 ld r5, -X
1446: 4e 90 ld r4, -X
1448: 3e 90 ld r3, -X
144a: 2e 90 ld r2, -X
144c: 0a c0 rjmp .+20 ; 0x1462 <_printf_P+0x270>
144e: 12 96 adiw r26, 0x02 ; 2
1450: bd 83 std Y+5, r27 ; 0x05
1452: ac 83 std Y+4, r26 ; 0x04
1454: 9e 91 ld r25, -X
1456: 8e 91 ld r24, -X
1458: 1c 01 movw r2, r24
145a: 44 24 eor r4, r4
145c: 37 fc sbrc r3, 7
145e: 40 94 com r4
1460: 54 2c mov r5, r4
1462: 57 fc sbrc r5, 7
1464: 03 c0 rjmp .+6 ; 0x146c <_printf_P+0x27a>
1466: 8a e0 ldi r24, 0x0A ; 10
1468: 88 ab std Y+48, r24 ; 0x30
146a: 94 c0 rjmp .+296 ; 0x1594 <_printf_P+0x3a2>
146c: 50 94 com r5
146e: 40 94 com r4
1470: 30 94 com r3
1472: 20 94 com r2
1474: 21 1c adc r2, r1
1476: 31 1c adc r3, r1
1478: 41 1c adc r4, r1
147a: 51 1c adc r5, r1
147c: 8d e2 ldi r24, 0x2D ; 45
147e: 89 83 std Y+1, r24 ; 0x01
1480: 9a e0 ldi r25, 0x0A ; 10
1482: 98 ab std Y+48, r25 ; 0x30
1484: 87 c0 rjmp .+270 ; 0x1594 <_printf_P+0x3a2>
1486: ef e4 ldi r30, 0x4F ; 79
1488: be 16 cp r11, r30
148a: 29 f0 breq .+10 ; 0x1496 <_printf_P+0x2a4>
148c: ff e6 ldi r31, 0x6F ; 111
148e: bf 16 cp r11, r31
1490: 39 f4 brne .+14 ; 0x14a0 <_printf_P+0x2ae>
1492: 88 e0 ldi r24, 0x08 ; 8
1494: 63 c0 rjmp .+198 ; 0x155c <_printf_P+0x36a>
1496: 9b a9 ldd r25, Y+51 ; 0x33
1498: 91 60 ori r25, 0x01 ; 1
149a: 9b ab std Y+51, r25 ; 0x33
149c: e8 e0 ldi r30, 0x08 ; 8
149e: 58 c0 rjmp .+176 ; 0x1550 <_printf_P+0x35e>
14a0: f0 e7 ldi r31, 0x70 ; 112
14a2: bf 16 cp r11, r31
14a4: 81 f4 brne .+32 ; 0x14c6 <_printf_P+0x2d4>
14a6: 12 96 adiw r26, 0x02 ; 2
14a8: bd 83 std Y+5, r27 ; 0x05
14aa: ac 83 std Y+4, r26 ; 0x04
14ac: 9e 91 ld r25, -X
14ae: 8e 91 ld r24, -X
14b0: 1c 01 movw r2, r24
14b2: 44 24 eor r4, r4
14b4: 55 24 eor r5, r5
14b6: 8b a9 ldd r24, Y+51 ; 0x33
14b8: 80 64 ori r24, 0x40 ; 64
14ba: 8b ab std Y+51, r24 ; 0x33
14bc: 90 e1 ldi r25, 0x10 ; 16
14be: 98 ab std Y+48, r25 ; 0x30
14c0: 78 e7 ldi r23, 0x78 ; 120
14c2: b7 2e mov r11, r23
14c4: 66 c0 rjmp .+204 ; 0x1592 <_printf_P+0x3a0>
14c6: e3 e7 ldi r30, 0x73 ; 115
14c8: be 16 cp r11, r30
14ca: d9 f5 brne .+118 ; 0x1542 <_printf_P+0x350>
14cc: 12 96 adiw r26, 0x02 ; 2
14ce: bd 83 std Y+5, r27 ; 0x05
14d0: ac 83 std Y+4, r26 ; 0x04
14d2: de 90 ld r13, -X
14d4: ce 90 ld r12, -X
14d6: c1 14 cp r12, r1
14d8: d1 04 cpc r13, r1
14da: 89 f4 brne .+34 ; 0x14fe <_printf_P+0x30c>
14dc: 88 e2 ldi r24, 0x28 ; 40
14de: 8e 83 std Y+6, r24 ; 0x06
14e0: 8e e6 ldi r24, 0x6E ; 110
14e2: 8f 83 std Y+7, r24 ; 0x07
14e4: 85 e7 ldi r24, 0x75 ; 117
14e6: 88 87 std Y+8, r24 ; 0x08
14e8: 8c e6 ldi r24, 0x6C ; 108
14ea: 89 87 std Y+9, r24 ; 0x09
14ec: 8a 87 std Y+10, r24 ; 0x0a
14ee: 89 e2 ldi r24, 0x29 ; 41
14f0: 8b 87 std Y+11, r24 ; 0x0b
14f2: 1c 86 std Y+12, r1 ; 0x0c
14f4: 66 e0 ldi r22, 0x06 ; 6
14f6: c6 2e mov r12, r22
14f8: d1 2c mov r13, r1
14fa: cc 0e add r12, r28
14fc: dd 1e adc r13, r29
14fe: f9 a9 ldd r31, Y+49 ; 0x31
1500: f7 fd sbrc r31, 7
1502: 13 c0 rjmp .+38 ; 0x152a <_printf_P+0x338>
1504: 4f 2f mov r20, r31
1506: 55 27 eor r21, r21
1508: 47 fd sbrc r20, 7
150a: 50 95 com r21
150c: 60 e0 ldi r22, 0x00 ; 0
150e: 70 e0 ldi r23, 0x00 ; 0
1510: c6 01 movw r24, r12
1512: 0e 94 b3 2b call 0x5766 ; 0x5766 <memchr>
1516: 00 97 sbiw r24, 0x00 ; 0
1518: 11 f4 brne .+4 ; 0x151e <_printf_P+0x32c>
151a: 19 a9 ldd r17, Y+49 ; 0x31
151c: 0d c0 rjmp .+26 ; 0x1538 <_printf_P+0x346>
151e: 8c 19 sub r24, r12
1520: 19 a9 ldd r17, Y+49 ; 0x31
1522: 81 17 cp r24, r17
1524: 4c f4 brge .+18 ; 0x1538 <_printf_P+0x346>
1526: 18 2f mov r17, r24
1528: 07 c0 rjmp .+14 ; 0x1538 <_printf_P+0x346>
152a: f6 01 movw r30, r12
152c: 01 90 ld r0, Z+
152e: 00 20 and r0, r0
1530: e9 f7 brne .-6 ; 0x152c <_printf_P+0x33a>
1532: 31 97 sbiw r30, 0x01 ; 1
1534: 1e 2f mov r17, r30
1536: 1c 19 sub r17, r12
1538: 19 82 std Y+1, r1 ; 0x01
153a: 42 01 movw r8, r4
153c: 31 01 movw r6, r2
153e: 40 e0 ldi r20, 0x00 ; 0
1540: 94 c0 rjmp .+296 ; 0x166a <_printf_P+0x478>
1542: 85 e5 ldi r24, 0x55 ; 85
1544: b8 16 cp r11, r24
1546: 31 f0 breq .+12 ; 0x1554 <_printf_P+0x362>
1548: 95 e7 ldi r25, 0x75 ; 117
154a: b9 16 cp r11, r25
154c: 49 f4 brne .+18 ; 0x1560 <_printf_P+0x36e>
154e: ea e0 ldi r30, 0x0A ; 10
1550: e8 ab std Y+48, r30 ; 0x30
1552: 1f c0 rjmp .+62 ; 0x1592 <_printf_P+0x3a0>
1554: fb a9 ldd r31, Y+51 ; 0x33
1556: f1 60 ori r31, 0x01 ; 1
1558: fb ab std Y+51, r31 ; 0x33
155a: 8a e0 ldi r24, 0x0A ; 10
155c: 88 ab std Y+48, r24 ; 0x30
155e: 19 c0 rjmp .+50 ; 0x1592 <_printf_P+0x3a0>
1560: 98 e5 ldi r25, 0x58 ; 88
1562: b9 16 cp r11, r25
1564: 21 f0 breq .+8 ; 0x156e <_printf_P+0x37c>
1566: e8 e7 ldi r30, 0x78 ; 120
1568: be 16 cp r11, r30
156a: 09 f0 breq .+2 ; 0x156e <_printf_P+0x37c>
156c: 6e c0 rjmp .+220 ; 0x164a <_printf_P+0x458>
156e: fb a9 ldd r31, Y+51 ; 0x33
1570: f3 fd sbrc r31, 3
1572: 02 c0 rjmp .+4 ; 0x1578 <_printf_P+0x386>
1574: 80 e1 ldi r24, 0x10 ; 16
1576: f2 cf rjmp .-28 ; 0x155c <_printf_P+0x36a>
1578: 21 14 cp r2, r1
157a: 31 04 cpc r3, r1
157c: 41 04 cpc r4, r1
157e: 51 04 cpc r5, r1
1580: 19 f4 brne .+6 ; 0x1588 <_printf_P+0x396>
1582: 90 e1 ldi r25, 0x10 ; 16
1584: 98 ab std Y+48, r25 ; 0x30
1586: 05 c0 rjmp .+10 ; 0x1592 <_printf_P+0x3a0>
1588: eb a9 ldd r30, Y+51 ; 0x33
158a: e0 64 ori r30, 0x40 ; 64
158c: eb ab std Y+51, r30 ; 0x33
158e: f0 e1 ldi r31, 0x10 ; 16
1590: f8 ab std Y+48, r31 ; 0x30
1592: 19 82 std Y+1, r1 ; 0x01
1594: 89 a9 ldd r24, Y+49 ; 0x31
1596: 87 fd sbrc r24, 7
1598: 03 c0 rjmp .+6 ; 0x15a0 <_printf_P+0x3ae>
159a: 9b a9 ldd r25, Y+51 ; 0x33
159c: 9f 7d andi r25, 0xDF ; 223
159e: 9b ab std Y+51, r25 ; 0x33
15a0: 21 14 cp r2, r1
15a2: 31 04 cpc r3, r1
15a4: 41 04 cpc r4, r1
15a6: 51 04 cpc r5, r1
15a8: 61 f4 brne .+24 ; 0x15c2 <_printf_P+0x3d0>
15aa: e9 a9 ldd r30, Y+49 ; 0x31
15ac: ee 23 and r30, r30
15ae: 49 f4 brne .+18 ; 0x15c2 <_printf_P+0x3d0>
15b0: 66 24 eor r6, r6
15b2: 77 24 eor r7, r7
15b4: 43 01 movw r8, r6
15b6: 5e e2 ldi r21, 0x2E ; 46
15b8: c5 2e mov r12, r21
15ba: d1 2c mov r13, r1
15bc: cc 0e add r12, r28
15be: dd 1e adc r13, r29
15c0: 3e c0 rjmp .+124 ; 0x163e <_printf_P+0x44c>
15c2: 4e e2 ldi r20, 0x2E ; 46
15c4: c4 2e mov r12, r20
15c6: d1 2c mov r13, r1
15c8: cc 0e add r12, r28
15ca: dd 1e adc r13, r29
15cc: f8 a9 ldd r31, Y+48 ; 0x30
15ce: ef 2e mov r14, r31
15d0: ff 24 eor r15, r15
15d2: 00 27 eor r16, r16
15d4: 11 27 eor r17, r17
15d6: c2 01 movw r24, r4
15d8: b1 01 movw r22, r2
15da: a8 01 movw r20, r16
15dc: 97 01 movw r18, r14
15de: 0e 94 24 2e call 0x5c48 ; 0x5c48 <__udivmodsi4>
15e2: 6a 30 cpi r22, 0x0A ; 10
15e4: 20 f4 brcc .+8 ; 0x15ee <_printf_P+0x3fc>
15e6: 30 e3 ldi r19, 0x30 ; 48
15e8: a3 2e mov r10, r19
15ea: a6 0e add r10, r22
15ec: 08 c0 rjmp .+16 ; 0x15fe <_printf_P+0x40c>
15ee: 27 e5 ldi r18, 0x57 ; 87
15f0: a2 2e mov r10, r18
15f2: a6 0e add r10, r22
15f4: 88 e5 ldi r24, 0x58 ; 88
15f6: b8 16 cp r11, r24
15f8: 11 f4 brne .+4 ; 0x15fe <_printf_P+0x40c>
15fa: 9f ed ldi r25, 0xDF ; 223
15fc: a9 22 and r10, r25
15fe: f6 01 movw r30, r12
1600: a2 92 st -Z, r10
1602: 6f 01 movw r12, r30
1604: c2 01 movw r24, r4
1606: b1 01 movw r22, r2
1608: a8 01 movw r20, r16
160a: 97 01 movw r18, r14
160c: 0e 94 24 2e call 0x5c48 ; 0x5c48 <__udivmodsi4>
1610: 39 01 movw r6, r18
1612: 4a 01 movw r8, r20
1614: 2e 14 cp r2, r14
1616: 3f 04 cpc r3, r15
1618: 40 06 cpc r4, r16
161a: 51 06 cpc r5, r17
161c: 18 f0 brcs .+6 ; 0x1624 <_printf_P+0x432>
161e: 19 01 movw r2, r18
1620: 2a 01 movw r4, r20
1622: d9 cf rjmp .-78 ; 0x15d6 <_printf_P+0x3e4>
1624: f8 a9 ldd r31, Y+48 ; 0x30
1626: f8 30 cpi r31, 0x08 ; 8
1628: 51 f4 brne .+20 ; 0x163e <_printf_P+0x44c>
162a: 8b a9 ldd r24, Y+51 ; 0x33
162c: 83 ff sbrs r24, 3
162e: 07 c0 rjmp .+14 ; 0x163e <_printf_P+0x44c>
1630: 90 e3 ldi r25, 0x30 ; 48
1632: a9 16 cp r10, r25
1634: 21 f0 breq .+8 ; 0x163e <_printf_P+0x44c>
1636: 80 e3 ldi r24, 0x30 ; 48
1638: f6 01 movw r30, r12
163a: 82 93 st -Z, r24
163c: 6f 01 movw r12, r30
163e: ce 01 movw r24, r28
1640: 8c 19 sub r24, r12
1642: 18 2f mov r17, r24
1644: 12 5d subi r17, 0xD2 ; 210
1646: 49 a9 ldd r20, Y+49 ; 0x31
1648: 10 c0 rjmp .+32 ; 0x166a <_printf_P+0x478>
164a: bb 20 and r11, r11
164c: 09 f4 brne .+2 ; 0x1650 <_printf_P+0x45e>
164e: 5c c0 rjmp .+184 ; 0x1708 <_printf_P+0x516>
1650: be 82 std Y+6, r11 ; 0x06
1652: 19 82 std Y+1, r1 ; 0x01
1654: 42 01 movw r8, r4
1656: 31 01 movw r6, r2
1658: 00 e0 ldi r16, 0x00 ; 0
165a: 11 e0 ldi r17, 0x01 ; 1
165c: 96 e0 ldi r25, 0x06 ; 6
165e: c9 2e mov r12, r25
1660: d1 2c mov r13, r1
1662: cc 0e add r12, r28
1664: dd 1e adc r13, r29
1666: 21 e0 ldi r18, 0x01 ; 1
1668: 05 c0 rjmp .+10 ; 0x1674 <_printf_P+0x482>
166a: 21 2f mov r18, r17
166c: 04 2f mov r16, r20
166e: 01 1b sub r16, r17
1670: 07 fd sbrc r16, 7
1672: 00 e0 ldi r16, 0x00 ; 0
1674: 89 81 ldd r24, Y+1 ; 0x01
1676: 88 23 and r24, r24
1678: 19 f0 breq .+6 ; 0x1680 <_printf_P+0x48e>
167a: 81 2f mov r24, r17
167c: 8f 5f subi r24, 0xFF ; 255
167e: 07 c0 rjmp .+14 ; 0x168e <_printf_P+0x49c>
1680: 9b a9 ldd r25, Y+51 ; 0x33
1682: 96 fd sbrc r25, 6
1684: 02 c0 rjmp .+4 ; 0x168a <_printf_P+0x498>
1686: 81 2f mov r24, r17
1688: 02 c0 rjmp .+4 ; 0x168e <_printf_P+0x49c>
168a: 82 2f mov r24, r18
168c: 8e 5f subi r24, 0xFE ; 254
168e: a8 2e mov r10, r24
1690: a0 0e add r10, r16
1692: eb a9 ldd r30, Y+51 ; 0x33
1694: ee 2e mov r14, r30
1696: ff 24 eor r15, r15
1698: 80 e3 ldi r24, 0x30 ; 48
169a: 48 2e mov r4, r24
169c: 51 2c mov r5, r1
169e: 4e 20 and r4, r14
16a0: 5f 20 and r5, r15
16a2: 41 14 cp r4, r1
16a4: 51 04 cpc r5, r1
16a6: 21 f4 brne .+8 ; 0x16b0 <_printf_P+0x4be>
16a8: 8a a9 ldd r24, Y+50 ; 0x32
16aa: 8a 19 sub r24, r10
16ac: 0e 94 c4 08 call 0x1188 ; 0x1188 <PAD_SP>
16b0: 89 81 ldd r24, Y+1 ; 0x01
16b2: 88 23 and r24, r24
16b4: 29 f0 breq .+10 ; 0x16c0 <_printf_P+0x4ce>
16b6: 61 e0 ldi r22, 0x01 ; 1
16b8: 70 e0 ldi r23, 0x00 ; 0
16ba: ce 01 movw r24, r28
16bc: 01 96 adiw r24, 0x01 ; 1
16be: 09 c0 rjmp .+18 ; 0x16d2 <_printf_P+0x4e0>
16c0: e6 fe sbrs r14, 6
16c2: 09 c0 rjmp .+18 ; 0x16d6 <_printf_P+0x4e4>
16c4: 80 e3 ldi r24, 0x30 ; 48
16c6: 8a 83 std Y+2, r24 ; 0x02
16c8: bb 82 std Y+3, r11 ; 0x03
16ca: 62 e0 ldi r22, 0x02 ; 2
16cc: 70 e0 ldi r23, 0x00 ; 0
16ce: ce 01 movw r24, r28
16d0: 02 96 adiw r24, 0x02 ; 2
16d2: 0e 94 e5 08 call 0x11ca ; 0x11ca <PRINT>
16d6: f0 e2 ldi r31, 0x20 ; 32
16d8: 4f 16 cp r4, r31
16da: 51 04 cpc r5, r1
16dc: 21 f4 brne .+8 ; 0x16e6 <_printf_P+0x4f4>
16de: 8a a9 ldd r24, Y+50 ; 0x32
16e0: 8a 19 sub r24, r10
16e2: 0e 94 b9 08 call 0x1172 ; 0x1172 <PAD_0>
16e6: 80 2f mov r24, r16
16e8: 0e 94 b9 08 call 0x1172 ; 0x1172 <PAD_0>
16ec: 61 2f mov r22, r17
16ee: 77 27 eor r23, r23
16f0: 67 fd sbrc r22, 7
16f2: 70 95 com r23
16f4: c6 01 movw r24, r12
16f6: 0e 94 e5 08 call 0x11ca ; 0x11ca <PRINT>
16fa: e4 fe sbrs r14, 4
16fc: a8 cd rjmp .-1200 ; 0x124e <_printf_P+0x5c>
16fe: 8a a9 ldd r24, Y+50 ; 0x32
1700: 8a 19 sub r24, r10
1702: 0e 94 c4 08 call 0x1188 ; 0x1188 <PAD_SP>
1706: a3 cd rjmp .-1210 ; 0x124e <_printf_P+0x5c>
1708: e3 96 adiw r28, 0x33 ; 51
170a: 0f b6 in r0, 0x3f ; 63
170c: f8 94 cli
170e: de bf out 0x3e, r29 ; 62
1710: 0f be out 0x3f, r0 ; 63
1712: cd bf out 0x3d, r28 ; 61
1714: df 91 pop r29
1716: cf 91 pop r28
1718: 1f 91 pop r17
171a: 0f 91 pop r16
171c: ff 90 pop r15
171e: ef 90 pop r14
1720: df 90 pop r13
1722: cf 90 pop r12
1724: bf 90 pop r11
1726: af 90 pop r10
1728: 9f 90 pop r9
172a: 8f 90 pop r8
172c: 7f 90 pop r7
172e: 6f 90 pop r6
1730: 5f 90 pop r5
1732: 4f 90 pop r4
1734: 3f 90 pop r3
1736: 2f 90 pop r2
1738: 08 95 ret
 
0000173a <__vector_18>:
173a: 1f 92 push r1
173c: 0f 92 push r0
173e: 0f b6 in r0, 0x3f ; 63
1740: 0f 92 push r0
1742: 11 24 eor r1, r1
1744: 2f 93 push r18
1746: 3f 93 push r19
1748: 5f 93 push r21
174a: 6f 93 push r22
174c: 7f 93 push r23
174e: 8f 93 push r24
1750: 9f 93 push r25
1752: af 93 push r26
1754: bf 93 push r27
1756: 80 91 af 01 lds r24, 0x01AF
175a: 81 50 subi r24, 0x01 ; 1
175c: 80 93 af 01 sts 0x01AF, r24
1760: 8f 3f cpi r24, 0xFF ; 255
1762: 01 f5 brne .+64 ; 0x17a4 <__vector_18+0x6a>
1764: 89 e0 ldi r24, 0x09 ; 9
1766: 80 93 af 01 sts 0x01AF, r24
176a: 80 91 03 01 lds r24, 0x0103
176e: 8f 5f subi r24, 0xFF ; 255
1770: 81 70 andi r24, 0x01 ; 1
1772: 80 93 03 01 sts 0x0103, r24
1776: 88 23 and r24, r24
1778: 19 f4 brne .+6 ; 0x1780 <__vector_18+0x46>
177a: 81 e0 ldi r24, 0x01 ; 1
177c: 80 93 a8 01 sts 0x01A8, r24
1780: 80 91 a6 01 lds r24, 0x01A6
1784: 90 91 a7 01 lds r25, 0x01A7
1788: 01 96 adiw r24, 0x01 ; 1
178a: 90 93 a7 01 sts 0x01A7, r25
178e: 80 93 a6 01 sts 0x01A6, r24
1792: 80 91 d6 01 lds r24, 0x01D6
1796: 88 23 and r24, r24
1798: 29 f0 breq .+10 ; 0x17a4 <__vector_18+0x6a>
179a: 80 91 d6 01 lds r24, 0x01D6
179e: 81 50 subi r24, 0x01 ; 1
17a0: 80 93 d6 01 sts 0x01D6, r24
17a4: 80 91 ab 01 lds r24, 0x01AB
17a8: 90 91 ac 01 lds r25, 0x01AC
17ac: 02 97 sbiw r24, 0x02 ; 2
17ae: 58 f0 brcs .+22 ; 0x17c6 <__vector_18+0x8c>
17b0: 80 91 ab 01 lds r24, 0x01AB
17b4: 90 91 ac 01 lds r25, 0x01AC
17b8: 01 97 sbiw r24, 0x01 ; 1
17ba: 90 93 ac 01 sts 0x01AC, r25
17be: 80 93 ab 01 sts 0x01AB, r24
17c2: 5a 9a sbi 0x0b, 2 ; 11
17c4: 01 c0 rjmp .+2 ; 0x17c8 <__vector_18+0x8e>
17c6: 5a 98 cbi 0x0b, 2 ; 11
17c8: 80 91 a6 05 lds r24, 0x05A6
17cc: 83 ff sbrs r24, 3
17ce: 3b c0 rjmp .+118 ; 0x1846 <__vector_18+0x10c>
17d0: 34 9b sbis 0x06, 4 ; 6
17d2: 0a c0 rjmp .+20 ; 0x17e8 <__vector_18+0xae>
17d4: 80 91 a9 01 lds r24, 0x01A9
17d8: 90 91 aa 01 lds r25, 0x01AA
17dc: 01 96 adiw r24, 0x01 ; 1
17de: 90 93 aa 01 sts 0x01AA, r25
17e2: 80 93 a9 01 sts 0x01A9, r24
17e6: 2f c0 rjmp .+94 ; 0x1846 <__vector_18+0x10c>
17e8: 80 91 a9 01 lds r24, 0x01A9
17ec: 90 91 aa 01 lds r25, 0x01AA
17f0: 89 2b or r24, r25
17f2: 79 f0 breq .+30 ; 0x1812 <__vector_18+0xd8>
17f4: 80 91 a9 01 lds r24, 0x01A9
17f8: 90 91 aa 01 lds r25, 0x01AA
17fc: 80 5a subi r24, 0xA0 ; 160
17fe: 9f 40 sbci r25, 0x0F ; 15
1800: 40 f4 brcc .+16 ; 0x1812 <__vector_18+0xd8>
1802: 80 91 a9 01 lds r24, 0x01A9
1806: 90 91 aa 01 lds r25, 0x01AA
180a: 90 93 18 02 sts 0x0218, r25
180e: 80 93 17 02 sts 0x0217, r24
1812: 80 91 17 02 lds r24, 0x0217
1816: 90 91 18 02 lds r25, 0x0218
181a: 20 91 19 02 lds r18, 0x0219
181e: 30 91 1a 02 lds r19, 0x021A
1822: 82 1b sub r24, r18
1824: 93 0b sbc r25, r19
1826: 84 5e subi r24, 0xE4 ; 228
1828: 9d 4f sbci r25, 0xFD ; 253
182a: 68 e6 ldi r22, 0x68 ; 104
182c: 71 e0 ldi r23, 0x01 ; 1
182e: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
1832: 84 5b subi r24, 0xB4 ; 180
1834: 90 40 sbci r25, 0x00 ; 0
1836: 90 93 1c 02 sts 0x021C, r25
183a: 80 93 1b 02 sts 0x021B, r24
183e: 10 92 aa 01 sts 0x01AA, r1
1842: 10 92 a9 01 sts 0x01A9, r1
1846: bf 91 pop r27
1848: af 91 pop r26
184a: 9f 91 pop r25
184c: 8f 91 pop r24
184e: 7f 91 pop r23
1850: 6f 91 pop r22
1852: 5f 91 pop r21
1854: 3f 91 pop r19
1856: 2f 91 pop r18
1858: 0f 90 pop r0
185a: 0f be out 0x3f, r0 ; 63
185c: 0f 90 pop r0
185e: 1f 90 pop r1
1860: 18 95 reti
 
00001862 <SetDelay>:
1862: 20 91 a6 01 lds r18, 0x01A6
1866: 30 91 a7 01 lds r19, 0x01A7
186a: 2f 5f subi r18, 0xFF ; 255
186c: 3f 4f sbci r19, 0xFF ; 255
186e: 82 0f add r24, r18
1870: 93 1f adc r25, r19
1872: 08 95 ret
 
00001874 <CheckDelay>:
1874: 20 91 a6 01 lds r18, 0x01A6
1878: 30 91 a7 01 lds r19, 0x01A7
187c: 82 1b sub r24, r18
187e: 93 0b sbc r25, r19
1880: 89 2f mov r24, r25
1882: 99 27 eor r25, r25
1884: 86 95 lsr r24
1886: 80 74 andi r24, 0x40 ; 64
1888: 99 27 eor r25, r25
188a: 08 95 ret
 
0000188c <__vector_9>:
188c: 1f 92 push r1
188e: 0f 92 push r0
1890: 0f b6 in r0, 0x3f ; 63
1892: 0f 92 push r0
1894: 11 24 eor r1, r1
1896: ef 92 push r14
1898: ff 92 push r15
189a: 0f 93 push r16
189c: 1f 93 push r17
189e: 2f 93 push r18
18a0: 3f 93 push r19
18a2: 4f 93 push r20
18a4: 5f 93 push r21
18a6: 6f 93 push r22
18a8: 7f 93 push r23
18aa: 8f 93 push r24
18ac: 9f 93 push r25
18ae: af 93 push r26
18b0: bf 93 push r27
18b2: cf 93 push r28
18b4: df 93 push r29
18b6: ef 93 push r30
18b8: ff 93 push r31
18ba: 80 91 02 01 lds r24, 0x0102
18be: 81 50 subi r24, 0x01 ; 1
18c0: 80 93 02 01 sts 0x0102, r24
18c4: 8f 3f cpi r24, 0xFF ; 255
18c6: 09 f0 breq .+2 ; 0x18ca <__vector_9+0x3e>
18c8: 73 c0 rjmp .+230 ; 0x19b0 <__vector_9+0x124>
18ca: 83 e8 ldi r24, 0x83 ; 131
18cc: 80 93 b0 00 sts 0x00B0, r24
18d0: 80 91 89 01 lds r24, 0x0189
18d4: c8 2f mov r28, r24
18d6: dd 27 eor r29, r29
18d8: d0 93 ae 01 sts 0x01AE, r29
18dc: c0 93 ad 01 sts 0x01AD, r28
18e0: 80 91 c4 05 lds r24, 0x05C4
18e4: e0 90 c0 05 lds r14, 0x05C0
18e8: 80 ff sbrs r24, 0
18ea: 1e c0 rjmp .+60 ; 0x1928 <__vector_9+0x9c>
18ec: 60 91 e7 01 lds r22, 0x01E7
18f0: 70 91 e8 01 lds r23, 0x01E8
18f4: 80 91 e9 01 lds r24, 0x01E9
18f8: 90 91 ea 01 lds r25, 0x01EA
18fc: ff 24 eor r15, r15
18fe: 00 27 eor r16, r16
1900: 11 27 eor r17, r17
1902: 20 e8 ldi r18, 0x80 ; 128
1904: 30 e0 ldi r19, 0x00 ; 0
1906: 40 e0 ldi r20, 0x00 ; 0
1908: 50 e0 ldi r21, 0x00 ; 0
190a: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
190e: c8 01 movw r24, r16
1910: b7 01 movw r22, r14
1912: 0e 94 de 2d call 0x5bbc ; 0x5bbc <__mulsi3>
1916: 20 e0 ldi r18, 0x00 ; 0
1918: 32 e0 ldi r19, 0x02 ; 2
191a: 40 e0 ldi r20, 0x00 ; 0
191c: 50 e0 ldi r21, 0x00 ; 0
191e: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
1922: c2 0f add r28, r18
1924: d3 1f adc r29, r19
1926: 1d c0 rjmp .+58 ; 0x1962 <__vector_9+0xd6>
1928: 60 91 e7 01 lds r22, 0x01E7
192c: 70 91 e8 01 lds r23, 0x01E8
1930: 80 91 e9 01 lds r24, 0x01E9
1934: 90 91 ea 01 lds r25, 0x01EA
1938: ff 24 eor r15, r15
193a: 00 27 eor r16, r16
193c: 11 27 eor r17, r17
193e: 20 e8 ldi r18, 0x80 ; 128
1940: 30 e0 ldi r19, 0x00 ; 0
1942: 40 e0 ldi r20, 0x00 ; 0
1944: 50 e0 ldi r21, 0x00 ; 0
1946: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
194a: c8 01 movw r24, r16
194c: b7 01 movw r22, r14
194e: 0e 94 de 2d call 0x5bbc ; 0x5bbc <__mulsi3>
1952: 20 e0 ldi r18, 0x00 ; 0
1954: 32 e0 ldi r19, 0x02 ; 2
1956: 40 e0 ldi r20, 0x00 ; 0
1958: 50 e0 ldi r21, 0x00 ; 0
195a: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
195e: c2 1b sub r28, r18
1960: d3 0b sbc r29, r19
1962: d0 93 ae 01 sts 0x01AE, r29
1966: c0 93 ad 01 sts 0x01AD, r28
196a: 20 91 ad 01 lds r18, 0x01AD
196e: 30 91 ae 01 lds r19, 0x01AE
1972: 80 91 c1 05 lds r24, 0x05C1
1976: 99 27 eor r25, r25
1978: 28 17 cp r18, r24
197a: 39 07 cpc r19, r25
197c: 34 f0 brlt .+12 ; 0x198a <__vector_9+0xfe>
197e: 80 91 c2 05 lds r24, 0x05C2
1982: 99 27 eor r25, r25
1984: 82 17 cp r24, r18
1986: 93 07 cpc r25, r19
1988: 24 f4 brge .+8 ; 0x1992 <__vector_9+0x106>
198a: 90 93 ae 01 sts 0x01AE, r25
198e: 80 93 ad 01 sts 0x01AD, r24
1992: 80 91 ad 01 lds r24, 0x01AD
1996: 90 91 ae 01 lds r25, 0x01AE
199a: 90 93 03 05 sts 0x0503, r25
199e: 80 93 02 05 sts 0x0502, r24
19a2: 80 93 b3 00 sts 0x00B3, r24
19a6: 80 91 c3 05 lds r24, 0x05C3
19aa: 80 93 02 01 sts 0x0102, r24
19ae: 04 c0 rjmp .+8 ; 0x19b8 <__vector_9+0x12c>
19b0: 83 e0 ldi r24, 0x03 ; 3
19b2: 80 93 b0 00 sts 0x00B0, r24
19b6: 5f 98 cbi 0x0b, 7 ; 11
19b8: ff 91 pop r31
19ba: ef 91 pop r30
19bc: df 91 pop r29
19be: cf 91 pop r28
19c0: bf 91 pop r27
19c2: af 91 pop r26
19c4: 9f 91 pop r25
19c6: 8f 91 pop r24
19c8: 7f 91 pop r23
19ca: 6f 91 pop r22
19cc: 5f 91 pop r21
19ce: 4f 91 pop r20
19d0: 3f 91 pop r19
19d2: 2f 91 pop r18
19d4: 1f 91 pop r17
19d6: 0f 91 pop r16
19d8: ff 90 pop r15
19da: ef 90 pop r14
19dc: 0f 90 pop r0
19de: 0f be out 0x3f, r0 ; 63
19e0: 0f 90 pop r0
19e2: 1f 90 pop r1
19e4: 18 95 reti
 
000019e6 <Timer_Init>:
19e6: 80 91 a6 01 lds r24, 0x01A6
19ea: 90 91 a7 01 lds r25, 0x01A7
19ee: 0b 96 adiw r24, 0x0b ; 11
19f0: 90 93 b1 01 sts 0x01B1, r25
19f4: 80 93 b0 01 sts 0x01B0, r24
19f8: 82 e0 ldi r24, 0x02 ; 2
19fa: 85 bd out 0x25, r24 ; 37
19fc: 83 ea ldi r24, 0xA3 ; 163
19fe: 84 bd out 0x24, r24 ; 36
1a00: 17 bc out 0x27, r1 ; 39
1a02: 88 e7 ldi r24, 0x78 ; 120
1a04: 88 bd out 0x28, r24 ; 40
1a06: 96 e0 ldi r25, 0x06 ; 6
1a08: 96 bd out 0x26, r25 ; 38
1a0a: 83 ec ldi r24, 0xC3 ; 195
1a0c: 80 93 b0 00 sts 0x00B0, r24
1a10: 90 93 b1 00 sts 0x00B1, r25
1a14: e0 e7 ldi r30, 0x70 ; 112
1a16: f0 e0 ldi r31, 0x00 ; 0
1a18: 80 81 ld r24, Z
1a1a: 82 60 ori r24, 0x02 ; 2
1a1c: 80 83 st Z, r24
1a1e: ee e6 ldi r30, 0x6E ; 110
1a20: f0 e0 ldi r31, 0x00 ; 0
1a22: 80 81 ld r24, Z
1a24: 81 60 ori r24, 0x01 ; 1
1a26: 80 83 st Z, r24
1a28: 8a e0 ldi r24, 0x0A ; 10
1a2a: 80 93 b3 00 sts 0x00B3, r24
1a2e: 10 92 b2 00 sts 0x00B2, r1
1a32: 08 95 ret
 
00001a34 <Delay_ms>:
1a34: 20 91 a6 01 lds r18, 0x01A6
1a38: 30 91 a7 01 lds r19, 0x01A7
1a3c: 2f 5f subi r18, 0xFF ; 255
1a3e: 3f 4f sbci r19, 0xFF ; 255
1a40: 28 0f add r18, r24
1a42: 39 1f adc r19, r25
1a44: 80 91 a6 01 lds r24, 0x01A6
1a48: 90 91 a7 01 lds r25, 0x01A7
1a4c: a9 01 movw r20, r18
1a4e: 48 1b sub r20, r24
1a50: 59 0b sbc r21, r25
1a52: 57 ff sbrs r21, 7
1a54: f7 cf rjmp .-18 ; 0x1a44 <Delay_ms+0x10>
1a56: 08 95 ret
 
00001a58 <ADC_Init>:
1a58: 10 92 7c 00 sts 0x007C, r1
1a5c: 8f ee ldi r24, 0xEF ; 239
1a5e: 80 93 7a 00 sts 0x007A, r24
1a62: 08 95 ret
 
00001a64 <__vector_24>:
1a64: 1f 92 push r1
1a66: 0f 92 push r0
1a68: 0f b6 in r0, 0x3f ; 63
1a6a: 0f 92 push r0
1a6c: 11 24 eor r1, r1
1a6e: ef 92 push r14
1a70: ff 92 push r15
1a72: 0f 93 push r16
1a74: 1f 93 push r17
1a76: 2f 93 push r18
1a78: 3f 93 push r19
1a7a: 4f 93 push r20
1a7c: 5f 93 push r21
1a7e: 6f 93 push r22
1a80: 7f 93 push r23
1a82: 8f 93 push r24
1a84: 9f 93 push r25
1a86: af 93 push r26
1a88: bf 93 push r27
1a8a: cf 93 push r28
1a8c: df 93 push r29
1a8e: ef 93 push r30
1a90: ff 93 push r31
1a92: 10 92 7a 00 sts 0x007A, r1
1a96: 40 91 c8 01 lds r20, 0x01C8
1a9a: 4f 5f subi r20, 0xFF ; 255
1a9c: 40 93 c8 01 sts 0x01C8, r20
1aa0: 41 50 subi r20, 0x01 ; 1
1aa2: 43 30 cpi r20, 0x03 ; 3
1aa4: 09 f4 brne .+2 ; 0x1aa8 <__vector_24+0x44>
1aa6: 1c c1 rjmp .+568 ; 0x1ce0 <__vector_24+0x27c>
1aa8: 44 30 cpi r20, 0x04 ; 4
1aaa: 38 f4 brcc .+14 ; 0x1aba <__vector_24+0x56>
1aac: 41 30 cpi r20, 0x01 ; 1
1aae: 09 f4 brne .+2 ; 0x1ab2 <__vector_24+0x4e>
1ab0: 63 c0 rjmp .+198 ; 0x1b78 <__vector_24+0x114>
1ab2: 42 30 cpi r20, 0x02 ; 2
1ab4: 08 f0 brcs .+2 ; 0x1ab8 <__vector_24+0x54>
1ab6: b9 c0 rjmp .+370 ; 0x1c2a <__vector_24+0x1c6>
1ab8: 0d c0 rjmp .+26 ; 0x1ad4 <__vector_24+0x70>
1aba: 45 30 cpi r20, 0x05 ; 5
1abc: 09 f4 brne .+2 ; 0x1ac0 <__vector_24+0x5c>
1abe: 50 c1 rjmp .+672 ; 0x1d60 <__vector_24+0x2fc>
1ac0: 45 30 cpi r20, 0x05 ; 5
1ac2: 08 f4 brcc .+2 ; 0x1ac6 <__vector_24+0x62>
1ac4: 2a c1 rjmp .+596 ; 0x1d1a <__vector_24+0x2b6>
1ac6: 46 30 cpi r20, 0x06 ; 6
1ac8: 09 f4 brne .+2 ; 0x1acc <__vector_24+0x68>
1aca: 6f c1 rjmp .+734 ; 0x1daa <__vector_24+0x346>
1acc: 47 30 cpi r20, 0x07 ; 7
1ace: 09 f0 breq .+2 ; 0x1ad2 <__vector_24+0x6e>
1ad0: cb c2 rjmp .+1430 ; 0x2068 <__vector_24+0x604>
1ad2: 52 c2 rjmp .+1188 ; 0x1f78 <__vector_24+0x514>
1ad4: 20 91 db 01 lds r18, 0x01DB
1ad8: 30 91 dc 01 lds r19, 0x01DC
1adc: 80 91 78 00 lds r24, 0x0078
1ae0: 90 91 79 00 lds r25, 0x0079
1ae4: 28 1b sub r18, r24
1ae6: 39 0b sbc r19, r25
1ae8: 80 91 b6 01 lds r24, 0x01B6
1aec: 90 91 b7 01 lds r25, 0x01B7
1af0: 82 0f add r24, r18
1af2: 93 1f adc r25, r19
1af4: 90 93 b7 01 sts 0x01B7, r25
1af8: 80 93 b6 01 sts 0x01B6, r24
1afc: 80 91 c0 01 lds r24, 0x01C0
1b00: 8f 5f subi r24, 0xFF ; 255
1b02: 80 93 c0 01 sts 0x01C0, r24
1b06: 80 91 0b 02 lds r24, 0x020B
1b0a: 90 91 0c 02 lds r25, 0x020C
1b0e: a0 91 0d 02 lds r26, 0x020D
1b12: b0 91 0e 02 lds r27, 0x020E
1b16: 44 27 eor r20, r20
1b18: 37 fd sbrc r19, 7
1b1a: 40 95 com r20
1b1c: 54 2f mov r21, r20
1b1e: 82 0f add r24, r18
1b20: 93 1f adc r25, r19
1b22: a4 1f adc r26, r20
1b24: b5 1f adc r27, r21
1b26: 80 93 0b 02 sts 0x020B, r24
1b2a: 90 93 0c 02 sts 0x020C, r25
1b2e: a0 93 0d 02 sts 0x020D, r26
1b32: b0 93 0e 02 sts 0x020E, r27
1b36: 80 91 0f 02 lds r24, 0x020F
1b3a: 90 91 10 02 lds r25, 0x0210
1b3e: a0 91 11 02 lds r26, 0x0211
1b42: b0 91 12 02 lds r27, 0x0212
1b46: 82 0f add r24, r18
1b48: 93 1f adc r25, r19
1b4a: a4 1f adc r26, r20
1b4c: b5 1f adc r27, r21
1b4e: 80 93 0f 02 sts 0x020F, r24
1b52: 90 93 10 02 sts 0x0210, r25
1b56: a0 93 11 02 sts 0x0211, r26
1b5a: b0 93 12 02 sts 0x0212, r27
1b5e: 81 e0 ldi r24, 0x01 ; 1
1b60: 80 93 c9 01 sts 0x01C9, r24
1b64: 80 91 c6 01 lds r24, 0x01C6
1b68: 90 91 c7 01 lds r25, 0x01C7
1b6c: 01 96 adiw r24, 0x01 ; 1
1b6e: 90 93 c7 01 sts 0x01C7, r25
1b72: 80 93 c6 01 sts 0x01C6, r24
1b76: 7c c2 rjmp .+1272 ; 0x2070 <__vector_24+0x60c>
1b78: 60 91 78 00 lds r22, 0x0078
1b7c: 70 91 79 00 lds r23, 0x0079
1b80: 80 91 d9 01 lds r24, 0x01D9
1b84: 90 91 da 01 lds r25, 0x01DA
1b88: 68 1b sub r22, r24
1b8a: 79 0b sbc r23, r25
1b8c: 80 91 03 02 lds r24, 0x0203
1b90: 90 91 04 02 lds r25, 0x0204
1b94: a0 91 05 02 lds r26, 0x0205
1b98: b0 91 06 02 lds r27, 0x0206
1b9c: 9b 01 movw r18, r22
1b9e: 44 27 eor r20, r20
1ba0: 37 fd sbrc r19, 7
1ba2: 40 95 com r20
1ba4: 54 2f mov r21, r20
1ba6: 82 0f add r24, r18
1ba8: 93 1f adc r25, r19
1baa: a4 1f adc r26, r20
1bac: b5 1f adc r27, r21
1bae: 80 93 03 02 sts 0x0203, r24
1bb2: 90 93 04 02 sts 0x0204, r25
1bb6: a0 93 05 02 sts 0x0205, r26
1bba: b0 93 06 02 sts 0x0206, r27
1bbe: 80 91 07 02 lds r24, 0x0207
1bc2: 90 91 08 02 lds r25, 0x0208
1bc6: a0 91 09 02 lds r26, 0x0209
1bca: b0 91 0a 02 lds r27, 0x020A
1bce: 82 0f add r24, r18
1bd0: 93 1f adc r25, r19
1bd2: a4 1f adc r26, r20
1bd4: b5 1f adc r27, r21
1bd6: 80 93 07 02 sts 0x0207, r24
1bda: 90 93 08 02 sts 0x0208, r25
1bde: a0 93 09 02 sts 0x0209, r26
1be2: b0 93 0a 02 sts 0x020A, r27
1be6: 80 91 78 00 lds r24, 0x0078
1bea: 90 91 79 00 lds r25, 0x0079
1bee: 0a 97 sbiw r24, 0x0a ; 10
1bf0: 10 f4 brcc .+4 ; 0x1bf6 <__vector_24+0x192>
1bf2: 64 e4 ldi r22, 0x44 ; 68
1bf4: 7d ef ldi r23, 0xFD ; 253
1bf6: 80 91 78 00 lds r24, 0x0078
1bfa: 90 91 79 00 lds r25, 0x0079
1bfe: 89 5e subi r24, 0xE9 ; 233
1c00: 93 40 sbci r25, 0x03 ; 3
1c02: 10 f0 brcs .+4 ; 0x1c08 <__vector_24+0x1a4>
1c04: 6c eb ldi r22, 0xBC ; 188
1c06: 72 e0 ldi r23, 0x02 ; 2
1c08: 80 91 b4 01 lds r24, 0x01B4
1c0c: 90 91 b5 01 lds r25, 0x01B5
1c10: 86 0f add r24, r22
1c12: 97 1f adc r25, r23
1c14: 90 93 b5 01 sts 0x01B5, r25
1c18: 80 93 b4 01 sts 0x01B4, r24
1c1c: 80 91 bf 01 lds r24, 0x01BF
1c20: 8f 5f subi r24, 0xFF ; 255
1c22: 80 93 bf 01 sts 0x01BF, r24
1c26: 82 e0 ldi r24, 0x02 ; 2
1c28: 58 c0 rjmp .+176 ; 0x1cda <__vector_24+0x276>
1c2a: 60 91 78 00 lds r22, 0x0078
1c2e: 70 91 79 00 lds r23, 0x0079
1c32: 80 91 d7 01 lds r24, 0x01D7
1c36: 90 91 d8 01 lds r25, 0x01D8
1c3a: 68 1b sub r22, r24
1c3c: 79 0b sbc r23, r25
1c3e: 80 91 fb 01 lds r24, 0x01FB
1c42: 90 91 fc 01 lds r25, 0x01FC
1c46: a0 91 fd 01 lds r26, 0x01FD
1c4a: b0 91 fe 01 lds r27, 0x01FE
1c4e: 9b 01 movw r18, r22
1c50: 44 27 eor r20, r20
1c52: 37 fd sbrc r19, 7
1c54: 40 95 com r20
1c56: 54 2f mov r21, r20
1c58: 82 0f add r24, r18
1c5a: 93 1f adc r25, r19
1c5c: a4 1f adc r26, r20
1c5e: b5 1f adc r27, r21
1c60: 80 93 fb 01 sts 0x01FB, r24
1c64: 90 93 fc 01 sts 0x01FC, r25
1c68: a0 93 fd 01 sts 0x01FD, r26
1c6c: b0 93 fe 01 sts 0x01FE, r27
1c70: 80 91 ff 01 lds r24, 0x01FF
1c74: 90 91 00 02 lds r25, 0x0200
1c78: a0 91 01 02 lds r26, 0x0201
1c7c: b0 91 02 02 lds r27, 0x0202
1c80: 82 0f add r24, r18
1c82: 93 1f adc r25, r19
1c84: a4 1f adc r26, r20
1c86: b5 1f adc r27, r21
1c88: 80 93 ff 01 sts 0x01FF, r24
1c8c: 90 93 00 02 sts 0x0200, r25
1c90: a0 93 01 02 sts 0x0201, r26
1c94: b0 93 02 02 sts 0x0202, r27
1c98: 80 91 78 00 lds r24, 0x0078
1c9c: 90 91 79 00 lds r25, 0x0079
1ca0: 0a 97 sbiw r24, 0x0a ; 10
1ca2: 10 f4 brcc .+4 ; 0x1ca8 <__vector_24+0x244>
1ca4: 64 e4 ldi r22, 0x44 ; 68
1ca6: 7d ef ldi r23, 0xFD ; 253
1ca8: 80 91 78 00 lds r24, 0x0078
1cac: 90 91 79 00 lds r25, 0x0079
1cb0: 89 5e subi r24, 0xE9 ; 233
1cb2: 93 40 sbci r25, 0x03 ; 3
1cb4: 10 f0 brcs .+4 ; 0x1cba <__vector_24+0x256>
1cb6: 6c eb ldi r22, 0xBC ; 188
1cb8: 72 e0 ldi r23, 0x02 ; 2
1cba: 80 91 b2 01 lds r24, 0x01B2
1cbe: 90 91 b3 01 lds r25, 0x01B3
1cc2: 86 0f add r24, r22
1cc4: 97 1f adc r25, r23
1cc6: 90 93 b3 01 sts 0x01B3, r25
1cca: 80 93 b2 01 sts 0x01B2, r24
1cce: 80 91 be 01 lds r24, 0x01BE
1cd2: 8f 5f subi r24, 0xFF ; 255
1cd4: 80 93 be 01 sts 0x01BE, r24
1cd8: 84 e0 ldi r24, 0x04 ; 4
1cda: 80 93 c9 01 sts 0x01C9, r24
1cde: c8 c1 rjmp .+912 ; 0x2070 <__vector_24+0x60c>
1ce0: 40 91 04 01 lds r20, 0x0104
1ce4: 50 91 05 01 lds r21, 0x0105
1ce8: 80 91 78 00 lds r24, 0x0078
1cec: 90 91 79 00 lds r25, 0x0079
1cf0: 9a 01 movw r18, r20
1cf2: 22 0f add r18, r18
1cf4: 33 1f adc r19, r19
1cf6: 24 0f add r18, r20
1cf8: 35 1f adc r19, r21
1cfa: 63 e0 ldi r22, 0x03 ; 3
1cfc: 70 e0 ldi r23, 0x00 ; 0
1cfe: 0e 94 fd 2d call 0x5bfa ; 0x5bfa <__udivmodhi4>
1d02: 26 0f add r18, r22
1d04: 37 1f adc r19, r23
1d06: 36 95 lsr r19
1d08: 27 95 ror r18
1d0a: 36 95 lsr r19
1d0c: 27 95 ror r18
1d0e: 30 93 05 01 sts 0x0105, r19
1d12: 20 93 04 01 sts 0x0104, r18
1d16: 86 e0 ldi r24, 0x06 ; 6
1d18: e0 cf rjmp .-64 ; 0x1cda <__vector_24+0x276>
1d1a: 80 91 df 01 lds r24, 0x01DF
1d1e: 90 91 e0 01 lds r25, 0x01E0
1d22: 20 91 78 00 lds r18, 0x0078
1d26: 30 91 79 00 lds r19, 0x0079
1d2a: 82 1b sub r24, r18
1d2c: 93 0b sbc r25, r19
1d2e: 90 93 59 05 sts 0x0559, r25
1d32: 80 93 58 05 sts 0x0558, r24
1d36: 80 91 b8 01 lds r24, 0x01B8
1d3a: 90 91 b9 01 lds r25, 0x01B9
1d3e: 20 91 58 05 lds r18, 0x0558
1d42: 30 91 59 05 lds r19, 0x0559
1d46: 82 0f add r24, r18
1d48: 93 1f adc r25, r19
1d4a: 90 93 b9 01 sts 0x01B9, r25
1d4e: 80 93 b8 01 sts 0x01B8, r24
1d52: 80 91 c2 01 lds r24, 0x01C2
1d56: 8f 5f subi r24, 0xFF ; 255
1d58: 80 93 c2 01 sts 0x01C2, r24
1d5c: 87 e0 ldi r24, 0x07 ; 7
1d5e: bd cf rjmp .-134 ; 0x1cda <__vector_24+0x276>
1d60: 80 91 78 00 lds r24, 0x0078
1d64: 90 91 79 00 lds r25, 0x0079
1d68: 20 91 dd 01 lds r18, 0x01DD
1d6c: 30 91 de 01 lds r19, 0x01DE
1d70: 82 1b sub r24, r18
1d72: 93 0b sbc r25, r19
1d74: 90 93 59 05 sts 0x0559, r25
1d78: 80 93 58 05 sts 0x0558, r24
1d7c: 80 91 ba 01 lds r24, 0x01BA
1d80: 90 91 bb 01 lds r25, 0x01BB
1d84: 20 91 58 05 lds r18, 0x0558
1d88: 30 91 59 05 lds r19, 0x0559
1d8c: 82 0f add r24, r18
1d8e: 93 1f adc r25, r19
1d90: 90 93 bb 01 sts 0x01BB, r25
1d94: 80 93 ba 01 sts 0x01BA, r24
1d98: 80 91 c1 01 lds r24, 0x01C1
1d9c: 8f 5f subi r24, 0xFF ; 255
1d9e: 80 93 c1 01 sts 0x01C1, r24
1da2: 40 93 c9 01 sts 0x01C9, r20
1da6: 86 e0 ldi r24, 0x06 ; 6
1da8: e4 c0 rjmp .+456 ; 0x1f72 <__vector_24+0x50e>
1daa: 60 91 78 00 lds r22, 0x0078
1dae: 70 91 79 00 lds r23, 0x0079
1db2: e0 90 e1 01 lds r14, 0x01E1
1db6: f0 90 e2 01 lds r15, 0x01E2
1dba: 00 91 e3 01 lds r16, 0x01E3
1dbe: 10 91 e4 01 lds r17, 0x01E4
1dc2: 88 27 eor r24, r24
1dc4: 77 fd sbrc r23, 7
1dc6: 80 95 com r24
1dc8: 98 2f mov r25, r24
1dca: 0e 94 6c 2c call 0x58d8 ; 0x58d8 <__floatsisf>
1dce: a8 01 movw r20, r16
1dd0: 97 01 movw r18, r14
1dd2: 0e 94 c0 2b call 0x5780 ; 0x5780 <__subsf3>
1dd6: 0e 94 4f 2c call 0x589e ; 0x589e <__fixsfsi>
1dda: 70 93 bd 01 sts 0x01BD, r23
1dde: 60 93 bc 01 sts 0x01BC, r22
1de2: 20 91 bc 01 lds r18, 0x01BC
1de6: 30 91 bd 01 lds r19, 0x01BD
1dea: e0 91 58 05 lds r30, 0x0558
1dee: f0 91 59 05 lds r31, 0x0559
1df2: 80 91 63 05 lds r24, 0x0563
1df6: 90 91 64 05 lds r25, 0x0564
1dfa: 97 ff sbrs r25, 7
1dfc: 03 c0 rjmp .+6 ; 0x1e04 <__vector_24+0x3a0>
1dfe: 90 95 com r25
1e00: 81 95 neg r24
1e02: 9f 4f sbci r25, 0xFF ; 255
1e04: 64 e0 ldi r22, 0x04 ; 4
1e06: 70 e0 ldi r23, 0x00 ; 0
1e08: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
1e0c: eb 01 movw r28, r22
1e0e: cf 01 movw r24, r30
1e10: f7 ff sbrs r31, 7
1e12: 03 c0 rjmp .+6 ; 0x1e1a <__vector_24+0x3b6>
1e14: 90 95 com r25
1e16: 81 95 neg r24
1e18: 9f 4f sbci r25, 0xFF ; 255
1e1a: 64 e0 ldi r22, 0x04 ; 4
1e1c: 70 e0 ldi r23, 0x00 ; 0
1e1e: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
1e22: 26 0f add r18, r22
1e24: 37 1f adc r19, r23
1e26: 2c 0f add r18, r28
1e28: 3d 1f adc r19, r29
1e2a: 30 93 bd 01 sts 0x01BD, r19
1e2e: 20 93 bc 01 sts 0x01BC, r18
1e32: 80 91 bc 01 lds r24, 0x01BC
1e36: 90 91 bd 01 lds r25, 0x01BD
1e3a: 02 97 sbiw r24, 0x02 ; 2
1e3c: 04 f1 brlt .+64 ; 0x1e7e <__vector_24+0x41a>
1e3e: 60 91 e1 01 lds r22, 0x01E1
1e42: 70 91 e2 01 lds r23, 0x01E2
1e46: 80 91 e3 01 lds r24, 0x01E3
1e4a: 90 91 e4 01 lds r25, 0x01E4
1e4e: 20 e0 ldi r18, 0x00 ; 0
1e50: 30 e0 ldi r19, 0x00 ; 0
1e52: 48 e4 ldi r20, 0x48 ; 72
1e54: 54 e4 ldi r21, 0x44 ; 68
1e56: 0e 94 89 2c call 0x5912 ; 0x5912 <__eqsf2>
1e5a: 88 23 and r24, r24
1e5c: 0c f0 brlt .+2 ; 0x1e60 <__vector_24+0x3fc>
1e5e: 3c c0 rjmp .+120 ; 0x1ed8 <__vector_24+0x474>
1e60: 60 91 e1 01 lds r22, 0x01E1
1e64: 70 91 e2 01 lds r23, 0x01E2
1e68: 80 91 e3 01 lds r24, 0x01E3
1e6c: 90 91 e4 01 lds r25, 0x01E4
1e70: 2a e0 ldi r18, 0x0A ; 10
1e72: 37 ed ldi r19, 0xD7 ; 215
1e74: 43 ea ldi r20, 0xA3 ; 163
1e76: 5c e3 ldi r21, 0x3C ; 60
1e78: 0e 94 c1 2b call 0x5782 ; 0x5782 <__addsf3>
1e7c: 25 c0 rjmp .+74 ; 0x1ec8 <__vector_24+0x464>
1e7e: 80 91 bc 01 lds r24, 0x01BC
1e82: 90 91 bd 01 lds r25, 0x01BD
1e86: 8f 5f subi r24, 0xFF ; 255
1e88: 9f 4f sbci r25, 0xFF ; 255
1e8a: 34 f5 brge .+76 ; 0x1ed8 <__vector_24+0x474>
1e8c: 60 91 e1 01 lds r22, 0x01E1
1e90: 70 91 e2 01 lds r23, 0x01E2
1e94: 80 91 e3 01 lds r24, 0x01E3
1e98: 90 91 e4 01 lds r25, 0x01E4
1e9c: 20 e0 ldi r18, 0x00 ; 0
1e9e: 30 e0 ldi r19, 0x00 ; 0
1ea0: 46 e1 ldi r20, 0x16 ; 22
1ea2: 54 e4 ldi r21, 0x44 ; 68
1ea4: 0e 94 8c 2c call 0x5918 ; 0x5918 <__gesf2>
1ea8: 18 16 cp r1, r24
1eaa: b4 f4 brge .+44 ; 0x1ed8 <__vector_24+0x474>
1eac: 60 91 e1 01 lds r22, 0x01E1
1eb0: 70 91 e2 01 lds r23, 0x01E2
1eb4: 80 91 e3 01 lds r24, 0x01E3
1eb8: 90 91 e4 01 lds r25, 0x01E4
1ebc: 2a e0 ldi r18, 0x0A ; 10
1ebe: 37 ed ldi r19, 0xD7 ; 215
1ec0: 43 ea ldi r20, 0xA3 ; 163
1ec2: 5c e3 ldi r21, 0x3C ; 60
1ec4: 0e 94 c0 2b call 0x5780 ; 0x5780 <__subsf3>
1ec8: 60 93 e1 01 sts 0x01E1, r22
1ecc: 70 93 e2 01 sts 0x01E2, r23
1ed0: 80 93 e3 01 sts 0x01E3, r24
1ed4: 90 93 e4 01 sts 0x01E4, r25
1ed8: 81 e0 ldi r24, 0x01 ; 1
1eda: 80 93 c3 01 sts 0x01C3, r24
1ede: 80 91 78 00 lds r24, 0x0078
1ee2: 90 91 79 00 lds r25, 0x0079
1ee6: 90 93 5b 05 sts 0x055B, r25
1eea: 80 93 5a 05 sts 0x055A, r24
1eee: 20 91 13 02 lds r18, 0x0213
1ef2: 30 91 14 02 lds r19, 0x0214
1ef6: 40 91 15 02 lds r20, 0x0215
1efa: 50 91 16 02 lds r21, 0x0216
1efe: 80 91 bc 01 lds r24, 0x01BC
1f02: 90 91 bd 01 lds r25, 0x01BD
1f06: aa 27 eor r26, r26
1f08: 97 fd sbrc r25, 7
1f0a: a0 95 com r26
1f0c: ba 2f mov r27, r26
1f0e: 28 0f add r18, r24
1f10: 39 1f adc r19, r25
1f12: 4a 1f adc r20, r26
1f14: 5b 1f adc r21, r27
1f16: 20 93 13 02 sts 0x0213, r18
1f1a: 30 93 14 02 sts 0x0214, r19
1f1e: 40 93 15 02 sts 0x0215, r20
1f22: 50 93 16 02 sts 0x0216, r21
1f26: e0 90 13 02 lds r14, 0x0213
1f2a: f0 90 14 02 lds r15, 0x0214
1f2e: 00 91 15 02 lds r16, 0x0215
1f32: 10 91 16 02 lds r17, 0x0216
1f36: 60 91 13 02 lds r22, 0x0213
1f3a: 70 91 14 02 lds r23, 0x0214
1f3e: 80 91 15 02 lds r24, 0x0215
1f42: 90 91 16 02 lds r25, 0x0216
1f46: 20 e0 ldi r18, 0x00 ; 0
1f48: 34 e0 ldi r19, 0x04 ; 4
1f4a: 40 e0 ldi r20, 0x00 ; 0
1f4c: 50 e0 ldi r21, 0x00 ; 0
1f4e: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
1f52: e2 1a sub r14, r18
1f54: f3 0a sbc r15, r19
1f56: 04 0b sbc r16, r20
1f58: 15 0b sbc r17, r21
1f5a: e0 92 13 02 sts 0x0213, r14
1f5e: f0 92 14 02 sts 0x0214, r15
1f62: 00 93 15 02 sts 0x0215, r16
1f66: 10 93 16 02 sts 0x0216, r17
1f6a: 83 e0 ldi r24, 0x03 ; 3
1f6c: 80 93 c9 01 sts 0x01C9, r24
1f70: 87 e0 ldi r24, 0x07 ; 7
1f72: 80 93 c8 01 sts 0x01C8, r24
1f76: 7c c0 rjmp .+248 ; 0x2070 <__vector_24+0x60c>
1f78: 80 91 68 05 lds r24, 0x0568
1f7c: 90 91 69 05 lds r25, 0x0569
1f80: 20 91 78 00 lds r18, 0x0078
1f84: 30 91 79 00 lds r19, 0x0079
1f88: 82 0f add r24, r18
1f8a: 93 1f adc r25, r19
1f8c: 90 93 69 05 sts 0x0569, r25
1f90: 80 93 68 05 sts 0x0568, r24
1f94: 80 91 60 05 lds r24, 0x0560
1f98: 8f 5f subi r24, 0xFF ; 255
1f9a: 80 93 60 05 sts 0x0560, r24
1f9e: 80 91 60 05 lds r24, 0x0560
1fa2: 85 30 cpi r24, 0x05 ; 5
1fa4: 08 f4 brcc .+2 ; 0x1fa8 <__vector_24+0x544>
1fa6: 60 c0 rjmp .+192 ; 0x2068 <__vector_24+0x604>
1fa8: 80 91 78 00 lds r24, 0x0078
1fac: 90 91 79 00 lds r25, 0x0079
1fb0: 90 93 0b 01 sts 0x010B, r25
1fb4: 80 93 0a 01 sts 0x010A, r24
1fb8: 10 92 60 05 sts 0x0560, r1
1fbc: 80 91 5c 05 lds r24, 0x055C
1fc0: 90 91 5d 05 lds r25, 0x055D
1fc4: 20 91 68 05 lds r18, 0x0568
1fc8: 30 91 69 05 lds r19, 0x0569
1fcc: 82 1b sub r24, r18
1fce: 93 0b sbc r25, r19
1fd0: 20 91 2f 02 lds r18, 0x022F
1fd4: 30 91 30 02 lds r19, 0x0230
1fd8: 82 1b sub r24, r18
1fda: 93 0b sbc r25, r19
1fdc: 90 93 c5 01 sts 0x01C5, r25
1fe0: 80 93 c4 01 sts 0x01C4, r24
1fe4: 60 91 68 05 lds r22, 0x0568
1fe8: 70 91 69 05 lds r23, 0x0569
1fec: e0 90 06 01 lds r14, 0x0106
1ff0: f0 90 07 01 lds r15, 0x0107
1ff4: 00 91 08 01 lds r16, 0x0108
1ff8: 10 91 09 01 lds r17, 0x0109
1ffc: 88 27 eor r24, r24
1ffe: 77 fd sbrc r23, 7
2000: 80 95 com r24
2002: 98 2f mov r25, r24
2004: a8 01 movw r20, r16
2006: 97 01 movw r18, r14
2008: 22 0f add r18, r18
200a: 33 1f adc r19, r19
200c: 44 1f adc r20, r20
200e: 55 1f adc r21, r21
2010: 2e 0d add r18, r14
2012: 3f 1d adc r19, r15
2014: 40 1f adc r20, r16
2016: 51 1f adc r21, r17
2018: 62 0f add r22, r18
201a: 73 1f adc r23, r19
201c: 84 1f adc r24, r20
201e: 95 1f adc r25, r21
2020: 24 e0 ldi r18, 0x04 ; 4
2022: 30 e0 ldi r19, 0x00 ; 0
2024: 40 e0 ldi r20, 0x00 ; 0
2026: 50 e0 ldi r21, 0x00 ; 0
2028: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
202c: 20 93 06 01 sts 0x0106, r18
2030: 30 93 07 01 sts 0x0107, r19
2034: 40 93 08 01 sts 0x0108, r20
2038: 50 93 09 01 sts 0x0109, r21
203c: 20 91 5c 05 lds r18, 0x055C
2040: 30 91 5d 05 lds r19, 0x055D
2044: 80 91 06 01 lds r24, 0x0106
2048: 90 91 07 01 lds r25, 0x0107
204c: a0 91 08 01 lds r26, 0x0108
2050: b0 91 09 01 lds r27, 0x0109
2054: 28 1b sub r18, r24
2056: 39 0b sbc r19, r25
2058: 30 93 30 02 sts 0x0230, r19
205c: 20 93 2f 02 sts 0x022F, r18
2060: 10 92 69 05 sts 0x0569, r1
2064: 10 92 68 05 sts 0x0568, r1
2068: 10 92 c9 01 sts 0x01C9, r1
206c: 10 92 c8 01 sts 0x01C8, r1
2070: 80 91 c9 01 lds r24, 0x01C9
2074: 80 93 7c 00 sts 0x007C, r24
2078: 8f ee ldi r24, 0xEF ; 239
207a: 80 93 7a 00 sts 0x007A, r24
207e: ff 91 pop r31
2080: ef 91 pop r30
2082: df 91 pop r29
2084: cf 91 pop r28
2086: bf 91 pop r27
2088: af 91 pop r26
208a: 9f 91 pop r25
208c: 8f 91 pop r24
208e: 7f 91 pop r23
2090: 6f 91 pop r22
2092: 5f 91 pop r21
2094: 4f 91 pop r20
2096: 3f 91 pop r19
2098: 2f 91 pop r18
209a: 1f 91 pop r17
209c: 0f 91 pop r16
209e: ff 90 pop r15
20a0: ef 90 pop r14
20a2: 0f 90 pop r0
20a4: 0f be out 0x3f, r0 ; 63
20a6: 0f 90 pop r0
20a8: 1f 90 pop r1
20aa: 18 95 reti
 
000020ac <SucheLuftruckOffset>:
20ac: cf 93 push r28
20ae: df 93 push r29
20b0: c0 e0 ldi r28, 0x00 ; 0
20b2: d0 e0 ldi r29, 0x00 ; 0
20b4: c7 bd out 0x27, r28 ; 39
20b6: 82 e3 ldi r24, 0x32 ; 50
20b8: 90 e0 ldi r25, 0x00 ; 0
20ba: 0e 94 1a 0d call 0x1a34 ; 0x1a34 <Delay_ms>
20be: 81 e6 ldi r24, 0x61 ; 97
20c0: 91 e0 ldi r25, 0x01 ; 1
20c2: 9f 93 push r25
20c4: 8f 93 push r24
20c6: 1f 92 push r1
20c8: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
20cc: 80 91 0a 01 lds r24, 0x010A
20d0: 90 91 0b 01 lds r25, 0x010B
20d4: 0f 90 pop r0
20d6: 0f 90 pop r0
20d8: 0f 90 pop r0
20da: 84 58 subi r24, 0x84 ; 132
20dc: 93 40 sbci r25, 0x03 ; 3
20de: 20 f0 brcs .+8 ; 0x20e8 <SucheLuftruckOffset+0x3c>
20e0: 21 96 adiw r28, 0x01 ; 1
20e2: ca 3f cpi r28, 0xFA ; 250
20e4: d1 05 cpc r29, r1
20e6: 31 f7 brne .-52 ; 0x20b4 <SucheLuftruckOffset+0x8>
20e8: c0 93 65 05 sts 0x0565, r28
20ec: 88 ec ldi r24, 0xC8 ; 200
20ee: 90 e0 ldi r25, 0x00 ; 0
20f0: 0e 94 1a 0d call 0x1a34 ; 0x1a34 <Delay_ms>
20f4: df 91 pop r29
20f6: cf 91 pop r28
20f8: 08 95 ret
 
000020fa <LcdClear>:
20fa: e6 e1 ldi r30, 0x16 ; 22
20fc: f1 e0 ldi r31, 0x01 ; 1
20fe: 80 e2 ldi r24, 0x20 ; 32
2100: 81 93 st Z+, r24
2102: 91 e0 ldi r25, 0x01 ; 1
2104: e6 36 cpi r30, 0x66 ; 102
2106: f9 07 cpc r31, r25
2108: d9 f7 brne .-10 ; 0x2100 <LcdClear+0x6>
210a: 08 95 ret
 
0000210c <Menu>:
210c: ff 92 push r15
210e: 0f 93 push r16
2110: 1f 93 push r17
2112: 80 91 cd 01 lds r24, 0x01CD
2116: 28 2f mov r18, r24
2118: 33 27 eor r19, r19
211a: c9 01 movw r24, r18
211c: 81 70 andi r24, 0x01 ; 1
211e: 90 70 andi r25, 0x00 ; 0
2120: 68 2f mov r22, r24
2122: 88 23 and r24, r24
2124: 91 f0 breq .+36 ; 0x214a <Menu+0x3e>
2126: 80 91 ce 01 lds r24, 0x01CE
212a: 88 23 and r24, r24
212c: 11 f0 breq .+4 ; 0x2132 <Menu+0x26>
212e: 81 50 subi r24, 0x01 ; 1
2130: 02 c0 rjmp .+4 ; 0x2136 <Menu+0x2a>
2132: 80 91 66 01 lds r24, 0x0166
2136: 80 93 ce 01 sts 0x01CE, r24
213a: e6 e1 ldi r30, 0x16 ; 22
213c: f1 e0 ldi r31, 0x01 ; 1
213e: 80 e2 ldi r24, 0x20 ; 32
2140: 81 93 st Z+, r24
2142: 91 e0 ldi r25, 0x01 ; 1
2144: e6 36 cpi r30, 0x66 ; 102
2146: f9 07 cpc r31, r25
2148: d9 f7 brne .-10 ; 0x2140 <Menu+0x34>
214a: a9 01 movw r20, r18
214c: 42 70 andi r20, 0x02 ; 2
214e: 50 70 andi r21, 0x00 ; 0
2150: 21 ff sbrs r18, 1
2152: 0d c0 rjmp .+26 ; 0x216e <Menu+0x62>
2154: 80 91 ce 01 lds r24, 0x01CE
2158: 8f 5f subi r24, 0xFF ; 255
215a: 80 93 ce 01 sts 0x01CE, r24
215e: e6 e1 ldi r30, 0x16 ; 22
2160: f1 e0 ldi r31, 0x01 ; 1
2162: 80 e2 ldi r24, 0x20 ; 32
2164: 81 93 st Z+, r24
2166: 91 e0 ldi r25, 0x01 ; 1
2168: e6 36 cpi r30, 0x66 ; 102
216a: f9 07 cpc r31, r25
216c: d9 f7 brne .-10 ; 0x2164 <Menu+0x58>
216e: 66 23 and r22, r22
2170: 21 f0 breq .+8 ; 0x217a <Menu+0x6e>
2172: 45 2b or r20, r21
2174: 11 f0 breq .+4 ; 0x217a <Menu+0x6e>
2176: 10 92 ce 01 sts 0x01CE, r1
217a: 81 e1 ldi r24, 0x11 ; 17
217c: 80 93 cc 01 sts 0x01CC, r24
2180: 80 91 ce 01 lds r24, 0x01CE
2184: 99 27 eor r25, r25
2186: 9f 93 push r25
2188: 8f 93 push r24
218a: 82 ed ldi r24, 0xD2 ; 210
218c: 93 e0 ldi r25, 0x03 ; 3
218e: 9f 93 push r25
2190: 8f 93 push r24
2192: e1 e0 ldi r30, 0x01 ; 1
2194: fe 2e mov r15, r30
2196: ff 92 push r15
2198: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
219c: 00 91 ce 01 lds r16, 0x01CE
21a0: 0f 90 pop r0
21a2: 0f 90 pop r0
21a4: 0f 90 pop r0
21a6: 0f 90 pop r0
21a8: 0f 90 pop r0
21aa: 05 30 cpi r16, 0x05 ; 5
21ac: 09 f4 brne .+2 ; 0x21b0 <Menu+0xa4>
21ae: d7 c1 rjmp .+942 ; 0x255e <Menu+0x452>
21b0: 06 30 cpi r16, 0x06 ; 6
21b2: 90 f4 brcc .+36 ; 0x21d8 <Menu+0xcc>
21b4: 02 30 cpi r16, 0x02 ; 2
21b6: 09 f4 brne .+2 ; 0x21ba <Menu+0xae>
21b8: b8 c0 rjmp .+368 ; 0x232a <Menu+0x21e>
21ba: 03 30 cpi r16, 0x03 ; 3
21bc: 30 f4 brcc .+12 ; 0x21ca <Menu+0xbe>
21be: 00 23 and r16, r16
21c0: f1 f0 breq .+60 ; 0x21fe <Menu+0xf2>
21c2: 01 30 cpi r16, 0x01 ; 1
21c4: 09 f0 breq .+2 ; 0x21c8 <Menu+0xbc>
21c6: 5b c3 rjmp .+1718 ; 0x287e <Menu+0x772>
21c8: 4d c0 rjmp .+154 ; 0x2264 <Menu+0x158>
21ca: 03 30 cpi r16, 0x03 ; 3
21cc: 09 f4 brne .+2 ; 0x21d0 <Menu+0xc4>
21ce: 02 c1 rjmp .+516 ; 0x23d4 <Menu+0x2c8>
21d0: 04 30 cpi r16, 0x04 ; 4
21d2: 09 f0 breq .+2 ; 0x21d6 <Menu+0xca>
21d4: 54 c3 rjmp .+1704 ; 0x287e <Menu+0x772>
21d6: 4b c1 rjmp .+662 ; 0x246e <Menu+0x362>
21d8: 08 30 cpi r16, 0x08 ; 8
21da: 09 f4 brne .+2 ; 0x21de <Menu+0xd2>
21dc: 98 c2 rjmp .+1328 ; 0x270e <Menu+0x602>
21de: 09 30 cpi r16, 0x09 ; 9
21e0: 38 f4 brcc .+14 ; 0x21f0 <Menu+0xe4>
21e2: 06 30 cpi r16, 0x06 ; 6
21e4: 09 f4 brne .+2 ; 0x21e8 <Menu+0xdc>
21e6: 11 c2 rjmp .+1058 ; 0x260a <Menu+0x4fe>
21e8: 07 30 cpi r16, 0x07 ; 7
21ea: 09 f0 breq .+2 ; 0x21ee <Menu+0xe2>
21ec: 48 c3 rjmp .+1680 ; 0x287e <Menu+0x772>
21ee: 6c c2 rjmp .+1240 ; 0x26c8 <Menu+0x5bc>
21f0: 09 30 cpi r16, 0x09 ; 9
21f2: 09 f4 brne .+2 ; 0x21f6 <Menu+0xea>
21f4: c9 c2 rjmp .+1426 ; 0x2788 <Menu+0x67c>
21f6: 0a 30 cpi r16, 0x0A ; 10
21f8: 09 f0 breq .+2 ; 0x21fc <Menu+0xf0>
21fa: 41 c3 rjmp .+1666 ; 0x287e <Menu+0x772>
21fc: 03 c3 rjmp .+1542 ; 0x2804 <Menu+0x6f8>
21fe: 10 92 cc 01 sts 0x01CC, r1
2202: 80 ec ldi r24, 0xC0 ; 192
2204: 93 e0 ldi r25, 0x03 ; 3
2206: 9f 93 push r25
2208: 8f 93 push r24
220a: ff 92 push r15
220c: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
2210: 84 e1 ldi r24, 0x14 ; 20
2212: 80 93 cc 01 sts 0x01CC, r24
2216: 8c e3 ldi r24, 0x3C ; 60
2218: 90 e0 ldi r25, 0x00 ; 0
221a: 9f 93 push r25
221c: 8f 93 push r24
221e: 1f 92 push r1
2220: 1f 92 push r1
2222: 89 eb ldi r24, 0xB9 ; 185
2224: 93 e0 ldi r25, 0x03 ; 3
2226: 9f 93 push r25
2228: 8f 93 push r24
222a: ff 92 push r15
222c: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
2230: 88 e2 ldi r24, 0x28 ; 40
2232: 80 93 cc 01 sts 0x01CC, r24
2236: 0e 94 0b 02 call 0x416 ; 0x416 <GetActiveParamSetNumber>
223a: 99 27 eor r25, r25
223c: 9f 93 push r25
223e: 8f 93 push r24
2240: 8c ea ldi r24, 0xAC ; 172
2242: 93 e0 ldi r25, 0x03 ; 3
2244: 9f 93 push r25
2246: 8f 93 push r24
2248: ff 92 push r15
224a: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
224e: 8c e3 ldi r24, 0x3C ; 60
2250: 80 93 cc 01 sts 0x01CC, r24
2254: 8c e9 ldi r24, 0x9C ; 156
2256: 93 e0 ldi r25, 0x03 ; 3
2258: 9f 93 push r25
225a: 8f 93 push r24
225c: ff 92 push r15
225e: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
2262: 8e c2 rjmp .+1308 ; 0x2780 <Menu+0x674>
2264: 80 91 a6 05 lds r24, 0x05A6
2268: 80 ff sbrs r24, 0
226a: 47 c0 rjmp .+142 ; 0x22fa <Menu+0x1ee>
226c: 10 92 cc 01 sts 0x01CC, r1
2270: 80 91 2f 02 lds r24, 0x022F
2274: 90 91 30 02 lds r25, 0x0230
2278: 9f 93 push r25
227a: 8f 93 push r24
227c: 8d e8 ldi r24, 0x8D ; 141
227e: 93 e0 ldi r25, 0x03 ; 3
2280: 9f 93 push r25
2282: 8f 93 push r24
2284: 0f 93 push r16
2286: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
228a: 84 e1 ldi r24, 0x14 ; 20
228c: 80 93 cc 01 sts 0x01CC, r24
2290: 80 91 31 02 lds r24, 0x0231
2294: 90 91 32 02 lds r25, 0x0232
2298: 9f 93 push r25
229a: 8f 93 push r24
229c: 8e e7 ldi r24, 0x7E ; 126
229e: 93 e0 ldi r25, 0x03 ; 3
22a0: 9f 93 push r25
22a2: 8f 93 push r24
22a4: 0f 93 push r16
22a6: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
22aa: 88 e2 ldi r24, 0x28 ; 40
22ac: 80 93 cc 01 sts 0x01CC, r24
22b0: 80 91 0a 01 lds r24, 0x010A
22b4: 90 91 0b 01 lds r25, 0x010B
22b8: 9f 93 push r25
22ba: 8f 93 push r24
22bc: 8f e6 ldi r24, 0x6F ; 111
22be: 93 e0 ldi r25, 0x03 ; 3
22c0: 9f 93 push r25
22c2: 8f 93 push r24
22c4: 0f 93 push r16
22c6: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
22ca: 8c e3 ldi r24, 0x3C ; 60
22cc: 80 93 cc 01 sts 0x01CC, r24
22d0: 80 91 65 05 lds r24, 0x0565
22d4: 99 27 eor r25, r25
22d6: 9f 93 push r25
22d8: 8f 93 push r24
22da: 80 e6 ldi r24, 0x60 ; 96
22dc: 93 e0 ldi r25, 0x03 ; 3
22de: 9f 93 push r25
22e0: 8f 93 push r24
22e2: 0f 93 push r16
22e4: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
22e8: 8d b7 in r24, 0x3d ; 61
22ea: 9e b7 in r25, 0x3e ; 62
22ec: 44 96 adiw r24, 0x14 ; 20
22ee: 0f b6 in r0, 0x3f ; 63
22f0: f8 94 cli
22f2: 9e bf out 0x3e, r25 ; 62
22f4: 0f be out 0x3f, r0 ; 63
22f6: 8d bf out 0x3d, r24 ; 61
22f8: c7 c2 rjmp .+1422 ; 0x2888 <Menu+0x77c>
22fa: 84 e1 ldi r24, 0x14 ; 20
22fc: 80 93 cc 01 sts 0x01CC, r24
2300: 89 e5 ldi r24, 0x59 ; 89
2302: 93 e0 ldi r25, 0x03 ; 3
2304: 9f 93 push r25
2306: 8f 93 push r24
2308: 0f 93 push r16
230a: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
230e: 88 e2 ldi r24, 0x28 ; 40
2310: 80 93 cc 01 sts 0x01CC, r24
2314: 8b e4 ldi r24, 0x4B ; 75
2316: 93 e0 ldi r25, 0x03 ; 3
2318: 9f 93 push r25
231a: 8f 93 push r24
231c: 0f 93 push r16
231e: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
2322: 8d b7 in r24, 0x3d ; 61
2324: 9e b7 in r25, 0x3e ; 62
2326: 06 96 adiw r24, 0x06 ; 6
2328: e2 cf rjmp .-60 ; 0x22ee <Menu+0x1e2>
232a: 10 92 cc 01 sts 0x01CC, r1
232e: 81 e4 ldi r24, 0x41 ; 65
2330: 93 e0 ldi r25, 0x03 ; 3
2332: 9f 93 push r25
2334: 8f 93 push r24
2336: ff 92 push r15
2338: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
233c: 84 e1 ldi r24, 0x14 ; 20
233e: 80 93 cc 01 sts 0x01CC, r24
2342: 60 91 e7 01 lds r22, 0x01E7
2346: 70 91 e8 01 lds r23, 0x01E8
234a: 80 91 e9 01 lds r24, 0x01E9
234e: 90 91 ea 01 lds r25, 0x01EA
2352: 20 e0 ldi r18, 0x00 ; 0
2354: 34 e0 ldi r19, 0x04 ; 4
2356: 40 e0 ldi r20, 0x00 ; 0
2358: 50 e0 ldi r21, 0x00 ; 0
235a: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
235e: 5f 93 push r21
2360: 4f 93 push r20
2362: 3f 93 push r19
2364: 2f 93 push r18
2366: 82 e3 ldi r24, 0x32 ; 50
2368: 93 e0 ldi r25, 0x03 ; 3
236a: 9f 93 push r25
236c: 8f 93 push r24
236e: ff 92 push r15
2370: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
2374: 88 e2 ldi r24, 0x28 ; 40
2376: 80 93 cc 01 sts 0x01CC, r24
237a: 60 91 ef 01 lds r22, 0x01EF
237e: 70 91 f0 01 lds r23, 0x01F0
2382: 80 91 f1 01 lds r24, 0x01F1
2386: 90 91 f2 01 lds r25, 0x01F2
238a: 20 e0 ldi r18, 0x00 ; 0
238c: 34 e0 ldi r19, 0x04 ; 4
238e: 40 e0 ldi r20, 0x00 ; 0
2390: 50 e0 ldi r21, 0x00 ; 0
2392: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
2396: 5f 93 push r21
2398: 4f 93 push r20
239a: 3f 93 push r19
239c: 2f 93 push r18
239e: 83 e2 ldi r24, 0x23 ; 35
23a0: 93 e0 ldi r25, 0x03 ; 3
23a2: 9f 93 push r25
23a4: 8f 93 push r24
23a6: ff 92 push r15
23a8: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
23ac: 8c e3 ldi r24, 0x3C ; 60
23ae: 80 93 cc 01 sts 0x01CC, r24
23b2: 80 91 17 02 lds r24, 0x0217
23b6: 90 91 18 02 lds r25, 0x0218
23ba: 9f 93 push r25
23bc: 8f 93 push r24
23be: 84 e1 ldi r24, 0x14 ; 20
23c0: 93 e0 ldi r25, 0x03 ; 3
23c2: 9f 93 push r25
23c4: 8f 93 push r24
23c6: ff 92 push r15
23c8: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
23cc: 8d b7 in r24, 0x3d ; 61
23ce: 9e b7 in r25, 0x3e ; 62
23d0: 46 96 adiw r24, 0x16 ; 22
23d2: 8d cf rjmp .-230 ; 0x22ee <Menu+0x1e2>
23d4: 10 92 cc 01 sts 0x01CC, r1
23d8: 80 91 76 05 lds r24, 0x0576
23dc: 90 91 77 05 lds r25, 0x0577
23e0: 20 91 74 05 lds r18, 0x0574
23e4: 30 91 75 05 lds r19, 0x0575
23e8: 9f 93 push r25
23ea: 8f 93 push r24
23ec: 3f 93 push r19
23ee: 2f 93 push r18
23f0: 84 e0 ldi r24, 0x04 ; 4
23f2: 93 e0 ldi r25, 0x03 ; 3
23f4: 9f 93 push r25
23f6: 8f 93 push r24
23f8: ff 92 push r15
23fa: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
23fe: 84 e1 ldi r24, 0x14 ; 20
2400: 80 93 cc 01 sts 0x01CC, r24
2404: 80 91 7a 05 lds r24, 0x057A
2408: 90 91 7b 05 lds r25, 0x057B
240c: 20 91 78 05 lds r18, 0x0578
2410: 30 91 79 05 lds r19, 0x0579
2414: 9f 93 push r25
2416: 8f 93 push r24
2418: 3f 93 push r19
241a: 2f 93 push r18
241c: 84 ef ldi r24, 0xF4 ; 244
241e: 92 e0 ldi r25, 0x02 ; 2
2420: 9f 93 push r25
2422: 8f 93 push r24
2424: ff 92 push r15
2426: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
242a: 88 e2 ldi r24, 0x28 ; 40
242c: 80 93 cc 01 sts 0x01CC, r24
2430: 80 91 7e 05 lds r24, 0x057E
2434: 90 91 7f 05 lds r25, 0x057F
2438: 20 91 7c 05 lds r18, 0x057C
243c: 30 91 7d 05 lds r19, 0x057D
2440: 9f 93 push r25
2442: 8f 93 push r24
2444: 3f 93 push r19
2446: 2f 93 push r18
2448: 84 ee ldi r24, 0xE4 ; 228
244a: 92 e0 ldi r25, 0x02 ; 2
244c: 9f 93 push r25
244e: 8f 93 push r24
2450: ff 92 push r15
2452: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
2456: 8c e3 ldi r24, 0x3C ; 60
2458: 80 93 cc 01 sts 0x01CC, r24
245c: 80 91 80 05 lds r24, 0x0580
2460: 90 91 81 05 lds r25, 0x0581
2464: 9f 93 push r25
2466: 8f 93 push r24
2468: 84 ed ldi r24, 0xD4 ; 212
246a: 92 e0 ldi r25, 0x02 ; 2
246c: 6f c0 rjmp .+222 ; 0x254c <Menu+0x440>
246e: 10 92 cc 01 sts 0x01CC, r1
2472: e0 91 9f 05 lds r30, 0x059F
2476: ff 27 eor r31, r31
2478: ee 0f add r30, r30
247a: ff 1f adc r31, r31
247c: ee 58 subi r30, 0x8E ; 142
247e: fa 4f sbci r31, 0xFA ; 250
2480: 20 81 ld r18, Z
2482: 31 81 ldd r19, Z+1 ; 0x01
2484: e0 91 9e 05 lds r30, 0x059E
2488: ff 27 eor r31, r31
248a: ee 0f add r30, r30
248c: ff 1f adc r31, r31
248e: ee 58 subi r30, 0x8E ; 142
2490: fa 4f sbci r31, 0xFA ; 250
2492: 80 81 ld r24, Z
2494: 91 81 ldd r25, Z+1 ; 0x01
2496: 3f 93 push r19
2498: 2f 93 push r18
249a: 9f 93 push r25
249c: 8f 93 push r24
249e: 84 ec ldi r24, 0xC4 ; 196
24a0: 92 e0 ldi r25, 0x02 ; 2
24a2: 9f 93 push r25
24a4: 8f 93 push r24
24a6: ff 92 push r15
24a8: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
24ac: 84 e1 ldi r24, 0x14 ; 20
24ae: 80 93 cc 01 sts 0x01CC, r24
24b2: e0 91 a1 05 lds r30, 0x05A1
24b6: ff 27 eor r31, r31
24b8: ee 0f add r30, r30
24ba: ff 1f adc r31, r31
24bc: ee 58 subi r30, 0x8E ; 142
24be: fa 4f sbci r31, 0xFA ; 250
24c0: 20 81 ld r18, Z
24c2: 31 81 ldd r19, Z+1 ; 0x01
24c4: e0 91 a0 05 lds r30, 0x05A0
24c8: ff 27 eor r31, r31
24ca: ee 0f add r30, r30
24cc: ff 1f adc r31, r31
24ce: ee 58 subi r30, 0x8E ; 142
24d0: fa 4f sbci r31, 0xFA ; 250
24d2: 80 81 ld r24, Z
24d4: 91 81 ldd r25, Z+1 ; 0x01
24d6: 3f 93 push r19
24d8: 2f 93 push r18
24da: 9f 93 push r25
24dc: 8f 93 push r24
24de: 84 eb ldi r24, 0xB4 ; 180
24e0: 92 e0 ldi r25, 0x02 ; 2
24e2: 9f 93 push r25
24e4: 8f 93 push r24
24e6: ff 92 push r15
24e8: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
24ec: 88 e2 ldi r24, 0x28 ; 40
24ee: 80 93 cc 01 sts 0x01CC, r24
24f2: e0 91 a3 05 lds r30, 0x05A3
24f6: ff 27 eor r31, r31
24f8: ee 0f add r30, r30
24fa: ff 1f adc r31, r31
24fc: ee 58 subi r30, 0x8E ; 142
24fe: fa 4f sbci r31, 0xFA ; 250
2500: 20 81 ld r18, Z
2502: 31 81 ldd r19, Z+1 ; 0x01
2504: e0 91 a2 05 lds r30, 0x05A2
2508: ff 27 eor r31, r31
250a: ee 0f add r30, r30
250c: ff 1f adc r31, r31
250e: ee 58 subi r30, 0x8E ; 142
2510: fa 4f sbci r31, 0xFA ; 250
2512: 80 81 ld r24, Z
2514: 91 81 ldd r25, Z+1 ; 0x01
2516: 3f 93 push r19
2518: 2f 93 push r18
251a: 9f 93 push r25
251c: 8f 93 push r24
251e: 84 ea ldi r24, 0xA4 ; 164
2520: 92 e0 ldi r25, 0x02 ; 2
2522: 9f 93 push r25
2524: 8f 93 push r24
2526: ff 92 push r15
2528: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
252c: 8c e3 ldi r24, 0x3C ; 60
252e: 80 93 cc 01 sts 0x01CC, r24
2532: e0 91 a4 05 lds r30, 0x05A4
2536: ff 27 eor r31, r31
2538: ee 0f add r30, r30
253a: ff 1f adc r31, r31
253c: ee 58 subi r30, 0x8E ; 142
253e: fa 4f sbci r31, 0xFA ; 250
2540: 80 81 ld r24, Z
2542: 91 81 ldd r25, Z+1 ; 0x01
2544: 9f 93 push r25
2546: 8f 93 push r24
2548: 84 e9 ldi r24, 0x94 ; 148
254a: 92 e0 ldi r25, 0x02 ; 2
254c: 9f 93 push r25
254e: 8f 93 push r24
2550: ff 92 push r15
2552: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
2556: 8d b7 in r24, 0x3d ; 61
2558: 9e b7 in r25, 0x3e ; 62
255a: 4a 96 adiw r24, 0x1a ; 26
255c: c8 ce rjmp .-624 ; 0x22ee <Menu+0x1e2>
255e: 10 92 cc 01 sts 0x01CC, r1
2562: 86 e8 ldi r24, 0x86 ; 134
2564: 92 e0 ldi r25, 0x02 ; 2
2566: 9f 93 push r25
2568: 8f 93 push r24
256a: ff 92 push r15
256c: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
2570: 84 e1 ldi r24, 0x14 ; 20
2572: 80 93 cc 01 sts 0x01CC, r24
2576: 20 91 d7 01 lds r18, 0x01D7
257a: 30 91 d8 01 lds r19, 0x01D8
257e: 80 91 b2 01 lds r24, 0x01B2
2582: 90 91 b3 01 lds r25, 0x01B3
2586: 60 91 be 01 lds r22, 0x01BE
258a: 3f 93 push r19
258c: 2f 93 push r18
258e: 77 27 eor r23, r23
2590: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
2594: 7f 93 push r23
2596: 6f 93 push r22
2598: 87 e7 ldi r24, 0x77 ; 119
259a: 92 e0 ldi r25, 0x02 ; 2
259c: 9f 93 push r25
259e: 8f 93 push r24
25a0: ff 92 push r15
25a2: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
25a6: 88 e2 ldi r24, 0x28 ; 40
25a8: 80 93 cc 01 sts 0x01CC, r24
25ac: 20 91 d9 01 lds r18, 0x01D9
25b0: 30 91 da 01 lds r19, 0x01DA
25b4: 80 91 b4 01 lds r24, 0x01B4
25b8: 90 91 b5 01 lds r25, 0x01B5
25bc: 60 91 bf 01 lds r22, 0x01BF
25c0: 3f 93 push r19
25c2: 2f 93 push r18
25c4: 77 27 eor r23, r23
25c6: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
25ca: 7f 93 push r23
25cc: 6f 93 push r22
25ce: 88 e6 ldi r24, 0x68 ; 104
25d0: 92 e0 ldi r25, 0x02 ; 2
25d2: 9f 93 push r25
25d4: 8f 93 push r24
25d6: ff 92 push r15
25d8: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
25dc: 8c e3 ldi r24, 0x3C ; 60
25de: 80 93 cc 01 sts 0x01CC, r24
25e2: 20 91 db 01 lds r18, 0x01DB
25e6: 30 91 dc 01 lds r19, 0x01DC
25ea: 80 91 b6 01 lds r24, 0x01B6
25ee: 90 91 b7 01 lds r25, 0x01B7
25f2: 60 91 c0 01 lds r22, 0x01C0
25f6: 3f 93 push r19
25f8: 2f 93 push r18
25fa: 77 27 eor r23, r23
25fc: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
2600: 7f 93 push r23
2602: 6f 93 push r22
2604: 89 e5 ldi r24, 0x59 ; 89
2606: 92 e0 ldi r25, 0x02 ; 2
2608: 56 c0 rjmp .+172 ; 0x26b6 <Menu+0x5aa>
260a: 10 92 cc 01 sts 0x01CC, r1
260e: 8c e4 ldi r24, 0x4C ; 76
2610: 92 e0 ldi r25, 0x02 ; 2
2612: 9f 93 push r25
2614: 8f 93 push r24
2616: ff 92 push r15
2618: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
261c: 84 e1 ldi r24, 0x14 ; 20
261e: 80 93 cc 01 sts 0x01CC, r24
2622: 20 91 dd 01 lds r18, 0x01DD
2626: 30 91 de 01 lds r19, 0x01DE
262a: 80 91 ba 01 lds r24, 0x01BA
262e: 90 91 bb 01 lds r25, 0x01BB
2632: 60 91 c1 01 lds r22, 0x01C1
2636: 3f 93 push r19
2638: 2f 93 push r18
263a: 77 27 eor r23, r23
263c: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
2640: 7f 93 push r23
2642: 6f 93 push r22
2644: 8d e3 ldi r24, 0x3D ; 61
2646: 92 e0 ldi r25, 0x02 ; 2
2648: 9f 93 push r25
264a: 8f 93 push r24
264c: ff 92 push r15
264e: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
2652: 88 e2 ldi r24, 0x28 ; 40
2654: 80 93 cc 01 sts 0x01CC, r24
2658: 20 91 df 01 lds r18, 0x01DF
265c: 30 91 e0 01 lds r19, 0x01E0
2660: 80 91 b8 01 lds r24, 0x01B8
2664: 90 91 b9 01 lds r25, 0x01B9
2668: 60 91 c2 01 lds r22, 0x01C2
266c: 3f 93 push r19
266e: 2f 93 push r18
2670: 77 27 eor r23, r23
2672: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
2676: 7f 93 push r23
2678: 6f 93 push r22
267a: 8e e2 ldi r24, 0x2E ; 46
267c: 92 e0 ldi r25, 0x02 ; 2
267e: 9f 93 push r25
2680: 8f 93 push r24
2682: ff 92 push r15
2684: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
2688: 8c e3 ldi r24, 0x3C ; 60
268a: 80 93 cc 01 sts 0x01CC, r24
268e: 60 91 e1 01 lds r22, 0x01E1
2692: 70 91 e2 01 lds r23, 0x01E2
2696: 80 91 e3 01 lds r24, 0x01E3
269a: 90 91 e4 01 lds r25, 0x01E4
269e: 00 91 5a 05 lds r16, 0x055A
26a2: 10 91 5b 05 lds r17, 0x055B
26a6: 0e 94 4f 2c call 0x589e ; 0x589e <__fixsfsi>
26aa: 7f 93 push r23
26ac: 6f 93 push r22
26ae: 1f 93 push r17
26b0: 0f 93 push r16
26b2: 8f e1 ldi r24, 0x1F ; 31
26b4: 92 e0 ldi r25, 0x02 ; 2
26b6: 9f 93 push r25
26b8: 8f 93 push r24
26ba: ff 92 push r15
26bc: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
26c0: 8d b7 in r24, 0x3d ; 61
26c2: 9e b7 in r25, 0x3e ; 62
26c4: 48 96 adiw r24, 0x18 ; 24
26c6: 13 ce rjmp .-986 ; 0x22ee <Menu+0x1e2>
26c8: 84 e1 ldi r24, 0x14 ; 20
26ca: 80 93 cc 01 sts 0x01CC, r24
26ce: 80 91 04 01 lds r24, 0x0104
26d2: 90 91 05 01 lds r25, 0x0105
26d6: 9f 93 push r25
26d8: 8f 93 push r24
26da: 80 e1 ldi r24, 0x10 ; 16
26dc: 92 e0 ldi r25, 0x02 ; 2
26de: 9f 93 push r25
26e0: 8f 93 push r24
26e2: ff 92 push r15
26e4: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
26e8: 88 e2 ldi r24, 0x28 ; 40
26ea: 80 93 cc 01 sts 0x01CC, r24
26ee: 80 91 27 02 lds r24, 0x0227
26f2: 99 27 eor r25, r25
26f4: 9f 93 push r25
26f6: 8f 93 push r24
26f8: 81 e0 ldi r24, 0x01 ; 1
26fa: 92 e0 ldi r25, 0x02 ; 2
26fc: 9f 93 push r25
26fe: 8f 93 push r24
2700: ff 92 push r15
2702: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
2706: 8d b7 in r24, 0x3d ; 61
2708: 9e b7 in r25, 0x3e ; 62
270a: 0a 96 adiw r24, 0x0a ; 10
270c: f0 cd rjmp .-1056 ; 0x22ee <Menu+0x1e2>
270e: 10 92 cc 01 sts 0x01CC, r1
2712: 82 ef ldi r24, 0xF2 ; 242
2714: 91 e0 ldi r25, 0x01 ; 1
2716: 9f 93 push r25
2718: 8f 93 push r24
271a: ff 92 push r15
271c: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
2720: 84 e1 ldi r24, 0x14 ; 20
2722: 80 93 cc 01 sts 0x01CC, r24
2726: 80 91 1b 02 lds r24, 0x021B
272a: 90 91 1c 02 lds r25, 0x021C
272e: 9f 93 push r25
2730: 8f 93 push r24
2732: 83 ee ldi r24, 0xE3 ; 227
2734: 91 e0 ldi r25, 0x01 ; 1
2736: 9f 93 push r25
2738: 8f 93 push r24
273a: ff 92 push r15
273c: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
2740: 88 e2 ldi r24, 0x28 ; 40
2742: 80 93 cc 01 sts 0x01CC, r24
2746: 80 91 17 02 lds r24, 0x0217
274a: 90 91 18 02 lds r25, 0x0218
274e: 9f 93 push r25
2750: 8f 93 push r24
2752: 84 ed ldi r24, 0xD4 ; 212
2754: 91 e0 ldi r25, 0x01 ; 1
2756: 9f 93 push r25
2758: 8f 93 push r24
275a: ff 92 push r15
275c: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
2760: 8c e3 ldi r24, 0x3C ; 60
2762: 80 93 cc 01 sts 0x01CC, r24
2766: 80 91 19 02 lds r24, 0x0219
276a: 90 91 1a 02 lds r25, 0x021A
276e: 9f 93 push r25
2770: 8f 93 push r24
2772: 85 ec ldi r24, 0xC5 ; 197
2774: 91 e0 ldi r25, 0x01 ; 1
2776: 9f 93 push r25
2778: 8f 93 push r24
277a: ff 92 push r15
277c: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
2780: 8d b7 in r24, 0x3d ; 61
2782: 9e b7 in r25, 0x3e ; 62
2784: 42 96 adiw r24, 0x12 ; 18
2786: b3 cd rjmp .-1178 ; 0x22ee <Menu+0x1e2>
2788: 10 92 cc 01 sts 0x01CC, r1
278c: 80 91 1f 02 lds r24, 0x021F
2790: 90 91 20 02 lds r25, 0x0220
2794: 9f 93 push r25
2796: 8f 93 push r24
2798: 89 eb ldi r24, 0xB9 ; 185
279a: 91 e0 ldi r25, 0x01 ; 1
279c: 9f 93 push r25
279e: 8f 93 push r24
27a0: ff 92 push r15
27a2: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
27a6: 84 e1 ldi r24, 0x14 ; 20
27a8: 80 93 cc 01 sts 0x01CC, r24
27ac: 80 91 21 02 lds r24, 0x0221
27b0: 90 91 22 02 lds r25, 0x0222
27b4: 9f 93 push r25
27b6: 8f 93 push r24
27b8: 8d ea ldi r24, 0xAD ; 173
27ba: 91 e0 ldi r25, 0x01 ; 1
27bc: 9f 93 push r25
27be: 8f 93 push r24
27c0: ff 92 push r15
27c2: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
27c6: 88 e2 ldi r24, 0x28 ; 40
27c8: 80 93 cc 01 sts 0x01CC, r24
27cc: 80 91 23 02 lds r24, 0x0223
27d0: 90 91 24 02 lds r25, 0x0224
27d4: 9f 93 push r25
27d6: 8f 93 push r24
27d8: 81 ea ldi r24, 0xA1 ; 161
27da: 91 e0 ldi r25, 0x01 ; 1
27dc: 9f 93 push r25
27de: 8f 93 push r24
27e0: ff 92 push r15
27e2: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
27e6: 8c e3 ldi r24, 0x3C ; 60
27e8: 80 93 cc 01 sts 0x01CC, r24
27ec: 80 91 25 02 lds r24, 0x0225
27f0: 90 91 26 02 lds r25, 0x0226
27f4: 9f 93 push r25
27f6: 8f 93 push r24
27f8: 85 e9 ldi r24, 0x95 ; 149
27fa: 91 e0 ldi r25, 0x01 ; 1
27fc: 9f 93 push r25
27fe: 8f 93 push r24
2800: ff 92 push r15
2802: 70 cd rjmp .-1312 ; 0x22e4 <Menu+0x1d8>
2804: 10 92 cc 01 sts 0x01CC, r1
2808: 8d e8 ldi r24, 0x8D ; 141
280a: 91 e0 ldi r25, 0x01 ; 1
280c: 9f 93 push r25
280e: 8f 93 push r24
2810: ff 92 push r15
2812: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
2816: 84 e1 ldi r24, 0x14 ; 20
2818: 80 93 cc 01 sts 0x01CC, r24
281c: 80 91 89 01 lds r24, 0x0189
2820: 99 27 eor r25, r25
2822: 9f 93 push r25
2824: 8f 93 push r24
2826: 8f e7 ldi r24, 0x7F ; 127
2828: 91 e0 ldi r25, 0x01 ; 1
282a: 9f 93 push r25
282c: 8f 93 push r24
282e: ff 92 push r15
2830: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
2834: 88 e2 ldi r24, 0x28 ; 40
2836: 80 93 cc 01 sts 0x01CC, r24
283a: 80 91 ad 01 lds r24, 0x01AD
283e: 90 91 ae 01 lds r25, 0x01AE
2842: 9f 93 push r25
2844: 8f 93 push r24
2846: 81 e7 ldi r24, 0x71 ; 113
2848: 91 e0 ldi r25, 0x01 ; 1
284a: 9f 93 push r25
284c: 8f 93 push r24
284e: ff 92 push r15
2850: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
2854: 8c e3 ldi r24, 0x3C ; 60
2856: 80 93 cc 01 sts 0x01CC, r24
285a: 80 91 c2 05 lds r24, 0x05C2
285e: 99 27 eor r25, r25
2860: 9f 93 push r25
2862: 8f 93 push r24
2864: 80 91 c1 05 lds r24, 0x05C1
2868: 99 27 eor r25, r25
286a: 9f 93 push r25
286c: 8f 93 push r24
286e: 83 e6 ldi r24, 0x63 ; 99
2870: 91 e0 ldi r25, 0x01 ; 1
2872: 9f 93 push r25
2874: 8f 93 push r24
2876: ff 92 push r15
2878: 0e 94 f9 08 call 0x11f2 ; 0x11f2 <_printf_P>
287c: 35 cd rjmp .-1430 ; 0x22e8 <Menu+0x1dc>
287e: 01 50 subi r16, 0x01 ; 1
2880: 00 93 66 01 sts 0x0166, r16
2884: 10 92 ce 01 sts 0x01CE, r1
2888: 10 92 cd 01 sts 0x01CD, r1
288c: 1f 91 pop r17
288e: 0f 91 pop r16
2890: ff 90 pop r15
2892: 08 95 ret
 
00002894 <i2c_init>:
2894: 10 92 b9 00 sts 0x00B9, r1
2898: 8a e2 ldi r24, 0x2A ; 42
289a: 80 93 b8 00 sts 0x00B8, r24
289e: 08 95 ret
 
000028a0 <i2c_start>:
28a0: 85 ea ldi r24, 0xA5 ; 165
28a2: 80 93 bc 00 sts 0x00BC, r24
28a6: 80 e0 ldi r24, 0x00 ; 0
28a8: 90 e0 ldi r25, 0x00 ; 0
28aa: 08 95 ret
 
000028ac <i2c_stop>:
28ac: 84 e9 ldi r24, 0x94 ; 148
28ae: 80 93 bc 00 sts 0x00BC, r24
28b2: 08 95 ret
 
000028b4 <i2c_write_byte>:
28b4: 10 92 b9 00 sts 0x00B9, r1
28b8: 80 93 bb 00 sts 0x00BB, r24
28bc: 85 e8 ldi r24, 0x85 ; 133
28be: 80 93 bc 00 sts 0x00BC, r24
28c2: 80 e0 ldi r24, 0x00 ; 0
28c4: 90 e0 ldi r25, 0x00 ; 0
28c6: 08 95 ret
 
000028c8 <__vector_26>:
28c8: 1f 92 push r1
28ca: 0f 92 push r0
28cc: 0f b6 in r0, 0x3f ; 63
28ce: 0f 92 push r0
28d0: 11 24 eor r1, r1
28d2: 8f 93 push r24
28d4: 9f 93 push r25
28d6: ef 93 push r30
28d8: ff 93 push r31
28da: 80 91 cf 01 lds r24, 0x01CF
28de: 8f 5f subi r24, 0xFF ; 255
28e0: 80 93 cf 01 sts 0x01CF, r24
28e4: 81 50 subi r24, 0x01 ; 1
28e6: 83 30 cpi r24, 0x03 ; 3
28e8: 09 f4 brne .+2 ; 0x28ec <__vector_26+0x24>
28ea: 42 c0 rjmp .+132 ; 0x2970 <__vector_26+0xa8>
28ec: 84 30 cpi r24, 0x04 ; 4
28ee: 28 f4 brcc .+10 ; 0x28fa <__vector_26+0x32>
28f0: 81 30 cpi r24, 0x01 ; 1
28f2: a1 f0 breq .+40 ; 0x291c <__vector_26+0x54>
28f4: 82 30 cpi r24, 0x02 ; 2
28f6: 70 f5 brcc .+92 ; 0x2954 <__vector_26+0x8c>
28f8: 0c c0 rjmp .+24 ; 0x2912 <__vector_26+0x4a>
28fa: 85 30 cpi r24, 0x05 ; 5
28fc: 09 f4 brne .+2 ; 0x2900 <__vector_26+0x38>
28fe: 48 c0 rjmp .+144 ; 0x2990 <__vector_26+0xc8>
2900: 85 30 cpi r24, 0x05 ; 5
2902: d8 f1 brcs .+118 ; 0x297a <__vector_26+0xb2>
2904: 86 30 cpi r24, 0x06 ; 6
2906: 09 f4 brne .+2 ; 0x290a <__vector_26+0x42>
2908: 4b c0 rjmp .+150 ; 0x29a0 <__vector_26+0xd8>
290a: 87 30 cpi r24, 0x07 ; 7
290c: 09 f0 breq .+2 ; 0x2910 <__vector_26+0x48>
290e: 71 c0 rjmp .+226 ; 0x29f2 <__vector_26+0x12a>
2910: 5b c0 rjmp .+182 ; 0x29c8 <__vector_26+0x100>
2912: 80 91 d0 01 lds r24, 0x01D0
2916: 88 0f add r24, r24
2918: 8e 5a subi r24, 0xAE ; 174
291a: 14 c0 rjmp .+40 ; 0x2944 <__vector_26+0x7c>
291c: 80 91 d0 01 lds r24, 0x01D0
2920: 8f 5f subi r24, 0xFF ; 255
2922: 80 93 d0 01 sts 0x01D0, r24
2926: 81 50 subi r24, 0x01 ; 1
2928: 81 30 cpi r24, 0x01 ; 1
292a: 09 f4 brne .+2 ; 0x292e <__vector_26+0x66>
292c: 44 c0 rjmp .+136 ; 0x29b6 <__vector_26+0xee>
292e: 81 30 cpi r24, 0x01 ; 1
2930: 38 f0 brcs .+14 ; 0x2940 <__vector_26+0x78>
2932: 82 30 cpi r24, 0x02 ; 2
2934: 09 f4 brne .+2 ; 0x2938 <__vector_26+0x70>
2936: 42 c0 rjmp .+132 ; 0x29bc <__vector_26+0xf4>
2938: 83 30 cpi r24, 0x03 ; 3
293a: 09 f0 breq .+2 ; 0x293e <__vector_26+0x76>
293c: 5a c0 rjmp .+180 ; 0x29f2 <__vector_26+0x12a>
293e: 41 c0 rjmp .+130 ; 0x29c2 <__vector_26+0xfa>
2940: 80 91 96 02 lds r24, 0x0296
2944: 10 92 b9 00 sts 0x00B9, r1
2948: 80 93 bb 00 sts 0x00BB, r24
294c: 85 e8 ldi r24, 0x85 ; 133
294e: 80 93 bc 00 sts 0x00BC, r24
2952: 4f c0 rjmp .+158 ; 0x29f2 <__vector_26+0x12a>
2954: 84 e9 ldi r24, 0x94 ; 148
2956: 80 93 bc 00 sts 0x00BC, r24
295a: 80 91 d0 01 lds r24, 0x01D0
295e: 84 30 cpi r24, 0x04 ; 4
2960: 18 f4 brcc .+6 ; 0x2968 <__vector_26+0xa0>
2962: 10 92 cf 01 sts 0x01CF, r1
2966: 02 c0 rjmp .+4 ; 0x296c <__vector_26+0xa4>
2968: 10 92 d0 01 sts 0x01D0, r1
296c: 85 ea ldi r24, 0xA5 ; 165
296e: ef cf rjmp .-34 ; 0x294e <__vector_26+0x86>
2970: 80 91 d1 01 lds r24, 0x01D1
2974: 88 0f add r24, r24
2976: 8d 5a subi r24, 0xAD ; 173
2978: e5 cf rjmp .-54 ; 0x2944 <__vector_26+0x7c>
297a: 80 91 d1 01 lds r24, 0x01D1
297e: 81 30 cpi r24, 0x01 ; 1
2980: d1 f0 breq .+52 ; 0x29b6 <__vector_26+0xee>
2982: 81 30 cpi r24, 0x01 ; 1
2984: e8 f2 brcs .-70 ; 0x2940 <__vector_26+0x78>
2986: 82 30 cpi r24, 0x02 ; 2
2988: c9 f0 breq .+50 ; 0x29bc <__vector_26+0xf4>
298a: 83 30 cpi r24, 0x03 ; 3
298c: 91 f5 brne .+100 ; 0x29f2 <__vector_26+0x12a>
298e: 19 c0 rjmp .+50 ; 0x29c2 <__vector_26+0xfa>
2990: 80 91 bb 00 lds r24, 0x00BB
2994: e0 91 d1 01 lds r30, 0x01D1
2998: ff 27 eor r31, r31
299a: e6 59 subi r30, 0x96 ; 150
299c: fa 4f sbci r31, 0xFA ; 250
299e: 80 83 st Z, r24
29a0: 80 91 d1 01 lds r24, 0x01D1
29a4: 81 30 cpi r24, 0x01 ; 1
29a6: 39 f0 breq .+14 ; 0x29b6 <__vector_26+0xee>
29a8: 81 30 cpi r24, 0x01 ; 1
29aa: 50 f2 brcs .-108 ; 0x2940 <__vector_26+0x78>
29ac: 82 30 cpi r24, 0x02 ; 2
29ae: 31 f0 breq .+12 ; 0x29bc <__vector_26+0xf4>
29b0: 83 30 cpi r24, 0x03 ; 3
29b2: f9 f4 brne .+62 ; 0x29f2 <__vector_26+0x12a>
29b4: 06 c0 rjmp .+12 ; 0x29c2 <__vector_26+0xfa>
29b6: 80 91 97 02 lds r24, 0x0297
29ba: c4 cf rjmp .-120 ; 0x2944 <__vector_26+0x7c>
29bc: 80 91 9a 02 lds r24, 0x029A
29c0: c1 cf rjmp .-126 ; 0x2944 <__vector_26+0x7c>
29c2: 80 91 a6 02 lds r24, 0x02A6
29c6: be cf rjmp .-132 ; 0x2944 <__vector_26+0x7c>
29c8: 80 91 d1 01 lds r24, 0x01D1
29cc: 90 91 bb 00 lds r25, 0x00BB
29d0: e8 2f mov r30, r24
29d2: ff 27 eor r31, r31
29d4: e6 59 subi r30, 0x96 ; 150
29d6: fa 4f sbci r31, 0xFA ; 250
29d8: 94 83 std Z+4, r25 ; 0x04
29da: 8f 5f subi r24, 0xFF ; 255
29dc: 80 93 d1 01 sts 0x01D1, r24
29e0: 84 30 cpi r24, 0x04 ; 4
29e2: 10 f0 brcs .+4 ; 0x29e8 <__vector_26+0x120>
29e4: 10 92 d1 01 sts 0x01D1, r1
29e8: 84 e9 ldi r24, 0x94 ; 148
29ea: 80 93 bc 00 sts 0x00BC, r24
29ee: 10 92 cf 01 sts 0x01CF, r1
29f2: ff 91 pop r31
29f4: ef 91 pop r30
29f6: 9f 91 pop r25
29f8: 8f 91 pop r24
29fa: 0f 90 pop r0
29fc: 0f be out 0x3f, r0 ; 63
29fe: 0f 90 pop r0
2a00: 1f 90 pop r1
2a02: 18 95 reti
 
00002a04 <rc_sum_init>:
2a04: 83 ec ldi r24, 0xC3 ; 195
2a06: 80 93 81 00 sts 0x0081, r24
2a0a: ef e6 ldi r30, 0x6F ; 111
2a0c: f0 e0 ldi r31, 0x00 ; 0
2a0e: 80 81 ld r24, Z
2a10: 80 62 ori r24, 0x20 ; 32
2a12: 80 83 st Z, r24
2a14: 10 92 dc 01 sts 0x01DC, r1
2a18: 10 92 db 01 sts 0x01DB, r1
2a1c: 10 92 da 01 sts 0x01DA, r1
2a20: 10 92 d9 01 sts 0x01D9, r1
2a24: 10 92 d8 01 sts 0x01D8, r1
2a28: 10 92 d7 01 sts 0x01D7, r1
2a2c: 08 95 ret
 
00002a2e <__vector_12>:
2a2e: 1f 92 push r1
2a30: 0f 92 push r0
2a32: 0f b6 in r0, 0x3f ; 63
2a34: 0f 92 push r0
2a36: 11 24 eor r1, r1
2a38: 0f 93 push r16
2a3a: 1f 93 push r17
2a3c: 2f 93 push r18
2a3e: 3f 93 push r19
2a40: 4f 93 push r20
2a42: 5f 93 push r21
2a44: 6f 93 push r22
2a46: 7f 93 push r23
2a48: 8f 93 push r24
2a4a: 9f 93 push r25
2a4c: af 93 push r26
2a4e: bf 93 push r27
2a50: cf 93 push r28
2a52: df 93 push r29
2a54: ef 93 push r30
2a56: ff 93 push r31
2a58: 20 91 86 00 lds r18, 0x0086
2a5c: 30 91 87 00 lds r19, 0x0087
2a60: 80 91 d4 01 lds r24, 0x01D4
2a64: 90 91 d5 01 lds r25, 0x01D5
2a68: 28 1b sub r18, r24
2a6a: 39 0b sbc r19, r25
2a6c: 80 91 86 00 lds r24, 0x0086
2a70: 90 91 87 00 lds r25, 0x0087
2a74: 90 93 d5 01 sts 0x01D5, r25
2a78: 80 93 d4 01 sts 0x01D4, r24
2a7c: c9 01 movw r24, r18
2a7e: 8d 5d subi r24, 0xDD ; 221
2a80: 95 40 sbci r25, 0x05 ; 5
2a82: 83 56 subi r24, 0x63 ; 99
2a84: 99 41 sbci r25, 0x19 ; 25
2a86: 48 f4 brcc .+18 ; 0x2a9a <__vector_12+0x6c>
2a88: 81 e0 ldi r24, 0x01 ; 1
2a8a: 90 e0 ldi r25, 0x00 ; 0
2a8c: 90 93 d3 01 sts 0x01D3, r25
2a90: 80 93 d2 01 sts 0x01D2, r24
2a94: 10 92 67 01 sts 0x0167, r1
2a98: 54 c0 rjmp .+168 ; 0x2b42 <__vector_12+0x114>
2a9a: c0 91 d2 01 lds r28, 0x01D2
2a9e: d0 91 d3 01 lds r29, 0x01D3
2aa2: ca 30 cpi r28, 0x0A ; 10
2aa4: d1 05 cpc r29, r1
2aa6: 0c f0 brlt .+2 ; 0x2aaa <__vector_12+0x7c>
2aa8: 4c c0 rjmp .+152 ; 0x2b42 <__vector_12+0x114>
2aaa: c9 01 movw r24, r18
2aac: 8b 5f subi r24, 0xFB ; 251
2aae: 90 40 sbci r25, 0x00 ; 0
2ab0: 84 5b subi r24, 0xB4 ; 180
2ab2: 91 40 sbci r25, 0x01 ; 1
2ab4: 08 f0 brcs .+2 ; 0x2ab8 <__vector_12+0x8a>
2ab6: 40 c0 rjmp .+128 ; 0x2b38 <__vector_12+0x10a>
2ab8: a9 01 movw r20, r18
2aba: 42 5d subi r20, 0xD2 ; 210
2abc: 51 40 sbci r21, 0x01 ; 1
2abe: fe 01 movw r30, r28
2ac0: ee 0f add r30, r30
2ac2: ff 1f adc r31, r31
2ac4: ee 58 subi r30, 0x8E ; 142
2ac6: fa 4f sbci r31, 0xFA ; 250
2ac8: 80 81 ld r24, Z
2aca: 91 81 ldd r25, Z+1 ; 0x01
2acc: fa 01 movw r30, r20
2ace: e8 1b sub r30, r24
2ad0: f9 0b sbc r31, r25
2ad2: cf 01 movw r24, r30
2ad4: f7 ff sbrs r31, 7
2ad6: 03 c0 rjmp .+6 ; 0x2ade <__vector_12+0xb0>
2ad8: 90 95 com r25
2ada: 81 95 neg r24
2adc: 9f 4f sbci r25, 0xFF ; 255
2ade: 06 97 sbiw r24, 0x06 ; 6
2ae0: 4c f4 brge .+18 ; 0x2af4 <__vector_12+0xc6>
2ae2: 80 91 27 02 lds r24, 0x0227
2ae6: 88 3c cpi r24, 0xC8 ; 200
2ae8: 28 f4 brcc .+10 ; 0x2af4 <__vector_12+0xc6>
2aea: 80 91 27 02 lds r24, 0x0227
2aee: 86 5f subi r24, 0xF6 ; 246
2af0: 80 93 27 02 sts 0x0227, r24
2af4: fe 01 movw r30, r28
2af6: ee 0f add r30, r30
2af8: ff 1f adc r31, r31
2afa: 8f 01 movw r16, r30
2afc: 0e 58 subi r16, 0x8E ; 142
2afe: 1a 4f sbci r17, 0xFA ; 250
2b00: d8 01 movw r26, r16
2b02: 2d 91 ld r18, X+
2b04: 3c 91 ld r19, X
2b06: c9 01 movw r24, r18
2b08: 88 0f add r24, r24
2b0a: 99 1f adc r25, r25
2b0c: 82 0f add r24, r18
2b0e: 93 1f adc r25, r19
2b10: 84 0f add r24, r20
2b12: 95 1f adc r25, r21
2b14: 64 e0 ldi r22, 0x04 ; 4
2b16: 70 e0 ldi r23, 0x00 ; 0
2b18: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
2b1c: d8 01 movw r26, r16
2b1e: 8d 91 ld r24, X+
2b20: 9c 91 ld r25, X
2b22: 11 97 sbiw r26, 0x01 ; 1
2b24: 9b 01 movw r18, r22
2b26: 28 1b sub r18, r24
2b28: 39 0b sbc r19, r25
2b2a: e8 57 subi r30, 0x78 ; 120
2b2c: fa 4f sbci r31, 0xFA ; 250
2b2e: 31 83 std Z+1, r19 ; 0x01
2b30: 20 83 st Z, r18
2b32: 11 96 adiw r26, 0x01 ; 1
2b34: 7c 93 st X, r23
2b36: 6e 93 st -X, r22
2b38: 21 96 adiw r28, 0x01 ; 1
2b3a: d0 93 d3 01 sts 0x01D3, r29
2b3e: c0 93 d2 01 sts 0x01D2, r28
2b42: ff 91 pop r31
2b44: ef 91 pop r30
2b46: df 91 pop r29
2b48: cf 91 pop r28
2b4a: bf 91 pop r27
2b4c: af 91 pop r26
2b4e: 9f 91 pop r25
2b50: 8f 91 pop r24
2b52: 7f 91 pop r23
2b54: 6f 91 pop r22
2b56: 5f 91 pop r21
2b58: 4f 91 pop r20
2b5a: 3f 91 pop r19
2b5c: 2f 91 pop r18
2b5e: 1f 91 pop r17
2b60: 0f 91 pop r16
2b62: 0f 90 pop r0
2b64: 0f be out 0x3f, r0 ; 63
2b66: 0f 90 pop r0
2b68: 1f 90 pop r1
2b6a: 18 95 reti
 
00002b6c <Mittelwert>:
2b6c: af 92 push r10
2b6e: bf 92 push r11
2b70: cf 92 push r12
2b72: df 92 push r13
2b74: ef 92 push r14
2b76: ff 92 push r15
2b78: 0f 93 push r16
2b7a: 1f 93 push r17
2b7c: 10 92 7a 00 sts 0x007A, r1
2b80: 80 91 be 01 lds r24, 0x01BE
2b84: 88 23 and r24, r24
2b86: 69 f0 breq .+26 ; 0x2ba2 <Mittelwert+0x36>
2b88: 80 91 b2 01 lds r24, 0x01B2
2b8c: 90 91 b3 01 lds r25, 0x01B3
2b90: 60 91 be 01 lds r22, 0x01BE
2b94: 77 27 eor r23, r23
2b96: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
2b9a: 70 93 db 05 sts 0x05DB, r23
2b9e: 60 93 da 05 sts 0x05DA, r22
2ba2: 80 91 bf 01 lds r24, 0x01BF
2ba6: 88 23 and r24, r24
2ba8: 69 f0 breq .+26 ; 0x2bc4 <Mittelwert+0x58>
2baa: 80 91 b4 01 lds r24, 0x01B4
2bae: 90 91 b5 01 lds r25, 0x01B5
2bb2: 60 91 bf 01 lds r22, 0x01BF
2bb6: 77 27 eor r23, r23
2bb8: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
2bbc: 70 93 d9 05 sts 0x05D9, r23
2bc0: 60 93 d8 05 sts 0x05D8, r22
2bc4: 80 91 c0 01 lds r24, 0x01C0
2bc8: 88 23 and r24, r24
2bca: 69 f0 breq .+26 ; 0x2be6 <Mittelwert+0x7a>
2bcc: 80 91 b6 01 lds r24, 0x01B6
2bd0: 90 91 b7 01 lds r25, 0x01B7
2bd4: 60 91 c0 01 lds r22, 0x01C0
2bd8: 77 27 eor r23, r23
2bda: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
2bde: 70 93 e7 05 sts 0x05E7, r23
2be2: 60 93 e6 05 sts 0x05E6, r22
2be6: 80 91 c1 01 lds r24, 0x01C1
2bea: 88 23 and r24, r24
2bec: d9 f1 breq .+118 ; 0x2c64 <Mittelwert+0xf8>
2bee: e0 90 e3 05 lds r14, 0x05E3
2bf2: f0 90 e4 05 lds r15, 0x05E4
2bf6: 60 91 ba 01 lds r22, 0x01BA
2bfa: 70 91 bb 01 lds r23, 0x01BB
2bfe: 20 91 c1 01 lds r18, 0x01C1
2c02: 00 27 eor r16, r16
2c04: f7 fc sbrc r15, 7
2c06: 00 95 com r16
2c08: 10 2f mov r17, r16
2c0a: 57 01 movw r10, r14
2c0c: 68 01 movw r12, r16
2c0e: 43 e0 ldi r20, 0x03 ; 3
2c10: aa 0c add r10, r10
2c12: bb 1c adc r11, r11
2c14: cc 1c adc r12, r12
2c16: dd 1c adc r13, r13
2c18: 4a 95 dec r20
2c1a: d1 f7 brne .-12 ; 0x2c10 <Mittelwert+0xa4>
2c1c: ae 18 sub r10, r14
2c1e: bf 08 sbc r11, r15
2c20: c0 0a sbc r12, r16
2c22: d1 0a sbc r13, r17
2c24: 88 27 eor r24, r24
2c26: 77 fd sbrc r23, 7
2c28: 80 95 com r24
2c2a: 98 2f mov r25, r24
2c2c: 34 e0 ldi r19, 0x04 ; 4
2c2e: 66 0f add r22, r22
2c30: 77 1f adc r23, r23
2c32: 88 1f adc r24, r24
2c34: 99 1f adc r25, r25
2c36: 3a 95 dec r19
2c38: d1 f7 brne .-12 ; 0x2c2e <Mittelwert+0xc2>
2c3a: 33 27 eor r19, r19
2c3c: 44 27 eor r20, r20
2c3e: 55 27 eor r21, r21
2c40: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
2c44: a2 0e add r10, r18
2c46: b3 1e adc r11, r19
2c48: c4 1e adc r12, r20
2c4a: d5 1e adc r13, r21
2c4c: c6 01 movw r24, r12
2c4e: b5 01 movw r22, r10
2c50: 28 e0 ldi r18, 0x08 ; 8
2c52: 30 e0 ldi r19, 0x00 ; 0
2c54: 40 e0 ldi r20, 0x00 ; 0
2c56: 50 e0 ldi r21, 0x00 ; 0
2c58: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
2c5c: 30 93 e4 05 sts 0x05E4, r19
2c60: 20 93 e3 05 sts 0x05E3, r18
2c64: 80 91 c2 01 lds r24, 0x01C2
2c68: 88 23 and r24, r24
2c6a: d9 f1 breq .+118 ; 0x2ce2 <Mittelwert+0x176>
2c6c: e0 90 ec 05 lds r14, 0x05EC
2c70: f0 90 ed 05 lds r15, 0x05ED
2c74: 60 91 b8 01 lds r22, 0x01B8
2c78: 70 91 b9 01 lds r23, 0x01B9
2c7c: 20 91 c2 01 lds r18, 0x01C2
2c80: 00 27 eor r16, r16
2c82: f7 fc sbrc r15, 7
2c84: 00 95 com r16
2c86: 10 2f mov r17, r16
2c88: 57 01 movw r10, r14
2c8a: 68 01 movw r12, r16
2c8c: 83 e0 ldi r24, 0x03 ; 3
2c8e: aa 0c add r10, r10
2c90: bb 1c adc r11, r11
2c92: cc 1c adc r12, r12
2c94: dd 1c adc r13, r13
2c96: 8a 95 dec r24
2c98: d1 f7 brne .-12 ; 0x2c8e <Mittelwert+0x122>
2c9a: ae 18 sub r10, r14
2c9c: bf 08 sbc r11, r15
2c9e: c0 0a sbc r12, r16
2ca0: d1 0a sbc r13, r17
2ca2: 88 27 eor r24, r24
2ca4: 77 fd sbrc r23, 7
2ca6: 80 95 com r24
2ca8: 98 2f mov r25, r24
2caa: b4 e0 ldi r27, 0x04 ; 4
2cac: 66 0f add r22, r22
2cae: 77 1f adc r23, r23
2cb0: 88 1f adc r24, r24
2cb2: 99 1f adc r25, r25
2cb4: ba 95 dec r27
2cb6: d1 f7 brne .-12 ; 0x2cac <Mittelwert+0x140>
2cb8: 33 27 eor r19, r19
2cba: 44 27 eor r20, r20
2cbc: 55 27 eor r21, r21
2cbe: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
2cc2: a2 0e add r10, r18
2cc4: b3 1e adc r11, r19
2cc6: c4 1e adc r12, r20
2cc8: d5 1e adc r13, r21
2cca: c6 01 movw r24, r12
2ccc: b5 01 movw r22, r10
2cce: 28 e0 ldi r18, 0x08 ; 8
2cd0: 30 e0 ldi r19, 0x00 ; 0
2cd2: 40 e0 ldi r20, 0x00 ; 0
2cd4: 50 e0 ldi r21, 0x00 ; 0
2cd6: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
2cda: 30 93 ed 05 sts 0x05ED, r19
2cde: 20 93 ec 05 sts 0x05EC, r18
2ce2: 80 91 c3 01 lds r24, 0x01C3
2ce6: 88 23 and r24, r24
2ce8: a1 f1 breq .+104 ; 0x2d52 <Mittelwert+0x1e6>
2cea: e0 90 dd 05 lds r14, 0x05DD
2cee: f0 90 de 05 lds r15, 0x05DE
2cf2: 60 91 bc 01 lds r22, 0x01BC
2cf6: 70 91 bd 01 lds r23, 0x01BD
2cfa: 20 91 c3 01 lds r18, 0x01C3
2cfe: 00 27 eor r16, r16
2d00: f7 fc sbrc r15, 7
2d02: 00 95 com r16
2d04: 10 2f mov r17, r16
2d06: 57 01 movw r10, r14
2d08: 68 01 movw r12, r16
2d0a: a3 e0 ldi r26, 0x03 ; 3
2d0c: aa 0c add r10, r10
2d0e: bb 1c adc r11, r11
2d10: cc 1c adc r12, r12
2d12: dd 1c adc r13, r13
2d14: aa 95 dec r26
2d16: d1 f7 brne .-12 ; 0x2d0c <Mittelwert+0x1a0>
2d18: ae 18 sub r10, r14
2d1a: bf 08 sbc r11, r15
2d1c: c0 0a sbc r12, r16
2d1e: d1 0a sbc r13, r17
2d20: 88 27 eor r24, r24
2d22: 77 fd sbrc r23, 7
2d24: 80 95 com r24
2d26: 98 2f mov r25, r24
2d28: 33 27 eor r19, r19
2d2a: 44 27 eor r20, r20
2d2c: 55 27 eor r21, r21
2d2e: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
2d32: a2 0e add r10, r18
2d34: b3 1e adc r11, r19
2d36: c4 1e adc r12, r20
2d38: d5 1e adc r13, r21
2d3a: c6 01 movw r24, r12
2d3c: b5 01 movw r22, r10
2d3e: 28 e0 ldi r18, 0x08 ; 8
2d40: 30 e0 ldi r19, 0x00 ; 0
2d42: 40 e0 ldi r20, 0x00 ; 0
2d44: 50 e0 ldi r21, 0x00 ; 0
2d46: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
2d4a: 30 93 de 05 sts 0x05DE, r19
2d4e: 20 93 dd 05 sts 0x05DD, r18
2d52: 10 92 b3 01 sts 0x01B3, r1
2d56: 10 92 b2 01 sts 0x01B2, r1
2d5a: 10 92 be 01 sts 0x01BE, r1
2d5e: 10 92 b5 01 sts 0x01B5, r1
2d62: 10 92 b4 01 sts 0x01B4, r1
2d66: 10 92 bf 01 sts 0x01BF, r1
2d6a: 10 92 b7 01 sts 0x01B7, r1
2d6e: 10 92 b6 01 sts 0x01B6, r1
2d72: 10 92 c0 01 sts 0x01C0, r1
2d76: 10 92 b9 01 sts 0x01B9, r1
2d7a: 10 92 b8 01 sts 0x01B8, r1
2d7e: 10 92 c2 01 sts 0x01C2, r1
2d82: 10 92 bb 01 sts 0x01BB, r1
2d86: 10 92 ba 01 sts 0x01BA, r1
2d8a: 10 92 c1 01 sts 0x01C1, r1
2d8e: 10 92 bd 01 sts 0x01BD, r1
2d92: 10 92 bc 01 sts 0x01BC, r1
2d96: 10 92 c3 01 sts 0x01C3, r1
2d9a: 80 91 0b 02 lds r24, 0x020B
2d9e: 90 91 0c 02 lds r25, 0x020C
2da2: a0 91 0d 02 lds r26, 0x020D
2da6: b0 91 0e 02 lds r27, 0x020E
2daa: 80 93 f7 01 sts 0x01F7, r24
2dae: 90 93 f8 01 sts 0x01F8, r25
2db2: a0 93 f9 01 sts 0x01F9, r26
2db6: b0 93 fa 01 sts 0x01FA, r27
2dba: 80 91 fb 01 lds r24, 0x01FB
2dbe: 90 91 fc 01 lds r25, 0x01FC
2dc2: a0 91 fd 01 lds r26, 0x01FD
2dc6: b0 91 fe 01 lds r27, 0x01FE
2dca: 80 93 e7 01 sts 0x01E7, r24
2dce: 90 93 e8 01 sts 0x01E8, r25
2dd2: a0 93 e9 01 sts 0x01E9, r26
2dd6: b0 93 ea 01 sts 0x01EA, r27
2dda: 80 91 03 02 lds r24, 0x0203
2dde: 90 91 04 02 lds r25, 0x0204
2de2: a0 91 05 02 lds r26, 0x0205
2de6: b0 91 06 02 lds r27, 0x0206
2dea: 80 93 ef 01 sts 0x01EF, r24
2dee: 90 93 f0 01 sts 0x01F0, r25
2df2: a0 93 f1 01 sts 0x01F1, r26
2df6: b0 93 f2 01 sts 0x01F2, r27
2dfa: 80 91 ff 01 lds r24, 0x01FF
2dfe: 90 91 00 02 lds r25, 0x0200
2e02: a0 91 01 02 lds r26, 0x0201
2e06: b0 91 02 02 lds r27, 0x0202
2e0a: 80 93 eb 01 sts 0x01EB, r24
2e0e: 90 93 ec 01 sts 0x01EC, r25
2e12: a0 93 ed 01 sts 0x01ED, r26
2e16: b0 93 ee 01 sts 0x01EE, r27
2e1a: 80 91 07 02 lds r24, 0x0207
2e1e: 90 91 08 02 lds r25, 0x0208
2e22: a0 91 09 02 lds r26, 0x0209
2e26: b0 91 0a 02 lds r27, 0x020A
2e2a: 80 93 f3 01 sts 0x01F3, r24
2e2e: 90 93 f4 01 sts 0x01F4, r25
2e32: a0 93 f5 01 sts 0x01F5, r26
2e36: b0 93 f6 01 sts 0x01F6, r27
2e3a: 8f ee ldi r24, 0xEF ; 239
2e3c: 80 93 7a 00 sts 0x007A, r24
2e40: 80 91 da 05 lds r24, 0x05DA
2e44: 90 91 db 05 lds r25, 0x05DB
2e48: 89 3c cpi r24, 0xC9 ; 201
2e4a: 91 05 cpc r25, r1
2e4c: 7c f0 brlt .+30 ; 0x2e6c <Mittelwert+0x300>
2e4e: 20 91 da 05 lds r18, 0x05DA
2e52: 30 91 db 05 lds r19, 0x05DB
2e56: 80 91 da 05 lds r24, 0x05DA
2e5a: 90 91 db 05 lds r25, 0x05DB
2e5e: 88 0f add r24, r24
2e60: 99 1f adc r25, r25
2e62: 88 0f add r24, r24
2e64: 99 1f adc r25, r25
2e66: 20 52 subi r18, 0x20 ; 32
2e68: 33 40 sbci r19, 0x03 ; 3
2e6a: 15 c0 rjmp .+42 ; 0x2e96 <Mittelwert+0x32a>
2e6c: 80 91 da 05 lds r24, 0x05DA
2e70: 90 91 db 05 lds r25, 0x05DB
2e74: 88 53 subi r24, 0x38 ; 56
2e76: 9f 4f sbci r25, 0xFF ; 255
2e78: a4 f4 brge .+40 ; 0x2ea2 <Mittelwert+0x336>
2e7a: 20 91 da 05 lds r18, 0x05DA
2e7e: 30 91 db 05 lds r19, 0x05DB
2e82: 80 91 da 05 lds r24, 0x05DA
2e86: 90 91 db 05 lds r25, 0x05DB
2e8a: 88 0f add r24, r24
2e8c: 99 1f adc r25, r25
2e8e: 88 0f add r24, r24
2e90: 99 1f adc r25, r25
2e92: 20 5e subi r18, 0xE0 ; 224
2e94: 3c 4f sbci r19, 0xFC ; 252
2e96: 82 0f add r24, r18
2e98: 93 1f adc r25, r19
2e9a: 90 93 db 05 sts 0x05DB, r25
2e9e: 80 93 da 05 sts 0x05DA, r24
2ea2: 80 91 d8 05 lds r24, 0x05D8
2ea6: 90 91 d9 05 lds r25, 0x05D9
2eaa: 89 3c cpi r24, 0xC9 ; 201
2eac: 91 05 cpc r25, r1
2eae: 7c f0 brlt .+30 ; 0x2ece <Mittelwert+0x362>
2eb0: 20 91 d8 05 lds r18, 0x05D8
2eb4: 30 91 d9 05 lds r19, 0x05D9
2eb8: 80 91 d8 05 lds r24, 0x05D8
2ebc: 90 91 d9 05 lds r25, 0x05D9
2ec0: 88 0f add r24, r24
2ec2: 99 1f adc r25, r25
2ec4: 88 0f add r24, r24
2ec6: 99 1f adc r25, r25
2ec8: 20 52 subi r18, 0x20 ; 32
2eca: 33 40 sbci r19, 0x03 ; 3
2ecc: 15 c0 rjmp .+42 ; 0x2ef8 <Mittelwert+0x38c>
2ece: 80 91 d8 05 lds r24, 0x05D8
2ed2: 90 91 d9 05 lds r25, 0x05D9
2ed6: 88 53 subi r24, 0x38 ; 56
2ed8: 9f 4f sbci r25, 0xFF ; 255
2eda: a4 f4 brge .+40 ; 0x2f04 <Mittelwert+0x398>
2edc: 20 91 d8 05 lds r18, 0x05D8
2ee0: 30 91 d9 05 lds r19, 0x05D9
2ee4: 80 91 d8 05 lds r24, 0x05D8
2ee8: 90 91 d9 05 lds r25, 0x05D9
2eec: 88 0f add r24, r24
2eee: 99 1f adc r25, r25
2ef0: 88 0f add r24, r24
2ef2: 99 1f adc r25, r25
2ef4: 20 5e subi r18, 0xE0 ; 224
2ef6: 3c 4f sbci r19, 0xFC ; 252
2ef8: 82 0f add r24, r18
2efa: 93 1f adc r25, r19
2efc: 90 93 d9 05 sts 0x05D9, r25
2f00: 80 93 d8 05 sts 0x05D8, r24
2f04: 20 91 1f 02 lds r18, 0x021F
2f08: 30 91 20 02 lds r19, 0x0220
2f0c: 80 91 a2 05 lds r24, 0x05A2
2f10: e8 2f mov r30, r24
2f12: ff 27 eor r31, r31
2f14: ee 0f add r30, r30
2f16: ff 1f adc r31, r31
2f18: ee 58 subi r30, 0x8E ; 142
2f1a: fa 4f sbci r31, 0xFA ; 250
2f1c: 80 81 ld r24, Z
2f1e: 91 81 ldd r25, Z+1 ; 0x01
2f20: 82 59 subi r24, 0x92 ; 146
2f22: 9f 4f sbci r25, 0xFF ; 255
2f24: 28 17 cp r18, r24
2f26: 39 07 cpc r19, r25
2f28: 1c f4 brge .+6 ; 0x2f30 <Mittelwert+0x3c4>
2f2a: 2f 5f subi r18, 0xFF ; 255
2f2c: 3f 4f sbci r19, 0xFF ; 255
2f2e: 0c c0 rjmp .+24 ; 0x2f48 <Mittelwert+0x3dc>
2f30: 80 81 ld r24, Z
2f32: 91 81 ldd r25, Z+1 ; 0x01
2f34: 82 59 subi r24, 0x92 ; 146
2f36: 9f 4f sbci r25, 0xFF ; 255
2f38: 82 17 cp r24, r18
2f3a: 93 07 cpc r25, r19
2f3c: 4c f4 brge .+18 ; 0x2f50 <Mittelwert+0x3e4>
2f3e: 21 15 cp r18, r1
2f40: 31 05 cpc r19, r1
2f42: 31 f0 breq .+12 ; 0x2f50 <Mittelwert+0x3e4>
2f44: 21 50 subi r18, 0x01 ; 1
2f46: 30 40 sbci r19, 0x00 ; 0
2f48: 30 93 20 02 sts 0x0220, r19
2f4c: 20 93 1f 02 sts 0x021F, r18
2f50: 20 91 21 02 lds r18, 0x0221
2f54: 30 91 22 02 lds r19, 0x0222
2f58: 80 91 a3 05 lds r24, 0x05A3
2f5c: e8 2f mov r30, r24
2f5e: ff 27 eor r31, r31
2f60: ee 0f add r30, r30
2f62: ff 1f adc r31, r31
2f64: ee 58 subi r30, 0x8E ; 142
2f66: fa 4f sbci r31, 0xFA ; 250
2f68: 80 81 ld r24, Z
2f6a: 91 81 ldd r25, Z+1 ; 0x01
2f6c: 82 59 subi r24, 0x92 ; 146
2f6e: 9f 4f sbci r25, 0xFF ; 255
2f70: 28 17 cp r18, r24
2f72: 39 07 cpc r19, r25
2f74: 1c f4 brge .+6 ; 0x2f7c <Mittelwert+0x410>
2f76: 2f 5f subi r18, 0xFF ; 255
2f78: 3f 4f sbci r19, 0xFF ; 255
2f7a: 0c c0 rjmp .+24 ; 0x2f94 <Mittelwert+0x428>
2f7c: 80 81 ld r24, Z
2f7e: 91 81 ldd r25, Z+1 ; 0x01
2f80: 82 59 subi r24, 0x92 ; 146
2f82: 9f 4f sbci r25, 0xFF ; 255
2f84: 82 17 cp r24, r18
2f86: 93 07 cpc r25, r19
2f88: 4c f4 brge .+18 ; 0x2f9c <Mittelwert+0x430>
2f8a: 21 15 cp r18, r1
2f8c: 31 05 cpc r19, r1
2f8e: 31 f0 breq .+12 ; 0x2f9c <Mittelwert+0x430>
2f90: 21 50 subi r18, 0x01 ; 1
2f92: 30 40 sbci r19, 0x00 ; 0
2f94: 30 93 22 02 sts 0x0222, r19
2f98: 20 93 21 02 sts 0x0221, r18
2f9c: 20 91 23 02 lds r18, 0x0223
2fa0: 30 91 24 02 lds r19, 0x0224
2fa4: 80 91 a4 05 lds r24, 0x05A4
2fa8: e8 2f mov r30, r24
2faa: ff 27 eor r31, r31
2fac: ee 0f add r30, r30
2fae: ff 1f adc r31, r31
2fb0: ee 58 subi r30, 0x8E ; 142
2fb2: fa 4f sbci r31, 0xFA ; 250
2fb4: 80 81 ld r24, Z
2fb6: 91 81 ldd r25, Z+1 ; 0x01
2fb8: 82 59 subi r24, 0x92 ; 146
2fba: 9f 4f sbci r25, 0xFF ; 255
2fbc: 28 17 cp r18, r24
2fbe: 39 07 cpc r19, r25
2fc0: 1c f4 brge .+6 ; 0x2fc8 <Mittelwert+0x45c>
2fc2: 2f 5f subi r18, 0xFF ; 255
2fc4: 3f 4f sbci r19, 0xFF ; 255
2fc6: 0c c0 rjmp .+24 ; 0x2fe0 <Mittelwert+0x474>
2fc8: 80 81 ld r24, Z
2fca: 91 81 ldd r25, Z+1 ; 0x01
2fcc: 82 59 subi r24, 0x92 ; 146
2fce: 9f 4f sbci r25, 0xFF ; 255
2fd0: 82 17 cp r24, r18
2fd2: 93 07 cpc r25, r19
2fd4: 4c f4 brge .+18 ; 0x2fe8 <Mittelwert+0x47c>
2fd6: 21 15 cp r18, r1
2fd8: 31 05 cpc r19, r1
2fda: 31 f0 breq .+12 ; 0x2fe8 <Mittelwert+0x47c>
2fdc: 21 50 subi r18, 0x01 ; 1
2fde: 30 40 sbci r19, 0x00 ; 0
2fe0: 30 93 24 02 sts 0x0224, r19
2fe4: 20 93 23 02 sts 0x0223, r18
2fe8: 20 91 25 02 lds r18, 0x0225
2fec: 30 91 26 02 lds r19, 0x0226
2ff0: 80 91 a5 05 lds r24, 0x05A5
2ff4: e8 2f mov r30, r24
2ff6: ff 27 eor r31, r31
2ff8: ee 0f add r30, r30
2ffa: ff 1f adc r31, r31
2ffc: ee 58 subi r30, 0x8E ; 142
2ffe: fa 4f sbci r31, 0xFA ; 250
3000: 80 81 ld r24, Z
3002: 91 81 ldd r25, Z+1 ; 0x01
3004: 82 59 subi r24, 0x92 ; 146
3006: 9f 4f sbci r25, 0xFF ; 255
3008: 28 17 cp r18, r24
300a: 39 07 cpc r19, r25
300c: 1c f4 brge .+6 ; 0x3014 <Mittelwert+0x4a8>
300e: 2f 5f subi r18, 0xFF ; 255
3010: 3f 4f sbci r19, 0xFF ; 255
3012: 0c c0 rjmp .+24 ; 0x302c <Mittelwert+0x4c0>
3014: 80 81 ld r24, Z
3016: 91 81 ldd r25, Z+1 ; 0x01
3018: 82 59 subi r24, 0x92 ; 146
301a: 9f 4f sbci r25, 0xFF ; 255
301c: 82 17 cp r24, r18
301e: 93 07 cpc r25, r19
3020: 4c f4 brge .+18 ; 0x3034 <Mittelwert+0x4c8>
3022: 21 15 cp r18, r1
3024: 31 05 cpc r19, r1
3026: 31 f0 breq .+12 ; 0x3034 <Mittelwert+0x4c8>
3028: 21 50 subi r18, 0x01 ; 1
302a: 30 40 sbci r19, 0x00 ; 0
302c: 30 93 26 02 sts 0x0226, r19
3030: 20 93 25 02 sts 0x0225, r18
3034: 80 91 1f 02 lds r24, 0x021F
3038: 90 91 20 02 lds r25, 0x0220
303c: 97 ff sbrs r25, 7
303e: 05 c0 rjmp .+10 ; 0x304a <Mittelwert+0x4de>
3040: 10 92 20 02 sts 0x0220, r1
3044: 10 92 1f 02 sts 0x021F, r1
3048: 0a c0 rjmp .+20 ; 0x305e <Mittelwert+0x4f2>
304a: 8f 3f cpi r24, 0xFF ; 255
304c: 91 05 cpc r25, r1
304e: 39 f0 breq .+14 ; 0x305e <Mittelwert+0x4f2>
3050: 34 f0 brlt .+12 ; 0x305e <Mittelwert+0x4f2>
3052: 8f ef ldi r24, 0xFF ; 255
3054: 90 e0 ldi r25, 0x00 ; 0
3056: 90 93 20 02 sts 0x0220, r25
305a: 80 93 1f 02 sts 0x021F, r24
305e: 80 91 21 02 lds r24, 0x0221
3062: 90 91 22 02 lds r25, 0x0222
3066: 97 ff sbrs r25, 7
3068: 05 c0 rjmp .+10 ; 0x3074 <Mittelwert+0x508>
306a: 10 92 22 02 sts 0x0222, r1
306e: 10 92 21 02 sts 0x0221, r1
3072: 0a c0 rjmp .+20 ; 0x3088 <Mittelwert+0x51c>
3074: 8f 3f cpi r24, 0xFF ; 255
3076: 91 05 cpc r25, r1
3078: 39 f0 breq .+14 ; 0x3088 <Mittelwert+0x51c>
307a: 34 f0 brlt .+12 ; 0x3088 <Mittelwert+0x51c>
307c: 8f ef ldi r24, 0xFF ; 255
307e: 90 e0 ldi r25, 0x00 ; 0
3080: 90 93 22 02 sts 0x0222, r25
3084: 80 93 21 02 sts 0x0221, r24
3088: 80 91 23 02 lds r24, 0x0223
308c: 90 91 24 02 lds r25, 0x0224
3090: 97 ff sbrs r25, 7
3092: 05 c0 rjmp .+10 ; 0x309e <Mittelwert+0x532>
3094: 10 92 24 02 sts 0x0224, r1
3098: 10 92 23 02 sts 0x0223, r1
309c: 0a c0 rjmp .+20 ; 0x30b2 <Mittelwert+0x546>
309e: 8f 3f cpi r24, 0xFF ; 255
30a0: 91 05 cpc r25, r1
30a2: 39 f0 breq .+14 ; 0x30b2 <Mittelwert+0x546>
30a4: 34 f0 brlt .+12 ; 0x30b2 <Mittelwert+0x546>
30a6: 8f ef ldi r24, 0xFF ; 255
30a8: 90 e0 ldi r25, 0x00 ; 0
30aa: 90 93 24 02 sts 0x0224, r25
30ae: 80 93 23 02 sts 0x0223, r24
30b2: 80 91 25 02 lds r24, 0x0225
30b6: 90 91 26 02 lds r25, 0x0226
30ba: 97 ff sbrs r25, 7
30bc: 05 c0 rjmp .+10 ; 0x30c8 <Mittelwert+0x55c>
30be: 10 92 26 02 sts 0x0226, r1
30c2: 10 92 25 02 sts 0x0225, r1
30c6: 0a c0 rjmp .+20 ; 0x30dc <Mittelwert+0x570>
30c8: 8f 3f cpi r24, 0xFF ; 255
30ca: 91 05 cpc r25, r1
30cc: 39 f0 breq .+14 ; 0x30dc <Mittelwert+0x570>
30ce: 34 f0 brlt .+12 ; 0x30dc <Mittelwert+0x570>
30d0: 8f ef ldi r24, 0xFF ; 255
30d2: 90 e0 ldi r25, 0x00 ; 0
30d4: 90 93 26 02 sts 0x0226, r25
30d8: 80 93 25 02 sts 0x0225, r24
30dc: 1f 91 pop r17
30de: 0f 91 pop r16
30e0: ff 90 pop r15
30e2: ef 90 pop r14
30e4: df 90 pop r13
30e6: cf 90 pop r12
30e8: bf 90 pop r11
30ea: af 90 pop r10
30ec: 08 95 ret
 
000030ee <CalibrierMittelwert>:
30ee: 10 92 7a 00 sts 0x007A, r1
30f2: 80 91 be 01 lds r24, 0x01BE
30f6: 88 23 and r24, r24
30f8: 69 f0 breq .+26 ; 0x3114 <CalibrierMittelwert+0x26>
30fa: 80 91 b2 01 lds r24, 0x01B2
30fe: 90 91 b3 01 lds r25, 0x01B3
3102: 60 91 be 01 lds r22, 0x01BE
3106: 77 27 eor r23, r23
3108: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
310c: 70 93 db 05 sts 0x05DB, r23
3110: 60 93 da 05 sts 0x05DA, r22
3114: 80 91 bf 01 lds r24, 0x01BF
3118: 88 23 and r24, r24
311a: 69 f0 breq .+26 ; 0x3136 <CalibrierMittelwert+0x48>
311c: 80 91 b4 01 lds r24, 0x01B4
3120: 90 91 b5 01 lds r25, 0x01B5
3124: 60 91 bf 01 lds r22, 0x01BF
3128: 77 27 eor r23, r23
312a: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
312e: 70 93 d9 05 sts 0x05D9, r23
3132: 60 93 d8 05 sts 0x05D8, r22
3136: 80 91 c0 01 lds r24, 0x01C0
313a: 88 23 and r24, r24
313c: 69 f0 breq .+26 ; 0x3158 <CalibrierMittelwert+0x6a>
313e: 80 91 b6 01 lds r24, 0x01B6
3142: 90 91 b7 01 lds r25, 0x01B7
3146: 60 91 c0 01 lds r22, 0x01C0
314a: 77 27 eor r23, r23
314c: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
3150: 70 93 e7 05 sts 0x05E7, r23
3154: 60 93 e6 05 sts 0x05E6, r22
3158: 80 91 c1 01 lds r24, 0x01C1
315c: 88 23 and r24, r24
315e: d1 f0 breq .+52 ; 0x3194 <CalibrierMittelwert+0xa6>
3160: 60 91 ba 01 lds r22, 0x01BA
3164: 70 91 bb 01 lds r23, 0x01BB
3168: 20 91 c1 01 lds r18, 0x01C1
316c: 88 27 eor r24, r24
316e: 77 fd sbrc r23, 7
3170: 80 95 com r24
3172: 98 2f mov r25, r24
3174: 34 e0 ldi r19, 0x04 ; 4
3176: 66 0f add r22, r22
3178: 77 1f adc r23, r23
317a: 88 1f adc r24, r24
317c: 99 1f adc r25, r25
317e: 3a 95 dec r19
3180: d1 f7 brne .-12 ; 0x3176 <CalibrierMittelwert+0x88>
3182: 33 27 eor r19, r19
3184: 44 27 eor r20, r20
3186: 55 27 eor r21, r21
3188: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
318c: 30 93 e4 05 sts 0x05E4, r19
3190: 20 93 e3 05 sts 0x05E3, r18
3194: 80 91 c2 01 lds r24, 0x01C2
3198: 88 23 and r24, r24
319a: d1 f0 breq .+52 ; 0x31d0 <CalibrierMittelwert+0xe2>
319c: 60 91 b8 01 lds r22, 0x01B8
31a0: 70 91 b9 01 lds r23, 0x01B9
31a4: 20 91 c2 01 lds r18, 0x01C2
31a8: 88 27 eor r24, r24
31aa: 77 fd sbrc r23, 7
31ac: 80 95 com r24
31ae: 98 2f mov r25, r24
31b0: b4 e0 ldi r27, 0x04 ; 4
31b2: 66 0f add r22, r22
31b4: 77 1f adc r23, r23
31b6: 88 1f adc r24, r24
31b8: 99 1f adc r25, r25
31ba: ba 95 dec r27
31bc: d1 f7 brne .-12 ; 0x31b2 <CalibrierMittelwert+0xc4>
31be: 33 27 eor r19, r19
31c0: 44 27 eor r20, r20
31c2: 55 27 eor r21, r21
31c4: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
31c8: 30 93 ed 05 sts 0x05ED, r19
31cc: 20 93 ec 05 sts 0x05EC, r18
31d0: 80 91 c3 01 lds r24, 0x01C3
31d4: 88 23 and r24, r24
31d6: 99 f0 breq .+38 ; 0x31fe <CalibrierMittelwert+0x110>
31d8: 60 91 bc 01 lds r22, 0x01BC
31dc: 70 91 bd 01 lds r23, 0x01BD
31e0: 20 91 c3 01 lds r18, 0x01C3
31e4: 88 27 eor r24, r24
31e6: 77 fd sbrc r23, 7
31e8: 80 95 com r24
31ea: 98 2f mov r25, r24
31ec: 33 27 eor r19, r19
31ee: 44 27 eor r20, r20
31f0: 55 27 eor r21, r21
31f2: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
31f6: 30 93 de 05 sts 0x05DE, r19
31fa: 20 93 dd 05 sts 0x05DD, r18
31fe: 10 92 b3 01 sts 0x01B3, r1
3202: 10 92 b2 01 sts 0x01B2, r1
3206: 10 92 be 01 sts 0x01BE, r1
320a: 10 92 b5 01 sts 0x01B5, r1
320e: 10 92 b4 01 sts 0x01B4, r1
3212: 10 92 bf 01 sts 0x01BF, r1
3216: 10 92 b7 01 sts 0x01B7, r1
321a: 10 92 b6 01 sts 0x01B6, r1
321e: 10 92 c0 01 sts 0x01C0, r1
3222: 10 92 b9 01 sts 0x01B9, r1
3226: 10 92 b8 01 sts 0x01B8, r1
322a: 10 92 c2 01 sts 0x01C2, r1
322e: 10 92 bb 01 sts 0x01BB, r1
3232: 10 92 ba 01 sts 0x01BA, r1
3236: 10 92 c1 01 sts 0x01C1, r1
323a: 10 92 bd 01 sts 0x01BD, r1
323e: 10 92 bc 01 sts 0x01BC, r1
3242: 10 92 c3 01 sts 0x01C3, r1
3246: 8f ee ldi r24, 0xEF ; 239
3248: 80 93 7a 00 sts 0x007A, r24
324c: 20 91 1f 02 lds r18, 0x021F
3250: 30 91 20 02 lds r19, 0x0220
3254: 80 91 a2 05 lds r24, 0x05A2
3258: e8 2f mov r30, r24
325a: ff 27 eor r31, r31
325c: ee 0f add r30, r30
325e: ff 1f adc r31, r31
3260: ee 58 subi r30, 0x8E ; 142
3262: fa 4f sbci r31, 0xFA ; 250
3264: 80 81 ld r24, Z
3266: 91 81 ldd r25, Z+1 ; 0x01
3268: 82 59 subi r24, 0x92 ; 146
326a: 9f 4f sbci r25, 0xFF ; 255
326c: 28 17 cp r18, r24
326e: 39 07 cpc r19, r25
3270: 1c f4 brge .+6 ; 0x3278 <CalibrierMittelwert+0x18a>
3272: 2f 5f subi r18, 0xFF ; 255
3274: 3f 4f sbci r19, 0xFF ; 255
3276: 0c c0 rjmp .+24 ; 0x3290 <CalibrierMittelwert+0x1a2>
3278: 80 81 ld r24, Z
327a: 91 81 ldd r25, Z+1 ; 0x01
327c: 82 59 subi r24, 0x92 ; 146
327e: 9f 4f sbci r25, 0xFF ; 255
3280: 82 17 cp r24, r18
3282: 93 07 cpc r25, r19
3284: 4c f4 brge .+18 ; 0x3298 <CalibrierMittelwert+0x1aa>
3286: 21 15 cp r18, r1
3288: 31 05 cpc r19, r1
328a: 31 f0 breq .+12 ; 0x3298 <CalibrierMittelwert+0x1aa>
328c: 21 50 subi r18, 0x01 ; 1
328e: 30 40 sbci r19, 0x00 ; 0
3290: 30 93 20 02 sts 0x0220, r19
3294: 20 93 1f 02 sts 0x021F, r18
3298: 20 91 21 02 lds r18, 0x0221
329c: 30 91 22 02 lds r19, 0x0222
32a0: 80 91 a3 05 lds r24, 0x05A3
32a4: e8 2f mov r30, r24
32a6: ff 27 eor r31, r31
32a8: ee 0f add r30, r30
32aa: ff 1f adc r31, r31
32ac: ee 58 subi r30, 0x8E ; 142
32ae: fa 4f sbci r31, 0xFA ; 250
32b0: 80 81 ld r24, Z
32b2: 91 81 ldd r25, Z+1 ; 0x01
32b4: 82 59 subi r24, 0x92 ; 146
32b6: 9f 4f sbci r25, 0xFF ; 255
32b8: 28 17 cp r18, r24
32ba: 39 07 cpc r19, r25
32bc: 1c f4 brge .+6 ; 0x32c4 <CalibrierMittelwert+0x1d6>
32be: 2f 5f subi r18, 0xFF ; 255
32c0: 3f 4f sbci r19, 0xFF ; 255
32c2: 0c c0 rjmp .+24 ; 0x32dc <CalibrierMittelwert+0x1ee>
32c4: 80 81 ld r24, Z
32c6: 91 81 ldd r25, Z+1 ; 0x01
32c8: 82 59 subi r24, 0x92 ; 146
32ca: 9f 4f sbci r25, 0xFF ; 255
32cc: 82 17 cp r24, r18
32ce: 93 07 cpc r25, r19
32d0: 4c f4 brge .+18 ; 0x32e4 <CalibrierMittelwert+0x1f6>
32d2: 21 15 cp r18, r1
32d4: 31 05 cpc r19, r1
32d6: 31 f0 breq .+12 ; 0x32e4 <CalibrierMittelwert+0x1f6>
32d8: 21 50 subi r18, 0x01 ; 1
32da: 30 40 sbci r19, 0x00 ; 0
32dc: 30 93 22 02 sts 0x0222, r19
32e0: 20 93 21 02 sts 0x0221, r18
32e4: 20 91 23 02 lds r18, 0x0223
32e8: 30 91 24 02 lds r19, 0x0224
32ec: 80 91 a4 05 lds r24, 0x05A4
32f0: e8 2f mov r30, r24
32f2: ff 27 eor r31, r31
32f4: ee 0f add r30, r30
32f6: ff 1f adc r31, r31
32f8: ee 58 subi r30, 0x8E ; 142
32fa: fa 4f sbci r31, 0xFA ; 250
32fc: 80 81 ld r24, Z
32fe: 91 81 ldd r25, Z+1 ; 0x01
3300: 82 59 subi r24, 0x92 ; 146
3302: 9f 4f sbci r25, 0xFF ; 255
3304: 28 17 cp r18, r24
3306: 39 07 cpc r19, r25
3308: 1c f4 brge .+6 ; 0x3310 <CalibrierMittelwert+0x222>
330a: 2f 5f subi r18, 0xFF ; 255
330c: 3f 4f sbci r19, 0xFF ; 255
330e: 0c c0 rjmp .+24 ; 0x3328 <CalibrierMittelwert+0x23a>
3310: 80 81 ld r24, Z
3312: 91 81 ldd r25, Z+1 ; 0x01
3314: 82 59 subi r24, 0x92 ; 146
3316: 9f 4f sbci r25, 0xFF ; 255
3318: 82 17 cp r24, r18
331a: 93 07 cpc r25, r19
331c: 4c f4 brge .+18 ; 0x3330 <CalibrierMittelwert+0x242>
331e: 21 15 cp r18, r1
3320: 31 05 cpc r19, r1
3322: 31 f0 breq .+12 ; 0x3330 <CalibrierMittelwert+0x242>
3324: 21 50 subi r18, 0x01 ; 1
3326: 30 40 sbci r19, 0x00 ; 0
3328: 30 93 24 02 sts 0x0224, r19
332c: 20 93 23 02 sts 0x0223, r18
3330: 20 91 25 02 lds r18, 0x0225
3334: 30 91 26 02 lds r19, 0x0226
3338: 80 91 a5 05 lds r24, 0x05A5
333c: e8 2f mov r30, r24
333e: ff 27 eor r31, r31
3340: ee 0f add r30, r30
3342: ff 1f adc r31, r31
3344: ee 58 subi r30, 0x8E ; 142
3346: fa 4f sbci r31, 0xFA ; 250
3348: 80 81 ld r24, Z
334a: 91 81 ldd r25, Z+1 ; 0x01
334c: 82 59 subi r24, 0x92 ; 146
334e: 9f 4f sbci r25, 0xFF ; 255
3350: 28 17 cp r18, r24
3352: 39 07 cpc r19, r25
3354: 1c f4 brge .+6 ; 0x335c <CalibrierMittelwert+0x26e>
3356: 2f 5f subi r18, 0xFF ; 255
3358: 3f 4f sbci r19, 0xFF ; 255
335a: 0c c0 rjmp .+24 ; 0x3374 <CalibrierMittelwert+0x286>
335c: 80 81 ld r24, Z
335e: 91 81 ldd r25, Z+1 ; 0x01
3360: 82 59 subi r24, 0x92 ; 146
3362: 9f 4f sbci r25, 0xFF ; 255
3364: 82 17 cp r24, r18
3366: 93 07 cpc r25, r19
3368: 4c f4 brge .+18 ; 0x337c <CalibrierMittelwert+0x28e>
336a: 21 15 cp r18, r1
336c: 31 05 cpc r19, r1
336e: 31 f0 breq .+12 ; 0x337c <CalibrierMittelwert+0x28e>
3370: 21 50 subi r18, 0x01 ; 1
3372: 30 40 sbci r19, 0x00 ; 0
3374: 30 93 26 02 sts 0x0226, r19
3378: 20 93 25 02 sts 0x0225, r18
337c: 80 91 1f 02 lds r24, 0x021F
3380: 90 91 20 02 lds r25, 0x0220
3384: 97 ff sbrs r25, 7
3386: 05 c0 rjmp .+10 ; 0x3392 <CalibrierMittelwert+0x2a4>
3388: 10 92 20 02 sts 0x0220, r1
338c: 10 92 1f 02 sts 0x021F, r1
3390: 0a c0 rjmp .+20 ; 0x33a6 <CalibrierMittelwert+0x2b8>
3392: 8f 3f cpi r24, 0xFF ; 255
3394: 91 05 cpc r25, r1
3396: 39 f0 breq .+14 ; 0x33a6 <CalibrierMittelwert+0x2b8>
3398: 34 f0 brlt .+12 ; 0x33a6 <CalibrierMittelwert+0x2b8>
339a: 8f ef ldi r24, 0xFF ; 255
339c: 90 e0 ldi r25, 0x00 ; 0
339e: 90 93 20 02 sts 0x0220, r25
33a2: 80 93 1f 02 sts 0x021F, r24
33a6: 80 91 21 02 lds r24, 0x0221
33aa: 90 91 22 02 lds r25, 0x0222
33ae: 97 ff sbrs r25, 7
33b0: 05 c0 rjmp .+10 ; 0x33bc <CalibrierMittelwert+0x2ce>
33b2: 10 92 22 02 sts 0x0222, r1
33b6: 10 92 21 02 sts 0x0221, r1
33ba: 0a c0 rjmp .+20 ; 0x33d0 <CalibrierMittelwert+0x2e2>
33bc: 8f 3f cpi r24, 0xFF ; 255
33be: 91 05 cpc r25, r1
33c0: 39 f0 breq .+14 ; 0x33d0 <CalibrierMittelwert+0x2e2>
33c2: 34 f0 brlt .+12 ; 0x33d0 <CalibrierMittelwert+0x2e2>
33c4: 8f ef ldi r24, 0xFF ; 255
33c6: 90 e0 ldi r25, 0x00 ; 0
33c8: 90 93 22 02 sts 0x0222, r25
33cc: 80 93 21 02 sts 0x0221, r24
33d0: 80 91 23 02 lds r24, 0x0223
33d4: 90 91 24 02 lds r25, 0x0224
33d8: 97 ff sbrs r25, 7
33da: 05 c0 rjmp .+10 ; 0x33e6 <CalibrierMittelwert+0x2f8>
33dc: 10 92 24 02 sts 0x0224, r1
33e0: 10 92 23 02 sts 0x0223, r1
33e4: 0a c0 rjmp .+20 ; 0x33fa <CalibrierMittelwert+0x30c>
33e6: 8f 3f cpi r24, 0xFF ; 255
33e8: 91 05 cpc r25, r1
33ea: 39 f0 breq .+14 ; 0x33fa <CalibrierMittelwert+0x30c>
33ec: 34 f0 brlt .+12 ; 0x33fa <CalibrierMittelwert+0x30c>
33ee: 8f ef ldi r24, 0xFF ; 255
33f0: 90 e0 ldi r25, 0x00 ; 0
33f2: 90 93 24 02 sts 0x0224, r25
33f6: 80 93 23 02 sts 0x0223, r24
33fa: 80 91 25 02 lds r24, 0x0225
33fe: 90 91 26 02 lds r25, 0x0226
3402: 97 ff sbrs r25, 7
3404: 05 c0 rjmp .+10 ; 0x3410 <CalibrierMittelwert+0x322>
3406: 10 92 26 02 sts 0x0226, r1
340a: 10 92 25 02 sts 0x0225, r1
340e: 08 95 ret
3410: 8f 3f cpi r24, 0xFF ; 255
3412: 91 05 cpc r25, r1
3414: 39 f0 breq .+14 ; 0x3424 <CalibrierMittelwert+0x336>
3416: 34 f0 brlt .+12 ; 0x3424 <CalibrierMittelwert+0x336>
3418: 8f ef ldi r24, 0xFF ; 255
341a: 90 e0 ldi r25, 0x00 ; 0
341c: 90 93 26 02 sts 0x0226, r25
3420: 80 93 25 02 sts 0x0225, r24
3424: 08 95 ret
 
00003426 <ParameterZuordnung>:
3426: 1f 93 push r17
3428: 80 91 a9 05 lds r24, 0x05A9
342c: 8b 3f cpi r24, 0xFB ; 251
342e: 98 f0 brcs .+38 ; 0x3456 <ParameterZuordnung+0x30>
3430: 8b 3f cpi r24, 0xFB ; 251
3432: 19 f4 brne .+6 ; 0x343a <ParameterZuordnung+0x14>
3434: 80 91 1f 02 lds r24, 0x021F
3438: 0e c0 rjmp .+28 ; 0x3456 <ParameterZuordnung+0x30>
343a: 8c 3f cpi r24, 0xFC ; 252
343c: 19 f4 brne .+6 ; 0x3444 <ParameterZuordnung+0x1e>
343e: 80 91 21 02 lds r24, 0x0221
3442: 09 c0 rjmp .+18 ; 0x3456 <ParameterZuordnung+0x30>
3444: 8d 3f cpi r24, 0xFD ; 253
3446: 19 f4 brne .+6 ; 0x344e <ParameterZuordnung+0x28>
3448: 80 91 23 02 lds r24, 0x0223
344c: 04 c0 rjmp .+8 ; 0x3456 <ParameterZuordnung+0x30>
344e: 8e 3f cpi r24, 0xFE ; 254
3450: 21 f4 brne .+8 ; 0x345a <ParameterZuordnung+0x34>
3452: 80 91 25 02 lds r24, 0x0225
3456: 80 93 81 01 sts 0x0181, r24
345a: 80 91 81 01 lds r24, 0x0181
345e: 88 23 and r24, r24
3460: 19 f4 brne .+6 ; 0x3468 <ParameterZuordnung+0x42>
3462: 10 92 81 01 sts 0x0181, r1
3466: 04 c0 rjmp .+8 ; 0x3470 <ParameterZuordnung+0x4a>
3468: 8f 3f cpi r24, 0xFF ; 255
346a: 11 f4 brne .+4 ; 0x3470 <ParameterZuordnung+0x4a>
346c: 80 93 81 01 sts 0x0181, r24
3470: 80 91 a8 05 lds r24, 0x05A8
3474: 8b 3f cpi r24, 0xFB ; 251
3476: 98 f0 brcs .+38 ; 0x349e <ParameterZuordnung+0x78>
3478: 8b 3f cpi r24, 0xFB ; 251
347a: 19 f4 brne .+6 ; 0x3482 <ParameterZuordnung+0x5c>
347c: 80 91 1f 02 lds r24, 0x021F
3480: 0e c0 rjmp .+28 ; 0x349e <ParameterZuordnung+0x78>
3482: 8c 3f cpi r24, 0xFC ; 252
3484: 19 f4 brne .+6 ; 0x348c <ParameterZuordnung+0x66>
3486: 80 91 21 02 lds r24, 0x0221
348a: 09 c0 rjmp .+18 ; 0x349e <ParameterZuordnung+0x78>
348c: 8d 3f cpi r24, 0xFD ; 253
348e: 19 f4 brne .+6 ; 0x3496 <ParameterZuordnung+0x70>
3490: 80 91 23 02 lds r24, 0x0223
3494: 04 c0 rjmp .+8 ; 0x349e <ParameterZuordnung+0x78>
3496: 8e 3f cpi r24, 0xFE ; 254
3498: 21 f4 brne .+8 ; 0x34a2 <ParameterZuordnung+0x7c>
349a: 80 91 25 02 lds r24, 0x0225
349e: 80 93 80 01 sts 0x0180, r24
34a2: 80 91 80 01 lds r24, 0x0180
34a6: 88 23 and r24, r24
34a8: 19 f4 brne .+6 ; 0x34b0 <ParameterZuordnung+0x8a>
34aa: 10 92 80 01 sts 0x0180, r1
34ae: 05 c0 rjmp .+10 ; 0x34ba <ParameterZuordnung+0x94>
34b0: 84 36 cpi r24, 0x64 ; 100
34b2: 18 f0 brcs .+6 ; 0x34ba <ParameterZuordnung+0x94>
34b4: 84 e6 ldi r24, 0x64 ; 100
34b6: 80 93 80 01 sts 0x0180, r24
34ba: 80 91 aa 05 lds r24, 0x05AA
34be: 8b 3f cpi r24, 0xFB ; 251
34c0: 98 f0 brcs .+38 ; 0x34e8 <ParameterZuordnung+0xc2>
34c2: 8b 3f cpi r24, 0xFB ; 251
34c4: 19 f4 brne .+6 ; 0x34cc <ParameterZuordnung+0xa6>
34c6: 80 91 1f 02 lds r24, 0x021F
34ca: 0e c0 rjmp .+28 ; 0x34e8 <ParameterZuordnung+0xc2>
34cc: 8c 3f cpi r24, 0xFC ; 252
34ce: 19 f4 brne .+6 ; 0x34d6 <ParameterZuordnung+0xb0>
34d0: 80 91 21 02 lds r24, 0x0221
34d4: 09 c0 rjmp .+18 ; 0x34e8 <ParameterZuordnung+0xc2>
34d6: 8d 3f cpi r24, 0xFD ; 253
34d8: 19 f4 brne .+6 ; 0x34e0 <ParameterZuordnung+0xba>
34da: 80 91 23 02 lds r24, 0x0223
34de: 04 c0 rjmp .+8 ; 0x34e8 <ParameterZuordnung+0xc2>
34e0: 8e 3f cpi r24, 0xFE ; 254
34e2: 21 f4 brne .+8 ; 0x34ec <ParameterZuordnung+0xc6>
34e4: 80 91 25 02 lds r24, 0x0225
34e8: 80 93 82 01 sts 0x0182, r24
34ec: 80 91 82 01 lds r24, 0x0182
34f0: 88 23 and r24, r24
34f2: 19 f4 brne .+6 ; 0x34fa <ParameterZuordnung+0xd4>
34f4: 10 92 82 01 sts 0x0182, r1
34f8: 05 c0 rjmp .+10 ; 0x3504 <ParameterZuordnung+0xde>
34fa: 84 36 cpi r24, 0x64 ; 100
34fc: 18 f0 brcs .+6 ; 0x3504 <ParameterZuordnung+0xde>
34fe: 84 e6 ldi r24, 0x64 ; 100
3500: 80 93 82 01 sts 0x0182, r24
3504: 80 91 ac 05 lds r24, 0x05AC
3508: 8b 3f cpi r24, 0xFB ; 251
350a: 98 f0 brcs .+38 ; 0x3532 <ParameterZuordnung+0x10c>
350c: 8b 3f cpi r24, 0xFB ; 251
350e: 19 f4 brne .+6 ; 0x3516 <ParameterZuordnung+0xf0>
3510: 80 91 1f 02 lds r24, 0x021F
3514: 0e c0 rjmp .+28 ; 0x3532 <ParameterZuordnung+0x10c>
3516: 8c 3f cpi r24, 0xFC ; 252
3518: 19 f4 brne .+6 ; 0x3520 <ParameterZuordnung+0xfa>
351a: 80 91 21 02 lds r24, 0x0221
351e: 09 c0 rjmp .+18 ; 0x3532 <ParameterZuordnung+0x10c>
3520: 8d 3f cpi r24, 0xFD ; 253
3522: 19 f4 brne .+6 ; 0x352a <ParameterZuordnung+0x104>
3524: 80 91 23 02 lds r24, 0x0223
3528: 04 c0 rjmp .+8 ; 0x3532 <ParameterZuordnung+0x10c>
352a: 8e 3f cpi r24, 0xFE ; 254
352c: 21 f4 brne .+8 ; 0x3536 <ParameterZuordnung+0x110>
352e: 80 91 25 02 lds r24, 0x0225
3532: 80 93 83 01 sts 0x0183, r24
3536: 80 91 83 01 lds r24, 0x0183
353a: 88 23 and r24, r24
353c: 19 f4 brne .+6 ; 0x3544 <ParameterZuordnung+0x11e>
353e: 10 92 83 01 sts 0x0183, r1
3542: 04 c0 rjmp .+8 ; 0x354c <ParameterZuordnung+0x126>
3544: 8f 3f cpi r24, 0xFF ; 255
3546: 11 f4 brne .+4 ; 0x354c <ParameterZuordnung+0x126>
3548: 80 93 83 01 sts 0x0183, r24
354c: 80 91 b3 05 lds r24, 0x05B3
3550: 8b 3f cpi r24, 0xFB ; 251
3552: 98 f0 brcs .+38 ; 0x357a <ParameterZuordnung+0x154>
3554: 8b 3f cpi r24, 0xFB ; 251
3556: 19 f4 brne .+6 ; 0x355e <ParameterZuordnung+0x138>
3558: 80 91 1f 02 lds r24, 0x021F
355c: 0e c0 rjmp .+28 ; 0x357a <ParameterZuordnung+0x154>
355e: 8c 3f cpi r24, 0xFC ; 252
3560: 19 f4 brne .+6 ; 0x3568 <ParameterZuordnung+0x142>
3562: 80 91 21 02 lds r24, 0x0221
3566: 09 c0 rjmp .+18 ; 0x357a <ParameterZuordnung+0x154>
3568: 8d 3f cpi r24, 0xFD ; 253
356a: 19 f4 brne .+6 ; 0x3572 <ParameterZuordnung+0x14c>
356c: 80 91 23 02 lds r24, 0x0223
3570: 04 c0 rjmp .+8 ; 0x357a <ParameterZuordnung+0x154>
3572: 8e 3f cpi r24, 0xFE ; 254
3574: 21 f4 brne .+8 ; 0x357e <ParameterZuordnung+0x158>
3576: 80 91 25 02 lds r24, 0x0225
357a: 80 93 84 01 sts 0x0184, r24
357e: 80 91 84 01 lds r24, 0x0184
3582: 88 23 and r24, r24
3584: 19 f4 brne .+6 ; 0x358c <ParameterZuordnung+0x166>
3586: 10 92 84 01 sts 0x0184, r1
358a: 04 c0 rjmp .+8 ; 0x3594 <ParameterZuordnung+0x16e>
358c: 8f 3f cpi r24, 0xFF ; 255
358e: 11 f4 brne .+4 ; 0x3594 <ParameterZuordnung+0x16e>
3590: 80 93 84 01 sts 0x0184, r24
3594: 80 91 b4 05 lds r24, 0x05B4
3598: 8b 3f cpi r24, 0xFB ; 251
359a: 98 f0 brcs .+38 ; 0x35c2 <ParameterZuordnung+0x19c>
359c: 8b 3f cpi r24, 0xFB ; 251
359e: 19 f4 brne .+6 ; 0x35a6 <ParameterZuordnung+0x180>
35a0: 80 91 1f 02 lds r24, 0x021F
35a4: 0e c0 rjmp .+28 ; 0x35c2 <ParameterZuordnung+0x19c>
35a6: 8c 3f cpi r24, 0xFC ; 252
35a8: 19 f4 brne .+6 ; 0x35b0 <ParameterZuordnung+0x18a>
35aa: 80 91 21 02 lds r24, 0x0221
35ae: 09 c0 rjmp .+18 ; 0x35c2 <ParameterZuordnung+0x19c>
35b0: 8d 3f cpi r24, 0xFD ; 253
35b2: 19 f4 brne .+6 ; 0x35ba <ParameterZuordnung+0x194>
35b4: 80 91 23 02 lds r24, 0x0223
35b8: 04 c0 rjmp .+8 ; 0x35c2 <ParameterZuordnung+0x19c>
35ba: 8e 3f cpi r24, 0xFE ; 254
35bc: 21 f4 brne .+8 ; 0x35c6 <ParameterZuordnung+0x1a0>
35be: 80 91 25 02 lds r24, 0x0225
35c2: 80 93 85 01 sts 0x0185, r24
35c6: 80 91 85 01 lds r24, 0x0185
35ca: 8b 30 cpi r24, 0x0B ; 11
35cc: 10 f4 brcc .+4 ; 0x35d2 <ParameterZuordnung+0x1ac>
35ce: 8a e0 ldi r24, 0x0A ; 10
35d0: 02 c0 rjmp .+4 ; 0x35d6 <ParameterZuordnung+0x1b0>
35d2: 8f 3f cpi r24, 0xFF ; 255
35d4: 11 f4 brne .+4 ; 0x35da <ParameterZuordnung+0x1b4>
35d6: 80 93 85 01 sts 0x0185, r24
35da: 80 91 b5 05 lds r24, 0x05B5
35de: 8b 3f cpi r24, 0xFB ; 251
35e0: 98 f0 brcs .+38 ; 0x3608 <ParameterZuordnung+0x1e2>
35e2: 8b 3f cpi r24, 0xFB ; 251
35e4: 19 f4 brne .+6 ; 0x35ec <ParameterZuordnung+0x1c6>
35e6: 80 91 1f 02 lds r24, 0x021F
35ea: 0e c0 rjmp .+28 ; 0x3608 <ParameterZuordnung+0x1e2>
35ec: 8c 3f cpi r24, 0xFC ; 252
35ee: 19 f4 brne .+6 ; 0x35f6 <ParameterZuordnung+0x1d0>
35f0: 80 91 21 02 lds r24, 0x0221
35f4: 09 c0 rjmp .+18 ; 0x3608 <ParameterZuordnung+0x1e2>
35f6: 8d 3f cpi r24, 0xFD ; 253
35f8: 19 f4 brne .+6 ; 0x3600 <ParameterZuordnung+0x1da>
35fa: 80 91 23 02 lds r24, 0x0223
35fe: 04 c0 rjmp .+8 ; 0x3608 <ParameterZuordnung+0x1e2>
3600: 8e 3f cpi r24, 0xFE ; 254
3602: 21 f4 brne .+8 ; 0x360c <ParameterZuordnung+0x1e6>
3604: 80 91 25 02 lds r24, 0x0225
3608: 80 93 86 01 sts 0x0186, r24
360c: 80 91 86 01 lds r24, 0x0186
3610: 88 23 and r24, r24
3612: 19 f4 brne .+6 ; 0x361a <ParameterZuordnung+0x1f4>
3614: 10 92 86 01 sts 0x0186, r1
3618: 04 c0 rjmp .+8 ; 0x3622 <ParameterZuordnung+0x1fc>
361a: 8f 3f cpi r24, 0xFF ; 255
361c: 11 f4 brne .+4 ; 0x3622 <ParameterZuordnung+0x1fc>
361e: 80 93 86 01 sts 0x0186, r24
3622: 80 91 ba 05 lds r24, 0x05BA
3626: 8b 3f cpi r24, 0xFB ; 251
3628: 98 f0 brcs .+38 ; 0x3650 <ParameterZuordnung+0x22a>
362a: 8b 3f cpi r24, 0xFB ; 251
362c: 19 f4 brne .+6 ; 0x3634 <ParameterZuordnung+0x20e>
362e: 80 91 1f 02 lds r24, 0x021F
3632: 0e c0 rjmp .+28 ; 0x3650 <ParameterZuordnung+0x22a>
3634: 8c 3f cpi r24, 0xFC ; 252
3636: 19 f4 brne .+6 ; 0x363e <ParameterZuordnung+0x218>
3638: 80 91 21 02 lds r24, 0x0221
363c: 09 c0 rjmp .+18 ; 0x3650 <ParameterZuordnung+0x22a>
363e: 8d 3f cpi r24, 0xFD ; 253
3640: 19 f4 brne .+6 ; 0x3648 <ParameterZuordnung+0x222>
3642: 80 91 23 02 lds r24, 0x0223
3646: 04 c0 rjmp .+8 ; 0x3650 <ParameterZuordnung+0x22a>
3648: 8e 3f cpi r24, 0xFE ; 254
364a: 21 f4 brne .+8 ; 0x3654 <ParameterZuordnung+0x22e>
364c: 80 91 25 02 lds r24, 0x0225
3650: 80 93 88 01 sts 0x0188, r24
3654: 80 91 88 01 lds r24, 0x0188
3658: 88 23 and r24, r24
365a: 19 f4 brne .+6 ; 0x3662 <ParameterZuordnung+0x23c>
365c: 10 92 88 01 sts 0x0188, r1
3660: 04 c0 rjmp .+8 ; 0x366a <ParameterZuordnung+0x244>
3662: 8f 3f cpi r24, 0xFF ; 255
3664: 11 f4 brne .+4 ; 0x366a <ParameterZuordnung+0x244>
3666: 80 93 88 01 sts 0x0188, r24
366a: 80 91 bb 05 lds r24, 0x05BB
366e: 8b 3f cpi r24, 0xFB ; 251
3670: 98 f0 brcs .+38 ; 0x3698 <ParameterZuordnung+0x272>
3672: 8b 3f cpi r24, 0xFB ; 251
3674: 19 f4 brne .+6 ; 0x367c <ParameterZuordnung+0x256>
3676: 80 91 1f 02 lds r24, 0x021F
367a: 0e c0 rjmp .+28 ; 0x3698 <ParameterZuordnung+0x272>
367c: 8c 3f cpi r24, 0xFC ; 252
367e: 19 f4 brne .+6 ; 0x3686 <ParameterZuordnung+0x260>
3680: 80 91 21 02 lds r24, 0x0221
3684: 09 c0 rjmp .+18 ; 0x3698 <ParameterZuordnung+0x272>
3686: 8d 3f cpi r24, 0xFD ; 253
3688: 19 f4 brne .+6 ; 0x3690 <ParameterZuordnung+0x26a>
368a: 80 91 23 02 lds r24, 0x0223
368e: 04 c0 rjmp .+8 ; 0x3698 <ParameterZuordnung+0x272>
3690: 8e 3f cpi r24, 0xFE ; 254
3692: 21 f4 brne .+8 ; 0x369c <ParameterZuordnung+0x276>
3694: 80 91 25 02 lds r24, 0x0225
3698: 80 93 33 02 sts 0x0233, r24
369c: 80 91 33 02 lds r24, 0x0233
36a0: 88 23 and r24, r24
36a2: 19 f4 brne .+6 ; 0x36aa <ParameterZuordnung+0x284>
36a4: 10 92 33 02 sts 0x0233, r1
36a8: 04 c0 rjmp .+8 ; 0x36b2 <ParameterZuordnung+0x28c>
36aa: 8f 3f cpi r24, 0xFF ; 255
36ac: 11 f4 brne .+4 ; 0x36b2 <ParameterZuordnung+0x28c>
36ae: 80 93 33 02 sts 0x0233, r24
36b2: 80 91 bc 05 lds r24, 0x05BC
36b6: 8b 3f cpi r24, 0xFB ; 251
36b8: 98 f0 brcs .+38 ; 0x36e0 <ParameterZuordnung+0x2ba>
36ba: 8b 3f cpi r24, 0xFB ; 251
36bc: 19 f4 brne .+6 ; 0x36c4 <ParameterZuordnung+0x29e>
36be: 80 91 1f 02 lds r24, 0x021F
36c2: 0e c0 rjmp .+28 ; 0x36e0 <ParameterZuordnung+0x2ba>
36c4: 8c 3f cpi r24, 0xFC ; 252
36c6: 19 f4 brne .+6 ; 0x36ce <ParameterZuordnung+0x2a8>
36c8: 80 91 21 02 lds r24, 0x0221
36cc: 09 c0 rjmp .+18 ; 0x36e0 <ParameterZuordnung+0x2ba>
36ce: 8d 3f cpi r24, 0xFD ; 253
36d0: 19 f4 brne .+6 ; 0x36d8 <ParameterZuordnung+0x2b2>
36d2: 80 91 23 02 lds r24, 0x0223
36d6: 04 c0 rjmp .+8 ; 0x36e0 <ParameterZuordnung+0x2ba>
36d8: 8e 3f cpi r24, 0xFE ; 254
36da: 21 f4 brne .+8 ; 0x36e4 <ParameterZuordnung+0x2be>
36dc: 80 91 25 02 lds r24, 0x0225
36e0: 80 93 34 02 sts 0x0234, r24
36e4: 80 91 34 02 lds r24, 0x0234
36e8: 88 23 and r24, r24
36ea: 19 f4 brne .+6 ; 0x36f2 <ParameterZuordnung+0x2cc>
36ec: 10 92 34 02 sts 0x0234, r1
36f0: 04 c0 rjmp .+8 ; 0x36fa <ParameterZuordnung+0x2d4>
36f2: 8f 3f cpi r24, 0xFF ; 255
36f4: 11 f4 brne .+4 ; 0x36fa <ParameterZuordnung+0x2d4>
36f6: 80 93 34 02 sts 0x0234, r24
36fa: 80 91 bd 05 lds r24, 0x05BD
36fe: 8b 3f cpi r24, 0xFB ; 251
3700: 98 f0 brcs .+38 ; 0x3728 <ParameterZuordnung+0x302>
3702: 8b 3f cpi r24, 0xFB ; 251
3704: 19 f4 brne .+6 ; 0x370c <ParameterZuordnung+0x2e6>
3706: 80 91 1f 02 lds r24, 0x021F
370a: 0e c0 rjmp .+28 ; 0x3728 <ParameterZuordnung+0x302>
370c: 8c 3f cpi r24, 0xFC ; 252
370e: 19 f4 brne .+6 ; 0x3716 <ParameterZuordnung+0x2f0>
3710: 80 91 21 02 lds r24, 0x0221
3714: 09 c0 rjmp .+18 ; 0x3728 <ParameterZuordnung+0x302>
3716: 8d 3f cpi r24, 0xFD ; 253
3718: 19 f4 brne .+6 ; 0x3720 <ParameterZuordnung+0x2fa>
371a: 80 91 23 02 lds r24, 0x0223
371e: 04 c0 rjmp .+8 ; 0x3728 <ParameterZuordnung+0x302>
3720: 8e 3f cpi r24, 0xFE ; 254
3722: 21 f4 brne .+8 ; 0x372c <ParameterZuordnung+0x306>
3724: 80 91 25 02 lds r24, 0x0225
3728: 80 93 35 02 sts 0x0235, r24
372c: 80 91 35 02 lds r24, 0x0235
3730: 88 23 and r24, r24
3732: 19 f4 brne .+6 ; 0x373a <ParameterZuordnung+0x314>
3734: 10 92 35 02 sts 0x0235, r1
3738: 04 c0 rjmp .+8 ; 0x3742 <ParameterZuordnung+0x31c>
373a: 8f 3f cpi r24, 0xFF ; 255
373c: 11 f4 brne .+4 ; 0x3742 <ParameterZuordnung+0x31c>
373e: 80 93 35 02 sts 0x0235, r24
3742: 80 91 be 05 lds r24, 0x05BE
3746: 8b 3f cpi r24, 0xFB ; 251
3748: 98 f0 brcs .+38 ; 0x3770 <ParameterZuordnung+0x34a>
374a: 8b 3f cpi r24, 0xFB ; 251
374c: 19 f4 brne .+6 ; 0x3754 <ParameterZuordnung+0x32e>
374e: 80 91 1f 02 lds r24, 0x021F
3752: 0e c0 rjmp .+28 ; 0x3770 <ParameterZuordnung+0x34a>
3754: 8c 3f cpi r24, 0xFC ; 252
3756: 19 f4 brne .+6 ; 0x375e <ParameterZuordnung+0x338>
3758: 80 91 21 02 lds r24, 0x0221
375c: 09 c0 rjmp .+18 ; 0x3770 <ParameterZuordnung+0x34a>
375e: 8d 3f cpi r24, 0xFD ; 253
3760: 19 f4 brne .+6 ; 0x3768 <ParameterZuordnung+0x342>
3762: 80 91 23 02 lds r24, 0x0223
3766: 04 c0 rjmp .+8 ; 0x3770 <ParameterZuordnung+0x34a>
3768: 8e 3f cpi r24, 0xFE ; 254
376a: 21 f4 brne .+8 ; 0x3774 <ParameterZuordnung+0x34e>
376c: 80 91 25 02 lds r24, 0x0225
3770: 80 93 36 02 sts 0x0236, r24
3774: 80 91 36 02 lds r24, 0x0236
3778: 88 23 and r24, r24
377a: 19 f4 brne .+6 ; 0x3782 <ParameterZuordnung+0x35c>
377c: 10 92 36 02 sts 0x0236, r1
3780: 04 c0 rjmp .+8 ; 0x378a <ParameterZuordnung+0x364>
3782: 8f 3f cpi r24, 0xFF ; 255
3784: 11 f4 brne .+4 ; 0x378a <ParameterZuordnung+0x364>
3786: 80 93 36 02 sts 0x0236, r24
378a: 90 91 bf 05 lds r25, 0x05BF
378e: 9b 3f cpi r25, 0xFB ; 251
3790: b0 f0 brcs .+44 ; 0x37be <ParameterZuordnung+0x398>
3792: 9b 3f cpi r25, 0xFB ; 251
3794: 19 f4 brne .+6 ; 0x379c <ParameterZuordnung+0x376>
3796: 80 91 1f 02 lds r24, 0x021F
379a: 04 c0 rjmp .+8 ; 0x37a4 <ParameterZuordnung+0x37e>
379c: 9c 3f cpi r25, 0xFC ; 252
379e: 29 f4 brne .+10 ; 0x37aa <ParameterZuordnung+0x384>
37a0: 80 91 21 02 lds r24, 0x0221
37a4: 80 93 89 01 sts 0x0189, r24
37a8: 0c c0 rjmp .+24 ; 0x37c2 <ParameterZuordnung+0x39c>
37aa: 9d 3f cpi r25, 0xFD ; 253
37ac: 19 f4 brne .+6 ; 0x37b4 <ParameterZuordnung+0x38e>
37ae: 80 91 23 02 lds r24, 0x0223
37b2: f8 cf rjmp .-16 ; 0x37a4 <ParameterZuordnung+0x37e>
37b4: 9e 3f cpi r25, 0xFE ; 254
37b6: 29 f4 brne .+10 ; 0x37c2 <ParameterZuordnung+0x39c>
37b8: 80 91 25 02 lds r24, 0x0225
37bc: f3 cf rjmp .-26 ; 0x37a4 <ParameterZuordnung+0x37e>
37be: 90 93 89 01 sts 0x0189, r25
37c2: 80 91 89 01 lds r24, 0x0189
37c6: 88 23 and r24, r24
37c8: 19 f4 brne .+6 ; 0x37d0 <ParameterZuordnung+0x3aa>
37ca: 10 92 89 01 sts 0x0189, r1
37ce: 04 c0 rjmp .+8 ; 0x37d8 <ParameterZuordnung+0x3b2>
37d0: 8f 3f cpi r24, 0xFF ; 255
37d2: 11 f4 brne .+4 ; 0x37d8 <ParameterZuordnung+0x3b2>
37d4: 80 93 89 01 sts 0x0189, r24
37d8: 9b 3f cpi r25, 0xFB ; 251
37da: b0 f0 brcs .+44 ; 0x3808 <ParameterZuordnung+0x3e2>
37dc: 9b 3f cpi r25, 0xFB ; 251
37de: 19 f4 brne .+6 ; 0x37e6 <ParameterZuordnung+0x3c0>
37e0: 80 91 1f 02 lds r24, 0x021F
37e4: 04 c0 rjmp .+8 ; 0x37ee <ParameterZuordnung+0x3c8>
37e6: 9c 3f cpi r25, 0xFC ; 252
37e8: 29 f4 brne .+10 ; 0x37f4 <ParameterZuordnung+0x3ce>
37ea: 80 91 21 02 lds r24, 0x0221
37ee: 80 93 89 01 sts 0x0189, r24
37f2: 0c c0 rjmp .+24 ; 0x380c <ParameterZuordnung+0x3e6>
37f4: 9d 3f cpi r25, 0xFD ; 253
37f6: 19 f4 brne .+6 ; 0x37fe <ParameterZuordnung+0x3d8>
37f8: 80 91 23 02 lds r24, 0x0223
37fc: f8 cf rjmp .-16 ; 0x37ee <ParameterZuordnung+0x3c8>
37fe: 9e 3f cpi r25, 0xFE ; 254
3800: 29 f4 brne .+10 ; 0x380c <ParameterZuordnung+0x3e6>
3802: 80 91 25 02 lds r24, 0x0225
3806: f3 cf rjmp .-26 ; 0x37ee <ParameterZuordnung+0x3c8>
3808: 90 93 89 01 sts 0x0189, r25
380c: 80 91 89 01 lds r24, 0x0189
3810: 88 23 and r24, r24
3812: 19 f4 brne .+6 ; 0x381a <ParameterZuordnung+0x3f4>
3814: 10 92 89 01 sts 0x0189, r1
3818: 04 c0 rjmp .+8 ; 0x3822 <ParameterZuordnung+0x3fc>
381a: 8f 3f cpi r24, 0xFF ; 255
381c: 11 f4 brne .+4 ; 0x3822 <ParameterZuordnung+0x3fc>
381e: 80 93 89 01 sts 0x0189, r24
3822: 9b 3f cpi r25, 0xFB ; 251
3824: b0 f0 brcs .+44 ; 0x3852 <ParameterZuordnung+0x42c>
3826: 9b 3f cpi r25, 0xFB ; 251
3828: 19 f4 brne .+6 ; 0x3830 <ParameterZuordnung+0x40a>
382a: 80 91 1f 02 lds r24, 0x021F
382e: 04 c0 rjmp .+8 ; 0x3838 <ParameterZuordnung+0x412>
3830: 9c 3f cpi r25, 0xFC ; 252
3832: 29 f4 brne .+10 ; 0x383e <ParameterZuordnung+0x418>
3834: 80 91 21 02 lds r24, 0x0221
3838: 80 93 89 01 sts 0x0189, r24
383c: 0c c0 rjmp .+24 ; 0x3856 <ParameterZuordnung+0x430>
383e: 9d 3f cpi r25, 0xFD ; 253
3840: 19 f4 brne .+6 ; 0x3848 <ParameterZuordnung+0x422>
3842: 80 91 23 02 lds r24, 0x0223
3846: f8 cf rjmp .-16 ; 0x3838 <ParameterZuordnung+0x412>
3848: 9e 3f cpi r25, 0xFE ; 254
384a: 29 f4 brne .+10 ; 0x3856 <ParameterZuordnung+0x430>
384c: 80 91 25 02 lds r24, 0x0225
3850: f3 cf rjmp .-26 ; 0x3838 <ParameterZuordnung+0x412>
3852: 90 93 89 01 sts 0x0189, r25
3856: 80 91 89 01 lds r24, 0x0189
385a: 88 23 and r24, r24
385c: 19 f4 brne .+6 ; 0x3864 <ParameterZuordnung+0x43e>
385e: 10 92 89 01 sts 0x0189, r1
3862: 04 c0 rjmp .+8 ; 0x386c <ParameterZuordnung+0x446>
3864: 8f 3f cpi r24, 0xFF ; 255
3866: 11 f4 brne .+4 ; 0x386c <ParameterZuordnung+0x446>
3868: 80 93 89 01 sts 0x0189, r24
386c: 10 91 88 01 lds r17, 0x0188
3870: 61 2f mov r22, r17
3872: 77 27 eor r23, r23
3874: 67 fd sbrc r22, 7
3876: 70 95 com r23
3878: 87 2f mov r24, r23
387a: 97 2f mov r25, r23
387c: 0e 94 6c 2c call 0x58d8 ; 0x58d8 <__floatsisf>
3880: 17 ff sbrs r17, 7
3882: 06 c0 rjmp .+12 ; 0x3890 <ParameterZuordnung+0x46a>
3884: 20 e0 ldi r18, 0x00 ; 0
3886: 30 e0 ldi r19, 0x00 ; 0
3888: 40 e8 ldi r20, 0x80 ; 128
388a: 53 e4 ldi r21, 0x43 ; 67
388c: 0e 94 c1 2b call 0x5782 ; 0x5782 <__addsf3>
3890: 27 e1 ldi r18, 0x17 ; 23
3892: 37 eb ldi r19, 0xB7 ; 183
3894: 41 ed ldi r20, 0xD1 ; 209
3896: 58 e3 ldi r21, 0x38 ; 56
3898: 0e 94 7a 2d call 0x5af4 ; 0x5af4 <__mulsf3>
389c: 60 93 7c 01 sts 0x017C, r22
38a0: 70 93 7d 01 sts 0x017D, r23
38a4: 80 93 7e 01 sts 0x017E, r24
38a8: 90 93 7f 01 sts 0x017F, r25
38ac: 80 91 b1 05 lds r24, 0x05B1
38b0: 80 93 e5 05 sts 0x05E5, r24
38b4: 80 91 b0 05 lds r24, 0x05B0
38b8: 80 93 dc 05 sts 0x05DC, r24
38bc: 1f 91 pop r17
38be: 08 95 ret
 
000038c0 <DefaultKonstanten2>:
38c0: 81 e0 ldi r24, 0x01 ; 1
38c2: 80 93 9e 05 sts 0x059E, r24
38c6: 42 e0 ldi r20, 0x02 ; 2
38c8: 40 93 9f 05 sts 0x059F, r20
38cc: 83 e0 ldi r24, 0x03 ; 3
38ce: 80 93 a0 05 sts 0x05A0, r24
38d2: 24 e0 ldi r18, 0x04 ; 4
38d4: 20 93 a1 05 sts 0x05A1, r18
38d8: 35 e0 ldi r19, 0x05 ; 5
38da: 30 93 a2 05 sts 0x05A2, r19
38de: 86 e0 ldi r24, 0x06 ; 6
38e0: 80 93 a3 05 sts 0x05A3, r24
38e4: 87 e0 ldi r24, 0x07 ; 7
38e6: 80 93 a4 05 sts 0x05A4, r24
38ea: 10 92 a6 05 sts 0x05A6, r1
38ee: 8e e1 ldi r24, 0x1E ; 30
38f0: 80 93 a7 05 sts 0x05A7, r24
38f4: 8b ef ldi r24, 0xFB ; 251
38f6: 80 93 a9 05 sts 0x05A9, r24
38fa: 8a e0 ldi r24, 0x0A ; 10
38fc: 80 93 aa 05 sts 0x05AA, r24
3900: 92 e3 ldi r25, 0x32 ; 50
3902: 90 93 a8 05 sts 0x05A8, r25
3906: 90 93 ac 05 sts 0x05AC, r25
390a: 40 93 ab 05 sts 0x05AB, r20
390e: 20 93 ad 05 sts 0x05AD, r18
3912: 10 92 ae 05 sts 0x05AE, r1
3916: 80 e1 ldi r24, 0x10 ; 16
3918: 80 93 af 05 sts 0x05AF, r24
391c: 8f e0 ldi r24, 0x0F ; 15
391e: 80 93 b0 05 sts 0x05B0, r24
3922: 8a ef ldi r24, 0xFA ; 250
3924: 80 93 b1 05 sts 0x05B1, r24
3928: 8a e1 ldi r24, 0x1A ; 26
392a: 80 93 b2 05 sts 0x05B2, r24
392e: 80 e8 ldi r24, 0x80 ; 128
3930: 80 93 b3 05 sts 0x05B3, r24
3934: 8f ea ldi r24, 0xAF ; 175
3936: 80 93 b4 05 sts 0x05B4, r24
393a: 80 93 b5 05 sts 0x05B5, r24
393e: 8a e5 ldi r24, 0x5A ; 90
3940: 80 93 b6 05 sts 0x05B6, r24
3944: 83 e2 ldi r24, 0x23 ; 35
3946: 80 93 b7 05 sts 0x05B7, r24
394a: 84 e1 ldi r24, 0x14 ; 20
394c: 80 93 b8 05 sts 0x05B8, r24
3950: 10 92 b9 05 sts 0x05B9, r1
3954: 30 93 ba 05 sts 0x05BA, r19
3958: 10 92 bb 05 sts 0x05BB, r1
395c: 10 92 bc 05 sts 0x05BC, r1
3960: 10 92 bd 05 sts 0x05BD, r1
3964: 10 92 be 05 sts 0x05BE, r1
3968: 84 e6 ldi r24, 0x64 ; 100
396a: 80 93 bf 05 sts 0x05BF, r24
396e: 88 e2 ldi r24, 0x28 ; 40
3970: 80 93 c0 05 sts 0x05C0, r24
3974: 10 92 c4 05 sts 0x05C4, r1
3978: 90 93 c1 05 sts 0x05C1, r25
397c: 86 e9 ldi r24, 0x96 ; 150
397e: 80 93 c2 05 sts 0x05C2, r24
3982: 30 93 c3 05 sts 0x05C3, r19
3986: ac ec ldi r26, 0xCC ; 204
3988: b5 e0 ldi r27, 0x05 ; 5
398a: e8 e6 ldi r30, 0x68 ; 104
398c: f1 e0 ldi r31, 0x01 ; 1
398e: 8c e0 ldi r24, 0x0C ; 12
3990: 01 90 ld r0, Z+
3992: 0d 92 st X+, r0
3994: 81 50 subi r24, 0x01 ; 1
3996: e1 f7 brne .-8 ; 0x3990 <DefaultKonstanten2+0xd0>
3998: 08 95 ret
 
0000399a <DefaultKonstanten1>:
399a: 81 e0 ldi r24, 0x01 ; 1
399c: 80 93 9e 05 sts 0x059E, r24
39a0: 52 e0 ldi r21, 0x02 ; 2
39a2: 50 93 9f 05 sts 0x059F, r21
39a6: 83 e0 ldi r24, 0x03 ; 3
39a8: 80 93 a0 05 sts 0x05A0, r24
39ac: 44 e0 ldi r20, 0x04 ; 4
39ae: 40 93 a1 05 sts 0x05A1, r20
39b2: 35 e0 ldi r19, 0x05 ; 5
39b4: 30 93 a2 05 sts 0x05A2, r19
39b8: 86 e0 ldi r24, 0x06 ; 6
39ba: 80 93 a3 05 sts 0x05A3, r24
39be: 87 e0 ldi r24, 0x07 ; 7
39c0: 80 93 a4 05 sts 0x05A4, r24
39c4: 28 e0 ldi r18, 0x08 ; 8
39c6: 20 93 a5 05 sts 0x05A5, r18
39ca: 10 92 a6 05 sts 0x05A6, r1
39ce: 9e e1 ldi r25, 0x1E ; 30
39d0: 90 93 a7 05 sts 0x05A7, r25
39d4: 8b ef ldi r24, 0xFB ; 251
39d6: 80 93 a9 05 sts 0x05A9, r24
39da: 8a e0 ldi r24, 0x0A ; 10
39dc: 80 93 aa 05 sts 0x05AA, r24
39e0: 86 e4 ldi r24, 0x46 ; 70
39e2: 80 93 a8 05 sts 0x05A8, r24
39e6: 90 93 ac 05 sts 0x05AC, r25
39ea: 50 93 ab 05 sts 0x05AB, r21
39ee: 40 93 ad 05 sts 0x05AD, r20
39f2: 20 93 ae 05 sts 0x05AE, r18
39f6: 80 e1 ldi r24, 0x10 ; 16
39f8: 80 93 af 05 sts 0x05AF, r24
39fc: 8f e0 ldi r24, 0x0F ; 15
39fe: 80 93 b0 05 sts 0x05B0, r24
3a02: 8a ef ldi r24, 0xFA ; 250
3a04: 80 93 b1 05 sts 0x05B1, r24
3a08: 8a e1 ldi r24, 0x1A ; 26
3a0a: 80 93 b2 05 sts 0x05B2, r24
3a0e: 80 e8 ldi r24, 0x80 ; 128
3a10: 80 93 b3 05 sts 0x05B3, r24
3a14: 88 e7 ldi r24, 0x78 ; 120
3a16: 80 93 b4 05 sts 0x05B4, r24
3a1a: 96 e9 ldi r25, 0x96 ; 150
3a1c: 90 93 b5 05 sts 0x05B5, r25
3a20: 8a e5 ldi r24, 0x5A ; 90
3a22: 80 93 b6 05 sts 0x05B6, r24
3a26: 83 e2 ldi r24, 0x23 ; 35
3a28: 80 93 b7 05 sts 0x05B7, r24
3a2c: 84 e1 ldi r24, 0x14 ; 20
3a2e: 80 93 b8 05 sts 0x05B8, r24
3a32: 10 92 b9 05 sts 0x05B9, r1
3a36: 30 93 ba 05 sts 0x05BA, r19
3a3a: 10 92 bb 05 sts 0x05BB, r1
3a3e: 10 92 bc 05 sts 0x05BC, r1
3a42: 10 92 bd 05 sts 0x05BD, r1
3a46: 10 92 be 05 sts 0x05BE, r1
3a4a: 84 e6 ldi r24, 0x64 ; 100
3a4c: 80 93 bf 05 sts 0x05BF, r24
3a50: 88 e2 ldi r24, 0x28 ; 40
3a52: 80 93 c0 05 sts 0x05C0, r24
3a56: 10 92 c4 05 sts 0x05C4, r1
3a5a: 82 e3 ldi r24, 0x32 ; 50
3a5c: 80 93 c1 05 sts 0x05C1, r24
3a60: 90 93 c2 05 sts 0x05C2, r25
3a64: 30 93 c3 05 sts 0x05C3, r19
3a68: ac ec ldi r26, 0xCC ; 204
3a6a: b5 e0 ldi r27, 0x05 ; 5
3a6c: e0 e7 ldi r30, 0x70 ; 112
3a6e: f1 e0 ldi r31, 0x01 ; 1
3a70: 8c e0 ldi r24, 0x0C ; 12
3a72: 01 90 ld r0, Z+
3a74: 0d 92 st X+, r0
3a76: 81 50 subi r24, 0x01 ; 1
3a78: e1 f7 brne .-8 ; 0x3a72 <DefaultKonstanten1+0xd8>
3a7a: 08 95 ret
 
00003a7c <SendMotorData>:
3a7c: 80 91 2e 02 lds r24, 0x022E
3a80: 88 23 and r24, r24
3a82: 01 f5 brne .+64 ; 0x3ac4 <SendMotorData+0x48>
3a84: 10 92 97 02 sts 0x0297, r1
3a88: 10 92 96 02 sts 0x0296, r1
3a8c: 10 92 9a 02 sts 0x029A, r1
3a90: 10 92 a6 02 sts 0x02A6, r1
3a94: 80 91 98 01 lds r24, 0x0198
3a98: 88 23 and r24, r24
3a9a: 11 f0 breq .+4 ; 0x3aa0 <SendMotorData+0x24>
3a9c: 80 93 96 02 sts 0x0296, r24
3aa0: 80 91 99 01 lds r24, 0x0199
3aa4: 88 23 and r24, r24
3aa6: 11 f0 breq .+4 ; 0x3aac <SendMotorData+0x30>
3aa8: 80 93 97 02 sts 0x0297, r24
3aac: 80 91 9a 01 lds r24, 0x019A
3ab0: 88 23 and r24, r24
3ab2: 11 f0 breq .+4 ; 0x3ab8 <SendMotorData+0x3c>
3ab4: 80 93 a6 02 sts 0x02A6, r24
3ab8: 80 91 9b 01 lds r24, 0x019B
3abc: 88 23 and r24, r24
3abe: 11 f0 breq .+4 ; 0x3ac4 <SendMotorData+0x48>
3ac0: 80 93 9a 02 sts 0x029A, r24
3ac4: 80 91 96 02 lds r24, 0x0296
3ac8: 99 27 eor r25, r25
3aca: 90 93 07 05 sts 0x0507, r25
3ace: 80 93 06 05 sts 0x0506, r24
3ad2: 80 91 97 02 lds r24, 0x0297
3ad6: 99 27 eor r25, r25
3ad8: 90 93 09 05 sts 0x0509, r25
3adc: 80 93 08 05 sts 0x0508, r24
3ae0: 80 91 a6 02 lds r24, 0x02A6
3ae4: 99 27 eor r25, r25
3ae6: 90 93 0b 05 sts 0x050B, r25
3aea: 80 93 0a 05 sts 0x050A, r24
3aee: 80 91 9a 02 lds r24, 0x029A
3af2: 99 27 eor r25, r25
3af4: 90 93 0d 05 sts 0x050D, r25
3af8: 80 93 0c 05 sts 0x050C, r24
3afc: 10 92 cf 01 sts 0x01CF, r1
3b00: 10 92 d0 01 sts 0x01D0, r1
3b04: 0e 94 50 14 call 0x28a0 ; 0x28a0 <i2c_start>
3b08: 08 95 ret
 
00003b0a <SetNeutral>:
3b0a: cf 93 push r28
3b0c: df 93 push r29
3b0e: 10 92 de 01 sts 0x01DE, r1
3b12: 10 92 dd 01 sts 0x01DD, r1
3b16: 10 92 e0 01 sts 0x01E0, r1
3b1a: 10 92 df 01 sts 0x01DF, r1
3b1e: 80 e0 ldi r24, 0x00 ; 0
3b20: 90 e0 ldi r25, 0x00 ; 0
3b22: a0 e0 ldi r26, 0x00 ; 0
3b24: b0 e0 ldi r27, 0x00 ; 0
3b26: 80 93 e1 01 sts 0x01E1, r24
3b2a: 90 93 e2 01 sts 0x01E2, r25
3b2e: a0 93 e3 01 sts 0x01E3, r26
3b32: b0 93 e4 01 sts 0x01E4, r27
3b36: 10 92 d8 01 sts 0x01D8, r1
3b3a: 10 92 d7 01 sts 0x01D7, r1
3b3e: 10 92 da 01 sts 0x01DA, r1
3b42: 10 92 d9 01 sts 0x01D9, r1
3b46: 10 92 dc 01 sts 0x01DC, r1
3b4a: 10 92 db 01 sts 0x01DB, r1
3b4e: 0e 94 77 18 call 0x30ee ; 0x30ee <CalibrierMittelwert>
3b52: 85 e0 ldi r24, 0x05 ; 5
3b54: 90 e0 ldi r25, 0x00 ; 0
3b56: 0e 94 31 0c call 0x1862 ; 0x1862 <SetDelay>
3b5a: ec 01 movw r28, r24
3b5c: ce 01 movw r24, r28
3b5e: 0e 94 3a 0c call 0x1874 ; 0x1874 <CheckDelay>
3b62: 88 23 and r24, r24
3b64: d9 f3 breq .-10 ; 0x3b5c <SetNeutral+0x52>
3b66: 0e 94 77 18 call 0x30ee ; 0x30ee <CalibrierMittelwert>
3b6a: 80 91 a6 05 lds r24, 0x05A6
3b6e: 80 ff sbrs r24, 0
3b70: 10 c0 rjmp .+32 ; 0x3b92 <SetNeutral+0x88>
3b72: 80 91 0a 01 lds r24, 0x010A
3b76: 90 91 0b 01 lds r25, 0x010B
3b7a: 87 5b subi r24, 0xB7 ; 183
3b7c: 93 40 sbci r25, 0x03 ; 3
3b7e: 38 f4 brcc .+14 ; 0x3b8e <SetNeutral+0x84>
3b80: 80 91 0a 01 lds r24, 0x010A
3b84: 90 91 0b 01 lds r25, 0x010B
3b88: 8e 5e subi r24, 0xEE ; 238
3b8a: 92 40 sbci r25, 0x02 ; 2
3b8c: 10 f4 brcc .+4 ; 0x3b92 <SetNeutral+0x88>
3b8e: 0e 94 56 10 call 0x20ac ; 0x20ac <SucheLuftruckOffset>
3b92: 80 91 da 05 lds r24, 0x05DA
3b96: 90 91 db 05 lds r25, 0x05DB
3b9a: 97 ff sbrs r25, 7
3b9c: 03 c0 rjmp .+6 ; 0x3ba4 <SetNeutral+0x9a>
3b9e: 90 95 com r25
3ba0: 81 95 neg r24
3ba2: 9f 4f sbci r25, 0xFF ; 255
3ba4: 90 93 d8 01 sts 0x01D8, r25
3ba8: 80 93 d7 01 sts 0x01D7, r24
3bac: 80 91 d8 05 lds r24, 0x05D8
3bb0: 90 91 d9 05 lds r25, 0x05D9
3bb4: 97 ff sbrs r25, 7
3bb6: 03 c0 rjmp .+6 ; 0x3bbe <SetNeutral+0xb4>
3bb8: 90 95 com r25
3bba: 81 95 neg r24
3bbc: 9f 4f sbci r25, 0xFF ; 255
3bbe: 90 93 da 01 sts 0x01DA, r25
3bc2: 80 93 d9 01 sts 0x01D9, r24
3bc6: 80 91 e6 05 lds r24, 0x05E6
3bca: 90 91 e7 05 lds r25, 0x05E7
3bce: 97 ff sbrs r25, 7
3bd0: 03 c0 rjmp .+6 ; 0x3bd8 <SetNeutral+0xce>
3bd2: 90 95 com r25
3bd4: 81 95 neg r24
3bd6: 9f 4f sbci r25, 0xFF ; 255
3bd8: 90 93 dc 01 sts 0x01DC, r25
3bdc: 80 93 db 01 sts 0x01DB, r24
3be0: 80 91 ec 05 lds r24, 0x05EC
3be4: 90 91 ed 05 lds r25, 0x05ED
3be8: 97 ff sbrs r25, 7
3bea: 03 c0 rjmp .+6 ; 0x3bf2 <SetNeutral+0xe8>
3bec: 90 95 com r25
3bee: 81 95 neg r24
3bf0: 9f 4f sbci r25, 0xFF ; 255
3bf2: 60 e1 ldi r22, 0x10 ; 16
3bf4: 70 e0 ldi r23, 0x00 ; 0
3bf6: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
3bfa: 70 93 e0 01 sts 0x01E0, r23
3bfe: 60 93 df 01 sts 0x01DF, r22
3c02: 80 91 e3 05 lds r24, 0x05E3
3c06: 90 91 e4 05 lds r25, 0x05E4
3c0a: 97 ff sbrs r25, 7
3c0c: 03 c0 rjmp .+6 ; 0x3c14 <SetNeutral+0x10a>
3c0e: 90 95 com r25
3c10: 81 95 neg r24
3c12: 9f 4f sbci r25, 0xFF ; 255
3c14: 60 e1 ldi r22, 0x10 ; 16
3c16: 70 e0 ldi r23, 0x00 ; 0
3c18: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
3c1c: 70 93 de 01 sts 0x01DE, r23
3c20: 60 93 dd 01 sts 0x01DD, r22
3c24: 60 91 5a 05 lds r22, 0x055A
3c28: 70 91 5b 05 lds r23, 0x055B
3c2c: 88 27 eor r24, r24
3c2e: 77 fd sbrc r23, 7
3c30: 80 95 com r24
3c32: 98 2f mov r25, r24
3c34: 0e 94 6c 2c call 0x58d8 ; 0x58d8 <__floatsisf>
3c38: 60 93 e1 01 sts 0x01E1, r22
3c3c: 70 93 e2 01 sts 0x01E2, r23
3c40: 80 93 e3 01 sts 0x01E3, r24
3c44: 90 93 e4 01 sts 0x01E4, r25
3c48: 10 92 fb 01 sts 0x01FB, r1
3c4c: 10 92 fc 01 sts 0x01FC, r1
3c50: 10 92 fd 01 sts 0x01FD, r1
3c54: 10 92 fe 01 sts 0x01FE, r1
3c58: 10 92 ff 01 sts 0x01FF, r1
3c5c: 10 92 00 02 sts 0x0200, r1
3c60: 10 92 01 02 sts 0x0201, r1
3c64: 10 92 02 02 sts 0x0202, r1
3c68: 10 92 03 02 sts 0x0203, r1
3c6c: 10 92 04 02 sts 0x0204, r1
3c70: 10 92 05 02 sts 0x0205, r1
3c74: 10 92 06 02 sts 0x0206, r1
3c78: 10 92 07 02 sts 0x0207, r1
3c7c: 10 92 08 02 sts 0x0208, r1
3c80: 10 92 09 02 sts 0x0209, r1
3c84: 10 92 0a 02 sts 0x020A, r1
3c88: 10 92 0b 02 sts 0x020B, r1
3c8c: 10 92 0c 02 sts 0x020C, r1
3c90: 10 92 0d 02 sts 0x020D, r1
3c94: 10 92 0e 02 sts 0x020E, r1
3c98: 10 92 db 05 sts 0x05DB, r1
3c9c: 10 92 da 05 sts 0x05DA, r1
3ca0: 10 92 d9 05 sts 0x05D9, r1
3ca4: 10 92 d8 05 sts 0x05D8, r1
3ca8: 10 92 e7 05 sts 0x05E7, r1
3cac: 10 92 e6 05 sts 0x05E6, r1
3cb0: 80 91 06 01 lds r24, 0x0106
3cb4: 90 91 07 01 lds r25, 0x0107
3cb8: a0 91 08 01 lds r26, 0x0108
3cbc: b0 91 09 01 lds r27, 0x0109
3cc0: 90 93 5d 05 sts 0x055D, r25
3cc4: 80 93 5c 05 sts 0x055C, r24
3cc8: 10 92 c5 01 sts 0x01C5, r1
3ccc: 10 92 c4 01 sts 0x01C4, r1
3cd0: 10 92 13 02 sts 0x0213, r1
3cd4: 10 92 14 02 sts 0x0214, r1
3cd8: 10 92 15 02 sts 0x0215, r1
3cdc: 10 92 16 02 sts 0x0216, r1
3ce0: 80 91 17 02 lds r24, 0x0217
3ce4: 90 91 18 02 lds r25, 0x0218
3ce8: 90 93 1a 02 sts 0x021A, r25
3cec: 80 93 19 02 sts 0x0219, r24
3cf0: 82 e3 ldi r24, 0x32 ; 50
3cf2: 90 e0 ldi r25, 0x00 ; 0
3cf4: 90 93 ac 01 sts 0x01AC, r25
3cf8: 80 93 ab 01 sts 0x01AB, r24
3cfc: df 91 pop r29
3cfe: cf 91 pop r28
3d00: 08 95 ret
 
00003d02 <Piep>:
3d02: 1f 93 push r17
3d04: 18 2f mov r17, r24
3d06: 0e c0 rjmp .+28 ; 0x3d24 <Piep+0x22>
3d08: 80 91 2e 02 lds r24, 0x022E
3d0c: 88 23 and r24, r24
3d0e: 61 f4 brne .+24 ; 0x3d28 <Piep+0x26>
3d10: 84 e6 ldi r24, 0x64 ; 100
3d12: 90 e0 ldi r25, 0x00 ; 0
3d14: 90 93 ac 01 sts 0x01AC, r25
3d18: 80 93 ab 01 sts 0x01AB, r24
3d1c: 8a ef ldi r24, 0xFA ; 250
3d1e: 90 e0 ldi r25, 0x00 ; 0
3d20: 0e 94 1a 0d call 0x1a34 ; 0x1a34 <Delay_ms>
3d24: 11 50 subi r17, 0x01 ; 1
3d26: 80 f7 brcc .-32 ; 0x3d08 <Piep+0x6>
3d28: 1f 91 pop r17
3d2a: 08 95 ret
 
00003d2c <MotorRegler>:
3d2c: 2f 92 push r2
3d2e: 3f 92 push r3
3d30: 4f 92 push r4
3d32: 5f 92 push r5
3d34: 6f 92 push r6
3d36: 7f 92 push r7
3d38: 8f 92 push r8
3d3a: 9f 92 push r9
3d3c: af 92 push r10
3d3e: bf 92 push r11
3d40: cf 92 push r12
3d42: df 92 push r13
3d44: ef 92 push r14
3d46: ff 92 push r15
3d48: 0f 93 push r16
3d4a: 1f 93 push r17
3d4c: cf 93 push r28
3d4e: df 93 push r29
3d50: cd b7 in r28, 0x3d ; 61
3d52: de b7 in r29, 0x3e ; 62
3d54: 24 97 sbiw r28, 0x04 ; 4
3d56: 0f b6 in r0, 0x3f ; 63
3d58: f8 94 cli
3d5a: de bf out 0x3e, r29 ; 62
3d5c: 0f be out 0x3f, r0 ; 63
3d5e: cd bf out 0x3d, r28 ; 61
3d60: 0e 94 b6 15 call 0x2b6c ; 0x2b6c <Mittelwert>
3d64: 29 9a sbi 0x05, 1 ; 5
3d66: e0 91 a0 05 lds r30, 0x05A0
3d6a: ae 2f mov r26, r30
3d6c: bb 27 eor r27, r27
3d6e: aa 0f add r26, r26
3d70: bb 1f adc r27, r27
3d72: ae 58 subi r26, 0x8E ; 142
3d74: ba 4f sbci r27, 0xFA ; 250
3d76: 0d 90 ld r0, X+
3d78: bc 91 ld r27, X
3d7a: a0 2d mov r26, r0
3d7c: 9d 01 movw r18, r26
3d7e: 28 58 subi r18, 0x88 ; 136
3d80: 3f 4f sbci r19, 0xFF ; 255
3d82: 3a 83 std Y+2, r19 ; 0x02
3d84: 29 83 std Y+1, r18 ; 0x01
3d86: 37 ff sbrs r19, 7
3d88: 02 c0 rjmp .+4 ; 0x3d8e <MotorRegler+0x62>
3d8a: 1a 82 std Y+2, r1 ; 0x02
3d8c: 19 82 std Y+1, r1 ; 0x01
3d8e: 80 91 27 02 lds r24, 0x0227
3d92: 84 36 cpi r24, 0x64 ; 100
3d94: 08 f0 brcs .+2 ; 0x3d98 <MotorRegler+0x6c>
3d96: 4a c0 rjmp .+148 ; 0x3e2c <MotorRegler+0x100>
3d98: 80 91 01 01 lds r24, 0x0101
3d9c: 88 23 and r24, r24
3d9e: 31 f4 brne .+12 ; 0x3dac <MotorRegler+0x80>
3da0: 84 ef ldi r24, 0xF4 ; 244
3da2: 91 e0 ldi r25, 0x01 ; 1
3da4: 90 93 ac 01 sts 0x01AC, r25
3da8: 80 93 ab 01 sts 0x01AB, r24
3dac: 80 91 42 02 lds r24, 0x0242
3db0: 90 91 43 02 lds r25, 0x0243
3db4: 00 97 sbiw r24, 0x00 ; 0
3db6: 31 f0 breq .+12 ; 0x3dc4 <MotorRegler+0x98>
3db8: 01 97 sbiw r24, 0x01 ; 1
3dba: 90 93 43 02 sts 0x0243, r25
3dbe: 80 93 42 02 sts 0x0242, r24
3dc2: 04 c0 rjmp .+8 ; 0x3dcc <MotorRegler+0xa0>
3dc4: 10 92 2e 02 sts 0x022E, r1
3dc8: 10 92 1d 02 sts 0x021D, r1
3dcc: 28 9a sbi 0x05, 0 ; 5
3dce: 80 91 3d 02 lds r24, 0x023D
3dd2: 90 91 3e 02 lds r25, 0x023E
3dd6: 81 5d subi r24, 0xD1 ; 209
3dd8: 97 40 sbci r25, 0x07 ; 7
3dda: 28 f1 brcs .+74 ; 0x3e26 <MotorRegler+0xfa>
3ddc: 80 91 b7 05 lds r24, 0x05B7
3de0: 48 2f mov r20, r24
3de2: 55 27 eor r21, r21
3de4: 5a 83 std Y+2, r21 ; 0x02
3de6: 49 83 std Y+1, r20 ; 0x01
3de8: 81 e0 ldi r24, 0x01 ; 1
3dea: 80 93 1d 02 sts 0x021D, r24
3dee: e0 91 9e 05 lds r30, 0x059E
3df2: ff 27 eor r31, r31
3df4: ee 0f add r30, r30
3df6: ff 1f adc r31, r31
3df8: ee 58 subi r30, 0x8E ; 142
3dfa: fa 4f sbci r31, 0xFA ; 250
3dfc: 11 82 std Z+1, r1 ; 0x01
3dfe: 10 82 st Z, r1
3e00: e0 91 9f 05 lds r30, 0x059F
3e04: ff 27 eor r31, r31
3e06: ee 0f add r30, r30
3e08: ff 1f adc r31, r31
3e0a: ee 58 subi r30, 0x8E ; 142
3e0c: fa 4f sbci r31, 0xFA ; 250
3e0e: 11 82 std Z+1, r1 ; 0x01
3e10: 10 82 st Z, r1
3e12: e0 91 a1 05 lds r30, 0x05A1
3e16: ff 27 eor r31, r31
3e18: ee 0f add r30, r30
3e1a: ff 1f adc r31, r31
3e1c: ee 58 subi r30, 0x8E ; 142
3e1e: fa 4f sbci r31, 0xFA ; 250
3e20: 11 82 std Z+1, r1 ; 0x01
3e22: 10 82 st Z, r1
3e24: ce c1 rjmp .+924 ; 0x41c2 <MotorRegler+0x496>
3e26: 10 92 2e 02 sts 0x022E, r1
3e2a: cb c1 rjmp .+918 ; 0x41c2 <MotorRegler+0x496>
3e2c: 80 91 27 02 lds r24, 0x0227
3e30: 8d 38 cpi r24, 0x8D ; 141
3e32: 08 f4 brcc .+2 ; 0x3e36 <MotorRegler+0x10a>
3e34: c6 c1 rjmp .+908 ; 0x41c2 <MotorRegler+0x496>
3e36: 10 92 1d 02 sts 0x021D, r1
3e3a: 80 91 b8 05 lds r24, 0x05B8
3e3e: 22 e3 ldi r18, 0x32 ; 50
3e40: 82 9f mul r24, r18
3e42: c0 01 movw r24, r0
3e44: 11 24 eor r1, r1
3e46: 90 93 43 02 sts 0x0243, r25
3e4a: 80 93 42 02 sts 0x0242, r24
3e4e: 69 81 ldd r22, Y+1 ; 0x01
3e50: 7a 81 ldd r23, Y+2 ; 0x02
3e52: 69 32 cpi r22, 0x29 ; 41
3e54: 71 05 cpc r23, r1
3e56: 6c f0 brlt .+26 ; 0x3e72 <MotorRegler+0x146>
3e58: 80 91 3d 02 lds r24, 0x023D
3e5c: 90 91 3e 02 lds r25, 0x023E
3e60: 7f ef ldi r23, 0xFF ; 255
3e62: 8f 3f cpi r24, 0xFF ; 255
3e64: 97 07 cpc r25, r23
3e66: 81 f1 breq .+96 ; 0x3ec8 <MotorRegler+0x19c>
3e68: 01 96 adiw r24, 0x01 ; 1
3e6a: 90 93 3e 02 sts 0x023E, r25
3e6e: 80 93 3d 02 sts 0x023D, r24
3e72: 80 91 3d 02 lds r24, 0x023D
3e76: 90 91 3e 02 lds r25, 0x023E
3e7a: 88 3c cpi r24, 0xC8 ; 200
3e7c: 91 05 cpc r25, r1
3e7e: 20 f0 brcs .+8 ; 0x3e88 <MotorRegler+0x15c>
3e80: 89 81 ldd r24, Y+1 ; 0x01
3e82: 9a 81 ldd r25, Y+2 ; 0x02
3e84: 88 97 sbiw r24, 0x28 ; 40
3e86: 04 f5 brge .+64 ; 0x3ec8 <MotorRegler+0x19c>
3e88: 10 92 58 02 sts 0x0258, r1
3e8c: 10 92 59 02 sts 0x0259, r1
3e90: 10 92 5a 02 sts 0x025A, r1
3e94: 10 92 5b 02 sts 0x025B, r1
3e98: 10 92 54 02 sts 0x0254, r1
3e9c: 10 92 55 02 sts 0x0255, r1
3ea0: 10 92 56 02 sts 0x0256, r1
3ea4: 10 92 57 02 sts 0x0257, r1
3ea8: 10 92 0b 02 sts 0x020B, r1
3eac: 10 92 0c 02 sts 0x020C, r1
3eb0: 10 92 0d 02 sts 0x020D, r1
3eb4: 10 92 0e 02 sts 0x020E, r1
3eb8: 10 92 0f 02 sts 0x020F, r1
3ebc: 10 92 10 02 sts 0x0210, r1
3ec0: 10 92 11 02 sts 0x0211, r1
3ec4: 10 92 12 02 sts 0x0212, r1
3ec8: e9 81 ldd r30, Y+1 ; 0x01
3eca: fa 81 ldd r31, Y+2 ; 0x02
3ecc: e9 3c cpi r30, 0xC9 ; 201
3ece: f1 05 cpc r31, r1
3ed0: 0c f4 brge .+2 ; 0x3ed4 <MotorRegler+0x1a8>
3ed2: d6 c0 rjmp .+428 ; 0x4080 <MotorRegler+0x354>
3ed4: 80 91 2e 02 lds r24, 0x022E
3ed8: 88 23 and r24, r24
3eda: 09 f0 breq .+2 ; 0x3ede <MotorRegler+0x1b2>
3edc: 72 c1 rjmp .+740 ; 0x41c2 <MotorRegler+0x496>
3ede: e0 91 a1 05 lds r30, 0x05A1
3ee2: ff 27 eor r31, r31
3ee4: ee 0f add r30, r30
3ee6: ff 1f adc r31, r31
3ee8: ee 58 subi r30, 0x8E ; 142
3eea: fa 4f sbci r31, 0xFA ; 250
3eec: 80 81 ld r24, Z
3eee: 91 81 ldd r25, Z+1 ; 0x01
3ef0: 8c 34 cpi r24, 0x4C ; 76
3ef2: 91 05 cpc r25, r1
3ef4: 0c f4 brge .+2 ; 0x3ef8 <MotorRegler+0x1cc>
3ef6: c1 c0 rjmp .+386 ; 0x407a <MotorRegler+0x34e>
3ef8: 80 91 41 02 lds r24, 0x0241
3efc: 8f 5f subi r24, 0xFF ; 255
3efe: 80 93 41 02 sts 0x0241, r24
3f02: 89 3c cpi r24, 0xC9 ; 201
3f04: 08 f4 brcc .+2 ; 0x3f08 <MotorRegler+0x1dc>
3f06: 5d c1 rjmp .+698 ; 0x41c2 <MotorRegler+0x496>
3f08: 29 98 cbi 0x05, 1 ; 5
3f0a: 0e 94 85 1d call 0x3b0a ; 0x3b0a <SetNeutral>
3f0e: 10 92 2e 02 sts 0x022E, r1
3f12: 10 92 41 02 sts 0x0241, r1
3f16: 10 92 3e 02 sts 0x023E, r1
3f1a: 10 92 3d 02 sts 0x023D, r1
3f1e: 80 91 9e 05 lds r24, 0x059E
3f22: 28 2f mov r18, r24
3f24: 33 27 eor r19, r19
3f26: f9 01 movw r30, r18
3f28: ee 0f add r30, r30
3f2a: ff 1f adc r31, r31
3f2c: ee 58 subi r30, 0x8E ; 142
3f2e: fa 4f sbci r31, 0xFA ; 250
3f30: 80 81 ld r24, Z
3f32: 91 81 ldd r25, Z+1 ; 0x01
3f34: 87 34 cpi r24, 0x47 ; 71
3f36: 91 05 cpc r25, r1
3f38: 9c f4 brge .+38 ; 0x3f60 <MotorRegler+0x234>
3f3a: e0 91 9f 05 lds r30, 0x059F
3f3e: ff 27 eor r31, r31
3f40: ee 0f add r30, r30
3f42: ff 1f adc r31, r31
3f44: ee 58 subi r30, 0x8E ; 142
3f46: fa 4f sbci r31, 0xFA ; 250
3f48: 01 90 ld r0, Z+
3f4a: f0 81 ld r31, Z
3f4c: e0 2d mov r30, r0
3f4e: f7 ff sbrs r31, 7
3f50: 03 c0 rjmp .+6 ; 0x3f58 <MotorRegler+0x22c>
3f52: f0 95 com r31
3f54: e1 95 neg r30
3f56: ff 4f sbci r31, 0xFF ; 255
3f58: e7 34 cpi r30, 0x47 ; 71
3f5a: f1 05 cpc r31, r1
3f5c: 0c f4 brge .+2 ; 0x3f60 <MotorRegler+0x234>
3f5e: 6c c0 rjmp .+216 ; 0x4038 <MotorRegler+0x30c>
3f60: 80 91 9f 05 lds r24, 0x059F
3f64: 68 2f mov r22, r24
3f66: 77 27 eor r23, r23
3f68: db 01 movw r26, r22
3f6a: aa 0f add r26, r26
3f6c: bb 1f adc r27, r27
3f6e: ae 58 subi r26, 0x8E ; 142
3f70: ba 4f sbci r27, 0xFA ; 250
3f72: 8d 91 ld r24, X+
3f74: 9c 91 ld r25, X
3f76: 11 97 sbiw r26, 0x01 ; 1
3f78: 87 34 cpi r24, 0x47 ; 71
3f7a: 91 05 cpc r25, r1
3f7c: 3c f0 brlt .+14 ; 0x3f8c <MotorRegler+0x260>
3f7e: f9 01 movw r30, r18
3f80: ee 0f add r30, r30
3f82: ff 1f adc r31, r31
3f84: ee 58 subi r30, 0x8E ; 142
3f86: fa 4f sbci r31, 0xFA ; 250
3f88: 80 81 ld r24, Z
3f8a: 91 81 ldd r25, Z+1 ; 0x01
3f8c: 8d 91 ld r24, X+
3f8e: 9c 91 ld r25, X
3f90: 87 34 cpi r24, 0x47 ; 71
3f92: 91 05 cpc r25, r1
3f94: 64 f0 brlt .+24 ; 0x3fae <MotorRegler+0x282>
3f96: f9 01 movw r30, r18
3f98: ee 0f add r30, r30
3f9a: ff 1f adc r31, r31
3f9c: ee 58 subi r30, 0x8E ; 142
3f9e: fa 4f sbci r31, 0xFA ; 250
3fa0: 80 81 ld r24, Z
3fa2: 91 81 ldd r25, Z+1 ; 0x01
3fa4: 87 34 cpi r24, 0x47 ; 71
3fa6: 91 05 cpc r25, r1
3fa8: 14 f0 brlt .+4 ; 0x3fae <MotorRegler+0x282>
3faa: 42 e0 ldi r20, 0x02 ; 2
3fac: 01 c0 rjmp .+2 ; 0x3fb0 <MotorRegler+0x284>
3fae: 41 e0 ldi r20, 0x01 ; 1
3fb0: fb 01 movw r30, r22
3fb2: ee 0f add r30, r30
3fb4: ff 1f adc r31, r31
3fb6: ee 58 subi r30, 0x8E ; 142
3fb8: fa 4f sbci r31, 0xFA ; 250
3fba: 80 81 ld r24, Z
3fbc: 91 81 ldd r25, Z+1 ; 0x01
3fbe: 86 34 cpi r24, 0x46 ; 70
3fc0: 91 05 cpc r25, r1
3fc2: 5c f4 brge .+22 ; 0x3fda <MotorRegler+0x2ae>
3fc4: f9 01 movw r30, r18
3fc6: ee 0f add r30, r30
3fc8: ff 1f adc r31, r31
3fca: ee 58 subi r30, 0x8E ; 142
3fcc: fa 4f sbci r31, 0xFA ; 250
3fce: 80 81 ld r24, Z
3fd0: 91 81 ldd r25, Z+1 ; 0x01
3fd2: 87 34 cpi r24, 0x47 ; 71
3fd4: 91 05 cpc r25, r1
3fd6: 0c f0 brlt .+2 ; 0x3fda <MotorRegler+0x2ae>
3fd8: 43 e0 ldi r20, 0x03 ; 3
3fda: fb 01 movw r30, r22
3fdc: ee 0f add r30, r30
3fde: ff 1f adc r31, r31
3fe0: ee 58 subi r30, 0x8E ; 142
3fe2: fa 4f sbci r31, 0xFA ; 250
3fe4: 80 81 ld r24, Z
3fe6: 91 81 ldd r25, Z+1 ; 0x01
3fe8: 8a 5b subi r24, 0xBA ; 186
3fea: 9f 4f sbci r25, 0xFF ; 255
3fec: 5c f4 brge .+22 ; 0x4004 <MotorRegler+0x2d8>
3fee: f9 01 movw r30, r18
3ff0: ee 0f add r30, r30
3ff2: ff 1f adc r31, r31
3ff4: ee 58 subi r30, 0x8E ; 142
3ff6: fa 4f sbci r31, 0xFA ; 250
3ff8: 80 81 ld r24, Z
3ffa: 91 81 ldd r25, Z+1 ; 0x01
3ffc: 87 34 cpi r24, 0x47 ; 71
3ffe: 91 05 cpc r25, r1
4000: 0c f0 brlt .+2 ; 0x4004 <MotorRegler+0x2d8>
4002: 44 e0 ldi r20, 0x04 ; 4
4004: 66 0f add r22, r22
4006: 77 1f adc r23, r23
4008: 6e 58 subi r22, 0x8E ; 142
400a: 7a 4f sbci r23, 0xFA ; 250
400c: fb 01 movw r30, r22
400e: 80 81 ld r24, Z
4010: 91 81 ldd r25, Z+1 ; 0x01
4012: 8a 5b subi r24, 0xBA ; 186
4014: 9f 4f sbci r25, 0xFF ; 255
4016: 5c f4 brge .+22 ; 0x402e <MotorRegler+0x302>
4018: 22 0f add r18, r18
401a: 33 1f adc r19, r19
401c: 2e 58 subi r18, 0x8E ; 142
401e: 3a 4f sbci r19, 0xFA ; 250
4020: f9 01 movw r30, r18
4022: 80 81 ld r24, Z
4024: 91 81 ldd r25, Z+1 ; 0x01
4026: 86 34 cpi r24, 0x46 ; 70
4028: 91 05 cpc r25, r1
402a: 0c f4 brge .+2 ; 0x402e <MotorRegler+0x302>
402c: 45 e0 ldi r20, 0x05 ; 5
402e: a2 e0 ldi r26, 0x02 ; 2
4030: b0 e0 ldi r27, 0x00 ; 0
4032: 04 2e mov r0, r20
4034: 0e 94 69 2e call 0x5cd2 ; 0x5cd2 <__eeprom_write_byte_1F2021>
4038: 0e 94 0b 02 call 0x416 ; 0x416 <GetActiveParamSetNumber>
403c: 4a e3 ldi r20, 0x3A ; 58
403e: 6e e9 ldi r22, 0x9E ; 158
4040: 75 e0 ldi r23, 0x05 ; 5
4042: 0e 94 2a 02 call 0x454 ; 0x454 <ReadParameterSet>
4046: 0e 94 0b 02 call 0x416 ; 0x416 <GetActiveParamSetNumber>
404a: 0e 94 81 1e call 0x3d02 ; 0x3d02 <Piep>
404e: 80 91 a6 05 lds r24, 0x05A6
4052: 80 ff sbrs r24, 0
4054: b6 c0 rjmp .+364 ; 0x41c2 <MotorRegler+0x496>
4056: 80 91 0a 01 lds r24, 0x010A
405a: 90 91 0b 01 lds r25, 0x010B
405e: 87 5b subi r24, 0xB7 ; 183
4060: 93 40 sbci r25, 0x03 ; 3
4062: 40 f4 brcc .+16 ; 0x4074 <MotorRegler+0x348>
4064: 80 91 0a 01 lds r24, 0x010A
4068: 90 91 0b 01 lds r25, 0x010B
406c: 8e 5e subi r24, 0xEE ; 238
406e: 92 40 sbci r25, 0x02 ; 2
4070: 08 f0 brcs .+2 ; 0x4074 <MotorRegler+0x348>
4072: a7 c0 rjmp .+334 ; 0x41c2 <MotorRegler+0x496>
4074: 0e 94 56 10 call 0x20ac ; 0x20ac <SucheLuftruckOffset>
4078: a4 c0 rjmp .+328 ; 0x41c2 <MotorRegler+0x496>
407a: 10 92 41 02 sts 0x0241, r1
407e: a1 c0 rjmp .+322 ; 0x41c2 <MotorRegler+0x496>
4080: 49 81 ldd r20, Y+1 ; 0x01
4082: 5a 81 ldd r21, Y+2 ; 0x02
4084: 43 32 cpi r20, 0x23 ; 35
4086: 51 05 cpc r21, r1
4088: 0c f0 brlt .+2 ; 0x408c <MotorRegler+0x360>
408a: 9b c0 rjmp .+310 ; 0x41c2 <MotorRegler+0x496>
408c: 80 91 a1 05 lds r24, 0x05A1
4090: 48 2f mov r20, r24
4092: 55 27 eor r21, r21
4094: fa 01 movw r30, r20
4096: ee 0f add r30, r30
4098: ff 1f adc r31, r31
409a: ee 58 subi r30, 0x8E ; 142
409c: fa 4f sbci r31, 0xFA ; 250
409e: 80 81 ld r24, Z
40a0: 91 81 ldd r25, Z+1 ; 0x01
40a2: 85 5b subi r24, 0xB5 ; 181
40a4: 9f 4f sbci r25, 0xFF ; 255
40a6: 0c f0 brlt .+2 ; 0x40aa <MotorRegler+0x37e>
40a8: 6d c0 rjmp .+218 ; 0x4184 <MotorRegler+0x458>
40aa: 80 91 40 02 lds r24, 0x0240
40ae: 8f 5f subi r24, 0xFF ; 255
40b0: 80 93 40 02 sts 0x0240, r24
40b4: 89 3c cpi r24, 0xC9 ; 201
40b6: 08 f4 brcc .+2 ; 0x40ba <MotorRegler+0x38e>
40b8: 67 c0 rjmp .+206 ; 0x4188 <MotorRegler+0x45c>
40ba: 88 ec ldi r24, 0xC8 ; 200
40bc: 80 93 40 02 sts 0x0240, r24
40c0: 81 e0 ldi r24, 0x01 ; 1
40c2: 90 e0 ldi r25, 0x00 ; 0
40c4: 90 93 3e 02 sts 0x023E, r25
40c8: 80 93 3d 02 sts 0x023D, r24
40cc: 81 e0 ldi r24, 0x01 ; 1
40ce: 80 93 2e 02 sts 0x022E, r24
40d2: 10 92 50 02 sts 0x0250, r1
40d6: 10 92 51 02 sts 0x0251, r1
40da: 10 92 52 02 sts 0x0252, r1
40de: 10 92 53 02 sts 0x0253, r1
40e2: 10 92 0b 02 sts 0x020B, r1
40e6: 10 92 0c 02 sts 0x020C, r1
40ea: 10 92 0d 02 sts 0x020D, r1
40ee: 10 92 0e 02 sts 0x020E, r1
40f2: 10 92 0f 02 sts 0x020F, r1
40f6: 10 92 10 02 sts 0x0210, r1
40fa: 10 92 11 02 sts 0x0211, r1
40fe: 10 92 12 02 sts 0x0212, r1
4102: 10 92 fb 01 sts 0x01FB, r1
4106: 10 92 fc 01 sts 0x01FC, r1
410a: 10 92 fd 01 sts 0x01FD, r1
410e: 10 92 fe 01 sts 0x01FE, r1
4112: 10 92 03 02 sts 0x0203, r1
4116: 10 92 04 02 sts 0x0204, r1
411a: 10 92 05 02 sts 0x0205, r1
411e: 10 92 06 02 sts 0x0206, r1
4122: 80 91 e7 01 lds r24, 0x01E7
4126: 90 91 e8 01 lds r25, 0x01E8
412a: a0 91 e9 01 lds r26, 0x01E9
412e: b0 91 ea 01 lds r27, 0x01EA
4132: 80 93 ff 01 sts 0x01FF, r24
4136: 90 93 00 02 sts 0x0200, r25
413a: a0 93 01 02 sts 0x0201, r26
413e: b0 93 02 02 sts 0x0202, r27
4142: 80 91 ef 01 lds r24, 0x01EF
4146: 90 91 f0 01 lds r25, 0x01F0
414a: a0 91 f1 01 lds r26, 0x01F1
414e: b0 91 f2 01 lds r27, 0x01F2
4152: 80 93 07 02 sts 0x0207, r24
4156: 90 93 08 02 sts 0x0208, r25
415a: a0 93 09 02 sts 0x0209, r26
415e: b0 93 0a 02 sts 0x020A, r27
4162: 10 92 58 02 sts 0x0258, r1
4166: 10 92 59 02 sts 0x0259, r1
416a: 10 92 5a 02 sts 0x025A, r1
416e: 10 92 5b 02 sts 0x025B, r1
4172: 10 92 54 02 sts 0x0254, r1
4176: 10 92 55 02 sts 0x0255, r1
417a: 10 92 56 02 sts 0x0256, r1
417e: 10 92 57 02 sts 0x0257, r1
4182: 02 c0 rjmp .+4 ; 0x4188 <MotorRegler+0x45c>
4184: 10 92 40 02 sts 0x0240, r1
4188: 44 0f add r20, r20
418a: 55 1f adc r21, r21
418c: 4e 58 subi r20, 0x8E ; 142
418e: 5a 4f sbci r21, 0xFA ; 250
4190: fa 01 movw r30, r20
4192: 80 81 ld r24, Z
4194: 91 81 ldd r25, Z+1 ; 0x01
4196: 8c 34 cpi r24, 0x4C ; 76
4198: 91 05 cpc r25, r1
419a: 8c f0 brlt .+34 ; 0x41be <MotorRegler+0x492>
419c: 80 91 3f 02 lds r24, 0x023F
41a0: 8f 5f subi r24, 0xFF ; 255
41a2: 80 93 3f 02 sts 0x023F, r24
41a6: 89 3c cpi r24, 0xC9 ; 201
41a8: 60 f0 brcs .+24 ; 0x41c2 <MotorRegler+0x496>
41aa: 10 92 2e 02 sts 0x022E, r1
41ae: 88 ec ldi r24, 0xC8 ; 200
41b0: 80 93 3f 02 sts 0x023F, r24
41b4: 10 92 3e 02 sts 0x023E, r1
41b8: 10 92 3d 02 sts 0x023D, r1
41bc: 02 c0 rjmp .+4 ; 0x41c2 <MotorRegler+0x496>
41be: 10 92 3f 02 sts 0x023F, r1
41c2: 80 91 67 01 lds r24, 0x0167
41c6: 81 50 subi r24, 0x01 ; 1
41c8: 80 93 67 01 sts 0x0167, r24
41cc: 80 91 67 01 lds r24, 0x0167
41d0: 8f 3f cpi r24, 0xFF ; 255
41d2: 29 f0 breq .+10 ; 0x41de <MotorRegler+0x4b2>
41d4: 80 91 1d 02 lds r24, 0x021D
41d8: 88 23 and r24, r24
41da: 09 f4 brne .+2 ; 0x41de <MotorRegler+0x4b2>
41dc: 12 c1 rjmp .+548 ; 0x4402 <MotorRegler+0x6d6>
41de: 0e 94 13 1a call 0x3426 ; 0x3426 <ParameterZuordnung>
41e2: e0 91 9e 05 lds r30, 0x059E
41e6: ff 27 eor r31, r31
41e8: ee 0f add r30, r30
41ea: ff 1f adc r31, r31
41ec: df 01 movw r26, r30
41ee: ae 58 subi r26, 0x8E ; 142
41f0: ba 4f sbci r27, 0xFA ; 250
41f2: 8d 91 ld r24, X+
41f4: 9c 91 ld r25, X
41f6: 60 91 ad 05 lds r22, 0x05AD
41fa: 77 27 eor r23, r23
41fc: e8 57 subi r30, 0x78 ; 120
41fe: fa 4f sbci r31, 0xFA ; 250
4200: 20 81 ld r18, Z
4202: 31 81 ldd r19, Z+1 ; 0x01
4204: 40 91 ae 05 lds r20, 0x05AE
4208: 55 27 eor r21, r21
420a: fc 01 movw r30, r24
420c: e6 9f mul r30, r22
420e: c0 01 movw r24, r0
4210: e7 9f mul r30, r23
4212: 90 0d add r25, r0
4214: f6 9f mul r31, r22
4216: 90 0d add r25, r0
4218: 11 24 eor r1, r1
421a: f9 01 movw r30, r18
421c: e4 9f mul r30, r20
421e: 90 01 movw r18, r0
4220: e5 9f mul r30, r21
4222: 30 0d add r19, r0
4224: f4 9f mul r31, r20
4226: 30 0d add r19, r0
4228: 11 24 eor r1, r1
422a: 82 0f add r24, r18
422c: 93 1f adc r25, r19
422e: 90 93 29 02 sts 0x0229, r25
4232: 80 93 28 02 sts 0x0228, r24
4236: e0 91 9f 05 lds r30, 0x059F
423a: ff 27 eor r31, r31
423c: ee 0f add r30, r30
423e: ff 1f adc r31, r31
4240: df 01 movw r26, r30
4242: ae 58 subi r26, 0x8E ; 142
4244: ba 4f sbci r27, 0xFA ; 250
4246: 8d 91 ld r24, X+
4248: 9c 91 ld r25, X
424a: e8 57 subi r30, 0x78 ; 120
424c: fa 4f sbci r31, 0xFA ; 250
424e: 20 81 ld r18, Z
4250: 31 81 ldd r19, Z+1 ; 0x01
4252: fc 01 movw r30, r24
4254: e6 9f mul r30, r22
4256: c0 01 movw r24, r0
4258: e7 9f mul r30, r23
425a: 90 0d add r25, r0
425c: f6 9f mul r31, r22
425e: 90 0d add r25, r0
4260: 11 24 eor r1, r1
4262: b9 01 movw r22, r18
4264: 64 9f mul r22, r20
4266: 90 01 movw r18, r0
4268: 65 9f mul r22, r21
426a: 30 0d add r19, r0
426c: 74 9f mul r23, r20
426e: 30 0d add r19, r0
4270: 11 24 eor r1, r1
4272: 82 0f add r24, r18
4274: 93 1f adc r25, r19
4276: 90 93 2b 02 sts 0x022B, r25
427a: 80 93 2a 02 sts 0x022A, r24
427e: e0 91 a1 05 lds r30, 0x05A1
4282: ff 27 eor r31, r31
4284: ee 0f add r30, r30
4286: ff 1f adc r31, r31
4288: ee 58 subi r30, 0x8E ; 142
428a: fa 4f sbci r31, 0xFA ; 250
428c: 80 81 ld r24, Z
428e: 91 81 ldd r25, Z+1 ; 0x01
4290: 90 95 com r25
4292: 81 95 neg r24
4294: 9f 4f sbci r25, 0xFF ; 255
4296: 90 93 2d 02 sts 0x022D, r25
429a: 80 93 2c 02 sts 0x022C, r24
429e: 10 91 85 01 lds r17, 0x0185
42a2: 61 2f mov r22, r17
42a4: 77 27 eor r23, r23
42a6: 67 fd sbrc r22, 7
42a8: 70 95 com r23
42aa: 87 2f mov r24, r23
42ac: 97 2f mov r25, r23
42ae: 0e 94 6c 2c call 0x58d8 ; 0x58d8 <__floatsisf>
42b2: 17 ff sbrs r17, 7
42b4: 06 c0 rjmp .+12 ; 0x42c2 <MotorRegler+0x596>
42b6: 20 e0 ldi r18, 0x00 ; 0
42b8: 30 e0 ldi r19, 0x00 ; 0
42ba: 40 e8 ldi r20, 0x80 ; 128
42bc: 53 e4 ldi r21, 0x43 ; 67
42be: 0e 94 c1 2b call 0x5782 ; 0x5782 <__addsf3>
42c2: 20 e0 ldi r18, 0x00 ; 0
42c4: 30 e0 ldi r19, 0x00 ; 0
42c6: 40 e2 ldi r20, 0x20 ; 32
42c8: 51 e4 ldi r21, 0x41 ; 65
42ca: 0e 94 c1 2b call 0x5782 ; 0x5782 <__addsf3>
42ce: 20 e0 ldi r18, 0x00 ; 0
42d0: 30 e0 ldi r19, 0x00 ; 0
42d2: 40 e8 ldi r20, 0x80 ; 128
42d4: 5b e3 ldi r21, 0x3B ; 59
42d6: 0e 94 7a 2d call 0x5af4 ; 0x5af4 <__mulsf3>
42da: 5b 01 movw r10, r22
42dc: 6c 01 movw r12, r24
42de: 60 93 e8 05 sts 0x05E8, r22
42e2: 70 93 e9 05 sts 0x05E9, r23
42e6: 80 93 ea 05 sts 0x05EA, r24
42ea: 90 93 eb 05 sts 0x05EB, r25
42ee: 10 91 86 01 lds r17, 0x0186
42f2: 61 2f mov r22, r17
42f4: 77 27 eor r23, r23
42f6: 67 fd sbrc r22, 7
42f8: 70 95 com r23
42fa: 87 2f mov r24, r23
42fc: 97 2f mov r25, r23
42fe: 0e 94 6c 2c call 0x58d8 ; 0x58d8 <__floatsisf>
4302: 17 ff sbrs r17, 7
4304: 06 c0 rjmp .+12 ; 0x4312 <MotorRegler+0x5e6>
4306: 20 e0 ldi r18, 0x00 ; 0
4308: 30 e0 ldi r19, 0x00 ; 0
430a: 40 e8 ldi r20, 0x80 ; 128
430c: 53 e4 ldi r21, 0x43 ; 67
430e: 0e 94 c1 2b call 0x5782 ; 0x5782 <__addsf3>
4312: 20 e0 ldi r18, 0x00 ; 0
4314: 30 ee ldi r19, 0xE0 ; 224
4316: 4b e2 ldi r20, 0x2B ; 43
4318: 57 e4 ldi r21, 0x47 ; 71
431a: 0e 94 09 2c call 0x5812 ; 0x5812 <__divsf3>
431e: 60 93 df 05 sts 0x05DF, r22
4322: 70 93 e0 05 sts 0x05E0, r23
4326: 80 93 e1 05 sts 0x05E1, r24
432a: 90 93 e2 05 sts 0x05E2, r25
432e: 80 91 a6 05 lds r24, 0x05A6
4332: 82 ff sbrs r24, 2
4334: 0c c0 rjmp .+24 ; 0x434e <MotorRegler+0x622>
4336: 80 e0 ldi r24, 0x00 ; 0
4338: 90 e0 ldi r25, 0x00 ; 0
433a: a0 e0 ldi r26, 0x00 ; 0
433c: b0 e0 ldi r27, 0x00 ; 0
433e: 80 93 df 05 sts 0x05DF, r24
4342: 90 93 e0 05 sts 0x05E0, r25
4346: a0 93 e1 05 sts 0x05E1, r26
434a: b0 93 e2 05 sts 0x05E2, r27
434e: 20 e0 ldi r18, 0x00 ; 0
4350: 30 e0 ldi r19, 0x00 ; 0
4352: 40 e0 ldi r20, 0x00 ; 0
4354: 50 e0 ldi r21, 0x00 ; 0
4356: c6 01 movw r24, r12
4358: b5 01 movw r22, r10
435a: 0e 94 89 2c call 0x5912 ; 0x5912 <__eqsf2>
435e: 88 23 and r24, r24
4360: 64 f4 brge .+24 ; 0x437a <MotorRegler+0x64e>
4362: 80 e0 ldi r24, 0x00 ; 0
4364: 90 e0 ldi r25, 0x00 ; 0
4366: a0 e0 ldi r26, 0x00 ; 0
4368: b0 e0 ldi r27, 0x00 ; 0
436a: 80 93 e8 05 sts 0x05E8, r24
436e: 90 93 e9 05 sts 0x05E9, r25
4372: a0 93 ea 05 sts 0x05EA, r26
4376: b0 93 eb 05 sts 0x05EB, r27
437a: 20 e0 ldi r18, 0x00 ; 0
437c: 30 e0 ldi r19, 0x00 ; 0
437e: 40 e0 ldi r20, 0x00 ; 0
4380: 50 e0 ldi r21, 0x00 ; 0
4382: 60 91 df 05 lds r22, 0x05DF
4386: 70 91 e0 05 lds r23, 0x05E0
438a: 80 91 e1 05 lds r24, 0x05E1
438e: 90 91 e2 05 lds r25, 0x05E2
4392: 0e 94 89 2c call 0x5912 ; 0x5912 <__eqsf2>
4396: 88 23 and r24, r24
4398: 64 f4 brge .+24 ; 0x43b2 <MotorRegler+0x686>
439a: 80 e0 ldi r24, 0x00 ; 0
439c: 90 e0 ldi r25, 0x00 ; 0
439e: a0 e0 ldi r26, 0x00 ; 0
43a0: b0 e0 ldi r27, 0x00 ; 0
43a2: 80 93 df 05 sts 0x05DF, r24
43a6: 90 93 e0 05 sts 0x05E0, r25
43aa: a0 93 e1 05 sts 0x05E1, r26
43ae: b0 93 e2 05 sts 0x05E2, r27
43b2: 80 91 1d 02 lds r24, 0x021D
43b6: 88 23 and r24, r24
43b8: 21 f1 breq .+72 ; 0x4402 <MotorRegler+0x6d6>
43ba: 10 92 2d 02 sts 0x022D, r1
43be: 10 92 2c 02 sts 0x022C, r1
43c2: 10 92 29 02 sts 0x0229, r1
43c6: 10 92 28 02 sts 0x0228, r1
43ca: 10 92 2b 02 sts 0x022B, r1
43ce: 10 92 2a 02 sts 0x022A, r1
43d2: 8d ec ldi r24, 0xCD ; 205
43d4: 9c ec ldi r25, 0xCC ; 204
43d6: ac ec ldi r26, 0xCC ; 204
43d8: bd e3 ldi r27, 0x3D ; 61
43da: 80 93 e8 05 sts 0x05E8, r24
43de: 90 93 e9 05 sts 0x05E9, r25
43e2: a0 93 ea 05 sts 0x05EA, r26
43e6: b0 93 eb 05 sts 0x05EB, r27
43ea: 8a e0 ldi r24, 0x0A ; 10
43ec: 97 ed ldi r25, 0xD7 ; 215
43ee: a3 ea ldi r26, 0xA3 ; 163
43f0: bb e3 ldi r27, 0x3B ; 59
43f2: 80 93 df 05 sts 0x05DF, r24
43f6: 90 93 e0 05 sts 0x05E0, r25
43fa: a0 93 e1 05 sts 0x05E1, r26
43fe: b0 93 e2 05 sts 0x05E2, r27
4402: 80 91 c6 01 lds r24, 0x01C6
4406: 90 91 c7 01 lds r25, 0x01C7
440a: 8d 54 subi r24, 0x4D ; 77
440c: 91 40 sbci r25, 0x01 ; 1
440e: 08 f4 brcc .+2 ; 0x4412 <MotorRegler+0x6e6>
4410: bc c0 rjmp .+376 ; 0x458a <MotorRegler+0x85e>
4412: 20 91 eb 01 lds r18, 0x01EB
4416: 30 91 ec 01 lds r19, 0x01EC
441a: 40 91 ed 01 lds r20, 0x01ED
441e: 50 91 ee 01 lds r21, 0x01EE
4422: 80 91 e7 01 lds r24, 0x01E7
4426: 90 91 e8 01 lds r25, 0x01E8
442a: a0 91 e9 01 lds r26, 0x01E9
442e: b0 91 ea 01 lds r27, 0x01EA
4432: b9 01 movw r22, r18
4434: 68 1b sub r22, r24
4436: 79 0b sbc r23, r25
4438: 70 93 47 02 sts 0x0247, r23
443c: 60 93 46 02 sts 0x0246, r22
4440: 20 91 f3 01 lds r18, 0x01F3
4444: 30 91 f4 01 lds r19, 0x01F4
4448: 40 91 f5 01 lds r20, 0x01F5
444c: 50 91 f6 01 lds r21, 0x01F6
4450: 80 91 ef 01 lds r24, 0x01EF
4454: 90 91 f0 01 lds r25, 0x01F0
4458: a0 91 f1 01 lds r26, 0x01F1
445c: b0 91 f2 01 lds r27, 0x01F2
4460: 28 1b sub r18, r24
4462: 39 0b sbc r19, r25
4464: 30 93 45 02 sts 0x0245, r19
4468: 20 93 44 02 sts 0x0244, r18
446c: 10 92 c7 01 sts 0x01C7, r1
4470: 10 92 c6 01 sts 0x01C6, r1
4474: 67 3a cpi r22, 0xA7 ; 167
4476: 71 05 cpc r23, r1
4478: 34 f0 brlt .+12 ; 0x4486 <MotorRegler+0x75a>
447a: 80 91 d7 01 lds r24, 0x01D7
447e: 90 91 d8 01 lds r25, 0x01D8
4482: 01 96 adiw r24, 0x01 ; 1
4484: 08 c0 rjmp .+16 ; 0x4496 <MotorRegler+0x76a>
4486: 6a 55 subi r22, 0x5A ; 90
4488: 7f 4f sbci r23, 0xFF ; 255
448a: 4c f4 brge .+18 ; 0x449e <MotorRegler+0x772>
448c: 80 91 d7 01 lds r24, 0x01D7
4490: 90 91 d8 01 lds r25, 0x01D8
4494: 01 97 sbiw r24, 0x01 ; 1
4496: 90 93 d8 01 sts 0x01D8, r25
449a: 80 93 d7 01 sts 0x01D7, r24
449e: 27 3a cpi r18, 0xA7 ; 167
44a0: 31 05 cpc r19, r1
44a2: 34 f0 brlt .+12 ; 0x44b0 <MotorRegler+0x784>
44a4: 80 91 d9 01 lds r24, 0x01D9
44a8: 90 91 da 01 lds r25, 0x01DA
44ac: 01 96 adiw r24, 0x01 ; 1
44ae: 08 c0 rjmp .+16 ; 0x44c0 <MotorRegler+0x794>
44b0: 2a 55 subi r18, 0x5A ; 90
44b2: 3f 4f sbci r19, 0xFF ; 255
44b4: 4c f4 brge .+18 ; 0x44c8 <MotorRegler+0x79c>
44b6: 80 91 d9 01 lds r24, 0x01D9
44ba: 90 91 da 01 lds r25, 0x01DA
44be: 01 97 sbiw r24, 0x01 ; 1
44c0: 90 93 da 01 sts 0x01DA, r25
44c4: 80 93 d9 01 sts 0x01D9, r24
44c8: 80 91 0f 02 lds r24, 0x020F
44cc: 90 91 10 02 lds r25, 0x0210
44d0: a0 91 11 02 lds r26, 0x0211
44d4: b0 91 12 02 lds r27, 0x0212
44d8: 87 3a cpi r24, 0xA7 ; 167
44da: 91 05 cpc r25, r1
44dc: a1 05 cpc r26, r1
44de: b1 05 cpc r27, r1
44e0: 4c f0 brlt .+18 ; 0x44f4 <MotorRegler+0x7c8>
44e2: 80 91 db 01 lds r24, 0x01DB
44e6: 90 91 dc 01 lds r25, 0x01DC
44ea: 01 97 sbiw r24, 0x01 ; 1
44ec: 90 93 dc 01 sts 0x01DC, r25
44f0: 80 93 db 01 sts 0x01DB, r24
44f4: 80 91 0f 02 lds r24, 0x020F
44f8: 90 91 10 02 lds r25, 0x0210
44fc: a0 91 11 02 lds r26, 0x0211
4500: b0 91 12 02 lds r27, 0x0212
4504: 8a 55 subi r24, 0x5A ; 90
4506: 9f 4f sbci r25, 0xFF ; 255
4508: af 4f sbci r26, 0xFF ; 255
450a: bf 4f sbci r27, 0xFF ; 255
450c: 4c f4 brge .+18 ; 0x4520 <MotorRegler+0x7f4>
450e: 80 91 db 01 lds r24, 0x01DB
4512: 90 91 dc 01 lds r25, 0x01DC
4516: 01 96 adiw r24, 0x01 ; 1
4518: 90 93 dc 01 sts 0x01DC, r25
451c: 80 93 db 01 sts 0x01DB, r24
4520: 10 92 7a 00 sts 0x007A, r1
4524: 80 91 e7 01 lds r24, 0x01E7
4528: 90 91 e8 01 lds r25, 0x01E8
452c: a0 91 e9 01 lds r26, 0x01E9
4530: b0 91 ea 01 lds r27, 0x01EA
4534: 80 93 ff 01 sts 0x01FF, r24
4538: 90 93 00 02 sts 0x0200, r25
453c: a0 93 01 02 sts 0x0201, r26
4540: b0 93 02 02 sts 0x0202, r27
4544: 80 91 ef 01 lds r24, 0x01EF
4548: 90 91 f0 01 lds r25, 0x01F0
454c: a0 91 f1 01 lds r26, 0x01F1
4550: b0 91 f2 01 lds r27, 0x01F2
4554: 80 93 07 02 sts 0x0207, r24
4558: 90 93 08 02 sts 0x0208, r25
455c: a0 93 09 02 sts 0x0209, r26
4560: b0 93 0a 02 sts 0x020A, r27
4564: 80 91 f7 01 lds r24, 0x01F7
4568: 90 91 f8 01 lds r25, 0x01F8
456c: a0 91 f9 01 lds r26, 0x01F9
4570: b0 91 fa 01 lds r27, 0x01FA
4574: 80 93 0f 02 sts 0x020F, r24
4578: 90 93 10 02 sts 0x0210, r25
457c: a0 93 11 02 sts 0x0211, r26
4580: b0 93 12 02 sts 0x0212, r27
4584: 8f ee ldi r24, 0xEF ; 239
4586: 80 93 7a 00 sts 0x007A, r24
458a: 60 91 e7 01 lds r22, 0x01E7
458e: 70 91 e8 01 lds r23, 0x01E8
4592: 80 91 e9 01 lds r24, 0x01E9
4596: 90 91 ea 01 lds r25, 0x01EA
459a: a0 90 b2 05 lds r10, 0x05B2
459e: bb 24 eor r11, r11
45a0: cc 24 eor r12, r12
45a2: dd 24 eor r13, r13
45a4: e0 90 e3 05 lds r14, 0x05E3
45a8: f0 90 e4 05 lds r15, 0x05E4
45ac: a6 01 movw r20, r12
45ae: 95 01 movw r18, r10
45b0: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
45b4: 00 27 eor r16, r16
45b6: f7 fc sbrc r15, 7
45b8: 00 95 com r16
45ba: 10 2f mov r17, r16
45bc: 2e 19 sub r18, r14
45be: 3f 09 sbc r19, r15
45c0: 40 0b sbc r20, r16
45c2: 51 0b sbc r21, r17
45c4: ca 01 movw r24, r20
45c6: b9 01 movw r22, r18
45c8: 20 e1 ldi r18, 0x10 ; 16
45ca: 30 e0 ldi r19, 0x00 ; 0
45cc: 40 e0 ldi r20, 0x00 ; 0
45ce: 50 e0 ldi r21, 0x00 ; 0
45d0: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
45d4: 39 01 movw r6, r18
45d6: 4a 01 movw r8, r20
45d8: 20 93 4c 02 sts 0x024C, r18
45dc: 30 93 4d 02 sts 0x024D, r19
45e0: 40 93 4e 02 sts 0x024E, r20
45e4: 50 93 4f 02 sts 0x024F, r21
45e8: 60 91 ef 01 lds r22, 0x01EF
45ec: 70 91 f0 01 lds r23, 0x01F0
45f0: 80 91 f1 01 lds r24, 0x01F1
45f4: 90 91 f2 01 lds r25, 0x01F2
45f8: e0 90 ec 05 lds r14, 0x05EC
45fc: f0 90 ed 05 lds r15, 0x05ED
4600: a6 01 movw r20, r12
4602: 95 01 movw r18, r10
4604: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
4608: 00 27 eor r16, r16
460a: f7 fc sbrc r15, 7
460c: 00 95 com r16
460e: 10 2f mov r17, r16
4610: 2e 19 sub r18, r14
4612: 3f 09 sbc r19, r15
4614: 40 0b sbc r20, r16
4616: 51 0b sbc r21, r17
4618: ca 01 movw r24, r20
461a: b9 01 movw r22, r18
461c: 20 e1 ldi r18, 0x10 ; 16
461e: 30 e0 ldi r19, 0x00 ; 0
4620: 40 e0 ldi r20, 0x00 ; 0
4622: 50 e0 ldi r21, 0x00 ; 0
4624: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
4628: 20 93 48 02 sts 0x0248, r18
462c: 30 93 49 02 sts 0x0249, r19
4630: 40 93 4a 02 sts 0x024A, r20
4634: 50 93 4b 02 sts 0x024B, r21
4638: f5 ef ldi r31, 0xF5 ; 245
463a: 6f 16 cp r6, r31
463c: f1 e0 ldi r31, 0x01 ; 1
463e: 7f 06 cpc r7, r31
4640: f0 e0 ldi r31, 0x00 ; 0
4642: 8f 06 cpc r8, r31
4644: f0 e0 ldi r31, 0x00 ; 0
4646: 9f 06 cpc r9, r31
4648: 2c f0 brlt .+10 ; 0x4654 <MotorRegler+0x928>
464a: 84 ef ldi r24, 0xF4 ; 244
464c: 91 e0 ldi r25, 0x01 ; 1
464e: a0 e0 ldi r26, 0x00 ; 0
4650: b0 e0 ldi r27, 0x00 ; 0
4652: 0d c0 rjmp .+26 ; 0x466e <MotorRegler+0x942>
4654: 6c e0 ldi r22, 0x0C ; 12
4656: 66 16 cp r6, r22
4658: 6e ef ldi r22, 0xFE ; 254
465a: 76 06 cpc r7, r22
465c: 6f ef ldi r22, 0xFF ; 255
465e: 86 06 cpc r8, r22
4660: 6f ef ldi r22, 0xFF ; 255
4662: 96 06 cpc r9, r22
4664: 64 f4 brge .+24 ; 0x467e <MotorRegler+0x952>
4666: 8c e0 ldi r24, 0x0C ; 12
4668: 9e ef ldi r25, 0xFE ; 254
466a: af ef ldi r26, 0xFF ; 255
466c: bf ef ldi r27, 0xFF ; 255
466e: 80 93 4c 02 sts 0x024C, r24
4672: 90 93 4d 02 sts 0x024D, r25
4676: a0 93 4e 02 sts 0x024E, r26
467a: b0 93 4f 02 sts 0x024F, r27
467e: 25 3f cpi r18, 0xF5 ; 245
4680: 71 e0 ldi r23, 0x01 ; 1
4682: 37 07 cpc r19, r23
4684: 70 e0 ldi r23, 0x00 ; 0
4686: 47 07 cpc r20, r23
4688: 70 e0 ldi r23, 0x00 ; 0
468a: 57 07 cpc r21, r23
468c: 2c f0 brlt .+10 ; 0x4698 <MotorRegler+0x96c>
468e: 84 ef ldi r24, 0xF4 ; 244
4690: 91 e0 ldi r25, 0x01 ; 1
4692: a0 e0 ldi r26, 0x00 ; 0
4694: b0 e0 ldi r27, 0x00 ; 0
4696: 09 c0 rjmp .+18 ; 0x46aa <MotorRegler+0x97e>
4698: 2c 50 subi r18, 0x0C ; 12
469a: 3e 4f sbci r19, 0xFE ; 254
469c: 4f 4f sbci r20, 0xFF ; 255
469e: 5f 4f sbci r21, 0xFF ; 255
46a0: 64 f4 brge .+24 ; 0x46ba <MotorRegler+0x98e>
46a2: 8c e0 ldi r24, 0x0C ; 12
46a4: 9e ef ldi r25, 0xFE ; 254
46a6: af ef ldi r26, 0xFF ; 255
46a8: bf ef ldi r27, 0xFF ; 255
46aa: 80 93 48 02 sts 0x0248, r24
46ae: 90 93 49 02 sts 0x0249, r25
46b2: a0 93 4a 02 sts 0x024A, r26
46b6: b0 93 4b 02 sts 0x024B, r27
46ba: 10 92 7a 00 sts 0x007A, r1
46be: 80 91 fb 01 lds r24, 0x01FB
46c2: 90 91 fc 01 lds r25, 0x01FC
46c6: a0 91 fd 01 lds r26, 0x01FD
46ca: b0 91 fe 01 lds r27, 0x01FE
46ce: 20 91 4c 02 lds r18, 0x024C
46d2: 30 91 4d 02 lds r19, 0x024D
46d6: 40 91 4e 02 lds r20, 0x024E
46da: 50 91 4f 02 lds r21, 0x024F
46de: 82 1b sub r24, r18
46e0: 93 0b sbc r25, r19
46e2: a4 0b sbc r26, r20
46e4: b5 0b sbc r27, r21
46e6: 80 93 fb 01 sts 0x01FB, r24
46ea: 90 93 fc 01 sts 0x01FC, r25
46ee: a0 93 fd 01 sts 0x01FD, r26
46f2: b0 93 fe 01 sts 0x01FE, r27
46f6: 80 91 03 02 lds r24, 0x0203
46fa: 90 91 04 02 lds r25, 0x0204
46fe: a0 91 05 02 lds r26, 0x0205
4702: b0 91 06 02 lds r27, 0x0206
4706: 20 91 48 02 lds r18, 0x0248
470a: 30 91 49 02 lds r19, 0x0249
470e: 40 91 4a 02 lds r20, 0x024A
4712: 50 91 4b 02 lds r21, 0x024B
4716: 82 1b sub r24, r18
4718: 93 0b sbc r25, r19
471a: a4 0b sbc r26, r20
471c: b5 0b sbc r27, r21
471e: 80 93 03 02 sts 0x0203, r24
4722: 90 93 04 02 sts 0x0204, r25
4726: a0 93 05 02 sts 0x0205, r26
472a: b0 93 06 02 sts 0x0206, r27
472e: 80 91 2c 02 lds r24, 0x022C
4732: 90 91 2d 02 lds r25, 0x022D
4736: 5c 01 movw r10, r24
4738: cc 24 eor r12, r12
473a: b7 fc sbrc r11, 7
473c: c0 94 com r12
473e: dc 2c mov r13, r12
4740: a0 92 50 02 sts 0x0250, r10
4744: b0 92 51 02 sts 0x0251, r11
4748: c0 92 52 02 sts 0x0252, r12
474c: d0 92 53 02 sts 0x0253, r13
4750: 97 ff sbrs r25, 7
4752: 03 c0 rjmp .+6 ; 0x475a <MotorRegler+0xa2e>
4754: 90 95 com r25
4756: 81 95 neg r24
4758: 9f 4f sbci r25, 0xFF ; 255
475a: 84 97 sbiw r24, 0x24 ; 36
475c: 3c f0 brlt .+14 ; 0x476c <MotorRegler+0xa40>
475e: 80 91 a6 05 lds r24, 0x05A6
4762: 84 fd sbrc r24, 4
4764: 03 c0 rjmp .+6 ; 0x476c <MotorRegler+0xa40>
4766: 81 e0 ldi r24, 0x01 ; 1
4768: 80 93 39 02 sts 0x0239, r24
476c: 60 90 0b 02 lds r6, 0x020B
4770: 70 90 0c 02 lds r7, 0x020C
4774: 80 90 0d 02 lds r8, 0x020D
4778: 90 90 0e 02 lds r9, 0x020E
477c: c5 01 movw r24, r10
477e: b7 fe sbrs r11, 7
4780: 03 c0 rjmp .+6 ; 0x4788 <MotorRegler+0xa5c>
4782: 90 95 com r25
4784: 81 95 neg r24
4786: 9f 4f sbci r25, 0xFF ; 255
4788: 7c 01 movw r14, r24
478a: 00 27 eor r16, r16
478c: f7 fc sbrc r15, 7
478e: 00 95 com r16
4790: 10 2f mov r17, r16
4792: 20 91 af 05 lds r18, 0x05AF
4796: 33 27 eor r19, r19
4798: 44 27 eor r20, r20
479a: 55 27 eor r21, r21
479c: c6 01 movw r24, r12
479e: b5 01 movw r22, r10
47a0: 0e 94 de 2d call 0x5bbc ; 0x5bbc <__mulsi3>
47a4: 9b 01 movw r18, r22
47a6: ac 01 movw r20, r24
47a8: c8 01 movw r24, r16
47aa: b7 01 movw r22, r14
47ac: 0e 94 de 2d call 0x5bbc ; 0x5bbc <__mulsi3>
47b0: 20 e0 ldi r18, 0x00 ; 0
47b2: 31 e0 ldi r19, 0x01 ; 1
47b4: 40 e0 ldi r20, 0x00 ; 0
47b6: 50 e0 ldi r21, 0x00 ; 0
47b8: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
47bc: 44 27 eor r20, r20
47be: 37 fd sbrc r19, 7
47c0: 40 95 com r20
47c2: 54 2f mov r21, r20
47c4: 62 1a sub r6, r18
47c6: 73 0a sbc r7, r19
47c8: 84 0a sbc r8, r20
47ca: 95 0a sbc r9, r21
47cc: 60 92 0b 02 sts 0x020B, r6
47d0: 70 92 0c 02 sts 0x020C, r7
47d4: 80 92 0d 02 sts 0x020D, r8
47d8: 90 92 0e 02 sts 0x020E, r9
47dc: 80 91 0b 02 lds r24, 0x020B
47e0: 90 91 0c 02 lds r25, 0x020C
47e4: a0 91 0d 02 lds r26, 0x020D
47e8: b0 91 0e 02 lds r27, 0x020E
47ec: 81 53 subi r24, 0x31 ; 49
47ee: 95 47 sbci r25, 0x75 ; 117
47f0: a0 40 sbci r26, 0x00 ; 0
47f2: b0 40 sbci r27, 0x00 ; 0
47f4: 64 f0 brlt .+24 ; 0x480e <MotorRegler+0xae2>
47f6: 80 e3 ldi r24, 0x30 ; 48
47f8: 95 e7 ldi r25, 0x75 ; 117
47fa: a0 e0 ldi r26, 0x00 ; 0
47fc: b0 e0 ldi r27, 0x00 ; 0
47fe: 80 93 0b 02 sts 0x020B, r24
4802: 90 93 0c 02 sts 0x020C, r25
4806: a0 93 0d 02 sts 0x020D, r26
480a: b0 93 0e 02 sts 0x020E, r27
480e: 80 91 0b 02 lds r24, 0x020B
4812: 90 91 0c 02 lds r25, 0x020C
4816: a0 91 0d 02 lds r26, 0x020D
481a: b0 91 0e 02 lds r27, 0x020E
481e: 80 5d subi r24, 0xD0 ; 208
4820: 9a 48 sbci r25, 0x8A ; 138
4822: af 4f sbci r26, 0xFF ; 255
4824: bf 4f sbci r27, 0xFF ; 255
4826: 64 f4 brge .+24 ; 0x4840 <MotorRegler+0xb14>
4828: 80 ed ldi r24, 0xD0 ; 208
482a: 9a e8 ldi r25, 0x8A ; 138
482c: af ef ldi r26, 0xFF ; 255
482e: bf ef ldi r27, 0xFF ; 255
4830: 80 93 0b 02 sts 0x020B, r24
4834: 90 93 0c 02 sts 0x020C, r25
4838: a0 93 0d 02 sts 0x020D, r26
483c: b0 93 0e 02 sts 0x020E, r27
4840: 8f ee ldi r24, 0xEF ; 239
4842: 80 93 7a 00 sts 0x007A, r24
4846: 80 91 17 02 lds r24, 0x0217
484a: 90 91 18 02 lds r25, 0x0218
484e: 89 2b or r24, r25
4850: 09 f4 brne .+2 ; 0x4854 <MotorRegler+0xb28>
4852: a1 c0 rjmp .+322 ; 0x4996 <MotorRegler+0xc6a>
4854: 80 91 a6 05 lds r24, 0x05A6
4858: 83 ff sbrs r24, 3
485a: 9d c0 rjmp .+314 ; 0x4996 <MotorRegler+0xc6a>
485c: 60 91 e7 01 lds r22, 0x01E7
4860: 70 91 e8 01 lds r23, 0x01E8
4864: 80 91 e9 01 lds r24, 0x01E9
4868: 90 91 ea 01 lds r25, 0x01EA
486c: 20 e0 ldi r18, 0x00 ; 0
486e: 32 e0 ldi r19, 0x02 ; 2
4870: 40 e0 ldi r20, 0x00 ; 0
4872: 50 e0 ldi r21, 0x00 ; 0
4874: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
4878: 89 01 movw r16, r18
487a: 37 ff sbrs r19, 7
487c: 03 c0 rjmp .+6 ; 0x4884 <MotorRegler+0xb58>
487e: 10 95 com r17
4880: 01 95 neg r16
4882: 1f 4f sbci r17, 0xFF ; 255
4884: 60 91 ef 01 lds r22, 0x01EF
4888: 70 91 f0 01 lds r23, 0x01F0
488c: 80 91 f1 01 lds r24, 0x01F1
4890: 90 91 f2 01 lds r25, 0x01F2
4894: 20 e0 ldi r18, 0x00 ; 0
4896: 32 e0 ldi r19, 0x02 ; 2
4898: 40 e0 ldi r20, 0x00 ; 0
489a: 50 e0 ldi r21, 0x00 ; 0
489c: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
48a0: b9 01 movw r22, r18
48a2: 37 ff sbrs r19, 7
48a4: 03 c0 rjmp .+6 ; 0x48ac <MotorRegler+0xb80>
48a6: 70 95 com r23
48a8: 61 95 neg r22
48aa: 7f 4f sbci r23, 0xFF ; 255
48ac: 60 17 cp r22, r16
48ae: 71 07 cpc r23, r17
48b0: 0c f4 brge .+2 ; 0x48b4 <MotorRegler+0xb88>
48b2: b8 01 movw r22, r16
48b4: 69 31 cpi r22, 0x19 ; 25
48b6: 71 05 cpc r23, r1
48b8: a4 f4 brge .+40 ; 0x48e2 <MotorRegler+0xbb6>
48ba: 80 91 39 02 lds r24, 0x0239
48be: 88 23 and r24, r24
48c0: 81 f0 breq .+32 ; 0x48e2 <MotorRegler+0xbb6>
48c2: 80 91 37 02 lds r24, 0x0237
48c6: 90 91 38 02 lds r25, 0x0238
48ca: 89 2b or r24, r25
48cc: 51 f4 brne .+20 ; 0x48e2 <MotorRegler+0xbb6>
48ce: 80 91 17 02 lds r24, 0x0217
48d2: 90 91 18 02 lds r25, 0x0218
48d6: 90 93 1a 02 sts 0x021A, r25
48da: 80 93 19 02 sts 0x0219, r24
48de: 10 92 39 02 sts 0x0239, r1
48e2: 20 91 84 01 lds r18, 0x0184
48e6: 33 27 eor r19, r19
48e8: 62 9f mul r22, r18
48ea: c0 01 movw r24, r0
48ec: 63 9f mul r22, r19
48ee: 90 0d add r25, r0
48f0: 72 9f mul r23, r18
48f2: 90 0d add r25, r0
48f4: 11 24 eor r1, r1
48f6: 60 e4 ldi r22, 0x40 ; 64
48f8: 70 e0 ldi r23, 0x00 ; 0
48fa: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
48fe: a9 01 movw r20, r18
4900: 46 1b sub r20, r22
4902: 57 0b sbc r21, r23
4904: 14 16 cp r1, r20
4906: 15 06 cpc r1, r21
4908: 0c f0 brlt .+2 ; 0x490c <MotorRegler+0xbe0>
490a: 3f c0 rjmp .+126 ; 0x498a <MotorRegler+0xc5e>
490c: 10 92 7a 00 sts 0x007A, r1
4910: 20 91 37 02 lds r18, 0x0237
4914: 30 91 38 02 lds r19, 0x0238
4918: 21 15 cp r18, r1
491a: 31 05 cpc r19, r1
491c: 61 f5 brne .+88 ; 0x4976 <MotorRegler+0xc4a>
491e: 00 91 0b 02 lds r16, 0x020B
4922: 10 91 0c 02 lds r17, 0x020C
4926: 20 91 0d 02 lds r18, 0x020D
492a: 30 91 0e 02 lds r19, 0x020E
492e: 80 91 1b 02 lds r24, 0x021B
4932: 90 91 1c 02 lds r25, 0x021C
4936: bc 01 movw r22, r24
4938: 64 9f mul r22, r20
493a: c0 01 movw r24, r0
493c: 65 9f mul r22, r21
493e: 90 0d add r25, r0
4940: 74 9f mul r23, r20
4942: 90 0d add r25, r0
4944: 11 24 eor r1, r1
4946: 60 e2 ldi r22, 0x20 ; 32
4948: 70 e0 ldi r23, 0x00 ; 0
494a: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
494e: 88 27 eor r24, r24
4950: 77 fd sbrc r23, 7
4952: 80 95 com r24
4954: 98 2f mov r25, r24
4956: 06 0f add r16, r22
4958: 17 1f adc r17, r23
495a: 28 1f adc r18, r24
495c: 39 1f adc r19, r25
495e: 00 93 0b 02 sts 0x020B, r16
4962: 10 93 0c 02 sts 0x020C, r17
4966: 20 93 0d 02 sts 0x020D, r18
496a: 30 93 0e 02 sts 0x020E, r19
496e: 8f ee ldi r24, 0xEF ; 239
4970: 80 93 7a 00 sts 0x007A, r24
4974: 10 c0 rjmp .+32 ; 0x4996 <MotorRegler+0xc6a>
4976: 8f ee ldi r24, 0xEF ; 239
4978: 80 93 7a 00 sts 0x007A, r24
497c: 21 50 subi r18, 0x01 ; 1
497e: 30 40 sbci r19, 0x00 ; 0
4980: 30 93 38 02 sts 0x0238, r19
4984: 20 93 37 02 sts 0x0237, r18
4988: 06 c0 rjmp .+12 ; 0x4996 <MotorRegler+0xc6a>
498a: 84 ef ldi r24, 0xF4 ; 244
498c: 91 e0 ldi r25, 0x01 ; 1
498e: 90 93 38 02 sts 0x0238, r25
4992: 80 93 37 02 sts 0x0237, r24
4996: 80 91 a6 05 lds r24, 0x05A6
499a: 85 ff sbrs r24, 5
499c: 18 c0 rjmp .+48 ; 0x49ce <MotorRegler+0xca2>
499e: 80 91 33 02 lds r24, 0x0233
49a2: 99 27 eor r25, r25
49a4: 90 93 a3 02 sts 0x02A3, r25
49a8: 80 93 a2 02 sts 0x02A2, r24
49ac: 80 91 34 02 lds r24, 0x0234
49b0: 99 27 eor r25, r25
49b2: 90 93 a5 02 sts 0x02A5, r25
49b6: 80 93 a4 02 sts 0x02A4, r24
49ba: 80 91 35 02 lds r24, 0x0235
49be: 99 27 eor r25, r25
49c0: 90 93 a1 02 sts 0x02A1, r25
49c4: 80 93 a0 02 sts 0x02A0, r24
49c8: 0e 94 67 29 call 0x52ce ; 0x52ce <gps_main>
49cc: 08 c0 rjmp .+16 ; 0x49de <MotorRegler+0xcb2>
49ce: 10 92 8d 02 sts 0x028D, r1
49d2: 10 92 8c 02 sts 0x028C, r1
49d6: 10 92 8f 02 sts 0x028F, r1
49da: 10 92 8e 02 sts 0x028E, r1
49de: 80 91 ed 04 lds r24, 0x04ED
49e2: 8f 5f subi r24, 0xFF ; 255
49e4: 80 93 ed 04 sts 0x04ED, r24
49e8: 80 91 3a 02 lds r24, 0x023A
49ec: 81 50 subi r24, 0x01 ; 1
49ee: 80 93 3a 02 sts 0x023A, r24
49f2: 8f 3f cpi r24, 0xFF ; 255
49f4: 09 f0 breq .+2 ; 0x49f8 <MotorRegler+0xccc>
49f6: 68 c0 rjmp .+208 ; 0x4ac8 <MotorRegler+0xd9c>
49f8: 81 e3 ldi r24, 0x31 ; 49
49fa: 80 93 3a 02 sts 0x023A, r24
49fe: 60 91 e7 01 lds r22, 0x01E7
4a02: 70 91 e8 01 lds r23, 0x01E8
4a06: 80 91 e9 01 lds r24, 0x01E9
4a0a: 90 91 ea 01 lds r25, 0x01EA
4a0e: e0 90 b2 05 lds r14, 0x05B2
4a12: ff 24 eor r15, r15
4a14: 00 27 eor r16, r16
4a16: 11 27 eor r17, r17
4a18: a8 01 movw r20, r16
4a1a: 97 01 movw r18, r14
4a1c: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
4a20: 30 93 ef 04 sts 0x04EF, r19
4a24: 20 93 ee 04 sts 0x04EE, r18
4a28: 60 91 ef 01 lds r22, 0x01EF
4a2c: 70 91 f0 01 lds r23, 0x01F0
4a30: 80 91 f1 01 lds r24, 0x01F1
4a34: 90 91 f2 01 lds r25, 0x01F2
4a38: a8 01 movw r20, r16
4a3a: 97 01 movw r18, r14
4a3c: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
4a40: 30 93 f1 04 sts 0x04F1, r19
4a44: 20 93 f0 04 sts 0x04F0, r18
4a48: 80 91 e3 05 lds r24, 0x05E3
4a4c: 90 91 e4 05 lds r25, 0x05E4
4a50: 90 93 f3 04 sts 0x04F3, r25
4a54: 80 93 f2 04 sts 0x04F2, r24
4a58: 80 91 ec 05 lds r24, 0x05EC
4a5c: 90 91 ed 05 lds r25, 0x05ED
4a60: 90 93 f5 04 sts 0x04F5, r25
4a64: 80 93 f4 04 sts 0x04F4, r24
4a68: 80 91 e6 05 lds r24, 0x05E6
4a6c: 90 91 e7 05 lds r25, 0x05E7
4a70: 90 93 f7 04 sts 0x04F7, r25
4a74: 80 93 f6 04 sts 0x04F6, r24
4a78: 80 91 2f 02 lds r24, 0x022F
4a7c: 90 91 30 02 lds r25, 0x0230
4a80: 90 93 f9 04 sts 0x04F9, r25
4a84: 80 93 f8 04 sts 0x04F8, r24
4a88: 60 91 13 02 lds r22, 0x0213
4a8c: 70 91 14 02 lds r23, 0x0214
4a90: 80 91 15 02 lds r24, 0x0215
4a94: 90 91 16 02 lds r25, 0x0216
4a98: 20 e0 ldi r18, 0x00 ; 0
4a9a: 32 e0 ldi r19, 0x02 ; 2
4a9c: 40 e0 ldi r20, 0x00 ; 0
4a9e: 50 e0 ldi r21, 0x00 ; 0
4aa0: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
4aa4: 30 93 fb 04 sts 0x04FB, r19
4aa8: 20 93 fa 04 sts 0x04FA, r18
4aac: 89 81 ldd r24, Y+1 ; 0x01
4aae: 9a 81 ldd r25, Y+2 ; 0x02
4ab0: 90 93 fd 04 sts 0x04FD, r25
4ab4: 80 93 fc 04 sts 0x04FC, r24
4ab8: 80 91 17 02 lds r24, 0x0217
4abc: 90 91 18 02 lds r25, 0x0218
4ac0: 90 93 ff 04 sts 0x04FF, r25
4ac4: 80 93 fe 04 sts 0x04FE, r24
4ac8: 60 91 e7 01 lds r22, 0x01E7
4acc: 70 91 e8 01 lds r23, 0x01E8
4ad0: 80 91 e9 01 lds r24, 0x01E9
4ad4: 90 91 ea 01 lds r25, 0x01EA
4ad8: 20 90 df 05 lds r2, 0x05DF
4adc: 30 90 e0 05 lds r3, 0x05E0
4ae0: 40 90 e1 05 lds r4, 0x05E1
4ae4: 50 90 e2 05 lds r5, 0x05E2
4ae8: e0 90 da 05 lds r14, 0x05DA
4aec: f0 90 db 05 lds r15, 0x05DB
4af0: 60 90 e8 05 lds r6, 0x05E8
4af4: 70 90 e9 05 lds r7, 0x05E9
4af8: 80 90 ea 05 lds r8, 0x05EA
4afc: 90 90 eb 05 lds r9, 0x05EB
4b00: 0e 94 6c 2c call 0x58d8 ; 0x58d8 <__floatsisf>
4b04: a2 01 movw r20, r4
4b06: 91 01 movw r18, r2
4b08: 0e 94 7a 2d call 0x5af4 ; 0x5af4 <__mulsf3>
4b0c: 5b 01 movw r10, r22
4b0e: 6c 01 movw r12, r24
4b10: 00 27 eor r16, r16
4b12: f7 fc sbrc r15, 7
4b14: 00 95 com r16
4b16: 10 2f mov r17, r16
4b18: c8 01 movw r24, r16
4b1a: b7 01 movw r22, r14
4b1c: 0e 94 6c 2c call 0x58d8 ; 0x58d8 <__floatsisf>
4b20: a4 01 movw r20, r8
4b22: 93 01 movw r18, r6
4b24: 0e 94 7a 2d call 0x5af4 ; 0x5af4 <__mulsf3>
4b28: 9b 01 movw r18, r22
4b2a: ac 01 movw r20, r24
4b2c: c6 01 movw r24, r12
4b2e: b5 01 movw r22, r10
4b30: 0e 94 c1 2b call 0x5782 ; 0x5782 <__addsf3>
4b34: 0e 94 4f 2c call 0x589e ; 0x589e <__fixsfsi>
4b38: 70 93 db 05 sts 0x05DB, r23
4b3c: 60 93 da 05 sts 0x05DA, r22
4b40: 60 91 ef 01 lds r22, 0x01EF
4b44: 70 91 f0 01 lds r23, 0x01F0
4b48: 80 91 f1 01 lds r24, 0x01F1
4b4c: 90 91 f2 01 lds r25, 0x01F2
4b50: e0 90 d8 05 lds r14, 0x05D8
4b54: f0 90 d9 05 lds r15, 0x05D9
4b58: 0e 94 6c 2c call 0x58d8 ; 0x58d8 <__floatsisf>
4b5c: a2 01 movw r20, r4
4b5e: 91 01 movw r18, r2
4b60: 0e 94 7a 2d call 0x5af4 ; 0x5af4 <__mulsf3>
4b64: 5b 01 movw r10, r22
4b66: 6c 01 movw r12, r24
4b68: 00 27 eor r16, r16
4b6a: f7 fc sbrc r15, 7
4b6c: 00 95 com r16
4b6e: 10 2f mov r17, r16
4b70: c8 01 movw r24, r16
4b72: b7 01 movw r22, r14
4b74: 0e 94 6c 2c call 0x58d8 ; 0x58d8 <__floatsisf>
4b78: a4 01 movw r20, r8
4b7a: 93 01 movw r18, r6
4b7c: 0e 94 7a 2d call 0x5af4 ; 0x5af4 <__mulsf3>
4b80: 9b 01 movw r18, r22
4b82: ac 01 movw r20, r24
4b84: c6 01 movw r24, r12
4b86: b5 01 movw r22, r10
4b88: 0e 94 c1 2b call 0x5782 ; 0x5782 <__addsf3>
4b8c: 0e 94 4f 2c call 0x589e ; 0x589e <__fixsfsi>
4b90: 70 93 d9 05 sts 0x05D9, r23
4b94: 60 93 d8 05 sts 0x05D8, r22
4b98: 60 91 e6 05 lds r22, 0x05E6
4b9c: 70 91 e7 05 lds r23, 0x05E7
4ba0: a0 90 f7 01 lds r10, 0x01F7
4ba4: b0 90 f8 01 lds r11, 0x01F8
4ba8: c0 90 f9 01 lds r12, 0x01F9
4bac: d0 90 fa 01 lds r13, 0x01FA
4bb0: 88 27 eor r24, r24
4bb2: 77 fd sbrc r23, 7
4bb4: 80 95 com r24
4bb6: 98 2f mov r25, r24
4bb8: 0e 94 6c 2c call 0x58d8 ; 0x58d8 <__floatsisf>
4bbc: 7b 01 movw r14, r22
4bbe: 8c 01 movw r16, r24
4bc0: 20 e0 ldi r18, 0x00 ; 0
4bc2: 30 e0 ldi r19, 0x00 ; 0
4bc4: 40 e0 ldi r20, 0x00 ; 0
4bc6: 5f e3 ldi r21, 0x3F ; 63
4bc8: c4 01 movw r24, r8
4bca: b3 01 movw r22, r6
4bcc: 0e 94 7a 2d call 0x5af4 ; 0x5af4 <__mulsf3>
4bd0: 9b 01 movw r18, r22
4bd2: ac 01 movw r20, r24
4bd4: c8 01 movw r24, r16
4bd6: b7 01 movw r22, r14
4bd8: 0e 94 7a 2d call 0x5af4 ; 0x5af4 <__mulsf3>
4bdc: 7b 01 movw r14, r22
4bde: 8c 01 movw r16, r24
4be0: c6 01 movw r24, r12
4be2: b5 01 movw r22, r10
4be4: 0e 94 6c 2c call 0x58d8 ; 0x58d8 <__floatsisf>
4be8: a2 01 movw r20, r4
4bea: 91 01 movw r18, r2
4bec: 0e 94 7a 2d call 0x5af4 ; 0x5af4 <__mulsf3>
4bf0: 9b 01 movw r18, r22
4bf2: ac 01 movw r20, r24
4bf4: c8 01 movw r24, r16
4bf6: b7 01 movw r22, r14
4bf8: 0e 94 c1 2b call 0x5782 ; 0x5782 <__addsf3>
4bfc: 0e 94 4f 2c call 0x589e ; 0x589e <__fixsfsi>
4c00: 70 93 e7 05 sts 0x05E7, r23
4c04: 60 93 e6 05 sts 0x05E6, r22
4c08: 80 91 da 05 lds r24, 0x05DA
4c0c: 90 91 db 05 lds r25, 0x05DB
4c10: 81 50 subi r24, 0x01 ; 1
4c12: 98 40 sbci r25, 0x08 ; 8
4c14: 34 f0 brlt .+12 ; 0x4c22 <MotorRegler+0xef6>
4c16: 80 e0 ldi r24, 0x00 ; 0
4c18: 98 e0 ldi r25, 0x08 ; 8
4c1a: 90 93 db 05 sts 0x05DB, r25
4c1e: 80 93 da 05 sts 0x05DA, r24
4c22: 80 91 da 05 lds r24, 0x05DA
4c26: 90 91 db 05 lds r25, 0x05DB
4c2a: 80 50 subi r24, 0x00 ; 0
4c2c: 98 4f sbci r25, 0xF8 ; 248
4c2e: 34 f4 brge .+12 ; 0x4c3c <MotorRegler+0xf10>
4c30: 80 e0 ldi r24, 0x00 ; 0
4c32: 98 ef ldi r25, 0xF8 ; 248
4c34: 90 93 db 05 sts 0x05DB, r25
4c38: 80 93 da 05 sts 0x05DA, r24
4c3c: 80 91 d8 05 lds r24, 0x05D8
4c40: 90 91 d9 05 lds r25, 0x05D9
4c44: 81 50 subi r24, 0x01 ; 1
4c46: 98 40 sbci r25, 0x08 ; 8
4c48: 34 f0 brlt .+12 ; 0x4c56 <MotorRegler+0xf2a>
4c4a: 80 e0 ldi r24, 0x00 ; 0
4c4c: 98 e0 ldi r25, 0x08 ; 8
4c4e: 90 93 d9 05 sts 0x05D9, r25
4c52: 80 93 d8 05 sts 0x05D8, r24
4c56: 80 91 d8 05 lds r24, 0x05D8
4c5a: 90 91 d9 05 lds r25, 0x05D9
4c5e: 80 50 subi r24, 0x00 ; 0
4c60: 98 4f sbci r25, 0xF8 ; 248
4c62: 34 f4 brge .+12 ; 0x4c70 <MotorRegler+0xf44>
4c64: 80 e0 ldi r24, 0x00 ; 0
4c66: 98 ef ldi r25, 0xF8 ; 248
4c68: 90 93 d9 05 sts 0x05D9, r25
4c6c: 80 93 d8 05 sts 0x05D8, r24
4c70: 80 91 e6 05 lds r24, 0x05E6
4c74: 90 91 e7 05 lds r25, 0x05E7
4c78: 81 50 subi r24, 0x01 ; 1
4c7a: 98 40 sbci r25, 0x08 ; 8
4c7c: 34 f0 brlt .+12 ; 0x4c8a <MotorRegler+0xf5e>
4c7e: 80 e0 ldi r24, 0x00 ; 0
4c80: 98 e0 ldi r25, 0x08 ; 8
4c82: 90 93 e7 05 sts 0x05E7, r25
4c86: 80 93 e6 05 sts 0x05E6, r24
4c8a: 80 91 e6 05 lds r24, 0x05E6
4c8e: 90 91 e7 05 lds r25, 0x05E7
4c92: 80 50 subi r24, 0x00 ; 0
4c94: 98 4f sbci r25, 0xF8 ; 248
4c96: 34 f4 brge .+12 ; 0x4ca4 <MotorRegler+0xf78>
4c98: 80 e0 ldi r24, 0x00 ; 0
4c9a: 98 ef ldi r25, 0xF8 ; 248
4c9c: 90 93 e7 05 sts 0x05E7, r25
4ca0: 80 93 e6 05 sts 0x05E6, r24
4ca4: 80 91 a6 05 lds r24, 0x05A6
4ca8: 99 27 eor r25, r25
4caa: 80 ff sbrs r24, 0
4cac: cd c0 rjmp .+410 ; 0x4e48 <MotorRegler+0x111c>
4cae: 20 91 81 01 lds r18, 0x0181
4cb2: 81 ff sbrs r24, 1
4cb4: 0e c0 rjmp .+28 ; 0x4cd2 <MotorRegler+0xfa6>
4cb6: 22 33 cpi r18, 0x32 ; 50
4cb8: b0 f4 brcc .+44 ; 0x4ce6 <MotorRegler+0xfba>
4cba: 80 91 2f 02 lds r24, 0x022F
4cbe: 90 91 30 02 lds r25, 0x0230
4cc2: 44 97 sbiw r24, 0x14 ; 20
4cc4: 90 93 32 02 sts 0x0232, r25
4cc8: 80 93 31 02 sts 0x0231, r24
4ccc: 10 92 1e 02 sts 0x021E, r1
4cd0: 0d c0 rjmp .+26 ; 0x4cec <MotorRegler+0xfc0>
4cd2: 80 91 ab 05 lds r24, 0x05AB
4cd6: 28 9f mul r18, r24
4cd8: c0 01 movw r24, r0
4cda: 11 24 eor r1, r1
4cdc: 44 97 sbiw r24, 0x14 ; 20
4cde: 90 93 32 02 sts 0x0232, r25
4ce2: 80 93 31 02 sts 0x0231, r24
4ce6: 81 e0 ldi r24, 0x01 ; 1
4ce8: 80 93 1e 02 sts 0x021E, r24
4cec: 80 91 1d 02 lds r24, 0x021D
4cf0: 88 23 and r24, r24
4cf2: 21 f0 breq .+8 ; 0x4cfc <MotorRegler+0xfd0>
4cf4: 10 92 32 02 sts 0x0232, r1
4cf8: 10 92 31 02 sts 0x0231, r1
4cfc: 20 91 2f 02 lds r18, 0x022F
4d00: 30 91 30 02 lds r19, 0x0230
4d04: 40 91 31 02 lds r20, 0x0231
4d08: 50 91 32 02 lds r21, 0x0232
4d0c: 42 17 cp r20, r18
4d0e: 53 07 cpc r21, r19
4d10: 0c f0 brlt .+2 ; 0x4d14 <MotorRegler+0xfe8>
4d12: 9a c0 rjmp .+308 ; 0x4e48 <MotorRegler+0x111c>
4d14: 80 91 1e 02 lds r24, 0x021E
4d18: 88 23 and r24, r24
4d1a: 09 f4 brne .+2 ; 0x4d1e <MotorRegler+0xff2>
4d1c: 95 c0 rjmp .+298 ; 0x4e48 <MotorRegler+0x111c>
4d1e: 24 1b sub r18, r20
4d20: 35 0b sbc r19, r21
4d22: 80 91 82 01 lds r24, 0x0182
4d26: 99 27 eor r25, r25
4d28: bc 01 movw r22, r24
4d2a: 26 9f mul r18, r22
4d2c: c0 01 movw r24, r0
4d2e: 27 9f mul r18, r23
4d30: 90 0d add r25, r0
4d32: 36 9f mul r19, r22
4d34: 90 0d add r25, r0
4d36: 11 24 eor r1, r1
4d38: 60 e1 ldi r22, 0x10 ; 16
4d3a: 70 e0 ldi r23, 0x00 ; 0
4d3c: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
4d40: 09 81 ldd r16, Y+1 ; 0x01
4d42: 1a 81 ldd r17, Y+2 ; 0x02
4d44: 06 1b sub r16, r22
4d46: 17 0b sbc r17, r23
4d48: 20 91 c4 01 lds r18, 0x01C4
4d4c: 30 91 c5 01 lds r19, 0x01C5
4d50: 80 91 80 01 lds r24, 0x0180
4d54: 99 27 eor r25, r25
4d56: fc 01 movw r30, r24
4d58: 2e 9f mul r18, r30
4d5a: c0 01 movw r24, r0
4d5c: 2f 9f mul r18, r31
4d5e: 90 0d add r25, r0
4d60: 3e 9f mul r19, r30
4d62: 90 0d add r25, r0
4d64: 11 24 eor r1, r1
4d66: 68 e0 ldi r22, 0x08 ; 8
4d68: 70 e0 ldi r23, 0x00 ; 0
4d6a: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
4d6e: 06 1b sub r16, r22
4d70: 17 0b sbc r17, r23
4d72: 60 91 13 02 lds r22, 0x0213
4d76: 70 91 14 02 lds r23, 0x0214
4d7a: 80 91 15 02 lds r24, 0x0215
4d7e: 90 91 16 02 lds r25, 0x0216
4d82: 20 e0 ldi r18, 0x00 ; 0
4d84: 32 e0 ldi r19, 0x02 ; 2
4d86: 40 e0 ldi r20, 0x00 ; 0
4d88: 50 e0 ldi r21, 0x00 ; 0
4d8a: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
4d8e: ca 01 movw r24, r20
4d90: b9 01 movw r22, r18
4d92: 20 91 83 01 lds r18, 0x0183
4d96: 33 27 eor r19, r19
4d98: 44 27 eor r20, r20
4d9a: 55 27 eor r21, r21
4d9c: 0e 94 de 2d call 0x5bbc ; 0x5bbc <__mulsi3>
4da0: 20 e2 ldi r18, 0x20 ; 32
4da2: 30 e0 ldi r19, 0x00 ; 0
4da4: 40 e0 ldi r20, 0x00 ; 0
4da6: 50 e0 ldi r21, 0x00 ; 0
4da8: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
4dac: ff ef ldi r31, 0xFF ; 255
4dae: 2e 3c cpi r18, 0xCE ; 206
4db0: 3f 07 cpc r19, r31
4db2: 14 f4 brge .+4 ; 0x4db8 <MotorRegler+0x108c>
4db4: 2e ec ldi r18, 0xCE ; 206
4db6: 3f ef ldi r19, 0xFF ; 255
4db8: 80 91 3b 02 lds r24, 0x023B
4dbc: 90 91 3c 02 lds r25, 0x023C
4dc0: ac 01 movw r20, r24
4dc2: 74 e0 ldi r23, 0x04 ; 4
4dc4: 44 0f add r20, r20
4dc6: 55 1f adc r21, r21
4dc8: 7a 95 dec r23
4dca: e1 f7 brne .-8 ; 0x4dc4 <MotorRegler+0x1098>
4dcc: 48 1b sub r20, r24
4dce: 59 0b sbc r21, r25
4dd0: 23 33 cpi r18, 0x33 ; 51
4dd2: 31 05 cpc r19, r1
4dd4: 14 f0 brlt .+4 ; 0x4dda <MotorRegler+0x10ae>
4dd6: 22 e3 ldi r18, 0x32 ; 50
4dd8: 30 e0 ldi r19, 0x00 ; 0
4dda: 02 1b sub r16, r18
4ddc: 13 0b sbc r17, r19
4dde: ca 01 movw r24, r20
4de0: 80 0f add r24, r16
4de2: 91 1f adc r25, r17
4de4: 60 e1 ldi r22, 0x10 ; 16
4de6: 70 e0 ldi r23, 0x00 ; 0
4de8: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
4dec: 70 93 3c 02 sts 0x023C, r23
4df0: 60 93 3b 02 sts 0x023B, r22
4df4: 80 91 a7 05 lds r24, 0x05A7
4df8: 99 27 eor r25, r25
4dfa: 68 17 cp r22, r24
4dfc: 79 07 cpc r23, r25
4dfe: 8c f4 brge .+34 ; 0x4e22 <MotorRegler+0x10f6>
4e00: 29 81 ldd r18, Y+1 ; 0x01
4e02: 3a 81 ldd r19, Y+2 ; 0x02
4e04: 28 17 cp r18, r24
4e06: 39 07 cpc r19, r25
4e08: 2c f0 brlt .+10 ; 0x4e14 <MotorRegler+0x10e8>
4e0a: 90 93 3c 02 sts 0x023C, r25
4e0e: 80 93 3b 02 sts 0x023B, r24
4e12: 07 c0 rjmp .+14 ; 0x4e22 <MotorRegler+0x10f6>
4e14: 49 81 ldd r20, Y+1 ; 0x01
4e16: 5a 81 ldd r21, Y+2 ; 0x02
4e18: 50 93 3c 02 sts 0x023C, r21
4e1c: 40 93 3b 02 sts 0x023B, r20
4e20: 0d c0 rjmp .+26 ; 0x4e3c <MotorRegler+0x1110>
4e22: 80 91 3b 02 lds r24, 0x023B
4e26: 90 91 3c 02 lds r25, 0x023C
4e2a: 69 81 ldd r22, Y+1 ; 0x01
4e2c: 7a 81 ldd r23, Y+2 ; 0x02
4e2e: 68 17 cp r22, r24
4e30: 79 07 cpc r23, r25
4e32: 24 f4 brge .+8 ; 0x4e3c <MotorRegler+0x1110>
4e34: 70 93 3c 02 sts 0x023C, r23
4e38: 60 93 3b 02 sts 0x023B, r22
4e3c: 80 91 3b 02 lds r24, 0x023B
4e40: 90 91 3c 02 lds r25, 0x023C
4e44: 9a 83 std Y+2, r25 ; 0x02
4e46: 89 83 std Y+1, r24 ; 0x01
4e48: c0 90 e6 05 lds r12, 0x05E6
4e4c: d0 90 e7 05 lds r13, 0x05E7
4e50: 80 91 50 02 lds r24, 0x0250
4e54: 90 91 51 02 lds r25, 0x0251
4e58: c8 1a sub r12, r24
4e5a: d9 0a sbc r13, r25
4e5c: 95 e6 ldi r25, 0x65 ; 101
4e5e: c9 16 cp r12, r25
4e60: d1 04 cpc r13, r1
4e62: 24 f0 brlt .+8 ; 0x4e6c <MotorRegler+0x1140>
4e64: 64 e6 ldi r22, 0x64 ; 100
4e66: c6 2e mov r12, r22
4e68: d1 2c mov r13, r1
4e6a: 09 c0 rjmp .+18 ; 0x4e7e <MotorRegler+0x1152>
4e6c: ec e9 ldi r30, 0x9C ; 156
4e6e: ce 16 cp r12, r30
4e70: ef ef ldi r30, 0xFF ; 255
4e72: de 06 cpc r13, r30
4e74: 24 f4 brge .+8 ; 0x4e7e <MotorRegler+0x1152>
4e76: 5c e9 ldi r21, 0x9C ; 156
4e78: c5 2e mov r12, r21
4e7a: 5f ef ldi r21, 0xFF ; 255
4e7c: d5 2e mov r13, r21
4e7e: 40 90 78 01 lds r4, 0x0178
4e82: 50 90 79 01 lds r5, 0x0179
4e86: 60 90 7a 01 lds r6, 0x017A
4e8a: 70 90 7b 01 lds r7, 0x017B
4e8e: 60 91 da 05 lds r22, 0x05DA
4e92: 70 91 db 05 lds r23, 0x05DB
4e96: 20 91 28 02 lds r18, 0x0228
4e9a: 30 91 29 02 lds r19, 0x0229
4e9e: 40 91 8c 02 lds r20, 0x028C
4ea2: 50 91 8d 02 lds r21, 0x028D
4ea6: 24 1b sub r18, r20
4ea8: 35 0b sbc r19, r21
4eaa: 62 1b sub r22, r18
4eac: 73 0b sbc r23, r19
4eae: 88 27 eor r24, r24
4eb0: 77 fd sbrc r23, 7
4eb2: 80 95 com r24
4eb4: 98 2f mov r25, r24
4eb6: 0e 94 6c 2c call 0x58d8 ; 0x58d8 <__floatsisf>
4eba: 9b 01 movw r18, r22
4ebc: ac 01 movw r20, r24
4ebe: c3 01 movw r24, r6
4ec0: b2 01 movw r22, r4
4ec2: 0e 94 7a 2d call 0x5af4 ; 0x5af4 <__mulsf3>
4ec6: 0e 94 4f 2c call 0x589e ; 0x589e <__fixsfsi>
4eca: 70 93 99 02 sts 0x0299, r23
4ece: 60 93 98 02 sts 0x0298, r22
4ed2: 80 91 98 02 lds r24, 0x0298
4ed6: 90 91 99 02 lds r25, 0x0299
4eda: 8c 01 movw r16, r24
4edc: 22 27 eor r18, r18
4ede: 17 fd sbrc r17, 7
4ee0: 20 95 com r18
4ee2: 32 2f mov r19, r18
4ee4: 80 91 58 02 lds r24, 0x0258
4ee8: 90 91 59 02 lds r25, 0x0259
4eec: a0 91 5a 02 lds r26, 0x025A
4ef0: b0 91 5b 02 lds r27, 0x025B
4ef4: 08 0f add r16, r24
4ef6: 19 1f adc r17, r25
4ef8: 2a 1f adc r18, r26
4efa: 3b 1f adc r19, r27
4efc: 00 93 58 02 sts 0x0258, r16
4f00: 10 93 59 02 sts 0x0259, r17
4f04: 20 93 5a 02 sts 0x025A, r18
4f08: 30 93 5b 02 sts 0x025B, r19
4f0c: 10 16 cp r1, r16
4f0e: 11 06 cpc r1, r17
4f10: 12 06 cpc r1, r18
4f12: 13 06 cpc r1, r19
4f14: ac f4 brge .+42 ; 0x4f40 <MotorRegler+0x1214>
4f16: c8 01 movw r24, r16
4f18: 17 ff sbrs r17, 7
4f1a: 03 c0 rjmp .+6 ; 0x4f22 <MotorRegler+0x11f6>
4f1c: 90 95 com r25
4f1e: 81 95 neg r24
4f20: 9f 4f sbci r25, 0xFF ; 255
4f22: 60 e0 ldi r22, 0x00 ; 0
4f24: 71 e0 ldi r23, 0x01 ; 1
4f26: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
4f2a: 6f 5f subi r22, 0xFF ; 255
4f2c: 7f 4f sbci r23, 0xFF ; 255
4f2e: 88 27 eor r24, r24
4f30: 77 fd sbrc r23, 7
4f32: 80 95 com r24
4f34: 98 2f mov r25, r24
4f36: 06 1b sub r16, r22
4f38: 17 0b sbc r17, r23
4f3a: 28 0b sbc r18, r24
4f3c: 39 0b sbc r19, r25
4f3e: 14 c0 rjmp .+40 ; 0x4f68 <MotorRegler+0x123c>
4f40: c8 01 movw r24, r16
4f42: 17 ff sbrs r17, 7
4f44: 03 c0 rjmp .+6 ; 0x4f4c <MotorRegler+0x1220>
4f46: 90 95 com r25
4f48: 81 95 neg r24
4f4a: 9f 4f sbci r25, 0xFF ; 255
4f4c: 60 e0 ldi r22, 0x00 ; 0
4f4e: 71 e0 ldi r23, 0x01 ; 1
4f50: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
4f54: 6f 5f subi r22, 0xFF ; 255
4f56: 7f 4f sbci r23, 0xFF ; 255
4f58: 88 27 eor r24, r24
4f5a: 77 fd sbrc r23, 7
4f5c: 80 95 com r24
4f5e: 98 2f mov r25, r24
4f60: 06 0f add r16, r22
4f62: 17 1f adc r17, r23
4f64: 28 1f adc r18, r24
4f66: 39 1f adc r19, r25
4f68: 00 93 58 02 sts 0x0258, r16
4f6c: 10 93 59 02 sts 0x0259, r17
4f70: 20 93 5a 02 sts 0x025A, r18
4f74: 30 93 5b 02 sts 0x025B, r19
4f78: 80 91 58 02 lds r24, 0x0258
4f7c: 90 91 59 02 lds r25, 0x0259
4f80: a0 91 5a 02 lds r26, 0x025A
4f84: b0 91 5b 02 lds r27, 0x025B
4f88: 81 38 cpi r24, 0x81 ; 129
4f8a: fe e3 ldi r31, 0x3E ; 62
4f8c: 9f 07 cpc r25, r31
4f8e: f0 e0 ldi r31, 0x00 ; 0
4f90: af 07 cpc r26, r31
4f92: f0 e0 ldi r31, 0x00 ; 0
4f94: bf 07 cpc r27, r31
4f96: 2c f0 brlt .+10 ; 0x4fa2 <MotorRegler+0x1276>
4f98: 80 e8 ldi r24, 0x80 ; 128
4f9a: 9e e3 ldi r25, 0x3E ; 62
4f9c: a0 e0 ldi r26, 0x00 ; 0
4f9e: b0 e0 ldi r27, 0x00 ; 0
4fa0: 09 c0 rjmp .+18 ; 0x4fb4 <MotorRegler+0x1288>
4fa2: 80 58 subi r24, 0x80 ; 128
4fa4: 91 4c sbci r25, 0xC1 ; 193
4fa6: af 4f sbci r26, 0xFF ; 255
4fa8: bf 4f sbci r27, 0xFF ; 255
4faa: 64 f4 brge .+24 ; 0x4fc4 <MotorRegler+0x1298>
4fac: 80 e8 ldi r24, 0x80 ; 128
4fae: 91 ec ldi r25, 0xC1 ; 193
4fb0: af ef ldi r26, 0xFF ; 255
4fb2: bf ef ldi r27, 0xFF ; 255
4fb4: 80 93 58 02 sts 0x0258, r24
4fb8: 90 93 59 02 sts 0x0259, r25
4fbc: a0 93 5a 02 sts 0x025A, r26
4fc0: b0 93 5b 02 sts 0x025B, r27
4fc4: 60 91 98 02 lds r22, 0x0298
4fc8: 70 91 99 02 lds r23, 0x0299
4fcc: 80 90 7c 01 lds r8, 0x017C
4fd0: 90 90 7d 01 lds r9, 0x017D
4fd4: a0 90 7e 01 lds r10, 0x017E
4fd8: b0 90 7f 01 lds r11, 0x017F
4fdc: 88 27 eor r24, r24
4fde: 77 fd sbrc r23, 7
4fe0: 80 95 com r24
4fe2: 98 2f mov r25, r24
4fe4: 0e 94 6c 2c call 0x58d8 ; 0x58d8 <__floatsisf>
4fe8: 7b 01 movw r14, r22
4fea: 8c 01 movw r16, r24
4fec: 60 91 58 02 lds r22, 0x0258
4ff0: 70 91 59 02 lds r23, 0x0259
4ff4: 80 91 5a 02 lds r24, 0x025A
4ff8: 90 91 5b 02 lds r25, 0x025B
4ffc: 0e 94 6c 2c call 0x58d8 ; 0x58d8 <__floatsisf>
5000: 9b 01 movw r18, r22
5002: ac 01 movw r20, r24
5004: c5 01 movw r24, r10
5006: b4 01 movw r22, r8
5008: 0e 94 7a 2d call 0x5af4 ; 0x5af4 <__mulsf3>
500c: 9b 01 movw r18, r22
500e: ac 01 movw r20, r24
5010: c8 01 movw r24, r16
5012: b7 01 movw r22, r14
5014: 0e 94 c1 2b call 0x5782 ; 0x5782 <__addsf3>
5018: 0e 94 4f 2c call 0x589e ; 0x589e <__fixsfsi>
501c: 96 01 movw r18, r12
501e: 26 0f add r18, r22
5020: 37 1f adc r19, r23
5022: 49 81 ldd r20, Y+1 ; 0x01
5024: 5a 81 ldd r21, Y+2 ; 0x02
5026: 24 0f add r18, r20
5028: 35 1f adc r19, r21
502a: 22 24 eor r2, r2
502c: 4a 30 cpi r20, 0x0A ; 10
502e: 51 05 cpc r21, r1
5030: 14 f4 brge .+4 ; 0x5036 <MotorRegler+0x130a>
5032: 41 e0 ldi r20, 0x01 ; 1
5034: 24 2e mov r2, r20
5036: 37 fd sbrc r19, 7
5038: 02 c0 rjmp .+4 ; 0x503e <MotorRegler+0x1312>
503a: 22 20 and r2, r2
503c: 19 f0 breq .+6 ; 0x5044 <MotorRegler+0x1318>
503e: 40 e0 ldi r20, 0x00 ; 0
5040: 50 e0 ldi r21, 0x00 ; 0
5042: 08 c0 rjmp .+16 ; 0x5054 <MotorRegler+0x1328>
5044: 80 91 e5 05 lds r24, 0x05E5
5048: 48 2f mov r20, r24
504a: 55 27 eor r21, r21
504c: 24 17 cp r18, r20
504e: 35 07 cpc r19, r21
5050: 0c f4 brge .+2 ; 0x5054 <MotorRegler+0x1328>
5052: a9 01 movw r20, r18
5054: 80 91 dc 05 lds r24, 0x05DC
5058: e8 2f mov r30, r24
505a: ff 27 eor r31, r31
505c: fc 83 std Y+4, r31 ; 0x04
505e: eb 83 std Y+3, r30 ; 0x03
5060: 9f 01 movw r18, r30
5062: e4 17 cp r30, r20
5064: f5 07 cpc r31, r21
5066: 0c f4 brge .+2 ; 0x506a <MotorRegler+0x133e>
5068: 9a 01 movw r18, r20
506a: 20 93 96 02 sts 0x0296, r18
506e: 29 81 ldd r18, Y+1 ; 0x01
5070: 3a 81 ldd r19, Y+2 ; 0x02
5072: 26 1b sub r18, r22
5074: 37 0b sbc r19, r23
5076: b9 01 movw r22, r18
5078: 6c 0d add r22, r12
507a: 7d 1d adc r23, r13
507c: 77 fd sbrc r23, 7
507e: 02 c0 rjmp .+4 ; 0x5084 <MotorRegler+0x1358>
5080: 22 20 and r2, r2
5082: 19 f0 breq .+6 ; 0x508a <MotorRegler+0x135e>
5084: 80 e0 ldi r24, 0x00 ; 0
5086: 90 e0 ldi r25, 0x00 ; 0
5088: 07 c0 rjmp .+14 ; 0x5098 <MotorRegler+0x136c>
508a: 80 91 e5 05 lds r24, 0x05E5
508e: 99 27 eor r25, r25
5090: 68 17 cp r22, r24
5092: 79 07 cpc r23, r25
5094: 0c f4 brge .+2 ; 0x5098 <MotorRegler+0x136c>
5096: cb 01 movw r24, r22
5098: 2b 81 ldd r18, Y+3 ; 0x03
509a: 3c 81 ldd r19, Y+4 ; 0x04
509c: 28 17 cp r18, r24
509e: 39 07 cpc r19, r25
50a0: 0c f4 brge .+2 ; 0x50a4 <MotorRegler+0x1378>
50a2: 9c 01 movw r18, r24
50a4: 20 93 97 02 sts 0x0297, r18
50a8: 60 91 d8 05 lds r22, 0x05D8
50ac: 70 91 d9 05 lds r23, 0x05D9
50b0: 20 91 2a 02 lds r18, 0x022A
50b4: 30 91 2b 02 lds r19, 0x022B
50b8: 40 91 8e 02 lds r20, 0x028E
50bc: 50 91 8f 02 lds r21, 0x028F
50c0: 24 1b sub r18, r20
50c2: 35 0b sbc r19, r21
50c4: 62 1b sub r22, r18
50c6: 73 0b sbc r23, r19
50c8: 88 27 eor r24, r24
50ca: 77 fd sbrc r23, 7
50cc: 80 95 com r24
50ce: 98 2f mov r25, r24
50d0: 0e 94 6c 2c call 0x58d8 ; 0x58d8 <__floatsisf>
50d4: 9b 01 movw r18, r22
50d6: ac 01 movw r20, r24
50d8: c3 01 movw r24, r6
50da: b2 01 movw r22, r4
50dc: 0e 94 7a 2d call 0x5af4 ; 0x5af4 <__mulsf3>
50e0: 0e 94 4f 2c call 0x589e ; 0x589e <__fixsfsi>
50e4: 70 93 95 02 sts 0x0295, r23
50e8: 60 93 94 02 sts 0x0294, r22
50ec: 80 91 94 02 lds r24, 0x0294
50f0: 90 91 95 02 lds r25, 0x0295
50f4: 8c 01 movw r16, r24
50f6: 22 27 eor r18, r18
50f8: 17 fd sbrc r17, 7
50fa: 20 95 com r18
50fc: 32 2f mov r19, r18
50fe: 80 91 54 02 lds r24, 0x0254
5102: 90 91 55 02 lds r25, 0x0255
5106: a0 91 56 02 lds r26, 0x0256
510a: b0 91 57 02 lds r27, 0x0257
510e: 08 0f add r16, r24
5110: 19 1f adc r17, r25
5112: 2a 1f adc r18, r26
5114: 3b 1f adc r19, r27
5116: 00 93 54 02 sts 0x0254, r16
511a: 10 93 55 02 sts 0x0255, r17
511e: 20 93 56 02 sts 0x0256, r18
5122: 30 93 57 02 sts 0x0257, r19
5126: 10 16 cp r1, r16
5128: 11 06 cpc r1, r17
512a: 12 06 cpc r1, r18
512c: 13 06 cpc r1, r19
512e: ac f4 brge .+42 ; 0x515a <MotorRegler+0x142e>
5130: c8 01 movw r24, r16
5132: 17 ff sbrs r17, 7
5134: 03 c0 rjmp .+6 ; 0x513c <MotorRegler+0x1410>
5136: 90 95 com r25
5138: 81 95 neg r24
513a: 9f 4f sbci r25, 0xFF ; 255
513c: 60 e0 ldi r22, 0x00 ; 0
513e: 71 e0 ldi r23, 0x01 ; 1
5140: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
5144: 6f 5f subi r22, 0xFF ; 255
5146: 7f 4f sbci r23, 0xFF ; 255
5148: 88 27 eor r24, r24
514a: 77 fd sbrc r23, 7
514c: 80 95 com r24
514e: 98 2f mov r25, r24
5150: 06 1b sub r16, r22
5152: 17 0b sbc r17, r23
5154: 28 0b sbc r18, r24
5156: 39 0b sbc r19, r25
5158: 14 c0 rjmp .+40 ; 0x5182 <MotorRegler+0x1456>
515a: c8 01 movw r24, r16
515c: 17 ff sbrs r17, 7
515e: 03 c0 rjmp .+6 ; 0x5166 <MotorRegler+0x143a>
5160: 90 95 com r25
5162: 81 95 neg r24
5164: 9f 4f sbci r25, 0xFF ; 255
5166: 60 e0 ldi r22, 0x00 ; 0
5168: 71 e0 ldi r23, 0x01 ; 1
516a: 0e 94 11 2e call 0x5c22 ; 0x5c22 <__divmodhi4>
516e: 6f 5f subi r22, 0xFF ; 255
5170: 7f 4f sbci r23, 0xFF ; 255
5172: 88 27 eor r24, r24
5174: 77 fd sbrc r23, 7
5176: 80 95 com r24
5178: 98 2f mov r25, r24
517a: 06 0f add r16, r22
517c: 17 1f adc r17, r23
517e: 28 1f adc r18, r24
5180: 39 1f adc r19, r25
5182: 00 93 54 02 sts 0x0254, r16
5186: 10 93 55 02 sts 0x0255, r17
518a: 20 93 56 02 sts 0x0256, r18
518e: 30 93 57 02 sts 0x0257, r19
5192: 80 91 54 02 lds r24, 0x0254
5196: 90 91 55 02 lds r25, 0x0255
519a: a0 91 56 02 lds r26, 0x0256
519e: b0 91 57 02 lds r27, 0x0257
51a2: 81 38 cpi r24, 0x81 ; 129
51a4: 3e e3 ldi r19, 0x3E ; 62
51a6: 93 07 cpc r25, r19
51a8: 30 e0 ldi r19, 0x00 ; 0
51aa: a3 07 cpc r26, r19
51ac: 30 e0 ldi r19, 0x00 ; 0
51ae: b3 07 cpc r27, r19
51b0: 2c f0 brlt .+10 ; 0x51bc <MotorRegler+0x1490>
51b2: 80 e8 ldi r24, 0x80 ; 128
51b4: 9e e3 ldi r25, 0x3E ; 62
51b6: a0 e0 ldi r26, 0x00 ; 0
51b8: b0 e0 ldi r27, 0x00 ; 0
51ba: 09 c0 rjmp .+18 ; 0x51ce <MotorRegler+0x14a2>
51bc: 80 58 subi r24, 0x80 ; 128
51be: 91 4c sbci r25, 0xC1 ; 193
51c0: af 4f sbci r26, 0xFF ; 255
51c2: bf 4f sbci r27, 0xFF ; 255
51c4: 64 f4 brge .+24 ; 0x51de <MotorRegler+0x14b2>
51c6: 80 e8 ldi r24, 0x80 ; 128
51c8: 91 ec ldi r25, 0xC1 ; 193
51ca: af ef ldi r26, 0xFF ; 255
51cc: bf ef ldi r27, 0xFF ; 255
51ce: 80 93 54 02 sts 0x0254, r24
51d2: 90 93 55 02 sts 0x0255, r25
51d6: a0 93 56 02 sts 0x0256, r26
51da: b0 93 57 02 sts 0x0257, r27
51de: 60 91 94 02 lds r22, 0x0294
51e2: 70 91 95 02 lds r23, 0x0295
51e6: 88 27 eor r24, r24
51e8: 77 fd sbrc r23, 7
51ea: 80 95 com r24
51ec: 98 2f mov r25, r24
51ee: 0e 94 6c 2c call 0x58d8 ; 0x58d8 <__floatsisf>
51f2: 7b 01 movw r14, r22
51f4: 8c 01 movw r16, r24
51f6: 60 91 54 02 lds r22, 0x0254
51fa: 70 91 55 02 lds r23, 0x0255
51fe: 80 91 56 02 lds r24, 0x0256
5202: 90 91 57 02 lds r25, 0x0257
5206: 0e 94 6c 2c call 0x58d8 ; 0x58d8 <__floatsisf>
520a: 9b 01 movw r18, r22
520c: ac 01 movw r20, r24
520e: c5 01 movw r24, r10
5210: b4 01 movw r22, r8
5212: 0e 94 7a 2d call 0x5af4 ; 0x5af4 <__mulsf3>
5216: 9b 01 movw r18, r22
5218: ac 01 movw r20, r24
521a: c8 01 movw r24, r16
521c: b7 01 movw r22, r14
521e: 0e 94 c1 2b call 0x5782 ; 0x5782 <__addsf3>
5222: 0e 94 4f 2c call 0x589e ; 0x589e <__fixsfsi>
5226: 29 81 ldd r18, Y+1 ; 0x01
5228: 3a 81 ldd r19, Y+2 ; 0x02
522a: 26 0f add r18, r22
522c: 37 1f adc r19, r23
522e: 2c 19 sub r18, r12
5230: 3d 09 sbc r19, r13
5232: 37 fd sbrc r19, 7
5234: 02 c0 rjmp .+4 ; 0x523a <MotorRegler+0x150e>
5236: 22 20 and r2, r2
5238: 19 f0 breq .+6 ; 0x5240 <MotorRegler+0x1514>
523a: 40 e0 ldi r20, 0x00 ; 0
523c: 50 e0 ldi r21, 0x00 ; 0
523e: 08 c0 rjmp .+16 ; 0x5250 <MotorRegler+0x1524>
5240: 80 91 e5 05 lds r24, 0x05E5
5244: 48 2f mov r20, r24
5246: 55 27 eor r21, r21
5248: 24 17 cp r18, r20
524a: 35 07 cpc r19, r21
524c: 0c f4 brge .+2 ; 0x5250 <MotorRegler+0x1524>
524e: a9 01 movw r20, r18
5250: 2b 81 ldd r18, Y+3 ; 0x03
5252: 3c 81 ldd r19, Y+4 ; 0x04
5254: 24 17 cp r18, r20
5256: 35 07 cpc r19, r21
5258: 0c f4 brge .+2 ; 0x525c <MotorRegler+0x1530>
525a: 9a 01 movw r18, r20
525c: 20 93 a6 02 sts 0x02A6, r18
5260: 89 81 ldd r24, Y+1 ; 0x01
5262: 9a 81 ldd r25, Y+2 ; 0x02
5264: 86 1b sub r24, r22
5266: 97 0b sbc r25, r23
5268: bc 01 movw r22, r24
526a: 6c 19 sub r22, r12
526c: 7d 09 sbc r23, r13
526e: 77 fd sbrc r23, 7
5270: 02 c0 rjmp .+4 ; 0x5276 <MotorRegler+0x154a>
5272: 22 20 and r2, r2
5274: 19 f0 breq .+6 ; 0x527c <MotorRegler+0x1550>
5276: 20 e0 ldi r18, 0x00 ; 0
5278: 30 e0 ldi r19, 0x00 ; 0
527a: 08 c0 rjmp .+16 ; 0x528c <MotorRegler+0x1560>
527c: 80 91 e5 05 lds r24, 0x05E5
5280: 28 2f mov r18, r24
5282: 33 27 eor r19, r19
5284: 62 17 cp r22, r18
5286: 73 07 cpc r23, r19
5288: 0c f4 brge .+2 ; 0x528c <MotorRegler+0x1560>
528a: 9b 01 movw r18, r22
528c: 8b 81 ldd r24, Y+3 ; 0x03
528e: 9c 81 ldd r25, Y+4 ; 0x04
5290: 82 17 cp r24, r18
5292: 93 07 cpc r25, r19
5294: 0c f4 brge .+2 ; 0x5298 <MotorRegler+0x156c>
5296: c9 01 movw r24, r18
5298: 80 93 9a 02 sts 0x029A, r24
529c: 24 96 adiw r28, 0x04 ; 4
529e: 0f b6 in r0, 0x3f ; 63
52a0: f8 94 cli
52a2: de bf out 0x3e, r29 ; 62
52a4: 0f be out 0x3f, r0 ; 63
52a6: cd bf out 0x3d, r28 ; 61
52a8: df 91 pop r29
52aa: cf 91 pop r28
52ac: 1f 91 pop r17
52ae: 0f 91 pop r16
52b0: ff 90 pop r15
52b2: ef 90 pop r14
52b4: df 90 pop r13
52b6: cf 90 pop r12
52b8: bf 90 pop r11
52ba: af 90 pop r10
52bc: 9f 90 pop r9
52be: 8f 90 pop r8
52c0: 7f 90 pop r7
52c2: 6f 90 pop r6
52c4: 5f 90 pop r5
52c6: 4f 90 pop r4
52c8: 3f 90 pop r3
52ca: 2f 90 pop r2
52cc: 08 95 ret
 
000052ce <gps_main>:
52ce: 2f 92 push r2
52d0: 3f 92 push r3
52d2: 4f 92 push r4
52d4: 5f 92 push r5
52d6: 6f 92 push r6
52d8: 7f 92 push r7
52da: 8f 92 push r8
52dc: 9f 92 push r9
52de: af 92 push r10
52e0: bf 92 push r11
52e2: cf 92 push r12
52e4: df 92 push r13
52e6: ef 92 push r14
52e8: ff 92 push r15
52ea: 0f 93 push r16
52ec: 1f 93 push r17
52ee: cf 93 push r28
52f0: df 93 push r29
52f2: 80 91 2e 02 lds r24, 0x022E
52f6: 82 30 cpi r24, 0x02 ; 2
52f8: b0 f1 brcs .+108 ; 0x5366 <gps_main+0x98>
52fa: 80 91 80 02 lds r24, 0x0280
52fe: 90 91 81 02 lds r25, 0x0281
5302: 89 2b or r24, r25
5304: 81 f5 brne .+96 ; 0x5366 <gps_main+0x98>
5306: 80 91 2e 05 lds r24, 0x052E
530a: 88 23 and r24, r24
530c: 61 f1 breq .+88 ; 0x5366 <gps_main+0x98>
530e: 80 91 0e 05 lds r24, 0x050E
5312: 90 91 0f 05 lds r25, 0x050F
5316: a0 91 10 05 lds r26, 0x0510
531a: b0 91 11 05 lds r27, 0x0511
531e: 80 93 82 02 sts 0x0282, r24
5322: 90 93 83 02 sts 0x0283, r25
5326: a0 93 84 02 sts 0x0284, r26
532a: b0 93 85 02 sts 0x0285, r27
532e: 80 91 12 05 lds r24, 0x0512
5332: 90 91 13 05 lds r25, 0x0513
5336: a0 91 14 05 lds r26, 0x0514
533a: b0 91 15 05 lds r27, 0x0515
533e: 80 93 86 02 sts 0x0286, r24
5342: 90 93 87 02 sts 0x0287, r25
5346: a0 93 88 02 sts 0x0288, r26
534a: b0 93 89 02 sts 0x0289, r27
534e: 80 e5 ldi r24, 0x50 ; 80
5350: 90 e0 ldi r25, 0x00 ; 0
5352: 90 93 ac 01 sts 0x01AC, r25
5356: 80 93 ab 01 sts 0x01AB, r24
535a: 81 e0 ldi r24, 0x01 ; 1
535c: 90 e0 ldi r25, 0x00 ; 0
535e: 90 93 81 02 sts 0x0281, r25
5362: 80 93 80 02 sts 0x0280, r24
5366: 80 91 1f 02 lds r24, 0x021F
536a: 90 91 20 02 lds r25, 0x0220
536e: 18 16 cp r1, r24
5370: 19 06 cpc r1, r25
5372: 0c f0 brlt .+2 ; 0x5376 <gps_main+0xa8>
5374: c7 c1 rjmp .+910 ; 0x5704 <gps_main+0x436>
5376: 80 91 2e 05 lds r24, 0x052E
537a: 88 23 and r24, r24
537c: 09 f4 brne .+2 ; 0x5380 <gps_main+0xb2>
537e: c2 c1 rjmp .+900 ; 0x5704 <gps_main+0x436>
5380: 80 91 8a 01 lds r24, 0x018A
5384: 90 91 8b 01 lds r25, 0x018B
5388: 89 2b or r24, r25
538a: 51 f1 breq .+84 ; 0x53e0 <gps_main+0x112>
538c: 80 91 0e 05 lds r24, 0x050E
5390: 90 91 0f 05 lds r25, 0x050F
5394: a0 91 10 05 lds r26, 0x0510
5398: b0 91 11 05 lds r27, 0x0511
539c: 80 93 5e 02 sts 0x025E, r24
53a0: 90 93 5f 02 sts 0x025F, r25
53a4: a0 93 60 02 sts 0x0260, r26
53a8: b0 93 61 02 sts 0x0261, r27
53ac: 80 91 12 05 lds r24, 0x0512
53b0: 90 91 13 05 lds r25, 0x0513
53b4: a0 91 14 05 lds r26, 0x0514
53b8: b0 91 15 05 lds r27, 0x0515
53bc: 80 93 62 02 sts 0x0262, r24
53c0: 90 93 63 02 sts 0x0263, r25
53c4: a0 93 64 02 sts 0x0264, r26
53c8: b0 93 65 02 sts 0x0265, r27
53cc: 82 e3 ldi r24, 0x32 ; 50
53ce: 90 e0 ldi r25, 0x00 ; 0
53d0: 90 93 ac 01 sts 0x01AC, r25
53d4: 80 93 ab 01 sts 0x01AB, r24
53d8: 10 92 8b 01 sts 0x018B, r1
53dc: 10 92 8a 01 sts 0x018A, r1
53e0: 20 91 a2 02 lds r18, 0x02A2
53e4: 30 91 a3 02 lds r19, 0x02A3
53e8: 60 91 5e 02 lds r22, 0x025E
53ec: 70 91 5f 02 lds r23, 0x025F
53f0: 80 91 60 02 lds r24, 0x0260
53f4: 90 91 61 02 lds r25, 0x0261
53f8: e0 90 0e 05 lds r14, 0x050E
53fc: f0 90 0f 05 lds r15, 0x050F
5400: 00 91 10 05 lds r16, 0x0510
5404: 10 91 11 05 lds r17, 0x0511
5408: 6e 19 sub r22, r14
540a: 7f 09 sbc r23, r15
540c: 80 0b sbc r24, r16
540e: 91 0b sbc r25, r17
5410: 44 27 eor r20, r20
5412: 37 fd sbrc r19, 7
5414: 40 95 com r20
5416: 54 2f mov r21, r20
5418: 0e 94 de 2d call 0x5bbc ; 0x5bbc <__mulsi3>
541c: 1b 01 movw r2, r22
541e: 2c 01 movw r4, r24
5420: 60 93 68 02 sts 0x0268, r22
5424: 70 93 69 02 sts 0x0269, r23
5428: 80 93 6a 02 sts 0x026A, r24
542c: 90 93 6b 02 sts 0x026B, r25
5430: 20 91 a2 02 lds r18, 0x02A2
5434: 30 91 a3 02 lds r19, 0x02A3
5438: 60 91 62 02 lds r22, 0x0262
543c: 70 91 63 02 lds r23, 0x0263
5440: 80 91 64 02 lds r24, 0x0264
5444: 90 91 65 02 lds r25, 0x0265
5448: e0 90 12 05 lds r14, 0x0512
544c: f0 90 13 05 lds r15, 0x0513
5450: 00 91 14 05 lds r16, 0x0514
5454: 10 91 15 05 lds r17, 0x0515
5458: 6e 19 sub r22, r14
545a: 7f 09 sbc r23, r15
545c: 80 0b sbc r24, r16
545e: 91 0b sbc r25, r17
5460: 44 27 eor r20, r20
5462: 37 fd sbrc r19, 7
5464: 40 95 com r20
5466: 54 2f mov r21, r20
5468: 0e 94 de 2d call 0x5bbc ; 0x5bbc <__mulsi3>
546c: 5b 01 movw r10, r22
546e: 6c 01 movw r12, r24
5470: 60 93 6c 02 sts 0x026C, r22
5474: 70 93 6d 02 sts 0x026D, r23
5478: 80 93 6e 02 sts 0x026E, r24
547c: 90 93 6f 02 sts 0x026F, r25
5480: 10 92 70 02 sts 0x0270, r1
5484: 10 92 71 02 sts 0x0271, r1
5488: 10 92 72 02 sts 0x0272, r1
548c: 10 92 73 02 sts 0x0273, r1
5490: 10 92 74 02 sts 0x0274, r1
5494: 10 92 75 02 sts 0x0275, r1
5498: 10 92 76 02 sts 0x0276, r1
549c: 10 92 77 02 sts 0x0277, r1
54a0: 60 91 a4 02 lds r22, 0x02A4
54a4: 70 91 a5 02 lds r23, 0x02A5
54a8: 88 27 eor r24, r24
54aa: 77 fd sbrc r23, 7
54ac: 80 95 com r24
54ae: 98 2f mov r25, r24
54b0: 20 91 1a 05 lds r18, 0x051A
54b4: 30 91 1b 05 lds r19, 0x051B
54b8: 40 91 1c 05 lds r20, 0x051C
54bc: 50 91 1d 05 lds r21, 0x051D
54c0: 0e 94 de 2d call 0x5bbc ; 0x5bbc <__mulsi3>
54c4: 7b 01 movw r14, r22
54c6: 8c 01 movw r16, r24
54c8: 60 93 78 02 sts 0x0278, r22
54cc: 70 93 79 02 sts 0x0279, r23
54d0: 80 93 7a 02 sts 0x027A, r24
54d4: 90 93 7b 02 sts 0x027B, r25
54d8: 60 91 a4 02 lds r22, 0x02A4
54dc: 70 91 a5 02 lds r23, 0x02A5
54e0: 88 27 eor r24, r24
54e2: 77 fd sbrc r23, 7
54e4: 80 95 com r24
54e6: 98 2f mov r25, r24
54e8: 20 91 1e 05 lds r18, 0x051E
54ec: 30 91 1f 05 lds r19, 0x051F
54f0: 40 91 20 05 lds r20, 0x0520
54f4: 50 91 21 05 lds r21, 0x0521
54f8: 0e 94 de 2d call 0x5bbc ; 0x5bbc <__mulsi3>
54fc: 3b 01 movw r6, r22
54fe: 4c 01 movw r8, r24
5500: 60 93 7c 02 sts 0x027C, r22
5504: 70 93 7d 02 sts 0x027D, r23
5508: 80 93 7e 02 sts 0x027E, r24
550c: 90 93 7f 02 sts 0x027F, r25
5510: 20 91 a0 02 lds r18, 0x02A0
5514: 30 91 a1 02 lds r19, 0x02A1
5518: e2 18 sub r14, r2
551a: f3 08 sbc r15, r3
551c: 04 09 sbc r16, r4
551e: 15 09 sbc r17, r5
5520: 44 27 eor r20, r20
5522: 37 fd sbrc r19, 7
5524: 40 95 com r20
5526: 54 2f mov r21, r20
5528: c8 01 movw r24, r16
552a: b7 01 movw r22, r14
552c: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
5530: e9 01 movw r28, r18
5532: 30 93 8d 02 sts 0x028D, r19
5536: 20 93 8c 02 sts 0x028C, r18
553a: 20 91 a0 02 lds r18, 0x02A0
553e: 30 91 a1 02 lds r19, 0x02A1
5542: a6 18 sub r10, r6
5544: b7 08 sbc r11, r7
5546: c8 08 sbc r12, r8
5548: d9 08 sbc r13, r9
554a: 44 27 eor r20, r20
554c: 37 fd sbrc r19, 7
554e: 40 95 com r20
5550: 54 2f mov r21, r20
5552: c6 01 movw r24, r12
5554: b5 01 movw r22, r10
5556: 0e 94 46 2e call 0x5c8c ; 0x5c8c <__divmodsi4>
555a: b9 01 movw r22, r18
555c: 30 93 8f 02 sts 0x028F, r19
5560: 20 93 8e 02 sts 0x028E, r18
5564: 80 91 8c 01 lds r24, 0x018C
5568: 90 91 8d 01 lds r25, 0x018D
556c: 8c 17 cp r24, r28
556e: 9d 07 cpc r25, r29
5570: 2c f4 brge .+10 ; 0x557c <gps_main+0x2ae>
5572: 80 91 8c 01 lds r24, 0x018C
5576: 90 91 8d 01 lds r25, 0x018D
557a: 11 c0 rjmp .+34 ; 0x559e <gps_main+0x2d0>
557c: 80 91 8c 01 lds r24, 0x018C
5580: 90 91 8d 01 lds r25, 0x018D
5584: 90 95 com r25
5586: 81 95 neg r24
5588: 9f 4f sbci r25, 0xFF ; 255
558a: c8 17 cp r28, r24
558c: d9 07 cpc r29, r25
558e: 5c f4 brge .+22 ; 0x55a6 <gps_main+0x2d8>
5590: 80 91 8c 01 lds r24, 0x018C
5594: 90 91 8d 01 lds r25, 0x018D
5598: 90 95 com r25
559a: 81 95 neg r24
559c: 9f 4f sbci r25, 0xFF ; 255
559e: 90 93 8d 02 sts 0x028D, r25
55a2: 80 93 8c 02 sts 0x028C, r24
55a6: 80 91 8c 01 lds r24, 0x018C
55aa: 90 91 8d 01 lds r25, 0x018D
55ae: 86 17 cp r24, r22
55b0: 97 07 cpc r25, r23
55b2: 2c f4 brge .+10 ; 0x55be <gps_main+0x2f0>
55b4: 80 91 8c 01 lds r24, 0x018C
55b8: 90 91 8d 01 lds r25, 0x018D
55bc: 11 c0 rjmp .+34 ; 0x55e0 <gps_main+0x312>
55be: 80 91 8c 01 lds r24, 0x018C
55c2: 90 91 8d 01 lds r25, 0x018D
55c6: 90 95 com r25
55c8: 81 95 neg r24
55ca: 9f 4f sbci r25, 0xFF ; 255
55cc: 68 17 cp r22, r24
55ce: 79 07 cpc r23, r25
55d0: 5c f4 brge .+22 ; 0x55e8 <gps_main+0x31a>
55d2: 80 91 8c 01 lds r24, 0x018C
55d6: 90 91 8d 01 lds r25, 0x018D
55da: 90 95 com r25
55dc: 81 95 neg r24
55de: 9f 4f sbci r25, 0xFF ; 255
55e0: 90 93 8f 02 sts 0x028F, r25
55e4: 80 93 8e 02 sts 0x028E, r24
55e8: 10 92 67 02 sts 0x0267, r1
55ec: 10 92 66 02 sts 0x0266, r1
55f0: e0 90 66 02 lds r14, 0x0266
55f4: f0 90 67 02 lds r15, 0x0267
55f8: 60 91 8e 02 lds r22, 0x028E
55fc: 70 91 8f 02 lds r23, 0x028F
5600: 88 27 eor r24, r24
5602: 77 fd sbrc r23, 7
5604: 80 95 com r24
5606: 98 2f mov r25, r24
5608: 0e 94 6c 2c call 0x58d8 ; 0x58d8 <__floatsisf>
560c: 1b 01 movw r2, r22
560e: 2c 01 movw r4, r24
5610: a0 90 66 02 lds r10, 0x0266
5614: b0 90 67 02 lds r11, 0x0267
5618: 00 27 eor r16, r16
561a: f7 fc sbrc r15, 7
561c: 00 95 com r16
561e: 10 2f mov r17, r16
5620: c8 01 movw r24, r16
5622: b7 01 movw r22, r14
5624: 0e 94 6c 2c call 0x58d8 ; 0x58d8 <__floatsisf>
5628: 0e 94 c2 2d call 0x5b84 ; 0x5b84 <sin>
562c: a2 01 movw r20, r4
562e: 91 01 movw r18, r2
5630: 0e 94 7a 2d call 0x5af4 ; 0x5af4 <__mulsf3>
5634: 3b 01 movw r6, r22
5636: 4c 01 movw r8, r24
5638: cc 24 eor r12, r12
563a: b7 fc sbrc r11, 7
563c: c0 94 com r12
563e: dc 2c mov r13, r12
5640: c6 01 movw r24, r12
5642: b5 01 movw r22, r10
5644: 0e 94 6c 2c call 0x58d8 ; 0x58d8 <__floatsisf>
5648: 0e 94 03 2c call 0x5806 ; 0x5806 <cos>
564c: 7b 01 movw r14, r22
564e: 8c 01 movw r16, r24
5650: 60 91 8c 02 lds r22, 0x028C
5654: 70 91 8d 02 lds r23, 0x028D
5658: 88 27 eor r24, r24
565a: 77 fd sbrc r23, 7
565c: 80 95 com r24
565e: 98 2f mov r25, r24
5660: 0e 94 6c 2c call 0x58d8 ; 0x58d8 <__floatsisf>
5664: 9b 01 movw r18, r22
5666: ac 01 movw r20, r24
5668: c8 01 movw r24, r16
566a: b7 01 movw r22, r14
566c: 0e 94 7a 2d call 0x5af4 ; 0x5af4 <__mulsf3>
5670: 9b 01 movw r18, r22
5672: ac 01 movw r20, r24
5674: c4 01 movw r24, r8
5676: b3 01 movw r22, r6
5678: 0e 94 c1 2b call 0x5782 ; 0x5782 <__addsf3>
567c: 0e 94 4f 2c call 0x589e ; 0x589e <__fixsfsi>
5680: 7b 01 movw r14, r22
5682: 70 93 8d 02 sts 0x028D, r23
5686: 60 93 8c 02 sts 0x028C, r22
568a: 60 91 66 02 lds r22, 0x0266
568e: 70 91 67 02 lds r23, 0x0267
5692: a0 90 66 02 lds r10, 0x0266
5696: b0 90 67 02 lds r11, 0x0267
569a: 88 27 eor r24, r24
569c: 77 fd sbrc r23, 7
569e: 80 95 com r24
56a0: 98 2f mov r25, r24
56a2: 0e 94 6c 2c call 0x58d8 ; 0x58d8 <__floatsisf>
56a6: 0e 94 03 2c call 0x5806 ; 0x5806 <cos>
56aa: 3b 01 movw r6, r22
56ac: 4c 01 movw r8, r24
56ae: 00 27 eor r16, r16
56b0: f7 fc sbrc r15, 7
56b2: 00 95 com r16
56b4: 10 2f mov r17, r16
56b6: c8 01 movw r24, r16
56b8: b7 01 movw r22, r14
56ba: 0e 94 6c 2c call 0x58d8 ; 0x58d8 <__floatsisf>
56be: 9b 01 movw r18, r22
56c0: ac 01 movw r20, r24
56c2: c4 01 movw r24, r8
56c4: b3 01 movw r22, r6
56c6: 0e 94 7a 2d call 0x5af4 ; 0x5af4 <__mulsf3>
56ca: 7b 01 movw r14, r22
56cc: 8c 01 movw r16, r24
56ce: cc 24 eor r12, r12
56d0: b7 fc sbrc r11, 7
56d2: c0 94 com r12
56d4: dc 2c mov r13, r12
56d6: c6 01 movw r24, r12
56d8: b5 01 movw r22, r10
56da: 0e 94 6c 2c call 0x58d8 ; 0x58d8 <__floatsisf>
56de: 0e 94 c2 2d call 0x5b84 ; 0x5b84 <sin>
56e2: a2 01 movw r20, r4
56e4: 91 01 movw r18, r2
56e6: 0e 94 7a 2d call 0x5af4 ; 0x5af4 <__mulsf3>
56ea: 9b 01 movw r18, r22
56ec: ac 01 movw r20, r24
56ee: c8 01 movw r24, r16
56f0: b7 01 movw r22, r14
56f2: 0e 94 c0 2b call 0x5780 ; 0x5780 <__subsf3>
56f6: 0e 94 4f 2c call 0x589e ; 0x589e <__fixsfsi>
56fa: 70 93 8f 02 sts 0x028F, r23
56fe: 60 93 8e 02 sts 0x028E, r22
5702: 1e c0 rjmp .+60 ; 0x5740 <gps_main+0x472>
5704: 85 e0 ldi r24, 0x05 ; 5
5706: 90 e0 ldi r25, 0x00 ; 0
5708: 90 93 8b 01 sts 0x018B, r25
570c: 80 93 8a 01 sts 0x018A, r24
5710: 10 92 8d 02 sts 0x028D, r1
5714: 10 92 8c 02 sts 0x028C, r1
5718: 10 92 8f 02 sts 0x028F, r1
571c: 10 92 8e 02 sts 0x028E, r1
5720: 10 92 70 02 sts 0x0270, r1
5724: 10 92 71 02 sts 0x0271, r1
5728: 10 92 72 02 sts 0x0272, r1
572c: 10 92 73 02 sts 0x0273, r1
5730: 10 92 74 02 sts 0x0274, r1
5734: 10 92 75 02 sts 0x0275, r1
5738: 10 92 76 02 sts 0x0276, r1
573c: 10 92 77 02 sts 0x0277, r1
5740: df 91 pop r29
5742: cf 91 pop r28
5744: 1f 91 pop r17
5746: 0f 91 pop r16
5748: ff 90 pop r15
574a: ef 90 pop r14
574c: df 90 pop r13
574e: cf 90 pop r12
5750: bf 90 pop r11
5752: af 90 pop r10
5754: 9f 90 pop r9
5756: 8f 90 pop r8
5758: 7f 90 pop r7
575a: 6f 90 pop r6
575c: 5f 90 pop r5
575e: 4f 90 pop r4
5760: 3f 90 pop r3
5762: 2f 90 pop r2
5764: 08 95 ret
 
00005766 <memchr>:
5766: fc 01 movw r30, r24
5768: 41 50 subi r20, 0x01 ; 1
576a: 50 40 sbci r21, 0x00 ; 0
576c: 30 f0 brcs .+12 ; 0x577a <memchr+0x14>
576e: 01 90 ld r0, Z+
5770: 06 16 cp r0, r22
5772: d1 f7 brne .-12 ; 0x5768 <memchr+0x2>
5774: 31 97 sbiw r30, 0x01 ; 1
5776: cf 01 movw r24, r30
5778: 08 95 ret
577a: 88 27 eor r24, r24
577c: 99 27 eor r25, r25
577e: 08 95 ret
 
00005780 <__subsf3>:
5780: 50 58 subi r21, 0x80 ; 128
 
00005782 <__addsf3>:
5782: 19 2e mov r1, r25
5784: 59 d1 rcall .+690 ; 0x5a38 <__fp_split3>
5786: 01 d0 rcall .+2 ; 0x578a <__addsf3x>
5788: 09 c1 rjmp .+530 ; 0x599c <__fp_merge>
 
0000578a <__addsf3x>:
578a: ba 17 cp r27, r26
578c: 62 07 cpc r22, r18
578e: 73 07 cpc r23, r19
5790: 84 07 cpc r24, r20
5792: 95 07 cpc r25, r21
5794: b1 f1 breq .+108 ; 0x5802 <__addsf3x+0x78>
5796: 88 f4 brcc .+34 ; 0x57ba <__addsf3x+0x30>
5798: 0e f4 brtc .+2 ; 0x579c <__addsf3x+0x12>
579a: 10 94 com r1
579c: 0b 2e mov r0, r27
579e: ba 2f mov r27, r26
57a0: a0 2d mov r26, r0
57a2: 06 2e mov r0, r22
57a4: 62 2f mov r22, r18
57a6: 20 2d mov r18, r0
57a8: 07 2e mov r0, r23
57aa: 73 2f mov r23, r19
57ac: 30 2d mov r19, r0
57ae: 08 2e mov r0, r24
57b0: 84 2f mov r24, r20
57b2: 40 2d mov r20, r0
57b4: 09 2e mov r0, r25
57b6: 95 2f mov r25, r21
57b8: 50 2d mov r21, r0
57ba: ff 27 eor r31, r31
57bc: 55 23 and r21, r21
57be: b9 f0 breq .+46 ; 0x57ee <__addsf3x+0x64>
57c0: 59 1b sub r21, r25
57c2: 49 f0 breq .+18 ; 0x57d6 <__addsf3x+0x4c>
57c4: 57 3e cpi r21, 0xE7 ; 231
57c6: 98 f0 brcs .+38 ; 0x57ee <__addsf3x+0x64>
57c8: 46 95 lsr r20
57ca: 37 95 ror r19
57cc: 27 95 ror r18
57ce: a7 95 ror r26
57d0: f0 40 sbci r31, 0x00 ; 0
57d2: 53 95 inc r21
57d4: c9 f7 brne .-14 ; 0x57c8 <__addsf3x+0x3e>
57d6: 76 f0 brts .+28 ; 0x57f4 <__addsf3x+0x6a>
57d8: ba 0f add r27, r26
57da: 62 1f adc r22, r18
57dc: 73 1f adc r23, r19
57de: 84 1f adc r24, r20
57e0: 30 f4 brcc .+12 ; 0x57ee <__addsf3x+0x64>
57e2: 87 95 ror r24
57e4: 77 95 ror r23
57e6: 67 95 ror r22
57e8: b7 95 ror r27
57ea: f0 40 sbci r31, 0x00 ; 0
57ec: 93 95 inc r25
57ee: 17 fa bst r1, 7
57f0: 0f 2e mov r0, r31
57f2: 08 95 ret
57f4: bf 1b sub r27, r31
57f6: bb 27 eor r27, r27
57f8: ba 0b sbc r27, r26
57fa: 62 0b sbc r22, r18
57fc: 73 0b sbc r23, r19
57fe: 84 0b sbc r24, r20
5800: f6 cf rjmp .-20 ; 0x57ee <__addsf3x+0x64>
5802: de f6 brtc .-74 ; 0x57ba <__addsf3x+0x30>
5804: 45 c1 rjmp .+650 ; 0x5a90 <__fp_zerox>
 
00005806 <cos>:
5806: 50 e4 ldi r21, 0x40 ; 64
5808: 49 ec ldi r20, 0xC9 ; 201
580a: 3f e0 ldi r19, 0x0F ; 15
580c: 2b ed ldi r18, 0xDB ; 219
580e: 6e d0 rcall .+220 ; 0x58ec <fmod>
5810: a2 c0 rjmp .+324 ; 0x5956 <__fp_cosinus>
 
00005812 <__divsf3>:
5812: 12 d1 rcall .+548 ; 0x5a38 <__fp_split3>
5814: 01 d0 rcall .+2 ; 0x5818 <__divsf3x>
5816: c2 c0 rjmp .+388 ; 0x599c <__fp_merge>
 
00005818 <__divsf3x>:
5818: 55 23 and r21, r21
581a: 59 f0 breq .+22 ; 0x5832 <__divsf3x+0x1a>
581c: 99 23 and r25, r25
581e: 69 f0 breq .+26 ; 0x583a <__divsf3x+0x22>
5820: 9f 57 subi r25, 0x7F ; 127
5822: 5f 57 subi r21, 0x7F ; 127
5824: 95 1b sub r25, r21
5826: 33 f4 brvc .+12 ; 0x5834 <__divsf3x+0x1c>
5828: 42 f4 brpl .+16 ; 0x583a <__divsf3x+0x22>
582a: 90 38 cpi r25, 0x80 ; 128
582c: 11 f4 brne .+4 ; 0x5832 <__divsf3x+0x1a>
582e: 91 58 subi r25, 0x81 ; 129
5830: 05 c0 rjmp .+10 ; 0x583c <__divsf3x+0x24>
5832: cc c0 rjmp .+408 ; 0x59cc <__fp_nan>
5834: 91 58 subi r25, 0x81 ; 129
5836: 9f 3f cpi r25, 0xFF ; 255
5838: 09 f4 brne .+2 ; 0x583c <__divsf3x+0x24>
583a: 2a c1 rjmp .+596 ; 0x5a90 <__fp_zerox>
583c: bb 27 eor r27, r27
583e: 11 24 eor r1, r1
5840: 62 17 cp r22, r18
5842: 73 07 cpc r23, r19
5844: 84 07 cpc r24, r20
5846: 30 f4 brcc .+12 ; 0x5854 <__divsf3x+0x3c>
5848: 66 0f add r22, r22
584a: 77 1f adc r23, r23
584c: 88 1f adc r24, r24
584e: bb 1f adc r27, r27
5850: 91 50 subi r25, 0x01 ; 1
5852: 98 f3 brcs .-26 ; 0x583a <__divsf3x+0x22>
5854: 11 d0 rcall .+34 ; 0x5878 <__divsf3x+0x60>
5856: 0f 92 push r0
5858: 0f d0 rcall .+30 ; 0x5878 <__divsf3x+0x60>
585a: 0f 92 push r0
585c: 0d d0 rcall .+26 ; 0x5878 <__divsf3x+0x60>
585e: a0 e8 ldi r26, 0x80 ; 128
5860: 26 17 cp r18, r22
5862: 37 07 cpc r19, r23
5864: 48 07 cpc r20, r24
5866: 1b 06 cpc r1, r27
5868: 09 f0 breq .+2 ; 0x586c <__divsf3x+0x54>
586a: a0 48 sbci r26, 0x80 ; 128
586c: ba 2f mov r27, r26
586e: 60 2d mov r22, r0
5870: 7f 91 pop r23
5872: 8f 91 pop r24
5874: 00 24 eor r0, r0
5876: 08 95 ret
5878: a0 e8 ldi r26, 0x80 ; 128
587a: 00 24 eor r0, r0
587c: 62 17 cp r22, r18
587e: 73 07 cpc r23, r19
5880: 84 07 cpc r24, r20
5882: b1 05 cpc r27, r1
5884: 28 f0 brcs .+10 ; 0x5890 <__divsf3x+0x78>
5886: 62 1b sub r22, r18
5888: 73 0b sbc r23, r19
588a: 84 0b sbc r24, r20
588c: b1 09 sbc r27, r1
588e: 0a 2a or r0, r26
5890: 66 0f add r22, r22
5892: 77 1f adc r23, r23
5894: 88 1f adc r24, r24
5896: bb 1f adc r27, r27
5898: a6 95 lsr r26
589a: 81 f7 brne .-32 ; 0x587c <__divsf3x+0x64>
589c: 08 95 ret
 
0000589e <__fixsfsi>:
589e: 97 fb bst r25, 7
58a0: d7 d0 rcall .+430 ; 0x5a50 <__fp_split1>
58a2: 9f 37 cpi r25, 0x7F ; 127
58a4: 38 f0 brcs .+14 ; 0x58b4 <__fixsfsi+0x16>
58a6: fe e9 ldi r31, 0x9E ; 158
58a8: f9 1b sub r31, r25
58aa: 98 2f mov r25, r24
58ac: 87 2f mov r24, r23
58ae: 76 2f mov r23, r22
58b0: 6b 2f mov r22, r27
58b2: 05 c0 rjmp .+10 ; 0x58be <__fixsfsi+0x20>
58b4: ea c0 rjmp .+468 ; 0x5a8a <__fp_zero>
58b6: 96 95 lsr r25
58b8: 87 95 ror r24
58ba: 77 95 ror r23
58bc: 67 95 ror r22
58be: f1 50 subi r31, 0x01 ; 1
58c0: d0 f7 brcc .-12 ; 0x58b6 <__fixsfsi+0x18>
58c2: 3e f4 brtc .+14 ; 0x58d2 <__fp_lneg+0xe>
 
000058c4 <__fp_lneg>:
58c4: 90 95 com r25
58c6: 80 95 com r24
58c8: 70 95 com r23
58ca: 61 95 neg r22
58cc: 7f 4f sbci r23, 0xFF ; 255
58ce: 8f 4f sbci r24, 0xFF ; 255
58d0: 9f 4f sbci r25, 0xFF ; 255
58d2: 08 95 ret
 
000058d4 <__floatunssisf>:
58d4: e8 94 clt
58d6: 03 c0 rjmp .+6 ; 0x58de <__floatsisf+0x6>
 
000058d8 <__floatsisf>:
58d8: 97 fb bst r25, 7
58da: 0e f4 brtc .+2 ; 0x58de <__floatsisf+0x6>
58dc: f3 df rcall .-26 ; 0x58c4 <__fp_lneg>
58de: b6 2f mov r27, r22
58e0: 67 2f mov r22, r23
58e2: 78 2f mov r23, r24
58e4: 89 2f mov r24, r25
58e6: 9e e9 ldi r25, 0x9E ; 158
58e8: 00 24 eor r0, r0
58ea: 58 c0 rjmp .+176 ; 0x599c <__fp_merge>
 
000058ec <fmod>:
58ec: 5f 77 andi r21, 0x7F ; 127
58ee: 55 23 and r21, r21
58f0: 19 f4 brne .+6 ; 0x58f8 <fmod+0xc>
58f2: 44 23 and r20, r20
58f4: 0a f0 brmi .+2 ; 0x58f8 <fmod+0xc>
58f6: 6a c0 rjmp .+212 ; 0x59cc <__fp_nan>
58f8: 2f 93 push r18
58fa: 3f 93 push r19
58fc: 4f 93 push r20
58fe: 5f 93 push r21
5900: 88 df rcall .-240 ; 0x5812 <__divsf3>
5902: 55 27 eor r21, r21
5904: 44 27 eor r20, r20
5906: c6 d0 rcall .+396 ; 0x5a94 <modf>
5908: 5f 91 pop r21
590a: 4f 91 pop r20
590c: 3f 91 pop r19
590e: 2f 91 pop r18
5910: f1 c0 rjmp .+482 ; 0x5af4 <__mulsf3>
 
00005912 <__eqsf2>:
5912: 0e d0 rcall .+28 ; 0x5930 <.fp_cmp>
5914: 5e f0 brts .+22 ; 0x592c <__cmpsf2+0xe>
5916: 04 c0 rjmp .+8 ; 0x5920 <__cmpsf2+0x2>
 
00005918 <__gesf2>:
5918: 0b d0 rcall .+22 ; 0x5930 <.fp_cmp>
591a: 26 f0 brts .+8 ; 0x5924 <__cmpsf2+0x6>
591c: 01 c0 rjmp .+2 ; 0x5920 <__cmpsf2+0x2>
 
0000591e <__cmpsf2>:
591e: 08 d0 rcall .+16 ; 0x5930 <.fp_cmp>
5920: 19 f0 breq .+6 ; 0x5928 <__cmpsf2+0xa>
5922: 20 f4 brcc .+8 ; 0x592c <__cmpsf2+0xe>
5924: 8f ef ldi r24, 0xFF ; 255
5926: 08 95 ret
5928: 80 e0 ldi r24, 0x00 ; 0
592a: 08 95 ret
592c: 81 e0 ldi r24, 0x01 ; 1
592e: 08 95 ret
 
00005930 <.fp_cmp>:
5930: 97 fb bst r25, 7
5932: 09 2e mov r0, r25
5934: 05 26 eor r0, r21
5936: 00 f8 bld r0, 0
5938: 68 94 set
593a: 81 d0 rcall .+258 ; 0x5a3e <__fp_split2>
593c: e8 94 clt
593e: 07 fc sbrc r0, 7
5940: 07 c0 rjmp .+14 ; 0x5950 <.fp_cmp+0x20>
5942: 62 17 cp r22, r18
5944: 73 07 cpc r23, r19
5946: 84 07 cpc r24, r20
5948: 95 07 cpc r25, r21
594a: 21 f0 breq .+8 ; 0x5954 <.fp_cmp+0x24>
594c: 08 f4 brcc .+2 ; 0x5950 <.fp_cmp+0x20>
594e: 00 94 com r0
5950: 07 94 ror r0
5952: 98 94 clz
5954: 08 95 ret
 
00005956 <__fp_cosinus>:
5956: 1f 93 push r17
5958: 9f 77 andi r25, 0x7F ; 127
595a: 50 ec ldi r21, 0xC0 ; 192
595c: 49 e4 ldi r20, 0x49 ; 73
595e: 3f e0 ldi r19, 0x0F ; 15
5960: 2b ed ldi r18, 0xDB ; 219
5962: 0f df rcall .-482 ; 0x5782 <__addsf3>
5964: 10 e8 ldi r17, 0x80 ; 128
5966: 9f 77 andi r25, 0x7F ; 127
5968: 5f e3 ldi r21, 0x3F ; 63
596a: 49 ec ldi r20, 0xC9 ; 201
596c: 3f e0 ldi r19, 0x0F ; 15
596e: 2b ed ldi r18, 0xDB ; 219
5970: 62 17 cp r22, r18
5972: 73 07 cpc r23, r19
5974: 84 07 cpc r24, r20
5976: 95 07 cpc r25, r21
5978: 20 f0 brcs .+8 ; 0x5982 <__fp_cosinus+0x2c>
597a: 50 ec ldi r21, 0xC0 ; 192
597c: 49 e4 ldi r20, 0x49 ; 73
597e: 01 df rcall .-510 ; 0x5782 <__addsf3>
5980: 11 27 eor r17, r17
5982: 13 d1 rcall .+550 ; 0x5baa <square>
5984: 90 68 ori r25, 0x80 ; 128
5986: e0 e7 ldi r30, 0x70 ; 112
5988: f0 e0 ldi r31, 0x00 ; 0
598a: 23 d0 rcall .+70 ; 0x59d2 <__fp_powerseries>
598c: 91 27 eor r25, r17
598e: 1f 91 pop r17
5990: 08 95 ret
5992: 9a 95 dec r25
5994: bb 0f add r27, r27
5996: 66 1f adc r22, r22
5998: 77 1f adc r23, r23
599a: 88 1f adc r24, r24
 
0000599c <__fp_merge>:
599c: 11 24 eor r1, r1
599e: 99 23 and r25, r25
59a0: a1 f0 breq .+40 ; 0x59ca <__fp_merge+0x2e>
59a2: 88 23 and r24, r24
59a4: b2 f7 brpl .-20 ; 0x5992 <__fp_cosinus+0x3c>
59a6: 9f 3f cpi r25, 0xFF ; 255
59a8: 59 f0 breq .+22 ; 0x59c0 <__fp_merge+0x24>
59aa: bb 0f add r27, r27
59ac: 48 f4 brcc .+18 ; 0x59c0 <__fp_merge+0x24>
59ae: 21 f4 brne .+8 ; 0x59b8 <__fp_merge+0x1c>
59b0: 00 20 and r0, r0
59b2: 11 f4 brne .+4 ; 0x59b8 <__fp_merge+0x1c>
59b4: 60 ff sbrs r22, 0
59b6: 04 c0 rjmp .+8 ; 0x59c0 <__fp_merge+0x24>
59b8: 6f 5f subi r22, 0xFF ; 255
59ba: 7f 4f sbci r23, 0xFF ; 255
59bc: 8f 4f sbci r24, 0xFF ; 255
59be: 9f 4f sbci r25, 0xFF ; 255
59c0: 88 1f adc r24, r24
59c2: 97 95 ror r25
59c4: 87 95 ror r24
59c6: 97 f9 bld r25, 7
59c8: 08 95 ret
59ca: 5f c0 rjmp .+190 ; 0x5a8a <__fp_zero>
 
000059cc <__fp_nan>:
59cc: 9f ef ldi r25, 0xFF ; 255
59ce: 80 ec ldi r24, 0xC0 ; 192
59d0: 08 95 ret
 
000059d2 <__fp_powerseries>:
59d2: ff 92 push r15
59d4: ef 92 push r14
59d6: df 92 push r13
59d8: cf 92 push r12
59da: bf 92 push r11
59dc: 6b 01 movw r12, r22
59de: 7c 01 movw r14, r24
59e0: b5 90 lpm r11, Z+
59e2: 16 d0 rcall .+44 ; 0x5a10 <__fp_powerseries+0x3e>
59e4: b5 90 lpm r11, Z+
59e6: bb 20 and r11, r11
59e8: 69 f0 breq .+26 ; 0x5a04 <__fp_powerseries+0x32>
59ea: 9f 93 push r25
59ec: 8f 93 push r24
59ee: 7f 93 push r23
59f0: 6f 93 push r22
59f2: b6 01 movw r22, r12
59f4: c7 01 movw r24, r14
59f6: 0c d0 rcall .+24 ; 0x5a10 <__fp_powerseries+0x3e>
59f8: 2f 91 pop r18
59fa: 3f 91 pop r19
59fc: 4f 91 pop r20
59fe: 5f 91 pop r21
5a00: 0e 94 09 2c call 0x5812 ; 0x5812 <__divsf3>
5a04: bf 90 pop r11
5a06: cf 90 pop r12
5a08: df 90 pop r13
5a0a: ef 90 pop r14
5a0c: ff 90 pop r15
5a0e: 08 95 ret
5a10: d0 d0 rcall .+416 ; 0x5bb2 <__fp_flashconst>
5a12: 02 c0 rjmp .+4 ; 0x5a18 <__fp_powerseries+0x46>
5a14: 96 01 movw r18, r12
5a16: a7 01 movw r20, r14
5a18: ef 93 push r30
5a1a: ff 93 push r31
5a1c: 0e 94 7a 2d call 0x5af4 ; 0x5af4 <__mulsf3>
5a20: ff 91 pop r31
5a22: ef 91 pop r30
5a24: c6 d0 rcall .+396 ; 0x5bb2 <__fp_flashconst>
5a26: ef 93 push r30
5a28: ff 93 push r31
5a2a: 0e 94 c1 2b call 0x5782 ; 0x5782 <__addsf3>
5a2e: ff 91 pop r31
5a30: ef 91 pop r30
5a32: ba 94 dec r11
5a34: 79 f7 brne .-34 ; 0x5a14 <__fp_powerseries+0x42>
5a36: 08 95 ret
 
00005a38 <__fp_split3>:
5a38: 05 2e mov r0, r21
5a3a: 09 26 eor r0, r25
5a3c: 07 fa bst r0, 7
 
00005a3e <__fp_split2>:
5a3e: 44 0f add r20, r20
5a40: 55 1f adc r21, r21
5a42: 5f 3f cpi r21, 0xFF ; 255
5a44: 79 f0 breq .+30 ; 0x5a64 <__fp_split1+0x14>
5a46: aa 27 eor r26, r26
5a48: a5 17 cp r26, r21
5a4a: 08 f0 brcs .+2 ; 0x5a4e <__fp_split2+0x10>
5a4c: 51 e0 ldi r21, 0x01 ; 1
5a4e: 47 95 ror r20
 
00005a50 <__fp_split1>:
5a50: 88 0f add r24, r24
5a52: 99 1f adc r25, r25
5a54: 9f 3f cpi r25, 0xFF ; 255
5a56: 31 f0 breq .+12 ; 0x5a64 <__fp_split1+0x14>
5a58: bb 27 eor r27, r27
5a5a: b9 17 cp r27, r25
5a5c: 08 f0 brcs .+2 ; 0x5a60 <__fp_split1+0x10>
5a5e: 91 e0 ldi r25, 0x01 ; 1
5a60: 87 95 ror r24
5a62: 08 95 ret
5a64: 9f 91 pop r25
5a66: 9f 91 pop r25
5a68: 11 24 eor r1, r1
5a6a: b0 cf rjmp .-160 ; 0x59cc <__fp_nan>
 
00005a6c <__fp_split_a>:
5a6c: 97 fb bst r25, 7
5a6e: 88 0f add r24, r24
5a70: 99 1f adc r25, r25
5a72: 9f 3f cpi r25, 0xFF ; 255
5a74: 31 f0 breq .+12 ; 0x5a82 <__fp_split_a+0x16>
5a76: bb 27 eor r27, r27
5a78: b9 17 cp r27, r25
5a7a: 08 f0 brcs .+2 ; 0x5a7e <__fp_split_a+0x12>
5a7c: 91 e0 ldi r25, 0x01 ; 1
5a7e: 87 95 ror r24
5a80: 08 95 ret
5a82: 9f 91 pop r25
5a84: 9f 91 pop r25
5a86: 11 24 eor r1, r1
5a88: a1 cf rjmp .-190 ; 0x59cc <__fp_nan>
 
00005a8a <__fp_zero>:
5a8a: 66 27 eor r22, r22
5a8c: 77 27 eor r23, r23
5a8e: 88 27 eor r24, r24
 
00005a90 <__fp_zerox>:
5a90: 99 27 eor r25, r25
5a92: 08 95 ret
 
00005a94 <modf>:
5a94: eb df rcall .-42 ; 0x5a6c <__fp_split_a>
5a96: cf 93 push r28
5a98: df 93 push r29
5a9a: d5 2f mov r29, r21
5a9c: c4 2f mov r28, r20
5a9e: 55 27 eor r21, r21
5aa0: 44 27 eor r20, r20
5aa2: 33 27 eor r19, r19
5aa4: 22 27 eor r18, r18
5aa6: 99 23 and r25, r25
5aa8: d9 f0 breq .+54 ; 0x5ae0 <modf+0x4c>
5aaa: 9f 37 cpi r25, 0x7F ; 127
5aac: c8 f0 brcs .+50 ; 0x5ae0 <modf+0x4c>
5aae: f9 2f mov r31, r25
5ab0: 75 df rcall .-278 ; 0x599c <__fp_merge>
5ab2: 59 2f mov r21, r25
5ab4: 48 2f mov r20, r24
5ab6: 37 2f mov r19, r23
5ab8: 26 2f mov r18, r22
5aba: f6 39 cpi r31, 0x96 ; 150
5abc: 68 f4 brcc .+26 ; 0x5ad8 <modf+0x44>
5abe: ef de rcall .-546 ; 0x589e <__fixsfsi>
5ac0: 0b df rcall .-490 ; 0x58d8 <__floatsisf>
5ac2: c0 30 cpi r28, 0x00 ; 0
5ac4: cd 07 cpc r28, r29
5ac6: 21 f0 breq .+8 ; 0x5ad0 <modf+0x3c>
5ac8: 69 93 st Y+, r22
5aca: 79 93 st Y+, r23
5acc: 89 93 st Y+, r24
5ace: 99 93 st Y+, r25
5ad0: 90 58 subi r25, 0x80 ; 128
5ad2: df 91 pop r29
5ad4: cf 91 pop r28
5ad6: 55 ce rjmp .-854 ; 0x5782 <__addsf3>
5ad8: 99 27 eor r25, r25
5ada: 88 27 eor r24, r24
5adc: 77 27 eor r23, r23
5ade: 66 27 eor r22, r22
5ae0: c0 30 cpi r28, 0x00 ; 0
5ae2: cd 07 cpc r28, r29
5ae4: 21 f0 breq .+8 ; 0x5aee <modf+0x5a>
5ae6: 29 93 st Y+, r18
5ae8: 39 93 st Y+, r19
5aea: 49 93 st Y+, r20
5aec: 59 93 st Y+, r21
5aee: df 91 pop r29
5af0: cf 91 pop r28
5af2: 54 cf rjmp .-344 ; 0x599c <__fp_merge>
 
00005af4 <__mulsf3>:
5af4: a1 df rcall .-190 ; 0x5a38 <__fp_split3>
5af6: 01 d0 rcall .+2 ; 0x5afa <__mulsf3x>
5af8: 51 cf rjmp .-350 ; 0x599c <__fp_merge>
 
00005afa <__mulsf3x>:
5afa: 99 23 and r25, r25
5afc: 39 f0 breq .+14 ; 0x5b0c <__mulsf3x+0x12>
5afe: 55 23 and r21, r21
5b00: 29 f0 breq .+10 ; 0x5b0c <__mulsf3x+0x12>
5b02: 9f 57 subi r25, 0x7F ; 127
5b04: 5f 57 subi r21, 0x7F ; 127
5b06: 95 0f add r25, r21
5b08: 13 f4 brvc .+4 ; 0x5b0e <__mulsf3x+0x14>
5b0a: 9a f1 brmi .+102 ; 0x5b72 <__mulsf3x+0x78>
5b0c: c1 cf rjmp .-126 ; 0x5a90 <__fp_zerox>
5b0e: 91 58 subi r25, 0x81 ; 129
5b10: 9f 3f cpi r25, 0xFF ; 255
5b12: e1 f3 breq .-8 ; 0x5b0c <__mulsf3x+0x12>
5b14: 62 9f mul r22, r18
5b16: a1 2d mov r26, r1
5b18: 0f 92 push r0
5b1a: bb 27 eor r27, r27
5b1c: 63 9f mul r22, r19
5b1e: a0 0d add r26, r0
5b20: b1 1d adc r27, r1
5b22: ee 27 eor r30, r30
5b24: 72 9f mul r23, r18
5b26: a0 0d add r26, r0
5b28: b1 1d adc r27, r1
5b2a: ee 1f adc r30, r30
5b2c: af 93 push r26
5b2e: aa 27 eor r26, r26
5b30: 64 9f mul r22, r20
5b32: b0 0d add r27, r0
5b34: e1 1d adc r30, r1
5b36: 73 9f mul r23, r19
5b38: b0 0d add r27, r0
5b3a: e1 1d adc r30, r1
5b3c: aa 1f adc r26, r26
5b3e: 66 27 eor r22, r22
5b40: 82 9f mul r24, r18
5b42: b0 0d add r27, r0
5b44: e1 1d adc r30, r1
5b46: a6 1f adc r26, r22
5b48: 55 27 eor r21, r21
5b4a: 74 9f mul r23, r20
5b4c: e0 0d add r30, r0
5b4e: a1 1d adc r26, r1
5b50: 55 1f adc r21, r21
5b52: 83 9f mul r24, r19
5b54: e0 0d add r30, r0
5b56: a1 1d adc r26, r1
5b58: 56 1f adc r21, r22
5b5a: 84 9f mul r24, r20
5b5c: a0 0d add r26, r0
5b5e: 51 1d adc r21, r1
5b60: 85 2f mov r24, r21
5b62: 7a 2f mov r23, r26
5b64: 6e 2f mov r22, r30
5b66: 1f 90 pop r1
5b68: 0f 90 pop r0
5b6a: 88 23 and r24, r24
5b6c: 1a f4 brpl .+6 ; 0x5b74 <__mulsf3x+0x7a>
5b6e: 93 95 inc r25
5b70: 39 f4 brne .+14 ; 0x5b80 <__mulsf3x+0x86>
5b72: 2c cf rjmp .-424 ; 0x59cc <__fp_nan>
5b74: 00 0c add r0, r0
5b76: 11 1c adc r1, r1
5b78: bb 1f adc r27, r27
5b7a: 66 1f adc r22, r22
5b7c: 77 1f adc r23, r23
5b7e: 88 1f adc r24, r24
5b80: 01 28 or r0, r1
5b82: 08 95 ret
 
00005b84 <sin>:
5b84: 9f 93 push r25
5b86: 9f 77 andi r25, 0x7F ; 127
5b88: 99 33 cpi r25, 0x39 ; 57
5b8a: 58 f0 brcs .+22 ; 0x5ba2 <sin+0x1e>
5b8c: 50 e4 ldi r21, 0x40 ; 64
5b8e: 49 ec ldi r20, 0xC9 ; 201
5b90: 3f e0 ldi r19, 0x0F ; 15
5b92: 2b ed ldi r18, 0xDB ; 219
5b94: ab de rcall .-682 ; 0x58ec <fmod>
5b96: 5f eb ldi r21, 0xBF ; 191
5b98: 49 ec ldi r20, 0xC9 ; 201
5b9a: 3f e0 ldi r19, 0x0F ; 15
5b9c: 2b ed ldi r18, 0xDB ; 219
5b9e: f1 dd rcall .-1054 ; 0x5782 <__addsf3>
5ba0: da de rcall .-588 ; 0x5956 <__fp_cosinus>
5ba2: 5f 91 pop r21
5ba4: 50 78 andi r21, 0x80 ; 128
5ba6: 95 27 eor r25, r21
5ba8: 08 95 ret
 
00005baa <square>:
5baa: 9b 01 movw r18, r22
5bac: ac 01 movw r20, r24
5bae: 0c 94 7a 2d jmp 0x5af4 ; 0x5af4 <__mulsf3>
 
00005bb2 <__fp_flashconst>:
5bb2: 55 91 lpm r21, Z+
5bb4: 45 91 lpm r20, Z+
5bb6: 35 91 lpm r19, Z+
5bb8: 25 91 lpm r18, Z+
5bba: 08 95 ret
 
00005bbc <__mulsi3>:
5bbc: 62 9f mul r22, r18
5bbe: d0 01 movw r26, r0
5bc0: 73 9f mul r23, r19
5bc2: f0 01 movw r30, r0
5bc4: 82 9f mul r24, r18
5bc6: e0 0d add r30, r0
5bc8: f1 1d adc r31, r1
5bca: 64 9f mul r22, r20
5bcc: e0 0d add r30, r0
5bce: f1 1d adc r31, r1
5bd0: 92 9f mul r25, r18
5bd2: f0 0d add r31, r0
5bd4: 83 9f mul r24, r19
5bd6: f0 0d add r31, r0
5bd8: 74 9f mul r23, r20
5bda: f0 0d add r31, r0
5bdc: 65 9f mul r22, r21
5bde: f0 0d add r31, r0
5be0: 99 27 eor r25, r25
5be2: 72 9f mul r23, r18
5be4: b0 0d add r27, r0
5be6: e1 1d adc r30, r1
5be8: f9 1f adc r31, r25
5bea: 63 9f mul r22, r19
5bec: b0 0d add r27, r0
5bee: e1 1d adc r30, r1
5bf0: f9 1f adc r31, r25
5bf2: bd 01 movw r22, r26
5bf4: cf 01 movw r24, r30
5bf6: 11 24 eor r1, r1
5bf8: 08 95 ret
 
00005bfa <__udivmodhi4>:
5bfa: aa 1b sub r26, r26
5bfc: bb 1b sub r27, r27
5bfe: 51 e1 ldi r21, 0x11 ; 17
5c00: 07 c0 rjmp .+14 ; 0x5c10 <__udivmodhi4_ep>
 
00005c02 <__udivmodhi4_loop>:
5c02: aa 1f adc r26, r26
5c04: bb 1f adc r27, r27
5c06: a6 17 cp r26, r22
5c08: b7 07 cpc r27, r23
5c0a: 10 f0 brcs .+4 ; 0x5c10 <__udivmodhi4_ep>
5c0c: a6 1b sub r26, r22
5c0e: b7 0b sbc r27, r23
 
00005c10 <__udivmodhi4_ep>:
5c10: 88 1f adc r24, r24
5c12: 99 1f adc r25, r25
5c14: 5a 95 dec r21
5c16: a9 f7 brne .-22 ; 0x5c02 <__udivmodhi4_loop>
5c18: 80 95 com r24
5c1a: 90 95 com r25
5c1c: bc 01 movw r22, r24
5c1e: cd 01 movw r24, r26
5c20: 08 95 ret
 
00005c22 <__divmodhi4>:
5c22: 97 fb bst r25, 7
5c24: 09 2e mov r0, r25
5c26: 07 26 eor r0, r23
5c28: 0a d0 rcall .+20 ; 0x5c3e <__divmodhi4_neg1>
5c2a: 77 fd sbrc r23, 7
5c2c: 04 d0 rcall .+8 ; 0x5c36 <__divmodhi4_neg2>
5c2e: e5 df rcall .-54 ; 0x5bfa <__udivmodhi4>
5c30: 06 d0 rcall .+12 ; 0x5c3e <__divmodhi4_neg1>
5c32: 00 20 and r0, r0
5c34: 1a f4 brpl .+6 ; 0x5c3c <__divmodhi4_exit>
 
00005c36 <__divmodhi4_neg2>:
5c36: 70 95 com r23
5c38: 61 95 neg r22
5c3a: 7f 4f sbci r23, 0xFF ; 255
 
00005c3c <__divmodhi4_exit>:
5c3c: 08 95 ret
 
00005c3e <__divmodhi4_neg1>:
5c3e: f6 f7 brtc .-4 ; 0x5c3c <__divmodhi4_exit>
5c40: 90 95 com r25
5c42: 81 95 neg r24
5c44: 9f 4f sbci r25, 0xFF ; 255
5c46: 08 95 ret
 
00005c48 <__udivmodsi4>:
5c48: a1 e2 ldi r26, 0x21 ; 33
5c4a: 1a 2e mov r1, r26
5c4c: aa 1b sub r26, r26
5c4e: bb 1b sub r27, r27
5c50: fd 01 movw r30, r26
5c52: 0d c0 rjmp .+26 ; 0x5c6e <__udivmodsi4_ep>
 
00005c54 <__udivmodsi4_loop>:
5c54: aa 1f adc r26, r26
5c56: bb 1f adc r27, r27
5c58: ee 1f adc r30, r30
5c5a: ff 1f adc r31, r31
5c5c: a2 17 cp r26, r18
5c5e: b3 07 cpc r27, r19
5c60: e4 07 cpc r30, r20
5c62: f5 07 cpc r31, r21
5c64: 20 f0 brcs .+8 ; 0x5c6e <__udivmodsi4_ep>
5c66: a2 1b sub r26, r18
5c68: b3 0b sbc r27, r19
5c6a: e4 0b sbc r30, r20
5c6c: f5 0b sbc r31, r21
 
00005c6e <__udivmodsi4_ep>:
5c6e: 66 1f adc r22, r22
5c70: 77 1f adc r23, r23
5c72: 88 1f adc r24, r24
5c74: 99 1f adc r25, r25
5c76: 1a 94 dec r1
5c78: 69 f7 brne .-38 ; 0x5c54 <__udivmodsi4_loop>
5c7a: 60 95 com r22
5c7c: 70 95 com r23
5c7e: 80 95 com r24
5c80: 90 95 com r25
5c82: 9b 01 movw r18, r22
5c84: ac 01 movw r20, r24
5c86: bd 01 movw r22, r26
5c88: cf 01 movw r24, r30
5c8a: 08 95 ret
 
00005c8c <__divmodsi4>:
5c8c: 97 fb bst r25, 7
5c8e: 09 2e mov r0, r25
5c90: 05 26 eor r0, r21
5c92: 0e d0 rcall .+28 ; 0x5cb0 <__divmodsi4_neg1>
5c94: 57 fd sbrc r21, 7
5c96: 04 d0 rcall .+8 ; 0x5ca0 <__divmodsi4_neg2>
5c98: d7 df rcall .-82 ; 0x5c48 <__udivmodsi4>
5c9a: 0a d0 rcall .+20 ; 0x5cb0 <__divmodsi4_neg1>
5c9c: 00 1c adc r0, r0
5c9e: 38 f4 brcc .+14 ; 0x5cae <__divmodsi4_exit>
 
00005ca0 <__divmodsi4_neg2>:
5ca0: 50 95 com r21
5ca2: 40 95 com r20
5ca4: 30 95 com r19
5ca6: 21 95 neg r18
5ca8: 3f 4f sbci r19, 0xFF ; 255
5caa: 4f 4f sbci r20, 0xFF ; 255
5cac: 5f 4f sbci r21, 0xFF ; 255
 
00005cae <__divmodsi4_exit>:
5cae: 08 95 ret
 
00005cb0 <__divmodsi4_neg1>:
5cb0: f6 f7 brtc .-4 ; 0x5cae <__divmodsi4_exit>
5cb2: 90 95 com r25
5cb4: 80 95 com r24
5cb6: 70 95 com r23
5cb8: 61 95 neg r22
5cba: 7f 4f sbci r23, 0xFF ; 255
5cbc: 8f 4f sbci r24, 0xFF ; 255
5cbe: 9f 4f sbci r25, 0xFF ; 255
5cc0: 08 95 ret
 
00005cc2 <__eeprom_read_byte_1F2021>:
5cc2: f9 99 sbic 0x1f, 1 ; 31
5cc4: fe cf rjmp .-4 ; 0x5cc2 <__eeprom_read_byte_1F2021>
5cc6: b2 bd out 0x22, r27 ; 34
5cc8: a1 bd out 0x21, r26 ; 33
5cca: f8 9a sbi 0x1f, 0 ; 31
5ccc: 11 96 adiw r26, 0x01 ; 1
5cce: 00 b4 in r0, 0x20 ; 32
5cd0: 08 95 ret
 
00005cd2 <__eeprom_write_byte_1F2021>:
5cd2: f9 99 sbic 0x1f, 1 ; 31
5cd4: fe cf rjmp .-4 ; 0x5cd2 <__eeprom_write_byte_1F2021>
5cd6: b2 bd out 0x22, r27 ; 34
5cd8: a1 bd out 0x21, r26 ; 33
5cda: 00 bc out 0x20, r0 ; 32
5cdc: 11 96 adiw r26, 0x01 ; 1
5cde: 0f b6 in r0, 0x3f ; 63
5ce0: f8 94 cli
5ce2: fa 9a sbi 0x1f, 2 ; 31
5ce4: f9 9a sbi 0x1f, 1 ; 31
5ce6: 0f be out 0x3f, r0 ; 63
5ce8: 08 95 ret
 
00005cea <_exit>:
5cea: ff cf rjmp .-2 ; 0x5cea <_exit>
/branches/V0.60_GPS_BETA_chris2798_hallo2/Flight-Ctrl_MEGA644_V0_60.map
0,0 → 1,1787
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(cos.o)
GPS.o (cos)
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(fmod.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(cos.o) (fmod)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o)
analog.o (__ltsf2)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cosinus.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(cos.o) (__fp_cosinus)
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(fmod.o) (__fp_nanERANGE)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_powerseries.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cosinus.o) (__fp_powerseries)
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(modf.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fmod.o) (modf)
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/../../../../avr/lib/avr5\libm.a(sin.o)
GPS.o (sin)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(square.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cosinus.o) (square)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_flashconst.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_powerseries.o) (__fp_flashconst)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_mulsi3.o)
timer0.o (__mulsi3)
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)
timer0.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)
uart.o (__divmodsi4)
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(_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_wb.1F2021.o)
main.o (__eeprom_write_byte_1F2021)
 
Allocating common symbols
Common symbol size file
 
durchschnitt_easting
0x4 main.o
ubxEp 0x2 uart.o
MeineSlaveAdresse 0x1 uart.o
CK_A 0x1 uart.o
EE_Parameter 0x3a fc.o
DiffRoll 0x2 main.o
MesswertRoll 0x2 fc.o
Motor_Vorne 0x1 main.o
Motor_Hinten 0x1 main.o
MesswertNick 0x2 fc.o
Aktuell_ay 0x2 analog.o
MIN_GAS 0x1 fc.o
SendeBuffer 0x96 uart.o
NMEABuffer 0x96 uart.o
Mittelwert_AccHoch 0x2 fc.o
Debug_Timer 0x2 uart.o
CK_B 0x1 uart.o
DiffNick 0x2 main.o
navStatus 0x11 uart.o
DebugIn 0xb uart.o
VersionInfo 0xa uart.o
rollOffset 0x4 uart.o
motor_rx 0x8 twimaster.o
navPosLlh 0x1d uart.o
PPM_in 0x16 rc.o
IntegralFaktor 0x4 fc.o
Motor_Rechts 0x1 main.o
Count 0x1 main.o
Aktuell_az 0x2 analog.o
ubxP 0x2 uart.o
StartLuftdruck 0x2 analog.o
RxdBuffer 0x96 uart.o
durchschnitt_northing
0x4 main.o
navPosUtm 0x13 uart.o
ubxSp 0x2 uart.o
skal 0x2 main.o
gps_p 0x2 main.o
gps_d 0x2 main.o
PrintZiel 0x1 printf_P.o
Aktuell_Nick 0x2 analog.o
messanzahl_Druck 0x1 analog.o
Motor_Links 0x1 main.o
Aktuell_Roll 0x2 analog.o
msgLen 0x2 uart.o
nickOffset 0x4 uart.o
Aktuell_ax 0x2 analog.o
s 0x1 main.o
h 0x1 main.o
Mittelwert_AccNick 0x2 fc.o
DebugOut 0x32 uart.o
DruckOffsetSetting 0x1 analog.o
actualPos 0x22 uart.o
Aktuell_Gier 0x2 analog.o
msgID 0x1 uart.o
MAX_GAS 0x1 fc.o
MesswertGier 0x2 fc.o
GyroFaktor 0x4 fc.o
m 0x1 main.o
Mittelwert_AccRoll 0x2 fc.o
ignorePacket 0x1 uart.o
MotorWert 0x5 main.o
PPM_diff 0x16 rc.o
navVelNed 0x25 uart.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 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 0x5cec
*(.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_fplib
0x00000070 0x26 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cosinus.o)
*(.progmem*)
.progmem.data 0x00000096 0xcb main.o
.progmem.data 0x00000161 0x2 analog.o
.progmem.data 0x00000163 0x274 menu.o
0x000003d8 . = ALIGN (0x2)
*fill* 0x000003d7 0x1 00
0x000003d8 __trampolines_start = .
*(.trampolines)
.trampolines 0x000003d8 0x0 linker stubs
*(.trampolines*)
0x000003d8 __trampolines_end = .
*(.jumptables)
*(.jumptables*)
*(.lowtext)
*(.lowtext*)
0x000003d8 __ctors_start = .
*(.ctors)
0x000003d8 __ctors_end = .
0x000003d8 __dtors_start = .
*(.dtors)
0x000003d8 __dtors_end = .
SORT(*)(.ctors)
SORT(*)(.dtors)
*(.init0)
.init0 0x000003d8 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
0x000003d8 __init
*(.init0)
*(.init1)
*(.init1)
*(.init2)
.init2 0x000003d8 0xc c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
*(.init2)
*(.init3)
*(.init3)
*(.init4)
.init4 0x000003e4 0x16 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_copy_data.o)
0x000003e4 __do_copy_data
.init4 0x000003fa 0x10 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_clear_bss.o)
0x000003fa __do_clear_bss
*(.init4)
*(.init5)
*(.init5)
*(.init6)
*(.init6)
*(.init7)
*(.init7)
*(.init8)
*(.init8)
*(.init9)
.init9 0x0000040a 0x8 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
*(.init9)
*(.text)
.text 0x00000412 0x4 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
0x00000412 __vector_1
0x00000412 __bad_interrupt
0x00000412 __vector_6
0x00000412 __vector_3
0x00000412 __vector_23
0x00000412 __vector_25
0x00000412 __vector_11
0x00000412 __vector_13
0x00000412 __vector_17
0x00000412 __vector_19
0x00000412 __vector_7
0x00000412 __vector_27
0x00000412 __vector_5
0x00000412 __vector_4
0x00000412 __vector_2
0x00000412 __vector_21
0x00000412 __vector_15
0x00000412 __vector_8
0x00000412 __vector_14
0x00000412 __vector_10
0x00000412 __vector_16
.text 0x00000416 0x334 main.o
0x00000424 WriteParameterSet
0x00000454 ReadParameterSet
0x00000480 main
0x00000416 GetActiveParamSetNumber
.text 0x0000074a 0x9f6 uart.o
0x0000074a __vector_22
0x00000ec4 WriteProgramData
0x00000ec6 UART_Init
0x000007b6 GPSscanData
0x00000fdc BearbeiteRxDaten
0x00000cc6 AddCRC
0x00000f00 DatenUebertragung
0x00000df2 Decode64
0x00000d22 SendOutData
0x000008be __vector_20
0x00000ea2 uart_putchar
.text 0x00001140 0x5fa printf_P.o
0x00001140 Putchar
0x000011f2 _printf_P
0x00001172 PAD_0
0x0000119e PRINTP
0x000011ca PRINT
0x00001188 PAD_SP
.text 0x0000173a 0x31e timer0.o
0x00001862 SetDelay
0x000019e6 Timer_Init
0x00001874 CheckDelay
0x00001a34 Delay_ms
0x0000188c __vector_9
0x0000173a __vector_18
.text 0x00001a58 0x6a2 analog.o
0x00001a64 __vector_24
0x00001a58 ADC_Init
0x000020ac SucheLuftruckOffset
.text 0x000020fa 0x79a menu.o
0x000020fa LcdClear
0x0000210c Menu
.text 0x00002894 0x170 twimaster.o
0x000028a0 i2c_start
0x000028ac i2c_stop
0x00002894 i2c_init
0x000028c8 __vector_26
0x000028b4 i2c_write_byte
.text 0x00002a04 0x168 rc.o
0x00002a2e __vector_12
0x00002a04 rc_sum_init
.text 0x00002b6c 0x2762 fc.o
0x0000399a DefaultKonstanten1
0x00003a7c SendMotorData
0x00002b6c Mittelwert
0x00003d02 Piep
0x000030ee CalibrierMittelwert
0x00003b0a SetNeutral
0x000038c0 DefaultKonstanten2
0x00003426 ParameterZuordnung
0x00003d2c MotorRegler
.text 0x000052ce 0x498 GPS.o
0x000052ce gps_main
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3x.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(cos.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3x.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(floatsisf.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fmod.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cosinus.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_merge.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_nan.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_powerseries.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_split.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_zero.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(modf.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(sin.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(square.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_flashconst.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_mulsi3.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodhi4.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodhi4.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodsi4.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodsi4.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_exit.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_copy_data.o)
.text 0x00005766 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_clear_bss.o)
.text 0x00005766 0x1a c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(memchr.o)
0x00005766 memchr
.text 0x00005780 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rb.1F2021.o)
.text 0x00005780 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wb.1F2021.o)
0x00005780 . = ALIGN (0x2)
*(.text.*)
.text.fplib 0x00005780 0xa c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o)
0x00005780 __subsf3
0x00005782 __addsf3
.text.fplib 0x0000578a 0x7c c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3x.o)
0x0000578a __addsf3x
.text.fplib 0x00005806 0xc c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(cos.o)
0x00005806 cos
.text.fplib 0x00005812 0x6 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3.o)
0x00005812 __divsf3
.text.fplib 0x00005818 0x86 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3x.o)
0x00005818 __divsf3x
.text.fplib 0x0000589e 0x36 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o)
0x0000589e __fixsfsi
0x000058c4 __fp_lneg
0x0000589e __fixunssfsi
.text.fplib 0x000058d4 0x18 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(floatsisf.o)
0x000058d8 __floatsisf
0x000058d4 __floatunssisf
.text.fplib 0x000058ec 0x26 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fmod.o)
0x000058ec fmod
.text.fplib 0x00005912 0x44 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o)
0x00005912 __lesf2
0x00005912 __nesf2
0x00005918 __gtsf2
0x00005912 __eqsf2
0x0000591e __cmpsf2
0x00005912 __ltsf2
0x00005918 __gesf2
.text.fplib 0x00005956 0x3c c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cosinus.o)
0x00005956 __fp_cosinus
.text.fplib 0x00005992 0x3a c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_merge.o)
0x0000599c __fp_merge
.text.fplib 0x000059cc 0x6 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_nan.o)
0x000059cc __fp_nanERANGE
0x000059cc __fp_nan
0x000059cc __fp_nanEDOM
0x000059cc __fp_nanx
.text.fplib 0x000059d2 0x66 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_powerseries.o)
0x000059d2 __fp_powerseries
.text.fplib 0x00005a38 0x52 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_split.o)
0x00005a38 __fp_split3
0x00005a3e __fp_split2
0x00005a50 __fp_split1
0x00005a6c __fp_split_a
.text.fplib 0x00005a8a 0xa c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_zero.o)
0x00005a8a __fp_zero
0x00005a90 __fp_zerox
.text.fplib 0x00005a94 0x60 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(modf.o)
0x00005a94 modf
.text.fplib 0x00005af4 0x6 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3.o)
0x00005af4 __mulsf3
.text.fplib 0x00005afa 0x8a c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o)
0x00005afa __mulsf3x
.text.fplib 0x00005b84 0x26 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(sin.o)
0x00005b84 sin
.text.fplib 0x00005baa 0x8 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(square.o)
0x00005baa square
.text.fplib 0x00005bb2 0xa c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_flashconst.o)
0x00005bb2 __fp_flashconst
.text.libgcc 0x00005bbc 0x3e c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_mulsi3.o)
0x00005bbc __mulsi3
.text.libgcc 0x00005bfa 0x28 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodhi4.o)
0x00005bfa __udivmodhi4
.text.libgcc 0x00005c22 0x26 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodhi4.o)
0x00005c22 __divmodhi4
0x00005c22 _div
.text.libgcc 0x00005c48 0x44 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodsi4.o)
0x00005c48 __udivmodsi4
.text.libgcc 0x00005c8c 0x36 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodsi4.o)
0x00005c8c __divmodsi4
.text.libgcc 0x00005cc2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_exit.o)
.text.libgcc 0x00005cc2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_copy_data.o)
.text.libgcc 0x00005cc2 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_clear_bss.o)
.text.eeprom 0x00005cc2 0x10 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rb.1F2021.o)
0x00005cc2 __eeprom_read_byte_1F2021
.text.eeprom 0x00005cd2 0x18 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wb.1F2021.o)
0x00005cd2 __eeprom_write_byte_1F2021
0x00005cea . = ALIGN (0x2)
*(.fini9)
.fini9 0x00005cea 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_exit.o)
0x00005cea exit
0x00005cea _exit
*(.fini9)
*(.fini8)
*(.fini8)
*(.fini7)
*(.fini7)
*(.fini6)
*(.fini6)
*(.fini5)
*(.fini5)
*(.fini4)
*(.fini4)
*(.fini3)
*(.fini3)
*(.fini2)
*(.fini2)
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x00005cea 0x2 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_exit.o)
*(.fini0)
0x00005cec _etext = .
 
.data 0x00800100 0x8e load address 0x00005cec
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 0x0 main.o
.data 0x00800100 0x2 uart.o
0x00800101 PcZugriff
0x00800100 UebertragungAbgeschlossen
.data 0x00800102 0x0 printf_P.o
.data 0x00800102 0x2 timer0.o
.data 0x00800104 0x8 analog.o
0x00800104 UBat
0x0080010a MessLuftdruck
0x00800106 Luftdruck
.data 0x0080010c 0x5b menu.o
0x0080010c Array
0x00800116 DisplayBuff
.data 0x00800167 0x0 twimaster.o
.data 0x00800167 0x1 rc.o
0x00800167 NewPpmData
.data 0x00800168 0x22 fc.o
0x0080017c Ki
0x00800180 Parameter_Luftdruck_D
0x00800184 Parameter_KompassWirkung
0x00800189 Parameter_ServoNickControl
0x00800185 Parameter_Gyro_P
0x00800182 Parameter_Hoehe_P
0x00800183 Parameter_Hoehe_ACC_Wirkung
0x00800186 Parameter_Gyro_I
0x00800181 Parameter_MaxHoehe
0x00800188 Parameter_I_Faktor
0x00800178 Kp
0x00800187 Parameter_Gier_P
.data 0x0080018a 0x4 GPS.o
0x0080018c gpsmax
0x0080018a gps_getpos
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3x.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(cos.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3x.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(floatsisf.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fmod.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cosinus.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_merge.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_nan.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_powerseries.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_split.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_zero.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(modf.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(sin.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(square.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_flashconst.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_mulsi3.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodhi4.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodhi4.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodsi4.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodsi4.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_exit.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_copy_data.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_clear_bss.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(memchr.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rb.1F2021.o)
.data 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wb.1F2021.o)
*(.data*)
*(.rodata)
*(.rodata*)
*(.gnu.linkonce.d*)
0x0080018e . = ALIGN (0x2)
0x0080018e _edata = .
0x0080018e PROVIDE (__data_end, .)
 
.bss 0x0080018e 0x460
0x0080018e PROVIDE (__bss_start, .)
*(.bss)
.bss 0x0080018e 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o
.bss 0x0080018e 0x0 main.o
.bss 0x0080018e 0x18 uart.o
0x0080018e DebugGetAnforderung
0x00800192 SioTmp
0x00800197 PC_DebugTimeout
0x00800191 GetVersionAnforderung
0x00800194 NeueKoordinateEmpfangen
0x00800190 DebugDataAnforderung
0x00800198 MotorTest
0x00800193 NeuerDatensatzEmpfangen
0x0080018f DebugDisplayAnforderung
0x00800195 CntCrcError
0x00800196 AnzahlEmpfangsBytes
.bss 0x008001a6 0x0 printf_P.o
.bss 0x008001a6 0xc timer0.o
0x008001ab beeptime
0x008001a6 CountMilliseconds
0x008001a9 cntKompass
0x008001a8 UpdateMotor
0x008001ad ServoValue
.bss 0x008001b2 0x18 analog.o
0x008001c4 HoeheD
0x008001b6 AccumulateGier
0x008001c1 messanzahl_AccNick
0x008001c3 messanzahl_AccHoch
0x008001b4 AccumulateRoll
0x008001c6 ZaehlMessungen
0x008001bc accumulate_AccHoch
0x008001c2 messanzahl_AccRoll
0x008001b8 accumulate_AccRoll
0x008001be MessanzahlNick
0x008001c0 MessanzahlGier
0x008001ba accumulate_AccNick
0x008001b2 AccumulateNick
0x008001bf MessanzahlRoll
.bss 0x008001ca 0x5 menu.o
0x008001cc DispPtr
0x008001cd RemoteTasten
0x008001ca TestInt
.bss 0x008001cf 0x3 twimaster.o
0x008001cf twi_state
0x008001d1 motorread
0x008001d0 motor
.bss 0x008001d2 0x4 rc.o
.bss 0x008001d6 0x86 fc.o
0x0080020f Mess_Integral_Gier2
0x0080022c StickGier
0x008001ff Mess_IntegralNick2
0x008001eb IntegralNick2
0x00800227 SenderOkay
0x008001f7 Integral_Gier
0x00800228 StickNick
0x00800221 Poti2
0x0080022e MotorenEin
0x008001e5 CosinusNickWinkel
0x0080022f HoehenWert
0x00800207 Mess_IntegralRoll2
0x00800223 Poti3
0x00800233 Parameter_UserParam1
0x008001d9 AdNeutralRoll
0x0080021d Notlandung
0x008001e7 IntegralNick
0x00800213 Mess_Integral_Hoch
0x008001dd NeutralAccX
0x0080020b Mess_Integral_Gier
0x00800236 Parameter_UserParam4
0x00800219 KompassStartwert
0x00800234 Parameter_UserParam2
0x00800217 KompassValue
0x0080021b KompassRichtung
0x00800203 Mess_IntegralRoll
0x0080022a StickRoll
0x008001d7 AdNeutralNick
0x008001df NeutralAccY
0x008001e1 NeutralAccZ
0x008001d6 Timeout
0x008001f3 IntegralRoll2
0x0080021f Poti1
0x00800235 Parameter_UserParam3
0x008001db AdNeutralGier
0x008001e6 CosinusRollWinkel
0x0080021e HoehenReglerAktiv
0x00800231 SollHoehe
0x00800225 Poti4
0x008001fb Mess_IntegralNick
0x008001ef IntegralRoll
.bss 0x0080025c 0x34 GPS.o
0x00800278 zwn2
0x00800286 gps_home_e
0x0080025e gps_northing
0x0080025c loop
0x00800262 gps_easting
0x0080028a komp_dreh
0x0080028c GPS_Nick
0x0080026c zwe
0x00800270 zwn1
0x00800280 gps_gethome
0x00800274 zwe1
0x0080027c zwe2
0x0080028e GPS_Roll
0x00800268 zwn
0x00800266 alpha
0x00800282 gps_home_n
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3x.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(cos.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3x.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(floatsisf.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fmod.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cosinus.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_merge.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_nan.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_powerseries.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_split.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_zero.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(modf.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(sin.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(square.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_flashconst.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_mulsi3.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodhi4.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodhi4.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodsi4.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodsi4.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_exit.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_copy_data.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_clear_bss.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(memchr.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rb.1F2021.o)
.bss 0x00800290 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wb.1F2021.o)
*(.bss*)
*(COMMON)
COMMON 0x00800290 0x1f main.o
0x00800290 durchschnitt_easting
0x00800294 DiffRoll
0x00800296 Motor_Vorne
0x00800297 Motor_Hinten
0x00800298 DiffNick
0x0080029a Motor_Rechts
0x0080029b Count
0x0080029c durchschnitt_northing
0x008002a0 skal
0x008002a2 gps_p
0x008002a4 gps_d
0x008002a6 Motor_Links
0x008002a7 s
0x008002a8 h
0x008002a9 m
0x008002aa MotorWert
COMMON 0x008002af 0x2a8 uart.o
0x008002af ubxEp
0x008002b1 MeineSlaveAdresse
0x008002b2 CK_A
0x008002b3 SendeBuffer
0x00800349 NMEABuffer
0x008003df Debug_Timer
0x008003e1 CK_B
0x008003e2 navStatus
0x008003f3 DebugIn
0x008003fe VersionInfo
0x00800408 rollOffset
0x0080040c navPosLlh
0x00800429 ubxP
0x0080042b RxdBuffer
0x008004c1 navPosUtm
0x008004d4 ubxSp
0x008004d6 msgLen
0x008004d8 nickOffset
0x008004dc DebugOut
0x0080050e actualPos
0x00800530 msgID
0x00800531 ignorePacket
0x00800532 navVelNed
COMMON 0x00800557 0x1 printf_P.o
0x00800557 PrintZiel
COMMON 0x00800558 0x12 analog.o
0x00800558 Aktuell_ay
0x0080055a Aktuell_az
0x0080055c StartLuftdruck
0x0080055e Aktuell_Nick
0x00800560 messanzahl_Druck
0x00800561 Aktuell_Roll
0x00800563 Aktuell_ax
0x00800565 DruckOffsetSetting
0x00800566 Aktuell_Gier
0x00800568 tmpLuftdruck
COMMON 0x0080056a 0x8 twimaster.o
0x0080056a motor_rx
COMMON 0x00800572 0x2c rc.o
0x00800572 PPM_in
0x00800588 PPM_diff
COMMON 0x0080059e 0x50 fc.o
0x0080059e EE_Parameter
0x008005d8 MesswertRoll
0x008005da MesswertNick
0x008005dc MIN_GAS
0x008005dd Mittelwert_AccHoch
0x008005df IntegralFaktor
0x008005e3 Mittelwert_AccNick
0x008005e5 MAX_GAS
0x008005e6 MesswertGier
0x008005e8 GyroFaktor
0x008005ec Mittelwert_AccRoll
0x008005ee PROVIDE (__bss_end, .)
0x00005cec __data_load_start = LOADADDR (.data)
0x00005d7a __data_load_end = (__data_load_start + SIZEOF (.data))
 
.noinit 0x008005ee 0x0
0x008005ee PROVIDE (__noinit_start, .)
*(.noinit*)
0x008005ee PROVIDE (__noinit_end, .)
0x008005ee _end = .
0x008005ee PROVIDE (__heap_start, .)
 
.eeprom 0x00810000 0x800
*(.eeprom*)
.eeprom 0x00810000 0x800 main.o
0x00810000 EEPromArray
0x00810800 __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_60.elf elf32-avr)
LOAD linker stubs
 
Cross Reference Table
 
Symbol File
ADC_Init analog.o
main.o
AccumulateGier analog.o
fc.o
menu.o
AccumulateNick analog.o
fc.o
menu.o
AccumulateRoll analog.o
fc.o
menu.o
AdNeutralGier fc.o
rc.o
menu.o
analog.o
AdNeutralNick fc.o
rc.o
menu.o
analog.o
AdNeutralRoll fc.o
rc.o
menu.o
analog.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
menu.o
analog.o
AnzahlEmpfangsBytes uart.o
Array menu.o
BearbeiteRxDaten uart.o
main.o
CK_A uart.o
CK_B uart.o
CalibrierMittelwert fc.o
CheckDelay timer0.o
fc.o
uart.o
main.o
CntCrcError uart.o
CosinusNickWinkel fc.o
GPS.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
CosinusRollWinkel fc.o
GPS.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
Count GPS.o
fc.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
CountMilliseconds timer0.o
DatenUebertragung uart.o
main.o
DebugDataAnforderung uart.o
DebugDisplayAnforderung uart.o
DebugGetAnforderung uart.o
DebugIn uart.o
main.o
DebugOut fc.o
timer0.o
uart.o
Debug_Timer uart.o
Decode64 uart.o
DefaultKonstanten1 fc.o
main.o
DefaultKonstanten2 fc.o
main.o
Delay_ms timer0.o
fc.o
analog.o
DiffNick GPS.o
fc.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
DiffRoll GPS.o
fc.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
DispPtr menu.o
printf_P.o
DisplayBuff menu.o
printf_P.o
uart.o
DruckOffsetSetting menu.o
analog.o
EEPromArray main.o
fc.o
uart.o
EE_Parameter fc.o
menu.o
timer0.o
uart.o
main.o
GPS_Nick GPS.o
fc.o
GPS_Roll GPS.o
fc.o
GPSscanData uart.o
GetActiveParamSetNumber main.o
fc.o
menu.o
uart.o
GetVersionAnforderung uart.o
GyroFaktor fc.o
HoeheD analog.o
fc.o
HoehenReglerAktiv fc.o
HoehenWert fc.o
menu.o
analog.o
IntegralFaktor fc.o
IntegralNick fc.o
GPS.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
IntegralNick2 fc.o
GPS.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
IntegralRoll fc.o
GPS.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
IntegralRoll2 fc.o
GPS.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
Integral_Gier fc.o
GPS.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
Ki fc.o
KompassRichtung fc.o
menu.o
timer0.o
KompassStartwert fc.o
menu.o
timer0.o
KompassValue fc.o
menu.o
timer0.o
Kp fc.o
LcdClear menu.o
main.o
Luftdruck analog.o
fc.o
MAX_GAS fc.o
MIN_GAS fc.o
MeineSlaveAdresse uart.o
Menu menu.o
uart.o
MessLuftdruck analog.o
fc.o
menu.o
Mess_IntegralNick fc.o
GPS.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
Mess_IntegralNick2 fc.o
GPS.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
Mess_IntegralRoll fc.o
GPS.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
Mess_IntegralRoll2 fc.o
GPS.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
Mess_Integral_Gier fc.o
GPS.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
Mess_Integral_Gier2 fc.o
analog.o
Mess_Integral_Hoch fc.o
analog.o
MessanzahlGier analog.o
fc.o
menu.o
MessanzahlNick analog.o
fc.o
menu.o
MessanzahlRoll analog.o
fc.o
menu.o
MesswertGier fc.o
MesswertNick fc.o
MesswertRoll fc.o
Mittelwert fc.o
Mittelwert_AccHoch fc.o
Mittelwert_AccNick fc.o
Mittelwert_AccRoll fc.o
MotorRegler fc.o
main.o
MotorTest uart.o
fc.o
MotorWert GPS.o
fc.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
Motor_Hinten GPS.o
fc.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
Motor_Links GPS.o
fc.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
Motor_Rechts GPS.o
fc.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
Motor_Vorne GPS.o
fc.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
MotorenEin fc.o
GPS.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
NMEABuffer uart.o
NeueKoordinateEmpfangen uart.o
NeuerDatensatzEmpfangen uart.o
NeutralAccX fc.o
menu.o
analog.o
NeutralAccY fc.o
menu.o
analog.o
NeutralAccZ fc.o
menu.o
analog.o
NewPpmData rc.o
fc.o
Notlandung fc.o
PAD_0 printf_P.o
PAD_SP printf_P.o
PC_DebugTimeout uart.o
PPM_diff fc.o
rc.o
PPM_in fc.o
rc.o
menu.o
main.o
PRINT printf_P.o
PRINTP printf_P.o
ParameterZuordnung 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_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
PcZugriff uart.o
fc.o
main.o
Piep fc.o
uart.o
Poti1 fc.o
GPS.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
RemoteTasten menu.o
GPS.o
fc.o
rc.o
twimaster.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
RxdBuffer uart.o
SendMotorData fc.o
main.o
SendOutData uart.o
SendeBuffer uart.o
SenderOkay fc.o
GPS.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
ServoValue timer0.o
menu.o
SetDelay timer0.o
fc.o
uart.o
main.o
SetNeutral fc.o
main.o
SioTmp uart.o
SollHoehe fc.o
menu.o
StartLuftdruck fc.o
analog.o
StickGier fc.o
GPS.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
StickNick fc.o
GPS.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
StickRoll fc.o
GPS.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
SucheLuftruckOffset analog.o
fc.o
main.o
TestInt menu.o
Timeout fc.o
GPS.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
Timer_Init timer0.o
main.o
UART_Init uart.o
main.o
UBat analog.o
menu.o
main.o
UebertragungAbgeschlossen 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)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(sin.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(modf.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_powerseries.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cosinus.o)
GPS.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)
fc.o
rc.o
menu.o
analog.o
timer0.o
__divmodsi4 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodsi4.o)
GPS.o
fc.o
menu.o
analog.o
timer0.o
uart.o
__divsf3 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(fp_powerseries.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fmod.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)
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)
GPS.o
fc.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
__eeprom_read_byte_1F2021 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rb.1F2021.o)
main.o
__eeprom_write_byte_1F2021 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wb.1F2021.o)
fc.o
uart.o
main.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)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(modf.o)
GPS.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)
__floatsisf 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(modf.o)
GPS.o
fc.o
analog.o
__floatunssisf c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(floatsisf.o)
__fp_cosinus c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cosinus.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(sin.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(cos.o)
__fp_flashconst c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_flashconst.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_powerseries.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(modf.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)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fmod.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_powerseries c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_powerseries.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cosinus.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)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(modf.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)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(square.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_powerseries.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fmod.o)
GPS.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)
GPS.o
fc.o
timer0.o
__nesf2 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.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)
GPS.o
analog.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
__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 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
accumulate_AccHoch analog.o
fc.o
accumulate_AccNick analog.o
fc.o
menu.o
accumulate_AccRoll analog.o
fc.o
menu.o
actualPos GPS.o
uart.o
alpha GPS.o
beeptime timer0.o
GPS.o
fc.o
main.o
cntKompass timer0.o
cos c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(cos.o)
GPS.o
durchschnitt_easting GPS.o
fc.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
durchschnitt_northing GPS.o
fc.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.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
fmod c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fmod.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(sin.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(cos.o)
gps_d GPS.o
fc.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
gps_easting GPS.o
gps_gethome GPS.o
gps_getpos GPS.o
gps_home_e GPS.o
gps_home_n GPS.o
gps_main GPS.o
fc.o
gps_northing GPS.o
gps_p GPS.o
fc.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
gpsmax GPS.o
h GPS.o
fc.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
i2c_init twimaster.o
main.o
i2c_start twimaster.o
fc.o
i2c_stop twimaster.o
i2c_write_byte twimaster.o
ignorePacket uart.o
komp_dreh GPS.o
loop GPS.o
m GPS.o
fc.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.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
fc.o
messanzahl_AccNick analog.o
fc.o
menu.o
messanzahl_AccRoll analog.o
fc.o
menu.o
messanzahl_Druck analog.o
modf c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(modf.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fmod.o)
motor twimaster.o
fc.o
motor_rx twimaster.o
motorread twimaster.o
msgID uart.o
msgLen uart.o
navPosLlh uart.o
navPosUtm uart.o
navStatus uart.o
navVelNed uart.o
nickOffset uart.o
rc_sum_init rc.o
main.o
rollOffset uart.o
s GPS.o
fc.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
sin c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(sin.o)
GPS.o
skal GPS.o
fc.o
rc.o
twimaster.o
menu.o
analog.o
timer0.o
printf_P.o
uart.o
main.o
square c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(square.o)
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cosinus.o)
tmpLuftdruck analog.o
twi_state twimaster.o
fc.o
uart_putchar uart.o
printf_P.o
ubxEp uart.o
ubxP uart.o
ubxSp uart.o
zwe GPS.o
zwe1 GPS.o
zwe2 GPS.o
zwn GPS.o
zwn1 GPS.o
zwn2 GPS.o
/branches/V0.60_GPS_BETA_chris2798_hallo2/Flight-Ctrl_MEGA644_V0_60.sym
0,0 → 1,483
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 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__
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__
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__
00000070 t table_cos
00000096 t __c.2019
0000009a t __c.2017
000000a2 t __c.2015
000000ae t __c.2013
000000bc t __c.2011
000000c1 t __c.2006
000000de t __c.2004
000000f9 t __c.1996
00000128 t __c.1994
00000149 t __c.1992
00000161 t __c.1991
00000163 t __c.2073
00000171 t __c.2071
0000017f t __c.2069
0000018d t __c.2067
00000195 t __c.2064
000001a1 t __c.2062
000001ad t __c.2060
000001b9 t __c.2058
000001c5 t __c.2055
000001d4 t __c.2053
000001e3 t __c.2051
000001f2 t __c.2049
00000201 t __c.2046
00000210 t __c.2044
0000021f t __c.2041
0000022e t __c.2039
0000023d t __c.2037
0000024c t __c.2035
00000259 t __c.2032
00000268 t __c.2030
00000277 t __c.2028
00000286 t __c.2026
00000294 t __c.2023
000002a4 t __c.2021
000002b4 t __c.2019
000002c4 t __c.2017
000002d4 t __c.2014
000002e4 t __c.2012
000002f4 t __c.2010
00000304 t __c.2008
00000314 t __c.2005
00000323 t __c.2003
00000332 t __c.2001
00000341 t __c.1999
0000034b t __c.1996
00000359 t __c.1994
00000360 t __c.1992
0000036f t __c.1990
0000037e t __c.1988
0000038d t __c.1986
0000039c t __c.1982
000003ac t __c.1980
000003b9 t __c.1978
000003c0 t __c.1976
000003d2 t __c.1973
000003d8 T __ctors_end
000003d8 T __ctors_start
000003d8 T __dtors_end
000003d8 T __dtors_start
000003d8 W __init
000003d8 T __trampolines_end
000003d8 T __trampolines_start
000003e4 T __do_copy_data
000003f0 t .do_copy_data_loop
000003f4 t .do_copy_data_start
000003fa T __do_clear_bss
00000402 t .do_clear_bss_loop
00000404 t .do_clear_bss_start
00000412 T __bad_interrupt
00000412 W __vector_1
00000412 W __vector_10
00000412 W __vector_11
00000412 W __vector_13
00000412 W __vector_14
00000412 W __vector_15
00000412 W __vector_16
00000412 W __vector_17
00000412 W __vector_19
00000412 W __vector_2
00000412 W __vector_21
00000412 W __vector_23
00000412 W __vector_25
00000412 W __vector_27
00000412 W __vector_3
00000412 W __vector_4
00000412 W __vector_5
00000412 W __vector_6
00000412 W __vector_7
00000412 W __vector_8
00000416 T GetActiveParamSetNumber
00000424 T WriteParameterSet
0000043c t .26_start
00000448 t .26_finished
00000454 T ReadParameterSet
0000046e t .44_start
0000047a t .44_finished
00000480 T main
0000074a T __vector_22
000007b6 T GPSscanData
000008be T __vector_20
00000cc6 T AddCRC
00000d22 T SendOutData
00000df2 T Decode64
00000ea2 T uart_putchar
00000ec4 T WriteProgramData
00000ec6 T UART_Init
00000f00 T DatenUebertragung
00000fdc T BearbeiteRxDaten
000010ff W __stack
00001140 T Putchar
00001172 T PAD_0
00001188 T PAD_SP
0000119e T PRINTP
000011ca T PRINT
000011f2 T _printf_P
0000173a T __vector_18
00001862 T SetDelay
00001874 T CheckDelay
0000188c T __vector_9
000019e6 T Timer_Init
00001a34 T Delay_ms
00001a58 T ADC_Init
00001a64 T __vector_24
000020ac T SucheLuftruckOffset
000020fa T LcdClear
0000210c T Menu
00002894 T i2c_init
000028a0 T i2c_start
000028ac T i2c_stop
000028b4 T i2c_write_byte
000028c8 T __vector_26
00002a04 T rc_sum_init
00002a2e T __vector_12
00002b6c T Mittelwert
000030ee T CalibrierMittelwert
00003426 T ParameterZuordnung
000038c0 T DefaultKonstanten2
0000399a T DefaultKonstanten1
00003a7c T SendMotorData
00003b0a T SetNeutral
00003d02 T Piep
00003d2c T MotorRegler
000052ce T gps_main
00005766 T memchr
00005780 T __subsf3
00005782 T __addsf3
0000578a T __addsf3x
00005806 T cos
00005812 T __divsf3
00005818 T __divsf3x
0000589e T __fixsfsi
0000589e T __fixunssfsi
000058c4 T __fp_lneg
000058d4 T __floatunssisf
000058d8 T __floatsisf
000058ec T fmod
00005912 T __eqsf2
00005912 T __lesf2
00005912 T __ltsf2
00005912 T __nesf2
00005918 T __gesf2
00005918 T __gtsf2
0000591e T __cmpsf2
00005930 t .fp_cmp
00005956 T __fp_cosinus
0000599c T __fp_merge
000059cc T __fp_nan
000059cc T __fp_nanEDOM
000059cc T __fp_nanERANGE
000059cc T __fp_nanx
000059d2 T __fp_powerseries
00005a38 T __fp_split3
00005a3e T __fp_split2
00005a50 T __fp_split1
00005a6c T __fp_split_a
00005a8a T __fp_zero
00005a90 T __fp_zerox
00005a94 T modf
00005af4 T __mulsf3
00005afa T __mulsf3x
00005b84 T sin
00005baa T square
00005bb2 T __fp_flashconst
00005bbc T __mulsi3
00005bfa T __udivmodhi4
00005c02 t __udivmodhi4_loop
00005c10 t __udivmodhi4_ep
00005c22 T __divmodhi4
00005c22 T _div
00005c36 t __divmodhi4_neg2
00005c3c t __divmodhi4_exit
00005c3e t __divmodhi4_neg1
00005c48 T __udivmodsi4
00005c54 t __udivmodsi4_loop
00005c6e t __udivmodsi4_ep
00005c8c T __divmodsi4
00005ca0 t __divmodsi4_neg2
00005cae t __divmodsi4_exit
00005cb0 t __divmodsi4_neg1
00005cc2 T __eeprom_read_byte_1F2021
00005cd2 T __eeprom_write_byte_1F2021
00005cea t __stop_program
00005cea T _exit
00005cea W exit
00005cec A __data_load_start
00005cec T _etext
00005d7a A __data_load_end
00800100 D __data_start
00800100 D UebertragungAbgeschlossen
00800101 D PcZugriff
00800102 d timer.2062
00800103 d cnt_1ms.1975
00800104 D UBat
00800106 D Luftdruck
0080010a D MessLuftdruck
0080010c D Array
00800116 D DisplayBuff
00800166 d MaxMenue.1971
00800167 D NewPpmData
00800178 D Kp
0080017c D Ki
00800180 D Parameter_Luftdruck_D
00800181 D Parameter_MaxHoehe
00800182 D Parameter_Hoehe_P
00800183 D Parameter_Hoehe_ACC_Wirkung
00800184 D Parameter_KompassWirkung
00800185 D Parameter_Gyro_P
00800186 D Parameter_Gyro_I
00800187 D Parameter_Gier_P
00800188 D Parameter_I_Faktor
00800189 D Parameter_ServoNickControl
0080018a D gps_getpos
0080018c D gpsmax
0080018e B __bss_start
0080018e D __data_end
0080018e D _edata
0080018e B DebugGetAnforderung
0080018f B DebugDisplayAnforderung
00800190 B DebugDataAnforderung
00800191 B GetVersionAnforderung
00800192 B SioTmp
00800193 B NeuerDatensatzEmpfangen
00800194 B NeueKoordinateEmpfangen
00800195 B CntCrcError
00800196 B AnzahlEmpfangsBytes
00800197 B PC_DebugTimeout
00800198 B MotorTest
0080019c b dis_zeile.2398
0080019d b UartState.2075
0080019e b buf_ptr.2074
0080019f b crc2.2073
008001a0 b crc1.2072
008001a1 b crc.2071
008001a3 b ptr.2038
008001a5 b gpsState
008001a6 B CountMilliseconds
008001a8 B UpdateMotor
008001a9 B cntKompass
008001ab B beeptime
008001ad B ServoValue
008001af b cnt.1976
008001b0 b tim_main
008001b2 B AccumulateNick
008001b4 B AccumulateRoll
008001b6 B AccumulateGier
008001b8 B accumulate_AccRoll
008001ba B accumulate_AccNick
008001bc B accumulate_AccHoch
008001be B MessanzahlNick
008001bf B MessanzahlRoll
008001c0 B MessanzahlGier
008001c1 B messanzahl_AccNick
008001c2 B messanzahl_AccRoll
008001c3 B messanzahl_AccHoch
008001c4 B HoeheD
008001c6 B ZaehlMessungen
008001c8 b state.2006
008001c9 b kanal.2005
008001ca B TestInt
008001cc B DispPtr
008001cd B RemoteTasten
008001ce b MenuePunkt.1972
008001cf B twi_state
008001d0 B motor
008001d1 B motorread
008001d2 b index.1972
008001d4 b AltICR.1970
008001d6 B Timeout
008001d7 B AdNeutralNick
008001d9 B AdNeutralRoll
008001db B AdNeutralGier
008001dd B NeutralAccX
008001df B NeutralAccY
008001e1 B NeutralAccZ
008001e5 B CosinusNickWinkel
008001e6 B CosinusRollWinkel
008001e7 B IntegralNick
008001eb B IntegralNick2
008001ef B IntegralRoll
008001f3 B IntegralRoll2
008001f7 B Integral_Gier
008001fb B Mess_IntegralNick
008001ff B Mess_IntegralNick2
00800203 B Mess_IntegralRoll
00800207 B Mess_IntegralRoll2
0080020b B Mess_Integral_Gier
0080020f B Mess_Integral_Gier2
00800213 B Mess_Integral_Hoch
00800217 B KompassValue
00800219 B KompassStartwert
0080021b B KompassRichtung
0080021d B Notlandung
0080021e B HoehenReglerAktiv
0080021f B Poti1
00800221 B Poti2
00800223 B Poti3
00800225 B Poti4
00800227 B SenderOkay
00800228 B StickNick
0080022a B StickRoll
0080022c B StickGier
0080022e B MotorenEin
0080022f B HoehenWert
00800231 B SollHoehe
00800233 B Parameter_UserParam1
00800234 B Parameter_UserParam2
00800235 B Parameter_UserParam3
00800236 B Parameter_UserParam4
00800237 b SignalSchlecht.2367
00800239 b NeueKompassRichtungMerken.2363
0080023a b TimerWerteausgabe.2362
0080023b b hoehenregler.2361
0080023d b modell_fliegt.2360
0080023f b delay_ausschalten.2359
00800240 b delay_einschalten.2358
00800241 b delay_neutral.2357
00800242 b RcLostTimer.2356
00800244 b IntegralFehlerRoll.2355
00800246 b IntegralFehlerNick.2354
00800248 b tmp_long2.2353
0080024c b tmp_long.2352
00800250 b sollGier.2351
00800254 b SummeRoll.2350
00800258 b SummeNick.2349
0080025c B loop
0080025e B gps_northing
00800262 B gps_easting
00800266 B alpha
00800268 B zwn
0080026c B zwe
00800270 B zwn1
00800274 B zwe1
00800278 B zwn2
0080027c B zwe2
00800280 B gps_gethome
00800282 B gps_home_n
00800286 B gps_home_e
0080028a B komp_dreh
0080028c B GPS_Nick
0080028e B GPS_Roll
00800290 B durchschnitt_easting
00800294 B DiffRoll
00800296 B Motor_Vorne
00800297 B Motor_Hinten
00800298 B DiffNick
0080029a B Motor_Rechts
0080029b B Count
0080029c B durchschnitt_northing
008002a0 B skal
008002a2 B gps_p
008002a4 B gps_d
008002a6 B Motor_Links
008002a7 B s
008002a8 B h
008002a9 B m
008002aa B MotorWert
008002af B ubxEp
008002b1 B MeineSlaveAdresse
008002b2 B CK_A
008002b3 B SendeBuffer
00800349 B NMEABuffer
008003df B Debug_Timer
008003e1 B CK_B
008003e2 B navStatus
008003f3 B DebugIn
008003fe B VersionInfo
00800408 B rollOffset
0080040c B navPosLlh
00800429 B ubxP
0080042b B RxdBuffer
008004c1 B navPosUtm
008004d4 B ubxSp
008004d6 B msgLen
008004d8 B nickOffset
008004dc B DebugOut
0080050e B actualPos
00800530 B msgID
00800531 B ignorePacket
00800532 B navVelNed
00800557 B PrintZiel
00800558 B Aktuell_ay
0080055a B Aktuell_az
0080055c B StartLuftdruck
0080055e B Aktuell_Nick
00800560 B messanzahl_Druck
00800561 B Aktuell_Roll
00800563 B Aktuell_ax
00800565 B DruckOffsetSetting
00800566 B Aktuell_Gier
00800568 B tmpLuftdruck
0080056a B motor_rx
00800572 B PPM_in
00800588 B PPM_diff
0080059e B EE_Parameter
008005d8 B MesswertRoll
008005da B MesswertNick
008005dc B MIN_GAS
008005dd B Mittelwert_AccHoch
008005df B IntegralFaktor
008005e3 B Mittelwert_AccNick
008005e5 B MAX_GAS
008005e6 B MesswertGier
008005e8 B GyroFaktor
008005ec B Mittelwert_AccRoll
008005ee B __bss_end
008005ee A _end
00810000 D EEPromArray
00810800 D __eeprom_end
/branches/V0.60_GPS_BETA_chris2798_hallo2/GPS.c
0,0 → 1,90
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Copyright (c) 08.2007 by Christopher Hartmann / Daniel Schmitz
// +
// + Bitte die read_me Datei beachten! Es handelt sich hierbei um eine erste Probeversion!
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#include "main.h"
#include "math.h"
 
// GPS feste Variablen++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
volatile int loop = 0;
long gps_northing = 0, gps_easting = 0;
 
volatile int alpha = 0;
 
long zwn = 0, zwe = 0, zwn1 = 0, zwe1 = 0, zwn2 = 0, zwe2 = 0;
volatile int gps_getpos = 5;
volatile int gps_gethome = 0;
long gps_home_n = 0;
long gps_home_e = 0;
 
// GPS Einstellungen +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
volatile int komp_dreh = 0; // verdrehten Kompasseinbau kompensieren (+/-Grad)
volatile int gpsmax = 30; //maximal zulässiger "GPS-Steuerausschlag"
 
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
signed int GPS_Nick = 0;
signed int GPS_Roll = 0;
void gps_main(void)
{
if (MotorenEin > 1 && gps_gethome == 0 && actualPos.state != 0){ //speichert GPS-Home-Position
gps_home_n = actualPos.northing;
gps_home_e = actualPos.easting;
beeptime = 80;
gps_gethome = 1;
}
 
 
if (Poti1>0 && actualPos.state != 0){ //Beginn GPS-Position-Hold
 
if (gps_getpos != 0){ //Postion mit Schalter loggen
gps_northing = actualPos.northing;
gps_easting = actualPos.easting;
beeptime = 50;
gps_getpos = 0;}
 
//Regler ##########################################################################################################################
//P-Regler
zwn = (gps_northing-actualPos.northing)*gps_p;
zwe = (gps_easting-actualPos.easting)*gps_p;
 
//I-Regler
zwn1=0;
zwe1=0;
 
//D-Regler
zwn2= gps_d*actualPos.velNorth;
zwe2= gps_d*actualPos.velEast;
 
GPS_Nick = -1*(zwn+zwn1-zwn2) / skal;
GPS_Roll = (zwe+zwe1-zwe2) / skal;
 
//GPS-Mixer########################################################################################################################
if (GPS_Nick>gpsmax){GPS_Nick=gpsmax;} else if (GPS_Nick<(-1*gpsmax)){GPS_Nick=(-1*gpsmax);} //min-max Wert überprüfen
if (GPS_Roll>gpsmax){GPS_Roll=gpsmax;} else if (GPS_Roll<(-1*gpsmax)){GPS_Roll=(-1*gpsmax);}
 
//Rotationsmatrix##################################################################################################################
 
//Kompass ++++++++++++++++++++++++++++
alpha=0;
//alpha = komp_dreh+KompassValue;
//if (KompassValue>300) {beeptime=50;}
//if (alpha>359) {alpha=alpha-360;}
 
GPS_Nick=(sin(alpha)*GPS_Roll+cos(alpha)*GPS_Nick);
GPS_Roll=(cos(alpha)*GPS_Nick-sin(alpha)*GPS_Roll);
 
}else {
gps_getpos=5;
GPS_Nick=0;
GPS_Roll=0;
zwn1=0;
zwe1=0;
}
}
 
 
 
 
/branches/V0.60_GPS_BETA_chris2798_hallo2/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
/branches/V0.60_GPS_BETA_chris2798_hallo2/GPS.lst
0,0 → 1,613
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_main
13 gps_main:
14 /* prologue: frame size=0 */
15 0000 2F92 push r2
16 0002 3F92 push r3
17 0004 4F92 push r4
18 0006 5F92 push r5
19 0008 6F92 push r6
20 000a 7F92 push r7
21 000c 8F92 push r8
22 000e 9F92 push r9
23 0010 AF92 push r10
24 0012 BF92 push r11
25 0014 CF92 push r12
26 0016 DF92 push r13
27 0018 EF92 push r14
28 001a FF92 push r15
29 001c 0F93 push r16
30 001e 1F93 push r17
31 0020 CF93 push r28
32 0022 DF93 push r29
33 /* prologue end (size=18) */
34 0024 8091 0000 lds r24,MotorenEin
35 0028 8230 cpi r24,lo8(2)
36 002a 00F0 brlo .L2
37 002c 8091 0000 lds r24,gps_gethome
38 0030 9091 0000 lds r25,(gps_gethome)+1
39 0034 892B or r24,r25
40 0036 01F4 brne .L2
41 0038 8091 0000 lds r24,actualPos+32
42 003c 8823 tst r24
43 003e 01F0 breq .L2
44 0040 8091 0000 lds r24,actualPos
45 0044 9091 0000 lds r25,(actualPos)+1
46 0048 A091 0000 lds r26,(actualPos)+2
47 004c B091 0000 lds r27,(actualPos)+3
48 0050 8093 0000 sts gps_home_n,r24
49 0054 9093 0000 sts (gps_home_n)+1,r25
50 0058 A093 0000 sts (gps_home_n)+2,r26
51 005c B093 0000 sts (gps_home_n)+3,r27
52 0060 8091 0000 lds r24,actualPos+4
53 0064 9091 0000 lds r25,(actualPos+4)+1
54 0068 A091 0000 lds r26,(actualPos+4)+2
55 006c B091 0000 lds r27,(actualPos+4)+3
56 0070 8093 0000 sts gps_home_e,r24
57 0074 9093 0000 sts (gps_home_e)+1,r25
58 0078 A093 0000 sts (gps_home_e)+2,r26
59 007c B093 0000 sts (gps_home_e)+3,r27
60 0080 80E5 ldi r24,lo8(80)
61 0082 90E0 ldi r25,hi8(80)
62 0084 9093 0000 sts (beeptime)+1,r25
63 0088 8093 0000 sts beeptime,r24
64 008c 81E0 ldi r24,lo8(1)
65 008e 90E0 ldi r25,hi8(1)
66 0090 9093 0000 sts (gps_gethome)+1,r25
67 0094 8093 0000 sts gps_gethome,r24
68 .L2:
69 0098 8091 0000 lds r24,Poti1
70 009c 9091 0000 lds r25,(Poti1)+1
71 00a0 1816 cp __zero_reg__,r24
72 00a2 1906 cpc __zero_reg__,r25
73 00a4 04F0 brlt .+2
74 00a6 00C0 rjmp .L6
75 00a8 8091 0000 lds r24,actualPos+32
76 00ac 8823 tst r24
77 00ae 01F4 brne .+2
78 00b0 00C0 rjmp .L6
79 00b2 8091 0000 lds r24,gps_getpos
80 00b6 9091 0000 lds r25,(gps_getpos)+1
81 00ba 892B or r24,r25
82 00bc 01F0 breq .L9
83 00be 8091 0000 lds r24,actualPos
84 00c2 9091 0000 lds r25,(actualPos)+1
85 00c6 A091 0000 lds r26,(actualPos)+2
86 00ca B091 0000 lds r27,(actualPos)+3
87 00ce 8093 0000 sts gps_northing,r24
88 00d2 9093 0000 sts (gps_northing)+1,r25
89 00d6 A093 0000 sts (gps_northing)+2,r26
90 00da B093 0000 sts (gps_northing)+3,r27
91 00de 8091 0000 lds r24,actualPos+4
92 00e2 9091 0000 lds r25,(actualPos+4)+1
93 00e6 A091 0000 lds r26,(actualPos+4)+2
94 00ea B091 0000 lds r27,(actualPos+4)+3
95 00ee 8093 0000 sts gps_easting,r24
96 00f2 9093 0000 sts (gps_easting)+1,r25
97 00f6 A093 0000 sts (gps_easting)+2,r26
98 00fa B093 0000 sts (gps_easting)+3,r27
99 00fe 82E3 ldi r24,lo8(50)
100 0100 90E0 ldi r25,hi8(50)
101 0102 9093 0000 sts (beeptime)+1,r25
102 0106 8093 0000 sts beeptime,r24
103 010a 1092 0000 sts (gps_getpos)+1,__zero_reg__
104 010e 1092 0000 sts gps_getpos,__zero_reg__
105 .L9:
106 0112 2091 0000 lds r18,gps_p
107 0116 3091 0000 lds r19,(gps_p)+1
108 011a 6091 0000 lds r22,gps_northing
109 011e 7091 0000 lds r23,(gps_northing)+1
110 0122 8091 0000 lds r24,(gps_northing)+2
111 0126 9091 0000 lds r25,(gps_northing)+3
112 012a E090 0000 lds r14,actualPos
113 012e F090 0000 lds r15,(actualPos)+1
114 0132 0091 0000 lds r16,(actualPos)+2
115 0136 1091 0000 lds r17,(actualPos)+3
116 013a 6E19 sub r22,r14
117 013c 7F09 sbc r23,r15
118 013e 800B sbc r24,r16
119 0140 910B sbc r25,r17
120 0142 4427 clr r20
121 0144 37FD sbrc r19,7
122 0146 4095 com r20
123 0148 542F mov r21,r20
124 014a 0E94 0000 call __mulsi3
125 014e 1B01 movw r2,r22
126 0150 2C01 movw r4,r24
127 0152 6093 0000 sts zwn,r22
128 0156 7093 0000 sts (zwn)+1,r23
129 015a 8093 0000 sts (zwn)+2,r24
130 015e 9093 0000 sts (zwn)+3,r25
131 0162 2091 0000 lds r18,gps_p
132 0166 3091 0000 lds r19,(gps_p)+1
133 016a 6091 0000 lds r22,gps_easting
134 016e 7091 0000 lds r23,(gps_easting)+1
135 0172 8091 0000 lds r24,(gps_easting)+2
136 0176 9091 0000 lds r25,(gps_easting)+3
137 017a E090 0000 lds r14,actualPos+4
138 017e F090 0000 lds r15,(actualPos+4)+1
139 0182 0091 0000 lds r16,(actualPos+4)+2
140 0186 1091 0000 lds r17,(actualPos+4)+3
141 018a 6E19 sub r22,r14
142 018c 7F09 sbc r23,r15
143 018e 800B sbc r24,r16
144 0190 910B sbc r25,r17
145 0192 4427 clr r20
146 0194 37FD sbrc r19,7
147 0196 4095 com r20
148 0198 542F mov r21,r20
149 019a 0E94 0000 call __mulsi3
150 019e 5B01 movw r10,r22
151 01a0 6C01 movw r12,r24
152 01a2 6093 0000 sts zwe,r22
153 01a6 7093 0000 sts (zwe)+1,r23
154 01aa 8093 0000 sts (zwe)+2,r24
155 01ae 9093 0000 sts (zwe)+3,r25
156 01b2 1092 0000 sts zwn1,__zero_reg__
157 01b6 1092 0000 sts (zwn1)+1,__zero_reg__
158 01ba 1092 0000 sts (zwn1)+2,__zero_reg__
159 01be 1092 0000 sts (zwn1)+3,__zero_reg__
160 01c2 1092 0000 sts zwe1,__zero_reg__
161 01c6 1092 0000 sts (zwe1)+1,__zero_reg__
162 01ca 1092 0000 sts (zwe1)+2,__zero_reg__
163 01ce 1092 0000 sts (zwe1)+3,__zero_reg__
164 01d2 6091 0000 lds r22,gps_d
165 01d6 7091 0000 lds r23,(gps_d)+1
166 01da 8827 clr r24
167 01dc 77FD sbrc r23,7
168 01de 8095 com r24
169 01e0 982F mov r25,r24
170 01e2 2091 0000 lds r18,actualPos+12
171 01e6 3091 0000 lds r19,(actualPos+12)+1
172 01ea 4091 0000 lds r20,(actualPos+12)+2
173 01ee 5091 0000 lds r21,(actualPos+12)+3
174 01f2 0E94 0000 call __mulsi3
175 01f6 7B01 movw r14,r22
176 01f8 8C01 movw r16,r24
177 01fa 6093 0000 sts zwn2,r22
178 01fe 7093 0000 sts (zwn2)+1,r23
179 0202 8093 0000 sts (zwn2)+2,r24
180 0206 9093 0000 sts (zwn2)+3,r25
181 020a 6091 0000 lds r22,gps_d
182 020e 7091 0000 lds r23,(gps_d)+1
183 0212 8827 clr r24
184 0214 77FD sbrc r23,7
185 0216 8095 com r24
186 0218 982F mov r25,r24
187 021a 2091 0000 lds r18,actualPos+16
188 021e 3091 0000 lds r19,(actualPos+16)+1
189 0222 4091 0000 lds r20,(actualPos+16)+2
190 0226 5091 0000 lds r21,(actualPos+16)+3
191 022a 0E94 0000 call __mulsi3
192 022e 3B01 movw r6,r22
193 0230 4C01 movw r8,r24
194 0232 6093 0000 sts zwe2,r22
195 0236 7093 0000 sts (zwe2)+1,r23
196 023a 8093 0000 sts (zwe2)+2,r24
197 023e 9093 0000 sts (zwe2)+3,r25
198 0242 2091 0000 lds r18,skal
199 0246 3091 0000 lds r19,(skal)+1
200 024a E218 sub r14,r2
201 024c F308 sbc r15,r3
202 024e 0409 sbc r16,r4
203 0250 1509 sbc r17,r5
204 0252 4427 clr r20
205 0254 37FD sbrc r19,7
206 0256 4095 com r20
207 0258 542F mov r21,r20
208 025a C801 movw r24,r16
209 025c B701 movw r22,r14
210 025e 0E94 0000 call __divmodsi4
211 0262 E901 movw r28,r18
212 0264 3093 0000 sts (GPS_Nick)+1,r19
213 0268 2093 0000 sts GPS_Nick,r18
214 026c 2091 0000 lds r18,skal
215 0270 3091 0000 lds r19,(skal)+1
216 0274 A618 sub r10,r6
217 0276 B708 sbc r11,r7
218 0278 C808 sbc r12,r8
219 027a D908 sbc r13,r9
220 027c 4427 clr r20
221 027e 37FD sbrc r19,7
222 0280 4095 com r20
223 0282 542F mov r21,r20
224 0284 C601 movw r24,r12
225 0286 B501 movw r22,r10
226 0288 0E94 0000 call __divmodsi4
227 028c B901 movw r22,r18
228 028e 3093 0000 sts (GPS_Roll)+1,r19
229 0292 2093 0000 sts GPS_Roll,r18
230 0296 8091 0000 lds r24,gpsmax
231 029a 9091 0000 lds r25,(gpsmax)+1
232 029e 8C17 cp r24,r28
233 02a0 9D07 cpc r25,r29
234 02a2 04F4 brge .L11
235 02a4 8091 0000 lds r24,gpsmax
236 02a8 9091 0000 lds r25,(gpsmax)+1
237 02ac 00C0 rjmp .L21
238 .L11:
239 02ae 8091 0000 lds r24,gpsmax
240 02b2 9091 0000 lds r25,(gpsmax)+1
241 02b6 9095 com r25
242 02b8 8195 neg r24
243 02ba 9F4F sbci r25,lo8(-1)
244 02bc C817 cp r28,r24
245 02be D907 cpc r29,r25
246 02c0 04F4 brge .L13
247 02c2 8091 0000 lds r24,gpsmax
248 02c6 9091 0000 lds r25,(gpsmax)+1
249 02ca 9095 com r25
250 02cc 8195 neg r24
251 02ce 9F4F sbci r25,lo8(-1)
252 .L21:
253 02d0 9093 0000 sts (GPS_Nick)+1,r25
254 02d4 8093 0000 sts GPS_Nick,r24
255 .L13:
256 02d8 8091 0000 lds r24,gpsmax
257 02dc 9091 0000 lds r25,(gpsmax)+1
258 02e0 8617 cp r24,r22
259 02e2 9707 cpc r25,r23
260 02e4 04F4 brge .L15
261 02e6 8091 0000 lds r24,gpsmax
262 02ea 9091 0000 lds r25,(gpsmax)+1
263 02ee 00C0 rjmp .L22
264 .L15:
265 02f0 8091 0000 lds r24,gpsmax
266 02f4 9091 0000 lds r25,(gpsmax)+1
267 02f8 9095 com r25
268 02fa 8195 neg r24
269 02fc 9F4F sbci r25,lo8(-1)
270 02fe 6817 cp r22,r24
271 0300 7907 cpc r23,r25
272 0302 04F4 brge .L17
273 0304 8091 0000 lds r24,gpsmax
274 0308 9091 0000 lds r25,(gpsmax)+1
275 030c 9095 com r25
276 030e 8195 neg r24
277 0310 9F4F sbci r25,lo8(-1)
278 .L22:
279 0312 9093 0000 sts (GPS_Roll)+1,r25
280 0316 8093 0000 sts GPS_Roll,r24
281 .L17:
282 031a 1092 0000 sts (alpha)+1,__zero_reg__
283 031e 1092 0000 sts alpha,__zero_reg__
284 0322 E090 0000 lds r14,alpha
285 0326 F090 0000 lds r15,(alpha)+1
286 032a 6091 0000 lds r22,GPS_Roll
287 032e 7091 0000 lds r23,(GPS_Roll)+1
288 0332 8827 clr r24
289 0334 77FD sbrc r23,7
290 0336 8095 com r24
291 0338 982F mov r25,r24
292 033a 0E94 0000 call __floatsisf
293 033e 1B01 movw r2,r22
294 0340 2C01 movw r4,r24
295 0342 A090 0000 lds r10,alpha
296 0346 B090 0000 lds r11,(alpha)+1
297 034a 0027 clr r16
298 034c F7FC sbrc r15,7
299 034e 0095 com r16
300 0350 102F mov r17,r16
301 0352 C801 movw r24,r16
302 0354 B701 movw r22,r14
303 0356 0E94 0000 call __floatsisf
304 035a 0E94 0000 call sin
305 035e A201 movw r20,r4
306 0360 9101 movw r18,r2
307 0362 0E94 0000 call __mulsf3
308 0366 3B01 movw r6,r22
309 0368 4C01 movw r8,r24
310 036a CC24 clr r12
311 036c B7FC sbrc r11,7
312 036e C094 com r12
313 0370 DC2C mov r13,r12
314 0372 C601 movw r24,r12
315 0374 B501 movw r22,r10
316 0376 0E94 0000 call __floatsisf
317 037a 0E94 0000 call cos
318 037e 7B01 movw r14,r22
319 0380 8C01 movw r16,r24
320 0382 6091 0000 lds r22,GPS_Nick
321 0386 7091 0000 lds r23,(GPS_Nick)+1
322 038a 8827 clr r24
323 038c 77FD sbrc r23,7
324 038e 8095 com r24
325 0390 982F mov r25,r24
326 0392 0E94 0000 call __floatsisf
327 0396 9B01 movw r18,r22
328 0398 AC01 movw r20,r24
329 039a C801 movw r24,r16
330 039c B701 movw r22,r14
331 039e 0E94 0000 call __mulsf3
332 03a2 9B01 movw r18,r22
333 03a4 AC01 movw r20,r24
334 03a6 C401 movw r24,r8
335 03a8 B301 movw r22,r6
336 03aa 0E94 0000 call __addsf3
337 03ae 0E94 0000 call __fixsfsi
338 03b2 7B01 movw r14,r22
339 03b4 7093 0000 sts (GPS_Nick)+1,r23
340 03b8 6093 0000 sts GPS_Nick,r22
341 03bc 6091 0000 lds r22,alpha
342 03c0 7091 0000 lds r23,(alpha)+1
343 03c4 A090 0000 lds r10,alpha
344 03c8 B090 0000 lds r11,(alpha)+1
345 03cc 8827 clr r24
346 03ce 77FD sbrc r23,7
347 03d0 8095 com r24
348 03d2 982F mov r25,r24
349 03d4 0E94 0000 call __floatsisf
350 03d8 0E94 0000 call cos
351 03dc 3B01 movw r6,r22
352 03de 4C01 movw r8,r24
353 03e0 0027 clr r16
354 03e2 F7FC sbrc r15,7
355 03e4 0095 com r16
356 03e6 102F mov r17,r16
357 03e8 C801 movw r24,r16
358 03ea B701 movw r22,r14
359 03ec 0E94 0000 call __floatsisf
360 03f0 9B01 movw r18,r22
361 03f2 AC01 movw r20,r24
362 03f4 C401 movw r24,r8
363 03f6 B301 movw r22,r6
364 03f8 0E94 0000 call __mulsf3
365 03fc 7B01 movw r14,r22
366 03fe 8C01 movw r16,r24
367 0400 CC24 clr r12
368 0402 B7FC sbrc r11,7
369 0404 C094 com r12
370 0406 DC2C mov r13,r12
371 0408 C601 movw r24,r12
372 040a B501 movw r22,r10
373 040c 0E94 0000 call __floatsisf
374 0410 0E94 0000 call sin
375 0414 A201 movw r20,r4
376 0416 9101 movw r18,r2
377 0418 0E94 0000 call __mulsf3
378 041c 9B01 movw r18,r22
379 041e AC01 movw r20,r24
380 0420 C801 movw r24,r16
381 0422 B701 movw r22,r14
382 0424 0E94 0000 call __subsf3
383 0428 0E94 0000 call __fixsfsi
384 042c 7093 0000 sts (GPS_Roll)+1,r23
385 0430 6093 0000 sts GPS_Roll,r22
386 0434 00C0 rjmp .L20
387 .L6:
388 0436 85E0 ldi r24,lo8(5)
389 0438 90E0 ldi r25,hi8(5)
390 043a 9093 0000 sts (gps_getpos)+1,r25
391 043e 8093 0000 sts gps_getpos,r24
392 0442 1092 0000 sts (GPS_Nick)+1,__zero_reg__
393 0446 1092 0000 sts GPS_Nick,__zero_reg__
394 044a 1092 0000 sts (GPS_Roll)+1,__zero_reg__
395 044e 1092 0000 sts GPS_Roll,__zero_reg__
396 0452 1092 0000 sts zwn1,__zero_reg__
397 0456 1092 0000 sts (zwn1)+1,__zero_reg__
398 045a 1092 0000 sts (zwn1)+2,__zero_reg__
399 045e 1092 0000 sts (zwn1)+3,__zero_reg__
400 0462 1092 0000 sts zwe1,__zero_reg__
401 0466 1092 0000 sts (zwe1)+1,__zero_reg__
402 046a 1092 0000 sts (zwe1)+2,__zero_reg__
403 046e 1092 0000 sts (zwe1)+3,__zero_reg__
404 .L20:
405 /* epilogue: frame size=0 */
406 0472 DF91 pop r29
407 0474 CF91 pop r28
408 0476 1F91 pop r17
409 0478 0F91 pop r16
410 047a FF90 pop r15
411 047c EF90 pop r14
412 047e DF90 pop r13
413 0480 CF90 pop r12
414 0482 BF90 pop r11
415 0484 AF90 pop r10
416 0486 9F90 pop r9
417 0488 8F90 pop r8
418 048a 7F90 pop r7
419 048c 6F90 pop r6
420 048e 5F90 pop r5
421 0490 4F90 pop r4
422 0492 3F90 pop r3
423 0494 2F90 pop r2
424 0496 0895 ret
425 /* epilogue end (size=19) */
426 /* function gps_main size 588 (551) */
428 .global loop
429 .global loop
430 .section .bss
433 loop:
434 0000 0000 .skip 2,0
435 .global gps_northing
436 .global gps_northing
439 gps_northing:
440 0002 0000 0000 .skip 4,0
441 .global gps_easting
442 .global gps_easting
445 gps_easting:
446 0006 0000 0000 .skip 4,0
447 .global alpha
448 .global alpha
451 alpha:
452 000a 0000 .skip 2,0
453 .global zwn
454 .global zwn
457 zwn:
458 000c 0000 0000 .skip 4,0
459 .global zwe
460 .global zwe
463 zwe:
464 0010 0000 0000 .skip 4,0
465 .global zwn1
466 .global zwn1
469 zwn1:
470 0014 0000 0000 .skip 4,0
471 .global zwe1
472 .global zwe1
475 zwe1:
476 0018 0000 0000 .skip 4,0
477 .global zwn2
478 .global zwn2
481 zwn2:
482 001c 0000 0000 .skip 4,0
483 .global zwe2
484 .global zwe2
487 zwe2:
488 0020 0000 0000 .skip 4,0
489 .global gps_getpos
490 .data
493 gps_getpos:
494 0000 0500 .word 5
495 .global gps_gethome
496 .global gps_gethome
497 .section .bss
500 gps_gethome:
501 0024 0000 .skip 2,0
502 .global gps_home_n
503 .global gps_home_n
506 gps_home_n:
507 0026 0000 0000 .skip 4,0
508 .global gps_home_e
509 .global gps_home_e
512 gps_home_e:
513 002a 0000 0000 .skip 4,0
514 .global komp_dreh
515 .global komp_dreh
518 komp_dreh:
519 002e 0000 .skip 2,0
520 .global gpsmax
521 .data
524 gpsmax:
525 0002 1E00 .word 30
526 .global GPS_Nick
527 .global GPS_Nick
528 .section .bss
531 GPS_Nick:
532 0030 0000 .skip 2,0
533 .global GPS_Roll
534 .global GPS_Roll
537 GPS_Roll:
538 0032 0000 .skip 2,0
539 .comm DiffNick,2,1
540 .comm DiffRoll,2,1
541 .comm SenderOkay,1,1
542 .comm CosinusNickWinkel,1,1
543 .comm CosinusRollWinkel,1,1
544 .comm durchschnitt_northing,4,1
545 .comm durchschnitt_easting,4,1
546 .comm gps_p,2,1
547 .comm gps_d,2,1
548 .comm skal,2,1
549 .comm RemoteTasten,1,1
550 .comm Timeout,1,1
551 .comm IntegralNick,4,1
552 .comm IntegralNick2,4,1
553 .comm IntegralRoll,4,1
554 .comm IntegralRoll2,4,1
555 .comm Mess_IntegralNick,4,1
556 .comm Mess_IntegralNick2,4,1
557 .comm Mess_IntegralRoll,4,1
558 .comm Mess_IntegralRoll2,4,1
559 .comm Integral_Gier,4,1
560 .comm Mess_Integral_Gier,4,1
561 .comm h,1,1
562 .comm m,1,1
563 .comm s,1,1
564 .comm Motor_Vorne,1,1
565 .comm Motor_Hinten,1,1
566 .comm Motor_Rechts,1,1
567 .comm Motor_Links,1,1
568 .comm Count,1,1
569 .comm MotorWert,5,1
570 .comm StickNick,2,1
571 .comm StickRoll,2,1
572 .comm StickGier,2,1
573 .comm MotorenEin,1,1
574 /* File "GPS.c": code 588 = 0x024c ( 551), prologues 18, epilogues 19 */
DEFINED SYMBOLS
*ABS*:00000000 GPS.c
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:13 .text:00000000 gps_main
*COM*:00000001 MotorenEin
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:500 .bss:00000024 gps_gethome
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:506 .bss:00000026 gps_home_n
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:512 .bss:0000002a gps_home_e
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:493 .data:00000000 gps_getpos
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:439 .bss:00000002 gps_northing
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:445 .bss:00000006 gps_easting
*COM*:00000002 gps_p
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:457 .bss:0000000c zwn
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:463 .bss:00000010 zwe
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:469 .bss:00000014 zwn1
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:475 .bss:00000018 zwe1
*COM*:00000002 gps_d
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:481 .bss:0000001c zwn2
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:487 .bss:00000020 zwe2
*COM*:00000002 skal
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:531 .bss:00000030 GPS_Nick
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:537 .bss:00000032 GPS_Roll
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:524 .data:00000002 gpsmax
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:451 .bss:0000000a alpha
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:433 .bss:00000000 loop
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cckOBDwn.s:518 .bss:0000002e komp_dreh
*COM*:00000002 DiffNick
*COM*:00000002 DiffRoll
*COM*:00000001 SenderOkay
*COM*:00000001 CosinusNickWinkel
*COM*:00000001 CosinusRollWinkel
*COM*:00000004 durchschnitt_northing
*COM*:00000004 durchschnitt_easting
*COM*:00000001 RemoteTasten
*COM*:00000001 Timeout
*COM*:00000004 IntegralNick
*COM*:00000004 IntegralNick2
*COM*:00000004 IntegralRoll
*COM*:00000004 IntegralRoll2
*COM*:00000004 Mess_IntegralNick
*COM*:00000004 Mess_IntegralNick2
*COM*:00000004 Mess_IntegralRoll
*COM*:00000004 Mess_IntegralRoll2
*COM*:00000004 Integral_Gier
*COM*:00000004 Mess_Integral_Gier
*COM*:00000001 h
*COM*:00000001 m
*COM*:00000001 s
*COM*:00000001 Motor_Vorne
*COM*:00000001 Motor_Hinten
*COM*:00000001 Motor_Rechts
*COM*:00000001 Motor_Links
*COM*:00000001 Count
*COM*:00000005 MotorWert
*COM*:00000002 StickNick
*COM*:00000002 StickRoll
*COM*:00000002 StickGier
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
actualPos
beeptime
Poti1
__mulsi3
__divmodsi4
__floatsisf
sin
__mulsf3
cos
__addsf3
__fixsfsi
__subsf3
/branches/V0.60_GPS_BETA_chris2798_hallo2/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/V0.60_GPS_BETA_chris2798_hallo2/Settings.h
--- _Settings.h (nonexistent)
+++ _Settings.h (revision 21)
@@ -0,0 +1,50 @@
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// Testmodi
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+#define MOTOR_OFF 0
+#define MOTOR_TEST 0
+
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// Abstimmung
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+#define ACC_AMPLIFY 16
+#define FAKTOR_P 1
+#define FAKTOR_I 0.0001
+
+
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// Debug-Interface
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+#define SIO_DEBUG 1 // Soll der Debugger aktiviert sein?
+#define MIN_DEBUG_INTERVALL 250 // 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/V0.60_GPS_BETA_chris2798_hallo2/analog.c
0,0 → 1,155
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + 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 AccumulateNick = 0, AccumulateRoll = 0, AccumulateGier = 0;
volatile int accumulate_AccRoll = 0,accumulate_AccNick = 0,accumulate_AccHoch = 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;
for(off=0; off < 250;off++)
{
OCR0A = off;
Delay_ms(50);
printf(".");
if(MessLuftdruck < 900) break;
}
DruckOffsetSetting = off;
Delay_ms(200);
}
 
 
//#######################################################################################
//
SIGNAL(SIG_ADC)
//#######################################################################################
{
static unsigned char kanal=0,state = 0;
signed int wert;
ANALOG_OFF;
switch(state++)
{
case 0:
wert = (signed int) AdNeutralGier - ADC;
AccumulateGier += wert; //
MessanzahlGier++;
Mess_Integral_Gier += wert;// / 16;
Mess_Integral_Gier2 += wert;
kanal = 1;
ZaehlMessungen++;
break;
case 1:
wert = (signed int) ADC - AdNeutralRoll;
Mess_IntegralRoll += wert;
Mess_IntegralRoll2 += wert;
if(ADC < 10) wert = -700;
if(ADC > 1000) wert = +700;
AccumulateRoll += wert;
MessanzahlRoll++;
kanal = 2;
break;
case 2:
wert = (signed int) ADC - AdNeutralNick;
Mess_IntegralNick += wert;
Mess_IntegralNick2 += wert;
if(ADC < 10) wert = -700;
if(ADC > 1000) wert = +700;
AccumulateNick += wert;
MessanzahlNick++;
kanal = 4;
break;
case 3:
UBat = (3 * UBat + ADC / 3) / 4;//(UBat + ((ADC * 39) / 256) + 19) / 2;
kanal = 6;
break;
case 4:
Aktuell_ay = NeutralAccY - ADC;
accumulate_AccRoll += Aktuell_ay;
messanzahl_AccRoll++;
kanal = 7;
break;
case 5:
Aktuell_ay = ADC - NeutralAccX;
accumulate_AccNick += Aktuell_ay;
messanzahl_AccNick++;
kanal = 5;
state = 6;
break;
case 6:
accumulate_AccHoch = (signed int) ADC - NeutralAccZ;
accumulate_AccHoch += abs(Aktuell_ay) / 4 + abs(Aktuell_ax) / 4;
if(accumulate_AccHoch > 1)
{
if(NeutralAccZ < 800) NeutralAccZ+= 0.02;
}
else if(accumulate_AccHoch < -1)
{
if(NeutralAccZ > 600) NeutralAccZ-= 0.02;
}
messanzahl_AccHoch = 1;
Aktuell_az = ADC;
Mess_Integral_Hoch += accumulate_AccHoch; // Integrieren
Mess_Integral_Hoch -= Mess_Integral_Hoch / 1024; // dämfen
// Mess_Integral_Hoch -= Mess_Integral_Hoch / 512; // dämfen
/* if(EE_Parameter.GlobalConfig & CFG_HOEHENREGELUNG)
{
kanal = 3;
state = 7;
}
else
{
kanal = 0;
state = 0;
}*/
kanal = 3;
state = 7;
break;
case 7:
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;
ANALOG_ON;
}
/branches/V0.60_GPS_BETA_chris2798_hallo2/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
/branches/V0.60_GPS_BETA_chris2798_hallo2/analog.h
0,0 → 1,23
/*#######################################################################################
 
#######################################################################################*/
 
extern volatile int UBat;
extern volatile int AccumulateNick, AccumulateRoll, AccumulateGier,accumulate_AccRoll,accumulate_AccNick,accumulate_AccHoch;
extern volatile char MessanzahlNick, MessanzahlRoll, MessanzahlGier,messanzahl_AccNick, messanzahl_AccRoll,messanzahl_AccHoch;
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 unsigned int ReadADC(unsigned char adc_input);
extern void ADC_Init(void);
extern 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/V0.60_GPS_BETA_chris2798_hallo2/analog.lst
0,0 → 1,860
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 EF92 push r14
34 0018 FF92 push r15
35 001a 0F93 push r16
36 001c 1F93 push r17
37 001e 2F93 push r18
38 0020 3F93 push r19
39 0022 4F93 push r20
40 0024 5F93 push r21
41 0026 6F93 push r22
42 0028 7F93 push r23
43 002a 8F93 push r24
44 002c 9F93 push r25
45 002e AF93 push r26
46 0030 BF93 push r27
47 0032 CF93 push r28
48 0034 DF93 push r29
49 0036 EF93 push r30
50 0038 FF93 push r31
51 /* prologue end (size=23) */
52 003a 1092 7A00 sts 122,__zero_reg__
53 003e 4091 0000 lds r20,state.2006
54 0042 4F5F subi r20,lo8(-(1))
55 0044 4093 0000 sts state.2006,r20
56 0048 4150 subi r20,lo8(-(-1))
57 004a 4330 cpi r20,lo8(3)
58 004c 01F4 brne .+2
59 004e 00C0 rjmp .L8
60 0050 4430 cpi r20,lo8(4)
61 0052 00F4 brsh .L13
62 0054 4130 cpi r20,lo8(1)
63 0056 01F4 brne .+2
64 0058 00C0 rjmp .L6
65 005a 4230 cpi r20,lo8(2)
66 005c 00F0 brlo .+2
67 005e 00C0 rjmp .L7
68 0060 00C0 rjmp .L36
69 .L13:
70 0062 4530 cpi r20,lo8(5)
71 0064 01F4 brne .+2
72 0066 00C0 rjmp .L10
73 0068 4530 cpi r20,lo8(5)
74 006a 00F4 brsh .+2
75 006c 00C0 rjmp .L9
76 006e 4630 cpi r20,lo8(6)
77 0070 01F4 brne .+2
78 0072 00C0 rjmp .L11
79 0074 4730 cpi r20,lo8(7)
80 0076 01F0 breq .+2
81 0078 00C0 rjmp .L37
82 007a 00C0 rjmp .L12
83 .L36:
84 007c 2091 0000 lds r18,AdNeutralGier
85 0080 3091 0000 lds r19,(AdNeutralGier)+1
86 0084 8091 7800 lds r24,120
87 0088 9091 7900 lds r25,(120)+1
88 008c 281B sub r18,r24
89 008e 390B sbc r19,r25
90 0090 8091 0000 lds r24,AccumulateGier
91 0094 9091 0000 lds r25,(AccumulateGier)+1
92 0098 820F add r24,r18
93 009a 931F adc r25,r19
94 009c 9093 0000 sts (AccumulateGier)+1,r25
95 00a0 8093 0000 sts AccumulateGier,r24
96 00a4 8091 0000 lds r24,MessanzahlGier
97 00a8 8F5F subi r24,lo8(-(1))
98 00aa 8093 0000 sts MessanzahlGier,r24
99 00ae 8091 0000 lds r24,Mess_Integral_Gier
100 00b2 9091 0000 lds r25,(Mess_Integral_Gier)+1
101 00b6 A091 0000 lds r26,(Mess_Integral_Gier)+2
102 00ba B091 0000 lds r27,(Mess_Integral_Gier)+3
103 00be 4427 clr r20
104 00c0 37FD sbrc r19,7
105 00c2 4095 com r20
106 00c4 542F mov r21,r20
107 00c6 820F add r24,r18
108 00c8 931F adc r25,r19
109 00ca A41F adc r26,r20
110 00cc B51F adc r27,r21
111 00ce 8093 0000 sts Mess_Integral_Gier,r24
112 00d2 9093 0000 sts (Mess_Integral_Gier)+1,r25
113 00d6 A093 0000 sts (Mess_Integral_Gier)+2,r26
114 00da B093 0000 sts (Mess_Integral_Gier)+3,r27
115 00de 8091 0000 lds r24,Mess_Integral_Gier2
116 00e2 9091 0000 lds r25,(Mess_Integral_Gier2)+1
117 00e6 A091 0000 lds r26,(Mess_Integral_Gier2)+2
118 00ea B091 0000 lds r27,(Mess_Integral_Gier2)+3
119 00ee 820F add r24,r18
120 00f0 931F adc r25,r19
121 00f2 A41F adc r26,r20
122 00f4 B51F adc r27,r21
123 00f6 8093 0000 sts Mess_Integral_Gier2,r24
124 00fa 9093 0000 sts (Mess_Integral_Gier2)+1,r25
125 00fe A093 0000 sts (Mess_Integral_Gier2)+2,r26
126 0102 B093 0000 sts (Mess_Integral_Gier2)+3,r27
127 0106 81E0 ldi r24,lo8(1)
128 0108 8093 0000 sts kanal.2005,r24
129 010c 8091 0000 lds r24,ZaehlMessungen
130 0110 9091 0000 lds r25,(ZaehlMessungen)+1
131 0114 0196 adiw r24,1
132 0116 9093 0000 sts (ZaehlMessungen)+1,r25
133 011a 8093 0000 sts ZaehlMessungen,r24
134 011e 00C0 rjmp .L14
135 .L6:
136 0120 6091 7800 lds r22,120
137 0124 7091 7900 lds r23,(120)+1
138 0128 8091 0000 lds r24,AdNeutralRoll
139 012c 9091 0000 lds r25,(AdNeutralRoll)+1
140 0130 681B sub r22,r24
141 0132 790B sbc r23,r25
142 0134 8091 0000 lds r24,Mess_IntegralRoll
143 0138 9091 0000 lds r25,(Mess_IntegralRoll)+1
144 013c A091 0000 lds r26,(Mess_IntegralRoll)+2
145 0140 B091 0000 lds r27,(Mess_IntegralRoll)+3
146 0144 9B01 movw r18,r22
147 0146 4427 clr r20
148 0148 37FD sbrc r19,7
149 014a 4095 com r20
150 014c 542F mov r21,r20
151 014e 820F add r24,r18
152 0150 931F adc r25,r19
153 0152 A41F adc r26,r20
154 0154 B51F adc r27,r21
155 0156 8093 0000 sts Mess_IntegralRoll,r24
156 015a 9093 0000 sts (Mess_IntegralRoll)+1,r25
157 015e A093 0000 sts (Mess_IntegralRoll)+2,r26
158 0162 B093 0000 sts (Mess_IntegralRoll)+3,r27
159 0166 8091 0000 lds r24,Mess_IntegralRoll2
160 016a 9091 0000 lds r25,(Mess_IntegralRoll2)+1
161 016e A091 0000 lds r26,(Mess_IntegralRoll2)+2
162 0172 B091 0000 lds r27,(Mess_IntegralRoll2)+3
163 0176 820F add r24,r18
164 0178 931F adc r25,r19
165 017a A41F adc r26,r20
166 017c B51F adc r27,r21
167 017e 8093 0000 sts Mess_IntegralRoll2,r24
168 0182 9093 0000 sts (Mess_IntegralRoll2)+1,r25
169 0186 A093 0000 sts (Mess_IntegralRoll2)+2,r26
170 018a B093 0000 sts (Mess_IntegralRoll2)+3,r27
171 018e 8091 7800 lds r24,120
172 0192 9091 7900 lds r25,(120)+1
173 0196 0A97 sbiw r24,10
174 0198 00F4 brsh .L15
175 019a 64E4 ldi r22,lo8(-700)
176 019c 7DEF ldi r23,hi8(-700)
177 .L15:
178 019e 8091 7800 lds r24,120
179 01a2 9091 7900 lds r25,(120)+1
180 01a6 895E subi r24,lo8(1001)
181 01a8 9340 sbci r25,hi8(1001)
182 01aa 00F0 brlo .L17
183 01ac 6CEB ldi r22,lo8(700)
184 01ae 72E0 ldi r23,hi8(700)
185 .L17:
186 01b0 8091 0000 lds r24,AccumulateRoll
187 01b4 9091 0000 lds r25,(AccumulateRoll)+1
188 01b8 860F add r24,r22
189 01ba 971F adc r25,r23
190 01bc 9093 0000 sts (AccumulateRoll)+1,r25
191 01c0 8093 0000 sts AccumulateRoll,r24
192 01c4 8091 0000 lds r24,MessanzahlRoll
193 01c8 8F5F subi r24,lo8(-(1))
194 01ca 8093 0000 sts MessanzahlRoll,r24
195 01ce 82E0 ldi r24,lo8(2)
196 01d0 00C0 rjmp .L39
197 .L7:
198 01d2 6091 7800 lds r22,120
199 01d6 7091 7900 lds r23,(120)+1
200 01da 8091 0000 lds r24,AdNeutralNick
201 01de 9091 0000 lds r25,(AdNeutralNick)+1
202 01e2 681B sub r22,r24
203 01e4 790B sbc r23,r25
204 01e6 8091 0000 lds r24,Mess_IntegralNick
205 01ea 9091 0000 lds r25,(Mess_IntegralNick)+1
206 01ee A091 0000 lds r26,(Mess_IntegralNick)+2
207 01f2 B091 0000 lds r27,(Mess_IntegralNick)+3
208 01f6 9B01 movw r18,r22
209 01f8 4427 clr r20
210 01fa 37FD sbrc r19,7
211 01fc 4095 com r20
212 01fe 542F mov r21,r20
213 0200 820F add r24,r18
214 0202 931F adc r25,r19
215 0204 A41F adc r26,r20
216 0206 B51F adc r27,r21
217 0208 8093 0000 sts Mess_IntegralNick,r24
218 020c 9093 0000 sts (Mess_IntegralNick)+1,r25
219 0210 A093 0000 sts (Mess_IntegralNick)+2,r26
220 0214 B093 0000 sts (Mess_IntegralNick)+3,r27
221 0218 8091 0000 lds r24,Mess_IntegralNick2
222 021c 9091 0000 lds r25,(Mess_IntegralNick2)+1
223 0220 A091 0000 lds r26,(Mess_IntegralNick2)+2
224 0224 B091 0000 lds r27,(Mess_IntegralNick2)+3
225 0228 820F add r24,r18
226 022a 931F adc r25,r19
227 022c A41F adc r26,r20
228 022e B51F adc r27,r21
229 0230 8093 0000 sts Mess_IntegralNick2,r24
230 0234 9093 0000 sts (Mess_IntegralNick2)+1,r25
231 0238 A093 0000 sts (Mess_IntegralNick2)+2,r26
232 023c B093 0000 sts (Mess_IntegralNick2)+3,r27
233 0240 8091 7800 lds r24,120
234 0244 9091 7900 lds r25,(120)+1
235 0248 0A97 sbiw r24,10
236 024a 00F4 brsh .L19
237 024c 64E4 ldi r22,lo8(-700)
238 024e 7DEF ldi r23,hi8(-700)
239 .L19:
240 0250 8091 7800 lds r24,120
241 0254 9091 7900 lds r25,(120)+1
242 0258 895E subi r24,lo8(1001)
243 025a 9340 sbci r25,hi8(1001)
244 025c 00F0 brlo .L21
245 025e 6CEB ldi r22,lo8(700)
246 0260 72E0 ldi r23,hi8(700)
247 .L21:
248 0262 8091 0000 lds r24,AccumulateNick
249 0266 9091 0000 lds r25,(AccumulateNick)+1
250 026a 860F add r24,r22
251 026c 971F adc r25,r23
252 026e 9093 0000 sts (AccumulateNick)+1,r25
253 0272 8093 0000 sts AccumulateNick,r24
254 0276 8091 0000 lds r24,MessanzahlNick
255 027a 8F5F subi r24,lo8(-(1))
256 027c 8093 0000 sts MessanzahlNick,r24
257 0280 84E0 ldi r24,lo8(4)
258 .L39:
259 0282 8093 0000 sts kanal.2005,r24
260 0286 00C0 rjmp .L14
261 .L8:
262 0288 4091 0000 lds r20,UBat
263 028c 5091 0000 lds r21,(UBat)+1
264 0290 8091 7800 lds r24,120
265 0294 9091 7900 lds r25,(120)+1
266 0298 9A01 movw r18,r20
267 029a 220F lsl r18
268 029c 331F rol r19
269 029e 240F add r18,r20
270 02a0 351F adc r19,r21
271 02a2 63E0 ldi r22,lo8(3)
272 02a4 70E0 ldi r23,hi8(3)
273 02a6 0E94 0000 call __udivmodhi4
274 02aa 260F add r18,r22
275 02ac 371F adc r19,r23
276 02ae 3695 lsr r19
277 02b0 2795 ror r18
278 02b2 3695 lsr r19
279 02b4 2795 ror r18
280 02b6 3093 0000 sts (UBat)+1,r19
281 02ba 2093 0000 sts UBat,r18
282 02be 86E0 ldi r24,lo8(6)
283 02c0 00C0 rjmp .L39
284 .L9:
285 02c2 8091 0000 lds r24,NeutralAccY
286 02c6 9091 0000 lds r25,(NeutralAccY)+1
287 02ca 2091 7800 lds r18,120
288 02ce 3091 7900 lds r19,(120)+1
289 02d2 821B sub r24,r18
290 02d4 930B sbc r25,r19
291 02d6 9093 0000 sts (Aktuell_ay)+1,r25
292 02da 8093 0000 sts Aktuell_ay,r24
293 02de 8091 0000 lds r24,accumulate_AccRoll
294 02e2 9091 0000 lds r25,(accumulate_AccRoll)+1
295 02e6 2091 0000 lds r18,Aktuell_ay
296 02ea 3091 0000 lds r19,(Aktuell_ay)+1
297 02ee 820F add r24,r18
298 02f0 931F adc r25,r19
299 02f2 9093 0000 sts (accumulate_AccRoll)+1,r25
300 02f6 8093 0000 sts accumulate_AccRoll,r24
301 02fa 8091 0000 lds r24,messanzahl_AccRoll
302 02fe 8F5F subi r24,lo8(-(1))
303 0300 8093 0000 sts messanzahl_AccRoll,r24
304 0304 87E0 ldi r24,lo8(7)
305 0306 00C0 rjmp .L39
306 .L10:
307 0308 8091 7800 lds r24,120
308 030c 9091 7900 lds r25,(120)+1
309 0310 2091 0000 lds r18,NeutralAccX
310 0314 3091 0000 lds r19,(NeutralAccX)+1
311 0318 821B sub r24,r18
312 031a 930B sbc r25,r19
313 031c 9093 0000 sts (Aktuell_ay)+1,r25
314 0320 8093 0000 sts Aktuell_ay,r24
315 0324 8091 0000 lds r24,accumulate_AccNick
316 0328 9091 0000 lds r25,(accumulate_AccNick)+1
317 032c 2091 0000 lds r18,Aktuell_ay
318 0330 3091 0000 lds r19,(Aktuell_ay)+1
319 0334 820F add r24,r18
320 0336 931F adc r25,r19
321 0338 9093 0000 sts (accumulate_AccNick)+1,r25
322 033c 8093 0000 sts accumulate_AccNick,r24
323 0340 8091 0000 lds r24,messanzahl_AccNick
324 0344 8F5F subi r24,lo8(-(1))
325 0346 8093 0000 sts messanzahl_AccNick,r24
326 034a 4093 0000 sts kanal.2005,r20
327 034e 86E0 ldi r24,lo8(6)
328 0350 00C0 rjmp .L40
329 .L11:
330 0352 6091 7800 lds r22,120
331 0356 7091 7900 lds r23,(120)+1
332 035a E090 0000 lds r14,NeutralAccZ
333 035e F090 0000 lds r15,(NeutralAccZ)+1
334 0362 0091 0000 lds r16,(NeutralAccZ)+2
335 0366 1091 0000 lds r17,(NeutralAccZ)+3
336 036a 8827 clr r24
337 036c 77FD sbrc r23,7
338 036e 8095 com r24
339 0370 982F mov r25,r24
340 0372 0E94 0000 call __floatsisf
341 0376 A801 movw r20,r16
342 0378 9701 movw r18,r14
343 037a 0E94 0000 call __subsf3
344 037e 0E94 0000 call __fixsfsi
345 0382 7093 0000 sts (accumulate_AccHoch)+1,r23
346 0386 6093 0000 sts accumulate_AccHoch,r22
347 038a 2091 0000 lds r18,accumulate_AccHoch
348 038e 3091 0000 lds r19,(accumulate_AccHoch)+1
349 0392 E091 0000 lds r30,Aktuell_ay
350 0396 F091 0000 lds r31,(Aktuell_ay)+1
351 039a 8091 0000 lds r24,Aktuell_ax
352 039e 9091 0000 lds r25,(Aktuell_ax)+1
353 03a2 97FF sbrs r25,7
354 03a4 00C0 rjmp .L23
355 03a6 9095 com r25
356 03a8 8195 neg r24
357 03aa 9F4F sbci r25,lo8(-1)
358 .L23:
359 03ac 64E0 ldi r22,lo8(4)
360 03ae 70E0 ldi r23,hi8(4)
361 03b0 0E94 0000 call __divmodhi4
362 03b4 EB01 movw r28,r22
363 03b6 CF01 movw r24,r30
364 03b8 F7FF sbrs r31,7
365 03ba 00C0 rjmp .L24
366 03bc 9095 com r25
367 03be 8195 neg r24
368 03c0 9F4F sbci r25,lo8(-1)
369 .L24:
370 03c2 64E0 ldi r22,lo8(4)
371 03c4 70E0 ldi r23,hi8(4)
372 03c6 0E94 0000 call __divmodhi4
373 03ca 260F add r18,r22
374 03cc 371F adc r19,r23
375 03ce 2C0F add r18,r28
376 03d0 3D1F adc r19,r29
377 03d2 3093 0000 sts (accumulate_AccHoch)+1,r19
378 03d6 2093 0000 sts accumulate_AccHoch,r18
379 03da 8091 0000 lds r24,accumulate_AccHoch
380 03de 9091 0000 lds r25,(accumulate_AccHoch)+1
381 03e2 0297 sbiw r24,2
382 03e4 04F0 brlt .L25
383 03e6 6091 0000 lds r22,NeutralAccZ
384 03ea 7091 0000 lds r23,(NeutralAccZ)+1
385 03ee 8091 0000 lds r24,(NeutralAccZ)+2
386 03f2 9091 0000 lds r25,(NeutralAccZ)+3
387 03f6 20E0 ldi r18,lo8(0x44480000)
388 03f8 30E0 ldi r19,hi8(0x44480000)
389 03fa 48E4 ldi r20,hlo8(0x44480000)
390 03fc 54E4 ldi r21,hhi8(0x44480000)
391 03fe 0E94 0000 call __ltsf2
392 0402 8823 tst r24
393 0404 04F0 brlt .+2
394 0406 00C0 rjmp .L27
395 0408 6091 0000 lds r22,NeutralAccZ
396 040c 7091 0000 lds r23,(NeutralAccZ)+1
397 0410 8091 0000 lds r24,(NeutralAccZ)+2
398 0414 9091 0000 lds r25,(NeutralAccZ)+3
399 0418 2AE0 ldi r18,lo8(0x3ca3d70a)
400 041a 37ED ldi r19,hi8(0x3ca3d70a)
401 041c 43EA ldi r20,hlo8(0x3ca3d70a)
402 041e 5CE3 ldi r21,hhi8(0x3ca3d70a)
403 0420 0E94 0000 call __addsf3
404 0424 00C0 rjmp .L38
405 .L25:
406 0426 8091 0000 lds r24,accumulate_AccHoch
407 042a 9091 0000 lds r25,(accumulate_AccHoch)+1
408 042e 8F5F subi r24,lo8(-1)
409 0430 9F4F sbci r25,hi8(-1)
410 0432 04F4 brge .L27
411 0434 6091 0000 lds r22,NeutralAccZ
412 0438 7091 0000 lds r23,(NeutralAccZ)+1
413 043c 8091 0000 lds r24,(NeutralAccZ)+2
414 0440 9091 0000 lds r25,(NeutralAccZ)+3
415 0444 20E0 ldi r18,lo8(0x44160000)
416 0446 30E0 ldi r19,hi8(0x44160000)
417 0448 46E1 ldi r20,hlo8(0x44160000)
418 044a 54E4 ldi r21,hhi8(0x44160000)
419 044c 0E94 0000 call __gtsf2
420 0450 1816 cp __zero_reg__,r24
421 0452 04F4 brge .L27
422 0454 6091 0000 lds r22,NeutralAccZ
423 0458 7091 0000 lds r23,(NeutralAccZ)+1
424 045c 8091 0000 lds r24,(NeutralAccZ)+2
425 0460 9091 0000 lds r25,(NeutralAccZ)+3
426 0464 2AE0 ldi r18,lo8(0x3ca3d70a)
427 0466 37ED ldi r19,hi8(0x3ca3d70a)
428 0468 43EA ldi r20,hlo8(0x3ca3d70a)
429 046a 5CE3 ldi r21,hhi8(0x3ca3d70a)
430 046c 0E94 0000 call __subsf3
431 .L38:
432 0470 6093 0000 sts NeutralAccZ,r22
433 0474 7093 0000 sts (NeutralAccZ)+1,r23
434 0478 8093 0000 sts (NeutralAccZ)+2,r24
435 047c 9093 0000 sts (NeutralAccZ)+3,r25
436 .L27:
437 0480 81E0 ldi r24,lo8(1)
438 0482 8093 0000 sts messanzahl_AccHoch,r24
439 0486 8091 7800 lds r24,120
440 048a 9091 7900 lds r25,(120)+1
441 048e 9093 0000 sts (Aktuell_az)+1,r25
442 0492 8093 0000 sts Aktuell_az,r24
443 0496 2091 0000 lds r18,Mess_Integral_Hoch
444 049a 3091 0000 lds r19,(Mess_Integral_Hoch)+1
445 049e 4091 0000 lds r20,(Mess_Integral_Hoch)+2
446 04a2 5091 0000 lds r21,(Mess_Integral_Hoch)+3
447 04a6 8091 0000 lds r24,accumulate_AccHoch
448 04aa 9091 0000 lds r25,(accumulate_AccHoch)+1
449 04ae AA27 clr r26
450 04b0 97FD sbrc r25,7
451 04b2 A095 com r26
452 04b4 BA2F mov r27,r26
453 04b6 280F add r18,r24
454 04b8 391F adc r19,r25
455 04ba 4A1F adc r20,r26
456 04bc 5B1F adc r21,r27
457 04be 2093 0000 sts Mess_Integral_Hoch,r18
458 04c2 3093 0000 sts (Mess_Integral_Hoch)+1,r19
459 04c6 4093 0000 sts (Mess_Integral_Hoch)+2,r20
460 04ca 5093 0000 sts (Mess_Integral_Hoch)+3,r21
461 04ce E090 0000 lds r14,Mess_Integral_Hoch
462 04d2 F090 0000 lds r15,(Mess_Integral_Hoch)+1
463 04d6 0091 0000 lds r16,(Mess_Integral_Hoch)+2
464 04da 1091 0000 lds r17,(Mess_Integral_Hoch)+3
465 04de 6091 0000 lds r22,Mess_Integral_Hoch
466 04e2 7091 0000 lds r23,(Mess_Integral_Hoch)+1
467 04e6 8091 0000 lds r24,(Mess_Integral_Hoch)+2
468 04ea 9091 0000 lds r25,(Mess_Integral_Hoch)+3
469 04ee 20E0 ldi r18,lo8(1024)
470 04f0 34E0 ldi r19,hi8(1024)
471 04f2 40E0 ldi r20,hlo8(1024)
472 04f4 50E0 ldi r21,hhi8(1024)
473 04f6 0E94 0000 call __divmodsi4
474 04fa E21A sub r14,r18
475 04fc F30A sbc r15,r19
476 04fe 040B sbc r16,r20
477 0500 150B sbc r17,r21
478 0502 E092 0000 sts Mess_Integral_Hoch,r14
479 0506 F092 0000 sts (Mess_Integral_Hoch)+1,r15
480 050a 0093 0000 sts (Mess_Integral_Hoch)+2,r16
481 050e 1093 0000 sts (Mess_Integral_Hoch)+3,r17
482 0512 83E0 ldi r24,lo8(3)
483 0514 8093 0000 sts kanal.2005,r24
484 0518 87E0 ldi r24,lo8(7)
485 .L40:
486 051a 8093 0000 sts state.2006,r24
487 051e 00C0 rjmp .L14
488 .L12:
489 0520 8091 0000 lds r24,tmpLuftdruck
490 0524 9091 0000 lds r25,(tmpLuftdruck)+1
491 0528 2091 7800 lds r18,120
492 052c 3091 7900 lds r19,(120)+1
493 0530 820F add r24,r18
494 0532 931F adc r25,r19
495 0534 9093 0000 sts (tmpLuftdruck)+1,r25
496 0538 8093 0000 sts tmpLuftdruck,r24
497 053c 8091 0000 lds r24,messanzahl_Druck
498 0540 8F5F subi r24,lo8(-(1))
499 0542 8093 0000 sts messanzahl_Druck,r24
500 0546 8091 0000 lds r24,messanzahl_Druck
501 054a 8530 cpi r24,lo8(5)
502 054c 00F4 brsh .+2
503 054e 00C0 rjmp .L37
504 0550 8091 7800 lds r24,120
505 0554 9091 7900 lds r25,(120)+1
506 0558 9093 0000 sts (MessLuftdruck)+1,r25
507 055c 8093 0000 sts MessLuftdruck,r24
508 0560 1092 0000 sts messanzahl_Druck,__zero_reg__
509 0564 8091 0000 lds r24,StartLuftdruck
510 0568 9091 0000 lds r25,(StartLuftdruck)+1
511 056c 2091 0000 lds r18,tmpLuftdruck
512 0570 3091 0000 lds r19,(tmpLuftdruck)+1
513 0574 821B sub r24,r18
514 0576 930B sbc r25,r19
515 0578 2091 0000 lds r18,HoehenWert
516 057c 3091 0000 lds r19,(HoehenWert)+1
517 0580 821B sub r24,r18
518 0582 930B sbc r25,r19
519 0584 9093 0000 sts (HoeheD)+1,r25
520 0588 8093 0000 sts HoeheD,r24
521 058c 6091 0000 lds r22,tmpLuftdruck
522 0590 7091 0000 lds r23,(tmpLuftdruck)+1
523 0594 E090 0000 lds r14,Luftdruck
524 0598 F090 0000 lds r15,(Luftdruck)+1
525 059c 0091 0000 lds r16,(Luftdruck)+2
526 05a0 1091 0000 lds r17,(Luftdruck)+3
527 05a4 8827 clr r24
528 05a6 77FD sbrc r23,7
529 05a8 8095 com r24
530 05aa 982F mov r25,r24
531 05ac A801 movw r20,r16
532 05ae 9701 movw r18,r14
533 05b0 220F lsl r18
534 05b2 331F rol r19
535 05b4 441F rol r20
536 05b6 551F rol r21
537 05b8 2E0D add r18,r14
538 05ba 3F1D adc r19,r15
539 05bc 401F adc r20,r16
540 05be 511F adc r21,r17
541 05c0 620F add r22,r18
542 05c2 731F adc r23,r19
543 05c4 841F adc r24,r20
544 05c6 951F adc r25,r21
545 05c8 24E0 ldi r18,lo8(4)
546 05ca 30E0 ldi r19,hi8(4)
547 05cc 40E0 ldi r20,hlo8(4)
548 05ce 50E0 ldi r21,hhi8(4)
549 05d0 0E94 0000 call __divmodsi4
550 05d4 2093 0000 sts Luftdruck,r18
551 05d8 3093 0000 sts (Luftdruck)+1,r19
552 05dc 4093 0000 sts (Luftdruck)+2,r20
553 05e0 5093 0000 sts (Luftdruck)+3,r21
554 05e4 2091 0000 lds r18,StartLuftdruck
555 05e8 3091 0000 lds r19,(StartLuftdruck)+1
556 05ec 8091 0000 lds r24,Luftdruck
557 05f0 9091 0000 lds r25,(Luftdruck)+1
558 05f4 A091 0000 lds r26,(Luftdruck)+2
559 05f8 B091 0000 lds r27,(Luftdruck)+3
560 05fc 281B sub r18,r24
561 05fe 390B sbc r19,r25
562 0600 3093 0000 sts (HoehenWert)+1,r19
563 0604 2093 0000 sts HoehenWert,r18
564 0608 1092 0000 sts (tmpLuftdruck)+1,__zero_reg__
565 060c 1092 0000 sts tmpLuftdruck,__zero_reg__
566 .L37:
567 0610 1092 0000 sts kanal.2005,__zero_reg__
568 0614 1092 0000 sts state.2006,__zero_reg__
569 .L14:
570 0618 8091 0000 lds r24,kanal.2005
571 061c 8093 7C00 sts 124,r24
572 0620 8FEE ldi r24,lo8(-17)
573 0622 8093 7A00 sts 122,r24
574 /* epilogue: frame size=0 */
575 0626 FF91 pop r31
576 0628 EF91 pop r30
577 062a DF91 pop r29
578 062c CF91 pop r28
579 062e BF91 pop r27
580 0630 AF91 pop r26
581 0632 9F91 pop r25
582 0634 8F91 pop r24
583 0636 7F91 pop r23
584 0638 6F91 pop r22
585 063a 5F91 pop r21
586 063c 4F91 pop r20
587 063e 3F91 pop r19
588 0640 2F91 pop r18
589 0642 1F91 pop r17
590 0644 0F91 pop r16
591 0646 FF90 pop r15
592 0648 EF90 pop r14
593 064a 0F90 pop __tmp_reg__
594 064c 0FBE out __SREG__,__tmp_reg__
595 064e 0F90 pop __tmp_reg__
596 0650 1F90 pop __zero_reg__
597 0652 1895 reti
598 /* epilogue end (size=23) */
599 /* function __vector_24 size 811 (765) */
601 .global SucheLuftruckOffset
603 SucheLuftruckOffset:
604 /* prologue: frame size=0 */
605 0654 CF93 push r28
606 0656 DF93 push r29
607 /* prologue end (size=2) */
608 0658 C0E0 ldi r28,lo8(0)
609 065a D0E0 ldi r29,hi8(0)
610 .L42:
611 065c C7BD out 71-0x20,r28
612 065e 82E3 ldi r24,lo8(50)
613 0660 90E0 ldi r25,hi8(50)
614 0662 0E94 0000 call Delay_ms
615 0666 80E0 ldi r24,lo8(__c.1991)
616 0668 90E0 ldi r25,hi8(__c.1991)
617 066a 9F93 push r25
618 066c 8F93 push r24
619 066e 1F92 push __zero_reg__
620 0670 0E94 0000 call _printf_P
621 0674 8091 0000 lds r24,MessLuftdruck
622 0678 9091 0000 lds r25,(MessLuftdruck)+1
623 067c 0F90 pop __tmp_reg__
624 067e 0F90 pop __tmp_reg__
625 0680 0F90 pop __tmp_reg__
626 0682 8458 subi r24,lo8(900)
627 0684 9340 sbci r25,hi8(900)
628 0686 00F0 brlo .L43
629 0688 2196 adiw r28,1
630 068a CA3F cpi r28,250
631 068c D105 cpc r29,__zero_reg__
632 068e 01F4 brne .L42
633 .L43:
634 0690 C093 0000 sts DruckOffsetSetting,r28
635 0694 88EC ldi r24,lo8(200)
636 0696 90E0 ldi r25,hi8(200)
637 0698 0E94 0000 call Delay_ms
638 /* epilogue: frame size=0 */
639 069c DF91 pop r29
640 069e CF91 pop r28
641 06a0 0895 ret
642 /* epilogue end (size=3) */
643 /* function SucheLuftruckOffset size 40 (35) */
645 .global UBat
646 .data
649 UBat:
650 0000 6400 .word 100
651 .global AccumulateNick
652 .global AccumulateNick
653 .section .bss
656 AccumulateNick:
657 0000 0000 .skip 2,0
658 .global AccumulateRoll
659 .global AccumulateRoll
662 AccumulateRoll:
663 0002 0000 .skip 2,0
664 .global AccumulateGier
665 .global AccumulateGier
668 AccumulateGier:
669 0004 0000 .skip 2,0
670 .global accumulate_AccRoll
671 .global accumulate_AccRoll
674 accumulate_AccRoll:
675 0006 0000 .skip 2,0
676 .global accumulate_AccNick
677 .global accumulate_AccNick
680 accumulate_AccNick:
681 0008 0000 .skip 2,0
682 .global accumulate_AccHoch
683 .global accumulate_AccHoch
686 accumulate_AccHoch:
687 000a 0000 .skip 2,0
688 .global MessanzahlNick
689 .global MessanzahlNick
692 MessanzahlNick:
693 000c 00 .skip 1,0
694 .global MessanzahlRoll
695 .global MessanzahlRoll
698 MessanzahlRoll:
699 000d 00 .skip 1,0
700 .global MessanzahlGier
701 .global MessanzahlGier
704 MessanzahlGier:
705 000e 00 .skip 1,0
706 .global messanzahl_AccNick
707 .global messanzahl_AccNick
710 messanzahl_AccNick:
711 000f 00 .skip 1,0
712 .global messanzahl_AccRoll
713 .global messanzahl_AccRoll
716 messanzahl_AccRoll:
717 0010 00 .skip 1,0
718 .global messanzahl_AccHoch
719 .global messanzahl_AccHoch
722 messanzahl_AccHoch:
723 0011 00 .skip 1,0
724 .global Luftdruck
725 .data
728 Luftdruck:
729 0002 00 .byte 0
730 0003 7D .byte 125
731 0004 00 .byte 0
732 0005 00 .byte 0
733 .global MessLuftdruck
736 MessLuftdruck:
737 0006 FF03 .word 1023
738 .global HoeheD
739 .global HoeheD
740 .section .bss
743 HoeheD:
744 0012 0000 .skip 2,0
745 .global ZaehlMessungen
746 .global ZaehlMessungen
749 ZaehlMessungen:
750 0014 0000 .skip 2,0
751 .lcomm state.2006,1
752 .lcomm kanal.2005,1
753 .section .progmem.data,"a",@progbits
756 __c.1991:
757 0000 2E00 .string "."
758 .comm DiffNick,2,1
759 .comm DiffRoll,2,1
760 .comm SenderOkay,1,1
761 .comm CosinusNickWinkel,1,1
762 .comm CosinusRollWinkel,1,1
763 .comm durchschnitt_northing,4,1
764 .comm durchschnitt_easting,4,1
765 .comm gps_p,2,1
766 .comm gps_d,2,1
767 .comm skal,2,1
768 .comm Aktuell_Nick,2,1
769 .comm Aktuell_Roll,2,1
770 .comm Aktuell_Gier,2,1
771 .comm Aktuell_ax,2,1
772 .comm Aktuell_ay,2,1
773 .comm Aktuell_az,2,1
774 .comm messanzahl_Druck,1,1
775 .comm DruckOffsetSetting,1,1
776 .comm StartLuftdruck,2,1
777 .comm RemoteTasten,1,1
778 .comm Timeout,1,1
779 .comm IntegralNick,4,1
780 .comm IntegralNick2,4,1
781 .comm IntegralRoll,4,1
782 .comm IntegralRoll2,4,1
783 .comm Mess_IntegralNick,4,1
784 .comm Mess_IntegralNick2,4,1
785 .comm Mess_IntegralRoll,4,1
786 .comm Mess_IntegralRoll2,4,1
787 .comm Integral_Gier,4,1
788 .comm Mess_Integral_Gier,4,1
789 .comm h,1,1
790 .comm m,1,1
791 .comm s,1,1
792 .comm Motor_Vorne,1,1
793 .comm Motor_Hinten,1,1
794 .comm Motor_Rechts,1,1
795 .comm Motor_Links,1,1
796 .comm Count,1,1
797 .comm MotorWert,5,1
798 .comm StickNick,2,1
799 .comm StickRoll,2,1
800 .comm StickGier,2,1
801 .comm MotorenEin,1,1
802 .comm tmpLuftdruck,2,1
803 /* File "analog.c": code 857 = 0x0359 ( 805), prologues 25, epilogues 27 */
DEFINED SYMBOLS
*ABS*:00000000 analog.c
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:13 .text:00000000 ADC_Init
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:26 .text:0000000c __vector_24
.bss:00000016 state.2006
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:668 .bss:00000004 AccumulateGier
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:704 .bss:0000000e MessanzahlGier
*COM*:00000004 Mess_Integral_Gier
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:751 .bss:00000017 kanal.2005
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:749 .bss:00000014 ZaehlMessungen
*COM*:00000004 Mess_IntegralRoll
*COM*:00000004 Mess_IntegralRoll2
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:662 .bss:00000002 AccumulateRoll
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:698 .bss:0000000d MessanzahlRoll
*COM*:00000004 Mess_IntegralNick
*COM*:00000004 Mess_IntegralNick2
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:656 .bss:00000000 AccumulateNick
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:692 .bss:0000000c MessanzahlNick
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:649 .data:00000000 UBat
*COM*:00000002 Aktuell_ay
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:674 .bss:00000006 accumulate_AccRoll
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:716 .bss:00000010 messanzahl_AccRoll
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:680 .bss:00000008 accumulate_AccNick
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:710 .bss:0000000f messanzahl_AccNick
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:686 .bss:0000000a accumulate_AccHoch
*COM*:00000002 Aktuell_ax
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:722 .bss:00000011 messanzahl_AccHoch
*COM*:00000002 Aktuell_az
*COM*:00000002 tmpLuftdruck
*COM*:00000001 messanzahl_Druck
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:736 .data:00000006 MessLuftdruck
*COM*:00000002 StartLuftdruck
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:743 .bss:00000012 HoeheD
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:728 .data:00000002 Luftdruck
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:603 .text:00000654 SucheLuftruckOffset
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOjvMIy.s:756 .progmem.data:00000000 __c.1991
*COM*:00000001 DruckOffsetSetting
*COM*:00000002 DiffNick
*COM*:00000002 DiffRoll
*COM*:00000001 SenderOkay
*COM*:00000001 CosinusNickWinkel
*COM*:00000001 CosinusRollWinkel
*COM*:00000004 durchschnitt_northing
*COM*:00000004 durchschnitt_easting
*COM*:00000002 gps_p
*COM*:00000002 gps_d
*COM*:00000002 skal
*COM*:00000002 Aktuell_Nick
*COM*:00000002 Aktuell_Roll
*COM*:00000002 Aktuell_Gier
*COM*:00000001 RemoteTasten
*COM*:00000001 Timeout
*COM*:00000004 IntegralNick
*COM*:00000004 IntegralNick2
*COM*:00000004 IntegralRoll
*COM*:00000004 IntegralRoll2
*COM*:00000004 Integral_Gier
*COM*:00000001 h
*COM*:00000001 m
*COM*:00000001 s
*COM*:00000001 Motor_Vorne
*COM*:00000001 Motor_Hinten
*COM*:00000001 Motor_Rechts
*COM*:00000001 Motor_Links
*COM*:00000001 Count
*COM*:00000005 MotorWert
*COM*:00000002 StickNick
*COM*:00000002 StickRoll
*COM*:00000002 StickGier
*COM*:00000001 MotorenEin
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
AdNeutralGier
Mess_Integral_Gier2
AdNeutralRoll
AdNeutralNick
__udivmodhi4
NeutralAccY
NeutralAccX
NeutralAccZ
__floatsisf
__subsf3
__fixsfsi
__divmodhi4
__ltsf2
__addsf3
__gtsf2
Mess_Integral_Hoch
__divmodsi4
HoehenWert
Delay_ms
_printf_P
/branches/V0.60_GPS_BETA_chris2798_hallo2/eeprom.c
--- fc.c (nonexistent)
+++ fc.c (revision 21)
@@ -0,0 +1,828 @@
+/*#######################################################################################
+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"
+
+unsigned char h,m,s;
+volatile unsigned char Timeout = 0;
+volatile int MesswertNick,MesswertRoll,MesswertGier;
+volatile int AdNeutralNick = 0,AdNeutralRoll = 0,AdNeutralGier = 0;
+volatile int Mittelwert_AccNick, Mittelwert_AccRoll,Mittelwert_AccHoch, NeutralAccX=0, NeutralAccY=0;
+volatile float NeutralAccZ = 0;
+unsigned char CosinusNickWinkel = 0, CosinusRollWinkel = 0;
+volatile long IntegralNick = 0,IntegralNick2 = 0;
+volatile long IntegralRoll = 0,IntegralRoll2 = 0;
+volatile long Integral_Gier = 0;
+volatile long Mess_IntegralNick = 0,Mess_IntegralNick2 = 0;
+volatile long Mess_IntegralRoll = 0,Mess_IntegralRoll2 = 0;
+volatile long Mess_Integral_Gier = 0,Mess_Integral_Gier2 = 0;
+volatile long Mess_Integral_Hoch = 0;
+volatile int KompassValue = 0;
+volatile int KompassStartwert = 0;
+volatile int KompassRichtung = 0;
+unsigned char MAX_GAS,MIN_GAS;
+unsigned char Notlandung = 0;
+unsigned char HoehenReglerAktiv = 0;
+
+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;
+char MotorenEin = 0;
+int HoehenWert = 0;
+int SollHoehe = 0;
+
+float Kp = FAKTOR_P;
+float Ki = FAKTOR_I;
+
+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 = 50; // 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_ServoNickControl = 100;
+struct mk_param_struct EE_Parameter;
+
+void Piep(unsigned char Anzahl)
+{
+ while(Anzahl--)
+ {
+ if(MotorenEin) return; //auf keinen Fall im Flug!
+ beeptime = 100;
+ Delay_ms(250);
+ }
+}
+
+//############################################################################
+// Nullwerte ermitteln
+void SetNeutral(void)
+//############################################################################
+{
+ unsigned int timer;
+ NeutralAccX = 0;
+ NeutralAccY = 0;
+ NeutralAccZ = 0;
+ AdNeutralNick = 0;
+ AdNeutralRoll = 0;
+ AdNeutralGier = 0;
+ CalibrierMittelwert();
+ timer = SetDelay(5);
+ while (!CheckDelay(timer));
+ CalibrierMittelwert();
+ if((EE_Parameter.GlobalConfig & CFG_HOEHENREGELUNG)) // Höhenregelung aktiviert?
+ {
+ if((MessLuftdruck > 950) || (MessLuftdruck < 750)) SucheLuftruckOffset();
+ }
+ AdNeutralNick= abs(MesswertNick);
+ AdNeutralRoll= abs(MesswertRoll);
+ AdNeutralGier= abs(MesswertGier);
+ NeutralAccY = abs(Mittelwert_AccRoll) / ACC_AMPLIFY;
+ NeutralAccX = abs(Mittelwert_AccNick) / ACC_AMPLIFY;
+ NeutralAccZ = Aktuell_az;
+
+ 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;
+ beeptime = 50;
+}
+
+//############################################################################
+// Bildet den Mittelwert aus den Messwerten
+void Mittelwert(void)
+//############################################################################
+{
+ // ADC auschalten, damit die Werte sich nicht während der Berechnung ändern
+ ANALOG_OFF;
+ if(MessanzahlNick) (MesswertNick = AccumulateNick / MessanzahlNick);
+ if(MessanzahlRoll) (MesswertRoll = AccumulateRoll / MessanzahlRoll);
+ if(MessanzahlGier) (MesswertGier = AccumulateGier / MessanzahlGier);
+ if(messanzahl_AccNick) Mittelwert_AccNick = ((long)Mittelwert_AccNick * 7 + ((ACC_AMPLIFY * (long)accumulate_AccNick) / messanzahl_AccNick)) / 8L;
+ if(messanzahl_AccRoll) Mittelwert_AccRoll = ((long)Mittelwert_AccRoll * 7 + ((ACC_AMPLIFY * (long)accumulate_AccRoll) / messanzahl_AccRoll)) / 8L;
+ if(messanzahl_AccHoch) Mittelwert_AccHoch = ((long)Mittelwert_AccHoch * 7 + ((long)accumulate_AccHoch) / messanzahl_AccHoch) / 8L;
+ AccumulateNick = 0; MessanzahlNick = 0;
+ AccumulateRoll = 0; MessanzahlRoll = 0;
+ AccumulateGier = 0; MessanzahlGier = 0;
+ accumulate_AccRoll = 0;messanzahl_AccRoll = 0;
+ accumulate_AccNick = 0;messanzahl_AccNick = 0;
+ accumulate_AccHoch = 0;messanzahl_AccHoch = 0;
+ Integral_Gier = Mess_Integral_Gier;
+// Integral_Gier2 = Mess_Integral_Gier2;
+ IntegralNick = Mess_IntegralNick;
+ IntegralRoll = Mess_IntegralRoll;
+ IntegralNick2 = Mess_IntegralNick2;
+ IntegralRoll2 = Mess_IntegralRoll2;
+ // ADC einschalten
+ ANALOG_ON;
+
+//------------------------------------------------------------------------------
+ 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;
+ if(MessanzahlNick) (MesswertNick = AccumulateNick / MessanzahlNick);
+ if(MessanzahlRoll) (MesswertRoll = AccumulateRoll / MessanzahlRoll);
+ if(MessanzahlGier) (MesswertGier = AccumulateGier / MessanzahlGier);
+ if(messanzahl_AccNick) Mittelwert_AccNick = ((ACC_AMPLIFY * (long)accumulate_AccNick) / messanzahl_AccNick);
+ if(messanzahl_AccRoll) Mittelwert_AccRoll = (ACC_AMPLIFY * (long)accumulate_AccRoll) / messanzahl_AccRoll;
+ if(messanzahl_AccHoch) Mittelwert_AccHoch = ((long)accumulate_AccHoch) / messanzahl_AccHoch;
+ AccumulateNick = 0; MessanzahlNick = 0;
+ AccumulateRoll = 0; MessanzahlRoll = 0;
+ AccumulateGier = 0; MessanzahlGier = 0;
+ accumulate_AccRoll = 0;messanzahl_AccRoll = 0;
+ accumulate_AccNick = 0;messanzahl_AccNick = 0;
+ accumulate_AccHoch = 0;messanzahl_AccHoch = 0;
+ // 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;
+}
+
+//############################################################################
+// 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();
+}
+
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// + 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 = 0;//CFG_HOEHENREGELUNG | /*CFG_HOEHEN_SCHALTER |*/ CFG_KOMPASS_AKTIV | CFG_KOMPASS_FIX;//0x01;
+ EE_Parameter.Hoehe_MinGas = 30;
+ EE_Parameter.MaxHoehe = 251; // Wert : 0-32 251 -> Poti1
+ EE_Parameter.Hoehe_P = 10; // Wert : 0-32
+ EE_Parameter.Luftdruck_D = 70; // Wert : 0-250
+ EE_Parameter.Hoehe_ACC_Wirkung = 30; // Wert : 0-250
+ EE_Parameter.Hoehe_Verstaerkung = 2; // 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 = 16; // Wert : 1-20
+ EE_Parameter.Gas_Min = 15; // Wert : 0-32
+ EE_Parameter.Gas_Max = 250; // Wert : 33-250
+ EE_Parameter.GyroAccFaktor = 26; // Wert : 1-64
+ EE_Parameter.KompassWirkung = 128; // Wert : 0-250
+ EE_Parameter.Gyro_P = 120; //80 // Wert : 0-250
+ EE_Parameter.Gyro_I = 150; // Wert : 0-250
+ EE_Parameter.UnterspannungsWarnung = 90; // 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 = 5;
+ EE_Parameter.UserParam1 = 0; //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.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;
+ memcpy(EE_Parameter.Name, "Normal\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.GlobalConfig = 0;//CFG_HOEHENREGELUNG | /*CFG_HOEHEN_SCHALTER |*/ CFG_KOMPASS_AKTIV;//0x01;
+ EE_Parameter.Hoehe_MinGas = 30;
+ EE_Parameter.MaxHoehe = 251; // Wert : 0-32 251 -> Poti1
+ EE_Parameter.Hoehe_P = 10; // Wert : 0-32
+ EE_Parameter.Luftdruck_D = 50; // Wert : 0-250
+ EE_Parameter.Hoehe_ACC_Wirkung = 50; // Wert : 0-250
+ EE_Parameter.Hoehe_Verstaerkung = 2; // Wert : 0-50
+ EE_Parameter.Stick_P = 4; //2 // Wert : 1-6
+ EE_Parameter.Stick_D = 0; //8 // Wert : 0-64
+ EE_Parameter.Gier_P = 16; // Wert : 1-20
+ EE_Parameter.Gas_Min = 15; // Wert : 0-32
+ EE_Parameter.Gas_Max = 250; // Wert : 33-250
+ EE_Parameter.GyroAccFaktor = 26; // Wert : 1-64
+ EE_Parameter.KompassWirkung = 128; // Wert : 0-250
+ EE_Parameter.Gyro_P = 175; //80 // Wert : 0-250
+ EE_Parameter.Gyro_I = 175; // Wert : 0-250
+ EE_Parameter.UnterspannungsWarnung = 90; // 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 = 5;
+ EE_Parameter.UserParam1 = 0; //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.UserParam3 = 0; //zur freien Verwendung
+ EE_Parameter.UserParam4 = 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;
+ memcpy(EE_Parameter.Name, "Kamera\0", 12);
+}
+
+
+//############################################################################
+// 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);
+
+ unsigned char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo
+ unsigned char ServoNickCompInvert; // Wert : 0-250 // Richtung Einfluss Gyro/Servo
+ unsigned char ServoNickMin; // Wert : 0-250 // Anschlag
+ unsigned char ServoNickMax; // Wert : 0-250 // Anschlag
+
+
+ CHK_POTI(Parameter_ServoNickControl,EE_Parameter.ServoNickControl,0,255);
+ CHK_POTI(Parameter_ServoNickControl,EE_Parameter.ServoNickControl,0,255);
+ CHK_POTI(Parameter_ServoNickControl,EE_Parameter.ServoNickControl,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 int IntegralFehlerNick = 0;
+ static int 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 = 0;
+ Mittelwert();
+
+ GRN_ON;
+
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// Gaswert ermitteln
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ GasMischanteil = PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] + 120;
+ if(GasMischanteil < 0) GasMischanteil = 0;
+
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// Emfang schlecht
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ if(SenderOkay < 100)
+ {
+ if(!PcZugriff) beeptime = 500;
+ 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;
+/* Poti1 = 65;
+ Poti2 = 48;
+ Poti3 = 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((GasMischanteil > 200) && MotorenEin == 0)
+ {
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// auf Nullwerte kalibrieren
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ if(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] > 75) // Neutralwerte
+ {
+ unsigned char setting;
+ if(++delay_neutral > 200) // nicht sofort
+ {
+ GRN_OFF;
+ SetNeutral();
+ 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)
+ {
+ 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
+ }
+ ReadParameterSet(GetActiveParamSetNumber(), (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE);
+ Piep(GetActiveParamSetNumber());
+ if((EE_Parameter.GlobalConfig & CFG_HOEHENREGELUNG)) // Höhenregelung aktiviert?
+ {
+ if((MessLuftdruck > 950) || (MessLuftdruck < 750)) SucheLuftruckOffset();
+ }
+ }
+ }
+ else delay_neutral = 0;
+ }
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// Gas ist unten
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ if(GasMischanteil < 35)
+ {
+ // 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)
+ {
+ ParameterZuordnung();
+ StickNick = PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] * EE_Parameter.Stick_P;
+ StickNick += PPM_diff[EE_Parameter.Kanalbelegung[K_NICK]] * EE_Parameter.Stick_D;
+ StickRoll = PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] * EE_Parameter.Stick_P;
+ StickRoll += PPM_diff[EE_Parameter.Kanalbelegung[K_ROLL]] * EE_Parameter.Stick_D;
+ StickGier = -PPM_in[EE_Parameter.Kanalbelegung[K_GIER]];
+
+ GyroFaktor = ((float)Parameter_Gyro_P + 10.0) / 256.0;
+ IntegralFaktor = ((float) Parameter_Gyro_I) / 44000;
+
+ if(EE_Parameter.GlobalConfig & CFG_HEADING_HOLD) IntegralFaktor = 0;
+ if(GyroFaktor < 0) GyroFaktor = 0;
+ if(IntegralFaktor < 0) IntegralFaktor = 0;
+ }
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// Bei Empfangsausfall im Flug
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ if(Notlandung)
+ {
+ StickGier = 0;
+ StickNick = 0;
+ StickRoll = 0;
+ GyroFaktor = 0.1;
+ IntegralFaktor = 0.005;
+ }
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// Gyro-Drift kompensieren
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+#define DRIFT_FAKTOR 3
+ if(ZaehlMessungen >= 1000 / DRIFT_FAKTOR)
+ {
+ IntegralFehlerNick = IntegralNick2 - IntegralNick;
+ IntegralFehlerRoll = IntegralRoll2 - IntegralRoll;
+ ZaehlMessungen = 0;
+ if(IntegralFehlerNick > 500/DRIFT_FAKTOR) AdNeutralNick++;
+ if(IntegralFehlerNick < -500/DRIFT_FAKTOR) AdNeutralNick--;
+ if(IntegralFehlerRoll > 500/DRIFT_FAKTOR) AdNeutralRoll++;
+ if(IntegralFehlerRoll < -500/DRIFT_FAKTOR) AdNeutralRoll--;
+ if(Mess_Integral_Gier2 > 500/DRIFT_FAKTOR) AdNeutralGier--;
+ if(Mess_Integral_Gier2 <-500/DRIFT_FAKTOR) AdNeutralGier++;
+ ANALOG_OFF; // ADC ausschalten, damit die Werte sich nicht während der Berechnung ändern
+ Mess_IntegralNick2 = IntegralNick;
+ Mess_IntegralRoll2 = IntegralRoll;
+ Mess_Integral_Gier2 = Integral_Gier;
+ ANALOG_ON; // ADC einschalten
+ }
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// Integrale auf ACC-Signal abgleichen
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ tmp_long = (long)(IntegralNick / EE_Parameter.GyroAccFaktor - (long)Mittelwert_AccNick) / 16;
+ tmp_long2 = (long)(IntegralRoll / EE_Parameter.GyroAccFaktor - (long)Mittelwert_AccRoll) / 16;
+#define AUSGLEICH 500
+ 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;
+ ANALOG_OFF; // ADC ausschalten, damit die Werte sich nicht während der Berechnung ändern
+ Mess_IntegralNick -= tmp_long;
+ Mess_IntegralRoll -= tmp_long2;
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// Gieren
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ sollGier = StickGier;
+ if(abs(StickGier) > 35)
+ {
+ if(!(EE_Parameter.GlobalConfig & CFG_KOMPASS_FIX)) NeueKompassRichtungMerken = 1;
+ }
+ tmp_int = EE_Parameter.Gier_P * (sollGier * abs(sollGier)) / 256; // expo
+ Mess_Integral_Gier -= tmp_int;
+ if(Mess_Integral_Gier > 30000) Mess_Integral_Gier = 30000; // begrenzen
+ if(Mess_Integral_Gier <-30000) Mess_Integral_Gier =-30000;
+
+ ANALOG_ON; // ADC einschalten
+
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// Kompass
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ //KompassValue = 12;
+ if(KompassValue && (EE_Parameter.GlobalConfig & CFG_KOMPASS_AKTIV))
+ {
+ int w,v;
+ static int SignalSchlecht = 0;
+ 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 < 25 && NeueKompassRichtungMerken && !SignalSchlecht)
+ {
+ KompassStartwert = KompassValue;
+ NeueKompassRichtungMerken = 0;
+ }
+ w = (w * Parameter_KompassWirkung) / 64; // auf die Wirkung normieren
+ w = Parameter_KompassWirkung - w; // Wirkung ggf drosseln
+ if(w > 0)
+ {
+ ANALOG_OFF; // ADC ausschalten, damit die Werte sich nicht während der Berechnung ändern
+ if(!SignalSchlecht) Mess_Integral_Gier += (KompassRichtung * w) / 32; // nach Kompass ausrichten
+ ANALOG_ON; // ADC einschalten
+ if(SignalSchlecht) SignalSchlecht--;
+ }
+ else SignalSchlecht = 500; // so lange das Signal taub stellen --> ca. 1 sek
+ }
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// GPS
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+if(EE_Parameter.GlobalConfig & CFG_GPS_AKTIV)
+{
+ gps_p = Parameter_UserParam1;
+ gps_d = Parameter_UserParam2;
+ skal = Parameter_UserParam3;
+ gps_main();
+}
+else
+{
+ GPS_Nick = 0;
+ GPS_Roll = 0;
+}
+
+
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// Debugwerte zuordnen
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+DebugOut.Sekunden++;
+ if(!TimerWerteausgabe--)
+ {
+ TimerWerteausgabe = 49;
+// DebugOut.Analog[0] = MesswertNick;
+// DebugOut.Analog[1] = MesswertRoll;
+// DebugOut.Analog[2] = MesswertGier;
+ 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[7] = GasMischanteil;
+ DebugOut.Analog[8] = KompassValue;
+// 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
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ MesswertNick = IntegralNick * IntegralFaktor + MesswertNick * GyroFaktor;
+ MesswertRoll = IntegralRoll * IntegralFaktor + MesswertRoll * GyroFaktor;
+ MesswertGier = MesswertGier * (GyroFaktor/2) + Integral_Gier * IntegralFaktor;
+
+ // 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 = Parameter_MaxHoehe * 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;
+ }
+ }
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// + Mischer und PI-Regler
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// Gier-Anteil
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ GierMischanteil = MesswertGier - sollGier; // Regler für Gier
+ if(GierMischanteil > 100) GierMischanteil = 100;
+ if(GierMischanteil < -100) GierMischanteil = -100;
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// Nick-Achse
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ DiffNick = Kp * (MesswertNick - (StickNick - GPS_Nick)); // Differenz bestimmen
+ SummeNick += DiffNick; // I-Anteil
+ if(SummeNick > 0) SummeNick-= (abs(SummeNick)/256 + 1); else SummeNick += abs(SummeNick)/256 + 1;
+ if(SummeNick > 16000) SummeNick = 16000;
+ if(SummeNick < -16000) SummeNick = -16000;
+ pd_ergebnis = DiffNick + Ki * SummeNick; // PI-Regler für Nick
+ // Motor Vorn
+ motorwert = GasMischanteil + pd_ergebnis + GierMischanteil; // Mischer
+ if ((motorwert < 0) | (GasMischanteil < 10)) 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) | (GasMischanteil < 10)) motorwert = 0;
+ else if(motorwert > MAX_GAS) motorwert = MAX_GAS;
+ if (motorwert < MIN_GAS) motorwert = MIN_GAS;
+ Motor_Hinten = motorwert;
+
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// Roll-Achse
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ DiffRoll = Kp * (MesswertRoll - (StickRoll - GPS_Roll)); // Differenz bestimmen
+ SummeRoll += DiffRoll; // I-Anteil
+ if(SummeRoll > 0) SummeRoll-= (abs(SummeRoll)/256 + 1); else SummeRoll += abs(SummeRoll)/256 + 1;
+ if(SummeRoll > 16000) SummeRoll = 16000;
+ if(SummeRoll < -16000) SummeRoll = -16000;
+ pd_ergebnis = DiffRoll + Ki * SummeRoll; // PI-Regler für Roll
+ // Motor Links
+ motorwert = GasMischanteil + pd_ergebnis - GierMischanteil;
+ if ((motorwert < 0) | (GasMischanteil < 10)) 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) | (GasMischanteil < 10)) motorwert = 0;
+ else if(motorwert > MAX_GAS) motorwert = MAX_GAS;
+ if (motorwert < MIN_GAS) motorwert = MIN_GAS;
+ Motor_Rechts = motorwert;
+ // +++++++++++++++++++++++++++++++++++++++++++++++
+
+}
+
/branches/V0.60_GPS_BETA_chris2798_hallo2/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
/branches/V0.60_GPS_BETA_chris2798_hallo2/fc.h
0,0 → 1,106
/*#######################################################################################
Flight Control
#######################################################################################*/
 
#ifndef _FC_H
#define _FC_H
 
extern volatile unsigned char Timeout;
extern unsigned char Sekunde,Minute;
extern volatile long IntegralNick,IntegralNick2;
extern volatile long IntegralRoll,IntegralRoll2;
extern volatile long Mess_IntegralNick,Mess_IntegralNick2;
extern volatile long Mess_IntegralRoll,Mess_IntegralRoll2;
extern volatile long Mess_Integral_Hoch;
extern volatile long Integral_Gier,Mess_Integral_Gier,Mess_Integral_Gier2;
extern volatile int KompassValue;
extern volatile int KompassStartwert;
extern volatile int KompassRichtung;
extern int HoehenWert;
extern int SollHoehe;
extern volatile int MesswertNick,MesswertRoll,MesswertGier;
extern volatile int AdNeutralNick,AdNeutralRoll,AdNeutralGier, Mittelwert_AccNick, Mittelwert_AccRoll;
extern volatile int NeutralAccX, NeutralAccY,Mittelwert_AccHoch;
extern volatile float NeutralAccZ;
 
 
void MotorRegler(void);
void SendMotorData(void);
void CalibrierMittelwert(void);
void Mittelwert(void);
void SetNeutral(void);
 
unsigned char h,m,s;
volatile unsigned char Timeout ;
unsigned char CosinusNickWinkel, CosinusRollWinkel;
volatile long IntegralNick,IntegralNick2;
volatile long IntegralRoll,IntegralRoll2;
volatile long Integral_Gier;
volatile long Mess_IntegralNick,Mess_IntegralNick2;
volatile long Mess_IntegralRoll,Mess_IntegralRoll2;
volatile long Mess_Integral_Gier;
volatile int DiffNick,DiffRoll;
extern int Poti1, Poti2, Poti3, Poti4;
volatile unsigned char Motor_Vorne,Motor_Hinten,Motor_Rechts,Motor_Links, Count;
unsigned char MotorWert[5];
volatile unsigned char SenderOkay;
int StickNick,StickRoll,StickGier;
char MotorenEin;
extern void DefaultKonstanten(void);
 
#define STRUCT_PARAM_LAENGE 58
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; // Wert : 0-250 // Richtung Einfluss Gyro/Servo
unsigned char ServoNickCompInvert; // Wert : 0-250 // Richtung Einfluss Gyro/Servo
unsigned char Reserved[7];
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;
 
#endif //_FC_H
 
/branches/V0.60_GPS_BETA_chris2798_hallo2/fc.lst
0,0 → 1,4489
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=0 */
15 0000 AF92 push r10
16 0002 BF92 push r11
17 0004 CF92 push r12
18 0006 DF92 push r13
19 0008 EF92 push r14
20 000a FF92 push r15
21 000c 0F93 push r16
22 000e 1F93 push r17
23 /* prologue end (size=8) */
24 0010 1092 7A00 sts 122,__zero_reg__
25 0014 8091 0000 lds r24,MessanzahlNick
26 0018 8823 tst r24
27 001a 01F0 breq .L2
28 001c 8091 0000 lds r24,AccumulateNick
29 0020 9091 0000 lds r25,(AccumulateNick)+1
30 0024 6091 0000 lds r22,MessanzahlNick
31 0028 7727 clr r23
32 002a 0E94 0000 call __divmodhi4
33 002e 7093 0000 sts (MesswertNick)+1,r23
34 0032 6093 0000 sts MesswertNick,r22
35 .L2:
36 0036 8091 0000 lds r24,MessanzahlRoll
37 003a 8823 tst r24
38 003c 01F0 breq .L4
39 003e 8091 0000 lds r24,AccumulateRoll
40 0042 9091 0000 lds r25,(AccumulateRoll)+1
41 0046 6091 0000 lds r22,MessanzahlRoll
42 004a 7727 clr r23
43 004c 0E94 0000 call __divmodhi4
44 0050 7093 0000 sts (MesswertRoll)+1,r23
45 0054 6093 0000 sts MesswertRoll,r22
46 .L4:
47 0058 8091 0000 lds r24,MessanzahlGier
48 005c 8823 tst r24
49 005e 01F0 breq .L6
50 0060 8091 0000 lds r24,AccumulateGier
51 0064 9091 0000 lds r25,(AccumulateGier)+1
52 0068 6091 0000 lds r22,MessanzahlGier
53 006c 7727 clr r23
54 006e 0E94 0000 call __divmodhi4
55 0072 7093 0000 sts (MesswertGier)+1,r23
56 0076 6093 0000 sts MesswertGier,r22
57 .L6:
58 007a 8091 0000 lds r24,messanzahl_AccNick
59 007e 8823 tst r24
60 0080 01F0 breq .L8
61 0082 E090 0000 lds r14,Mittelwert_AccNick
62 0086 F090 0000 lds r15,(Mittelwert_AccNick)+1
63 008a 6091 0000 lds r22,accumulate_AccNick
64 008e 7091 0000 lds r23,(accumulate_AccNick)+1
65 0092 2091 0000 lds r18,messanzahl_AccNick
66 0096 0027 clr r16
67 0098 F7FC sbrc r15,7
68 009a 0095 com r16
69 009c 102F mov r17,r16
70 009e 5701 movw r10,r14
71 00a0 6801 movw r12,r16
72 00a2 43E0 ldi r20,3
73 00a4 AA0C 1: lsl r10
74 00a6 BB1C rol r11
75 00a8 CC1C rol r12
76 00aa DD1C rol r13
77 00ac 4A95 dec r20
78 00ae 01F4 brne 1b
79 00b0 AE18 sub r10,r14
80 00b2 BF08 sbc r11,r15
81 00b4 C00A sbc r12,r16
82 00b6 D10A sbc r13,r17
83 00b8 8827 clr r24
84 00ba 77FD sbrc r23,7
85 00bc 8095 com r24
86 00be 982F mov r25,r24
87 00c0 34E0 ldi r19,4
88 00c2 660F 1: lsl r22
89 00c4 771F rol r23
90 00c6 881F rol r24
91 00c8 991F rol r25
92 00ca 3A95 dec r19
93 00cc 01F4 brne 1b
94 00ce 3327 clr r19
95 00d0 4427 clr r20
96 00d2 5527 clr r21
97 00d4 0E94 0000 call __divmodsi4
98 00d8 A20E add r10,r18
99 00da B31E adc r11,r19
100 00dc C41E adc r12,r20
101 00de D51E adc r13,r21
102 00e0 C601 movw r24,r12
103 00e2 B501 movw r22,r10
104 00e4 28E0 ldi r18,lo8(8)
105 00e6 30E0 ldi r19,hi8(8)
106 00e8 40E0 ldi r20,hlo8(8)
107 00ea 50E0 ldi r21,hhi8(8)
108 00ec 0E94 0000 call __divmodsi4
109 00f0 3093 0000 sts (Mittelwert_AccNick)+1,r19
110 00f4 2093 0000 sts Mittelwert_AccNick,r18
111 .L8:
112 00f8 8091 0000 lds r24,messanzahl_AccRoll
113 00fc 8823 tst r24
114 00fe 01F0 breq .L10
115 0100 E090 0000 lds r14,Mittelwert_AccRoll
116 0104 F090 0000 lds r15,(Mittelwert_AccRoll)+1
117 0108 6091 0000 lds r22,accumulate_AccRoll
118 010c 7091 0000 lds r23,(accumulate_AccRoll)+1
119 0110 2091 0000 lds r18,messanzahl_AccRoll
120 0114 0027 clr r16
121 0116 F7FC sbrc r15,7
122 0118 0095 com r16
123 011a 102F mov r17,r16
124 011c 5701 movw r10,r14
125 011e 6801 movw r12,r16
126 0120 83E0 ldi r24,3
127 0122 AA0C 1: lsl r10
128 0124 BB1C rol r11
129 0126 CC1C rol r12
130 0128 DD1C rol r13
131 012a 8A95 dec r24
132 012c 01F4 brne 1b
133 012e AE18 sub r10,r14
134 0130 BF08 sbc r11,r15
135 0132 C00A sbc r12,r16
136 0134 D10A sbc r13,r17
137 0136 8827 clr r24
138 0138 77FD sbrc r23,7
139 013a 8095 com r24
140 013c 982F mov r25,r24
141 013e B4E0 ldi r27,4
142 0140 660F 1: lsl r22
143 0142 771F rol r23
144 0144 881F rol r24
145 0146 991F rol r25
146 0148 BA95 dec r27
147 014a 01F4 brne 1b
148 014c 3327 clr r19
149 014e 4427 clr r20
150 0150 5527 clr r21
151 0152 0E94 0000 call __divmodsi4
152 0156 A20E add r10,r18
153 0158 B31E adc r11,r19
154 015a C41E adc r12,r20
155 015c D51E adc r13,r21
156 015e C601 movw r24,r12
157 0160 B501 movw r22,r10
158 0162 28E0 ldi r18,lo8(8)
159 0164 30E0 ldi r19,hi8(8)
160 0166 40E0 ldi r20,hlo8(8)
161 0168 50E0 ldi r21,hhi8(8)
162 016a 0E94 0000 call __divmodsi4
163 016e 3093 0000 sts (Mittelwert_AccRoll)+1,r19
164 0172 2093 0000 sts Mittelwert_AccRoll,r18
165 .L10:
166 0176 8091 0000 lds r24,messanzahl_AccHoch
167 017a 8823 tst r24
168 017c 01F0 breq .L12
169 017e E090 0000 lds r14,Mittelwert_AccHoch
170 0182 F090 0000 lds r15,(Mittelwert_AccHoch)+1
171 0186 6091 0000 lds r22,accumulate_AccHoch
172 018a 7091 0000 lds r23,(accumulate_AccHoch)+1
173 018e 2091 0000 lds r18,messanzahl_AccHoch
174 0192 0027 clr r16
175 0194 F7FC sbrc r15,7
176 0196 0095 com r16
177 0198 102F mov r17,r16
178 019a 5701 movw r10,r14
179 019c 6801 movw r12,r16
180 019e A3E0 ldi r26,3
181 01a0 AA0C 1: lsl r10
182 01a2 BB1C rol r11
183 01a4 CC1C rol r12
184 01a6 DD1C rol r13
185 01a8 AA95 dec r26
186 01aa 01F4 brne 1b
187 01ac AE18 sub r10,r14
188 01ae BF08 sbc r11,r15
189 01b0 C00A sbc r12,r16
190 01b2 D10A sbc r13,r17
191 01b4 8827 clr r24
192 01b6 77FD sbrc r23,7
193 01b8 8095 com r24
194 01ba 982F mov r25,r24
195 01bc 3327 clr r19
196 01be 4427 clr r20
197 01c0 5527 clr r21
198 01c2 0E94 0000 call __divmodsi4
199 01c6 A20E add r10,r18
200 01c8 B31E adc r11,r19
201 01ca C41E adc r12,r20
202 01cc D51E adc r13,r21
203 01ce C601 movw r24,r12
204 01d0 B501 movw r22,r10
205 01d2 28E0 ldi r18,lo8(8)
206 01d4 30E0 ldi r19,hi8(8)
207 01d6 40E0 ldi r20,hlo8(8)
208 01d8 50E0 ldi r21,hhi8(8)
209 01da 0E94 0000 call __divmodsi4
210 01de 3093 0000 sts (Mittelwert_AccHoch)+1,r19
211 01e2 2093 0000 sts Mittelwert_AccHoch,r18
212 .L12:
213 01e6 1092 0000 sts (AccumulateNick)+1,__zero_reg__
214 01ea 1092 0000 sts AccumulateNick,__zero_reg__
215 01ee 1092 0000 sts MessanzahlNick,__zero_reg__
216 01f2 1092 0000 sts (AccumulateRoll)+1,__zero_reg__
217 01f6 1092 0000 sts AccumulateRoll,__zero_reg__
218 01fa 1092 0000 sts MessanzahlRoll,__zero_reg__
219 01fe 1092 0000 sts (AccumulateGier)+1,__zero_reg__
220 0202 1092 0000 sts AccumulateGier,__zero_reg__
221 0206 1092 0000 sts MessanzahlGier,__zero_reg__
222 020a 1092 0000 sts (accumulate_AccRoll)+1,__zero_reg__
223 020e 1092 0000 sts accumulate_AccRoll,__zero_reg__
224 0212 1092 0000 sts messanzahl_AccRoll,__zero_reg__
225 0216 1092 0000 sts (accumulate_AccNick)+1,__zero_reg__
226 021a 1092 0000 sts accumulate_AccNick,__zero_reg__
227 021e 1092 0000 sts messanzahl_AccNick,__zero_reg__
228 0222 1092 0000 sts (accumulate_AccHoch)+1,__zero_reg__
229 0226 1092 0000 sts accumulate_AccHoch,__zero_reg__
230 022a 1092 0000 sts messanzahl_AccHoch,__zero_reg__
231 022e 8091 0000 lds r24,Mess_Integral_Gier
232 0232 9091 0000 lds r25,(Mess_Integral_Gier)+1
233 0236 A091 0000 lds r26,(Mess_Integral_Gier)+2
234 023a B091 0000 lds r27,(Mess_Integral_Gier)+3
235 023e 8093 0000 sts Integral_Gier,r24
236 0242 9093 0000 sts (Integral_Gier)+1,r25
237 0246 A093 0000 sts (Integral_Gier)+2,r26
238 024a B093 0000 sts (Integral_Gier)+3,r27
239 024e 8091 0000 lds r24,Mess_IntegralNick
240 0252 9091 0000 lds r25,(Mess_IntegralNick)+1
241 0256 A091 0000 lds r26,(Mess_IntegralNick)+2
242 025a B091 0000 lds r27,(Mess_IntegralNick)+3
243 025e 8093 0000 sts IntegralNick,r24
244 0262 9093 0000 sts (IntegralNick)+1,r25
245 0266 A093 0000 sts (IntegralNick)+2,r26
246 026a B093 0000 sts (IntegralNick)+3,r27
247 026e 8091 0000 lds r24,Mess_IntegralRoll
248 0272 9091 0000 lds r25,(Mess_IntegralRoll)+1
249 0276 A091 0000 lds r26,(Mess_IntegralRoll)+2
250 027a B091 0000 lds r27,(Mess_IntegralRoll)+3
251 027e 8093 0000 sts IntegralRoll,r24
252 0282 9093 0000 sts (IntegralRoll)+1,r25
253 0286 A093 0000 sts (IntegralRoll)+2,r26
254 028a B093 0000 sts (IntegralRoll)+3,r27
255 028e 8091 0000 lds r24,Mess_IntegralNick2
256 0292 9091 0000 lds r25,(Mess_IntegralNick2)+1
257 0296 A091 0000 lds r26,(Mess_IntegralNick2)+2
258 029a B091 0000 lds r27,(Mess_IntegralNick2)+3
259 029e 8093 0000 sts IntegralNick2,r24
260 02a2 9093 0000 sts (IntegralNick2)+1,r25
261 02a6 A093 0000 sts (IntegralNick2)+2,r26
262 02aa B093 0000 sts (IntegralNick2)+3,r27
263 02ae 8091 0000 lds r24,Mess_IntegralRoll2
264 02b2 9091 0000 lds r25,(Mess_IntegralRoll2)+1
265 02b6 A091 0000 lds r26,(Mess_IntegralRoll2)+2
266 02ba B091 0000 lds r27,(Mess_IntegralRoll2)+3
267 02be 8093 0000 sts IntegralRoll2,r24
268 02c2 9093 0000 sts (IntegralRoll2)+1,r25
269 02c6 A093 0000 sts (IntegralRoll2)+2,r26
270 02ca B093 0000 sts (IntegralRoll2)+3,r27
271 02ce 8FEE ldi r24,lo8(-17)
272 02d0 8093 7A00 sts 122,r24
273 02d4 8091 0000 lds r24,MesswertNick
274 02d8 9091 0000 lds r25,(MesswertNick)+1
275 02dc 893C cpi r24,201
276 02de 9105 cpc r25,__zero_reg__
277 02e0 04F0 brlt .L14
278 02e2 2091 0000 lds r18,MesswertNick
279 02e6 3091 0000 lds r19,(MesswertNick)+1
280 02ea 8091 0000 lds r24,MesswertNick
281 02ee 9091 0000 lds r25,(MesswertNick)+1
282 02f2 880F lsl r24
283 02f4 991F rol r25
284 02f6 880F lsl r24
285 02f8 991F rol r25
286 02fa 2052 subi r18,lo8(-(-800))
287 02fc 3340 sbci r19,hi8(-(-800))
288 02fe 00C0 rjmp .L59
289 .L14:
290 0300 8091 0000 lds r24,MesswertNick
291 0304 9091 0000 lds r25,(MesswertNick)+1
292 0308 8853 subi r24,lo8(-200)
293 030a 9F4F sbci r25,hi8(-200)
294 030c 04F4 brge .L16
295 030e 2091 0000 lds r18,MesswertNick
296 0312 3091 0000 lds r19,(MesswertNick)+1
297 0316 8091 0000 lds r24,MesswertNick
298 031a 9091 0000 lds r25,(MesswertNick)+1
299 031e 880F lsl r24
300 0320 991F rol r25
301 0322 880F lsl r24
302 0324 991F rol r25
303 0326 205E subi r18,lo8(-(800))
304 0328 3C4F sbci r19,hi8(-(800))
305 .L59:
306 032a 820F add r24,r18
307 032c 931F adc r25,r19
308 032e 9093 0000 sts (MesswertNick)+1,r25
309 0332 8093 0000 sts MesswertNick,r24
310 .L16:
311 0336 8091 0000 lds r24,MesswertRoll
312 033a 9091 0000 lds r25,(MesswertRoll)+1
313 033e 893C cpi r24,201
314 0340 9105 cpc r25,__zero_reg__
315 0342 04F0 brlt .L18
316 0344 2091 0000 lds r18,MesswertRoll
317 0348 3091 0000 lds r19,(MesswertRoll)+1
318 034c 8091 0000 lds r24,MesswertRoll
319 0350 9091 0000 lds r25,(MesswertRoll)+1
320 0354 880F lsl r24
321 0356 991F rol r25
322 0358 880F lsl r24
323 035a 991F rol r25
324 035c 2052 subi r18,lo8(-(-800))
325 035e 3340 sbci r19,hi8(-(-800))
326 0360 00C0 rjmp .L60
327 .L18:
328 0362 8091 0000 lds r24,MesswertRoll
329 0366 9091 0000 lds r25,(MesswertRoll)+1
330 036a 8853 subi r24,lo8(-200)
331 036c 9F4F sbci r25,hi8(-200)
332 036e 04F4 brge .L20
333 0370 2091 0000 lds r18,MesswertRoll
334 0374 3091 0000 lds r19,(MesswertRoll)+1
335 0378 8091 0000 lds r24,MesswertRoll
336 037c 9091 0000 lds r25,(MesswertRoll)+1
337 0380 880F lsl r24
338 0382 991F rol r25
339 0384 880F lsl r24
340 0386 991F rol r25
341 0388 205E subi r18,lo8(-(800))
342 038a 3C4F sbci r19,hi8(-(800))
343 .L60:
344 038c 820F add r24,r18
345 038e 931F adc r25,r19
346 0390 9093 0000 sts (MesswertRoll)+1,r25
347 0394 8093 0000 sts MesswertRoll,r24
348 .L20:
349 0398 2091 0000 lds r18,Poti1
350 039c 3091 0000 lds r19,(Poti1)+1
351 03a0 8091 0000 lds r24,EE_Parameter+4
352 03a4 E82F mov r30,r24
353 03a6 FF27 clr r31
354 03a8 EE0F lsl r30
355 03aa FF1F rol r31
356 03ac E050 subi r30,lo8(-(PPM_in))
357 03ae F040 sbci r31,hi8(-(PPM_in))
358 03b0 8081 ld r24,Z
359 03b2 9181 ldd r25,Z+1
360 03b4 8259 subi r24,lo8(-(110))
361 03b6 9F4F sbci r25,hi8(-(110))
362 03b8 2817 cp r18,r24
363 03ba 3907 cpc r19,r25
364 03bc 04F4 brge .L22
365 03be 2F5F subi r18,lo8(-(1))
366 03c0 3F4F sbci r19,hi8(-(1))
367 03c2 00C0 rjmp .L61
368 .L22:
369 03c4 8081 ld r24,Z
370 03c6 9181 ldd r25,Z+1
371 03c8 8259 subi r24,lo8(-(110))
372 03ca 9F4F sbci r25,hi8(-(110))
373 03cc 8217 cp r24,r18
374 03ce 9307 cpc r25,r19
375 03d0 04F4 brge .L24
376 03d2 2115 cp r18,__zero_reg__
377 03d4 3105 cpc r19,__zero_reg__
378 03d6 01F0 breq .L24
379 03d8 2150 subi r18,lo8(-(-1))
380 03da 3040 sbci r19,hi8(-(-1))
381 .L61:
382 03dc 3093 0000 sts (Poti1)+1,r19
383 03e0 2093 0000 sts Poti1,r18
384 .L24:
385 03e4 2091 0000 lds r18,Poti2
386 03e8 3091 0000 lds r19,(Poti2)+1
387 03ec 8091 0000 lds r24,EE_Parameter+5
388 03f0 E82F mov r30,r24
389 03f2 FF27 clr r31
390 03f4 EE0F lsl r30
391 03f6 FF1F rol r31
392 03f8 E050 subi r30,lo8(-(PPM_in))
393 03fa F040 sbci r31,hi8(-(PPM_in))
394 03fc 8081 ld r24,Z
395 03fe 9181 ldd r25,Z+1
396 0400 8259 subi r24,lo8(-(110))
397 0402 9F4F sbci r25,hi8(-(110))
398 0404 2817 cp r18,r24
399 0406 3907 cpc r19,r25
400 0408 04F4 brge .L27
401 040a 2F5F subi r18,lo8(-(1))
402 040c 3F4F sbci r19,hi8(-(1))
403 040e 00C0 rjmp .L62
404 .L27:
405 0410 8081 ld r24,Z
406 0412 9181 ldd r25,Z+1
407 0414 8259 subi r24,lo8(-(110))
408 0416 9F4F sbci r25,hi8(-(110))
409 0418 8217 cp r24,r18
410 041a 9307 cpc r25,r19
411 041c 04F4 brge .L29
412 041e 2115 cp r18,__zero_reg__
413 0420 3105 cpc r19,__zero_reg__
414 0422 01F0 breq .L29
415 0424 2150 subi r18,lo8(-(-1))
416 0426 3040 sbci r19,hi8(-(-1))
417 .L62:
418 0428 3093 0000 sts (Poti2)+1,r19
419 042c 2093 0000 sts Poti2,r18
420 .L29:
421 0430 2091 0000 lds r18,Poti3
422 0434 3091 0000 lds r19,(Poti3)+1
423 0438 8091 0000 lds r24,EE_Parameter+6
424 043c E82F mov r30,r24
425 043e FF27 clr r31
426 0440 EE0F lsl r30
427 0442 FF1F rol r31
428 0444 E050 subi r30,lo8(-(PPM_in))
429 0446 F040 sbci r31,hi8(-(PPM_in))
430 0448 8081 ld r24,Z
431 044a 9181 ldd r25,Z+1
432 044c 8259 subi r24,lo8(-(110))
433 044e 9F4F sbci r25,hi8(-(110))
434 0450 2817 cp r18,r24
435 0452 3907 cpc r19,r25
436 0454 04F4 brge .L32
437 0456 2F5F subi r18,lo8(-(1))
438 0458 3F4F sbci r19,hi8(-(1))
439 045a 00C0 rjmp .L63
440 .L32:
441 045c 8081 ld r24,Z
442 045e 9181 ldd r25,Z+1
443 0460 8259 subi r24,lo8(-(110))
444 0462 9F4F sbci r25,hi8(-(110))
445 0464 8217 cp r24,r18
446 0466 9307 cpc r25,r19
447 0468 04F4 brge .L34
448 046a 2115 cp r18,__zero_reg__
449 046c 3105 cpc r19,__zero_reg__
450 046e 01F0 breq .L34
451 0470 2150 subi r18,lo8(-(-1))
452 0472 3040 sbci r19,hi8(-(-1))
453 .L63:
454 0474 3093 0000 sts (Poti3)+1,r19
455 0478 2093 0000 sts Poti3,r18
456 .L34:
457 047c 2091 0000 lds r18,Poti4
458 0480 3091 0000 lds r19,(Poti4)+1
459 0484 8091 0000 lds r24,EE_Parameter+7
460 0488 E82F mov r30,r24
461 048a FF27 clr r31
462 048c EE0F lsl r30
463 048e FF1F rol r31
464 0490 E050 subi r30,lo8(-(PPM_in))
465 0492 F040 sbci r31,hi8(-(PPM_in))
466 0494 8081 ld r24,Z
467 0496 9181 ldd r25,Z+1
468 0498 8259 subi r24,lo8(-(110))
469 049a 9F4F sbci r25,hi8(-(110))
470 049c 2817 cp r18,r24
471 049e 3907 cpc r19,r25
472 04a0 04F4 brge .L37
473 04a2 2F5F subi r18,lo8(-(1))
474 04a4 3F4F sbci r19,hi8(-(1))
475 04a6 00C0 rjmp .L64
476 .L37:
477 04a8 8081 ld r24,Z
478 04aa 9181 ldd r25,Z+1
479 04ac 8259 subi r24,lo8(-(110))
480 04ae 9F4F sbci r25,hi8(-(110))
481 04b0 8217 cp r24,r18
482 04b2 9307 cpc r25,r19
483 04b4 04F4 brge .L39
484 04b6 2115 cp r18,__zero_reg__
485 04b8 3105 cpc r19,__zero_reg__
486 04ba 01F0 breq .L39
487 04bc 2150 subi r18,lo8(-(-1))
488 04be 3040 sbci r19,hi8(-(-1))
489 .L64:
490 04c0 3093 0000 sts (Poti4)+1,r19
491 04c4 2093 0000 sts Poti4,r18
492 .L39:
493 04c8 8091 0000 lds r24,Poti1
494 04cc 9091 0000 lds r25,(Poti1)+1
495 04d0 97FF sbrs r25,7
496 04d2 00C0 rjmp .L42
497 04d4 1092 0000 sts (Poti1)+1,__zero_reg__
498 04d8 1092 0000 sts Poti1,__zero_reg__
499 04dc 00C0 rjmp .L44
500 .L42:
501 04de 8F3F cpi r24,255
502 04e0 9105 cpc r25,__zero_reg__
503 04e2 01F0 breq .L44
504 04e4 04F0 brlt .L44
505 04e6 8FEF ldi r24,lo8(255)
506 04e8 90E0 ldi r25,hi8(255)
507 04ea 9093 0000 sts (Poti1)+1,r25
508 04ee 8093 0000 sts Poti1,r24
509 .L44:
510 04f2 8091 0000 lds r24,Poti2
511 04f6 9091 0000 lds r25,(Poti2)+1
512 04fa 97FF sbrs r25,7
513 04fc 00C0 rjmp .L46
514 04fe 1092 0000 sts (Poti2)+1,__zero_reg__
515 0502 1092 0000 sts Poti2,__zero_reg__
516 0506 00C0 rjmp .L48
517 .L46:
518 0508 8F3F cpi r24,255
519 050a 9105 cpc r25,__zero_reg__
520 050c 01F0 breq .L48
521 050e 04F0 brlt .L48
522 0510 8FEF ldi r24,lo8(255)
523 0512 90E0 ldi r25,hi8(255)
524 0514 9093 0000 sts (Poti2)+1,r25
525 0518 8093 0000 sts Poti2,r24
526 .L48:
527 051c 8091 0000 lds r24,Poti3
528 0520 9091 0000 lds r25,(Poti3)+1
529 0524 97FF sbrs r25,7
530 0526 00C0 rjmp .L50
531 0528 1092 0000 sts (Poti3)+1,__zero_reg__
532 052c 1092 0000 sts Poti3,__zero_reg__
533 0530 00C0 rjmp .L52
534 .L50:
535 0532 8F3F cpi r24,255
536 0534 9105 cpc r25,__zero_reg__
537 0536 01F0 breq .L52
538 0538 04F0 brlt .L52
539 053a 8FEF ldi r24,lo8(255)
540 053c 90E0 ldi r25,hi8(255)
541 053e 9093 0000 sts (Poti3)+1,r25
542 0542 8093 0000 sts Poti3,r24
543 .L52:
544 0546 8091 0000 lds r24,Poti4
545 054a 9091 0000 lds r25,(Poti4)+1
546 054e 97FF sbrs r25,7
547 0550 00C0 rjmp .L54
548 0552 1092 0000 sts (Poti4)+1,__zero_reg__
549 0556 1092 0000 sts Poti4,__zero_reg__
550 055a 00C0 rjmp .L58
551 .L54:
552 055c 8F3F cpi r24,255
553 055e 9105 cpc r25,__zero_reg__
554 0560 01F0 breq .L58
555 0562 04F0 brlt .L58
556 0564 8FEF ldi r24,lo8(255)
557 0566 90E0 ldi r25,hi8(255)
558 0568 9093 0000 sts (Poti4)+1,r25
559 056c 8093 0000 sts Poti4,r24
560 .L58:
561 /* epilogue: frame size=0 */
562 0570 1F91 pop r17
563 0572 0F91 pop r16
564 0574 FF90 pop r15
565 0576 EF90 pop r14
566 0578 DF90 pop r13
567 057a CF90 pop r12
568 057c BF90 pop r11
569 057e AF90 pop r10
570 0580 0895 ret
571 /* epilogue end (size=9) */
572 /* function Mittelwert size 707 (690) */
574 .global CalibrierMittelwert
576 CalibrierMittelwert:
577 /* prologue: frame size=0 */
578 /* prologue end (size=0) */
579 0582 1092 7A00 sts 122,__zero_reg__
580 0586 8091 0000 lds r24,MessanzahlNick
581 058a 8823 tst r24
582 058c 01F0 breq .L66
583 058e 8091 0000 lds r24,AccumulateNick
584 0592 9091 0000 lds r25,(AccumulateNick)+1
585 0596 6091 0000 lds r22,MessanzahlNick
586 059a 7727 clr r23
587 059c 0E94 0000 call __divmodhi4
588 05a0 7093 0000 sts (MesswertNick)+1,r23
589 05a4 6093 0000 sts MesswertNick,r22
590 .L66:
591 05a8 8091 0000 lds r24,MessanzahlRoll
592 05ac 8823 tst r24
593 05ae 01F0 breq .L68
594 05b0 8091 0000 lds r24,AccumulateRoll
595 05b4 9091 0000 lds r25,(AccumulateRoll)+1
596 05b8 6091 0000 lds r22,MessanzahlRoll
597 05bc 7727 clr r23
598 05be 0E94 0000 call __divmodhi4
599 05c2 7093 0000 sts (MesswertRoll)+1,r23
600 05c6 6093 0000 sts MesswertRoll,r22
601 .L68:
602 05ca 8091 0000 lds r24,MessanzahlGier
603 05ce 8823 tst r24
604 05d0 01F0 breq .L70
605 05d2 8091 0000 lds r24,AccumulateGier
606 05d6 9091 0000 lds r25,(AccumulateGier)+1
607 05da 6091 0000 lds r22,MessanzahlGier
608 05de 7727 clr r23
609 05e0 0E94 0000 call __divmodhi4
610 05e4 7093 0000 sts (MesswertGier)+1,r23
611 05e8 6093 0000 sts MesswertGier,r22
612 .L70:
613 05ec 8091 0000 lds r24,messanzahl_AccNick
614 05f0 8823 tst r24
615 05f2 01F0 breq .L72
616 05f4 6091 0000 lds r22,accumulate_AccNick
617 05f8 7091 0000 lds r23,(accumulate_AccNick)+1
618 05fc 2091 0000 lds r18,messanzahl_AccNick
619 0600 8827 clr r24
620 0602 77FD sbrc r23,7
621 0604 8095 com r24
622 0606 982F mov r25,r24
623 0608 34E0 ldi r19,4
624 060a 660F 1: lsl r22
625 060c 771F rol r23
626 060e 881F rol r24
627 0610 991F rol r25
628 0612 3A95 dec r19
629 0614 01F4 brne 1b
630 0616 3327 clr r19
631 0618 4427 clr r20
632 061a 5527 clr r21
633 061c 0E94 0000 call __divmodsi4
634 0620 3093 0000 sts (Mittelwert_AccNick)+1,r19
635 0624 2093 0000 sts Mittelwert_AccNick,r18
636 .L72:
637 0628 8091 0000 lds r24,messanzahl_AccRoll
638 062c 8823 tst r24
639 062e 01F0 breq .L74
640 0630 6091 0000 lds r22,accumulate_AccRoll
641 0634 7091 0000 lds r23,(accumulate_AccRoll)+1
642 0638 2091 0000 lds r18,messanzahl_AccRoll
643 063c 8827 clr r24
644 063e 77FD sbrc r23,7
645 0640 8095 com r24
646 0642 982F mov r25,r24
647 0644 B4E0 ldi r27,4
648 0646 660F 1: lsl r22
649 0648 771F rol r23
650 064a 881F rol r24
651 064c 991F rol r25
652 064e BA95 dec r27
653 0650 01F4 brne 1b
654 0652 3327 clr r19
655 0654 4427 clr r20
656 0656 5527 clr r21
657 0658 0E94 0000 call __divmodsi4
658 065c 3093 0000 sts (Mittelwert_AccRoll)+1,r19
659 0660 2093 0000 sts Mittelwert_AccRoll,r18
660 .L74:
661 0664 8091 0000 lds r24,messanzahl_AccHoch
662 0668 8823 tst r24
663 066a 01F0 breq .L76
664 066c 6091 0000 lds r22,accumulate_AccHoch
665 0670 7091 0000 lds r23,(accumulate_AccHoch)+1
666 0674 2091 0000 lds r18,messanzahl_AccHoch
667 0678 8827 clr r24
668 067a 77FD sbrc r23,7
669 067c 8095 com r24
670 067e 982F mov r25,r24
671 0680 3327 clr r19
672 0682 4427 clr r20
673 0684 5527 clr r21
674 0686 0E94 0000 call __divmodsi4
675 068a 3093 0000 sts (Mittelwert_AccHoch)+1,r19
676 068e 2093 0000 sts Mittelwert_AccHoch,r18
677 .L76:
678 0692 1092 0000 sts (AccumulateNick)+1,__zero_reg__
679 0696 1092 0000 sts AccumulateNick,__zero_reg__
680 069a 1092 0000 sts MessanzahlNick,__zero_reg__
681 069e 1092 0000 sts (AccumulateRoll)+1,__zero_reg__
682 06a2 1092 0000 sts AccumulateRoll,__zero_reg__
683 06a6 1092 0000 sts MessanzahlRoll,__zero_reg__
684 06aa 1092 0000 sts (AccumulateGier)+1,__zero_reg__
685 06ae 1092 0000 sts AccumulateGier,__zero_reg__
686 06b2 1092 0000 sts MessanzahlGier,__zero_reg__
687 06b6 1092 0000 sts (accumulate_AccRoll)+1,__zero_reg__
688 06ba 1092 0000 sts accumulate_AccRoll,__zero_reg__
689 06be 1092 0000 sts messanzahl_AccRoll,__zero_reg__
690 06c2 1092 0000 sts (accumulate_AccNick)+1,__zero_reg__
691 06c6 1092 0000 sts accumulate_AccNick,__zero_reg__
692 06ca 1092 0000 sts messanzahl_AccNick,__zero_reg__
693 06ce 1092 0000 sts (accumulate_AccHoch)+1,__zero_reg__
694 06d2 1092 0000 sts accumulate_AccHoch,__zero_reg__
695 06d6 1092 0000 sts messanzahl_AccHoch,__zero_reg__
696 06da 8FEE ldi r24,lo8(-17)
697 06dc 8093 7A00 sts 122,r24
698 06e0 2091 0000 lds r18,Poti1
699 06e4 3091 0000 lds r19,(Poti1)+1
700 06e8 8091 0000 lds r24,EE_Parameter+4
701 06ec E82F mov r30,r24
702 06ee FF27 clr r31
703 06f0 EE0F lsl r30
704 06f2 FF1F rol r31
705 06f4 E050 subi r30,lo8(-(PPM_in))
706 06f6 F040 sbci r31,hi8(-(PPM_in))
707 06f8 8081 ld r24,Z
708 06fa 9181 ldd r25,Z+1
709 06fc 8259 subi r24,lo8(-(110))
710 06fe 9F4F sbci r25,hi8(-(110))
711 0700 2817 cp r18,r24
712 0702 3907 cpc r19,r25
713 0704 04F4 brge .L78
714 0706 2F5F subi r18,lo8(-(1))
715 0708 3F4F sbci r19,hi8(-(1))
716 070a 00C0 rjmp .L115
717 .L78:
718 070c 8081 ld r24,Z
719 070e 9181 ldd r25,Z+1
720 0710 8259 subi r24,lo8(-(110))
721 0712 9F4F sbci r25,hi8(-(110))
722 0714 8217 cp r24,r18
723 0716 9307 cpc r25,r19
724 0718 04F4 brge .L80
725 071a 2115 cp r18,__zero_reg__
726 071c 3105 cpc r19,__zero_reg__
727 071e 01F0 breq .L80
728 0720 2150 subi r18,lo8(-(-1))
729 0722 3040 sbci r19,hi8(-(-1))
730 .L115:
731 0724 3093 0000 sts (Poti1)+1,r19
732 0728 2093 0000 sts Poti1,r18
733 .L80:
734 072c 2091 0000 lds r18,Poti2
735 0730 3091 0000 lds r19,(Poti2)+1
736 0734 8091 0000 lds r24,EE_Parameter+5
737 0738 E82F mov r30,r24
738 073a FF27 clr r31
739 073c EE0F lsl r30
740 073e FF1F rol r31
741 0740 E050 subi r30,lo8(-(PPM_in))
742 0742 F040 sbci r31,hi8(-(PPM_in))
743 0744 8081 ld r24,Z
744 0746 9181 ldd r25,Z+1
745 0748 8259 subi r24,lo8(-(110))
746 074a 9F4F sbci r25,hi8(-(110))
747 074c 2817 cp r18,r24
748 074e 3907 cpc r19,r25
749 0750 04F4 brge .L83
750 0752 2F5F subi r18,lo8(-(1))
751 0754 3F4F sbci r19,hi8(-(1))
752 0756 00C0 rjmp .L116
753 .L83:
754 0758 8081 ld r24,Z
755 075a 9181 ldd r25,Z+1
756 075c 8259 subi r24,lo8(-(110))
757 075e 9F4F sbci r25,hi8(-(110))
758 0760 8217 cp r24,r18
759 0762 9307 cpc r25,r19
760 0764 04F4 brge .L85
761 0766 2115 cp r18,__zero_reg__
762 0768 3105 cpc r19,__zero_reg__
763 076a 01F0 breq .L85
764 076c 2150 subi r18,lo8(-(-1))
765 076e 3040 sbci r19,hi8(-(-1))
766 .L116:
767 0770 3093 0000 sts (Poti2)+1,r19
768 0774 2093 0000 sts Poti2,r18
769 .L85:
770 0778 2091 0000 lds r18,Poti3
771 077c 3091 0000 lds r19,(Poti3)+1
772 0780 8091 0000 lds r24,EE_Parameter+6
773 0784 E82F mov r30,r24
774 0786 FF27 clr r31
775 0788 EE0F lsl r30
776 078a FF1F rol r31
777 078c E050 subi r30,lo8(-(PPM_in))
778 078e F040 sbci r31,hi8(-(PPM_in))
779 0790 8081 ld r24,Z
780 0792 9181 ldd r25,Z+1
781 0794 8259 subi r24,lo8(-(110))
782 0796 9F4F sbci r25,hi8(-(110))
783 0798 2817 cp r18,r24
784 079a 3907 cpc r19,r25
785 079c 04F4 brge .L88
786 079e 2F5F subi r18,lo8(-(1))
787 07a0 3F4F sbci r19,hi8(-(1))
788 07a2 00C0 rjmp .L117
789 .L88:
790 07a4 8081 ld r24,Z
791 07a6 9181 ldd r25,Z+1
792 07a8 8259 subi r24,lo8(-(110))
793 07aa 9F4F sbci r25,hi8(-(110))
794 07ac 8217 cp r24,r18
795 07ae 9307 cpc r25,r19
796 07b0 04F4 brge .L90
797 07b2 2115 cp r18,__zero_reg__
798 07b4 3105 cpc r19,__zero_reg__
799 07b6 01F0 breq .L90
800 07b8 2150 subi r18,lo8(-(-1))
801 07ba 3040 sbci r19,hi8(-(-1))
802 .L117:
803 07bc 3093 0000 sts (Poti3)+1,r19
804 07c0 2093 0000 sts Poti3,r18
805 .L90:
806 07c4 2091 0000 lds r18,Poti4
807 07c8 3091 0000 lds r19,(Poti4)+1
808 07cc 8091 0000 lds r24,EE_Parameter+7
809 07d0 E82F mov r30,r24
810 07d2 FF27 clr r31
811 07d4 EE0F lsl r30
812 07d6 FF1F rol r31
813 07d8 E050 subi r30,lo8(-(PPM_in))
814 07da F040 sbci r31,hi8(-(PPM_in))
815 07dc 8081 ld r24,Z
816 07de 9181 ldd r25,Z+1
817 07e0 8259 subi r24,lo8(-(110))
818 07e2 9F4F sbci r25,hi8(-(110))
819 07e4 2817 cp r18,r24
820 07e6 3907 cpc r19,r25
821 07e8 04F4 brge .L93
822 07ea 2F5F subi r18,lo8(-(1))
823 07ec 3F4F sbci r19,hi8(-(1))
824 07ee 00C0 rjmp .L118
825 .L93:
826 07f0 8081 ld r24,Z
827 07f2 9181 ldd r25,Z+1
828 07f4 8259 subi r24,lo8(-(110))
829 07f6 9F4F sbci r25,hi8(-(110))
830 07f8 8217 cp r24,r18
831 07fa 9307 cpc r25,r19
832 07fc 04F4 brge .L95
833 07fe 2115 cp r18,__zero_reg__
834 0800 3105 cpc r19,__zero_reg__
835 0802 01F0 breq .L95
836 0804 2150 subi r18,lo8(-(-1))
837 0806 3040 sbci r19,hi8(-(-1))
838 .L118:
839 0808 3093 0000 sts (Poti4)+1,r19
840 080c 2093 0000 sts Poti4,r18
841 .L95:
842 0810 8091 0000 lds r24,Poti1
843 0814 9091 0000 lds r25,(Poti1)+1
844 0818 97FF sbrs r25,7
845 081a 00C0 rjmp .L98
846 081c 1092 0000 sts (Poti1)+1,__zero_reg__
847 0820 1092 0000 sts Poti1,__zero_reg__
848 0824 00C0 rjmp .L100
849 .L98:
850 0826 8F3F cpi r24,255
851 0828 9105 cpc r25,__zero_reg__
852 082a 01F0 breq .L100
853 082c 04F0 brlt .L100
854 082e 8FEF ldi r24,lo8(255)
855 0830 90E0 ldi r25,hi8(255)
856 0832 9093 0000 sts (Poti1)+1,r25
857 0836 8093 0000 sts Poti1,r24
858 .L100:
859 083a 8091 0000 lds r24,Poti2
860 083e 9091 0000 lds r25,(Poti2)+1
861 0842 97FF sbrs r25,7
862 0844 00C0 rjmp .L102
863 0846 1092 0000 sts (Poti2)+1,__zero_reg__
864 084a 1092 0000 sts Poti2,__zero_reg__
865 084e 00C0 rjmp .L104
866 .L102:
867 0850 8F3F cpi r24,255
868 0852 9105 cpc r25,__zero_reg__
869 0854 01F0 breq .L104
870 0856 04F0 brlt .L104
871 0858 8FEF ldi r24,lo8(255)
872 085a 90E0 ldi r25,hi8(255)
873 085c 9093 0000 sts (Poti2)+1,r25
874 0860 8093 0000 sts Poti2,r24
875 .L104:
876 0864 8091 0000 lds r24,Poti3
877 0868 9091 0000 lds r25,(Poti3)+1
878 086c 97FF sbrs r25,7
879 086e 00C0 rjmp .L106
880 0870 1092 0000 sts (Poti3)+1,__zero_reg__
881 0874 1092 0000 sts Poti3,__zero_reg__
882 0878 00C0 rjmp .L108
883 .L106:
884 087a 8F3F cpi r24,255
885 087c 9105 cpc r25,__zero_reg__
886 087e 01F0 breq .L108
887 0880 04F0 brlt .L108
888 0882 8FEF ldi r24,lo8(255)
889 0884 90E0 ldi r25,hi8(255)
890 0886 9093 0000 sts (Poti3)+1,r25
891 088a 8093 0000 sts Poti3,r24
892 .L108:
893 088e 8091 0000 lds r24,Poti4
894 0892 9091 0000 lds r25,(Poti4)+1
895 0896 97FF sbrs r25,7
896 0898 00C0 rjmp .L110
897 089a 1092 0000 sts (Poti4)+1,__zero_reg__
898 089e 1092 0000 sts Poti4,__zero_reg__
899 08a2 0895 ret
900 .L110:
901 08a4 8F3F cpi r24,255
902 08a6 9105 cpc r25,__zero_reg__
903 08a8 01F0 breq .L114
904 08aa 04F0 brlt .L114
905 08ac 8FEF ldi r24,lo8(255)
906 08ae 90E0 ldi r25,hi8(255)
907 08b0 9093 0000 sts (Poti4)+1,r25
908 08b4 8093 0000 sts Poti4,r24
909 .L114:
910 08b8 0895 ret
911 /* epilogue: frame size=0 */
912 /* epilogue: noreturn */
913 /* epilogue end (size=0) */
914 /* function CalibrierMittelwert size 412 (412) */
916 .global ParameterZuordnung
918 ParameterZuordnung:
919 /* prologue: frame size=0 */
920 08ba 1F93 push r17
921 /* prologue end (size=1) */
922 08bc 8091 0000 lds r24,EE_Parameter+11
923 08c0 8B3F cpi r24,lo8(-5)
924 08c2 00F0 brlo .L120
925 08c4 8B3F cpi r24,lo8(-5)
926 08c6 01F4 brne .L122
927 08c8 8091 0000 lds r24,Poti1
928 08cc 00C0 rjmp .L120
929 .L122:
930 08ce 8C3F cpi r24,lo8(-4)
931 08d0 01F4 brne .L125
932 08d2 8091 0000 lds r24,Poti2
933 08d6 00C0 rjmp .L120
934 .L125:
935 08d8 8D3F cpi r24,lo8(-3)
936 08da 01F4 brne .L127
937 08dc 8091 0000 lds r24,Poti3
938 08e0 00C0 rjmp .L120
939 .L127:
940 08e2 8E3F cpi r24,lo8(-2)
941 08e4 01F4 brne .L124
942 08e6 8091 0000 lds r24,Poti4
943 .L120:
944 08ea 8093 0000 sts Parameter_MaxHoehe,r24
945 .L124:
946 08ee 8091 0000 lds r24,Parameter_MaxHoehe
947 08f2 8823 tst r24
948 08f4 01F4 brne .L130
949 08f6 1092 0000 sts Parameter_MaxHoehe,__zero_reg__
950 08fa 00C0 rjmp .L132
951 .L130:
952 08fc 8F3F cpi r24,lo8(-1)
953 08fe 01F4 brne .L132
954 0900 8093 0000 sts Parameter_MaxHoehe,r24
955 .L132:
956 0904 8091 0000 lds r24,EE_Parameter+10
957 0908 8B3F cpi r24,lo8(-5)
958 090a 00F0 brlo .L134
959 090c 8B3F cpi r24,lo8(-5)
960 090e 01F4 brne .L136
961 0910 8091 0000 lds r24,Poti1
962 0914 00C0 rjmp .L134
963 .L136:
964 0916 8C3F cpi r24,lo8(-4)
965 0918 01F4 brne .L139
966 091a 8091 0000 lds r24,Poti2
967 091e 00C0 rjmp .L134
968 .L139:
969 0920 8D3F cpi r24,lo8(-3)
970 0922 01F4 brne .L141
971 0924 8091 0000 lds r24,Poti3
972 0928 00C0 rjmp .L134
973 .L141:
974 092a 8E3F cpi r24,lo8(-2)
975 092c 01F4 brne .L138
976 092e 8091 0000 lds r24,Poti4
977 .L134:
978 0932 8093 0000 sts Parameter_Luftdruck_D,r24
979 .L138:
980 0936 8091 0000 lds r24,Parameter_Luftdruck_D
981 093a 8823 tst r24
982 093c 01F4 brne .L144
983 093e 1092 0000 sts Parameter_Luftdruck_D,__zero_reg__
984 0942 00C0 rjmp .L146
985 .L144:
986 0944 8436 cpi r24,lo8(100)
987 0946 00F0 brlo .L146
988 0948 84E6 ldi r24,lo8(100)
989 094a 8093 0000 sts Parameter_Luftdruck_D,r24
990 .L146:
991 094e 8091 0000 lds r24,EE_Parameter+12
992 0952 8B3F cpi r24,lo8(-5)
993 0954 00F0 brlo .L148
994 0956 8B3F cpi r24,lo8(-5)
995 0958 01F4 brne .L150
996 095a 8091 0000 lds r24,Poti1
997 095e 00C0 rjmp .L148
998 .L150:
999 0960 8C3F cpi r24,lo8(-4)
1000 0962 01F4 brne .L153
1001 0964 8091 0000 lds r24,Poti2
1002 0968 00C0 rjmp .L148
1003 .L153:
1004 096a 8D3F cpi r24,lo8(-3)
1005 096c 01F4 brne .L155
1006 096e 8091 0000 lds r24,Poti3
1007 0972 00C0 rjmp .L148
1008 .L155:
1009 0974 8E3F cpi r24,lo8(-2)
1010 0976 01F4 brne .L152
1011 0978 8091 0000 lds r24,Poti4
1012 .L148:
1013 097c 8093 0000 sts Parameter_Hoehe_P,r24
1014 .L152:
1015 0980 8091 0000 lds r24,Parameter_Hoehe_P
1016 0984 8823 tst r24
1017 0986 01F4 brne .L158
1018 0988 1092 0000 sts Parameter_Hoehe_P,__zero_reg__
1019 098c 00C0 rjmp .L160
1020 .L158:
1021 098e 8436 cpi r24,lo8(100)
1022 0990 00F0 brlo .L160
1023 0992 84E6 ldi r24,lo8(100)
1024 0994 8093 0000 sts Parameter_Hoehe_P,r24
1025 .L160:
1026 0998 8091 0000 lds r24,EE_Parameter+14
1027 099c 8B3F cpi r24,lo8(-5)
1028 099e 00F0 brlo .L162
1029 09a0 8B3F cpi r24,lo8(-5)
1030 09a2 01F4 brne .L164
1031 09a4 8091 0000 lds r24,Poti1
1032 09a8 00C0 rjmp .L162
1033 .L164:
1034 09aa 8C3F cpi r24,lo8(-4)
1035 09ac 01F4 brne .L167
1036 09ae 8091 0000 lds r24,Poti2
1037 09b2 00C0 rjmp .L162
1038 .L167:
1039 09b4 8D3F cpi r24,lo8(-3)
1040 09b6 01F4 brne .L169
1041 09b8 8091 0000 lds r24,Poti3
1042 09bc 00C0 rjmp .L162
1043 .L169:
1044 09be 8E3F cpi r24,lo8(-2)
1045 09c0 01F4 brne .L166
1046 09c2 8091 0000 lds r24,Poti4
1047 .L162:
1048 09c6 8093 0000 sts Parameter_Hoehe_ACC_Wirkung,r24
1049 .L166:
1050 09ca 8091 0000 lds r24,Parameter_Hoehe_ACC_Wirkung
1051 09ce 8823 tst r24
1052 09d0 01F4 brne .L172
1053 09d2 1092 0000 sts Parameter_Hoehe_ACC_Wirkung,__zero_reg__
1054 09d6 00C0 rjmp .L174
1055 .L172:
1056 09d8 8F3F cpi r24,lo8(-1)
1057 09da 01F4 brne .L174
1058 09dc 8093 0000 sts Parameter_Hoehe_ACC_Wirkung,r24
1059 .L174:
1060 09e0 8091 0000 lds r24,EE_Parameter+21
1061 09e4 8B3F cpi r24,lo8(-5)
1062 09e6 00F0 brlo .L176
1063 09e8 8B3F cpi r24,lo8(-5)
1064 09ea 01F4 brne .L178
1065 09ec 8091 0000 lds r24,Poti1
1066 09f0 00C0 rjmp .L176
1067 .L178:
1068 09f2 8C3F cpi r24,lo8(-4)
1069 09f4 01F4 brne .L181
1070 09f6 8091 0000 lds r24,Poti2
1071 09fa 00C0 rjmp .L176
1072 .L181:
1073 09fc 8D3F cpi r24,lo8(-3)
1074 09fe 01F4 brne .L183
1075 0a00 8091 0000 lds r24,Poti3
1076 0a04 00C0 rjmp .L176
1077 .L183:
1078 0a06 8E3F cpi r24,lo8(-2)
1079 0a08 01F4 brne .L180
1080 0a0a 8091 0000 lds r24,Poti4
1081 .L176:
1082 0a0e 8093 0000 sts Parameter_KompassWirkung,r24
1083 .L180:
1084 0a12 8091 0000 lds r24,Parameter_KompassWirkung
1085 0a16 8823 tst r24
1086 0a18 01F4 brne .L186
1087 0a1a 1092 0000 sts Parameter_KompassWirkung,__zero_reg__
1088 0a1e 00C0 rjmp .L188
1089 .L186:
1090 0a20 8F3F cpi r24,lo8(-1)
1091 0a22 01F4 brne .L188
1092 0a24 8093 0000 sts Parameter_KompassWirkung,r24
1093 .L188:
1094 0a28 8091 0000 lds r24,EE_Parameter+22
1095 0a2c 8B3F cpi r24,lo8(-5)
1096 0a2e 00F0 brlo .L190
1097 0a30 8B3F cpi r24,lo8(-5)
1098 0a32 01F4 brne .L192
1099 0a34 8091 0000 lds r24,Poti1
1100 0a38 00C0 rjmp .L190
1101 .L192:
1102 0a3a 8C3F cpi r24,lo8(-4)
1103 0a3c 01F4 brne .L195
1104 0a3e 8091 0000 lds r24,Poti2
1105 0a42 00C0 rjmp .L190
1106 .L195:
1107 0a44 8D3F cpi r24,lo8(-3)
1108 0a46 01F4 brne .L197
1109 0a48 8091 0000 lds r24,Poti3
1110 0a4c 00C0 rjmp .L190
1111 .L197:
1112 0a4e 8E3F cpi r24,lo8(-2)
1113 0a50 01F4 brne .L194
1114 0a52 8091 0000 lds r24,Poti4
1115 .L190:
1116 0a56 8093 0000 sts Parameter_Gyro_P,r24
1117 .L194:
1118 0a5a 8091 0000 lds r24,Parameter_Gyro_P
1119 0a5e 8B30 cpi r24,lo8(11)
1120 0a60 00F4 brsh .L200
1121 0a62 8AE0 ldi r24,lo8(10)
1122 0a64 00C0 rjmp .L332
1123 .L200:
1124 0a66 8F3F cpi r24,lo8(-1)
1125 0a68 01F4 brne .L202
1126 .L332:
1127 0a6a 8093 0000 sts Parameter_Gyro_P,r24
1128 .L202:
1129 0a6e 8091 0000 lds r24,EE_Parameter+23
1130 0a72 8B3F cpi r24,lo8(-5)
1131 0a74 00F0 brlo .L204
1132 0a76 8B3F cpi r24,lo8(-5)
1133 0a78 01F4 brne .L206
1134 0a7a 8091 0000 lds r24,Poti1
1135 0a7e 00C0 rjmp .L204
1136 .L206:
1137 0a80 8C3F cpi r24,lo8(-4)
1138 0a82 01F4 brne .L209
1139 0a84 8091 0000 lds r24,Poti2
1140 0a88 00C0 rjmp .L204
1141 .L209:
1142 0a8a 8D3F cpi r24,lo8(-3)
1143 0a8c 01F4 brne .L211
1144 0a8e 8091 0000 lds r24,Poti3
1145 0a92 00C0 rjmp .L204
1146 .L211:
1147 0a94 8E3F cpi r24,lo8(-2)
1148 0a96 01F4 brne .L208
1149 0a98 8091 0000 lds r24,Poti4
1150 .L204:
1151 0a9c 8093 0000 sts Parameter_Gyro_I,r24
1152 .L208:
1153 0aa0 8091 0000 lds r24,Parameter_Gyro_I
1154 0aa4 8823 tst r24
1155 0aa6 01F4 brne .L214
1156 0aa8 1092 0000 sts Parameter_Gyro_I,__zero_reg__
1157 0aac 00C0 rjmp .L216
1158 .L214:
1159 0aae 8F3F cpi r24,lo8(-1)
1160 0ab0 01F4 brne .L216
1161 0ab2 8093 0000 sts Parameter_Gyro_I,r24
1162 .L216:
1163 0ab6 8091 0000 lds r24,EE_Parameter+28
1164 0aba 8B3F cpi r24,lo8(-5)
1165 0abc 00F0 brlo .L218
1166 0abe 8B3F cpi r24,lo8(-5)
1167 0ac0 01F4 brne .L220
1168 0ac2 8091 0000 lds r24,Poti1
1169 0ac6 00C0 rjmp .L218
1170 .L220:
1171 0ac8 8C3F cpi r24,lo8(-4)
1172 0aca 01F4 brne .L223
1173 0acc 8091 0000 lds r24,Poti2
1174 0ad0 00C0 rjmp .L218
1175 .L223:
1176 0ad2 8D3F cpi r24,lo8(-3)
1177 0ad4 01F4 brne .L225
1178 0ad6 8091 0000 lds r24,Poti3
1179 0ada 00C0 rjmp .L218
1180 .L225:
1181 0adc 8E3F cpi r24,lo8(-2)
1182 0ade 01F4 brne .L222
1183 0ae0 8091 0000 lds r24,Poti4
1184 .L218:
1185 0ae4 8093 0000 sts Parameter_I_Faktor,r24
1186 .L222:
1187 0ae8 8091 0000 lds r24,Parameter_I_Faktor
1188 0aec 8823 tst r24
1189 0aee 01F4 brne .L228
1190 0af0 1092 0000 sts Parameter_I_Faktor,__zero_reg__
1191 0af4 00C0 rjmp .L230
1192 .L228:
1193 0af6 8F3F cpi r24,lo8(-1)
1194 0af8 01F4 brne .L230
1195 0afa 8093 0000 sts Parameter_I_Faktor,r24
1196 .L230:
1197 0afe 8091 0000 lds r24,EE_Parameter+29
1198 0b02 8B3F cpi r24,lo8(-5)
1199 0b04 00F0 brlo .L232
1200 0b06 8B3F cpi r24,lo8(-5)
1201 0b08 01F4 brne .L234
1202 0b0a 8091 0000 lds r24,Poti1
1203 0b0e 00C0 rjmp .L232
1204 .L234:
1205 0b10 8C3F cpi r24,lo8(-4)
1206 0b12 01F4 brne .L237
1207 0b14 8091 0000 lds r24,Poti2
1208 0b18 00C0 rjmp .L232
1209 .L237:
1210 0b1a 8D3F cpi r24,lo8(-3)
1211 0b1c 01F4 brne .L239
1212 0b1e 8091 0000 lds r24,Poti3
1213 0b22 00C0 rjmp .L232
1214 .L239:
1215 0b24 8E3F cpi r24,lo8(-2)
1216 0b26 01F4 brne .L236
1217 0b28 8091 0000 lds r24,Poti4
1218 .L232:
1219 0b2c 8093 0000 sts Parameter_UserParam1,r24
1220 .L236:
1221 0b30 8091 0000 lds r24,Parameter_UserParam1
1222 0b34 8823 tst r24
1223 0b36 01F4 brne .L242
1224 0b38 1092 0000 sts Parameter_UserParam1,__zero_reg__
1225 0b3c 00C0 rjmp .L244
1226 .L242:
1227 0b3e 8F3F cpi r24,lo8(-1)
1228 0b40 01F4 brne .L244
1229 0b42 8093 0000 sts Parameter_UserParam1,r24
1230 .L244:
1231 0b46 8091 0000 lds r24,EE_Parameter+30
1232 0b4a 8B3F cpi r24,lo8(-5)
1233 0b4c 00F0 brlo .L246
1234 0b4e 8B3F cpi r24,lo8(-5)
1235 0b50 01F4 brne .L248
1236 0b52 8091 0000 lds r24,Poti1
1237 0b56 00C0 rjmp .L246
1238 .L248:
1239 0b58 8C3F cpi r24,lo8(-4)
1240 0b5a 01F4 brne .L251
1241 0b5c 8091 0000 lds r24,Poti2
1242 0b60 00C0 rjmp .L246
1243 .L251:
1244 0b62 8D3F cpi r24,lo8(-3)
1245 0b64 01F4 brne .L253
1246 0b66 8091 0000 lds r24,Poti3
1247 0b6a 00C0 rjmp .L246
1248 .L253:
1249 0b6c 8E3F cpi r24,lo8(-2)
1250 0b6e 01F4 brne .L250
1251 0b70 8091 0000 lds r24,Poti4
1252 .L246:
1253 0b74 8093 0000 sts Parameter_UserParam2,r24
1254 .L250:
1255 0b78 8091 0000 lds r24,Parameter_UserParam2
1256 0b7c 8823 tst r24
1257 0b7e 01F4 brne .L256
1258 0b80 1092 0000 sts Parameter_UserParam2,__zero_reg__
1259 0b84 00C0 rjmp .L258
1260 .L256:
1261 0b86 8F3F cpi r24,lo8(-1)
1262 0b88 01F4 brne .L258
1263 0b8a 8093 0000 sts Parameter_UserParam2,r24
1264 .L258:
1265 0b8e 8091 0000 lds r24,EE_Parameter+31
1266 0b92 8B3F cpi r24,lo8(-5)
1267 0b94 00F0 brlo .L260
1268 0b96 8B3F cpi r24,lo8(-5)
1269 0b98 01F4 brne .L262
1270 0b9a 8091 0000 lds r24,Poti1
1271 0b9e 00C0 rjmp .L260
1272 .L262:
1273 0ba0 8C3F cpi r24,lo8(-4)
1274 0ba2 01F4 brne .L265
1275 0ba4 8091 0000 lds r24,Poti2
1276 0ba8 00C0 rjmp .L260
1277 .L265:
1278 0baa 8D3F cpi r24,lo8(-3)
1279 0bac 01F4 brne .L267
1280 0bae 8091 0000 lds r24,Poti3
1281 0bb2 00C0 rjmp .L260
1282 .L267:
1283 0bb4 8E3F cpi r24,lo8(-2)
1284 0bb6 01F4 brne .L264
1285 0bb8 8091 0000 lds r24,Poti4
1286 .L260:
1287 0bbc 8093 0000 sts Parameter_UserParam3,r24
1288 .L264:
1289 0bc0 8091 0000 lds r24,Parameter_UserParam3
1290 0bc4 8823 tst r24
1291 0bc6 01F4 brne .L270
1292 0bc8 1092 0000 sts Parameter_UserParam3,__zero_reg__
1293 0bcc 00C0 rjmp .L272
1294 .L270:
1295 0bce 8F3F cpi r24,lo8(-1)
1296 0bd0 01F4 brne .L272
1297 0bd2 8093 0000 sts Parameter_UserParam3,r24
1298 .L272:
1299 0bd6 8091 0000 lds r24,EE_Parameter+32
1300 0bda 8B3F cpi r24,lo8(-5)
1301 0bdc 00F0 brlo .L274
1302 0bde 8B3F cpi r24,lo8(-5)
1303 0be0 01F4 brne .L276
1304 0be2 8091 0000 lds r24,Poti1
1305 0be6 00C0 rjmp .L274
1306 .L276:
1307 0be8 8C3F cpi r24,lo8(-4)
1308 0bea 01F4 brne .L279
1309 0bec 8091 0000 lds r24,Poti2
1310 0bf0 00C0 rjmp .L274
1311 .L279:
1312 0bf2 8D3F cpi r24,lo8(-3)
1313 0bf4 01F4 brne .L281
1314 0bf6 8091 0000 lds r24,Poti3
1315 0bfa 00C0 rjmp .L274
1316 .L281:
1317 0bfc 8E3F cpi r24,lo8(-2)
1318 0bfe 01F4 brne .L278
1319 0c00 8091 0000 lds r24,Poti4
1320 .L274:
1321 0c04 8093 0000 sts Parameter_UserParam4,r24
1322 .L278:
1323 0c08 8091 0000 lds r24,Parameter_UserParam4
1324 0c0c 8823 tst r24
1325 0c0e 01F4 brne .L284
1326 0c10 1092 0000 sts Parameter_UserParam4,__zero_reg__
1327 0c14 00C0 rjmp .L286
1328 .L284:
1329 0c16 8F3F cpi r24,lo8(-1)
1330 0c18 01F4 brne .L286
1331 0c1a 8093 0000 sts Parameter_UserParam4,r24
1332 .L286:
1333 0c1e 9091 0000 lds r25,EE_Parameter+33
1334 0c22 9B3F cpi r25,lo8(-5)
1335 0c24 00F0 brlo .L288
1336 0c26 9B3F cpi r25,lo8(-5)
1337 0c28 01F4 brne .L290
1338 0c2a 8091 0000 lds r24,Poti1
1339 0c2e 00C0 rjmp .L333
1340 .L290:
1341 0c30 9C3F cpi r25,lo8(-4)
1342 0c32 01F4 brne .L293
1343 0c34 8091 0000 lds r24,Poti2
1344 .L333:
1345 0c38 8093 0000 sts Parameter_ServoNickControl,r24
1346 0c3c 00C0 rjmp .L292
1347 .L293:
1348 0c3e 9D3F cpi r25,lo8(-3)
1349 0c40 01F4 brne .L295
1350 0c42 8091 0000 lds r24,Poti3
1351 0c46 00C0 rjmp .L333
1352 .L295:
1353 0c48 9E3F cpi r25,lo8(-2)
1354 0c4a 01F4 brne .L292
1355 0c4c 8091 0000 lds r24,Poti4
1356 0c50 00C0 rjmp .L333
1357 .L288:
1358 0c52 9093 0000 sts Parameter_ServoNickControl,r25
1359 .L292:
1360 0c56 8091 0000 lds r24,Parameter_ServoNickControl
1361 0c5a 8823 tst r24
1362 0c5c 01F4 brne .L298
1363 0c5e 1092 0000 sts Parameter_ServoNickControl,__zero_reg__
1364 0c62 00C0 rjmp .L300
1365 .L298:
1366 0c64 8F3F cpi r24,lo8(-1)
1367 0c66 01F4 brne .L300
1368 0c68 8093 0000 sts Parameter_ServoNickControl,r24
1369 .L300:
1370 0c6c 9B3F cpi r25,lo8(-5)
1371 0c6e 00F0 brlo .L302
1372 0c70 9B3F cpi r25,lo8(-5)
1373 0c72 01F4 brne .L304
1374 0c74 8091 0000 lds r24,Poti1
1375 0c78 00C0 rjmp .L334
1376 .L304:
1377 0c7a 9C3F cpi r25,lo8(-4)
1378 0c7c 01F4 brne .L307
1379 0c7e 8091 0000 lds r24,Poti2
1380 .L334:
1381 0c82 8093 0000 sts Parameter_ServoNickControl,r24
1382 0c86 00C0 rjmp .L306
1383 .L307:
1384 0c88 9D3F cpi r25,lo8(-3)
1385 0c8a 01F4 brne .L309
1386 0c8c 8091 0000 lds r24,Poti3
1387 0c90 00C0 rjmp .L334
1388 .L309:
1389 0c92 9E3F cpi r25,lo8(-2)
1390 0c94 01F4 brne .L306
1391 0c96 8091 0000 lds r24,Poti4
1392 0c9a 00C0 rjmp .L334
1393 .L302:
1394 0c9c 9093 0000 sts Parameter_ServoNickControl,r25
1395 .L306:
1396 0ca0 8091 0000 lds r24,Parameter_ServoNickControl
1397 0ca4 8823 tst r24
1398 0ca6 01F4 brne .L312
1399 0ca8 1092 0000 sts Parameter_ServoNickControl,__zero_reg__
1400 0cac 00C0 rjmp .L314
1401 .L312:
1402 0cae 8F3F cpi r24,lo8(-1)
1403 0cb0 01F4 brne .L314
1404 0cb2 8093 0000 sts Parameter_ServoNickControl,r24
1405 .L314:
1406 0cb6 9B3F cpi r25,lo8(-5)
1407 0cb8 00F0 brlo .L316
1408 0cba 9B3F cpi r25,lo8(-5)
1409 0cbc 01F4 brne .L318
1410 0cbe 8091 0000 lds r24,Poti1
1411 0cc2 00C0 rjmp .L335
1412 .L318:
1413 0cc4 9C3F cpi r25,lo8(-4)
1414 0cc6 01F4 brne .L321
1415 0cc8 8091 0000 lds r24,Poti2
1416 .L335:
1417 0ccc 8093 0000 sts Parameter_ServoNickControl,r24
1418 0cd0 00C0 rjmp .L320
1419 .L321:
1420 0cd2 9D3F cpi r25,lo8(-3)
1421 0cd4 01F4 brne .L323
1422 0cd6 8091 0000 lds r24,Poti3
1423 0cda 00C0 rjmp .L335
1424 .L323:
1425 0cdc 9E3F cpi r25,lo8(-2)
1426 0cde 01F4 brne .L320
1427 0ce0 8091 0000 lds r24,Poti4
1428 0ce4 00C0 rjmp .L335
1429 .L316:
1430 0ce6 9093 0000 sts Parameter_ServoNickControl,r25
1431 .L320:
1432 0cea 8091 0000 lds r24,Parameter_ServoNickControl
1433 0cee 8823 tst r24
1434 0cf0 01F4 brne .L326
1435 0cf2 1092 0000 sts Parameter_ServoNickControl,__zero_reg__
1436 0cf6 00C0 rjmp .L328
1437 .L326:
1438 0cf8 8F3F cpi r24,lo8(-1)
1439 0cfa 01F4 brne .L328
1440 0cfc 8093 0000 sts Parameter_ServoNickControl,r24
1441 .L328:
1442 0d00 1091 0000 lds r17,Parameter_I_Faktor
1443 0d04 612F mov r22,r17
1444 0d06 7727 clr r23
1445 0d08 67FD sbrc r22,7
1446 0d0a 7095 com r23
1447 0d0c 872F mov r24,r23
1448 0d0e 972F mov r25,r23
1449 0d10 0E94 0000 call __floatsisf
1450 0d14 17FF sbrs r17,7
1451 0d16 00C0 rjmp .L330
1452 0d18 20E0 ldi r18,lo8(0x43800000)
1453 0d1a 30E0 ldi r19,hi8(0x43800000)
1454 0d1c 40E8 ldi r20,hlo8(0x43800000)
1455 0d1e 53E4 ldi r21,hhi8(0x43800000)
1456 0d20 0E94 0000 call __addsf3
1457 .L330:
1458 0d24 27E1 ldi r18,lo8(0x38d1b717)
1459 0d26 37EB ldi r19,hi8(0x38d1b717)
1460 0d28 41ED ldi r20,hlo8(0x38d1b717)
1461 0d2a 58E3 ldi r21,hhi8(0x38d1b717)
1462 0d2c 0E94 0000 call __mulsf3
1463 0d30 6093 0000 sts Ki,r22
1464 0d34 7093 0000 sts (Ki)+1,r23
1465 0d38 8093 0000 sts (Ki)+2,r24
1466 0d3c 9093 0000 sts (Ki)+3,r25
1467 0d40 8091 0000 lds r24,EE_Parameter+19
1468 0d44 8093 0000 sts MAX_GAS,r24
1469 0d48 8091 0000 lds r24,EE_Parameter+18
1470 0d4c 8093 0000 sts MIN_GAS,r24
1471 /* epilogue: frame size=0 */
1472 0d50 1F91 pop r17
1473 0d52 0895 ret
1474 /* epilogue end (size=2) */
1475 /* function ParameterZuordnung size 589 (586) */
1477 .data
1478 .LC0:
1479 0000 4B61 6D65 .string "Kamera"
1479 7261 00
1480 0007 00 .string ""
1481 .text
1482 .global DefaultKonstanten2
1484 DefaultKonstanten2:
1485 /* prologue: frame size=0 */
1486 /* prologue end (size=0) */
1487 0d54 81E0 ldi r24,lo8(1)
1488 0d56 8093 0000 sts EE_Parameter,r24
1489 0d5a 42E0 ldi r20,lo8(2)
1490 0d5c 4093 0000 sts EE_Parameter+1,r20
1491 0d60 83E0 ldi r24,lo8(3)
1492 0d62 8093 0000 sts EE_Parameter+2,r24
1493 0d66 24E0 ldi r18,lo8(4)
1494 0d68 2093 0000 sts EE_Parameter+3,r18
1495 0d6c 35E0 ldi r19,lo8(5)
1496 0d6e 3093 0000 sts EE_Parameter+4,r19
1497 0d72 86E0 ldi r24,lo8(6)
1498 0d74 8093 0000 sts EE_Parameter+5,r24
1499 0d78 87E0 ldi r24,lo8(7)
1500 0d7a 8093 0000 sts EE_Parameter+6,r24
1501 0d7e 1092 0000 sts EE_Parameter+8,__zero_reg__
1502 0d82 8EE1 ldi r24,lo8(30)
1503 0d84 8093 0000 sts EE_Parameter+9,r24
1504 0d88 8BEF ldi r24,lo8(-5)
1505 0d8a 8093 0000 sts EE_Parameter+11,r24
1506 0d8e 8AE0 ldi r24,lo8(10)
1507 0d90 8093 0000 sts EE_Parameter+12,r24
1508 0d94 92E3 ldi r25,lo8(50)
1509 0d96 9093 0000 sts EE_Parameter+10,r25
1510 0d9a 9093 0000 sts EE_Parameter+14,r25
1511 0d9e 4093 0000 sts EE_Parameter+13,r20
1512 0da2 2093 0000 sts EE_Parameter+15,r18
1513 0da6 1092 0000 sts EE_Parameter+16,__zero_reg__
1514 0daa 80E1 ldi r24,lo8(16)
1515 0dac 8093 0000 sts EE_Parameter+17,r24
1516 0db0 8FE0 ldi r24,lo8(15)
1517 0db2 8093 0000 sts EE_Parameter+18,r24
1518 0db6 8AEF ldi r24,lo8(-6)
1519 0db8 8093 0000 sts EE_Parameter+19,r24
1520 0dbc 8AE1 ldi r24,lo8(26)
1521 0dbe 8093 0000 sts EE_Parameter+20,r24
1522 0dc2 80E8 ldi r24,lo8(-128)
1523 0dc4 8093 0000 sts EE_Parameter+21,r24
1524 0dc8 8FEA ldi r24,lo8(-81)
1525 0dca 8093 0000 sts EE_Parameter+22,r24
1526 0dce 8093 0000 sts EE_Parameter+23,r24
1527 0dd2 8AE5 ldi r24,lo8(90)
1528 0dd4 8093 0000 sts EE_Parameter+24,r24
1529 0dd8 83E2 ldi r24,lo8(35)
1530 0dda 8093 0000 sts EE_Parameter+25,r24
1531 0dde 84E1 ldi r24,lo8(20)
1532 0de0 8093 0000 sts EE_Parameter+26,r24
1533 0de4 1092 0000 sts EE_Parameter+27,__zero_reg__
1534 0de8 3093 0000 sts EE_Parameter+28,r19
1535 0dec 1092 0000 sts EE_Parameter+29,__zero_reg__
1536 0df0 1092 0000 sts EE_Parameter+30,__zero_reg__
1537 0df4 1092 0000 sts EE_Parameter+31,__zero_reg__
1538 0df8 1092 0000 sts EE_Parameter+32,__zero_reg__
1539 0dfc 84E6 ldi r24,lo8(100)
1540 0dfe 8093 0000 sts EE_Parameter+33,r24
1541 0e02 88E2 ldi r24,lo8(40)
1542 0e04 8093 0000 sts EE_Parameter+34,r24
1543 0e08 1092 0000 sts EE_Parameter+38,__zero_reg__
1544 0e0c 9093 0000 sts EE_Parameter+35,r25
1545 0e10 86E9 ldi r24,lo8(-106)
1546 0e12 8093 0000 sts EE_Parameter+36,r24
1547 0e16 3093 0000 sts EE_Parameter+37,r19
1548 0e1a A0E0 ldi r26,lo8(EE_Parameter+46)
1549 0e1c B0E0 ldi r27,hi8(EE_Parameter+46)
1550 0e1e E0E0 ldi r30,lo8(.LC0)
1551 0e20 F0E0 ldi r31,hi8(.LC0)
1552 0e22 8CE0 ldi r24,lo8(12)
1553 .L337:
1554 0e24 0190 ld r0,Z+
1555 0e26 0D92 st X+,r0
1556 0e28 8150 subi r24,lo8(-(-1))
1557 0e2a 01F4 brne .L337
1558 /* epilogue: frame size=0 */
1559 0e2c 0895 ret
1560 /* epilogue end (size=1) */
1561 /* function DefaultKonstanten2 size 110 (109) */
1563 .data
1564 .LC1:
1565 0008 4E6F 726D .string "Normal"
1565 616C 00
1566 000f 00 .string ""
1567 .text
1568 .global DefaultKonstanten1
1570 DefaultKonstanten1:
1571 /* prologue: frame size=0 */
1572 /* prologue end (size=0) */
1573 0e2e 81E0 ldi r24,lo8(1)
1574 0e30 8093 0000 sts EE_Parameter,r24
1575 0e34 52E0 ldi r21,lo8(2)
1576 0e36 5093 0000 sts EE_Parameter+1,r21
1577 0e3a 83E0 ldi r24,lo8(3)
1578 0e3c 8093 0000 sts EE_Parameter+2,r24
1579 0e40 44E0 ldi r20,lo8(4)
1580 0e42 4093 0000 sts EE_Parameter+3,r20
1581 0e46 35E0 ldi r19,lo8(5)
1582 0e48 3093 0000 sts EE_Parameter+4,r19
1583 0e4c 86E0 ldi r24,lo8(6)
1584 0e4e 8093 0000 sts EE_Parameter+5,r24
1585 0e52 87E0 ldi r24,lo8(7)
1586 0e54 8093 0000 sts EE_Parameter+6,r24
1587 0e58 28E0 ldi r18,lo8(8)
1588 0e5a 2093 0000 sts EE_Parameter+7,r18
1589 0e5e 1092 0000 sts EE_Parameter+8,__zero_reg__
1590 0e62 9EE1 ldi r25,lo8(30)
1591 0e64 9093 0000 sts EE_Parameter+9,r25
1592 0e68 8BEF ldi r24,lo8(-5)
1593 0e6a 8093 0000 sts EE_Parameter+11,r24
1594 0e6e 8AE0 ldi r24,lo8(10)
1595 0e70 8093 0000 sts EE_Parameter+12,r24
1596 0e74 86E4 ldi r24,lo8(70)
1597 0e76 8093 0000 sts EE_Parameter+10,r24
1598 0e7a 9093 0000 sts EE_Parameter+14,r25
1599 0e7e 5093 0000 sts EE_Parameter+13,r21
1600 0e82 4093 0000 sts EE_Parameter+15,r20
1601 0e86 2093 0000 sts EE_Parameter+16,r18
1602 0e8a 80E1 ldi r24,lo8(16)
1603 0e8c 8093 0000 sts EE_Parameter+17,r24
1604 0e90 8FE0 ldi r24,lo8(15)
1605 0e92 8093 0000 sts EE_Parameter+18,r24
1606 0e96 8AEF ldi r24,lo8(-6)
1607 0e98 8093 0000 sts EE_Parameter+19,r24
1608 0e9c 8AE1 ldi r24,lo8(26)
1609 0e9e 8093 0000 sts EE_Parameter+20,r24
1610 0ea2 80E8 ldi r24,lo8(-128)
1611 0ea4 8093 0000 sts EE_Parameter+21,r24
1612 0ea8 88E7 ldi r24,lo8(120)
1613 0eaa 8093 0000 sts EE_Parameter+22,r24
1614 0eae 96E9 ldi r25,lo8(-106)
1615 0eb0 9093 0000 sts EE_Parameter+23,r25
1616 0eb4 8AE5 ldi r24,lo8(90)
1617 0eb6 8093 0000 sts EE_Parameter+24,r24
1618 0eba 83E2 ldi r24,lo8(35)
1619 0ebc 8093 0000 sts EE_Parameter+25,r24
1620 0ec0 84E1 ldi r24,lo8(20)
1621 0ec2 8093 0000 sts EE_Parameter+26,r24
1622 0ec6 1092 0000 sts EE_Parameter+27,__zero_reg__
1623 0eca 3093 0000 sts EE_Parameter+28,r19
1624 0ece 1092 0000 sts EE_Parameter+29,__zero_reg__
1625 0ed2 1092 0000 sts EE_Parameter+30,__zero_reg__
1626 0ed6 1092 0000 sts EE_Parameter+31,__zero_reg__
1627 0eda 1092 0000 sts EE_Parameter+32,__zero_reg__
1628 0ede 84E6 ldi r24,lo8(100)
1629 0ee0 8093 0000 sts EE_Parameter+33,r24
1630 0ee4 88E2 ldi r24,lo8(40)
1631 0ee6 8093 0000 sts EE_Parameter+34,r24
1632 0eea 1092 0000 sts EE_Parameter+38,__zero_reg__
1633 0eee 82E3 ldi r24,lo8(50)
1634 0ef0 8093 0000 sts EE_Parameter+35,r24
1635 0ef4 9093 0000 sts EE_Parameter+36,r25
1636 0ef8 3093 0000 sts EE_Parameter+37,r19
1637 0efc A0E0 ldi r26,lo8(EE_Parameter+46)
1638 0efe B0E0 ldi r27,hi8(EE_Parameter+46)
1639 0f00 E0E0 ldi r30,lo8(.LC1)
1640 0f02 F0E0 ldi r31,hi8(.LC1)
1641 0f04 8CE0 ldi r24,lo8(12)
1642 .L342:
1643 0f06 0190 ld r0,Z+
1644 0f08 0D92 st X+,r0
1645 0f0a 8150 subi r24,lo8(-(-1))
1646 0f0c 01F4 brne .L342
1647 /* epilogue: frame size=0 */
1648 0f0e 0895 ret
1649 /* epilogue end (size=1) */
1650 /* function DefaultKonstanten1 size 114 (113) */
1652 .global SendMotorData
1654 SendMotorData:
1655 /* prologue: frame size=0 */
1656 /* prologue end (size=0) */
1657 0f10 8091 0000 lds r24,MotorenEin
1658 0f14 8823 tst r24
1659 0f16 01F4 brne .L347
1660 0f18 1092 0000 sts Motor_Hinten,__zero_reg__
1661 0f1c 1092 0000 sts Motor_Vorne,__zero_reg__
1662 0f20 1092 0000 sts Motor_Rechts,__zero_reg__
1663 0f24 1092 0000 sts Motor_Links,__zero_reg__
1664 0f28 8091 0000 lds r24,MotorTest
1665 0f2c 8823 tst r24
1666 0f2e 01F0 breq .L349
1667 0f30 8093 0000 sts Motor_Vorne,r24
1668 .L349:
1669 0f34 8091 0000 lds r24,MotorTest+1
1670 0f38 8823 tst r24
1671 0f3a 01F0 breq .L351
1672 0f3c 8093 0000 sts Motor_Hinten,r24
1673 .L351:
1674 0f40 8091 0000 lds r24,MotorTest+2
1675 0f44 8823 tst r24
1676 0f46 01F0 breq .L353
1677 0f48 8093 0000 sts Motor_Links,r24
1678 .L353:
1679 0f4c 8091 0000 lds r24,MotorTest+3
1680 0f50 8823 tst r24
1681 0f52 01F0 breq .L347
1682 0f54 8093 0000 sts Motor_Rechts,r24
1683 .L347:
1684 0f58 8091 0000 lds r24,Motor_Vorne
1685 0f5c 9927 clr r25
1686 0f5e 9093 0000 sts (DebugOut+42)+1,r25
1687 0f62 8093 0000 sts DebugOut+42,r24
1688 0f66 8091 0000 lds r24,Motor_Hinten
1689 0f6a 9927 clr r25
1690 0f6c 9093 0000 sts (DebugOut+44)+1,r25
1691 0f70 8093 0000 sts DebugOut+44,r24
1692 0f74 8091 0000 lds r24,Motor_Links
1693 0f78 9927 clr r25
1694 0f7a 9093 0000 sts (DebugOut+46)+1,r25
1695 0f7e 8093 0000 sts DebugOut+46,r24
1696 0f82 8091 0000 lds r24,Motor_Rechts
1697 0f86 9927 clr r25
1698 0f88 9093 0000 sts (DebugOut+48)+1,r25
1699 0f8c 8093 0000 sts DebugOut+48,r24
1700 0f90 1092 0000 sts twi_state,__zero_reg__
1701 0f94 1092 0000 sts motor,__zero_reg__
1702 0f98 0E94 0000 call i2c_start
1703 /* epilogue: frame size=0 */
1704 0f9c 0895 ret
1705 /* epilogue end (size=1) */
1706 /* function SendMotorData size 71 (70) */
1708 .global SetNeutral
1710 SetNeutral:
1711 /* prologue: frame size=0 */
1712 0f9e CF93 push r28
1713 0fa0 DF93 push r29
1714 /* prologue end (size=2) */
1715 0fa2 1092 0000 sts (NeutralAccX)+1,__zero_reg__
1716 0fa6 1092 0000 sts NeutralAccX,__zero_reg__
1717 0faa 1092 0000 sts (NeutralAccY)+1,__zero_reg__
1718 0fae 1092 0000 sts NeutralAccY,__zero_reg__
1719 0fb2 80E0 ldi r24,lo8(0x0)
1720 0fb4 90E0 ldi r25,hi8(0x0)
1721 0fb6 A0E0 ldi r26,hlo8(0x0)
1722 0fb8 B0E0 ldi r27,hhi8(0x0)
1723 0fba 8093 0000 sts NeutralAccZ,r24
1724 0fbe 9093 0000 sts (NeutralAccZ)+1,r25
1725 0fc2 A093 0000 sts (NeutralAccZ)+2,r26
1726 0fc6 B093 0000 sts (NeutralAccZ)+3,r27
1727 0fca 1092 0000 sts (AdNeutralNick)+1,__zero_reg__
1728 0fce 1092 0000 sts AdNeutralNick,__zero_reg__
1729 0fd2 1092 0000 sts (AdNeutralRoll)+1,__zero_reg__
1730 0fd6 1092 0000 sts AdNeutralRoll,__zero_reg__
1731 0fda 1092 0000 sts (AdNeutralGier)+1,__zero_reg__
1732 0fde 1092 0000 sts AdNeutralGier,__zero_reg__
1733 0fe2 0E94 0000 call CalibrierMittelwert
1734 0fe6 85E0 ldi r24,lo8(5)
1735 0fe8 90E0 ldi r25,hi8(5)
1736 0fea 0E94 0000 call SetDelay
1737 0fee EC01 movw r28,r24
1738 .L358:
1739 0ff0 CE01 movw r24,r28
1740 0ff2 0E94 0000 call CheckDelay
1741 0ff6 8823 tst r24
1742 0ff8 01F0 breq .L358
1743 0ffa 0E94 0000 call CalibrierMittelwert
1744 0ffe 8091 0000 lds r24,EE_Parameter+8
1745 1002 80FF sbrs r24,0
1746 1004 00C0 rjmp .L360
1747 1006 8091 0000 lds r24,MessLuftdruck
1748 100a 9091 0000 lds r25,(MessLuftdruck)+1
1749 100e 875B subi r24,lo8(951)
1750 1010 9340 sbci r25,hi8(951)
1751 1012 00F4 brsh .L362
1752 1014 8091 0000 lds r24,MessLuftdruck
1753 1018 9091 0000 lds r25,(MessLuftdruck)+1
1754 101c 8E5E subi r24,lo8(750)
1755 101e 9240 sbci r25,hi8(750)
1756 1020 00F4 brsh .L360
1757 .L362:
1758 1022 0E94 0000 call SucheLuftruckOffset
1759 .L360:
1760 1026 8091 0000 lds r24,MesswertNick
1761 102a 9091 0000 lds r25,(MesswertNick)+1
1762 102e 97FF sbrs r25,7
1763 1030 00C0 rjmp .L364
1764 1032 9095 com r25
1765 1034 8195 neg r24
1766 1036 9F4F sbci r25,lo8(-1)
1767 .L364:
1768 1038 9093 0000 sts (AdNeutralNick)+1,r25
1769 103c 8093 0000 sts AdNeutralNick,r24
1770 1040 8091 0000 lds r24,MesswertRoll
1771 1044 9091 0000 lds r25,(MesswertRoll)+1
1772 1048 97FF sbrs r25,7
1773 104a 00C0 rjmp .L365
1774 104c 9095 com r25
1775 104e 8195 neg r24
1776 1050 9F4F sbci r25,lo8(-1)
1777 .L365:
1778 1052 9093 0000 sts (AdNeutralRoll)+1,r25
1779 1056 8093 0000 sts AdNeutralRoll,r24
1780 105a 8091 0000 lds r24,MesswertGier
1781 105e 9091 0000 lds r25,(MesswertGier)+1
1782 1062 97FF sbrs r25,7
1783 1064 00C0 rjmp .L366
1784 1066 9095 com r25
1785 1068 8195 neg r24
1786 106a 9F4F sbci r25,lo8(-1)
1787 .L366:
1788 106c 9093 0000 sts (AdNeutralGier)+1,r25
1789 1070 8093 0000 sts AdNeutralGier,r24
1790 1074 8091 0000 lds r24,Mittelwert_AccRoll
1791 1078 9091 0000 lds r25,(Mittelwert_AccRoll)+1
1792 107c 97FF sbrs r25,7
1793 107e 00C0 rjmp .L367
1794 1080 9095 com r25
1795 1082 8195 neg r24
1796 1084 9F4F sbci r25,lo8(-1)
1797 .L367:
1798 1086 60E1 ldi r22,lo8(16)
1799 1088 70E0 ldi r23,hi8(16)
1800 108a 0E94 0000 call __divmodhi4
1801 108e 7093 0000 sts (NeutralAccY)+1,r23
1802 1092 6093 0000 sts NeutralAccY,r22
1803 1096 8091 0000 lds r24,Mittelwert_AccNick
1804 109a 9091 0000 lds r25,(Mittelwert_AccNick)+1
1805 109e 97FF sbrs r25,7
1806 10a0 00C0 rjmp .L368
1807 10a2 9095 com r25
1808 10a4 8195 neg r24
1809 10a6 9F4F sbci r25,lo8(-1)
1810 .L368:
1811 10a8 60E1 ldi r22,lo8(16)
1812 10aa 70E0 ldi r23,hi8(16)
1813 10ac 0E94 0000 call __divmodhi4
1814 10b0 7093 0000 sts (NeutralAccX)+1,r23
1815 10b4 6093 0000 sts NeutralAccX,r22
1816 10b8 6091 0000 lds r22,Aktuell_az
1817 10bc 7091 0000 lds r23,(Aktuell_az)+1
1818 10c0 8827 clr r24
1819 10c2 77FD sbrc r23,7
1820 10c4 8095 com r24
1821 10c6 982F mov r25,r24
1822 10c8 0E94 0000 call __floatsisf
1823 10cc 6093 0000 sts NeutralAccZ,r22
1824 10d0 7093 0000 sts (NeutralAccZ)+1,r23
1825 10d4 8093 0000 sts (NeutralAccZ)+2,r24
1826 10d8 9093 0000 sts (NeutralAccZ)+3,r25
1827 10dc 1092 0000 sts Mess_IntegralNick,__zero_reg__
1828 10e0 1092 0000 sts (Mess_IntegralNick)+1,__zero_reg__
1829 10e4 1092 0000 sts (Mess_IntegralNick)+2,__zero_reg__
1830 10e8 1092 0000 sts (Mess_IntegralNick)+3,__zero_reg__
1831 10ec 1092 0000 sts Mess_IntegralNick2,__zero_reg__
1832 10f0 1092 0000 sts (Mess_IntegralNick2)+1,__zero_reg__
1833 10f4 1092 0000 sts (Mess_IntegralNick2)+2,__zero_reg__
1834 10f8 1092 0000 sts (Mess_IntegralNick2)+3,__zero_reg__
1835 10fc 1092 0000 sts Mess_IntegralRoll,__zero_reg__
1836 1100 1092 0000 sts (Mess_IntegralRoll)+1,__zero_reg__
1837 1104 1092 0000 sts (Mess_IntegralRoll)+2,__zero_reg__
1838 1108 1092 0000 sts (Mess_IntegralRoll)+3,__zero_reg__
1839 110c 1092 0000 sts Mess_IntegralRoll2,__zero_reg__
1840 1110 1092 0000 sts (Mess_IntegralRoll2)+1,__zero_reg__
1841 1114 1092 0000 sts (Mess_IntegralRoll2)+2,__zero_reg__
1842 1118 1092 0000 sts (Mess_IntegralRoll2)+3,__zero_reg__
1843 111c 1092 0000 sts Mess_Integral_Gier,__zero_reg__
1844 1120 1092 0000 sts (Mess_Integral_Gier)+1,__zero_reg__
1845 1124 1092 0000 sts (Mess_Integral_Gier)+2,__zero_reg__
1846 1128 1092 0000 sts (Mess_Integral_Gier)+3,__zero_reg__
1847 112c 1092 0000 sts (MesswertNick)+1,__zero_reg__
1848 1130 1092 0000 sts MesswertNick,__zero_reg__
1849 1134 1092 0000 sts (MesswertRoll)+1,__zero_reg__
1850 1138 1092 0000 sts MesswertRoll,__zero_reg__
1851 113c 1092 0000 sts (MesswertGier)+1,__zero_reg__
1852 1140 1092 0000 sts MesswertGier,__zero_reg__
1853 1144 8091 0000 lds r24,Luftdruck
1854 1148 9091 0000 lds r25,(Luftdruck)+1
1855 114c A091 0000 lds r26,(Luftdruck)+2
1856 1150 B091 0000 lds r27,(Luftdruck)+3
1857 1154 9093 0000 sts (StartLuftdruck)+1,r25
1858 1158 8093 0000 sts StartLuftdruck,r24
1859 115c 1092 0000 sts (HoeheD)+1,__zero_reg__
1860 1160 1092 0000 sts HoeheD,__zero_reg__
1861 1164 1092 0000 sts Mess_Integral_Hoch,__zero_reg__
1862 1168 1092 0000 sts (Mess_Integral_Hoch)+1,__zero_reg__
1863 116c 1092 0000 sts (Mess_Integral_Hoch)+2,__zero_reg__
1864 1170 1092 0000 sts (Mess_Integral_Hoch)+3,__zero_reg__
1865 1174 8091 0000 lds r24,KompassValue
1866 1178 9091 0000 lds r25,(KompassValue)+1
1867 117c 9093 0000 sts (KompassStartwert)+1,r25
1868 1180 8093 0000 sts KompassStartwert,r24
1869 1184 82E3 ldi r24,lo8(50)
1870 1186 90E0 ldi r25,hi8(50)
1871 1188 9093 0000 sts (beeptime)+1,r25
1872 118c 8093 0000 sts beeptime,r24
1873 /* epilogue: frame size=0 */
1874 1190 DF91 pop r29
1875 1192 CF91 pop r28
1876 1194 0895 ret
1877 /* epilogue end (size=3) */
1878 /* function SetNeutral size 254 (249) */
1880 .global Piep
1882 Piep:
1883 /* prologue: frame size=0 */
1884 1196 1F93 push r17
1885 /* prologue end (size=1) */
1886 1198 182F mov r17,r24
1887 119a 00C0 rjmp .L373
1888 .L374:
1889 119c 8091 0000 lds r24,MotorenEin
1890 11a0 8823 tst r24
1891 11a2 01F4 brne .L377
1892 11a4 84E6 ldi r24,lo8(100)
1893 11a6 90E0 ldi r25,hi8(100)
1894 11a8 9093 0000 sts (beeptime)+1,r25
1895 11ac 8093 0000 sts beeptime,r24
1896 11b0 8AEF ldi r24,lo8(250)
1897 11b2 90E0 ldi r25,hi8(250)
1898 11b4 0E94 0000 call Delay_ms
1899 .L373:
1900 11b8 1150 subi r17,1
1901 11ba 00F4 brcc .L374
1902 .L377:
1903 /* epilogue: frame size=0 */
1904 11bc 1F91 pop r17
1905 11be 0895 ret
1906 /* epilogue end (size=2) */
1907 /* function Piep size 22 (19) */
1909 .global MotorRegler
1911 MotorRegler:
1912 /* prologue: frame size=4 */
1913 11c0 2F92 push r2
1914 11c2 3F92 push r3
1915 11c4 4F92 push r4
1916 11c6 5F92 push r5
1917 11c8 6F92 push r6
1918 11ca 7F92 push r7
1919 11cc 8F92 push r8
1920 11ce 9F92 push r9
1921 11d0 AF92 push r10
1922 11d2 BF92 push r11
1923 11d4 CF92 push r12
1924 11d6 DF92 push r13
1925 11d8 EF92 push r14
1926 11da FF92 push r15
1927 11dc 0F93 push r16
1928 11de 1F93 push r17
1929 11e0 CF93 push r28
1930 11e2 DF93 push r29
1931 11e4 CDB7 in r28,__SP_L__
1932 11e6 DEB7 in r29,__SP_H__
1933 11e8 2497 sbiw r28,4
1934 11ea 0FB6 in __tmp_reg__,__SREG__
1935 11ec F894 cli
1936 11ee DEBF out __SP_H__,r29
1937 11f0 0FBE out __SREG__,__tmp_reg__
1938 11f2 CDBF out __SP_L__,r28
1939 /* prologue end (size=26) */
1940 11f4 0E94 0000 call Mittelwert
1941 11f8 299A sbi 37-0x20,1
1942 11fa E091 0000 lds r30,EE_Parameter+2
1943 11fe AE2F mov r26,r30
1944 1200 BB27 clr r27
1945 1202 AA0F lsl r26
1946 1204 BB1F rol r27
1947 1206 A050 subi r26,lo8(-(PPM_in))
1948 1208 B040 sbci r27,hi8(-(PPM_in))
1949 120a 0D90 ld __tmp_reg__,X+
1950 120c BC91 ld r27,X
1951 120e A02D mov r26,__tmp_reg__
1952 1210 9D01 movw r18,r26
1953 1212 2858 subi r18,lo8(-(120))
1954 1214 3F4F sbci r19,hi8(-(120))
1955 1216 3A83 std Y+2,r19
1956 1218 2983 std Y+1,r18
1957 121a 37FF sbrs r19,7
1958 121c 00C0 rjmp .L379
1959 121e 1A82 std Y+2,__zero_reg__
1960 1220 1982 std Y+1,__zero_reg__
1961 .L379:
1962 1222 8091 0000 lds r24,SenderOkay
1963 1226 8436 cpi r24,lo8(100)
1964 1228 00F0 brlo .+2
1965 122a 00C0 rjmp .L380
1966 122c 8091 0000 lds r24,PcZugriff
1967 1230 8823 tst r24
1968 1232 01F4 brne .L382
1969 1234 84EF ldi r24,lo8(500)
1970 1236 91E0 ldi r25,hi8(500)
1971 1238 9093 0000 sts (beeptime)+1,r25
1972 123c 8093 0000 sts beeptime,r24
1973 .L382:
1974 1240 8091 0000 lds r24,RcLostTimer.2356
1975 1244 9091 0000 lds r25,(RcLostTimer.2356)+1
1976 1248 0097 sbiw r24,0
1977 124a 01F0 breq .L384
1978 124c 0197 sbiw r24,1
1979 124e 9093 0000 sts (RcLostTimer.2356)+1,r25
1980 1252 8093 0000 sts RcLostTimer.2356,r24
1981 1256 00C0 rjmp .L386
1982 .L384:
1983 1258 1092 0000 sts MotorenEin,__zero_reg__
1984 125c 1092 0000 sts Notlandung,__zero_reg__
1985 .L386:
1986 1260 289A sbi 37-0x20,0
1987 1262 8091 0000 lds r24,modell_fliegt.2360
1988 1266 9091 0000 lds r25,(modell_fliegt.2360)+1
1989 126a 815D subi r24,lo8(2001)
1990 126c 9740 sbci r25,hi8(2001)
1991 126e 00F0 brlo .L387
1992 1270 8091 0000 lds r24,EE_Parameter+25
1993 1274 482F mov r20,r24
1994 1276 5527 clr r21
1995 1278 5A83 std Y+2,r21
1996 127a 4983 std Y+1,r20
1997 127c 81E0 ldi r24,lo8(1)
1998 127e 8093 0000 sts Notlandung,r24
1999 1282 E091 0000 lds r30,EE_Parameter
2000 1286 FF27 clr r31
2001 1288 EE0F lsl r30
2002 128a FF1F rol r31
2003 128c E050 subi r30,lo8(-(PPM_in))
2004 128e F040 sbci r31,hi8(-(PPM_in))
2005 1290 1182 std Z+1,__zero_reg__
2006 1292 1082 st Z,__zero_reg__
2007 1294 E091 0000 lds r30,EE_Parameter+1
2008 1298 FF27 clr r31
2009 129a EE0F lsl r30
2010 129c FF1F rol r31
2011 129e E050 subi r30,lo8(-(PPM_in))
2012 12a0 F040 sbci r31,hi8(-(PPM_in))
2013 12a2 1182 std Z+1,__zero_reg__
2014 12a4 1082 st Z,__zero_reg__
2015 12a6 E091 0000 lds r30,EE_Parameter+3
2016 12aa FF27 clr r31
2017 12ac EE0F lsl r30
2018 12ae FF1F rol r31
2019 12b0 E050 subi r30,lo8(-(PPM_in))
2020 12b2 F040 sbci r31,hi8(-(PPM_in))
2021 12b4 1182 std Z+1,__zero_reg__
2022 12b6 1082 st Z,__zero_reg__
2023 12b8 00C0 rjmp .L389
2024 .L387:
2025 12ba 1092 0000 sts MotorenEin,__zero_reg__
2026 12be 00C0 rjmp .L389
2027 .L380:
2028 12c0 8091 0000 lds r24,SenderOkay
2029 12c4 8D38 cpi r24,lo8(-115)
2030 12c6 00F4 brsh .+2
2031 12c8 00C0 rjmp .L389
2032 12ca 1092 0000 sts Notlandung,__zero_reg__
2033 12ce 8091 0000 lds r24,EE_Parameter+26
2034 12d2 22E3 ldi r18,lo8(50)
2035 12d4 829F mul r24,r18
2036 12d6 C001 movw r24,r0
2037 12d8 1124 clr r1
2038 12da 9093 0000 sts (RcLostTimer.2356)+1,r25
2039 12de 8093 0000 sts RcLostTimer.2356,r24
2040 12e2 6981 ldd r22,Y+1
2041 12e4 7A81 ldd r23,Y+2
2042 12e6 6932 cpi r22,41
2043 12e8 7105 cpc r23,__zero_reg__
2044 12ea 04F0 brlt .L391
2045 12ec 8091 0000 lds r24,modell_fliegt.2360
2046 12f0 9091 0000 lds r25,(modell_fliegt.2360)+1
2047 12f4 7FEF ldi r23,hi8(-1)
2048 12f6 8F3F cpi r24,lo8(-1)
2049 12f8 9707 cpc r25,r23
2050 12fa 01F0 breq .L393
2051 12fc 0196 adiw r24,1
2052 12fe 9093 0000 sts (modell_fliegt.2360)+1,r25
2053 1302 8093 0000 sts modell_fliegt.2360,r24
2054 .L391:
2055 1306 8091 0000 lds r24,modell_fliegt.2360
2056 130a 9091 0000 lds r25,(modell_fliegt.2360)+1
2057 130e 883C cpi r24,200
2058 1310 9105 cpc r25,__zero_reg__
2059 1312 00F0 brlo .L395
2060 1314 8981 ldd r24,Y+1
2061 1316 9A81 ldd r25,Y+2
2062 1318 8897 sbiw r24,40
2063 131a 04F4 brge .L393
2064 .L395:
2065 131c 1092 0000 sts SummeNick.2349,__zero_reg__
2066 1320 1092 0000 sts (SummeNick.2349)+1,__zero_reg__
2067 1324 1092 0000 sts (SummeNick.2349)+2,__zero_reg__
2068 1328 1092 0000 sts (SummeNick.2349)+3,__zero_reg__
2069 132c 1092 0000 sts SummeRoll.2350,__zero_reg__
2070 1330 1092 0000 sts (SummeRoll.2350)+1,__zero_reg__
2071 1334 1092 0000 sts (SummeRoll.2350)+2,__zero_reg__
2072 1338 1092 0000 sts (SummeRoll.2350)+3,__zero_reg__
2073 133c 1092 0000 sts Mess_Integral_Gier,__zero_reg__
2074 1340 1092 0000 sts (Mess_Integral_Gier)+1,__zero_reg__
2075 1344 1092 0000 sts (Mess_Integral_Gier)+2,__zero_reg__
2076 1348 1092 0000 sts (Mess_Integral_Gier)+3,__zero_reg__
2077 134c 1092 0000 sts Mess_Integral_Gier2,__zero_reg__
2078 1350 1092 0000 sts (Mess_Integral_Gier2)+1,__zero_reg__
2079 1354 1092 0000 sts (Mess_Integral_Gier2)+2,__zero_reg__
2080 1358 1092 0000 sts (Mess_Integral_Gier2)+3,__zero_reg__
2081 .L393:
2082 135c E981 ldd r30,Y+1
2083 135e FA81 ldd r31,Y+2
2084 1360 E93C cpi r30,201
2085 1362 F105 cpc r31,__zero_reg__
2086 1364 04F4 brge .+2
2087 1366 00C0 rjmp .L397
2088 1368 8091 0000 lds r24,MotorenEin
2089 136c 8823 tst r24
2090 136e 01F0 breq .+2
2091 1370 00C0 rjmp .L389
2092 1372 E091 0000 lds r30,EE_Parameter+3
2093 1376 FF27 clr r31
2094 1378 EE0F lsl r30
2095 137a FF1F rol r31
2096 137c E050 subi r30,lo8(-(PPM_in))
2097 137e F040 sbci r31,hi8(-(PPM_in))
2098 1380 8081 ld r24,Z
2099 1382 9181 ldd r25,Z+1
2100 1384 8C34 cpi r24,76
2101 1386 9105 cpc r25,__zero_reg__
2102 1388 04F4 brge .+2
2103 138a 00C0 rjmp .L400
2104 138c 8091 0000 lds r24,delay_neutral.2357
2105 1390 8F5F subi r24,lo8(-(1))
2106 1392 8093 0000 sts delay_neutral.2357,r24
2107 1396 893C cpi r24,lo8(-55)
2108 1398 00F4 brsh .+2
2109 139a 00C0 rjmp .L389
2110 139c 2998 cbi 37-0x20,1
2111 139e 0E94 0000 call SetNeutral
2112 13a2 1092 0000 sts MotorenEin,__zero_reg__
2113 13a6 1092 0000 sts delay_neutral.2357,__zero_reg__
2114 13aa 1092 0000 sts (modell_fliegt.2360)+1,__zero_reg__
2115 13ae 1092 0000 sts modell_fliegt.2360,__zero_reg__
2116 13b2 8091 0000 lds r24,EE_Parameter
2117 13b6 282F mov r18,r24
2118 13b8 3327 clr r19
2119 13ba F901 movw r30,r18
2120 13bc EE0F lsl r30
2121 13be FF1F rol r31
2122 13c0 E050 subi r30,lo8(-(PPM_in))
2123 13c2 F040 sbci r31,hi8(-(PPM_in))
2124 13c4 8081 ld r24,Z
2125 13c6 9181 ldd r25,Z+1
2126 13c8 8734 cpi r24,71
2127 13ca 9105 cpc r25,__zero_reg__
2128 13cc 04F4 brge .L403
2129 13ce E091 0000 lds r30,EE_Parameter+1
2130 13d2 FF27 clr r31
2131 13d4 EE0F lsl r30
2132 13d6 FF1F rol r31
2133 13d8 E050 subi r30,lo8(-(PPM_in))
2134 13da F040 sbci r31,hi8(-(PPM_in))
2135 13dc 0190 ld __tmp_reg__,Z+
2136 13de F081 ld r31,Z
2137 13e0 E02D mov r30,__tmp_reg__
2138 13e2 F7FF sbrs r31,7
2139 13e4 00C0 rjmp .L406
2140 13e6 F095 com r31
2141 13e8 E195 neg r30
2142 13ea FF4F sbci r31,lo8(-1)
2143 .L406:
2144 13ec E734 cpi r30,71
2145 13ee F105 cpc r31,__zero_reg__
2146 13f0 04F4 brge .+2
2147 13f2 00C0 rjmp .L405
2148 .L403:
2149 13f4 8091 0000 lds r24,EE_Parameter+1
2150 13f8 682F mov r22,r24
2151 13fa 7727 clr r23
2152 13fc DB01 movw r26,r22
2153 13fe AA0F lsl r26
2154 1400 BB1F rol r27
2155 1402 A050 subi r26,lo8(-(PPM_in))
2156 1404 B040 sbci r27,hi8(-(PPM_in))
2157 1406 8D91 ld r24,X+
2158 1408 9C91 ld r25,X
2159 140a 1197 sbiw r26,1
2160 140c 8734 cpi r24,71
2161 140e 9105 cpc r25,__zero_reg__
2162 1410 04F0 brlt .L407
2163 1412 F901 movw r30,r18
2164 1414 EE0F lsl r30
2165 1416 FF1F rol r31
2166 1418 E050 subi r30,lo8(-(PPM_in))
2167 141a F040 sbci r31,hi8(-(PPM_in))
2168 141c 8081 ld r24,Z
2169 141e 9181 ldd r25,Z+1
2170 .L407:
2171 1420 8D91 ld r24,X+
2172 1422 9C91 ld r25,X
2173 1424 8734 cpi r24,71
2174 1426 9105 cpc r25,__zero_reg__
2175 1428 04F0 brlt .L409
2176 142a F901 movw r30,r18
2177 142c EE0F lsl r30
2178 142e FF1F rol r31
2179 1430 E050 subi r30,lo8(-(PPM_in))
2180 1432 F040 sbci r31,hi8(-(PPM_in))
2181 1434 8081 ld r24,Z
2182 1436 9181 ldd r25,Z+1
2183 1438 8734 cpi r24,71
2184 143a 9105 cpc r25,__zero_reg__
2185 143c 04F0 brlt .L409
2186 143e 42E0 ldi r20,lo8(2)
2187 1440 00C0 rjmp .L412
2188 .L409:
2189 1442 41E0 ldi r20,lo8(1)
2190 .L412:
2191 1444 FB01 movw r30,r22
2192 1446 EE0F lsl r30
2193 1448 FF1F rol r31
2194 144a E050 subi r30,lo8(-(PPM_in))
2195 144c F040 sbci r31,hi8(-(PPM_in))
2196 144e 8081 ld r24,Z
2197 1450 9181 ldd r25,Z+1
2198 1452 8634 cpi r24,70
2199 1454 9105 cpc r25,__zero_reg__
2200 1456 04F4 brge .L413
2201 1458 F901 movw r30,r18
2202 145a EE0F lsl r30
2203 145c FF1F rol r31
2204 145e E050 subi r30,lo8(-(PPM_in))
2205 1460 F040 sbci r31,hi8(-(PPM_in))
2206 1462 8081 ld r24,Z
2207 1464 9181 ldd r25,Z+1
2208 1466 8734 cpi r24,71
2209 1468 9105 cpc r25,__zero_reg__
2210 146a 04F0 brlt .L413
2211 146c 43E0 ldi r20,lo8(3)
2212 .L413:
2213 146e FB01 movw r30,r22
2214 1470 EE0F lsl r30
2215 1472 FF1F rol r31
2216 1474 E050 subi r30,lo8(-(PPM_in))
2217 1476 F040 sbci r31,hi8(-(PPM_in))
2218 1478 8081 ld r24,Z
2219 147a 9181 ldd r25,Z+1
2220 147c 8A5B subi r24,lo8(-70)
2221 147e 9F4F sbci r25,hi8(-70)
2222 1480 04F4 brge .L416
2223 1482 F901 movw r30,r18
2224 1484 EE0F lsl r30
2225 1486 FF1F rol r31
2226 1488 E050 subi r30,lo8(-(PPM_in))
2227 148a F040 sbci r31,hi8(-(PPM_in))
2228 148c 8081 ld r24,Z
2229 148e 9181 ldd r25,Z+1
2230 1490 8734 cpi r24,71
2231 1492 9105 cpc r25,__zero_reg__
2232 1494 04F0 brlt .L416
2233 1496 44E0 ldi r20,lo8(4)
2234 .L416:
2235 1498 660F lsl r22
2236 149a 771F rol r23
2237 149c 6050 subi r22,lo8(-(PPM_in))
2238 149e 7040 sbci r23,hi8(-(PPM_in))
2239 14a0 FB01 movw r30,r22
2240 14a2 8081 ld r24,Z
2241 14a4 9181 ldd r25,Z+1
2242 14a6 8A5B subi r24,lo8(-70)
2243 14a8 9F4F sbci r25,hi8(-70)
2244 14aa 04F4 brge .L419
2245 14ac 220F lsl r18
2246 14ae 331F rol r19
2247 14b0 2050 subi r18,lo8(-(PPM_in))
2248 14b2 3040 sbci r19,hi8(-(PPM_in))
2249 14b4 F901 movw r30,r18
2250 14b6 8081 ld r24,Z
2251 14b8 9181 ldd r25,Z+1
2252 14ba 8634 cpi r24,70
2253 14bc 9105 cpc r25,__zero_reg__
2254 14be 04F4 brge .L419
2255 14c0 45E0 ldi r20,lo8(5)
2256 .L419:
2257 14c2 A0E0 ldi r26,lo8(EEPromArray+2)
2258 14c4 B0E0 ldi r27,hi8(EEPromArray+2)
2259 /* #APP */
2260 14c6 042E mov __tmp_reg__,r20
2261 14c8 0E94 0000 call __eeprom_write_byte_1F2021
2262 /* #NOAPP */
2263 .L405:
2264 14cc 0E94 0000 call GetActiveParamSetNumber
2265 14d0 4AE3 ldi r20,lo8(58)
2266 14d2 60E0 ldi r22,lo8(EE_Parameter)
2267 14d4 70E0 ldi r23,hi8(EE_Parameter)
2268 14d6 0E94 0000 call ReadParameterSet
2269 14da 0E94 0000 call GetActiveParamSetNumber
2270 14de 0E94 0000 call Piep
2271 14e2 8091 0000 lds r24,EE_Parameter+8
2272 14e6 80FF sbrs r24,0
2273 14e8 00C0 rjmp .L389
2274 14ea 8091 0000 lds r24,MessLuftdruck
2275 14ee 9091 0000 lds r25,(MessLuftdruck)+1
2276 14f2 875B subi r24,lo8(951)
2277 14f4 9340 sbci r25,hi8(951)
2278 14f6 00F4 brsh .L423
2279 14f8 8091 0000 lds r24,MessLuftdruck
2280 14fc 9091 0000 lds r25,(MessLuftdruck)+1
2281 1500 8E5E subi r24,lo8(750)
2282 1502 9240 sbci r25,hi8(750)
2283 1504 00F0 brlo .+2
2284 1506 00C0 rjmp .L389
2285 .L423:
2286 1508 0E94 0000 call SucheLuftruckOffset
2287 150c 00C0 rjmp .L389
2288 .L400:
2289 150e 1092 0000 sts delay_neutral.2357,__zero_reg__
2290 1512 00C0 rjmp .L389
2291 .L397:
2292 1514 4981 ldd r20,Y+1
2293 1516 5A81 ldd r21,Y+2
2294 1518 4332 cpi r20,35
2295 151a 5105 cpc r21,__zero_reg__
2296 151c 04F0 brlt .+2
2297 151e 00C0 rjmp .L389
2298 1520 8091 0000 lds r24,EE_Parameter+3
2299 1524 482F mov r20,r24
2300 1526 5527 clr r21
2301 1528 FA01 movw r30,r20
2302 152a EE0F lsl r30
2303 152c FF1F rol r31
2304 152e E050 subi r30,lo8(-(PPM_in))
2305 1530 F040 sbci r31,hi8(-(PPM_in))
2306 1532 8081 ld r24,Z
2307 1534 9181 ldd r25,Z+1
2308 1536 855B subi r24,lo8(-75)
2309 1538 9F4F sbci r25,hi8(-75)
2310 153a 04F0 brlt .+2
2311 153c 00C0 rjmp .L426
2312 153e 8091 0000 lds r24,delay_einschalten.2358
2313 1542 8F5F subi r24,lo8(-(1))
2314 1544 8093 0000 sts delay_einschalten.2358,r24
2315 1548 893C cpi r24,lo8(-55)
2316 154a 00F4 brsh .+2
2317 154c 00C0 rjmp .L428
2318 154e 88EC ldi r24,lo8(-56)
2319 1550 8093 0000 sts delay_einschalten.2358,r24
2320 1554 81E0 ldi r24,lo8(1)
2321 1556 90E0 ldi r25,hi8(1)
2322 1558 9093 0000 sts (modell_fliegt.2360)+1,r25
2323 155c 8093 0000 sts modell_fliegt.2360,r24
2324 1560 81E0 ldi r24,lo8(1)
2325 1562 8093 0000 sts MotorenEin,r24
2326 1566 1092 0000 sts sollGier.2351,__zero_reg__
2327 156a 1092 0000 sts (sollGier.2351)+1,__zero_reg__
2328 156e 1092 0000 sts (sollGier.2351)+2,__zero_reg__
2329 1572 1092 0000 sts (sollGier.2351)+3,__zero_reg__
2330 1576 1092 0000 sts Mess_Integral_Gier,__zero_reg__
2331 157a 1092 0000 sts (Mess_Integral_Gier)+1,__zero_reg__
2332 157e 1092 0000 sts (Mess_Integral_Gier)+2,__zero_reg__
2333 1582 1092 0000 sts (Mess_Integral_Gier)+3,__zero_reg__
2334 1586 1092 0000 sts Mess_Integral_Gier2,__zero_reg__
2335 158a 1092 0000 sts (Mess_Integral_Gier2)+1,__zero_reg__
2336 158e 1092 0000 sts (Mess_Integral_Gier2)+2,__zero_reg__
2337 1592 1092 0000 sts (Mess_Integral_Gier2)+3,__zero_reg__
2338 1596 1092 0000 sts Mess_IntegralNick,__zero_reg__
2339 159a 1092 0000 sts (Mess_IntegralNick)+1,__zero_reg__
2340 159e 1092 0000 sts (Mess_IntegralNick)+2,__zero_reg__
2341 15a2 1092 0000 sts (Mess_IntegralNick)+3,__zero_reg__
2342 15a6 1092 0000 sts Mess_IntegralRoll,__zero_reg__
2343 15aa 1092 0000 sts (Mess_IntegralRoll)+1,__zero_reg__
2344 15ae 1092 0000 sts (Mess_IntegralRoll)+2,__zero_reg__
2345 15b2 1092 0000 sts (Mess_IntegralRoll)+3,__zero_reg__
2346 15b6 8091 0000 lds r24,IntegralNick
2347 15ba 9091 0000 lds r25,(IntegralNick)+1
2348 15be A091 0000 lds r26,(IntegralNick)+2
2349 15c2 B091 0000 lds r27,(IntegralNick)+3
2350 15c6 8093 0000 sts Mess_IntegralNick2,r24
2351 15ca 9093 0000 sts (Mess_IntegralNick2)+1,r25
2352 15ce A093 0000 sts (Mess_IntegralNick2)+2,r26
2353 15d2 B093 0000 sts (Mess_IntegralNick2)+3,r27
2354 15d6 8091 0000 lds r24,IntegralRoll
2355 15da 9091 0000 lds r25,(IntegralRoll)+1
2356 15de A091 0000 lds r26,(IntegralRoll)+2
2357 15e2 B091 0000 lds r27,(IntegralRoll)+3
2358 15e6 8093 0000 sts Mess_IntegralRoll2,r24
2359 15ea 9093 0000 sts (Mess_IntegralRoll2)+1,r25
2360 15ee A093 0000 sts (Mess_IntegralRoll2)+2,r26
2361 15f2 B093 0000 sts (Mess_IntegralRoll2)+3,r27
2362 15f6 1092 0000 sts SummeNick.2349,__zero_reg__
2363 15fa 1092 0000 sts (SummeNick.2349)+1,__zero_reg__
2364 15fe 1092 0000 sts (SummeNick.2349)+2,__zero_reg__
2365 1602 1092 0000 sts (SummeNick.2349)+3,__zero_reg__
2366 1606 1092 0000 sts SummeRoll.2350,__zero_reg__
2367 160a 1092 0000 sts (SummeRoll.2350)+1,__zero_reg__
2368 160e 1092 0000 sts (SummeRoll.2350)+2,__zero_reg__
2369 1612 1092 0000 sts (SummeRoll.2350)+3,__zero_reg__
2370 1616 00C0 rjmp .L428
2371 .L426:
2372 1618 1092 0000 sts delay_einschalten.2358,__zero_reg__
2373 .L428:
2374 161c 440F lsl r20
2375 161e 551F rol r21
2376 1620 4050 subi r20,lo8(-(PPM_in))
2377 1622 5040 sbci r21,hi8(-(PPM_in))
2378 1624 FA01 movw r30,r20
2379 1626 8081 ld r24,Z
2380 1628 9181 ldd r25,Z+1
2381 162a 8C34 cpi r24,76
2382 162c 9105 cpc r25,__zero_reg__
2383 162e 04F0 brlt .L430
2384 1630 8091 0000 lds r24,delay_ausschalten.2359
2385 1634 8F5F subi r24,lo8(-(1))
2386 1636 8093 0000 sts delay_ausschalten.2359,r24
2387 163a 893C cpi r24,lo8(-55)
2388 163c 00F0 brlo .L389
2389 163e 1092 0000 sts MotorenEin,__zero_reg__
2390 1642 88EC ldi r24,lo8(-56)
2391 1644 8093 0000 sts delay_ausschalten.2359,r24
2392 1648 1092 0000 sts (modell_fliegt.2360)+1,__zero_reg__
2393 164c 1092 0000 sts modell_fliegt.2360,__zero_reg__
2394 1650 00C0 rjmp .L389
2395 .L430:
2396 1652 1092 0000 sts delay_ausschalten.2359,__zero_reg__
2397 .L389:
2398 1656 8091 0000 lds r24,NewPpmData
2399 165a 8150 subi r24,lo8(-(-1))
2400 165c 8093 0000 sts NewPpmData,r24
2401 1660 8091 0000 lds r24,NewPpmData
2402 1664 8F3F cpi r24,lo8(-1)
2403 1666 01F0 breq .L433
2404 1668 8091 0000 lds r24,Notlandung
2405 166c 8823 tst r24
2406 166e 01F4 brne .+2
2407 1670 00C0 rjmp .L435
2408 .L433:
2409 1672 0E94 0000 call ParameterZuordnung
2410 1676 E091 0000 lds r30,EE_Parameter
2411 167a FF27 clr r31
2412 167c EE0F lsl r30
2413 167e FF1F rol r31
2414 1680 DF01 movw r26,r30
2415 1682 A050 subi r26,lo8(-(PPM_in))
2416 1684 B040 sbci r27,hi8(-(PPM_in))
2417 1686 8D91 ld r24,X+
2418 1688 9C91 ld r25,X
2419 168a 6091 0000 lds r22,EE_Parameter+15
2420 168e 7727 clr r23
2421 1690 E050 subi r30,lo8(-(PPM_diff))
2422 1692 F040 sbci r31,hi8(-(PPM_diff))
2423 1694 2081 ld r18,Z
2424 1696 3181 ldd r19,Z+1
2425 1698 4091 0000 lds r20,EE_Parameter+16
2426 169c 5527 clr r21
2427 169e FC01 movw r30,r24
2428 16a0 E69F mul r30,r22
2429 16a2 C001 movw r24,r0
2430 16a4 E79F mul r30,r23
2431 16a6 900D add r25,r0
2432 16a8 F69F mul r31,r22
2433 16aa 900D add r25,r0
2434 16ac 1124 clr r1
2435 16ae F901 movw r30,r18
2436 16b0 E49F mul r30,r20
2437 16b2 9001 movw r18,r0
2438 16b4 E59F mul r30,r21
2439 16b6 300D add r19,r0
2440 16b8 F49F mul r31,r20
2441 16ba 300D add r19,r0
2442 16bc 1124 clr r1
2443 16be 820F add r24,r18
2444 16c0 931F adc r25,r19
2445 16c2 9093 0000 sts (StickNick)+1,r25
2446 16c6 8093 0000 sts StickNick,r24
2447 16ca E091 0000 lds r30,EE_Parameter+1
2448 16ce FF27 clr r31
2449 16d0 EE0F lsl r30
2450 16d2 FF1F rol r31
2451 16d4 DF01 movw r26,r30
2452 16d6 A050 subi r26,lo8(-(PPM_in))
2453 16d8 B040 sbci r27,hi8(-(PPM_in))
2454 16da 8D91 ld r24,X+
2455 16dc 9C91 ld r25,X
2456 16de E050 subi r30,lo8(-(PPM_diff))
2457 16e0 F040 sbci r31,hi8(-(PPM_diff))
2458 16e2 2081 ld r18,Z
2459 16e4 3181 ldd r19,Z+1
2460 16e6 FC01 movw r30,r24
2461 16e8 E69F mul r30,r22
2462 16ea C001 movw r24,r0
2463 16ec E79F mul r30,r23
2464 16ee 900D add r25,r0
2465 16f0 F69F mul r31,r22
2466 16f2 900D add r25,r0
2467 16f4 1124 clr r1
2468 16f6 B901 movw r22,r18
2469 16f8 649F mul r22,r20
2470 16fa 9001 movw r18,r0
2471 16fc 659F mul r22,r21
2472 16fe 300D add r19,r0
2473 1700 749F mul r23,r20
2474 1702 300D add r19,r0
2475 1704 1124 clr r1
2476 1706 820F add r24,r18
2477 1708 931F adc r25,r19
2478 170a 9093 0000 sts (StickRoll)+1,r25
2479 170e 8093 0000 sts StickRoll,r24
2480 1712 E091 0000 lds r30,EE_Parameter+3
2481 1716 FF27 clr r31
2482 1718 EE0F lsl r30
2483 171a FF1F rol r31
2484 171c E050 subi r30,lo8(-(PPM_in))
2485 171e F040 sbci r31,hi8(-(PPM_in))
2486 1720 8081 ld r24,Z
2487 1722 9181 ldd r25,Z+1
2488 1724 9095 com r25
2489 1726 8195 neg r24
2490 1728 9F4F sbci r25,lo8(-1)
2491 172a 9093 0000 sts (StickGier)+1,r25
2492 172e 8093 0000 sts StickGier,r24
2493 1732 1091 0000 lds r17,Parameter_Gyro_P
2494 1736 612F mov r22,r17
2495 1738 7727 clr r23
2496 173a 67FD sbrc r22,7
2497 173c 7095 com r23
2498 173e 872F mov r24,r23
2499 1740 972F mov r25,r23
2500 1742 0E94 0000 call __floatsisf
2501 1746 17FF sbrs r17,7
2502 1748 00C0 rjmp .L436
2503 174a 20E0 ldi r18,lo8(0x43800000)
2504 174c 30E0 ldi r19,hi8(0x43800000)
2505 174e 40E8 ldi r20,hlo8(0x43800000)
2506 1750 53E4 ldi r21,hhi8(0x43800000)
2507 1752 0E94 0000 call __addsf3
2508 .L436:
2509 1756 20E0 ldi r18,lo8(0x41200000)
2510 1758 30E0 ldi r19,hi8(0x41200000)
2511 175a 40E2 ldi r20,hlo8(0x41200000)
2512 175c 51E4 ldi r21,hhi8(0x41200000)
2513 175e 0E94 0000 call __addsf3
2514 1762 20E0 ldi r18,lo8(0x3b800000)
2515 1764 30E0 ldi r19,hi8(0x3b800000)
2516 1766 40E8 ldi r20,hlo8(0x3b800000)
2517 1768 5BE3 ldi r21,hhi8(0x3b800000)
2518 176a 0E94 0000 call __mulsf3
2519 176e 5B01 movw r10,r22
2520 1770 6C01 movw r12,r24
2521 1772 6093 0000 sts GyroFaktor,r22
2522 1776 7093 0000 sts (GyroFaktor)+1,r23
2523 177a 8093 0000 sts (GyroFaktor)+2,r24
2524 177e 9093 0000 sts (GyroFaktor)+3,r25
2525 1782 1091 0000 lds r17,Parameter_Gyro_I
2526 1786 612F mov r22,r17
2527 1788 7727 clr r23
2528 178a 67FD sbrc r22,7
2529 178c 7095 com r23
2530 178e 872F mov r24,r23
2531 1790 972F mov r25,r23
2532 1792 0E94 0000 call __floatsisf
2533 1796 17FF sbrs r17,7
2534 1798 00C0 rjmp .L437
2535 179a 20E0 ldi r18,lo8(0x43800000)
2536 179c 30E0 ldi r19,hi8(0x43800000)
2537 179e 40E8 ldi r20,hlo8(0x43800000)
2538 17a0 53E4 ldi r21,hhi8(0x43800000)
2539 17a2 0E94 0000 call __addsf3
2540 .L437:
2541 17a6 20E0 ldi r18,lo8(0x472be000)
2542 17a8 30EE ldi r19,hi8(0x472be000)
2543 17aa 4BE2 ldi r20,hlo8(0x472be000)
2544 17ac 57E4 ldi r21,hhi8(0x472be000)
2545 17ae 0E94 0000 call __divsf3
2546 17b2 6093 0000 sts IntegralFaktor,r22
2547 17b6 7093 0000 sts (IntegralFaktor)+1,r23
2548 17ba 8093 0000 sts (IntegralFaktor)+2,r24
2549 17be 9093 0000 sts (IntegralFaktor)+3,r25
2550 17c2 8091 0000 lds r24,EE_Parameter+8
2551 17c6 82FF sbrs r24,2
2552 17c8 00C0 rjmp .L438
2553 17ca 80E0 ldi r24,lo8(0x0)
2554 17cc 90E0 ldi r25,hi8(0x0)
2555 17ce A0E0 ldi r26,hlo8(0x0)
2556 17d0 B0E0 ldi r27,hhi8(0x0)
2557 17d2 8093 0000 sts IntegralFaktor,r24
2558 17d6 9093 0000 sts (IntegralFaktor)+1,r25
2559 17da A093 0000 sts (IntegralFaktor)+2,r26
2560 17de B093 0000 sts (IntegralFaktor)+3,r27
2561 .L438:
2562 17e2 20E0 ldi r18,lo8(0x0)
2563 17e4 30E0 ldi r19,hi8(0x0)
2564 17e6 40E0 ldi r20,hlo8(0x0)
2565 17e8 50E0 ldi r21,hhi8(0x0)
2566 17ea C601 movw r24,r12
2567 17ec B501 movw r22,r10
2568 17ee 0E94 0000 call __ltsf2
2569 17f2 8823 tst r24
2570 17f4 04F4 brge .L440
2571 17f6 80E0 ldi r24,lo8(0x0)
2572 17f8 90E0 ldi r25,hi8(0x0)
2573 17fa A0E0 ldi r26,hlo8(0x0)
2574 17fc B0E0 ldi r27,hhi8(0x0)
2575 17fe 8093 0000 sts GyroFaktor,r24
2576 1802 9093 0000 sts (GyroFaktor)+1,r25
2577 1806 A093 0000 sts (GyroFaktor)+2,r26
2578 180a B093 0000 sts (GyroFaktor)+3,r27
2579 .L440:
2580 180e 20E0 ldi r18,lo8(0x0)
2581 1810 30E0 ldi r19,hi8(0x0)
2582 1812 40E0 ldi r20,hlo8(0x0)
2583 1814 50E0 ldi r21,hhi8(0x0)
2584 1816 6091 0000 lds r22,IntegralFaktor
2585 181a 7091 0000 lds r23,(IntegralFaktor)+1
2586 181e 8091 0000 lds r24,(IntegralFaktor)+2
2587 1822 9091 0000 lds r25,(IntegralFaktor)+3
2588 1826 0E94 0000 call __ltsf2
2589 182a 8823 tst r24
2590 182c 04F4 brge .L443
2591 182e 80E0 ldi r24,lo8(0x0)
2592 1830 90E0 ldi r25,hi8(0x0)
2593 1832 A0E0 ldi r26,hlo8(0x0)
2594 1834 B0E0 ldi r27,hhi8(0x0)
2595 1836 8093 0000 sts IntegralFaktor,r24
2596 183a 9093 0000 sts (IntegralFaktor)+1,r25
2597 183e A093 0000 sts (IntegralFaktor)+2,r26
2598 1842 B093 0000 sts (IntegralFaktor)+3,r27
2599 .L443:
2600 1846 8091 0000 lds r24,Notlandung
2601 184a 8823 tst r24
2602 184c 01F0 breq .L435
2603 184e 1092 0000 sts (StickGier)+1,__zero_reg__
2604 1852 1092 0000 sts StickGier,__zero_reg__
2605 1856 1092 0000 sts (StickNick)+1,__zero_reg__
2606 185a 1092 0000 sts StickNick,__zero_reg__
2607 185e 1092 0000 sts (StickRoll)+1,__zero_reg__
2608 1862 1092 0000 sts StickRoll,__zero_reg__
2609 1866 8DEC ldi r24,lo8(0x3dcccccd)
2610 1868 9CEC ldi r25,hi8(0x3dcccccd)
2611 186a ACEC ldi r26,hlo8(0x3dcccccd)
2612 186c BDE3 ldi r27,hhi8(0x3dcccccd)
2613 186e 8093 0000 sts GyroFaktor,r24
2614 1872 9093 0000 sts (GyroFaktor)+1,r25
2615 1876 A093 0000 sts (GyroFaktor)+2,r26
2616 187a B093 0000 sts (GyroFaktor)+3,r27
2617 187e 8AE0 ldi r24,lo8(0x3ba3d70a)
2618 1880 97ED ldi r25,hi8(0x3ba3d70a)
2619 1882 A3EA ldi r26,hlo8(0x3ba3d70a)
2620 1884 BBE3 ldi r27,hhi8(0x3ba3d70a)
2621 1886 8093 0000 sts IntegralFaktor,r24
2622 188a 9093 0000 sts (IntegralFaktor)+1,r25
2623 188e A093 0000 sts (IntegralFaktor)+2,r26
2624 1892 B093 0000 sts (IntegralFaktor)+3,r27
2625 .L435:
2626 1896 8091 0000 lds r24,ZaehlMessungen
2627 189a 9091 0000 lds r25,(ZaehlMessungen)+1
2628 189e 8D54 subi r24,lo8(333)
2629 18a0 9140 sbci r25,hi8(333)
2630 18a2 00F4 brsh .+2
2631 18a4 00C0 rjmp .L447
2632 18a6 2091 0000 lds r18,IntegralNick2
2633 18aa 3091 0000 lds r19,(IntegralNick2)+1
2634 18ae 4091 0000 lds r20,(IntegralNick2)+2
2635 18b2 5091 0000 lds r21,(IntegralNick2)+3
2636 18b6 8091 0000 lds r24,IntegralNick
2637 18ba 9091 0000 lds r25,(IntegralNick)+1
2638 18be A091 0000 lds r26,(IntegralNick)+2
2639 18c2 B091 0000 lds r27,(IntegralNick)+3
2640 18c6 B901 movw r22,r18
2641 18c8 681B sub r22,r24
2642 18ca 790B sbc r23,r25
2643 18cc 7093 0000 sts (IntegralFehlerNick.2354)+1,r23
2644 18d0 6093 0000 sts IntegralFehlerNick.2354,r22
2645 18d4 2091 0000 lds r18,IntegralRoll2
2646 18d8 3091 0000 lds r19,(IntegralRoll2)+1
2647 18dc 4091 0000 lds r20,(IntegralRoll2)+2
2648 18e0 5091 0000 lds r21,(IntegralRoll2)+3
2649 18e4 8091 0000 lds r24,IntegralRoll
2650 18e8 9091 0000 lds r25,(IntegralRoll)+1
2651 18ec A091 0000 lds r26,(IntegralRoll)+2
2652 18f0 B091 0000 lds r27,(IntegralRoll)+3
2653 18f4 281B sub r18,r24
2654 18f6 390B sbc r19,r25
2655 18f8 3093 0000 sts (IntegralFehlerRoll.2355)+1,r19
2656 18fc 2093 0000 sts IntegralFehlerRoll.2355,r18
2657 1900 1092 0000 sts (ZaehlMessungen)+1,__zero_reg__
2658 1904 1092 0000 sts ZaehlMessungen,__zero_reg__
2659 1908 673A cpi r22,167
2660 190a 7105 cpc r23,__zero_reg__
2661 190c 04F0 brlt .L449
2662 190e 8091 0000 lds r24,AdNeutralNick
2663 1912 9091 0000 lds r25,(AdNeutralNick)+1
2664 1916 0196 adiw r24,1
2665 1918 00C0 rjmp .L576
2666 .L449:
2667 191a 6A55 subi r22,lo8(-166)
2668 191c 7F4F sbci r23,hi8(-166)
2669 191e 04F4 brge .L451
2670 1920 8091 0000 lds r24,AdNeutralNick
2671 1924 9091 0000 lds r25,(AdNeutralNick)+1
2672 1928 0197 sbiw r24,1
2673 .L576:
2674 192a 9093 0000 sts (AdNeutralNick)+1,r25
2675 192e 8093 0000 sts AdNeutralNick,r24
2676 .L451:
2677 1932 273A cpi r18,167
2678 1934 3105 cpc r19,__zero_reg__
2679 1936 04F0 brlt .L453
2680 1938 8091 0000 lds r24,AdNeutralRoll
2681 193c 9091 0000 lds r25,(AdNeutralRoll)+1
2682 1940 0196 adiw r24,1
2683 1942 00C0 rjmp .L577
2684 .L453:
2685 1944 2A55 subi r18,lo8(-166)
2686 1946 3F4F sbci r19,hi8(-166)
2687 1948 04F4 brge .L455
2688 194a 8091 0000 lds r24,AdNeutralRoll
2689 194e 9091 0000 lds r25,(AdNeutralRoll)+1
2690 1952 0197 sbiw r24,1
2691 .L577:
2692 1954 9093 0000 sts (AdNeutralRoll)+1,r25
2693 1958 8093 0000 sts AdNeutralRoll,r24
2694 .L455:
2695 195c 8091 0000 lds r24,Mess_Integral_Gier2
2696 1960 9091 0000 lds r25,(Mess_Integral_Gier2)+1
2697 1964 A091 0000 lds r26,(Mess_Integral_Gier2)+2
2698 1968 B091 0000 lds r27,(Mess_Integral_Gier2)+3
2699 196c 873A cpi r24,lo8(167)
2700 196e 9105 cpc r25,__zero_reg__
2701 1970 A105 cpc r26,__zero_reg__
2702 1972 B105 cpc r27,__zero_reg__
2703 1974 04F0 brlt .L457
2704 1976 8091 0000 lds r24,AdNeutralGier
2705 197a 9091 0000 lds r25,(AdNeutralGier)+1
2706 197e 0197 sbiw r24,1
2707 1980 9093 0000 sts (AdNeutralGier)+1,r25
2708 1984 8093 0000 sts AdNeutralGier,r24
2709 .L457:
2710 1988 8091 0000 lds r24,Mess_Integral_Gier2
2711 198c 9091 0000 lds r25,(Mess_Integral_Gier2)+1
2712 1990 A091 0000 lds r26,(Mess_Integral_Gier2)+2
2713 1994 B091 0000 lds r27,(Mess_Integral_Gier2)+3
2714 1998 8A55 subi r24,lo8(-166)
2715 199a 9F4F sbci r25,hi8(-166)
2716 199c AF4F sbci r26,hlo8(-166)
2717 199e BF4F sbci r27,hhi8(-166)
2718 19a0 04F4 brge .L459
2719 19a2 8091 0000 lds r24,AdNeutralGier
2720 19a6 9091 0000 lds r25,(AdNeutralGier)+1
2721 19aa 0196 adiw r24,1
2722 19ac 9093 0000 sts (AdNeutralGier)+1,r25
2723 19b0 8093 0000 sts AdNeutralGier,r24
2724 .L459:
2725 19b4 1092 7A00 sts 122,__zero_reg__
2726 19b8 8091 0000 lds r24,IntegralNick
2727 19bc 9091 0000 lds r25,(IntegralNick)+1
2728 19c0 A091 0000 lds r26,(IntegralNick)+2
2729 19c4 B091 0000 lds r27,(IntegralNick)+3
2730 19c8 8093 0000 sts Mess_IntegralNick2,r24
2731 19cc 9093 0000 sts (Mess_IntegralNick2)+1,r25
2732 19d0 A093 0000 sts (Mess_IntegralNick2)+2,r26
2733 19d4 B093 0000 sts (Mess_IntegralNick2)+3,r27
2734 19d8 8091 0000 lds r24,IntegralRoll
2735 19dc 9091 0000 lds r25,(IntegralRoll)+1
2736 19e0 A091 0000 lds r26,(IntegralRoll)+2
2737 19e4 B091 0000 lds r27,(IntegralRoll)+3
2738 19e8 8093 0000 sts Mess_IntegralRoll2,r24
2739 19ec 9093 0000 sts (Mess_IntegralRoll2)+1,r25
2740 19f0 A093 0000 sts (Mess_IntegralRoll2)+2,r26
2741 19f4 B093 0000 sts (Mess_IntegralRoll2)+3,r27
2742 19f8 8091 0000 lds r24,Integral_Gier
2743 19fc 9091 0000 lds r25,(Integral_Gier)+1
2744 1a00 A091 0000 lds r26,(Integral_Gier)+2
2745 1a04 B091 0000 lds r27,(Integral_Gier)+3
2746 1a08 8093 0000 sts Mess_Integral_Gier2,r24
2747 1a0c 9093 0000 sts (Mess_Integral_Gier2)+1,r25
2748 1a10 A093 0000 sts (Mess_Integral_Gier2)+2,r26
2749 1a14 B093 0000 sts (Mess_Integral_Gier2)+3,r27
2750 1a18 8FEE ldi r24,lo8(-17)
2751 1a1a 8093 7A00 sts 122,r24
2752 .L447:
2753 1a1e 6091 0000 lds r22,IntegralNick
2754 1a22 7091 0000 lds r23,(IntegralNick)+1
2755 1a26 8091 0000 lds r24,(IntegralNick)+2
2756 1a2a 9091 0000 lds r25,(IntegralNick)+3
2757 1a2e A090 0000 lds r10,EE_Parameter+20
2758 1a32 BB24 clr r11
2759 1a34 CC24 clr r12
2760 1a36 DD24 clr r13
2761 1a38 E090 0000 lds r14,Mittelwert_AccNick
2762 1a3c F090 0000 lds r15,(Mittelwert_AccNick)+1
2763 1a40 A601 movw r20,r12
2764 1a42 9501 movw r18,r10
2765 1a44 0E94 0000 call __divmodsi4
2766 1a48 0027 clr r16
2767 1a4a F7FC sbrc r15,7
2768 1a4c 0095 com r16
2769 1a4e 102F mov r17,r16
2770 1a50 2E19 sub r18,r14
2771 1a52 3F09 sbc r19,r15
2772 1a54 400B sbc r20,r16
2773 1a56 510B sbc r21,r17
2774 1a58 CA01 movw r24,r20
2775 1a5a B901 movw r22,r18
2776 1a5c 20E1 ldi r18,lo8(16)
2777 1a5e 30E0 ldi r19,hi8(16)
2778 1a60 40E0 ldi r20,hlo8(16)
2779 1a62 50E0 ldi r21,hhi8(16)
2780 1a64 0E94 0000 call __divmodsi4
2781 1a68 3901 movw r6,r18
2782 1a6a 4A01 movw r8,r20
2783 1a6c 2093 0000 sts tmp_long.2352,r18
2784 1a70 3093 0000 sts (tmp_long.2352)+1,r19
2785 1a74 4093 0000 sts (tmp_long.2352)+2,r20
2786 1a78 5093 0000 sts (tmp_long.2352)+3,r21
2787 1a7c 6091 0000 lds r22,IntegralRoll
2788 1a80 7091 0000 lds r23,(IntegralRoll)+1
2789 1a84 8091 0000 lds r24,(IntegralRoll)+2
2790 1a88 9091 0000 lds r25,(IntegralRoll)+3
2791 1a8c E090 0000 lds r14,Mittelwert_AccRoll
2792 1a90 F090 0000 lds r15,(Mittelwert_AccRoll)+1
2793 1a94 A601 movw r20,r12
2794 1a96 9501 movw r18,r10
2795 1a98 0E94 0000 call __divmodsi4
2796 1a9c 0027 clr r16
2797 1a9e F7FC sbrc r15,7
2798 1aa0 0095 com r16
2799 1aa2 102F mov r17,r16
2800 1aa4 2E19 sub r18,r14
2801 1aa6 3F09 sbc r19,r15
2802 1aa8 400B sbc r20,r16
2803 1aaa 510B sbc r21,r17
2804 1aac CA01 movw r24,r20
2805 1aae B901 movw r22,r18
2806 1ab0 20E1 ldi r18,lo8(16)
2807 1ab2 30E0 ldi r19,hi8(16)
2808 1ab4 40E0 ldi r20,hlo8(16)
2809 1ab6 50E0 ldi r21,hhi8(16)
2810 1ab8 0E94 0000 call __divmodsi4
2811 1abc 2093 0000 sts tmp_long2.2353,r18
2812 1ac0 3093 0000 sts (tmp_long2.2353)+1,r19
2813 1ac4 4093 0000 sts (tmp_long2.2353)+2,r20
2814 1ac8 5093 0000 sts (tmp_long2.2353)+3,r21
2815 1acc F5EF ldi r31,lo8(501)
2816 1ace 6F16 cp r6,r31
2817 1ad0 F1E0 ldi r31,hi8(501)
2818 1ad2 7F06 cpc r7,r31
2819 1ad4 F0E0 ldi r31,hlo8(501)
2820 1ad6 8F06 cpc r8,r31
2821 1ad8 F0E0 ldi r31,hhi8(501)
2822 1ada 9F06 cpc r9,r31
2823 1adc 04F0 brlt .L461
2824 1ade 84EF ldi r24,lo8(500)
2825 1ae0 91E0 ldi r25,hi8(500)
2826 1ae2 A0E0 ldi r26,hlo8(500)
2827 1ae4 B0E0 ldi r27,hhi8(500)
2828 1ae6 00C0 rjmp .L578
2829 .L461:
2830 1ae8 6CE0 ldi r22,lo8(-500)
2831 1aea 6616 cp r6,r22
2832 1aec 6EEF ldi r22,hi8(-500)
2833 1aee 7606 cpc r7,r22
2834 1af0 6FEF ldi r22,hlo8(-500)
2835 1af2 8606 cpc r8,r22
2836 1af4 6FEF ldi r22,hhi8(-500)
2837 1af6 9606 cpc r9,r22
2838 1af8 04F4 brge .L463
2839 1afa 8CE0 ldi r24,lo8(-500)
2840 1afc 9EEF ldi r25,hi8(-500)
2841 1afe AFEF ldi r26,hlo8(-500)
2842 1b00 BFEF ldi r27,hhi8(-500)
2843 .L578:
2844 1b02 8093 0000 sts tmp_long.2352,r24
2845 1b06 9093 0000 sts (tmp_long.2352)+1,r25
2846 1b0a A093 0000 sts (tmp_long.2352)+2,r26
2847 1b0e B093 0000 sts (tmp_long.2352)+3,r27
2848 .L463:
2849 1b12 253F cpi r18,lo8(501)
2850 1b14 71E0 ldi r23,hi8(501)
2851 1b16 3707 cpc r19,r23
2852 1b18 70E0 ldi r23,hlo8(501)
2853 1b1a 4707 cpc r20,r23
2854 1b1c 70E0 ldi r23,hhi8(501)
2855 1b1e 5707 cpc r21,r23
2856 1b20 04F0 brlt .L465
2857 1b22 84EF ldi r24,lo8(500)
2858 1b24 91E0 ldi r25,hi8(500)
2859 1b26 A0E0 ldi r26,hlo8(500)
2860 1b28 B0E0 ldi r27,hhi8(500)
2861 1b2a 00C0 rjmp .L579
2862 .L465:
2863 1b2c 2C50 subi r18,lo8(-500)
2864 1b2e 3E4F sbci r19,hi8(-500)
2865 1b30 4F4F sbci r20,hlo8(-500)
2866 1b32 5F4F sbci r21,hhi8(-500)
2867 1b34 04F4 brge .L467
2868 1b36 8CE0 ldi r24,lo8(-500)
2869 1b38 9EEF ldi r25,hi8(-500)
2870 1b3a AFEF ldi r26,hlo8(-500)
2871 1b3c BFEF ldi r27,hhi8(-500)
2872 .L579:
2873 1b3e 8093 0000 sts tmp_long2.2353,r24
2874 1b42 9093 0000 sts (tmp_long2.2353)+1,r25
2875 1b46 A093 0000 sts (tmp_long2.2353)+2,r26
2876 1b4a B093 0000 sts (tmp_long2.2353)+3,r27
2877 .L467:
2878 1b4e 1092 7A00 sts 122,__zero_reg__
2879 1b52 8091 0000 lds r24,Mess_IntegralNick
2880 1b56 9091 0000 lds r25,(Mess_IntegralNick)+1
2881 1b5a A091 0000 lds r26,(Mess_IntegralNick)+2
2882 1b5e B091 0000 lds r27,(Mess_IntegralNick)+3
2883 1b62 2091 0000 lds r18,tmp_long.2352
2884 1b66 3091 0000 lds r19,(tmp_long.2352)+1
2885 1b6a 4091 0000 lds r20,(tmp_long.2352)+2
2886 1b6e 5091 0000 lds r21,(tmp_long.2352)+3
2887 1b72 821B sub r24,r18
2888 1b74 930B sbc r25,r19
2889 1b76 A40B sbc r26,r20
2890 1b78 B50B sbc r27,r21
2891 1b7a 8093 0000 sts Mess_IntegralNick,r24
2892 1b7e 9093 0000 sts (Mess_IntegralNick)+1,r25
2893 1b82 A093 0000 sts (Mess_IntegralNick)+2,r26
2894 1b86 B093 0000 sts (Mess_IntegralNick)+3,r27
2895 1b8a 8091 0000 lds r24,Mess_IntegralRoll
2896 1b8e 9091 0000 lds r25,(Mess_IntegralRoll)+1
2897 1b92 A091 0000 lds r26,(Mess_IntegralRoll)+2
2898 1b96 B091 0000 lds r27,(Mess_IntegralRoll)+3
2899 1b9a 2091 0000 lds r18,tmp_long2.2353
2900 1b9e 3091 0000 lds r19,(tmp_long2.2353)+1
2901 1ba2 4091 0000 lds r20,(tmp_long2.2353)+2
2902 1ba6 5091 0000 lds r21,(tmp_long2.2353)+3
2903 1baa 821B sub r24,r18
2904 1bac 930B sbc r25,r19
2905 1bae A40B sbc r26,r20
2906 1bb0 B50B sbc r27,r21
2907 1bb2 8093 0000 sts Mess_IntegralRoll,r24
2908 1bb6 9093 0000 sts (Mess_IntegralRoll)+1,r25
2909 1bba A093 0000 sts (Mess_IntegralRoll)+2,r26
2910 1bbe B093 0000 sts (Mess_IntegralRoll)+3,r27
2911 1bc2 8091 0000 lds r24,StickGier
2912 1bc6 9091 0000 lds r25,(StickGier)+1
2913 1bca 5C01 movw r10,r24
2914 1bcc CC24 clr r12
2915 1bce B7FC sbrc r11,7
2916 1bd0 C094 com r12
2917 1bd2 DC2C mov r13,r12
2918 1bd4 A092 0000 sts sollGier.2351,r10
2919 1bd8 B092 0000 sts (sollGier.2351)+1,r11
2920 1bdc C092 0000 sts (sollGier.2351)+2,r12
2921 1be0 D092 0000 sts (sollGier.2351)+3,r13
2922 1be4 97FF sbrs r25,7
2923 1be6 00C0 rjmp .L470
2924 1be8 9095 com r25
2925 1bea 8195 neg r24
2926 1bec 9F4F sbci r25,lo8(-1)
2927 .L470:
2928 1bee 8497 sbiw r24,36
2929 1bf0 04F0 brlt .L469
2930 1bf2 8091 0000 lds r24,EE_Parameter+8
2931 1bf6 84FD sbrc r24,4
2932 1bf8 00C0 rjmp .L469
2933 1bfa 81E0 ldi r24,lo8(1)
2934 1bfc 8093 0000 sts NeueKompassRichtungMerken.2363,r24
2935 .L469:
2936 1c00 6090 0000 lds r6,Mess_Integral_Gier
2937 1c04 7090 0000 lds r7,(Mess_Integral_Gier)+1
2938 1c08 8090 0000 lds r8,(Mess_Integral_Gier)+2
2939 1c0c 9090 0000 lds r9,(Mess_Integral_Gier)+3
2940 1c10 C501 movw r24,r10
2941 1c12 B7FE sbrs r11,7
2942 1c14 00C0 rjmp .L473
2943 1c16 9095 com r25
2944 1c18 8195 neg r24
2945 1c1a 9F4F sbci r25,lo8(-1)
2946 .L473:
2947 1c1c 7C01 movw r14,r24
2948 1c1e 0027 clr r16
2949 1c20 F7FC sbrc r15,7
2950 1c22 0095 com r16
2951 1c24 102F mov r17,r16
2952 1c26 2091 0000 lds r18,EE_Parameter+17
2953 1c2a 3327 clr r19
2954 1c2c 4427 clr r20
2955 1c2e 5527 clr r21
2956 1c30 C601 movw r24,r12
2957 1c32 B501 movw r22,r10
2958 1c34 0E94 0000 call __mulsi3
2959 1c38 9B01 movw r18,r22
2960 1c3a AC01 movw r20,r24
2961 1c3c C801 movw r24,r16
2962 1c3e B701 movw r22,r14
2963 1c40 0E94 0000 call __mulsi3
2964 1c44 20E0 ldi r18,lo8(256)
2965 1c46 31E0 ldi r19,hi8(256)
2966 1c48 40E0 ldi r20,hlo8(256)
2967 1c4a 50E0 ldi r21,hhi8(256)
2968 1c4c 0E94 0000 call __divmodsi4
2969 1c50 4427 clr r20
2970 1c52 37FD sbrc r19,7
2971 1c54 4095 com r20
2972 1c56 542F mov r21,r20
2973 1c58 621A sub r6,r18
2974 1c5a 730A sbc r7,r19
2975 1c5c 840A sbc r8,r20
2976 1c5e 950A sbc r9,r21
2977 1c60 6092 0000 sts Mess_Integral_Gier,r6
2978 1c64 7092 0000 sts (Mess_Integral_Gier)+1,r7
2979 1c68 8092 0000 sts (Mess_Integral_Gier)+2,r8
2980 1c6c 9092 0000 sts (Mess_Integral_Gier)+3,r9
2981 1c70 8091 0000 lds r24,Mess_Integral_Gier
2982 1c74 9091 0000 lds r25,(Mess_Integral_Gier)+1
2983 1c78 A091 0000 lds r26,(Mess_Integral_Gier)+2
2984 1c7c B091 0000 lds r27,(Mess_Integral_Gier)+3
2985 1c80 8153 subi r24,lo8(30001)
2986 1c82 9547 sbci r25,hi8(30001)
2987 1c84 A040 sbci r26,hlo8(30001)
2988 1c86 B040 sbci r27,hhi8(30001)
2989 1c88 04F0 brlt .L474
2990 1c8a 80E3 ldi r24,lo8(30000)
2991 1c8c 95E7 ldi r25,hi8(30000)
2992 1c8e A0E0 ldi r26,hlo8(30000)
2993 1c90 B0E0 ldi r27,hhi8(30000)
2994 1c92 8093 0000 sts Mess_Integral_Gier,r24
2995 1c96 9093 0000 sts (Mess_Integral_Gier)+1,r25
2996 1c9a A093 0000 sts (Mess_Integral_Gier)+2,r26
2997 1c9e B093 0000 sts (Mess_Integral_Gier)+3,r27
2998 .L474:
2999 1ca2 8091 0000 lds r24,Mess_Integral_Gier
3000 1ca6 9091 0000 lds r25,(Mess_Integral_Gier)+1
3001 1caa A091 0000 lds r26,(Mess_Integral_Gier)+2
3002 1cae B091 0000 lds r27,(Mess_Integral_Gier)+3
3003 1cb2 805D subi r24,lo8(-30000)
3004 1cb4 9A48 sbci r25,hi8(-30000)
3005 1cb6 AF4F sbci r26,hlo8(-30000)
3006 1cb8 BF4F sbci r27,hhi8(-30000)
3007 1cba 04F4 brge .L476
3008 1cbc 80ED ldi r24,lo8(-30000)
3009 1cbe 9AE8 ldi r25,hi8(-30000)
3010 1cc0 AFEF ldi r26,hlo8(-30000)
3011 1cc2 BFEF ldi r27,hhi8(-30000)
3012 1cc4 8093 0000 sts Mess_Integral_Gier,r24
3013 1cc8 9093 0000 sts (Mess_Integral_Gier)+1,r25
3014 1ccc A093 0000 sts (Mess_Integral_Gier)+2,r26
3015 1cd0 B093 0000 sts (Mess_Integral_Gier)+3,r27
3016 .L476:
3017 1cd4 8FEE ldi r24,lo8(-17)
3018 1cd6 8093 7A00 sts 122,r24
3019 1cda 8091 0000 lds r24,KompassValue
3020 1cde 9091 0000 lds r25,(KompassValue)+1
3021 1ce2 892B or r24,r25
3022 1ce4 01F4 brne .+2
3023 1ce6 00C0 rjmp .L478
3024 1ce8 8091 0000 lds r24,EE_Parameter+8
3025 1cec 83FF sbrs r24,3
3026 1cee 00C0 rjmp .L478
3027 1cf0 6091 0000 lds r22,IntegralNick
3028 1cf4 7091 0000 lds r23,(IntegralNick)+1
3029 1cf8 8091 0000 lds r24,(IntegralNick)+2
3030 1cfc 9091 0000 lds r25,(IntegralNick)+3
3031 1d00 20E0 ldi r18,lo8(512)
3032 1d02 32E0 ldi r19,hi8(512)
3033 1d04 40E0 ldi r20,hlo8(512)
3034 1d06 50E0 ldi r21,hhi8(512)
3035 1d08 0E94 0000 call __divmodsi4
3036 1d0c 8901 movw r16,r18
3037 1d0e 37FF sbrs r19,7
3038 1d10 00C0 rjmp .L481
3039 1d12 1095 com r17
3040 1d14 0195 neg r16
3041 1d16 1F4F sbci r17,lo8(-1)
3042 .L481:
3043 1d18 6091 0000 lds r22,IntegralRoll
3044 1d1c 7091 0000 lds r23,(IntegralRoll)+1
3045 1d20 8091 0000 lds r24,(IntegralRoll)+2
3046 1d24 9091 0000 lds r25,(IntegralRoll)+3
3047 1d28 20E0 ldi r18,lo8(512)
3048 1d2a 32E0 ldi r19,hi8(512)
3049 1d2c 40E0 ldi r20,hlo8(512)
3050 1d2e 50E0 ldi r21,hhi8(512)
3051 1d30 0E94 0000 call __divmodsi4
3052 1d34 B901 movw r22,r18
3053 1d36 37FF sbrs r19,7
3054 1d38 00C0 rjmp .L482
3055 1d3a 7095 com r23
3056 1d3c 6195 neg r22
3057 1d3e 7F4F sbci r23,lo8(-1)
3058 .L482:
3059 1d40 6017 cp r22,r16
3060 1d42 7107 cpc r23,r17
3061 1d44 04F4 brge .L483
3062 1d46 B801 movw r22,r16
3063 .L483:
3064 1d48 6931 cpi r22,25
3065 1d4a 7105 cpc r23,__zero_reg__
3066 1d4c 04F4 brge .L484
3067 1d4e 8091 0000 lds r24,NeueKompassRichtungMerken.2363
3068 1d52 8823 tst r24
3069 1d54 01F0 breq .L484
3070 1d56 8091 0000 lds r24,SignalSchlecht.2367
3071 1d5a 9091 0000 lds r25,(SignalSchlecht.2367)+1
3072 1d5e 892B or r24,r25
3073 1d60 01F4 brne .L484
3074 1d62 8091 0000 lds r24,KompassValue
3075 1d66 9091 0000 lds r25,(KompassValue)+1
3076 1d6a 9093 0000 sts (KompassStartwert)+1,r25
3077 1d6e 8093 0000 sts KompassStartwert,r24
3078 1d72 1092 0000 sts NeueKompassRichtungMerken.2363,__zero_reg__
3079 .L484:
3080 1d76 2091 0000 lds r18,Parameter_KompassWirkung
3081 1d7a 3327 clr r19
3082 1d7c 629F mul r22,r18
3083 1d7e C001 movw r24,r0
3084 1d80 639F mul r22,r19
3085 1d82 900D add r25,r0
3086 1d84 729F mul r23,r18
3087 1d86 900D add r25,r0
3088 1d88 1124 clr r1
3089 1d8a 60E4 ldi r22,lo8(64)
3090 1d8c 70E0 ldi r23,hi8(64)
3091 1d8e 0E94 0000 call __divmodhi4
3092 1d92 A901 movw r20,r18
3093 1d94 461B sub r20,r22
3094 1d96 570B sbc r21,r23
3095 1d98 1416 cp __zero_reg__,r20
3096 1d9a 1506 cpc __zero_reg__,r21
3097 1d9c 04F0 brlt .+2
3098 1d9e 00C0 rjmp .L488
3099 1da0 1092 7A00 sts 122,__zero_reg__
3100 1da4 2091 0000 lds r18,SignalSchlecht.2367
3101 1da8 3091 0000 lds r19,(SignalSchlecht.2367)+1
3102 1dac 2115 cp r18,__zero_reg__
3103 1dae 3105 cpc r19,__zero_reg__
3104 1db0 01F4 brne .L490
3105 1db2 0091 0000 lds r16,Mess_Integral_Gier
3106 1db6 1091 0000 lds r17,(Mess_Integral_Gier)+1
3107 1dba 2091 0000 lds r18,(Mess_Integral_Gier)+2
3108 1dbe 3091 0000 lds r19,(Mess_Integral_Gier)+3
3109 1dc2 8091 0000 lds r24,KompassRichtung
3110 1dc6 9091 0000 lds r25,(KompassRichtung)+1
3111 1dca BC01 movw r22,r24
3112 1dcc 649F mul r22,r20
3113 1dce C001 movw r24,r0
3114 1dd0 659F mul r22,r21
3115 1dd2 900D add r25,r0
3116 1dd4 749F mul r23,r20
3117 1dd6 900D add r25,r0
3118 1dd8 1124 clr r1
3119 1dda 60E2 ldi r22,lo8(32)
3120 1ddc 70E0 ldi r23,hi8(32)
3121 1dde 0E94 0000 call __divmodhi4
3122 1de2 8827 clr r24
3123 1de4 77FD sbrc r23,7
3124 1de6 8095 com r24
3125 1de8 982F mov r25,r24
3126 1dea 060F add r16,r22
3127 1dec 171F adc r17,r23
3128 1dee 281F adc r18,r24
3129 1df0 391F adc r19,r25
3130 1df2 0093 0000 sts Mess_Integral_Gier,r16
3131 1df6 1093 0000 sts (Mess_Integral_Gier)+1,r17
3132 1dfa 2093 0000 sts (Mess_Integral_Gier)+2,r18
3133 1dfe 3093 0000 sts (Mess_Integral_Gier)+3,r19
3134 1e02 8FEE ldi r24,lo8(-17)
3135 1e04 8093 7A00 sts 122,r24
3136 1e08 00C0 rjmp .L478
3137 .L490:
3138 1e0a 8FEE ldi r24,lo8(-17)
3139 1e0c 8093 7A00 sts 122,r24
3140 1e10 2150 subi r18,lo8(-(-1))
3141 1e12 3040 sbci r19,hi8(-(-1))
3142 1e14 3093 0000 sts (SignalSchlecht.2367)+1,r19
3143 1e18 2093 0000 sts SignalSchlecht.2367,r18
3144 1e1c 00C0 rjmp .L478
3145 .L488:
3146 1e1e 84EF ldi r24,lo8(500)
3147 1e20 91E0 ldi r25,hi8(500)
3148 1e22 9093 0000 sts (SignalSchlecht.2367)+1,r25
3149 1e26 8093 0000 sts SignalSchlecht.2367,r24
3150 .L478:
3151 1e2a 8091 0000 lds r24,EE_Parameter+8
3152 1e2e 85FF sbrs r24,5
3153 1e30 00C0 rjmp .L492
3154 1e32 8091 0000 lds r24,Parameter_UserParam1
3155 1e36 9927 clr r25
3156 1e38 9093 0000 sts (gps_p)+1,r25
3157 1e3c 8093 0000 sts gps_p,r24
3158 1e40 8091 0000 lds r24,Parameter_UserParam2
3159 1e44 9927 clr r25
3160 1e46 9093 0000 sts (gps_d)+1,r25
3161 1e4a 8093 0000 sts gps_d,r24
3162 1e4e 8091 0000 lds r24,Parameter_UserParam3
3163 1e52 9927 clr r25
3164 1e54 9093 0000 sts (skal)+1,r25
3165 1e58 8093 0000 sts skal,r24
3166 1e5c 0E94 0000 call gps_main
3167 1e60 00C0 rjmp .L494
3168 .L492:
3169 1e62 1092 0000 sts (GPS_Nick)+1,__zero_reg__
3170 1e66 1092 0000 sts GPS_Nick,__zero_reg__
3171 1e6a 1092 0000 sts (GPS_Roll)+1,__zero_reg__
3172 1e6e 1092 0000 sts GPS_Roll,__zero_reg__
3173 .L494:
3174 1e72 8091 0000 lds r24,DebugOut+17
3175 1e76 8F5F subi r24,lo8(-(1))
3176 1e78 8093 0000 sts DebugOut+17,r24
3177 1e7c 8091 0000 lds r24,TimerWerteausgabe.2362
3178 1e80 8150 subi r24,lo8(-(-1))
3179 1e82 8093 0000 sts TimerWerteausgabe.2362,r24
3180 1e86 8F3F cpi r24,lo8(-1)
3181 1e88 01F0 breq .+2
3182 1e8a 00C0 rjmp .L495
3183 1e8c 81E3 ldi r24,lo8(49)
3184 1e8e 8093 0000 sts TimerWerteausgabe.2362,r24
3185 1e92 6091 0000 lds r22,IntegralNick
3186 1e96 7091 0000 lds r23,(IntegralNick)+1
3187 1e9a 8091 0000 lds r24,(IntegralNick)+2
3188 1e9e 9091 0000 lds r25,(IntegralNick)+3
3189 1ea2 E090 0000 lds r14,EE_Parameter+20
3190 1ea6 FF24 clr r15
3191 1ea8 0027 clr r16
3192 1eaa 1127 clr r17
3193 1eac A801 movw r20,r16
3194 1eae 9701 movw r18,r14
3195 1eb0 0E94 0000 call __divmodsi4
3196 1eb4 3093 0000 sts (DebugOut+18)+1,r19
3197 1eb8 2093 0000 sts DebugOut+18,r18
3198 1ebc 6091 0000 lds r22,IntegralRoll
3199 1ec0 7091 0000 lds r23,(IntegralRoll)+1
3200 1ec4 8091 0000 lds r24,(IntegralRoll)+2
3201 1ec8 9091 0000 lds r25,(IntegralRoll)+3
3202 1ecc A801 movw r20,r16
3203 1ece 9701 movw r18,r14
3204 1ed0 0E94 0000 call __divmodsi4
3205 1ed4 3093 0000 sts (DebugOut+20)+1,r19
3206 1ed8 2093 0000 sts DebugOut+20,r18
3207 1edc 8091 0000 lds r24,Mittelwert_AccNick
3208 1ee0 9091 0000 lds r25,(Mittelwert_AccNick)+1
3209 1ee4 9093 0000 sts (DebugOut+22)+1,r25
3210 1ee8 8093 0000 sts DebugOut+22,r24
3211 1eec 8091 0000 lds r24,Mittelwert_AccRoll
3212 1ef0 9091 0000 lds r25,(Mittelwert_AccRoll)+1
3213 1ef4 9093 0000 sts (DebugOut+24)+1,r25
3214 1ef8 8093 0000 sts DebugOut+24,r24
3215 1efc 8091 0000 lds r24,MesswertGier
3216 1f00 9091 0000 lds r25,(MesswertGier)+1
3217 1f04 9093 0000 sts (DebugOut+26)+1,r25
3218 1f08 8093 0000 sts DebugOut+26,r24
3219 1f0c 8091 0000 lds r24,HoehenWert
3220 1f10 9091 0000 lds r25,(HoehenWert)+1
3221 1f14 9093 0000 sts (DebugOut+28)+1,r25
3222 1f18 8093 0000 sts DebugOut+28,r24
3223 1f1c 6091 0000 lds r22,Mess_Integral_Hoch
3224 1f20 7091 0000 lds r23,(Mess_Integral_Hoch)+1
3225 1f24 8091 0000 lds r24,(Mess_Integral_Hoch)+2
3226 1f28 9091 0000 lds r25,(Mess_Integral_Hoch)+3
3227 1f2c 20E0 ldi r18,lo8(512)
3228 1f2e 32E0 ldi r19,hi8(512)
3229 1f30 40E0 ldi r20,hlo8(512)
3230 1f32 50E0 ldi r21,hhi8(512)
3231 1f34 0E94 0000 call __divmodsi4
3232 1f38 3093 0000 sts (DebugOut+30)+1,r19
3233 1f3c 2093 0000 sts DebugOut+30,r18
3234 1f40 8981 ldd r24,Y+1
3235 1f42 9A81 ldd r25,Y+2
3236 1f44 9093 0000 sts (DebugOut+32)+1,r25
3237 1f48 8093 0000 sts DebugOut+32,r24
3238 1f4c 8091 0000 lds r24,KompassValue
3239 1f50 9091 0000 lds r25,(KompassValue)+1
3240 1f54 9093 0000 sts (DebugOut+34)+1,r25
3241 1f58 8093 0000 sts DebugOut+34,r24
3242 .L495:
3243 1f5c 6091 0000 lds r22,IntegralNick
3244 1f60 7091 0000 lds r23,(IntegralNick)+1
3245 1f64 8091 0000 lds r24,(IntegralNick)+2
3246 1f68 9091 0000 lds r25,(IntegralNick)+3
3247 1f6c 2090 0000 lds r2,IntegralFaktor
3248 1f70 3090 0000 lds r3,(IntegralFaktor)+1
3249 1f74 4090 0000 lds r4,(IntegralFaktor)+2
3250 1f78 5090 0000 lds r5,(IntegralFaktor)+3
3251 1f7c E090 0000 lds r14,MesswertNick
3252 1f80 F090 0000 lds r15,(MesswertNick)+1
3253 1f84 6090 0000 lds r6,GyroFaktor
3254 1f88 7090 0000 lds r7,(GyroFaktor)+1
3255 1f8c 8090 0000 lds r8,(GyroFaktor)+2
3256 1f90 9090 0000 lds r9,(GyroFaktor)+3
3257 1f94 0E94 0000 call __floatsisf
3258 1f98 A201 movw r20,r4
3259 1f9a 9101 movw r18,r2
3260 1f9c 0E94 0000 call __mulsf3
3261 1fa0 5B01 movw r10,r22
3262 1fa2 6C01 movw r12,r24
3263 1fa4 0027 clr r16
3264 1fa6 F7FC sbrc r15,7
3265 1fa8 0095 com r16
3266 1faa 102F mov r17,r16
3267 1fac C801 movw r24,r16
3268 1fae B701 movw r22,r14
3269 1fb0 0E94 0000 call __floatsisf
3270 1fb4 A401 movw r20,r8
3271 1fb6 9301 movw r18,r6
3272 1fb8 0E94 0000 call __mulsf3
3273 1fbc 9B01 movw r18,r22
3274 1fbe AC01 movw r20,r24
3275 1fc0 C601 movw r24,r12
3276 1fc2 B501 movw r22,r10
3277 1fc4 0E94 0000 call __addsf3
3278 1fc8 0E94 0000 call __fixsfsi
3279 1fcc 7093 0000 sts (MesswertNick)+1,r23
3280 1fd0 6093 0000 sts MesswertNick,r22
3281 1fd4 6091 0000 lds r22,IntegralRoll
3282 1fd8 7091 0000 lds r23,(IntegralRoll)+1
3283 1fdc 8091 0000 lds r24,(IntegralRoll)+2
3284 1fe0 9091 0000 lds r25,(IntegralRoll)+3
3285 1fe4 E090 0000 lds r14,MesswertRoll
3286 1fe8 F090 0000 lds r15,(MesswertRoll)+1
3287 1fec 0E94 0000 call __floatsisf
3288 1ff0 A201 movw r20,r4
3289 1ff2 9101 movw r18,r2
3290 1ff4 0E94 0000 call __mulsf3
3291 1ff8 5B01 movw r10,r22
3292 1ffa 6C01 movw r12,r24
3293 1ffc 0027 clr r16
3294 1ffe F7FC sbrc r15,7
3295 2000 0095 com r16
3296 2002 102F mov r17,r16
3297 2004 C801 movw r24,r16
3298 2006 B701 movw r22,r14
3299 2008 0E94 0000 call __floatsisf
3300 200c A401 movw r20,r8
3301 200e 9301 movw r18,r6
3302 2010 0E94 0000 call __mulsf3
3303 2014 9B01 movw r18,r22
3304 2016 AC01 movw r20,r24
3305 2018 C601 movw r24,r12
3306 201a B501 movw r22,r10
3307 201c 0E94 0000 call __addsf3
3308 2020 0E94 0000 call __fixsfsi
3309 2024 7093 0000 sts (MesswertRoll)+1,r23
3310 2028 6093 0000 sts MesswertRoll,r22
3311 202c 6091 0000 lds r22,MesswertGier
3312 2030 7091 0000 lds r23,(MesswertGier)+1
3313 2034 A090 0000 lds r10,Integral_Gier
3314 2038 B090 0000 lds r11,(Integral_Gier)+1
3315 203c C090 0000 lds r12,(Integral_Gier)+2
3316 2040 D090 0000 lds r13,(Integral_Gier)+3
3317 2044 8827 clr r24
3318 2046 77FD sbrc r23,7
3319 2048 8095 com r24
3320 204a 982F mov r25,r24
3321 204c 0E94 0000 call __floatsisf
3322 2050 7B01 movw r14,r22
3323 2052 8C01 movw r16,r24
3324 2054 20E0 ldi r18,lo8(0x3f000000)
3325 2056 30E0 ldi r19,hi8(0x3f000000)
3326 2058 40E0 ldi r20,hlo8(0x3f000000)
3327 205a 5FE3 ldi r21,hhi8(0x3f000000)
3328 205c C401 movw r24,r8
3329 205e B301 movw r22,r6
3330 2060 0E94 0000 call __mulsf3
3331 2064 9B01 movw r18,r22
3332 2066 AC01 movw r20,r24
3333 2068 C801 movw r24,r16
3334 206a B701 movw r22,r14
3335 206c 0E94 0000 call __mulsf3
3336 2070 7B01 movw r14,r22
3337 2072 8C01 movw r16,r24
3338 2074 C601 movw r24,r12
3339 2076 B501 movw r22,r10
3340 2078 0E94 0000 call __floatsisf
3341 207c A201 movw r20,r4
3342 207e 9101 movw r18,r2
3343 2080 0E94 0000 call __mulsf3
3344 2084 9B01 movw r18,r22
3345 2086 AC01 movw r20,r24
3346 2088 C801 movw r24,r16
3347 208a B701 movw r22,r14
3348 208c 0E94 0000 call __addsf3
3349 2090 0E94 0000 call __fixsfsi
3350 2094 7093 0000 sts (MesswertGier)+1,r23
3351 2098 6093 0000 sts MesswertGier,r22
3352 209c 8091 0000 lds r24,MesswertNick
3353 20a0 9091 0000 lds r25,(MesswertNick)+1
3354 20a4 8150 subi r24,lo8(2049)
3355 20a6 9840 sbci r25,hi8(2049)
3356 20a8 04F0 brlt .L497
3357 20aa 80E0 ldi r24,lo8(2048)
3358 20ac 98E0 ldi r25,hi8(2048)
3359 20ae 9093 0000 sts (MesswertNick)+1,r25
3360 20b2 8093 0000 sts MesswertNick,r24
3361 .L497:
3362 20b6 8091 0000 lds r24,MesswertNick
3363 20ba 9091 0000 lds r25,(MesswertNick)+1
3364 20be 8050 subi r24,lo8(-2048)
3365 20c0 984F sbci r25,hi8(-2048)
3366 20c2 04F4 brge .L499
3367 20c4 80E0 ldi r24,lo8(-2048)
3368 20c6 98EF ldi r25,hi8(-2048)
3369 20c8 9093 0000 sts (MesswertNick)+1,r25
3370 20cc 8093 0000 sts MesswertNick,r24
3371 .L499:
3372 20d0 8091 0000 lds r24,MesswertRoll
3373 20d4 9091 0000 lds r25,(MesswertRoll)+1
3374 20d8 8150 subi r24,lo8(2049)
3375 20da 9840 sbci r25,hi8(2049)
3376 20dc 04F0 brlt .L501
3377 20de 80E0 ldi r24,lo8(2048)
3378 20e0 98E0 ldi r25,hi8(2048)
3379 20e2 9093 0000 sts (MesswertRoll)+1,r25
3380 20e6 8093 0000 sts MesswertRoll,r24
3381 .L501:
3382 20ea 8091 0000 lds r24,MesswertRoll
3383 20ee 9091 0000 lds r25,(MesswertRoll)+1
3384 20f2 8050 subi r24,lo8(-2048)
3385 20f4 984F sbci r25,hi8(-2048)
3386 20f6 04F4 brge .L503
3387 20f8 80E0 ldi r24,lo8(-2048)
3388 20fa 98EF ldi r25,hi8(-2048)
3389 20fc 9093 0000 sts (MesswertRoll)+1,r25
3390 2100 8093 0000 sts MesswertRoll,r24
3391 .L503:
3392 2104 8091 0000 lds r24,MesswertGier
3393 2108 9091 0000 lds r25,(MesswertGier)+1
3394 210c 8150 subi r24,lo8(2049)
3395 210e 9840 sbci r25,hi8(2049)
3396 2110 04F0 brlt .L505
3397 2112 80E0 ldi r24,lo8(2048)
3398 2114 98E0 ldi r25,hi8(2048)
3399 2116 9093 0000 sts (MesswertGier)+1,r25
3400 211a 8093 0000 sts MesswertGier,r24
3401 .L505:
3402 211e 8091 0000 lds r24,MesswertGier
3403 2122 9091 0000 lds r25,(MesswertGier)+1
3404 2126 8050 subi r24,lo8(-2048)
3405 2128 984F sbci r25,hi8(-2048)
3406 212a 04F4 brge .L507
3407 212c 80E0 ldi r24,lo8(-2048)
3408 212e 98EF ldi r25,hi8(-2048)
3409 2130 9093 0000 sts (MesswertGier)+1,r25
3410 2134 8093 0000 sts MesswertGier,r24
3411 .L507:
3412 2138 8091 0000 lds r24,EE_Parameter+8
3413 213c 9927 clr r25
3414 213e 80FF sbrs r24,0
3415 2140 00C0 rjmp .L509
3416 2142 2091 0000 lds r18,Parameter_MaxHoehe
3417 2146 81FF sbrs r24,1
3418 2148 00C0 rjmp .L511
3419 214a 2233 cpi r18,lo8(50)
3420 214c 00F4 brsh .L580
3421 214e 8091 0000 lds r24,HoehenWert
3422 2152 9091 0000 lds r25,(HoehenWert)+1
3423 2156 4497 sbiw r24,20
3424 2158 9093 0000 sts (SollHoehe)+1,r25
3425 215c 8093 0000 sts SollHoehe,r24
3426 2160 1092 0000 sts HoehenReglerAktiv,__zero_reg__
3427 2164 00C0 rjmp .L515
3428 .L511:
3429 2166 8091 0000 lds r24,EE_Parameter+13
3430 216a 289F mul r18,r24
3431 216c C001 movw r24,r0
3432 216e 1124 clr r1
3433 2170 4497 sbiw r24,20
3434 2172 9093 0000 sts (SollHoehe)+1,r25
3435 2176 8093 0000 sts SollHoehe,r24
3436 .L580:
3437 217a 81E0 ldi r24,lo8(1)
3438 217c 8093 0000 sts HoehenReglerAktiv,r24
3439 .L515:
3440 2180 8091 0000 lds r24,Notlandung
3441 2184 8823 tst r24
3442 2186 01F0 breq .L516
3443 2188 1092 0000 sts (SollHoehe)+1,__zero_reg__
3444 218c 1092 0000 sts SollHoehe,__zero_reg__
3445 .L516:
3446 2190 2091 0000 lds r18,HoehenWert
3447 2194 3091 0000 lds r19,(HoehenWert)+1
3448 2198 4091 0000 lds r20,SollHoehe
3449 219c 5091 0000 lds r21,(SollHoehe)+1
3450 21a0 4217 cp r20,r18
3451 21a2 5307 cpc r21,r19
3452 21a4 04F0 brlt .+2
3453 21a6 00C0 rjmp .L509
3454 21a8 8091 0000 lds r24,HoehenReglerAktiv
3455 21ac 8823 tst r24
3456 21ae 01F4 brne .+2
3457 21b0 00C0 rjmp .L509
3458 21b2 241B sub r18,r20
3459 21b4 350B sbc r19,r21
3460 21b6 8091 0000 lds r24,Parameter_Hoehe_P
3461 21ba 9927 clr r25
3462 21bc BC01 movw r22,r24
3463 21be 269F mul r18,r22
3464 21c0 C001 movw r24,r0
3465 21c2 279F mul r18,r23
3466 21c4 900D add r25,r0
3467 21c6 369F mul r19,r22
3468 21c8 900D add r25,r0
3469 21ca 1124 clr r1
3470 21cc 60E1 ldi r22,lo8(16)
3471 21ce 70E0 ldi r23,hi8(16)
3472 21d0 0E94 0000 call __divmodhi4
3473 21d4 0981 ldd r16,Y+1
3474 21d6 1A81 ldd r17,Y+2
3475 21d8 061B sub r16,r22
3476 21da 170B sbc r17,r23
3477 21dc 2091 0000 lds r18,HoeheD
3478 21e0 3091 0000 lds r19,(HoeheD)+1
3479 21e4 8091 0000 lds r24,Parameter_Luftdruck_D
3480 21e8 9927 clr r25
3481 21ea FC01 movw r30,r24
3482 21ec 2E9F mul r18,r30
3483 21ee C001 movw r24,r0
3484 21f0 2F9F mul r18,r31
3485 21f2 900D add r25,r0
3486 21f4 3E9F mul r19,r30
3487 21f6 900D add r25,r0
3488 21f8 1124 clr r1
3489 21fa 68E0 ldi r22,lo8(8)
3490 21fc 70E0 ldi r23,hi8(8)
3491 21fe 0E94 0000 call __divmodhi4
3492 2202 061B sub r16,r22
3493 2204 170B sbc r17,r23
3494 2206 6091 0000 lds r22,Mess_Integral_Hoch
3495 220a 7091 0000 lds r23,(Mess_Integral_Hoch)+1
3496 220e 8091 0000 lds r24,(Mess_Integral_Hoch)+2
3497 2212 9091 0000 lds r25,(Mess_Integral_Hoch)+3
3498 2216 20E0 ldi r18,lo8(512)
3499 2218 32E0 ldi r19,hi8(512)
3500 221a 40E0 ldi r20,hlo8(512)
3501 221c 50E0 ldi r21,hhi8(512)
3502 221e 0E94 0000 call __divmodsi4
3503 2222 CA01 movw r24,r20
3504 2224 B901 movw r22,r18
3505 2226 2091 0000 lds r18,Parameter_Hoehe_ACC_Wirkung
3506 222a 3327 clr r19
3507 222c 4427 clr r20
3508 222e 5527 clr r21
3509 2230 0E94 0000 call __mulsi3
3510 2234 20E2 ldi r18,lo8(32)
3511 2236 30E0 ldi r19,hi8(32)
3512 2238 40E0 ldi r20,hlo8(32)
3513 223a 50E0 ldi r21,hhi8(32)
3514 223c 0E94 0000 call __divmodsi4
3515 2240 FFEF ldi r31,hi8(-50)
3516 2242 2E3C cpi r18,lo8(-50)
3517 2244 3F07 cpc r19,r31
3518 2246 04F4 brge .L520
3519 2248 2EEC ldi r18,lo8(-50)
3520 224a 3FEF ldi r19,hi8(-50)
3521 .L520:
3522 224c 8091 0000 lds r24,hoehenregler.2361
3523 2250 9091 0000 lds r25,(hoehenregler.2361)+1
3524 2254 AC01 movw r20,r24
3525 2256 74E0 ldi r23,4
3526 2258 440F 1: lsl r20
3527 225a 551F rol r21
3528 225c 7A95 dec r23
3529 225e 01F4 brne 1b
3530 2260 481B sub r20,r24
3531 2262 590B sbc r21,r25
3532 2264 2333 cpi r18,51
3533 2266 3105 cpc r19,__zero_reg__
3534 2268 04F0 brlt .L521
3535 226a 22E3 ldi r18,lo8(50)
3536 226c 30E0 ldi r19,hi8(50)
3537 .L521:
3538 226e 021B sub r16,r18
3539 2270 130B sbc r17,r19
3540 2272 CA01 movw r24,r20
3541 2274 800F add r24,r16
3542 2276 911F adc r25,r17
3543 2278 60E1 ldi r22,lo8(16)
3544 227a 70E0 ldi r23,hi8(16)
3545 227c 0E94 0000 call __divmodhi4
3546 2280 7093 0000 sts (hoehenregler.2361)+1,r23
3547 2284 6093 0000 sts hoehenregler.2361,r22
3548 2288 8091 0000 lds r24,EE_Parameter+9
3549 228c 9927 clr r25
3550 228e 6817 cp r22,r24
3551 2290 7907 cpc r23,r25
3552 2292 04F4 brge .L522
3553 2294 2981 ldd r18,Y+1
3554 2296 3A81 ldd r19,Y+2
3555 2298 2817 cp r18,r24
3556 229a 3907 cpc r19,r25
3557 229c 04F0 brlt .L524
3558 229e 9093 0000 sts (hoehenregler.2361)+1,r25
3559 22a2 8093 0000 sts hoehenregler.2361,r24
3560 22a6 00C0 rjmp .L522
3561 .L524:
3562 22a8 4981 ldd r20,Y+1
3563 22aa 5A81 ldd r21,Y+2
3564 22ac 5093 0000 sts (hoehenregler.2361)+1,r21
3565 22b0 4093 0000 sts hoehenregler.2361,r20
3566 22b4 00C0 rjmp .L526
3567 .L522:
3568 22b6 8091 0000 lds r24,hoehenregler.2361
3569 22ba 9091 0000 lds r25,(hoehenregler.2361)+1
3570 22be 6981 ldd r22,Y+1
3571 22c0 7A81 ldd r23,Y+2
3572 22c2 6817 cp r22,r24
3573 22c4 7907 cpc r23,r25
3574 22c6 04F4 brge .L526
3575 22c8 7093 0000 sts (hoehenregler.2361)+1,r23
3576 22cc 6093 0000 sts hoehenregler.2361,r22
3577 .L526:
3578 22d0 8091 0000 lds r24,hoehenregler.2361
3579 22d4 9091 0000 lds r25,(hoehenregler.2361)+1
3580 22d8 9A83 std Y+2,r25
3581 22da 8983 std Y+1,r24
3582 .L509:
3583 22dc C090 0000 lds r12,MesswertGier
3584 22e0 D090 0000 lds r13,(MesswertGier)+1
3585 22e4 8091 0000 lds r24,sollGier.2351
3586 22e8 9091 0000 lds r25,(sollGier.2351)+1
3587 22ec C81A sub r12,r24
3588 22ee D90A sbc r13,r25
3589 22f0 95E6 ldi r25,lo8(101)
3590 22f2 C916 cp r12,r25
3591 22f4 D104 cpc r13,__zero_reg__
3592 22f6 04F0 brlt .L528
3593 22f8 64E6 ldi r22,lo8(100)
3594 22fa C62E mov r12,r22
3595 22fc D12C mov r13,__zero_reg__
3596 22fe 00C0 rjmp .L530
3597 .L528:
3598 2300 ECE9 ldi r30,lo8(-100)
3599 2302 CE16 cp r12,r30
3600 2304 EFEF ldi r30,hi8(-100)
3601 2306 DE06 cpc r13,r30
3602 2308 04F4 brge .L530
3603 230a 5CE9 ldi r21,lo8(-100)
3604 230c C52E mov r12,r21
3605 230e 5FEF ldi r21,hi8(-100)
3606 2310 D52E mov r13,r21
3607 .L530:
3608 2312 4090 0000 lds r4,Kp
3609 2316 5090 0000 lds r5,(Kp)+1
3610 231a 6090 0000 lds r6,(Kp)+2
3611 231e 7090 0000 lds r7,(Kp)+3
3612 2322 6091 0000 lds r22,MesswertNick
3613 2326 7091 0000 lds r23,(MesswertNick)+1
3614 232a 2091 0000 lds r18,StickNick
3615 232e 3091 0000 lds r19,(StickNick)+1
3616 2332 4091 0000 lds r20,GPS_Nick
3617 2336 5091 0000 lds r21,(GPS_Nick)+1
3618 233a 241B sub r18,r20
3619 233c 350B sbc r19,r21
3620 233e 621B sub r22,r18
3621 2340 730B sbc r23,r19
3622 2342 8827 clr r24
3623 2344 77FD sbrc r23,7
3624 2346 8095 com r24
3625 2348 982F mov r25,r24
3626 234a 0E94 0000 call __floatsisf
3627 234e 9B01 movw r18,r22
3628 2350 AC01 movw r20,r24
3629 2352 C301 movw r24,r6
3630 2354 B201 movw r22,r4
3631 2356 0E94 0000 call __mulsf3
3632 235a 0E94 0000 call __fixsfsi
3633 235e 7093 0000 sts (DiffNick)+1,r23
3634 2362 6093 0000 sts DiffNick,r22
3635 2366 8091 0000 lds r24,DiffNick
3636 236a 9091 0000 lds r25,(DiffNick)+1
3637 236e 8C01 movw r16,r24
3638 2370 2227 clr r18
3639 2372 17FD sbrc r17,7
3640 2374 2095 com r18
3641 2376 322F mov r19,r18
3642 2378 8091 0000 lds r24,SummeNick.2349
3643 237c 9091 0000 lds r25,(SummeNick.2349)+1
3644 2380 A091 0000 lds r26,(SummeNick.2349)+2
3645 2384 B091 0000 lds r27,(SummeNick.2349)+3
3646 2388 080F add r16,r24
3647 238a 191F adc r17,r25
3648 238c 2A1F adc r18,r26
3649 238e 3B1F adc r19,r27
3650 2390 0093 0000 sts SummeNick.2349,r16
3651 2394 1093 0000 sts (SummeNick.2349)+1,r17
3652 2398 2093 0000 sts (SummeNick.2349)+2,r18
3653 239c 3093 0000 sts (SummeNick.2349)+3,r19
3654 23a0 1016 cp __zero_reg__,r16
3655 23a2 1106 cpc __zero_reg__,r17
3656 23a4 1206 cpc __zero_reg__,r18
3657 23a6 1306 cpc __zero_reg__,r19
3658 23a8 04F4 brge .L532
3659 23aa C801 movw r24,r16
3660 23ac 17FF sbrs r17,7
3661 23ae 00C0 rjmp .L534
3662 23b0 9095 com r25
3663 23b2 8195 neg r24
3664 23b4 9F4F sbci r25,lo8(-1)
3665 .L534:
3666 23b6 60E0 ldi r22,lo8(256)
3667 23b8 71E0 ldi r23,hi8(256)
3668 23ba 0E94 0000 call __divmodhi4
3669 23be 6F5F subi r22,lo8(-(1))
3670 23c0 7F4F sbci r23,hi8(-(1))
3671 23c2 8827 clr r24
3672 23c4 77FD sbrc r23,7
3673 23c6 8095 com r24
3674 23c8 982F mov r25,r24
3675 23ca 061B sub r16,r22
3676 23cc 170B sbc r17,r23
3677 23ce 280B sbc r18,r24
3678 23d0 390B sbc r19,r25
3679 23d2 00C0 rjmp .L581
3680 .L532:
3681 23d4 C801 movw r24,r16
3682 23d6 17FF sbrs r17,7
3683 23d8 00C0 rjmp .L536
3684 23da 9095 com r25
3685 23dc 8195 neg r24
3686 23de 9F4F sbci r25,lo8(-1)
3687 .L536:
3688 23e0 60E0 ldi r22,lo8(256)
3689 23e2 71E0 ldi r23,hi8(256)
3690 23e4 0E94 0000 call __divmodhi4
3691 23e8 6F5F subi r22,lo8(-(1))
3692 23ea 7F4F sbci r23,hi8(-(1))
3693 23ec 8827 clr r24
3694 23ee 77FD sbrc r23,7
3695 23f0 8095 com r24
3696 23f2 982F mov r25,r24
3697 23f4 060F add r16,r22
3698 23f6 171F adc r17,r23
3699 23f8 281F adc r18,r24
3700 23fa 391F adc r19,r25
3701 .L581:
3702 23fc 0093 0000 sts SummeNick.2349,r16
3703 2400 1093 0000 sts (SummeNick.2349)+1,r17
3704 2404 2093 0000 sts (SummeNick.2349)+2,r18
3705 2408 3093 0000 sts (SummeNick.2349)+3,r19
3706 240c 8091 0000 lds r24,SummeNick.2349
3707 2410 9091 0000 lds r25,(SummeNick.2349)+1
3708 2414 A091 0000 lds r26,(SummeNick.2349)+2
3709 2418 B091 0000 lds r27,(SummeNick.2349)+3
3710 241c 8138 cpi r24,lo8(16001)
3711 241e FEE3 ldi r31,hi8(16001)
3712 2420 9F07 cpc r25,r31
3713 2422 F0E0 ldi r31,hlo8(16001)
3714 2424 AF07 cpc r26,r31
3715 2426 F0E0 ldi r31,hhi8(16001)
3716 2428 BF07 cpc r27,r31
3717 242a 04F0 brlt .L537
3718 242c 80E8 ldi r24,lo8(16000)
3719 242e 9EE3 ldi r25,hi8(16000)
3720 2430 A0E0 ldi r26,hlo8(16000)
3721 2432 B0E0 ldi r27,hhi8(16000)
3722 2434 00C0 rjmp .L582
3723 .L537:
3724 2436 8058 subi r24,lo8(-16000)
3725 2438 914C sbci r25,hi8(-16000)
3726 243a AF4F sbci r26,hlo8(-16000)
3727 243c BF4F sbci r27,hhi8(-16000)
3728 243e 04F4 brge .L539
3729 2440 80E8 ldi r24,lo8(-16000)
3730 2442 91EC ldi r25,hi8(-16000)
3731 2444 AFEF ldi r26,hlo8(-16000)
3732 2446 BFEF ldi r27,hhi8(-16000)
3733 .L582:
3734 2448 8093 0000 sts SummeNick.2349,r24
3735 244c 9093 0000 sts (SummeNick.2349)+1,r25
3736 2450 A093 0000 sts (SummeNick.2349)+2,r26
3737 2454 B093 0000 sts (SummeNick.2349)+3,r27
3738 .L539:
3739 2458 6091 0000 lds r22,DiffNick
3740 245c 7091 0000 lds r23,(DiffNick)+1
3741 2460 8090 0000 lds r8,Ki
3742 2464 9090 0000 lds r9,(Ki)+1
3743 2468 A090 0000 lds r10,(Ki)+2
3744 246c B090 0000 lds r11,(Ki)+3
3745 2470 8827 clr r24
3746 2472 77FD sbrc r23,7
3747 2474 8095 com r24
3748 2476 982F mov r25,r24
3749 2478 0E94 0000 call __floatsisf
3750 247c 7B01 movw r14,r22
3751 247e 8C01 movw r16,r24
3752 2480 6091 0000 lds r22,SummeNick.2349
3753 2484 7091 0000 lds r23,(SummeNick.2349)+1
3754 2488 8091 0000 lds r24,(SummeNick.2349)+2
3755 248c 9091 0000 lds r25,(SummeNick.2349)+3
3756 2490 0E94 0000 call __floatsisf
3757 2494 9B01 movw r18,r22
3758 2496 AC01 movw r20,r24
3759 2498 C501 movw r24,r10
3760 249a B401 movw r22,r8
3761 249c 0E94 0000 call __mulsf3
3762 24a0 9B01 movw r18,r22
3763 24a2 AC01 movw r20,r24
3764 24a4 C801 movw r24,r16
3765 24a6 B701 movw r22,r14
3766 24a8 0E94 0000 call __addsf3
3767 24ac 0E94 0000 call __fixsfsi
3768 24b0 9601 movw r18,r12
3769 24b2 260F add r18,r22
3770 24b4 371F adc r19,r23
3771 24b6 4981 ldd r20,Y+1
3772 24b8 5A81 ldd r21,Y+2
3773 24ba 240F add r18,r20
3774 24bc 351F adc r19,r21
3775 24be 2224 clr r2
3776 24c0 4A30 cpi r20,10
3777 24c2 5105 cpc r21,__zero_reg__
3778 24c4 04F4 brge .L541
3779 24c6 41E0 ldi r20,lo8(1)
3780 24c8 242E mov r2,r20
3781 .L541:
3782 24ca 37FD sbrc r19,7
3783 24cc 00C0 rjmp .L544
3784 24ce 2220 tst r2
3785 24d0 01F0 breq .L542
3786 .L544:
3787 24d2 40E0 ldi r20,lo8(0)
3788 24d4 50E0 ldi r21,hi8(0)
3789 24d6 00C0 rjmp .L545
3790 .L542:
3791 24d8 8091 0000 lds r24,MAX_GAS
3792 24dc 482F mov r20,r24
3793 24de 5527 clr r21
3794 24e0 2417 cp r18,r20
3795 24e2 3507 cpc r19,r21
3796 24e4 04F4 brge .L545
3797 24e6 A901 movw r20,r18
3798 .L545:
3799 24e8 8091 0000 lds r24,MIN_GAS
3800 24ec E82F mov r30,r24
3801 24ee FF27 clr r31
3802 24f0 FC83 std Y+4,r31
3803 24f2 EB83 std Y+3,r30
3804 24f4 9F01 movw r18,r30
3805 24f6 E417 cp r30,r20
3806 24f8 F507 cpc r31,r21
3807 24fa 04F4 brge .L547
3808 24fc 9A01 movw r18,r20
3809 .L547:
3810 24fe 2093 0000 sts Motor_Vorne,r18
3811 2502 2981 ldd r18,Y+1
3812 2504 3A81 ldd r19,Y+2
3813 2506 261B sub r18,r22
3814 2508 370B sbc r19,r23
3815 250a B901 movw r22,r18
3816 250c 6C0D add r22,r12
3817 250e 7D1D adc r23,r13
3818 2510 77FD sbrc r23,7
3819 2512 00C0 rjmp .L550
3820 2514 2220 tst r2
3821 2516 01F0 breq .L548
3822 .L550:
3823 2518 80E0 ldi r24,lo8(0)
3824 251a 90E0 ldi r25,hi8(0)
3825 251c 00C0 rjmp .L551
3826 .L548:
3827 251e 8091 0000 lds r24,MAX_GAS
3828 2522 9927 clr r25
3829 2524 6817 cp r22,r24
3830 2526 7907 cpc r23,r25
3831 2528 04F4 brge .L551
3832 252a CB01 movw r24,r22
3833 .L551:
3834 252c 2B81 ldd r18,Y+3
3835 252e 3C81 ldd r19,Y+4
3836 2530 2817 cp r18,r24
3837 2532 3907 cpc r19,r25
3838 2534 04F4 brge .L553
3839 2536 9C01 movw r18,r24
3840 .L553:
3841 2538 2093 0000 sts Motor_Hinten,r18
3842 253c 6091 0000 lds r22,MesswertRoll
3843 2540 7091 0000 lds r23,(MesswertRoll)+1
3844 2544 2091 0000 lds r18,StickRoll
3845 2548 3091 0000 lds r19,(StickRoll)+1
3846 254c 4091 0000 lds r20,GPS_Roll
3847 2550 5091 0000 lds r21,(GPS_Roll)+1
3848 2554 241B sub r18,r20
3849 2556 350B sbc r19,r21
3850 2558 621B sub r22,r18
3851 255a 730B sbc r23,r19
3852 255c 8827 clr r24
3853 255e 77FD sbrc r23,7
3854 2560 8095 com r24
3855 2562 982F mov r25,r24
3856 2564 0E94 0000 call __floatsisf
3857 2568 9B01 movw r18,r22
3858 256a AC01 movw r20,r24
3859 256c C301 movw r24,r6
3860 256e B201 movw r22,r4
3861 2570 0E94 0000 call __mulsf3
3862 2574 0E94 0000 call __fixsfsi
3863 2578 7093 0000 sts (DiffRoll)+1,r23
3864 257c 6093 0000 sts DiffRoll,r22
3865 2580 8091 0000 lds r24,DiffRoll
3866 2584 9091 0000 lds r25,(DiffRoll)+1
3867 2588 8C01 movw r16,r24
3868 258a 2227 clr r18
3869 258c 17FD sbrc r17,7
3870 258e 2095 com r18
3871 2590 322F mov r19,r18
3872 2592 8091 0000 lds r24,SummeRoll.2350
3873 2596 9091 0000 lds r25,(SummeRoll.2350)+1
3874 259a A091 0000 lds r26,(SummeRoll.2350)+2
3875 259e B091 0000 lds r27,(SummeRoll.2350)+3
3876 25a2 080F add r16,r24
3877 25a4 191F adc r17,r25
3878 25a6 2A1F adc r18,r26
3879 25a8 3B1F adc r19,r27
3880 25aa 0093 0000 sts SummeRoll.2350,r16
3881 25ae 1093 0000 sts (SummeRoll.2350)+1,r17
3882 25b2 2093 0000 sts (SummeRoll.2350)+2,r18
3883 25b6 3093 0000 sts (SummeRoll.2350)+3,r19
3884 25ba 1016 cp __zero_reg__,r16
3885 25bc 1106 cpc __zero_reg__,r17
3886 25be 1206 cpc __zero_reg__,r18
3887 25c0 1306 cpc __zero_reg__,r19
3888 25c2 04F4 brge .L554
3889 25c4 C801 movw r24,r16
3890 25c6 17FF sbrs r17,7
3891 25c8 00C0 rjmp .L556
3892 25ca 9095 com r25
3893 25cc 8195 neg r24
3894 25ce 9F4F sbci r25,lo8(-1)
3895 .L556:
3896 25d0 60E0 ldi r22,lo8(256)
3897 25d2 71E0 ldi r23,hi8(256)
3898 25d4 0E94 0000 call __divmodhi4
3899 25d8 6F5F subi r22,lo8(-(1))
3900 25da 7F4F sbci r23,hi8(-(1))
3901 25dc 8827 clr r24
3902 25de 77FD sbrc r23,7
3903 25e0 8095 com r24
3904 25e2 982F mov r25,r24
3905 25e4 061B sub r16,r22
3906 25e6 170B sbc r17,r23
3907 25e8 280B sbc r18,r24
3908 25ea 390B sbc r19,r25
3909 25ec 00C0 rjmp .L583
3910 .L554:
3911 25ee C801 movw r24,r16
3912 25f0 17FF sbrs r17,7
3913 25f2 00C0 rjmp .L558
3914 25f4 9095 com r25
3915 25f6 8195 neg r24
3916 25f8 9F4F sbci r25,lo8(-1)
3917 .L558:
3918 25fa 60E0 ldi r22,lo8(256)
3919 25fc 71E0 ldi r23,hi8(256)
3920 25fe 0E94 0000 call __divmodhi4
3921 2602 6F5F subi r22,lo8(-(1))
3922 2604 7F4F sbci r23,hi8(-(1))
3923 2606 8827 clr r24
3924 2608 77FD sbrc r23,7
3925 260a 8095 com r24
3926 260c 982F mov r25,r24
3927 260e 060F add r16,r22
3928 2610 171F adc r17,r23
3929 2612 281F adc r18,r24
3930 2614 391F adc r19,r25
3931 .L583:
3932 2616 0093 0000 sts SummeRoll.2350,r16
3933 261a 1093 0000 sts (SummeRoll.2350)+1,r17
3934 261e 2093 0000 sts (SummeRoll.2350)+2,r18
3935 2622 3093 0000 sts (SummeRoll.2350)+3,r19
3936 2626 8091 0000 lds r24,SummeRoll.2350
3937 262a 9091 0000 lds r25,(SummeRoll.2350)+1
3938 262e A091 0000 lds r26,(SummeRoll.2350)+2
3939 2632 B091 0000 lds r27,(SummeRoll.2350)+3
3940 2636 8138 cpi r24,lo8(16001)
3941 2638 3EE3 ldi r19,hi8(16001)
3942 263a 9307 cpc r25,r19
3943 263c 30E0 ldi r19,hlo8(16001)
3944 263e A307 cpc r26,r19
3945 2640 30E0 ldi r19,hhi8(16001)
3946 2642 B307 cpc r27,r19
3947 2644 04F0 brlt .L559
3948 2646 80E8 ldi r24,lo8(16000)
3949 2648 9EE3 ldi r25,hi8(16000)
3950 264a A0E0 ldi r26,hlo8(16000)
3951 264c B0E0 ldi r27,hhi8(16000)
3952 264e 00C0 rjmp .L584
3953 .L559:
3954 2650 8058 subi r24,lo8(-16000)
3955 2652 914C sbci r25,hi8(-16000)
3956 2654 AF4F sbci r26,hlo8(-16000)
3957 2656 BF4F sbci r27,hhi8(-16000)
3958 2658 04F4 brge .L561
3959 265a 80E8 ldi r24,lo8(-16000)
3960 265c 91EC ldi r25,hi8(-16000)
3961 265e AFEF ldi r26,hlo8(-16000)
3962 2660 BFEF ldi r27,hhi8(-16000)
3963 .L584:
3964 2662 8093 0000 sts SummeRoll.2350,r24
3965 2666 9093 0000 sts (SummeRoll.2350)+1,r25
3966 266a A093 0000 sts (SummeRoll.2350)+2,r26
3967 266e B093 0000 sts (SummeRoll.2350)+3,r27
3968 .L561:
3969 2672 6091 0000 lds r22,DiffRoll
3970 2676 7091 0000 lds r23,(DiffRoll)+1
3971 267a 8827 clr r24
3972 267c 77FD sbrc r23,7
3973 267e 8095 com r24
3974 2680 982F mov r25,r24
3975 2682 0E94 0000 call __floatsisf
3976 2686 7B01 movw r14,r22
3977 2688 8C01 movw r16,r24
3978 268a 6091 0000 lds r22,SummeRoll.2350
3979 268e 7091 0000 lds r23,(SummeRoll.2350)+1
3980 2692 8091 0000 lds r24,(SummeRoll.2350)+2
3981 2696 9091 0000 lds r25,(SummeRoll.2350)+3
3982 269a 0E94 0000 call __floatsisf
3983 269e 9B01 movw r18,r22
3984 26a0 AC01 movw r20,r24
3985 26a2 C501 movw r24,r10
3986 26a4 B401 movw r22,r8
3987 26a6 0E94 0000 call __mulsf3
3988 26aa 9B01 movw r18,r22
3989 26ac AC01 movw r20,r24
3990 26ae C801 movw r24,r16
3991 26b0 B701 movw r22,r14
3992 26b2 0E94 0000 call __addsf3
3993 26b6 0E94 0000 call __fixsfsi
3994 26ba 2981 ldd r18,Y+1
3995 26bc 3A81 ldd r19,Y+2
3996 26be 260F add r18,r22
3997 26c0 371F adc r19,r23
3998 26c2 2C19 sub r18,r12
3999 26c4 3D09 sbc r19,r13
4000 26c6 37FD sbrc r19,7
4001 26c8 00C0 rjmp .L565
4002 26ca 2220 tst r2
4003 26cc 01F0 breq .L563
4004 .L565:
4005 26ce 40E0 ldi r20,lo8(0)
4006 26d0 50E0 ldi r21,hi8(0)
4007 26d2 00C0 rjmp .L566
4008 .L563:
4009 26d4 8091 0000 lds r24,MAX_GAS
4010 26d8 482F mov r20,r24
4011 26da 5527 clr r21
4012 26dc 2417 cp r18,r20
4013 26de 3507 cpc r19,r21
4014 26e0 04F4 brge .L566
4015 26e2 A901 movw r20,r18
4016 .L566:
4017 26e4 2B81 ldd r18,Y+3
4018 26e6 3C81 ldd r19,Y+4
4019 26e8 2417 cp r18,r20
4020 26ea 3507 cpc r19,r21
4021 26ec 04F4 brge .L568
4022 26ee 9A01 movw r18,r20
4023 .L568:
4024 26f0 2093 0000 sts Motor_Links,r18
4025 26f4 8981 ldd r24,Y+1
4026 26f6 9A81 ldd r25,Y+2
4027 26f8 861B sub r24,r22
4028 26fa 970B sbc r25,r23
4029 26fc BC01 movw r22,r24
4030 26fe 6C19 sub r22,r12
4031 2700 7D09 sbc r23,r13
4032 2702 77FD sbrc r23,7
4033 2704 00C0 rjmp .L571
4034 2706 2220 tst r2
4035 2708 01F0 breq .L569
4036 .L571:
4037 270a 20E0 ldi r18,lo8(0)
4038 270c 30E0 ldi r19,hi8(0)
4039 270e 00C0 rjmp .L572
4040 .L569:
4041 2710 8091 0000 lds r24,MAX_GAS
4042 2714 282F mov r18,r24
4043 2716 3327 clr r19
4044 2718 6217 cp r22,r18
4045 271a 7307 cpc r23,r19
4046 271c 04F4 brge .L572
4047 271e 9B01 movw r18,r22
4048 .L572:
4049 2720 8B81 ldd r24,Y+3
4050 2722 9C81 ldd r25,Y+4
4051 2724 8217 cp r24,r18
4052 2726 9307 cpc r25,r19
4053 2728 04F4 brge .L574
4054 272a C901 movw r24,r18
4055 .L574:
4056 272c 8093 0000 sts Motor_Rechts,r24
4057 /* epilogue: frame size=4 */
4058 2730 2496 adiw r28,4
4059 2732 0FB6 in __tmp_reg__,__SREG__
4060 2734 F894 cli
4061 2736 DEBF out __SP_H__,r29
4062 2738 0FBE out __SREG__,__tmp_reg__
4063 273a CDBF out __SP_L__,r28
4064 273c DF91 pop r29
4065 273e CF91 pop r28
4066 2740 1F91 pop r17
4067 2742 0F91 pop r16
4068 2744 FF90 pop r15
4069 2746 EF90 pop r14
4070 2748 DF90 pop r13
4071 274a CF90 pop r12
4072 274c BF90 pop r11
4073 274e AF90 pop r10
4074 2750 9F90 pop r9
4075 2752 8F90 pop r8
4076 2754 7F90 pop r7
4077 2756 6F90 pop r6
4078 2758 5F90 pop r5
4079 275a 4F90 pop r4
4080 275c 3F90 pop r3
4081 275e 2F90 pop r2
4082 2760 0895 ret
4083 /* epilogue end (size=25) */
4084 /* function MotorRegler size 2806 (2755) */
4086 .global Timeout
4087 .global Timeout
4088 .section .bss
4091 Timeout:
4092 0000 00 .skip 1,0
4093 .global AdNeutralNick
4094 .global AdNeutralNick
4097 AdNeutralNick:
4098 0001 0000 .skip 2,0
4099 .global AdNeutralRoll
4100 .global AdNeutralRoll
4103 AdNeutralRoll:
4104 0003 0000 .skip 2,0
4105 .global AdNeutralGier
4106 .global AdNeutralGier
4109 AdNeutralGier:
4110 0005 0000 .skip 2,0
4111 .global NeutralAccX
4112 .global NeutralAccX
4115 NeutralAccX:
4116 0007 0000 .skip 2,0
4117 .global NeutralAccY
4118 .global NeutralAccY
4121 NeutralAccY:
4122 0009 0000 .skip 2,0
4123 .global NeutralAccZ
4124 .global NeutralAccZ
4127 NeutralAccZ:
4128 000b 0000 0000 .skip 4,0
4129 .global CosinusNickWinkel
4130 .global CosinusNickWinkel
4133 CosinusNickWinkel:
4134 000f 00 .skip 1,0
4135 .global CosinusRollWinkel
4136 .global CosinusRollWinkel
4139 CosinusRollWinkel:
4140 0010 00 .skip 1,0
4141 .global IntegralNick
4142 .global IntegralNick
4145 IntegralNick:
4146 0011 0000 0000 .skip 4,0
4147 .global IntegralNick2
4148 .global IntegralNick2
4151 IntegralNick2:
4152 0015 0000 0000 .skip 4,0
4153 .global IntegralRoll
4154 .global IntegralRoll
4157 IntegralRoll:
4158 0019 0000 0000 .skip 4,0
4159 .global IntegralRoll2
4160 .global IntegralRoll2
4163 IntegralRoll2:
4164 001d 0000 0000 .skip 4,0
4165 .global Integral_Gier
4166 .global Integral_Gier
4169 Integral_Gier:
4170 0021 0000 0000 .skip 4,0
4171 .global Mess_IntegralNick
4172 .global Mess_IntegralNick
4175 Mess_IntegralNick:
4176 0025 0000 0000 .skip 4,0
4177 .global Mess_IntegralNick2
4178 .global Mess_IntegralNick2
4181 Mess_IntegralNick2:
4182 0029 0000 0000 .skip 4,0
4183 .global Mess_IntegralRoll
4184 .global Mess_IntegralRoll
4187 Mess_IntegralRoll:
4188 002d 0000 0000 .skip 4,0
4189 .global Mess_IntegralRoll2
4190 .global Mess_IntegralRoll2
4193 Mess_IntegralRoll2:
4194 0031 0000 0000 .skip 4,0
4195 .global Mess_Integral_Gier
4196 .global Mess_Integral_Gier
4199 Mess_Integral_Gier:
4200 0035 0000 0000 .skip 4,0
4201 .global Mess_Integral_Gier2
4202 .global Mess_Integral_Gier2
4205 Mess_Integral_Gier2:
4206 0039 0000 0000 .skip 4,0
4207 .global Mess_Integral_Hoch
4208 .global Mess_Integral_Hoch
4211 Mess_Integral_Hoch:
4212 003d 0000 0000 .skip 4,0
4213 .global KompassValue
4214 .global KompassValue
4217 KompassValue:
4218 0041 0000 .skip 2,0
4219 .global KompassStartwert
4220 .global KompassStartwert
4223 KompassStartwert:
4224 0043 0000 .skip 2,0
4225 .global KompassRichtung
4226 .global KompassRichtung
4229 KompassRichtung:
4230 0045 0000 .skip 2,0
4231 .global Notlandung
4232 .global Notlandung
4235 Notlandung:
4236 0047 00 .skip 1,0
4237 .global HoehenReglerAktiv
4238 .global HoehenReglerAktiv
4241 HoehenReglerAktiv:
4242 0048 00 .skip 1,0
4243 .global Poti1
4244 .global Poti1
4247 Poti1:
4248 0049 0000 .skip 2,0
4249 .global Poti2
4250 .global Poti2
4253 Poti2:
4254 004b 0000 .skip 2,0
4255 .global Poti3
4256 .global Poti3
4259 Poti3:
4260 004d 0000 .skip 2,0
4261 .global Poti4
4262 .global Poti4
4265 Poti4:
4266 004f 0000 .skip 2,0
4267 .global SenderOkay
4268 .global SenderOkay
4271 SenderOkay:
4272 0051 00 .skip 1,0
4273 .global StickNick
4274 .global StickNick
4277 StickNick:
4278 0052 0000 .skip 2,0
4279 .global StickRoll
4280 .global StickRoll
4283 StickRoll:
4284 0054 0000 .skip 2,0
4285 .global StickGier
4286 .global StickGier
4289 StickGier:
4290 0056 0000 .skip 2,0
4291 .global MotorenEin
4292 .global MotorenEin
4295 MotorenEin:
4296 0058 00 .skip 1,0
4297 .global HoehenWert
4298 .global HoehenWert
4301 HoehenWert:
4302 0059 0000 .skip 2,0
4303 .global SollHoehe
4304 .global SollHoehe
4307 SollHoehe:
4308 005b 0000 .skip 2,0
4309 .global Kp
4310 .data
4313 Kp:
4314 0010 00 .byte 0
4315 0011 00 .byte 0
4316 0012 80 .byte -128
4317 0013 3F .byte 63
4318 .global Ki
4321 Ki:
4322 0014 17 .byte 23
4323 0015 B7 .byte -73
4324 0016 D1 .byte -47
4325 0017 38 .byte 56
4326 .global Parameter_Luftdruck_D
4329 Parameter_Luftdruck_D:
4330 0018 30 .byte 48
4331 .global Parameter_MaxHoehe
4334 Parameter_MaxHoehe:
4335 0019 FB .byte -5
4336 .global Parameter_Hoehe_P
4339 Parameter_Hoehe_P:
4340 001a 10 .byte 16
4341 .global Parameter_Hoehe_ACC_Wirkung
4344 Parameter_Hoehe_ACC_Wirkung:
4345 001b 3A .byte 58
4346 .global Parameter_KompassWirkung
4349 Parameter_KompassWirkung:
4350 001c 40 .byte 64
4351 .global Parameter_Gyro_P
4354 Parameter_Gyro_P:
4355 001d 32 .byte 50
4356 .global Parameter_Gyro_I
4359 Parameter_Gyro_I:
4360 001e 96 .byte -106
4361 .global Parameter_Gier_P
4364 Parameter_Gier_P:
4365 001f 02 .byte 2
4366 .global Parameter_I_Faktor
4369 Parameter_I_Faktor:
4370 0020 0A .byte 10
4371 .global Parameter_UserParam1
4372 .global Parameter_UserParam1
4373 .section .bss
4376 Parameter_UserParam1:
4377 005d 00 .skip 1,0
4378 .global Parameter_UserParam2
4379 .global Parameter_UserParam2
4382 Parameter_UserParam2:
4383 005e 00 .skip 1,0
4384 .global Parameter_UserParam3
4385 .global Parameter_UserParam3
4388 Parameter_UserParam3:
4389 005f 00 .skip 1,0
4390 .global Parameter_UserParam4
4391 .global Parameter_UserParam4
4394 Parameter_UserParam4:
4395 0060 00 .skip 1,0
4396 .global Parameter_ServoNickControl
4397 .data
4400 Parameter_ServoNickControl:
4401 0021 64 .byte 100
4402 .lcomm SignalSchlecht.2367,2
4403 .lcomm NeueKompassRichtungMerken.2363,1
4404 .lcomm TimerWerteausgabe.2362,1
4405 .lcomm hoehenregler.2361,2
4406 .lcomm modell_fliegt.2360,2
4407 .lcomm delay_ausschalten.2359,1
4408 .lcomm delay_einschalten.2358,1
4409 .lcomm delay_neutral.2357,1
4410 .lcomm RcLostTimer.2356,2
4411 .lcomm IntegralFehlerRoll.2355,2
4412 .lcomm IntegralFehlerNick.2354,2
4413 .lcomm tmp_long2.2353,4
4414 .lcomm tmp_long.2352,4
4415 .lcomm sollGier.2351,4
4416 .lcomm SummeRoll.2350,4
4417 .lcomm SummeNick.2349,4
4418 .comm DiffNick,2,1
4419 .comm DiffRoll,2,1
4420 .comm durchschnitt_northing,4,1
4421 .comm durchschnitt_easting,4,1
4422 .comm gps_p,2,1
4423 .comm gps_d,2,1
4424 .comm skal,2,1
4425 .comm RemoteTasten,1,1
4426 .comm MesswertNick,2,1
4427 .comm MesswertRoll,2,1
4428 .comm MesswertGier,2,1
4429 .comm Mittelwert_AccNick,2,1
4430 .comm Mittelwert_AccRoll,2,1
4431 .comm Mittelwert_AccHoch,2,1
4432 .comm h,1,1
4433 .comm m,1,1
4434 .comm s,1,1
4435 .comm Motor_Vorne,1,1
4436 .comm Motor_Hinten,1,1
4437 .comm Motor_Rechts,1,1
4438 .comm Motor_Links,1,1
4439 .comm Count,1,1
4440 .comm MotorWert,5,1
4441 .comm EE_Parameter,58,1
4442 .comm MAX_GAS,1,1
4443 .comm MIN_GAS,1,1
4444 .comm GyroFaktor,4,1
4445 .comm IntegralFaktor,4,1
4446 /* File "fc.c": code 5085 = 0x13dd (5003), prologues 38, epilogues 44 */
DEFINED SYMBOLS
*ABS*:00000000 fc.c
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:13 .text:00000000 Mittelwert
*COM*:00000002 MesswertNick
*COM*:00000002 MesswertRoll
*COM*:00000002 MesswertGier
*COM*:00000002 Mittelwert_AccNick
*COM*:00000002 Mittelwert_AccRoll
*COM*:00000002 Mittelwert_AccHoch
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4199 .bss:00000035 Mess_Integral_Gier
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4169 .bss:00000021 Integral_Gier
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4175 .bss:00000025 Mess_IntegralNick
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4145 .bss:00000011 IntegralNick
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4187 .bss:0000002d Mess_IntegralRoll
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4157 .bss:00000019 IntegralRoll
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4181 .bss:00000029 Mess_IntegralNick2
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4151 .bss:00000015 IntegralNick2
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4193 .bss:00000031 Mess_IntegralRoll2
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4163 .bss:0000001d IntegralRoll2
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4247 .bss:00000049 Poti1
*COM*:0000003a EE_Parameter
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4253 .bss:0000004b Poti2
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4259 .bss:0000004d Poti3
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4265 .bss:0000004f Poti4
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:576 .text:00000582 CalibrierMittelwert
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:918 .text:000008ba ParameterZuordnung
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4334 .data:00000019 Parameter_MaxHoehe
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4329 .data:00000018 Parameter_Luftdruck_D
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4339 .data:0000001a Parameter_Hoehe_P
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4344 .data:0000001b Parameter_Hoehe_ACC_Wirkung
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4349 .data:0000001c Parameter_KompassWirkung
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4354 .data:0000001d Parameter_Gyro_P
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4359 .data:0000001e Parameter_Gyro_I
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4369 .data:00000020 Parameter_I_Faktor
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4376 .bss:0000005d Parameter_UserParam1
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4382 .bss:0000005e Parameter_UserParam2
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4388 .bss:0000005f Parameter_UserParam3
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4394 .bss:00000060 Parameter_UserParam4
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4400 .data:00000021 Parameter_ServoNickControl
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4321 .data:00000014 Ki
*COM*:00000001 MAX_GAS
*COM*:00000001 MIN_GAS
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:1484 .text:00000d54 DefaultKonstanten2
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:1570 .text:00000e2e DefaultKonstanten1
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:1654 .text:00000f10 SendMotorData
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4295 .bss:00000058 MotorenEin
*COM*:00000001 Motor_Hinten
*COM*:00000001 Motor_Vorne
*COM*:00000001 Motor_Rechts
*COM*:00000001 Motor_Links
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:1710 .text:00000f9e SetNeutral
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4115 .bss:00000007 NeutralAccX
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4121 .bss:00000009 NeutralAccY
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4127 .bss:0000000b NeutralAccZ
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4097 .bss:00000001 AdNeutralNick
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4103 .bss:00000003 AdNeutralRoll
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4109 .bss:00000005 AdNeutralGier
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4211 .bss:0000003d Mess_Integral_Hoch
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4217 .bss:00000041 KompassValue
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4223 .bss:00000043 KompassStartwert
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:1882 .text:00001196 Piep
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:1911 .text:000011c0 MotorRegler
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4271 .bss:00000051 SenderOkay
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4409 .bss:0000006c RcLostTimer.2356
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4235 .bss:00000047 Notlandung
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4405 .bss:00000067 modell_fliegt.2360
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4416 .bss:00000082 SummeNick.2349
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4415 .bss:0000007e SummeRoll.2350
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4205 .bss:00000039 Mess_Integral_Gier2
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4408 .bss:0000006b delay_neutral.2357
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4407 .bss:0000006a delay_einschalten.2358
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4414 .bss:0000007a sollGier.2351
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4406 .bss:00000069 delay_ausschalten.2359
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4277 .bss:00000052 StickNick
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4283 .bss:00000054 StickRoll
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4289 .bss:00000056 StickGier
*COM*:00000004 GyroFaktor
*COM*:00000004 IntegralFaktor
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4411 .bss:00000070 IntegralFehlerNick.2354
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4410 .bss:0000006e IntegralFehlerRoll.2355
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4413 .bss:00000076 tmp_long.2352
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4412 .bss:00000072 tmp_long2.2353
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4402 .bss:00000063 NeueKompassRichtungMerken.2363
.bss:00000061 SignalSchlecht.2367
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4229 .bss:00000045 KompassRichtung
*COM*:00000002 gps_p
*COM*:00000002 gps_d
*COM*:00000002 skal
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4403 .bss:00000064 TimerWerteausgabe.2362
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4301 .bss:00000059 HoehenWert
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4307 .bss:0000005b SollHoehe
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4241 .bss:00000048 HoehenReglerAktiv
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4404 .bss:00000065 hoehenregler.2361
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4313 .data:00000010 Kp
*COM*:00000002 DiffNick
*COM*:00000002 DiffRoll
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4091 .bss:00000000 Timeout
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4133 .bss:0000000f CosinusNickWinkel
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4139 .bss:00000010 CosinusRollWinkel
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccPBHCUy.s:4364 .data:0000001f Parameter_Gier_P
*COM*:00000004 durchschnitt_northing
*COM*:00000004 durchschnitt_easting
*COM*:00000001 RemoteTasten
*COM*:00000001 h
*COM*:00000001 m
*COM*:00000001 s
*COM*:00000001 Count
*COM*:00000005 MotorWert
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
MessanzahlNick
AccumulateNick
__divmodhi4
MessanzahlRoll
AccumulateRoll
MessanzahlGier
AccumulateGier
messanzahl_AccNick
accumulate_AccNick
__divmodsi4
messanzahl_AccRoll
accumulate_AccRoll
messanzahl_AccHoch
accumulate_AccHoch
PPM_in
__floatsisf
__addsf3
__mulsf3
MotorTest
DebugOut
twi_state
motor
i2c_start
SetDelay
CheckDelay
MessLuftdruck
SucheLuftruckOffset
Aktuell_az
Luftdruck
StartLuftdruck
HoeheD
beeptime
Delay_ms
PcZugriff
EEPromArray
__eeprom_write_byte_1F2021
GetActiveParamSetNumber
ReadParameterSet
NewPpmData
PPM_diff
__divsf3
__ltsf2
ZaehlMessungen
__mulsi3
gps_main
GPS_Nick
GPS_Roll
__fixsfsi
/branches/V0.60_GPS_BETA_chris2798_hallo2/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></Project>
/branches/V0.60_GPS_BETA_chris2798_hallo2/flight.pnps
0,0 → 1,0
<pd><ViewState><e p="Flight-Ctrl" x="true"></e></ViewState></pd>
/branches/V0.60_GPS_BETA_chris2798_hallo2/gps.h
0,0 → 1,4
extern signed int GPS_Nick;
extern signed int GPS_Roll;
extern void GPS_Neutral(void);
extern void GPS_BerechneZielrichtung(void);
/branches/V0.60_GPS_BETA_chris2798_hallo2/main.c
0,0 → 1,210
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + 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"
 
unsigned char EEPromArray[E2END+1] EEMEM;
 
// -- Parametersatz aus EEPROM lesen ---
// number [0..5]
void ReadParameterSet(unsigned char number, unsigned char *buffer, unsigned char length)
{
if (number > 5) number = 5;
eeprom_read_block(buffer, &EEPromArray[EEPROM_ADR_PARAM_BEGIN + length * 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;
eeprom_write_block(buffer, &EEPromArray[EEPROM_ADR_PARAM_BEGIN + length * number], length);
 
eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], number); // diesen Parametersatz als aktuell merken
}
 
unsigned char GetActiveParamSetNumber(void)
{
return(eeprom_read_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET]));
}
 
//############################################################################
//Hauptprogramm
int main (void)
//############################################################################
{
unsigned int timer;
unsigned int timer2 = 0;
 
DDRC = 0x01; // 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();
sei();
 
VersionInfo.Hauptversion = VERSION_HAUPTVERSION;
VersionInfo.Nebenversion = VERSION_NEBENVERSION;
VersionInfo.PCKompatibel = VERSION_KOMPATIBEL;
printf("\n\rFlightControl V%d.%d ", VERSION_HAUPTVERSION, VERSION_NEBENVERSION);
printf("\n\r==============================");
GRN_ON;
 
if(eeprom_read_byte(&EEPromArray[EEPROM_ADR_VALID]) != 59) // seit V 0.60
{
printf("\n\rInit. EEPROM: Generiere Default-Parameter...");
DefaultKonstanten1();
for (unsigned char i=0;i<6;i++)
{
if(i==2) DefaultKonstanten2();
WriteParameterSet(i, (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE);
}
eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], 1);
eeprom_write_byte(&EEPromArray[EEPROM_ADR_VALID], 59);
}
ReadParameterSet(GetActiveParamSetNumber(), (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE);
printf("\n\rBenutze Parametersatz %d", GetActiveParamSetNumber());
 
if(EE_Parameter.GlobalConfig & CFG_HOEHENREGELUNG)
{
printf("\n\rAbgleich Luftdrucksensor..");
timer = SetDelay(2500);
SucheLuftruckOffset();
while (!CheckDelay(timer));
printf("OK\n\r");
}
SetNeutral();
 
ROT_OFF;
beeptime = 2000;
DebugIn.Analog[1] = 1000;
DebugIn.Digital[0] = 0x55;
 
printf("\n\rSteuerung: ");
if (EE_Parameter.GlobalConfig & CFG_HEADING_HOLD) printf("HeadingHold");
else printf("Neutral");
printf("\n\n\r");
LcdClear();
while (1)
{
if (UpdateMotor) // ReglerIntervall
{
UpdateMotor=0;
MotorRegler();
SendMotorData();
ROT_OFF;
if(PcZugriff) PcZugriff--;
if(SenderOkay) SenderOkay--;
if (UBat < EE_Parameter.UnterspannungsWarnung)
{
beeptime = 2000;
}
if(!Timeout)
{
i2c_init();
}
else
{
ROT_OFF;
}
}
 
if(SIO_DEBUG)
{
DatenUebertragung();
BearbeiteRxDaten();
}
else BearbeiteRxDaten();
if(CheckDelay(timer2))
{
if(MotorenEin) PORTC ^= 0x10; else PORTC &= ~0x10;
timer = SetDelay(500);
}
}
return (1);
}
 
/branches/V0.60_GPS_BETA_chris2798_hallo2/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
/branches/V0.60_GPS_BETA_chris2798_hallo2/main.h
0,0 → 1,99
#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 PORTB &=~0x01
#define ROT_ON PORTB |= 0x01
#define ROT_FLASH PORTB ^= 0x01
#define GRN_OFF PORTB &=~0x02
#define GRN_ON PORTB |= 0x02
#define GRN_FLASH PORTD ^= 0x02
 
//#ifndef F_CPU
//#error ################## F_CPU nicht definiert oder ungültig #############
//#endif
 
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
//#define ANZ_MITTELWERT 4
 
#define EEPROM_ADR_VALID 1
#define EEPROM_ADR_ACTIVE_SET 2
 
#define EEPROM_ADR_PARAM_BEGIN 100
 
#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 SYSCLK
//extern unsigned long SYSCLK;
extern volatile int i_Nick[20],i_Roll[20],DiffNick,DiffRoll;
extern volatile unsigned char SenderOkay;
extern unsigned char CosinusNickWinkel, CosinusRollWinkel;
 
extern void ReadParameterSet (unsigned char number, unsigned char *buffer, unsigned char length);
extern void WriteParameterSet(unsigned char number, unsigned char *buffer, unsigned char length);
extern unsigned char GetActiveParamSetNumber(void);
extern unsigned char EEPromArray[];
 
long durchschnitt_northing;
long durchschnitt_easting;
 
volatile int gps_p; //P-Anteil (10)
volatile int gps_d; //D-Anteil (4)
volatile int skal; //Skalierungsfaktor der Regelung (alter Wert: 10) (20)
 
#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"
 
#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/V0.60_GPS_BETA_chris2798_hallo2/main.lst
0,0 → 1,596
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 A0E0 ldi r26,lo8(EEPromArray+2)
17 0002 B0E0 ldi r27,hi8(EEPromArray+2)
18 /* #APP */
19 0004 0E94 0000 call __eeprom_read_byte_1F2021
20 0008 802D mov r24,__tmp_reg__
21 /* #NOAPP */
22 000a 9927 clr r25
23 /* epilogue: frame size=0 */
24 000c 0895 ret
25 /* epilogue end (size=1) */
26 /* function GetActiveParamSetNumber size 8 (7) */
28 .global WriteParameterSet
30 WriteParameterSet:
31 /* prologue: frame size=0 */
32 /* prologue end (size=0) */
33 000e FB01 movw r30,r22
34 0010 282F mov r18,r24
35 0012 8630 cpi r24,lo8(6)
36 0014 00F0 brlo .L4
37 0016 25E0 ldi r18,lo8(5)
38 .L4:
39 0018 842F mov r24,r20
40 001a 9927 clr r25
41 001c 429F mul r20,r18
42 001e D001 movw r26,r0
43 0020 1124 clr r1
44 0022 A050 subi r26,lo8(-(EEPromArray+100))
45 0024 B040 sbci r27,hi8(-(EEPromArray+100))
46 /* #APP */
47 .26_start:
48 0026 0197 sbiw r24,1
49 0028 04F0 brlt .26_finished
50 002a 0190 ld __tmp_reg__,z+
51 002c 0E94 0000 call __eeprom_write_byte_1F2021
52 0030 00C0 rjmp .26_start
53 .26_finished:
54 /* #NOAPP */
55 0032 A0E0 ldi r26,lo8(EEPromArray+2)
56 0034 B0E0 ldi r27,hi8(EEPromArray+2)
57 /* #APP */
58 0036 022E mov __tmp_reg__,r18
59 0038 0E94 0000 call __eeprom_write_byte_1F2021
60 /* #NOAPP */
61 /* epilogue: frame size=0 */
62 003c 0895 ret
63 /* epilogue end (size=1) */
64 /* function WriteParameterSet size 33 (32) */
66 .global ReadParameterSet
68 ReadParameterSet:
69 /* prologue: frame size=0 */
70 003e CF93 push r28
71 0040 DF93 push r29
72 /* prologue end (size=2) */
73 0042 FB01 movw r30,r22
74 0044 C42F mov r28,r20
75 0046 DD27 clr r29
76 0048 8630 cpi r24,lo8(6)
77 004a 00F0 brlo .L7
78 004c 85E0 ldi r24,lo8(5)
79 .L7:
80 004e 489F mul r20,r24
81 0050 D001 movw r26,r0
82 0052 1124 clr r1
83 0054 A050 subi r26,lo8(-(EEPromArray+100))
84 0056 B040 sbci r27,hi8(-(EEPromArray+100))
85 /* #APP */
86 .44_start:
87 0058 2197 sbiw r28,1
88 005a 04F0 brlt .44_finished
89 005c 0E94 0000 call __eeprom_read_byte_1F2021
90 0060 0192 st z+,__tmp_reg__
91 0062 00C0 rjmp .44_start
92 .44_finished:
93 /* #NOAPP */
94 /* epilogue: frame size=0 */
95 0064 DF91 pop r29
96 0066 CF91 pop r28
97 0068 0895 ret
98 /* epilogue end (size=3) */
99 /* function ReadParameterSet size 30 (25) */
101 .global main
103 main:
104 /* prologue: frame size=0 */
105 006a 0F93 push r16
106 006c 1F93 push r17
107 006e CF93 push r28
108 0070 DF93 push r29
109 /* prologue end (size=4) */
110 0072 91E0 ldi r25,lo8(1)
111 0074 97B9 out 39-0x20,r25
112 0076 8FEF ldi r24,lo8(-1)
113 0078 88B9 out 40-0x20,r24
114 007a 8BE1 ldi r24,lo8(27)
115 007c 84B9 out 36-0x20,r24
116 007e 95B9 out 37-0x20,r25
117 0080 8EE3 ldi r24,lo8(62)
118 0082 8AB9 out 42-0x20,r24
119 0084 579A sbi 42-0x20,7
120 0086 87EF ldi r24,lo8(-9)
121 0088 8BB9 out 43-0x20,r24
122 008a 84B7 in r24,84-0x20
123 008c 877F andi r24,lo8(-9)
124 008e 84BF out 84-0x20,r24
125 0090 8091 6000 lds r24,96
126 0094 8861 ori r24,lo8(24)
127 0096 8093 6000 sts 96,r24
128 009a 1092 6000 sts 96,__zero_reg__
129 009e 80ED ldi r24,lo8(2000)
130 00a0 97E0 ldi r25,hi8(2000)
131 00a2 9093 0000 sts (beeptime)+1,r25
132 00a6 8093 0000 sts beeptime,r24
133 00aa 1092 0000 sts (StickGier)+1,__zero_reg__
134 00ae 1092 0000 sts StickGier,__zero_reg__
135 00b2 1092 0000 sts (PPM_in+4)+1,__zero_reg__
136 00b6 1092 0000 sts PPM_in+4,__zero_reg__
137 00ba 1092 0000 sts (StickRoll)+1,__zero_reg__
138 00be 1092 0000 sts StickRoll,__zero_reg__
139 00c2 1092 0000 sts (StickNick)+1,__zero_reg__
140 00c6 1092 0000 sts StickNick,__zero_reg__
141 00ca 2898 cbi 37-0x20,0
142 00cc 0E94 0000 call Timer_Init
143 00d0 0E94 0000 call UART_Init
144 00d4 0E94 0000 call rc_sum_init
145 00d8 0E94 0000 call ADC_Init
146 00dc 0E94 0000 call i2c_init
147 /* #APP */
148 00e0 7894 sei
149 /* #NOAPP */
150 00e2 1092 0000 sts VersionInfo,__zero_reg__
151 00e6 8CE3 ldi r24,lo8(60)
152 00e8 8093 0000 sts VersionInfo+1,r24
153 00ec 84E0 ldi r24,lo8(4)
154 00ee 8093 0000 sts VersionInfo+2,r24
155 00f2 8CE3 ldi r24,lo8(60)
156 00f4 90E0 ldi r25,hi8(60)
157 00f6 9F93 push r25
158 00f8 8F93 push r24
159 00fa 1F92 push __zero_reg__
160 00fc 1F92 push __zero_reg__
161 00fe 80E0 ldi r24,lo8(__c.1992)
162 0100 90E0 ldi r25,hi8(__c.1992)
163 0102 9F93 push r25
164 0104 8F93 push r24
165 0106 1F92 push __zero_reg__
166 0108 0E94 0000 call _printf_P
167 010c 80E0 ldi r24,lo8(__c.1994)
168 010e 90E0 ldi r25,hi8(__c.1994)
169 0110 9F93 push r25
170 0112 8F93 push r24
171 0114 1F92 push __zero_reg__
172 0116 0E94 0000 call _printf_P
173 011a 299A sbi 37-0x20,1
174 011c A0E0 ldi r26,lo8(EEPromArray+1)
175 011e B0E0 ldi r27,hi8(EEPromArray+1)
176 /* #APP */
177 0120 0E94 0000 call __eeprom_read_byte_1F2021
178 0124 802D mov r24,__tmp_reg__
179 /* #NOAPP */
180 0126 2DB7 in r18,__SP_L__
181 0128 3EB7 in r19,__SP_H__
182 012a 265F subi r18,lo8(-(10))
183 012c 3F4F sbci r19,hi8(-(10))
184 012e 0FB6 in __tmp_reg__,__SREG__
185 0130 F894 cli
186 0132 3EBF out __SP_H__,r19
187 0134 0FBE out __SREG__,__tmp_reg__
188 0136 2DBF out __SP_L__,r18
189 0138 8B33 cpi r24,lo8(59)
190 013a 01F0 breq .L10
191 013c 80E0 ldi r24,lo8(__c.1996)
192 013e 90E0 ldi r25,hi8(__c.1996)
193 0140 9F93 push r25
194 0142 8F93 push r24
195 0144 1F92 push __zero_reg__
196 0146 0E94 0000 call _printf_P
197 014a 0E94 0000 call DefaultKonstanten1
198 014e 4AE3 ldi r20,lo8(58)
199 0150 60E0 ldi r22,lo8(EE_Parameter)
200 0152 70E0 ldi r23,hi8(EE_Parameter)
201 0154 80E0 ldi r24,lo8(0)
202 0156 0E94 0000 call WriteParameterSet
203 015a 01E0 ldi r16,lo8(1)
204 015c 0F90 pop __tmp_reg__
205 015e 0F90 pop __tmp_reg__
206 0160 0F90 pop __tmp_reg__
207 .L12:
208 0162 0230 cpi r16,lo8(2)
209 0164 01F4 brne .L13
210 0166 0E94 0000 call DefaultKonstanten2
211 016a 4AE3 ldi r20,lo8(58)
212 016c 60E0 ldi r22,lo8(EE_Parameter)
213 016e 70E0 ldi r23,hi8(EE_Parameter)
214 0170 82E0 ldi r24,lo8(2)
215 0172 0E94 0000 call WriteParameterSet
216 0176 03E0 ldi r16,lo8(3)
217 .L13:
218 0178 4AE3 ldi r20,lo8(58)
219 017a 60E0 ldi r22,lo8(EE_Parameter)
220 017c 70E0 ldi r23,hi8(EE_Parameter)
221 017e 802F mov r24,r16
222 0180 0E94 0000 call WriteParameterSet
223 0184 0F5F subi r16,lo8(-(1))
224 0186 0630 cpi r16,lo8(6)
225 0188 00F0 brlo .L12
226 018a 81E0 ldi r24,lo8(1)
227 018c 20E0 ldi r18,lo8(EEPromArray+2)
228 018e 30E0 ldi r19,hi8(EEPromArray+2)
229 0190 D901 movw r26,r18
230 /* #APP */
231 0192 082E mov __tmp_reg__,r24
232 0194 0E94 0000 call __eeprom_write_byte_1F2021
233 /* #NOAPP */
234 0198 8BE3 ldi r24,lo8(59)
235 019a 2150 subi r18,lo8(-(-1))
236 019c 3040 sbci r19,hi8(-(-1))
237 019e D901 movw r26,r18
238 /* #APP */
239 01a0 082E mov __tmp_reg__,r24
240 01a2 0E94 0000 call __eeprom_write_byte_1F2021
241 /* #NOAPP */
242 .L10:
243 01a6 00E0 ldi r16,lo8(EEPromArray+2)
244 01a8 10E0 ldi r17,hi8(EEPromArray+2)
245 01aa D801 movw r26,r16
246 /* #APP */
247 01ac 0E94 0000 call __eeprom_read_byte_1F2021
248 01b0 802D mov r24,__tmp_reg__
249 /* #NOAPP */
250 01b2 4AE3 ldi r20,lo8(58)
251 01b4 60E0 ldi r22,lo8(EE_Parameter)
252 01b6 70E0 ldi r23,hi8(EE_Parameter)
253 01b8 0E94 0000 call ReadParameterSet
254 01bc D801 movw r26,r16
255 /* #APP */
256 01be 0E94 0000 call __eeprom_read_byte_1F2021
257 01c2 802D mov r24,__tmp_reg__
258 /* #NOAPP */
259 01c4 9927 clr r25
260 01c6 9F93 push r25
261 01c8 8F93 push r24
262 01ca 80E0 ldi r24,lo8(__c.2004)
263 01cc 90E0 ldi r25,hi8(__c.2004)
264 01ce 9F93 push r25
265 01d0 8F93 push r24
266 01d2 1F92 push __zero_reg__
267 01d4 0E94 0000 call _printf_P
268 01d8 8091 0000 lds r24,EE_Parameter+8
269 01dc 0F90 pop __tmp_reg__
270 01de 0F90 pop __tmp_reg__
271 01e0 0F90 pop __tmp_reg__
272 01e2 0F90 pop __tmp_reg__
273 01e4 0F90 pop __tmp_reg__
274 01e6 80FF sbrs r24,0
275 01e8 00C0 rjmp .L16
276 01ea 80E0 ldi r24,lo8(__c.2006)
277 01ec 90E0 ldi r25,hi8(__c.2006)
278 01ee 9F93 push r25
279 01f0 8F93 push r24
280 01f2 1F92 push __zero_reg__
281 01f4 0E94 0000 call _printf_P
282 01f8 84EC ldi r24,lo8(2500)
283 01fa 99E0 ldi r25,hi8(2500)
284 01fc 0E94 0000 call SetDelay
285 0200 EC01 movw r28,r24
286 0202 0E94 0000 call SucheLuftruckOffset
287 0206 0F90 pop __tmp_reg__
288 0208 0F90 pop __tmp_reg__
289 020a 0F90 pop __tmp_reg__
290 .L18:
291 020c CE01 movw r24,r28
292 020e 0E94 0000 call CheckDelay
293 0212 8823 tst r24
294 0214 01F0 breq .L18
295 0216 80E0 ldi r24,lo8(__c.2011)
296 0218 90E0 ldi r25,hi8(__c.2011)
297 021a 9F93 push r25
298 021c 8F93 push r24
299 021e 1F92 push __zero_reg__
300 0220 0E94 0000 call _printf_P
301 0224 0F90 pop __tmp_reg__
302 0226 0F90 pop __tmp_reg__
303 0228 0F90 pop __tmp_reg__
304 .L16:
305 022a 0E94 0000 call SetNeutral
306 022e 2898 cbi 37-0x20,0
307 0230 80ED ldi r24,lo8(2000)
308 0232 97E0 ldi r25,hi8(2000)
309 0234 9093 0000 sts (beeptime)+1,r25
310 0238 8093 0000 sts beeptime,r24
311 023c 88EE ldi r24,lo8(1000)
312 023e 93E0 ldi r25,hi8(1000)
313 0240 9093 0000 sts (DebugIn+5)+1,r25
314 0244 8093 0000 sts DebugIn+5,r24
315 0248 85E5 ldi r24,lo8(85)
316 024a 8093 0000 sts DebugIn,r24
317 024e 80E0 ldi r24,lo8(__c.2013)
318 0250 90E0 ldi r25,hi8(__c.2013)
319 0252 9F93 push r25
320 0254 8F93 push r24
321 0256 1F92 push __zero_reg__
322 0258 0E94 0000 call _printf_P
323 025c 8091 0000 lds r24,EE_Parameter+8
324 0260 0F90 pop __tmp_reg__
325 0262 0F90 pop __tmp_reg__
326 0264 0F90 pop __tmp_reg__
327 0266 82FF sbrs r24,2
328 0268 00C0 rjmp .L20
329 026a 80E0 ldi r24,lo8(__c.2015)
330 026c 90E0 ldi r25,hi8(__c.2015)
331 026e 00C0 rjmp .L48
332 .L20:
333 0270 80E0 ldi r24,lo8(__c.2017)
334 0272 90E0 ldi r25,hi8(__c.2017)
335 .L48:
336 0274 9F93 push r25
337 0276 8F93 push r24
338 0278 1F92 push __zero_reg__
339 027a 0E94 0000 call _printf_P
340 027e 0F90 pop __tmp_reg__
341 0280 0F90 pop __tmp_reg__
342 0282 0F90 pop __tmp_reg__
343 0284 80E0 ldi r24,lo8(__c.2019)
344 0286 90E0 ldi r25,hi8(__c.2019)
345 0288 9F93 push r25
346 028a 8F93 push r24
347 028c 1F92 push __zero_reg__
348 028e 0E94 0000 call _printf_P
349 0292 0E94 0000 call LcdClear
350 0296 0F90 pop __tmp_reg__
351 0298 0F90 pop __tmp_reg__
352 029a 0F90 pop __tmp_reg__
353 .L49:
354 029c 8091 0000 lds r24,UpdateMotor
355 02a0 8823 tst r24
356 02a2 01F0 breq .L24
357 02a4 1092 0000 sts UpdateMotor,__zero_reg__
358 02a8 0E94 0000 call MotorRegler
359 02ac 0E94 0000 call SendMotorData
360 02b0 2898 cbi 37-0x20,0
361 02b2 8091 0000 lds r24,PcZugriff
362 02b6 8823 tst r24
363 02b8 01F0 breq .L26
364 02ba 8150 subi r24,lo8(-(-1))
365 02bc 8093 0000 sts PcZugriff,r24
366 .L26:
367 02c0 8091 0000 lds r24,SenderOkay
368 02c4 8823 tst r24
369 02c6 01F0 breq .L28
370 02c8 8091 0000 lds r24,SenderOkay
371 02cc 8150 subi r24,lo8(-(-1))
372 02ce 8093 0000 sts SenderOkay,r24
373 .L28:
374 02d2 2091 0000 lds r18,UBat
375 02d6 3091 0000 lds r19,(UBat)+1
376 02da 8091 0000 lds r24,EE_Parameter+24
377 02de 9927 clr r25
378 02e0 2817 cp r18,r24
379 02e2 3907 cpc r19,r25
380 02e4 04F4 brge .L30
381 02e6 80ED ldi r24,lo8(2000)
382 02e8 97E0 ldi r25,hi8(2000)
383 02ea 9093 0000 sts (beeptime)+1,r25
384 02ee 8093 0000 sts beeptime,r24
385 .L30:
386 02f2 8091 0000 lds r24,Timeout
387 02f6 8823 tst r24
388 02f8 01F4 brne .L32
389 02fa 0E94 0000 call i2c_init
390 02fe 00C0 rjmp .L24
391 .L32:
392 0300 2898 cbi 37-0x20,0
393 .L24:
394 0302 0E94 0000 call DatenUebertragung
395 0306 0E94 0000 call BearbeiteRxDaten
396 030a 80E0 ldi r24,lo8(0)
397 030c 90E0 ldi r25,hi8(0)
398 030e 0E94 0000 call CheckDelay
399 0312 8823 tst r24
400 0314 01F0 breq .L49
401 0316 8091 0000 lds r24,MotorenEin
402 031a 8823 tst r24
403 031c 01F0 breq .L35
404 031e 88B1 in r24,40-0x20
405 0320 90E1 ldi r25,lo8(16)
406 0322 8927 eor r24,r25
407 0324 88B9 out 40-0x20,r24
408 0326 00C0 rjmp .L37
409 .L35:
410 0328 4498 cbi 40-0x20,4
411 .L37:
412 032a 84EF ldi r24,lo8(500)
413 032c 91E0 ldi r25,hi8(500)
414 032e 0E94 0000 call SetDelay
415 0332 00C0 rjmp .L49
416 /* epilogue: frame size=0 */
417 /* epilogue: noreturn */
418 /* epilogue end (size=0) */
419 /* function main size 363 (359) */
421 .section .progmem.data,"a",@progbits
424 __c.2019:
425 0000 0A0A 0D00 .string "\n\n\r"
428 __c.2017:
429 0004 4E65 7574 .string "Neutral"
429 7261 6C00
432 __c.2015:
433 000c 4865 6164 .string "HeadingHold"
433 696E 6748
433 6F6C 6400
436 __c.2013:
437 0018 0A0D 5374 .string "\n\rSteuerung: "
437 6575 6572
437 756E 673A
437 2000
440 __c.2011:
441 0026 4F4B 0A0D .string "OK\n\r"
441 00
444 __c.2006:
445 002b 0A0D 4162 .string "\n\rAbgleich Luftdrucksensor.."
445 676C 6569
445 6368 204C
445 7566 7464
445 7275 636B
448 __c.2004:
449 0048 0A0D 4265 .string "\n\rBenutze Parametersatz %d"
449 6E75 747A
449 6520 5061
449 7261 6D65
449 7465 7273
452 __c.1996:
453 0063 0A0D 496E .string "\n\rInit. EEPROM: Generiere Default-Parameter..."
453 6974 2E20
453 4545 5052
453 4F4D 3A20
453 4765 6E65
456 __c.1994:
457 0092 0A0D 3D3D .string "\n\r=============================="
457 3D3D 3D3D
457 3D3D 3D3D
457 3D3D 3D3D
457 3D3D 3D3D
460 __c.1992:
461 00b3 0A0D 466C .string "\n\rFlightControl V%d.%d "
461 6967 6874
461 436F 6E74
461 726F 6C20
461 5625 642E
462 .comm DiffNick,2,1
463 .comm DiffRoll,2,1
464 .comm SenderOkay,1,1
465 .comm CosinusNickWinkel,1,1
466 .comm CosinusRollWinkel,1,1
467 .global EEPromArray
468 .section .eeprom,"aw",@progbits
471 EEPromArray:
472 0000 0000 0000 .skip 2048,0
472 0000 0000
472 0000 0000
472 0000 0000
472 0000 0000
473 .comm durchschnitt_northing,4,1
474 .comm durchschnitt_easting,4,1
475 .comm gps_p,2,1
476 .comm gps_d,2,1
477 .comm skal,2,1
478 .comm RemoteTasten,1,1
479 .comm Timeout,1,1
480 .comm IntegralNick,4,1
481 .comm IntegralNick2,4,1
482 .comm IntegralRoll,4,1
483 .comm IntegralRoll2,4,1
484 .comm Mess_IntegralNick,4,1
485 .comm Mess_IntegralNick2,4,1
486 .comm Mess_IntegralRoll,4,1
487 .comm Mess_IntegralRoll2,4,1
488 .comm Integral_Gier,4,1
489 .comm Mess_Integral_Gier,4,1
490 .comm h,1,1
491 .comm m,1,1
492 .comm s,1,1
493 .comm Motor_Vorne,1,1
494 .comm Motor_Hinten,1,1
495 .comm Motor_Rechts,1,1
496 .comm Motor_Links,1,1
497 .comm Count,1,1
498 .comm MotorWert,5,1
499 .comm StickNick,2,1
500 .comm StickRoll,2,1
501 .comm StickGier,2,1
502 .comm MotorenEin,1,1
503 /* File "main.c": code 434 = 0x01b2 ( 423), prologues 6, epilogues 5 */
DEFINED SYMBOLS
*ABS*:00000000 main.c
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccuwiT9T.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccuwiT9T.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccuwiT9T.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccuwiT9T.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccuwiT9T.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccuwiT9T.s:13 .text:00000000 GetActiveParamSetNumber
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccuwiT9T.s:471 .eeprom:00000000 EEPromArray
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccuwiT9T.s:30 .text:0000000e WriteParameterSet
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccuwiT9T.s:47 .text:00000026 .26_start
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccuwiT9T.s:53 .text:00000032 .26_finished
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccuwiT9T.s:68 .text:0000003e ReadParameterSet
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccuwiT9T.s:86 .text:00000058 .44_start
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccuwiT9T.s:92 .text:00000064 .44_finished
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccuwiT9T.s:103 .text:0000006a main
*COM*:00000002 StickGier
*COM*:00000002 StickRoll
*COM*:00000002 StickNick
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccuwiT9T.s:460 .progmem.data:000000b3 __c.1992
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccuwiT9T.s:456 .progmem.data:00000092 __c.1994
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccuwiT9T.s:452 .progmem.data:00000063 __c.1996
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccuwiT9T.s:448 .progmem.data:00000048 __c.2004
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccuwiT9T.s:444 .progmem.data:0000002b __c.2006
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccuwiT9T.s:440 .progmem.data:00000026 __c.2011
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccuwiT9T.s:436 .progmem.data:00000018 __c.2013
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccuwiT9T.s:432 .progmem.data:0000000c __c.2015
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccuwiT9T.s:428 .progmem.data:00000004 __c.2017
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccuwiT9T.s:424 .progmem.data:00000000 __c.2019
*COM*:00000001 SenderOkay
*COM*:00000001 Timeout
*COM*:00000001 MotorenEin
*COM*:00000002 DiffNick
*COM*:00000002 DiffRoll
*COM*:00000001 CosinusNickWinkel
*COM*:00000001 CosinusRollWinkel
*COM*:00000004 durchschnitt_northing
*COM*:00000004 durchschnitt_easting
*COM*:00000002 gps_p
*COM*:00000002 gps_d
*COM*:00000002 skal
*COM*:00000001 RemoteTasten
*COM*:00000004 IntegralNick
*COM*:00000004 IntegralNick2
*COM*:00000004 IntegralRoll
*COM*:00000004 IntegralRoll2
*COM*:00000004 Mess_IntegralNick
*COM*:00000004 Mess_IntegralNick2
*COM*:00000004 Mess_IntegralRoll
*COM*:00000004 Mess_IntegralRoll2
*COM*:00000004 Integral_Gier
*COM*:00000004 Mess_Integral_Gier
*COM*:00000001 h
*COM*:00000001 m
*COM*:00000001 s
*COM*:00000001 Motor_Vorne
*COM*:00000001 Motor_Hinten
*COM*:00000001 Motor_Rechts
*COM*:00000001 Motor_Links
*COM*:00000001 Count
*COM*:00000005 MotorWert
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__eeprom_read_byte_1F2021
__eeprom_write_byte_1F2021
beeptime
PPM_in
Timer_Init
UART_Init
rc_sum_init
ADC_Init
i2c_init
VersionInfo
_printf_P
DefaultKonstanten1
EE_Parameter
DefaultKonstanten2
SetDelay
SucheLuftruckOffset
CheckDelay
SetNeutral
DebugIn
LcdClear
UpdateMotor
MotorRegler
SendMotorData
PcZugriff
UBat
DatenUebertragung
BearbeiteRxDaten
/branches/V0.60_GPS_BETA_chris2798_hallo2/makefile
0,0 → 1,391
#--------------------------------------------------------------------
# MCU name
MCU = atmega644
F_CPU = 20000000
#-------------------------------------------------------------------
HAUPT_VERSION = 0
NEBEN_VERSION = 60
VERSION_KOMPATIBEL = 4 # 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 ($(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).
 
TARGET = Flight-Ctrl_$(HEX_NAME)_V$(HAUPT_VERSION)_$(NEBEN_VERSION)
 
# 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
 
##########################################################################################################
 
 
# 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 \
-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)
 
 
# 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 = stk200
AVRDUDE_PROGRAMMER = dt006
#AVRDUDE_PROGRAMMER = ponyser
#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_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_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/V0.60_GPS_BETA_chris2798_hallo2/menu.c
0,0 → 1,118
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + 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 = 10,MenuePunkt=0;
if(RemoteTasten & KEY1) { if(MenuePunkt) MenuePunkt--; else MenuePunkt = MaxMenue; LcdClear(); }
if(RemoteTasten & KEY2) { MenuePunkt++; LcdClear(); }
if((RemoteTasten & KEY1) && (RemoteTasten & KEY2)) MenuePunkt = 0;
LCD_printfxy(17,0,"[%i]",MenuePunkt);
switch(MenuePunkt)
{
case 0:
LCD_printfxy(0,0,"++ MikroKopter ++");
LCD_printfxy(0,1,"V%d.%d",VERSION_HAUPTVERSION, VERSION_NEBENVERSION);
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 Kanäle ",PPM_in[7]);
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 Kanäle ",PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]]);
break;
case 5:
LCD_printfxy(0,0,"Gyro - Sensor");
LCD_printfxy(0,1,"Nick %4i (%3i)",AccumulateNick / MessanzahlNick, AdNeutralNick);
LCD_printfxy(0,2,"Roll %4i (%3i)",AccumulateRoll / MessanzahlRoll, AdNeutralRoll);
LCD_printfxy(0,3,"Gier %4i (%3i)",AccumulateGier / MessanzahlGier, AdNeutralGier);
break;
case 6:
LCD_printfxy(0,0,"ACC - Sensor");
LCD_printfxy(0,1,"Nick %4i (%3i)",accumulate_AccNick / messanzahl_AccNick,NeutralAccX);
LCD_printfxy(0,2,"Roll %4i (%3i)",accumulate_AccRoll / messanzahl_AccRoll,NeutralAccY);
LCD_printfxy(0,3,"Hoch %4i (%3i)",Aktuell_az/*accumulate_AccHoch / messanzahl_AccHoch*/,(int)NeutralAccZ);
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;
default: MaxMenue = MenuePunkt - 1;
MenuePunkt = 0;
break;
}
RemoteTasten = 0;
}
/branches/V0.60_GPS_BETA_chris2798_hallo2/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
/branches/V0.60_GPS_BETA_chris2798_hallo2/menu.h
0,0 → 1,5
extern void Menu(void);
extern char DisplayBuff[80];
extern unsigned char DispPtr;
unsigned char RemoteTasten;
 
/branches/V0.60_GPS_BETA_chris2798_hallo2/menu.lst
0,0 → 1,1255
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 FF92 push r15
35 0014 0F93 push r16
36 0016 1F93 push r17
37 /* prologue end (size=3) */
38 0018 8091 0000 lds r24,RemoteTasten
39 001c 282F mov r18,r24
40 001e 3327 clr r19
41 0020 C901 movw r24,r18
42 0022 8170 andi r24,lo8(1)
43 0024 9070 andi r25,hi8(1)
44 0026 682F mov r22,r24
45 0028 8823 tst r24
46 002a 01F0 breq .L8
47 002c 8091 0000 lds r24,MenuePunkt.1972
48 0030 8823 tst r24
49 0032 01F0 breq .L10
50 0034 8150 subi r24,lo8(-(-1))
51 0036 00C0 rjmp .L41
52 .L10:
53 0038 8091 0000 lds r24,MaxMenue.1971
54 .L41:
55 003c 8093 0000 sts MenuePunkt.1972,r24
56 0040 E0E0 ldi r30,lo8(DisplayBuff)
57 0042 F0E0 ldi r31,hi8(DisplayBuff)
58 0044 80E2 ldi r24,lo8(32)
59 .L13:
60 0046 8193 st Z+,r24
61 0048 90E0 ldi r25,hi8(DisplayBuff+80)
62 004a E030 cpi r30,lo8(DisplayBuff+80)
63 004c F907 cpc r31,r25
64 004e 01F4 brne .L13
65 .L8:
66 0050 A901 movw r20,r18
67 0052 4270 andi r20,lo8(2)
68 0054 5070 andi r21,hi8(2)
69 0056 21FF sbrs r18,1
70 0058 00C0 rjmp .L14
71 005a 8091 0000 lds r24,MenuePunkt.1972
72 005e 8F5F subi r24,lo8(-(1))
73 0060 8093 0000 sts MenuePunkt.1972,r24
74 0064 E0E0 ldi r30,lo8(DisplayBuff)
75 0066 F0E0 ldi r31,hi8(DisplayBuff)
76 0068 80E2 ldi r24,lo8(32)
77 .L16:
78 006a 8193 st Z+,r24
79 006c 90E0 ldi r25,hi8(DisplayBuff+80)
80 006e E030 cpi r30,lo8(DisplayBuff+80)
81 0070 F907 cpc r31,r25
82 0072 01F4 brne .L16
83 .L14:
84 0074 6623 tst r22
85 0076 01F0 breq .L17
86 0078 452B or r20,r21
87 007a 01F0 breq .L17
88 007c 1092 0000 sts MenuePunkt.1972,__zero_reg__
89 .L17:
90 0080 81E1 ldi r24,lo8(17)
91 0082 8093 0000 sts DispPtr,r24
92 0086 8091 0000 lds r24,MenuePunkt.1972
93 008a 9927 clr r25
94 008c 9F93 push r25
95 008e 8F93 push r24
96 0090 80E0 ldi r24,lo8(__c.1973)
97 0092 90E0 ldi r25,hi8(__c.1973)
98 0094 9F93 push r25
99 0096 8F93 push r24
100 0098 E1E0 ldi r30,lo8(1)
101 009a FE2E mov r15,r30
102 009c FF92 push r15
103 009e 0E94 0000 call _printf_P
104 00a2 0091 0000 lds r16,MenuePunkt.1972
105 00a6 0F90 pop __tmp_reg__
106 00a8 0F90 pop __tmp_reg__
107 00aa 0F90 pop __tmp_reg__
108 00ac 0F90 pop __tmp_reg__
109 00ae 0F90 pop __tmp_reg__
110 00b0 0530 cpi r16,lo8(5)
111 00b2 01F4 brne .+2
112 00b4 00C0 rjmp .L26
113 00b6 0630 cpi r16,lo8(6)
114 00b8 00F4 brsh .L32
115 00ba 0230 cpi r16,lo8(2)
116 00bc 01F4 brne .+2
117 00be 00C0 rjmp .L23
118 00c0 0330 cpi r16,lo8(3)
119 00c2 00F4 brsh .L33
120 00c4 0023 tst r16
121 00c6 01F0 breq .L21
122 00c8 0130 cpi r16,lo8(1)
123 00ca 01F0 breq .+2
124 00cc 00C0 rjmp .L20
125 00ce 00C0 rjmp .L22
126 .L33:
127 00d0 0330 cpi r16,lo8(3)
128 00d2 01F4 brne .+2
129 00d4 00C0 rjmp .L24
130 00d6 0430 cpi r16,lo8(4)
131 00d8 01F0 breq .+2
132 00da 00C0 rjmp .L20
133 00dc 00C0 rjmp .L25
134 .L32:
135 00de 0830 cpi r16,lo8(8)
136 00e0 01F4 brne .+2
137 00e2 00C0 rjmp .L29
138 00e4 0930 cpi r16,lo8(9)
139 00e6 00F4 brsh .L34
140 00e8 0630 cpi r16,lo8(6)
141 00ea 01F4 brne .+2
142 00ec 00C0 rjmp .L27
143 00ee 0730 cpi r16,lo8(7)
144 00f0 01F0 breq .+2
145 00f2 00C0 rjmp .L20
146 00f4 00C0 rjmp .L28
147 .L34:
148 00f6 0930 cpi r16,lo8(9)
149 00f8 01F4 brne .+2
150 00fa 00C0 rjmp .L30
151 00fc 0A30 cpi r16,lo8(10)
152 00fe 01F0 breq .+2
153 0100 00C0 rjmp .L20
154 0102 00C0 rjmp .L31
155 .L21:
156 0104 1092 0000 sts DispPtr,__zero_reg__
157 0108 80E0 ldi r24,lo8(__c.1976)
158 010a 90E0 ldi r25,hi8(__c.1976)
159 010c 9F93 push r25
160 010e 8F93 push r24
161 0110 FF92 push r15
162 0112 0E94 0000 call _printf_P
163 0116 84E1 ldi r24,lo8(20)
164 0118 8093 0000 sts DispPtr,r24
165 011c 8CE3 ldi r24,lo8(60)
166 011e 90E0 ldi r25,hi8(60)
167 0120 9F93 push r25
168 0122 8F93 push r24
169 0124 1F92 push __zero_reg__
170 0126 1F92 push __zero_reg__
171 0128 80E0 ldi r24,lo8(__c.1978)
172 012a 90E0 ldi r25,hi8(__c.1978)
173 012c 9F93 push r25
174 012e 8F93 push r24
175 0130 FF92 push r15
176 0132 0E94 0000 call _printf_P
177 0136 88E2 ldi r24,lo8(40)
178 0138 8093 0000 sts DispPtr,r24
179 013c 0E94 0000 call GetActiveParamSetNumber
180 0140 9927 clr r25
181 0142 9F93 push r25
182 0144 8F93 push r24
183 0146 80E0 ldi r24,lo8(__c.1980)
184 0148 90E0 ldi r25,hi8(__c.1980)
185 014a 9F93 push r25
186 014c 8F93 push r24
187 014e FF92 push r15
188 0150 0E94 0000 call _printf_P
189 0154 8CE3 ldi r24,lo8(60)
190 0156 8093 0000 sts DispPtr,r24
191 015a 80E0 ldi r24,lo8(__c.1982)
192 015c 90E0 ldi r25,hi8(__c.1982)
193 015e 9F93 push r25
194 0160 8F93 push r24
195 0162 FF92 push r15
196 0164 0E94 0000 call _printf_P
197 0168 00C0 rjmp .L43
198 .L22:
199 016a 8091 0000 lds r24,EE_Parameter+8
200 016e 80FF sbrs r24,0
201 0170 00C0 rjmp .L36
202 0172 1092 0000 sts DispPtr,__zero_reg__
203 0176 8091 0000 lds r24,HoehenWert
204 017a 9091 0000 lds r25,(HoehenWert)+1
205 017e 9F93 push r25
206 0180 8F93 push r24
207 0182 80E0 ldi r24,lo8(__c.1986)
208 0184 90E0 ldi r25,hi8(__c.1986)
209 0186 9F93 push r25
210 0188 8F93 push r24
211 018a 0F93 push r16
212 018c 0E94 0000 call _printf_P
213 0190 84E1 ldi r24,lo8(20)
214 0192 8093 0000 sts DispPtr,r24
215 0196 8091 0000 lds r24,SollHoehe
216 019a 9091 0000 lds r25,(SollHoehe)+1
217 019e 9F93 push r25
218 01a0 8F93 push r24
219 01a2 80E0 ldi r24,lo8(__c.1988)
220 01a4 90E0 ldi r25,hi8(__c.1988)
221 01a6 9F93 push r25
222 01a8 8F93 push r24
223 01aa 0F93 push r16
224 01ac 0E94 0000 call _printf_P
225 01b0 88E2 ldi r24,lo8(40)
226 01b2 8093 0000 sts DispPtr,r24
227 01b6 8091 0000 lds r24,MessLuftdruck
228 01ba 9091 0000 lds r25,(MessLuftdruck)+1
229 01be 9F93 push r25
230 01c0 8F93 push r24
231 01c2 80E0 ldi r24,lo8(__c.1990)
232 01c4 90E0 ldi r25,hi8(__c.1990)
233 01c6 9F93 push r25
234 01c8 8F93 push r24
235 01ca 0F93 push r16
236 01cc 0E94 0000 call _printf_P
237 01d0 8CE3 ldi r24,lo8(60)
238 01d2 8093 0000 sts DispPtr,r24
239 01d6 8091 0000 lds r24,DruckOffsetSetting
240 01da 9927 clr r25
241 01dc 9F93 push r25
242 01de 8F93 push r24
243 01e0 80E0 ldi r24,lo8(__c.1992)
244 01e2 90E0 ldi r25,hi8(__c.1992)
245 01e4 9F93 push r25
246 01e6 8F93 push r24
247 01e8 0F93 push r16
248 .L47:
249 01ea 0E94 0000 call _printf_P
250 .L44:
251 01ee 8DB7 in r24,__SP_L__
252 01f0 9EB7 in r25,__SP_H__
253 01f2 4496 adiw r24,20
254 .L42:
255 01f4 0FB6 in __tmp_reg__,__SREG__
256 01f6 F894 cli
257 01f8 9EBF out __SP_H__,r25
258 01fa 0FBE out __SREG__,__tmp_reg__
259 01fc 8DBF out __SP_L__,r24
260 01fe 00C0 rjmp .L35
261 .L36:
262 0200 84E1 ldi r24,lo8(20)
263 0202 8093 0000 sts DispPtr,r24
264 0206 80E0 ldi r24,lo8(__c.1994)
265 0208 90E0 ldi r25,hi8(__c.1994)
266 020a 9F93 push r25
267 020c 8F93 push r24
268 020e 0F93 push r16
269 0210 0E94 0000 call _printf_P
270 0214 88E2 ldi r24,lo8(40)
271 0216 8093 0000 sts DispPtr,r24
272 021a 80E0 ldi r24,lo8(__c.1996)
273 021c 90E0 ldi r25,hi8(__c.1996)
274 021e 9F93 push r25
275 0220 8F93 push r24
276 0222 0F93 push r16
277 0224 0E94 0000 call _printf_P
278 0228 8DB7 in r24,__SP_L__
279 022a 9EB7 in r25,__SP_H__
280 022c 0696 adiw r24,6
281 022e 00C0 rjmp .L42
282 .L23:
283 0230 1092 0000 sts DispPtr,__zero_reg__
284 0234 80E0 ldi r24,lo8(__c.1999)
285 0236 90E0 ldi r25,hi8(__c.1999)
286 0238 9F93 push r25
287 023a 8F93 push r24
288 023c FF92 push r15
289 023e 0E94 0000 call _printf_P
290 0242 84E1 ldi r24,lo8(20)
291 0244 8093 0000 sts DispPtr,r24
292 0248 6091 0000 lds r22,IntegralNick
293 024c 7091 0000 lds r23,(IntegralNick)+1
294 0250 8091 0000 lds r24,(IntegralNick)+2
295 0254 9091 0000 lds r25,(IntegralNick)+3
296 0258 20E0 ldi r18,lo8(1024)
297 025a 34E0 ldi r19,hi8(1024)
298 025c 40E0 ldi r20,hlo8(1024)
299 025e 50E0 ldi r21,hhi8(1024)
300 0260 0E94 0000 call __divmodsi4
301 0264 5F93 push r21
302 0266 4F93 push r20
303 0268 3F93 push r19
304 026a 2F93 push r18
305 026c 80E0 ldi r24,lo8(__c.2001)
306 026e 90E0 ldi r25,hi8(__c.2001)
307 0270 9F93 push r25
308 0272 8F93 push r24
309 0274 FF92 push r15
310 0276 0E94 0000 call _printf_P
311 027a 88E2 ldi r24,lo8(40)
312 027c 8093 0000 sts DispPtr,r24
313 0280 6091 0000 lds r22,IntegralRoll
314 0284 7091 0000 lds r23,(IntegralRoll)+1
315 0288 8091 0000 lds r24,(IntegralRoll)+2
316 028c 9091 0000 lds r25,(IntegralRoll)+3
317 0290 20E0 ldi r18,lo8(1024)
318 0292 34E0 ldi r19,hi8(1024)
319 0294 40E0 ldi r20,hlo8(1024)
320 0296 50E0 ldi r21,hhi8(1024)
321 0298 0E94 0000 call __divmodsi4
322 029c 5F93 push r21
323 029e 4F93 push r20
324 02a0 3F93 push r19
325 02a2 2F93 push r18
326 02a4 80E0 ldi r24,lo8(__c.2003)
327 02a6 90E0 ldi r25,hi8(__c.2003)
328 02a8 9F93 push r25
329 02aa 8F93 push r24
330 02ac FF92 push r15
331 02ae 0E94 0000 call _printf_P
332 02b2 8CE3 ldi r24,lo8(60)
333 02b4 8093 0000 sts DispPtr,r24
334 02b8 8091 0000 lds r24,KompassValue
335 02bc 9091 0000 lds r25,(KompassValue)+1
336 02c0 9F93 push r25
337 02c2 8F93 push r24
338 02c4 80E0 ldi r24,lo8(__c.2005)
339 02c6 90E0 ldi r25,hi8(__c.2005)
340 02c8 9F93 push r25
341 02ca 8F93 push r24
342 02cc FF92 push r15
343 02ce 0E94 0000 call _printf_P
344 02d2 8DB7 in r24,__SP_L__
345 02d4 9EB7 in r25,__SP_H__
346 02d6 4696 adiw r24,22
347 02d8 00C0 rjmp .L42
348 .L24:
349 02da 1092 0000 sts DispPtr,__zero_reg__
350 02de 8091 0000 lds r24,PPM_in+4
351 02e2 9091 0000 lds r25,(PPM_in+4)+1
352 02e6 2091 0000 lds r18,PPM_in+2
353 02ea 3091 0000 lds r19,(PPM_in+2)+1
354 02ee 9F93 push r25
355 02f0 8F93 push r24
356 02f2 3F93 push r19
357 02f4 2F93 push r18
358 02f6 80E0 ldi r24,lo8(__c.2008)
359 02f8 90E0 ldi r25,hi8(__c.2008)
360 02fa 9F93 push r25
361 02fc 8F93 push r24
362 02fe FF92 push r15
363 0300 0E94 0000 call _printf_P
364 0304 84E1 ldi r24,lo8(20)
365 0306 8093 0000 sts DispPtr,r24
366 030a 8091 0000 lds r24,PPM_in+8
367 030e 9091 0000 lds r25,(PPM_in+8)+1
368 0312 2091 0000 lds r18,PPM_in+6
369 0316 3091 0000 lds r19,(PPM_in+6)+1
370 031a 9F93 push r25
371 031c 8F93 push r24
372 031e 3F93 push r19
373 0320 2F93 push r18
374 0322 80E0 ldi r24,lo8(__c.2010)
375 0324 90E0 ldi r25,hi8(__c.2010)
376 0326 9F93 push r25
377 0328 8F93 push r24
378 032a FF92 push r15
379 032c 0E94 0000 call _printf_P
380 0330 88E2 ldi r24,lo8(40)
381 0332 8093 0000 sts DispPtr,r24
382 0336 8091 0000 lds r24,PPM_in+12
383 033a 9091 0000 lds r25,(PPM_in+12)+1
384 033e 2091 0000 lds r18,PPM_in+10
385 0342 3091 0000 lds r19,(PPM_in+10)+1
386 0346 9F93 push r25
387 0348 8F93 push r24
388 034a 3F93 push r19
389 034c 2F93 push r18
390 034e 80E0 ldi r24,lo8(__c.2012)
391 0350 90E0 ldi r25,hi8(__c.2012)
392 0352 9F93 push r25
393 0354 8F93 push r24
394 0356 FF92 push r15
395 0358 0E94 0000 call _printf_P
396 035c 8CE3 ldi r24,lo8(60)
397 035e 8093 0000 sts DispPtr,r24
398 0362 8091 0000 lds r24,PPM_in+14
399 0366 9091 0000 lds r25,(PPM_in+14)+1
400 036a 9F93 push r25
401 036c 8F93 push r24
402 036e 80E0 ldi r24,lo8(__c.2014)
403 0370 90E0 ldi r25,hi8(__c.2014)
404 0372 00C0 rjmp .L45
405 .L25:
406 0374 1092 0000 sts DispPtr,__zero_reg__
407 0378 E091 0000 lds r30,EE_Parameter+1
408 037c FF27 clr r31
409 037e EE0F lsl r30
410 0380 FF1F rol r31
411 0382 E050 subi r30,lo8(-(PPM_in))
412 0384 F040 sbci r31,hi8(-(PPM_in))
413 0386 2081 ld r18,Z
414 0388 3181 ldd r19,Z+1
415 038a E091 0000 lds r30,EE_Parameter
416 038e FF27 clr r31
417 0390 EE0F lsl r30
418 0392 FF1F rol r31
419 0394 E050 subi r30,lo8(-(PPM_in))
420 0396 F040 sbci r31,hi8(-(PPM_in))
421 0398 8081 ld r24,Z
422 039a 9181 ldd r25,Z+1
423 039c 3F93 push r19
424 039e 2F93 push r18
425 03a0 9F93 push r25
426 03a2 8F93 push r24
427 03a4 80E0 ldi r24,lo8(__c.2017)
428 03a6 90E0 ldi r25,hi8(__c.2017)
429 03a8 9F93 push r25
430 03aa 8F93 push r24
431 03ac FF92 push r15
432 03ae 0E94 0000 call _printf_P
433 03b2 84E1 ldi r24,lo8(20)
434 03b4 8093 0000 sts DispPtr,r24
435 03b8 E091 0000 lds r30,EE_Parameter+3
436 03bc FF27 clr r31
437 03be EE0F lsl r30
438 03c0 FF1F rol r31
439 03c2 E050 subi r30,lo8(-(PPM_in))
440 03c4 F040 sbci r31,hi8(-(PPM_in))
441 03c6 2081 ld r18,Z
442 03c8 3181 ldd r19,Z+1
443 03ca E091 0000 lds r30,EE_Parameter+2
444 03ce FF27 clr r31
445 03d0 EE0F lsl r30
446 03d2 FF1F rol r31
447 03d4 E050 subi r30,lo8(-(PPM_in))
448 03d6 F040 sbci r31,hi8(-(PPM_in))
449 03d8 8081 ld r24,Z
450 03da 9181 ldd r25,Z+1
451 03dc 3F93 push r19
452 03de 2F93 push r18
453 03e0 9F93 push r25
454 03e2 8F93 push r24
455 03e4 80E0 ldi r24,lo8(__c.2019)
456 03e6 90E0 ldi r25,hi8(__c.2019)
457 03e8 9F93 push r25
458 03ea 8F93 push r24
459 03ec FF92 push r15
460 03ee 0E94 0000 call _printf_P
461 03f2 88E2 ldi r24,lo8(40)
462 03f4 8093 0000 sts DispPtr,r24
463 03f8 E091 0000 lds r30,EE_Parameter+5
464 03fc FF27 clr r31
465 03fe EE0F lsl r30
466 0400 FF1F rol r31
467 0402 E050 subi r30,lo8(-(PPM_in))
468 0404 F040 sbci r31,hi8(-(PPM_in))
469 0406 2081 ld r18,Z
470 0408 3181 ldd r19,Z+1
471 040a E091 0000 lds r30,EE_Parameter+4
472 040e FF27 clr r31
473 0410 EE0F lsl r30
474 0412 FF1F rol r31
475 0414 E050 subi r30,lo8(-(PPM_in))
476 0416 F040 sbci r31,hi8(-(PPM_in))
477 0418 8081 ld r24,Z
478 041a 9181 ldd r25,Z+1
479 041c 3F93 push r19
480 041e 2F93 push r18
481 0420 9F93 push r25
482 0422 8F93 push r24
483 0424 80E0 ldi r24,lo8(__c.2021)
484 0426 90E0 ldi r25,hi8(__c.2021)
485 0428 9F93 push r25
486 042a 8F93 push r24
487 042c FF92 push r15
488 042e 0E94 0000 call _printf_P
489 0432 8CE3 ldi r24,lo8(60)
490 0434 8093 0000 sts DispPtr,r24
491 0438 E091 0000 lds r30,EE_Parameter+6
492 043c FF27 clr r31
493 043e EE0F lsl r30
494 0440 FF1F rol r31
495 0442 E050 subi r30,lo8(-(PPM_in))
496 0444 F040 sbci r31,hi8(-(PPM_in))
497 0446 8081 ld r24,Z
498 0448 9181 ldd r25,Z+1
499 044a 9F93 push r25
500 044c 8F93 push r24
501 044e 80E0 ldi r24,lo8(__c.2023)
502 0450 90E0 ldi r25,hi8(__c.2023)
503 .L45:
504 0452 9F93 push r25
505 0454 8F93 push r24
506 0456 FF92 push r15
507 0458 0E94 0000 call _printf_P
508 045c 8DB7 in r24,__SP_L__
509 045e 9EB7 in r25,__SP_H__
510 0460 4A96 adiw r24,26
511 0462 00C0 rjmp .L42
512 .L26:
513 0464 1092 0000 sts DispPtr,__zero_reg__
514 0468 80E0 ldi r24,lo8(__c.2026)
515 046a 90E0 ldi r25,hi8(__c.2026)
516 046c 9F93 push r25
517 046e 8F93 push r24
518 0470 FF92 push r15
519 0472 0E94 0000 call _printf_P
520 0476 84E1 ldi r24,lo8(20)
521 0478 8093 0000 sts DispPtr,r24
522 047c 2091 0000 lds r18,AdNeutralNick
523 0480 3091 0000 lds r19,(AdNeutralNick)+1
524 0484 8091 0000 lds r24,AccumulateNick
525 0488 9091 0000 lds r25,(AccumulateNick)+1
526 048c 6091 0000 lds r22,MessanzahlNick
527 0490 3F93 push r19
528 0492 2F93 push r18
529 0494 7727 clr r23
530 0496 0E94 0000 call __divmodhi4
531 049a 7F93 push r23
532 049c 6F93 push r22
533 049e 80E0 ldi r24,lo8(__c.2028)
534 04a0 90E0 ldi r25,hi8(__c.2028)
535 04a2 9F93 push r25
536 04a4 8F93 push r24
537 04a6 FF92 push r15
538 04a8 0E94 0000 call _printf_P
539 04ac 88E2 ldi r24,lo8(40)
540 04ae 8093 0000 sts DispPtr,r24
541 04b2 2091 0000 lds r18,AdNeutralRoll
542 04b6 3091 0000 lds r19,(AdNeutralRoll)+1
543 04ba 8091 0000 lds r24,AccumulateRoll
544 04be 9091 0000 lds r25,(AccumulateRoll)+1
545 04c2 6091 0000 lds r22,MessanzahlRoll
546 04c6 3F93 push r19
547 04c8 2F93 push r18
548 04ca 7727 clr r23
549 04cc 0E94 0000 call __divmodhi4
550 04d0 7F93 push r23
551 04d2 6F93 push r22
552 04d4 80E0 ldi r24,lo8(__c.2030)
553 04d6 90E0 ldi r25,hi8(__c.2030)
554 04d8 9F93 push r25
555 04da 8F93 push r24
556 04dc FF92 push r15
557 04de 0E94 0000 call _printf_P
558 04e2 8CE3 ldi r24,lo8(60)
559 04e4 8093 0000 sts DispPtr,r24
560 04e8 2091 0000 lds r18,AdNeutralGier
561 04ec 3091 0000 lds r19,(AdNeutralGier)+1
562 04f0 8091 0000 lds r24,AccumulateGier
563 04f4 9091 0000 lds r25,(AccumulateGier)+1
564 04f8 6091 0000 lds r22,MessanzahlGier
565 04fc 3F93 push r19
566 04fe 2F93 push r18
567 0500 7727 clr r23
568 0502 0E94 0000 call __divmodhi4
569 0506 7F93 push r23
570 0508 6F93 push r22
571 050a 80E0 ldi r24,lo8(__c.2032)
572 050c 90E0 ldi r25,hi8(__c.2032)
573 050e 00C0 rjmp .L46
574 .L27:
575 0510 1092 0000 sts DispPtr,__zero_reg__
576 0514 80E0 ldi r24,lo8(__c.2035)
577 0516 90E0 ldi r25,hi8(__c.2035)
578 0518 9F93 push r25
579 051a 8F93 push r24
580 051c FF92 push r15
581 051e 0E94 0000 call _printf_P
582 0522 84E1 ldi r24,lo8(20)
583 0524 8093 0000 sts DispPtr,r24
584 0528 2091 0000 lds r18,NeutralAccX
585 052c 3091 0000 lds r19,(NeutralAccX)+1
586 0530 8091 0000 lds r24,accumulate_AccNick
587 0534 9091 0000 lds r25,(accumulate_AccNick)+1
588 0538 6091 0000 lds r22,messanzahl_AccNick
589 053c 3F93 push r19
590 053e 2F93 push r18
591 0540 7727 clr r23
592 0542 0E94 0000 call __divmodhi4
593 0546 7F93 push r23
594 0548 6F93 push r22
595 054a 80E0 ldi r24,lo8(__c.2037)
596 054c 90E0 ldi r25,hi8(__c.2037)
597 054e 9F93 push r25
598 0550 8F93 push r24
599 0552 FF92 push r15
600 0554 0E94 0000 call _printf_P
601 0558 88E2 ldi r24,lo8(40)
602 055a 8093 0000 sts DispPtr,r24
603 055e 2091 0000 lds r18,NeutralAccY
604 0562 3091 0000 lds r19,(NeutralAccY)+1
605 0566 8091 0000 lds r24,accumulate_AccRoll
606 056a 9091 0000 lds r25,(accumulate_AccRoll)+1
607 056e 6091 0000 lds r22,messanzahl_AccRoll
608 0572 3F93 push r19
609 0574 2F93 push r18
610 0576 7727 clr r23
611 0578 0E94 0000 call __divmodhi4
612 057c 7F93 push r23
613 057e 6F93 push r22
614 0580 80E0 ldi r24,lo8(__c.2039)
615 0582 90E0 ldi r25,hi8(__c.2039)
616 0584 9F93 push r25
617 0586 8F93 push r24
618 0588 FF92 push r15
619 058a 0E94 0000 call _printf_P
620 058e 8CE3 ldi r24,lo8(60)
621 0590 8093 0000 sts DispPtr,r24
622 0594 6091 0000 lds r22,NeutralAccZ
623 0598 7091 0000 lds r23,(NeutralAccZ)+1
624 059c 8091 0000 lds r24,(NeutralAccZ)+2
625 05a0 9091 0000 lds r25,(NeutralAccZ)+3
626 05a4 0091 0000 lds r16,Aktuell_az
627 05a8 1091 0000 lds r17,(Aktuell_az)+1
628 05ac 0E94 0000 call __fixsfsi
629 05b0 7F93 push r23
630 05b2 6F93 push r22
631 05b4 1F93 push r17
632 05b6 0F93 push r16
633 05b8 80E0 ldi r24,lo8(__c.2041)
634 05ba 90E0 ldi r25,hi8(__c.2041)
635 .L46:
636 05bc 9F93 push r25
637 05be 8F93 push r24
638 05c0 FF92 push r15
639 05c2 0E94 0000 call _printf_P
640 05c6 8DB7 in r24,__SP_L__
641 05c8 9EB7 in r25,__SP_H__
642 05ca 4896 adiw r24,24
643 05cc 00C0 rjmp .L42
644 .L28:
645 05ce 84E1 ldi r24,lo8(20)
646 05d0 8093 0000 sts DispPtr,r24
647 05d4 8091 0000 lds r24,UBat
648 05d8 9091 0000 lds r25,(UBat)+1
649 05dc 9F93 push r25
650 05de 8F93 push r24
651 05e0 80E0 ldi r24,lo8(__c.2044)
652 05e2 90E0 ldi r25,hi8(__c.2044)
653 05e4 9F93 push r25
654 05e6 8F93 push r24
655 05e8 FF92 push r15
656 05ea 0E94 0000 call _printf_P
657 05ee 88E2 ldi r24,lo8(40)
658 05f0 8093 0000 sts DispPtr,r24
659 05f4 8091 0000 lds r24,SenderOkay
660 05f8 9927 clr r25
661 05fa 9F93 push r25
662 05fc 8F93 push r24
663 05fe 80E0 ldi r24,lo8(__c.2046)
664 0600 90E0 ldi r25,hi8(__c.2046)
665 0602 9F93 push r25
666 0604 8F93 push r24
667 0606 FF92 push r15
668 0608 0E94 0000 call _printf_P
669 060c 8DB7 in r24,__SP_L__
670 060e 9EB7 in r25,__SP_H__
671 0610 0A96 adiw r24,10
672 0612 00C0 rjmp .L42
673 .L29:
674 0614 1092 0000 sts DispPtr,__zero_reg__
675 0618 80E0 ldi r24,lo8(__c.2049)
676 061a 90E0 ldi r25,hi8(__c.2049)
677 061c 9F93 push r25
678 061e 8F93 push r24
679 0620 FF92 push r15
680 0622 0E94 0000 call _printf_P
681 0626 84E1 ldi r24,lo8(20)
682 0628 8093 0000 sts DispPtr,r24
683 062c 8091 0000 lds r24,KompassRichtung
684 0630 9091 0000 lds r25,(KompassRichtung)+1
685 0634 9F93 push r25
686 0636 8F93 push r24
687 0638 80E0 ldi r24,lo8(__c.2051)
688 063a 90E0 ldi r25,hi8(__c.2051)
689 063c 9F93 push r25
690 063e 8F93 push r24
691 0640 FF92 push r15
692 0642 0E94 0000 call _printf_P
693 0646 88E2 ldi r24,lo8(40)
694 0648 8093 0000 sts DispPtr,r24
695 064c 8091 0000 lds r24,KompassValue
696 0650 9091 0000 lds r25,(KompassValue)+1
697 0654 9F93 push r25
698 0656 8F93 push r24
699 0658 80E0 ldi r24,lo8(__c.2053)
700 065a 90E0 ldi r25,hi8(__c.2053)
701 065c 9F93 push r25
702 065e 8F93 push r24
703 0660 FF92 push r15
704 0662 0E94 0000 call _printf_P
705 0666 8CE3 ldi r24,lo8(60)
706 0668 8093 0000 sts DispPtr,r24
707 066c 8091 0000 lds r24,KompassStartwert
708 0670 9091 0000 lds r25,(KompassStartwert)+1
709 0674 9F93 push r25
710 0676 8F93 push r24
711 0678 80E0 ldi r24,lo8(__c.2055)
712 067a 90E0 ldi r25,hi8(__c.2055)
713 067c 9F93 push r25
714 067e 8F93 push r24
715 0680 FF92 push r15
716 0682 0E94 0000 call _printf_P
717 .L43:
718 0686 8DB7 in r24,__SP_L__
719 0688 9EB7 in r25,__SP_H__
720 068a 4296 adiw r24,18
721 068c 00C0 rjmp .L42
722 .L30:
723 068e 1092 0000 sts DispPtr,__zero_reg__
724 0692 8091 0000 lds r24,Poti1
725 0696 9091 0000 lds r25,(Poti1)+1
726 069a 9F93 push r25
727 069c 8F93 push r24
728 069e 80E0 ldi r24,lo8(__c.2058)
729 06a0 90E0 ldi r25,hi8(__c.2058)
730 06a2 9F93 push r25
731 06a4 8F93 push r24
732 06a6 FF92 push r15
733 06a8 0E94 0000 call _printf_P
734 06ac 84E1 ldi r24,lo8(20)
735 06ae 8093 0000 sts DispPtr,r24
736 06b2 8091 0000 lds r24,Poti2
737 06b6 9091 0000 lds r25,(Poti2)+1
738 06ba 9F93 push r25
739 06bc 8F93 push r24
740 06be 80E0 ldi r24,lo8(__c.2060)
741 06c0 90E0 ldi r25,hi8(__c.2060)
742 06c2 9F93 push r25
743 06c4 8F93 push r24
744 06c6 FF92 push r15
745 06c8 0E94 0000 call _printf_P
746 06cc 88E2 ldi r24,lo8(40)
747 06ce 8093 0000 sts DispPtr,r24
748 06d2 8091 0000 lds r24,Poti3
749 06d6 9091 0000 lds r25,(Poti3)+1
750 06da 9F93 push r25
751 06dc 8F93 push r24
752 06de 80E0 ldi r24,lo8(__c.2062)
753 06e0 90E0 ldi r25,hi8(__c.2062)
754 06e2 9F93 push r25
755 06e4 8F93 push r24
756 06e6 FF92 push r15
757 06e8 0E94 0000 call _printf_P
758 06ec 8CE3 ldi r24,lo8(60)
759 06ee 8093 0000 sts DispPtr,r24
760 06f2 8091 0000 lds r24,Poti4
761 06f6 9091 0000 lds r25,(Poti4)+1
762 06fa 9F93 push r25
763 06fc 8F93 push r24
764 06fe 80E0 ldi r24,lo8(__c.2064)
765 0700 90E0 ldi r25,hi8(__c.2064)
766 0702 9F93 push r25
767 0704 8F93 push r24
768 0706 FF92 push r15
769 0708 00C0 rjmp .L47
770 .L31:
771 070a 1092 0000 sts DispPtr,__zero_reg__
772 070e 80E0 ldi r24,lo8(__c.2067)
773 0710 90E0 ldi r25,hi8(__c.2067)
774 0712 9F93 push r25
775 0714 8F93 push r24
776 0716 FF92 push r15
777 0718 0E94 0000 call _printf_P
778 071c 84E1 ldi r24,lo8(20)
779 071e 8093 0000 sts DispPtr,r24
780 0722 8091 0000 lds r24,Parameter_ServoNickControl
781 0726 9927 clr r25
782 0728 9F93 push r25
783 072a 8F93 push r24
784 072c 80E0 ldi r24,lo8(__c.2069)
785 072e 90E0 ldi r25,hi8(__c.2069)
786 0730 9F93 push r25
787 0732 8F93 push r24
788 0734 FF92 push r15
789 0736 0E94 0000 call _printf_P
790 073a 88E2 ldi r24,lo8(40)
791 073c 8093 0000 sts DispPtr,r24
792 0740 8091 0000 lds r24,ServoValue
793 0744 9091 0000 lds r25,(ServoValue)+1
794 0748 9F93 push r25
795 074a 8F93 push r24
796 074c 80E0 ldi r24,lo8(__c.2071)
797 074e 90E0 ldi r25,hi8(__c.2071)
798 0750 9F93 push r25
799 0752 8F93 push r24
800 0754 FF92 push r15
801 0756 0E94 0000 call _printf_P
802 075a 8CE3 ldi r24,lo8(60)
803 075c 8093 0000 sts DispPtr,r24
804 0760 8091 0000 lds r24,EE_Parameter+36
805 0764 9927 clr r25
806 0766 9F93 push r25
807 0768 8F93 push r24
808 076a 8091 0000 lds r24,EE_Parameter+35
809 076e 9927 clr r25
810 0770 9F93 push r25
811 0772 8F93 push r24
812 0774 80E0 ldi r24,lo8(__c.2073)
813 0776 90E0 ldi r25,hi8(__c.2073)
814 0778 9F93 push r25
815 077a 8F93 push r24
816 077c FF92 push r15
817 077e 0E94 0000 call _printf_P
818 0782 00C0 rjmp .L44
819 .L20:
820 0784 0150 subi r16,lo8(-(-1))
821 0786 0093 0000 sts MaxMenue.1971,r16
822 078a 1092 0000 sts MenuePunkt.1972,__zero_reg__
823 .L35:
824 078e 1092 0000 sts RemoteTasten,__zero_reg__
825 /* epilogue: frame size=0 */
826 0792 1F91 pop r17
827 0794 0F91 pop r16
828 0796 FF90 pop r15
829 0798 0895 ret
830 /* epilogue end (size=4) */
831 /* function Menu size 964 (957) */
833 .global TestInt
834 .global TestInt
835 .section .bss
838 TestInt:
839 0000 0000 .skip 2,0
840 .global Array
841 .data
844 Array:
845 0000 01 .byte 1
846 0001 02 .byte 2
847 0002 03 .byte 3
848 0003 04 .byte 4
849 0004 05 .byte 5
850 0005 06 .byte 6
851 0006 07 .byte 7
852 0007 08 .byte 8
853 0008 09 .byte 9
854 0009 0A .byte 10
855 .global DisplayBuff
858 DisplayBuff:
859 000a 4861 6C6C .string "Hallo Welt"
859 6F20 5765
859 6C74 00
860 0015 0000 0000 .skip 69,0
860 0000 0000
860 0000 0000
860 0000 0000
860 0000 0000
861 .global DispPtr
862 .global DispPtr
863 .section .bss
866 DispPtr:
867 0002 00 .skip 1,0
868 .global RemoteTasten
869 .global RemoteTasten
872 RemoteTasten:
873 0003 00 .skip 1,0
874 .section .progmem.data,"a",@progbits
877 __c.2073:
878 0000 5261 6E67 .string "Range:%3i-%3i"
878 653A 2533
878 692D 2533
878 6900
881 __c.2071:
882 000e 5374 656C .string "Stellung: %3i"
882 6C75 6E67
882 3A20 2533
882 6900
885 __c.2069:
886 001c 5365 7470 .string "Setpoint %3i"
886 6F69 6E74
886 2020 2533
886 6900
889 __c.2067:
890 002a 5365 7276 .string "Servo "
890 6F20 2000
893 __c.2064:
894 0032 506F 7469 .string "Poti4: %3i"
894 343A 2020
894 2533 6900
897 __c.2062:
898 003e 506F 7469 .string "Poti3: %3i"
898 333A 2020
898 2533 6900
901 __c.2060:
902 004a 506F 7469 .string "Poti2: %3i"
902 323A 2020
902 2533 6900
905 __c.2058:
906 0056 506F 7469 .string "Poti1: %3i"
906 313A 2020
906 2533 6900
909 __c.2055:
910 0062 5374 6172 .string "Start: %5i"
910 743A 2020
910 2020 2025
910 3569 00
913 __c.2053:
914 0071 4D65 7373 .string "Messwert: %5i"
914 7765 7274
914 3A20 2025
914 3569 00
917 __c.2051:
918 0080 5269 6368 .string "Richtung: %5i"
918 7475 6E67
918 3A20 2025
918 3569 00
921 __c.2049:
922 008f 4B6F 6D70 .string "Kompass "
922 6173 7320
922 2020 2020
922 2020 00
925 __c.2046:
926 009e 456D 7066 .string "Empf.Pegel:%5i"
926 2E50 6567
926 656C 3A25
926 3569 00
929 __c.2044:
930 00ad 5370 616E .string "Spannung: %5i"
930 6E75 6E67
930 3A20 2025
930 3569 00
933 __c.2041:
934 00bc 486F 6368 .string "Hoch %4i (%3i)"
934 2025 3469
934 2028 2533
934 6929 00
937 __c.2039:
938 00cb 526F 6C6C .string "Roll %4i (%3i)"
938 2025 3469
938 2028 2533
938 6929 00
941 __c.2037:
942 00da 4E69 636B .string "Nick %4i (%3i)"
942 2025 3469
942 2028 2533
942 6929 00
945 __c.2035:
946 00e9 4143 4320 .string "ACC - Sensor"
946 2D20 5365
946 6E73 6F72
946 00
949 __c.2032:
950 00f6 4769 6572 .string "Gier %4i (%3i)"
950 2025 3469
950 2028 2533
950 6929 00
953 __c.2030:
954 0105 526F 6C6C .string "Roll %4i (%3i)"
954 2025 3469
954 2028 2533
954 6929 00
957 __c.2028:
958 0114 4E69 636B .string "Nick %4i (%3i)"
958 2025 3469
958 2028 2533
958 6929 00
961 __c.2026:
962 0123 4779 726F .string "Gyro - Sensor"
962 202D 2053
962 656E 736F
962 7200
965 __c.2023:
966 0131 5033 3A25 .string "P3:%4i Kan\344le "
966 3469 2020
966 4B61 6EE4
966 6C65 2000
969 __c.2021:
970 0141 5031 3A25 .string "P1:%4i P2:%4i "
970 3469 2020
970 5032 3A25
970 3469 2000
973 __c.2019:
974 0151 4773 3A25 .string "Gs:%4i Gi:%4i "
974 3469 2020
974 4769 3A25
974 3469 2000
977 __c.2017:
978 0161 4E69 3A25 .string "Ni:%4i Ro:%4i "
978 3469 2020
978 526F 3A25
978 3469 2000
981 __c.2014:
982 0171 4B37 3A25 .string "K7:%4i Kan\344le "
982 3469 2020
982 4B61 6EE4
982 6C65 2000
985 __c.2012:
986 0181 4B35 3A25 .string "K5:%4i K6:%4i "
986 3469 2020
986 4B36 3A25
986 3469 2000
989 __c.2010:
990 0191 4B33 3A25 .string "K3:%4i K4:%4i "
990 3469 2020
990 4B34 3A25
990 3469 2000
993 __c.2008:
994 01a1 4B31 3A25 .string "K1:%4i K2:%4i "
994 3469 2020
994 4B32 3A25
994 3469 2000
997 __c.2005:
998 01b1 4B6F 6D70 .string "Kompass: %5i"
998 6173 733A
998 2020 2025
998 3569 00
1001 __c.2003:
1002 01c0 526F 6C6C .string "Roll: %5i"
1002 3A20 2020
1002 2020 2025
1002 3569 00
1005 __c.2001:
1006 01cf 4E69 636B .string "Nick: %5i"
1006 3A20 2020
1006 2020 2025
1006 3569 00
1009 __c.1999:
1010 01de 616B 742E .string "akt. Lage"
1010 204C 6167
1010 6500
1013 __c.1996:
1014 01e8 48F6 6865 .string "H\366henregelung"
1014 6E72 6567
1014 656C 756E
1014 6700
1017 __c.1994:
1018 01f6 4B65 696E .string "Keine "
1018 6520 00
1021 __c.1992:
1022 01fd 4F66 6620 .string "Off : %5i"
1022 2020 2020
1022 203A 2025
1022 3569 00
1025 __c.1990:
1026 020c 4C75 6674 .string "Luftdruck: %5i"
1026 6472 7563
1026 6B3A 2025
1026 3569 00
1029 __c.1988:
1030 021b 536F 6C6C .string "SollHoehe: %5i"
1030 486F 6568
1030 653A 2025
1030 3569 00
1033 __c.1986:
1034 022a 486F 6568 .string "Hoehe: %5i"
1034 653A 2020
1034 2020 2025
1034 3569 00
1037 __c.1982:
1038 0239 2863 2920 .string "(c) Holger Buss"
1038 486F 6C67
1038 6572 2042
1038 7573 7300
1041 __c.1980:
1042 0249 5365 7474 .string "Setting: %d "
1042 696E 673A
1042 2025 6420
1042 00
1045 __c.1978:
1046 0256 5625 642E .string "V%d.%d"
1046 2564 00
1049 __c.1976:
1050 025d 2B2B 204D .string "++ MikroKopter ++"
1050 696B 726F
1050 4B6F 7074
1050 6572 202B
1050 2B00
1053 __c.1973:
1054 026f 5B25 695D .string "[%i]"
1054 00
1055 .lcomm MenuePunkt.1972,1
1056 .data
1059 MaxMenue.1971:
1060 005a 0A .byte 10
1061 .comm DiffNick,2,1
1062 .comm DiffRoll,2,1
1063 .comm SenderOkay,1,1
1064 .comm CosinusNickWinkel,1,1
1065 .comm CosinusRollWinkel,1,1
1066 .comm durchschnitt_northing,4,1
1067 .comm durchschnitt_easting,4,1
1068 .comm gps_p,2,1
1069 .comm gps_d,2,1
1070 .comm skal,2,1
1071 .comm Timeout,1,1
1072 .comm IntegralNick,4,1
1073 .comm IntegralNick2,4,1
1074 .comm IntegralRoll,4,1
1075 .comm IntegralRoll2,4,1
1076 .comm Mess_IntegralNick,4,1
1077 .comm Mess_IntegralNick2,4,1
1078 .comm Mess_IntegralRoll,4,1
1079 .comm Mess_IntegralRoll2,4,1
1080 .comm Integral_Gier,4,1
1081 .comm Mess_Integral_Gier,4,1
1082 .comm h,1,1
1083 .comm m,1,1
1084 .comm s,1,1
1085 .comm Motor_Vorne,1,1
1086 .comm Motor_Hinten,1,1
1087 .comm Motor_Rechts,1,1
1088 .comm Motor_Links,1,1
1089 .comm Count,1,1
1090 .comm MotorWert,5,1
1091 .comm StickNick,2,1
1092 .comm StickRoll,2,1
1093 .comm StickGier,2,1
1094 .comm MotorenEin,1,1
1095 /* File "menu.c": code 973 = 0x03cd ( 965), prologues 3, epilogues 5 */
DEFINED SYMBOLS
*ABS*:00000000 menu.c
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:13 .text:00000000 LcdClear
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:858 .data:0000000a DisplayBuff
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:32 .text:00000012 Menu
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:872 .bss:00000003 RemoteTasten
.bss:00000004 MenuePunkt.1972
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:1059 .data:0000005a MaxMenue.1971
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:866 .bss:00000002 DispPtr
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:1053 .progmem.data:0000026f __c.1973
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:1049 .progmem.data:0000025d __c.1976
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:1045 .progmem.data:00000256 __c.1978
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:1041 .progmem.data:00000249 __c.1980
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:1037 .progmem.data:00000239 __c.1982
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:1033 .progmem.data:0000022a __c.1986
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:1029 .progmem.data:0000021b __c.1988
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:1025 .progmem.data:0000020c __c.1990
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:1021 .progmem.data:000001fd __c.1992
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:1017 .progmem.data:000001f6 __c.1994
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:1013 .progmem.data:000001e8 __c.1996
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:1009 .progmem.data:000001de __c.1999
*COM*:00000004 IntegralNick
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:1005 .progmem.data:000001cf __c.2001
*COM*:00000004 IntegralRoll
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:1001 .progmem.data:000001c0 __c.2003
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:997 .progmem.data:000001b1 __c.2005
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:993 .progmem.data:000001a1 __c.2008
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:989 .progmem.data:00000191 __c.2010
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:985 .progmem.data:00000181 __c.2012
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:981 .progmem.data:00000171 __c.2014
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:977 .progmem.data:00000161 __c.2017
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:973 .progmem.data:00000151 __c.2019
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:969 .progmem.data:00000141 __c.2021
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:965 .progmem.data:00000131 __c.2023
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:961 .progmem.data:00000123 __c.2026
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:957 .progmem.data:00000114 __c.2028
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:953 .progmem.data:00000105 __c.2030
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:949 .progmem.data:000000f6 __c.2032
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:945 .progmem.data:000000e9 __c.2035
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:941 .progmem.data:000000da __c.2037
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:937 .progmem.data:000000cb __c.2039
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:933 .progmem.data:000000bc __c.2041
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:929 .progmem.data:000000ad __c.2044
*COM*:00000001 SenderOkay
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:925 .progmem.data:0000009e __c.2046
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:921 .progmem.data:0000008f __c.2049
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:917 .progmem.data:00000080 __c.2051
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:913 .progmem.data:00000071 __c.2053
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:909 .progmem.data:00000062 __c.2055
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:905 .progmem.data:00000056 __c.2058
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:901 .progmem.data:0000004a __c.2060
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:897 .progmem.data:0000003e __c.2062
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:893 .progmem.data:00000032 __c.2064
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:889 .progmem.data:0000002a __c.2067
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:885 .progmem.data:0000001c __c.2069
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:881 .progmem.data:0000000e __c.2071
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:877 .progmem.data:00000000 __c.2073
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:838 .bss:00000000 TestInt
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccpkKJHR.s:844 .data:00000000 Array
*COM*:00000002 DiffNick
*COM*:00000002 DiffRoll
*COM*:00000001 CosinusNickWinkel
*COM*:00000001 CosinusRollWinkel
*COM*:00000004 durchschnitt_northing
*COM*:00000004 durchschnitt_easting
*COM*:00000002 gps_p
*COM*:00000002 gps_d
*COM*:00000002 skal
*COM*:00000001 Timeout
*COM*:00000004 IntegralNick2
*COM*:00000004 IntegralRoll2
*COM*:00000004 Mess_IntegralNick
*COM*:00000004 Mess_IntegralNick2
*COM*:00000004 Mess_IntegralRoll
*COM*:00000004 Mess_IntegralRoll2
*COM*:00000004 Integral_Gier
*COM*:00000004 Mess_Integral_Gier
*COM*:00000001 h
*COM*:00000001 m
*COM*:00000001 s
*COM*:00000001 Motor_Vorne
*COM*:00000001 Motor_Hinten
*COM*:00000001 Motor_Rechts
*COM*:00000001 Motor_Links
*COM*:00000001 Count
*COM*:00000005 MotorWert
*COM*:00000002 StickNick
*COM*:00000002 StickRoll
*COM*:00000002 StickGier
*COM*:00000001 MotorenEin
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
_printf_P
GetActiveParamSetNumber
EE_Parameter
HoehenWert
SollHoehe
MessLuftdruck
DruckOffsetSetting
__divmodsi4
KompassValue
PPM_in
AdNeutralNick
AccumulateNick
MessanzahlNick
__divmodhi4
AdNeutralRoll
AccumulateRoll
MessanzahlRoll
AdNeutralGier
AccumulateGier
MessanzahlGier
NeutralAccX
accumulate_AccNick
messanzahl_AccNick
NeutralAccY
accumulate_AccRoll
messanzahl_AccRoll
NeutralAccZ
Aktuell_az
__fixsfsi
UBat
KompassRichtung
KompassStartwert
Poti1
Poti2
Poti3
Poti4
Parameter_ServoNickControl
ServoValue
/branches/V0.60_GPS_BETA_chris2798_hallo2/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/V0.60_GPS_BETA_chris2798_hallo2/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/V0.60_GPS_BETA_chris2798_hallo2/printf_P.d
0,0 → 1,2
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
/branches/V0.60_GPS_BETA_chris2798_hallo2/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
 
 
extern 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/V0.60_GPS_BETA_chris2798_hallo2/printf_P.lst
0,0 → 1,995
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 2F92 push r2
155 00b4 3F92 push r3
156 00b6 4F92 push r4
157 00b8 5F92 push r5
158 00ba 6F92 push r6
159 00bc 7F92 push r7
160 00be 8F92 push r8
161 00c0 9F92 push r9
162 00c2 AF92 push r10
163 00c4 BF92 push r11
164 00c6 CF92 push r12
165 00c8 DF92 push r13
166 00ca EF92 push r14
167 00cc FF92 push r15
168 00ce 0F93 push r16
169 00d0 1F93 push r17
170 00d2 CF93 push r28
171 00d4 DF93 push r29
172 00d6 CDB7 in r28,__SP_L__
173 00d8 DEB7 in r29,__SP_H__
174 00da E397 sbiw r28,51
175 00dc 0FB6 in __tmp_reg__,__SREG__
176 00de F894 cli
177 00e0 DEBF out __SP_H__,r29
178 00e2 0FBE out __SREG__,__tmp_reg__
179 00e4 CDBF out __SP_L__,r28
180 /* prologue end (size=26) */
181 00e6 2996 adiw r28,72-63
182 00e8 8FAD ldd r24,Y+63
183 00ea 2997 sbiw r28,72-63
184 00ec 8093 0000 sts PrintZiel,r24
185 00f0 CE01 movw r24,r28
186 00f2 855B subi r24,lo8(-(75))
187 00f4 9F4F sbci r25,hi8(-(75))
188 00f6 9D83 std Y+5,r25
189 00f8 8C83 std Y+4,r24
190 00fa 2B96 adiw r28,73-62
191 00fc 8EAD ldd r24,Y+62
192 00fe 9FAD ldd r25,Y+63
193 0100 2B97 sbiw r28,73-62
194 0102 9FA7 std Y+47,r25
195 0104 8EA7 std Y+46,r24
196 0106 2224 clr r2
197 0108 3324 clr r3
198 010a 2101 movw r4,r2
199 010c 00C0 rjmp .L27
200 .L28:
201 010e 1301 movw r2,r6
202 0110 2401 movw r4,r8
203 .L27:
204 0112 0EA5 ldd r16,Y+46
205 0114 1FA5 ldd r17,Y+47
206 0116 00C0 rjmp .L29
207 .L30:
208 0118 0F5F subi r16,lo8(-(1))
209 011a 1F4F sbci r17,hi8(-(1))
210 .L29:
211 011c F801 movw r30,r16
212 /* #APP */
213 011e F490 lpm r15, Z
214
215 /* #NOAPP */
216 0120 FF20 tst r15
217 0122 01F0 breq .L31
218 0124 F5E2 ldi r31,lo8(37)
219 0126 FF16 cp r15,r31
220 0128 01F4 brne .L30
221 .L31:
222 012a B801 movw r22,r16
223 012c 8EA5 ldd r24,Y+46
224 012e 9FA5 ldd r25,Y+47
225 0130 681B sub r22,r24
226 0132 790B sbc r23,r25
227 0134 01F0 breq .L33
228 0136 0E94 0000 call PRINTP
229 .L33:
230 013a FF20 tst r15
231 013c 01F4 brne .+2
232 013e 00C0 rjmp .L152
233 0140 0F5F subi r16,lo8(-(1))
234 0142 1F4F sbci r17,hi8(-(1))
235 0144 1FA7 std Y+47,r17
236 0146 0EA7 std Y+46,r16
237 0148 1982 std Y+1,__zero_reg__
238 014a AC81 ldd r26,Y+4
239 014c BD81 ldd r27,Y+5
240 014e 1BAA std Y+51,__zero_reg__
241 0150 1AAA std Y+50,__zero_reg__
242 0152 9FEF ldi r25,lo8(-1)
243 0154 99AB std Y+49,r25
244 .L174:
245 0156 EEA5 ldd r30,Y+46
246 0158 FFA5 ldd r31,Y+47
247 015a CF01 movw r24,r30
248 015c 0196 adiw r24,1
249 015e 9FA7 std Y+47,r25
250 0160 8EA7 std Y+46,r24
251 /* #APP */
252 0162 B490 lpm r11, Z
253
254 /* #NOAPP */
255 .L175:
256 0164 95E7 ldi r25,lo8(117)
257 0166 B916 cp r11,r25
258 0168 01F0 breq .L39
259 016a 8B2D mov r24,r11
260 016c 8062 ori r24,lo8(32)
261 016e 8837 cpi r24,lo8(120)
262 0170 01F4 brne .L41
263 .L39:
264 0172 EBA9 ldd r30,Y+51
265 0174 E0FF sbrs r30,0
266 0176 00C0 rjmp .L42
267 0178 2D90 ld r2,X+
268 017a 3D90 ld r3,X+
269 017c 4D90 ld r4,X+
270 017e 5C90 ld r5,X
271 0180 1397 sbiw r26,3
272 0182 1496 adiw r26,4
273 0184 00C0 rjmp .L41
274 .L42:
275 0186 8D91 ld r24,X+
276 0188 9C91 ld r25,X
277 018a 1197 sbiw r26,1
278 018c 1C01 movw r2,r24
279 018e 4424 clr r4
280 0190 5524 clr r5
281 0192 1296 adiw r26,2
282 .L41:
283 0194 F0E2 ldi r31,lo8(32)
284 0196 BF16 cp r11,r31
285 0198 01F4 brne .L44
286 019a 8981 ldd r24,Y+1
287 019c 8823 tst r24
288 019e 01F4 brne .L174
289 01a0 00C0 rjmp .L156
290 .L44:
291 01a2 83E2 ldi r24,lo8(35)
292 01a4 B816 cp r11,r24
293 01a6 01F4 brne .+2
294 01a8 00C0 rjmp .L155
295 01aa 9AE2 ldi r25,lo8(42)
296 01ac B916 cp r11,r25
297 01ae 01F0 breq .L49
298 01b0 EDE2 ldi r30,lo8(45)
299 01b2 BE16 cp r11,r30
300 01b4 01F4 brne .L164
301 01b6 00C0 rjmp .L51
302 .L49:
303 01b8 FD01 movw r30,r26
304 01ba 1296 adiw r26,2
305 01bc E081 ld r30,Z
306 01be EAAB std Y+50,r30
307 01c0 E7FF sbrs r30,7
308 01c2 00C0 rjmp .L174
309 01c4 E195 neg r30
310 01c6 EAAB std Y+50,r30
311 .L51:
312 01c8 FBA9 ldd r31,Y+51
313 01ca F061 ori r31,lo8(16)
314 01cc FF7D andi r31,lo8(-33)
315 01ce 00C0 rjmp .L169
316 .L164:
317 01d0 8BE2 ldi r24,lo8(43)
318 01d2 B816 cp r11,r24
319 01d4 01F4 brne .+2
320 01d6 00C0 rjmp .L156
321 01d8 9EE2 ldi r25,lo8(46)
322 01da B916 cp r11,r25
323 01dc 01F4 brne .L56
324 01de 2EA5 ldd r18,Y+46
325 01e0 3FA5 ldd r19,Y+47
326 01e2 2F5F subi r18,lo8(-(1))
327 01e4 3F4F sbci r19,hi8(-(1))
328 01e6 EEA5 ldd r30,Y+46
329 01e8 FFA5 ldd r31,Y+47
330 /* #APP */
331 01ea 8491 lpm r24, Z
332
333 /* #NOAPP */
334 01ec 8A32 cpi r24,lo8(42)
335 01ee 01F0 breq .L58
336 01f0 B82E mov r11,r24
337 01f2 20E0 ldi r18,lo8(0)
338 01f4 30E0 ldi r19,hi8(0)
339 01f6 00C0 rjmp .L60
340 .L58:
341 01f8 FD01 movw r30,r26
342 01fa 1296 adiw r26,2
343 01fc 4081 ld r20,Z
344 01fe 5181 ldd r21,Z+1
345 0200 57FF sbrs r21,7
346 0202 00C0 rjmp .L61
347 0204 4FEF ldi r20,lo8(-1)
348 0206 5FEF ldi r21,hi8(-1)
349 .L61:
350 0208 49AB std Y+49,r20
351 020a 3FA7 std Y+47,r19
352 020c 2EA7 std Y+46,r18
353 020e 00C0 rjmp .L174
354 .L62:
355 0210 C901 movw r24,r18
356 0212 03E0 ldi r16,3
357 0214 880F 1: lsl r24
358 0216 991F rol r25
359 0218 0A95 dec r16
360 021a 01F4 brne 1b
361 021c 220F lsl r18
362 021e 331F rol r19
363 0220 280F add r18,r24
364 0222 391F adc r19,r25
365 0224 2B0D add r18,r11
366 0226 311D adc r19,__zero_reg__
367 0228 2053 subi r18,lo8(-(-48))
368 022a 3040 sbci r19,hi8(-(-48))
369 /* #APP */
370 022c B490 lpm r11, Z
371
372 /* #NOAPP */
373 .L60:
374 022e 3196 adiw r30,1
375 0230 8B2D mov r24,r11
376 0232 8053 subi r24,lo8(-(-48))
377 0234 8A30 cpi r24,lo8(10)
378 0236 00F0 brlo .L62
379 0238 FFA7 std Y+47,r31
380 023a EEA7 std Y+46,r30
381 023c A901 movw r20,r18
382 023e 37FF sbrs r19,7
383 0240 00C0 rjmp .L64
384 0242 4FEF ldi r20,lo8(-1)
385 0244 5FEF ldi r21,hi8(-1)
386 .L64:
387 0246 49AB std Y+49,r20
388 0248 00C0 rjmp .L175
389 .L56:
390 024a F0E3 ldi r31,lo8(48)
391 024c BF16 cp r11,r31
392 024e 01F4 brne .L65
393 0250 8BA9 ldd r24,Y+51
394 0252 84FD sbrc r24,4
395 0254 00C0 rjmp .L174
396 0256 8062 ori r24,lo8(32)
397 0258 8BAB std Y+51,r24
398 025a 00C0 rjmp .L174
399 .L65:
400 025c 8B2D mov r24,r11
401 025e 8153 subi r24,lo8(-(-49))
402 0260 8930 cpi r24,lo8(9)
403 0262 00F4 brsh .L68
404 0264 20E0 ldi r18,lo8(0)
405 0266 30E0 ldi r19,hi8(0)
406 .L70:
407 0268 C901 movw r24,r18
408 026a F3E0 ldi r31,3
409 026c 880F 1: lsl r24
410 026e 991F rol r25
411 0270 FA95 dec r31
412 0272 01F4 brne 1b
413 0274 220F lsl r18
414 0276 331F rol r19
415 0278 280F add r18,r24
416 027a 391F adc r19,r25
417 027c 2B0D add r18,r11
418 027e 311D adc r19,__zero_reg__
419 0280 2053 subi r18,lo8(-(-48))
420 0282 3040 sbci r19,hi8(-(-48))
421 0284 EEA5 ldd r30,Y+46
422 0286 FFA5 ldd r31,Y+47
423 0288 CF01 movw r24,r30
424 028a 0196 adiw r24,1
425 028c 9FA7 std Y+47,r25
426 028e 8EA7 std Y+46,r24
427 /* #APP */
428 0290 B490 lpm r11, Z
429
430 /* #NOAPP */
431 0292 8B2D mov r24,r11
432 0294 8053 subi r24,lo8(-(-48))
433 0296 8A30 cpi r24,lo8(10)
434 0298 00F0 brlo .L70
435 029a 2AAB std Y+50,r18
436 029c 00C0 rjmp .L175
437 .L68:
438 029e 98E6 ldi r25,lo8(104)
439 02a0 B916 cp r11,r25
440 02a2 01F4 brne .L72
441 02a4 EBA9 ldd r30,Y+51
442 02a6 E460 ori r30,lo8(4)
443 02a8 EBAB std Y+51,r30
444 02aa 00C0 rjmp .L174
445 .L156:
446 02ac B982 std Y+1,r11
447 02ae 00C0 rjmp .L174
448 .L155:
449 02b0 FBA9 ldd r31,Y+51
450 02b2 F860 ori r31,lo8(8)
451 .L169:
452 02b4 FBAB std Y+51,r31
453 02b6 00C0 rjmp .L174
454 .L72:
455 02b8 8CE6 ldi r24,lo8(108)
456 02ba B816 cp r11,r24
457 02bc 01F4 brne .L74
458 02be 9BA9 ldd r25,Y+51
459 02c0 9160 ori r25,lo8(1)
460 02c2 9BAB std Y+51,r25
461 02c4 00C0 rjmp .L174
462 .L74:
463 02c6 BD83 std Y+5,r27
464 02c8 AC83 std Y+4,r26
465 02ca E3E6 ldi r30,lo8(99)
466 02cc BE16 cp r11,r30
467 02ce 01F4 brne .L76
468 02d0 1296 adiw r26,2
469 02d2 BD83 std Y+5,r27
470 02d4 AC83 std Y+4,r26
471 02d6 1297 sbiw r26,2
472 02d8 8C91 ld r24,X
473 02da 8E83 std Y+6,r24
474 02dc 00C0 rjmp .L173
475 .L76:
476 02de F4E4 ldi r31,lo8(68)
477 02e0 BF16 cp r11,r31
478 02e2 01F0 breq .L79
479 02e4 84E6 ldi r24,lo8(100)
480 02e6 B816 cp r11,r24
481 02e8 01F0 breq .L81
482 02ea 99E6 ldi r25,lo8(105)
483 02ec B916 cp r11,r25
484 02ee 01F4 brne .L166
485 02f0 00C0 rjmp .L81
486 .L79:
487 02f2 EBA9 ldd r30,Y+51
488 02f4 E160 ori r30,lo8(1)
489 02f6 EBAB std Y+51,r30
490 .L81:
491 02f8 FBA9 ldd r31,Y+51
492 02fa F0FF sbrs r31,0
493 02fc 00C0 rjmp .L84
494 02fe 1496 adiw r26,4
495 0300 BD83 std Y+5,r27
496 0302 AC83 std Y+4,r26
497 0304 5E90 ld r5,-X
498 0306 4E90 ld r4,-X
499 0308 3E90 ld r3,-X
500 030a 2E90 ld r2,-X
501 030c 00C0 rjmp .L86
502 .L84:
503 030e 1296 adiw r26,2
504 0310 BD83 std Y+5,r27
505 0312 AC83 std Y+4,r26
506 0314 9E91 ld r25,-X
507 0316 8E91 ld r24,-X
508 0318 1C01 movw r2,r24
509 031a 4424 clr r4
510 031c 37FC sbrc r3,7
511 031e 4094 com r4
512 0320 542C mov r5,r4
513 .L86:
514 0322 57FC sbrc r5,7
515 0324 00C0 rjmp .L87
516 0326 8AE0 ldi r24,lo8(10)
517 0328 88AB std Y+48,r24
518 032a 00C0 rjmp .L89
519 .L87:
520 032c 5094 com r5
521 032e 4094 com r4
522 0330 3094 com r3
523 0332 2094 com r2
524 0334 211C adc r2,__zero_reg__
525 0336 311C adc r3,__zero_reg__
526 0338 411C adc r4,__zero_reg__
527 033a 511C adc r5,__zero_reg__
528 033c 8DE2 ldi r24,lo8(45)
529 033e 8983 std Y+1,r24
530 0340 9AE0 ldi r25,lo8(10)
531 0342 98AB std Y+48,r25
532 0344 00C0 rjmp .L89
533 .L166:
534 0346 EFE4 ldi r30,lo8(79)
535 0348 BE16 cp r11,r30
536 034a 01F0 breq .L90
537 034c FFE6 ldi r31,lo8(111)
538 034e BF16 cp r11,r31
539 0350 01F4 brne .L92
540 0352 88E0 ldi r24,lo8(8)
541 0354 00C0 rjmp .L170
542 .L90:
543 0356 9BA9 ldd r25,Y+51
544 0358 9160 ori r25,lo8(1)
545 035a 9BAB std Y+51,r25
546 035c E8E0 ldi r30,lo8(8)
547 035e 00C0 rjmp .L171
548 .L92:
549 0360 F0E7 ldi r31,lo8(112)
550 0362 BF16 cp r11,r31
551 0364 01F4 brne .L95
552 0366 1296 adiw r26,2
553 0368 BD83 std Y+5,r27
554 036a AC83 std Y+4,r26
555 036c 9E91 ld r25,-X
556 036e 8E91 ld r24,-X
557 0370 1C01 movw r2,r24
558 0372 4424 clr r4
559 0374 5524 clr r5
560 0376 8BA9 ldd r24,Y+51
561 0378 8064 ori r24,lo8(64)
562 037a 8BAB std Y+51,r24
563 037c 90E1 ldi r25,lo8(16)
564 037e 98AB std Y+48,r25
565 0380 78E7 ldi r23,lo8(120)
566 0382 B72E mov r11,r23
567 0384 00C0 rjmp .L94
568 .L95:
569 0386 E3E7 ldi r30,lo8(115)
570 0388 BE16 cp r11,r30
571 038a 01F4 brne .L97
572 038c 1296 adiw r26,2
573 038e BD83 std Y+5,r27
574 0390 AC83 std Y+4,r26
575 0392 DE90 ld r13,-X
576 0394 CE90 ld r12,-X
577 0396 C114 cp r12,__zero_reg__
578 0398 D104 cpc r13,__zero_reg__
579 039a 01F4 brne .L99
580 039c 88E2 ldi r24,lo8(40)
581 039e 8E83 std Y+6,r24
582 03a0 8EE6 ldi r24,lo8(110)
583 03a2 8F83 std Y+7,r24
584 03a4 85E7 ldi r24,lo8(117)
585 03a6 8887 std Y+8,r24
586 03a8 8CE6 ldi r24,lo8(108)
587 03aa 8987 std Y+9,r24
588 03ac 8A87 std Y+10,r24
589 03ae 89E2 ldi r24,lo8(41)
590 03b0 8B87 std Y+11,r24
591 03b2 1C86 std Y+12,__zero_reg__
592 03b4 66E0 ldi r22,lo8(6)
593 03b6 C62E mov r12,r22
594 03b8 D12C mov r13,__zero_reg__
595 03ba CC0E add r12,r28
596 03bc DD1E adc r13,r29
597 .L99:
598 03be F9A9 ldd r31,Y+49
599 03c0 F7FD sbrc r31,7
600 03c2 00C0 rjmp .L101
601 03c4 4F2F mov r20,r31
602 03c6 5527 clr r21
603 03c8 47FD sbrc r20,7
604 03ca 5095 com r21
605 03cc 60E0 ldi r22,lo8(0)
606 03ce 70E0 ldi r23,hi8(0)
607 03d0 C601 movw r24,r12
608 03d2 0E94 0000 call memchr
609 03d6 0097 sbiw r24,0
610 03d8 01F4 brne .L103
611 03da 19A9 ldd r17,Y+49
612 03dc 00C0 rjmp .L105
613 .L103:
614 03de 8C19 sub r24,r12
615 03e0 19A9 ldd r17,Y+49
616 03e2 8117 cp r24,r17
617 03e4 04F4 brge .L105
618 03e6 182F mov r17,r24
619 03e8 00C0 rjmp .L105
620 .L101:
621 03ea F601 movw r30,r12
622 03ec 0190 ld __tmp_reg__,Z+
623 03ee 0020 tst __tmp_reg__
624 03f0 01F4 brne .-6
625 03f2 3197 sbiw r30,1
626 03f4 1E2F mov r17,r30
627 03f6 1C19 sub r17,r12
628 .L105:
629 03f8 1982 std Y+1,__zero_reg__
630 03fa 4201 movw r8,r4
631 03fc 3101 movw r6,r2
632 03fe 40E0 ldi r20,lo8(0)
633 0400 00C0 rjmp .L107
634 .L97:
635 0402 85E5 ldi r24,lo8(85)
636 0404 B816 cp r11,r24
637 0406 01F0 breq .L108
638 0408 95E7 ldi r25,lo8(117)
639 040a B916 cp r11,r25
640 040c 01F4 brne .L110
641 040e EAE0 ldi r30,lo8(10)
642 .L171:
643 0410 E8AB std Y+48,r30
644 0412 00C0 rjmp .L94
645 .L108:
646 0414 FBA9 ldd r31,Y+51
647 0416 F160 ori r31,lo8(1)
648 0418 FBAB std Y+51,r31
649 041a 8AE0 ldi r24,lo8(10)
650 .L170:
651 041c 88AB std Y+48,r24
652 041e 00C0 rjmp .L94
653 .L110:
654 0420 98E5 ldi r25,lo8(88)
655 0422 B916 cp r11,r25
656 0424 01F0 breq .L112
657 0426 E8E7 ldi r30,lo8(120)
658 0428 BE16 cp r11,r30
659 042a 01F0 breq .+2
660 042c 00C0 rjmp .L114
661 .L112:
662 042e FBA9 ldd r31,Y+51
663 0430 F3FD sbrc r31,3
664 0432 00C0 rjmp .L115
665 0434 80E1 ldi r24,lo8(16)
666 0436 00C0 rjmp .L170
667 .L115:
668 0438 2114 cp r2,__zero_reg__
669 043a 3104 cpc r3,__zero_reg__
670 043c 4104 cpc r4,__zero_reg__
671 043e 5104 cpc r5,__zero_reg__
672 0440 01F4 brne .L117
673 0442 90E1 ldi r25,lo8(16)
674 0444 98AB std Y+48,r25
675 0446 00C0 rjmp .L94
676 .L117:
677 0448 EBA9 ldd r30,Y+51
678 044a E064 ori r30,lo8(64)
679 044c EBAB std Y+51,r30
680 044e F0E1 ldi r31,lo8(16)
681 0450 F8AB std Y+48,r31
682 .L94:
683 0452 1982 std Y+1,__zero_reg__
684 .L89:
685 0454 89A9 ldd r24,Y+49
686 0456 87FD sbrc r24,7
687 0458 00C0 rjmp .L119
688 045a 9BA9 ldd r25,Y+51
689 045c 9F7D andi r25,lo8(-33)
690 045e 9BAB std Y+51,r25
691 .L119:
692 0460 2114 cp r2,__zero_reg__
693 0462 3104 cpc r3,__zero_reg__
694 0464 4104 cpc r4,__zero_reg__
695 0466 5104 cpc r5,__zero_reg__
696 0468 01F4 brne .L121
697 046a E9A9 ldd r30,Y+49
698 046c EE23 tst r30
699 046e 01F4 brne .L121
700 0470 6624 clr r6
701 0472 7724 clr r7
702 0474 4301 movw r8,r6
703 0476 5EE2 ldi r21,lo8(46)
704 0478 C52E mov r12,r21
705 047a D12C mov r13,__zero_reg__
706 047c CC0E add r12,r28
707 047e DD1E adc r13,r29
708 0480 00C0 rjmp .L124
709 .L121:
710 0482 4EE2 ldi r20,lo8(46)
711 0484 C42E mov r12,r20
712 0486 D12C mov r13,__zero_reg__
713 0488 CC0E add r12,r28
714 048a DD1E adc r13,r29
715 048c F8A9 ldd r31,Y+48
716 048e EF2E mov r14,r31
717 0490 FF24 clr r15
718 0492 0027 clr r16
719 0494 1127 clr r17
720 .L125:
721 0496 C201 movw r24,r4
722 0498 B101 movw r22,r2
723 049a A801 movw r20,r16
724 049c 9701 movw r18,r14
725 049e 0E94 0000 call __udivmodsi4
726 04a2 6A30 cpi r22,lo8(10)
727 04a4 00F4 brsh .L126
728 04a6 30E3 ldi r19,lo8(48)
729 04a8 A32E mov r10,r19
730 04aa A60E add r10,r22
731 04ac 00C0 rjmp .L128
732 .L126:
733 04ae 27E5 ldi r18,lo8(87)
734 04b0 A22E mov r10,r18
735 04b2 A60E add r10,r22
736 04b4 88E5 ldi r24,lo8(88)
737 04b6 B816 cp r11,r24
738 04b8 01F4 brne .L128
739 04ba 9FED ldi r25,lo8(-33)
740 04bc A922 and r10,r25
741 .L128:
742 04be F601 movw r30,r12
743 04c0 A292 st -Z,r10
744 04c2 6F01 movw r12,r30
745 04c4 C201 movw r24,r4
746 04c6 B101 movw r22,r2
747 04c8 A801 movw r20,r16
748 04ca 9701 movw r18,r14
749 04cc 0E94 0000 call __udivmodsi4
750 04d0 3901 movw r6,r18
751 04d2 4A01 movw r8,r20
752 04d4 2E14 cp r2,r14
753 04d6 3F04 cpc r3,r15
754 04d8 4006 cpc r4,r16
755 04da 5106 cpc r5,r17
756 04dc 00F0 brlo .L130
757 04de 1901 movw r2,r18
758 04e0 2A01 movw r4,r20
759 04e2 00C0 rjmp .L125
760 .L130:
761 04e4 F8A9 ldd r31,Y+48
762 04e6 F830 cpi r31,lo8(8)
763 04e8 01F4 brne .L124
764 04ea 8BA9 ldd r24,Y+51
765 04ec 83FF sbrs r24,3
766 04ee 00C0 rjmp .L124
767 04f0 90E3 ldi r25,lo8(48)
768 04f2 A916 cp r10,r25
769 04f4 01F0 breq .L124
770 04f6 80E3 ldi r24,lo8(48)
771 04f8 F601 movw r30,r12
772 04fa 8293 st -Z,r24
773 04fc 6F01 movw r12,r30
774 .L124:
775 04fe CE01 movw r24,r28
776 0500 8C19 sub r24,r12
777 0502 182F mov r17,r24
778 0504 125D subi r17,lo8(-(46))
779 0506 49A9 ldd r20,Y+49
780 0508 00C0 rjmp .L107
781 .L114:
782 050a BB20 tst r11
783 050c 01F4 brne .+2
784 050e 00C0 rjmp .L152
785 0510 BE82 std Y+6,r11
786 .L173:
787 0512 1982 std Y+1,__zero_reg__
788 0514 4201 movw r8,r4
789 0516 3101 movw r6,r2
790 0518 00E0 ldi r16,lo8(0)
791 051a 11E0 ldi r17,lo8(1)
792 051c 96E0 ldi r25,lo8(6)
793 051e C92E mov r12,r25
794 0520 D12C mov r13,__zero_reg__
795 0522 CC0E add r12,r28
796 0524 DD1E adc r13,r29
797 0526 21E0 ldi r18,lo8(1)
798 0528 00C0 rjmp .L136
799 .L107:
800 052a 212F mov r18,r17
801 052c 042F mov r16,r20
802 052e 011B sub r16,r17
803 0530 07FD sbrc r16,7
804 0532 00E0 ldi r16,lo8(0)
805 .L136:
806 0534 8981 ldd r24,Y+1
807 0536 8823 tst r24
808 0538 01F0 breq .L138
809 053a 812F mov r24,r17
810 053c 8F5F subi r24,lo8(-(1))
811 053e 00C0 rjmp .L140
812 .L138:
813 0540 9BA9 ldd r25,Y+51
814 0542 96FD sbrc r25,6
815 0544 00C0 rjmp .L141
816 0546 812F mov r24,r17
817 0548 00C0 rjmp .L140
818 .L141:
819 054a 822F mov r24,r18
820 054c 8E5F subi r24,lo8(-(2))
821 .L140:
822 054e A82E mov r10,r24
823 0550 A00E add r10,r16
824 0552 EBA9 ldd r30,Y+51
825 0554 EE2E mov r14,r30
826 0556 FF24 clr r15
827 0558 80E3 ldi r24,lo8(48)
828 055a 482E mov r4,r24
829 055c 512C mov r5,__zero_reg__
830 055e 4E20 and r4,r14
831 0560 5F20 and r5,r15
832 0562 4114 cp r4,__zero_reg__
833 0564 5104 cpc r5,__zero_reg__
834 0566 01F4 brne .L143
835 0568 8AA9 ldd r24,Y+50
836 056a 8A19 sub r24,r10
837 056c 0E94 0000 call PAD_SP
838 .L143:
839 0570 8981 ldd r24,Y+1
840 0572 8823 tst r24
841 0574 01F0 breq .L145
842 0576 61E0 ldi r22,lo8(1)
843 0578 70E0 ldi r23,hi8(1)
844 057a CE01 movw r24,r28
845 057c 0196 adiw r24,1
846 057e 00C0 rjmp .L172
847 .L145:
848 0580 E6FE sbrs r14,6
849 0582 00C0 rjmp .L147
850 0584 80E3 ldi r24,lo8(48)
851 0586 8A83 std Y+2,r24
852 0588 BB82 std Y+3,r11
853 058a 62E0 ldi r22,lo8(2)
854 058c 70E0 ldi r23,hi8(2)
855 058e CE01 movw r24,r28
856 0590 0296 adiw r24,2
857 .L172:
858 0592 0E94 0000 call PRINT
859 .L147:
860 0596 F0E2 ldi r31,lo8(32)
861 0598 4F16 cp r4,r31
862 059a 5104 cpc r5,__zero_reg__
863 059c 01F4 brne .L149
864 059e 8AA9 ldd r24,Y+50
865 05a0 8A19 sub r24,r10
866 05a2 0E94 0000 call PAD_0
867 .L149:
868 05a6 802F mov r24,r16
869 05a8 0E94 0000 call PAD_0
870 05ac 612F mov r22,r17
871 05ae 7727 clr r23
872 05b0 67FD sbrc r22,7
873 05b2 7095 com r23
874 05b4 C601 movw r24,r12
875 05b6 0E94 0000 call PRINT
876 05ba E4FE sbrs r14,4
877 05bc 00C0 rjmp .L28
878 05be 8AA9 ldd r24,Y+50
879 05c0 8A19 sub r24,r10
880 05c2 0E94 0000 call PAD_SP
881 05c6 00C0 rjmp .L28
882 .L35:
883 .L152:
884 /* epilogue: frame size=51 */
885 05c8 E396 adiw r28,51
886 05ca 0FB6 in __tmp_reg__,__SREG__
887 05cc F894 cli
888 05ce DEBF out __SP_H__,r29
889 05d0 0FBE out __SREG__,__tmp_reg__
890 05d2 CDBF out __SP_L__,r28
891 05d4 DF91 pop r29
892 05d6 CF91 pop r28
893 05d8 1F91 pop r17
894 05da 0F91 pop r16
895 05dc FF90 pop r15
896 05de EF90 pop r14
897 05e0 DF90 pop r13
898 05e2 CF90 pop r12
899 05e4 BF90 pop r11
900 05e6 AF90 pop r10
901 05e8 9F90 pop r9
902 05ea 8F90 pop r8
903 05ec 7F90 pop r7
904 05ee 6F90 pop r6
905 05f0 5F90 pop r5
906 05f2 4F90 pop r4
907 05f4 3F90 pop r3
908 05f6 2F90 pop r2
909 05f8 0895 ret
910 /* epilogue end (size=25) */
911 /* function _printf_P size 694 (643) */
913 .comm DiffNick,2,1
914 .comm DiffRoll,2,1
915 .comm SenderOkay,1,1
916 .comm CosinusNickWinkel,1,1
917 .comm CosinusRollWinkel,1,1
918 .comm durchschnitt_northing,4,1
919 .comm durchschnitt_easting,4,1
920 .comm gps_p,2,1
921 .comm gps_d,2,1
922 .comm skal,2,1
923 .comm PrintZiel,1,1
924 .comm RemoteTasten,1,1
925 .comm Timeout,1,1
926 .comm IntegralNick,4,1
927 .comm IntegralNick2,4,1
928 .comm IntegralRoll,4,1
929 .comm IntegralRoll2,4,1
930 .comm Mess_IntegralNick,4,1
931 .comm Mess_IntegralNick2,4,1
932 .comm Mess_IntegralRoll,4,1
933 .comm Mess_IntegralRoll2,4,1
934 .comm Integral_Gier,4,1
935 .comm Mess_Integral_Gier,4,1
936 .comm h,1,1
937 .comm m,1,1
938 .comm s,1,1
939 .comm Motor_Vorne,1,1
940 .comm Motor_Hinten,1,1
941 .comm Motor_Rechts,1,1
942 .comm Motor_Links,1,1
943 .comm Count,1,1
944 .comm MotorWert,5,1
945 .comm StickNick,2,1
946 .comm StickRoll,2,1
947 .comm StickGier,2,1
948 .comm MotorenEin,1,1
949 /* File "printf_P.c": code 786 = 0x0312 ( 710), prologues 36, epilogues 40 */
DEFINED SYMBOLS
*ABS*:00000000 printf_P.c
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccDf5WT2.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccDf5WT2.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccDf5WT2.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccDf5WT2.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccDf5WT2.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccDf5WT2.s:13 .text:00000000 Putchar
*COM*:00000001 PrintZiel
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccDf5WT2.s:45 .text:00000032 PAD_0
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccDf5WT2.s:66 .text:00000048 PAD_SP
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccDf5WT2.s:87 .text:0000005e PRINTP
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccDf5WT2.s:122 .text:0000008a PRINT
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccDf5WT2.s:152 .text:000000b2 _printf_P
*COM*:00000002 DiffNick
*COM*:00000002 DiffRoll
*COM*:00000001 SenderOkay
*COM*:00000001 CosinusNickWinkel
*COM*:00000001 CosinusRollWinkel
*COM*:00000004 durchschnitt_northing
*COM*:00000004 durchschnitt_easting
*COM*:00000002 gps_p
*COM*:00000002 gps_d
*COM*:00000002 skal
*COM*:00000001 RemoteTasten
*COM*:00000001 Timeout
*COM*:00000004 IntegralNick
*COM*:00000004 IntegralNick2
*COM*:00000004 IntegralRoll
*COM*:00000004 IntegralRoll2
*COM*:00000004 Mess_IntegralNick
*COM*:00000004 Mess_IntegralNick2
*COM*:00000004 Mess_IntegralRoll
*COM*:00000004 Mess_IntegralRoll2
*COM*:00000004 Integral_Gier
*COM*:00000004 Mess_Integral_Gier
*COM*:00000001 h
*COM*:00000001 m
*COM*:00000001 s
*COM*:00000001 Motor_Vorne
*COM*:00000001 Motor_Hinten
*COM*:00000001 Motor_Rechts
*COM*:00000001 Motor_Links
*COM*:00000001 Count
*COM*:00000005 MotorWert
*COM*:00000002 StickNick
*COM*:00000002 StickRoll
*COM*:00000002 StickGier
*COM*:00000001 MotorenEin
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
DispPtr
DisplayBuff
uart_putchar
memchr
__udivmodsi4
/branches/V0.60_GPS_BETA_chris2798_hallo2/rc.c
0,0 → 1,85
/*#######################################################################################
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;
static int index;
signal = (unsigned int) ICR1 - AltICR;
AltICR = ICR1;
//Syncronisationspause?
if ((signal > 1500) && (signal < 8000))
{
index = 1;
NewPpmData = 0; // Null bedeutet: Neue Daten
// OCR2A = Poti2/2 + 80;
}
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;}
signal = (3 * (PPM_in[index]) + signal) / 4;
//373 entspricht ca. 1.5ms also Mittelstellung
PPM_diff[index] = signal - PPM_in[index];
PPM_in[index] = signal;
}
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/V0.60_GPS_BETA_chris2798_hallo2/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
/branches/V0.60_GPS_BETA_chris2798_hallo2/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/V0.60_GPS_BETA_chris2798_hallo2/rc.lst
0,0 → 1,284
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.1970
63 0060 9091 0000 lds r25,(AltICR.1970)+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.1970)+1,r25
69 0074 8093 0000 sts AltICR.1970,r24
70 0078 C901 movw r24,r18
71 007a 8D5D subi r24,lo8(-(-1501))
72 007c 9540 sbci r25,hi8(-(-1501))
73 007e 8356 subi r24,lo8(6499)
74 0080 9941 sbci r25,hi8(6499)
75 0082 00F4 brsh .L4
76 0084 81E0 ldi r24,lo8(1)
77 0086 90E0 ldi r25,hi8(1)
78 0088 9093 0000 sts (index.1972)+1,r25
79 008c 8093 0000 sts index.1972,r24
80 0090 1092 0000 sts NewPpmData,__zero_reg__
81 0094 00C0 rjmp .L14
82 .L4:
83 0096 C091 0000 lds r28,index.1972
84 009a D091 0000 lds r29,(index.1972)+1
85 009e CA30 cpi r28,10
86 00a0 D105 cpc r29,__zero_reg__
87 00a2 04F0 brlt .+2
88 00a4 00C0 rjmp .L14
89 00a6 C901 movw r24,r18
90 00a8 8B5F subi r24,lo8(-(-251))
91 00aa 9040 sbci r25,hi8(-(-251))
92 00ac 845B subi r24,lo8(436)
93 00ae 9140 sbci r25,hi8(436)
94 00b0 00F0 brlo .+2
95 00b2 00C0 rjmp .L8
96 00b4 A901 movw r20,r18
97 00b6 425D subi r20,lo8(-(-466))
98 00b8 5140 sbci r21,hi8(-(-466))
99 00ba FE01 movw r30,r28
100 00bc EE0F lsl r30
101 00be FF1F rol r31
102 00c0 E050 subi r30,lo8(-(PPM_in))
103 00c2 F040 sbci r31,hi8(-(PPM_in))
104 00c4 8081 ld r24,Z
105 00c6 9181 ldd r25,Z+1
106 00c8 FA01 movw r30,r20
107 00ca E81B sub r30,r24
108 00cc F90B sbc r31,r25
109 00ce CF01 movw r24,r30
110 00d0 F7FF sbrs r31,7
111 00d2 00C0 rjmp .L11
112 00d4 9095 com r25
113 00d6 8195 neg r24
114 00d8 9F4F sbci r25,lo8(-1)
115 .L11:
116 00da 0697 sbiw r24,6
117 00dc 04F4 brge .L10
118 00de 8091 0000 lds r24,SenderOkay
119 00e2 883C cpi r24,lo8(-56)
120 00e4 00F4 brsh .L10
121 00e6 8091 0000 lds r24,SenderOkay
122 00ea 865F subi r24,lo8(-(10))
123 00ec 8093 0000 sts SenderOkay,r24
124 .L10:
125 00f0 FE01 movw r30,r28
126 00f2 EE0F lsl r30
127 00f4 FF1F rol r31
128 00f6 8F01 movw r16,r30
129 00f8 0050 subi r16,lo8(-(PPM_in))
130 00fa 1040 sbci r17,hi8(-(PPM_in))
131 00fc D801 movw r26,r16
132 00fe 2D91 ld r18,X+
133 0100 3C91 ld r19,X
134 0102 C901 movw r24,r18
135 0104 880F lsl r24
136 0106 991F rol r25
137 0108 820F add r24,r18
138 010a 931F adc r25,r19
139 010c 840F add r24,r20
140 010e 951F adc r25,r21
141 0110 64E0 ldi r22,lo8(4)
142 0112 70E0 ldi r23,hi8(4)
143 0114 0E94 0000 call __divmodhi4
144 0118 D801 movw r26,r16
145 011a 8D91 ld r24,X+
146 011c 9C91 ld r25,X
147 011e 1197 sbiw r26,1
148 0120 9B01 movw r18,r22
149 0122 281B sub r18,r24
150 0124 390B sbc r19,r25
151 0126 E050 subi r30,lo8(-(PPM_diff))
152 0128 F040 sbci r31,hi8(-(PPM_diff))
153 012a 3183 std Z+1,r19
154 012c 2083 st Z,r18
155 012e 1196 adiw r26,1
156 0130 7C93 st X,r23
157 0132 6E93 st -X,r22
158 .L8:
159 0134 2196 adiw r28,1
160 0136 D093 0000 sts (index.1972)+1,r29
161 013a C093 0000 sts index.1972,r28
162 .L14:
163 /* epilogue: frame size=0 */
164 013e FF91 pop r31
165 0140 EF91 pop r30
166 0142 DF91 pop r29
167 0144 CF91 pop r28
168 0146 BF91 pop r27
169 0148 AF91 pop r26
170 014a 9F91 pop r25
171 014c 8F91 pop r24
172 014e 7F91 pop r23
173 0150 6F91 pop r22
174 0152 5F91 pop r21
175 0154 4F91 pop r20
176 0156 3F91 pop r19
177 0158 2F91 pop r18
178 015a 1F91 pop r17
179 015c 0F91 pop r16
180 015e 0F90 pop __tmp_reg__
181 0160 0FBE out __SREG__,__tmp_reg__
182 0162 0F90 pop __tmp_reg__
183 0164 1F90 pop __zero_reg__
184 0166 1895 reti
185 /* epilogue end (size=21) */
186 /* function __vector_12 size 162 (120) */
188 .global NewPpmData
189 .data
192 NewPpmData:
193 0000 01 .byte 1
194 .lcomm index.1972,2
195 .lcomm AltICR.1970,2
196 .comm PPM_in,22,1
197 .comm PPM_diff,22,1
198 .comm DiffNick,2,1
199 .comm DiffRoll,2,1
200 .comm SenderOkay,1,1
201 .comm CosinusNickWinkel,1,1
202 .comm CosinusRollWinkel,1,1
203 .comm durchschnitt_northing,4,1
204 .comm durchschnitt_easting,4,1
205 .comm gps_p,2,1
206 .comm gps_d,2,1
207 .comm skal,2,1
208 .comm RemoteTasten,1,1
209 .comm Timeout,1,1
210 .comm IntegralNick,4,1
211 .comm IntegralNick2,4,1
212 .comm IntegralRoll,4,1
213 .comm IntegralRoll2,4,1
214 .comm Mess_IntegralNick,4,1
215 .comm Mess_IntegralNick2,4,1
216 .comm Mess_IntegralRoll,4,1
217 .comm Mess_IntegralRoll2,4,1
218 .comm Integral_Gier,4,1
219 .comm Mess_Integral_Gier,4,1
220 .comm h,1,1
221 .comm m,1,1
222 .comm s,1,1
223 .comm Motor_Vorne,1,1
224 .comm Motor_Hinten,1,1
225 .comm Motor_Rechts,1,1
226 .comm Motor_Links,1,1
227 .comm Count,1,1
228 .comm MotorWert,5,1
229 .comm StickNick,2,1
230 .comm StickRoll,2,1
231 .comm StickGier,2,1
232 .comm MotorenEin,1,1
233 /* File "rc.c": code 183 = 0x00b7 ( 140), prologues 21, epilogues 22 */
DEFINED SYMBOLS
*ABS*:00000000 rc.c
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccaNWzml.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccaNWzml.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccaNWzml.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccaNWzml.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccaNWzml.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccaNWzml.s:13 .text:00000000 rc_sum_init
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccaNWzml.s:36 .text:0000002a __vector_12
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccaNWzml.s:194 .bss:00000002 AltICR.1970
.bss:00000000 index.1972
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccaNWzml.s:192 .data:00000000 NewPpmData
*COM*:00000016 PPM_in
*COM*:00000001 SenderOkay
*COM*:00000016 PPM_diff
*COM*:00000002 DiffNick
*COM*:00000002 DiffRoll
*COM*:00000001 CosinusNickWinkel
*COM*:00000001 CosinusRollWinkel
*COM*:00000004 durchschnitt_northing
*COM*:00000004 durchschnitt_easting
*COM*:00000002 gps_p
*COM*:00000002 gps_d
*COM*:00000002 skal
*COM*:00000001 RemoteTasten
*COM*:00000001 Timeout
*COM*:00000004 IntegralNick
*COM*:00000004 IntegralNick2
*COM*:00000004 IntegralRoll
*COM*:00000004 IntegralRoll2
*COM*:00000004 Mess_IntegralNick
*COM*:00000004 Mess_IntegralNick2
*COM*:00000004 Mess_IntegralRoll
*COM*:00000004 Mess_IntegralRoll2
*COM*:00000004 Integral_Gier
*COM*:00000004 Mess_Integral_Gier
*COM*:00000001 h
*COM*:00000001 m
*COM*:00000001 s
*COM*:00000001 Motor_Vorne
*COM*:00000001 Motor_Hinten
*COM*:00000001 Motor_Rechts
*COM*:00000001 Motor_Links
*COM*:00000001 Count
*COM*:00000005 MotorWert
*COM*:00000002 StickNick
*COM*:00000002 StickRoll
*COM*:00000002 StickGier
*COM*:00000001 MotorenEin
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
AdNeutralGier
AdNeutralRoll
AdNeutralNick
__divmodhi4
/branches/V0.60_GPS_BETA_chris2798_hallo2/readme.txt
0,0 → 1,62
GPS-Modifikation auf Basis der Original V0.6 by Holger Buss & Ingo Busker
 
----- BETA VERSION-----
 
 
Copyright by Christopher Hartmann und Daniel Schmitz.
 
-Disclaimer-
Wir übernehmen keinerlei Garantie für die Funktionstüchtigkeit dieser Software
jegliche Änderung geschehen auf Eigene Gefahr
für eventuelle Schäden übernehmen wir keinerlei Haftung
 
 
 
 
______
 
 
Parametrierung ist noch nicht abgeschlossen !!!!
 
Kompass nicht integriert !!!! -> Ufo muss nach Norden ausgerichtet sein !!!!!!
 
 
Testparamter : P:15 I:10 SK:25
 
______
 
 
features:
 
 
-Auslesen der GPS Daten im UBX Protokoll (modifizierte Version, - Original von Pitschu (Peter Schulten) )
 
- integrierter PD Regler - Parametrierung des P-, D-Anteils, und Skalierung über Mikrokopter-Tool
User Parameter 1: P-Regler, 2:D-Regler 3: Skalierung
 
- Rotationsmatrix für Kompass
 
- Postiton Hold (Aktivierung über Poti 1 ( 0=Aus , >0 =aktiviert)
- kruzes Piepsen bestätigt Aktivierung des PH
 
- rote LED der Flight-Ctrl für Statusanzeige: (blinkend : GPS Aktiv)
- Aktivierung des Postiton-Hold ohne Empfang von GPS unterbunden
 
- Einbinden des GPS-Empfängers bitte Erklärung von PITSCHU aus XUFO-Forum entnehmen (http://forum.xufo.net/bb/viewtopic.php?t=5980)
----- BAUDRATE einstellen auf 57600 ------
 
 
 
_____
 
in Planung: (TWI: teilweise Integriert, siehe Quelltext -- UNGETESTET -- )
 
- Kompass (TWI)
-"Home Postition" (TWI)
- Eingangsdatenfilterung (Kompensation von Ungenauigkeit)
- Auslagerung auf externen Prozessor
 
Â….
 
 
/branches/V0.60_GPS_BETA_chris2798_hallo2/timer0.c
0,0 → 1,139
#include "main.h"
 
volatile unsigned int CountMilliseconds = 0;
volatile static unsigned int tim_main;
volatile unsigned char UpdateMotor = 0;
volatile unsigned int cntKompass = 0;
volatile unsigned int beeptime = 0;
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) // 8kHz
{
static unsigned char cnt_1ms = 1,cnt = 0;
// TCNT0 -= 250;//TIMER_RELOAD_VALUE;
 
if(!cnt--)
{
cnt = 9;
cnt_1ms++;
cnt_1ms %= 2;
if(!cnt_1ms) UpdateMotor = 1;
CountMilliseconds++;
if(Timeout) Timeout--;
}
 
if(beeptime > 1)
{
beeptime--;
PORTD |= (1<<2);
}
else
PORTD &= ~(1<<2);
 
if(EE_Parameter.GlobalConfig & CFG_KOMPASS_AKTIV)
{
if(PINC & 0x10)
{
cntKompass++;
}
else
{
if((cntKompass) && (cntKompass < 4000))
{
KompassValue = cntKompass;
}
// if(cntKompass < 10) cntKompass = 10;
// KompassValue = (unsigned long)((unsigned long)(cntKompass-10)*720L + 1L) / 703L;
KompassRichtung = ((540 + KompassValue - KompassStartwert) % 360) - 180;
cntKompass = 0;
}
}
}
 
 
void Timer_Init(void)
{
tim_main = SetDelay(10);
TCCR0B = CK8;
TCCR0A = (1<<COM0A1)|(1<<COM0B1)|3;//fast PWM
OCR0A = 0;
OCR0B = 120;
TCNT0 = -TIMER_RELOAD_VALUE; // reload
//OCR1 = 0x00;
 
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));
}
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 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;
 
DebugOut.Analog[10] = ServoValue;
OCR2A = ServoValue;// + 75;
timer = EE_Parameter.ServoNickRefresh;
}
else
{
TCCR2A =3;
PORTD&=~0x80;
}
}
/branches/V0.60_GPS_BETA_chris2798_hallo2/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
/branches/V0.60_GPS_BETA_chris2798_hallo2/timer0.h
0,0 → 1,14
 
#define TIMER_TEILER CK8
#define TIMER_RELOAD_VALUE 250
 
void Timer_Init(void);
void Delay_ms(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 volatile unsigned int cntKompass;
extern int ServoValue;
/branches/V0.60_GPS_BETA_chris2798_hallo2/timer0.lst
0,0 → 1,504
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 __vector_18
13 __vector_18:
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 5F93 push r21
23 0010 6F93 push r22
24 0012 7F93 push r23
25 0014 8F93 push r24
26 0016 9F93 push r25
27 0018 AF93 push r26
28 001a BF93 push r27
29 /* prologue end (size=14) */
30 001c 8091 0000 lds r24,cnt.1976
31 0020 8150 subi r24,lo8(-(-1))
32 0022 8093 0000 sts cnt.1976,r24
33 0026 8F3F cpi r24,lo8(-1)
34 0028 01F4 brne .L2
35 002a 89E0 ldi r24,lo8(9)
36 002c 8093 0000 sts cnt.1976,r24
37 0030 8091 0000 lds r24,cnt_1ms.1975
38 0034 8F5F subi r24,lo8(-(1))
39 0036 8170 andi r24,lo8(1)
40 0038 8093 0000 sts cnt_1ms.1975,r24
41 003c 8823 tst r24
42 003e 01F4 brne .L4
43 0040 81E0 ldi r24,lo8(1)
44 0042 8093 0000 sts UpdateMotor,r24
45 .L4:
46 0046 8091 0000 lds r24,CountMilliseconds
47 004a 9091 0000 lds r25,(CountMilliseconds)+1
48 004e 0196 adiw r24,1
49 0050 9093 0000 sts (CountMilliseconds)+1,r25
50 0054 8093 0000 sts CountMilliseconds,r24
51 0058 8091 0000 lds r24,Timeout
52 005c 8823 tst r24
53 005e 01F0 breq .L2
54 0060 8091 0000 lds r24,Timeout
55 0064 8150 subi r24,lo8(-(-1))
56 0066 8093 0000 sts Timeout,r24
57 .L2:
58 006a 8091 0000 lds r24,beeptime
59 006e 9091 0000 lds r25,(beeptime)+1
60 0072 0297 sbiw r24,2
61 0074 00F0 brlo .L7
62 0076 8091 0000 lds r24,beeptime
63 007a 9091 0000 lds r25,(beeptime)+1
64 007e 0197 sbiw r24,1
65 0080 9093 0000 sts (beeptime)+1,r25
66 0084 8093 0000 sts beeptime,r24
67 0088 5A9A sbi 43-0x20,2
68 008a 00C0 rjmp .L9
69 .L7:
70 008c 5A98 cbi 43-0x20,2
71 .L9:
72 008e 8091 0000 lds r24,EE_Parameter+8
73 0092 83FF sbrs r24,3
74 0094 00C0 rjmp .L17
75 0096 349B sbis 38-0x20,4
76 0098 00C0 rjmp .L12
77 009a 8091 0000 lds r24,cntKompass
78 009e 9091 0000 lds r25,(cntKompass)+1
79 00a2 0196 adiw r24,1
80 00a4 9093 0000 sts (cntKompass)+1,r25
81 00a8 8093 0000 sts cntKompass,r24
82 00ac 00C0 rjmp .L17
83 .L12:
84 00ae 8091 0000 lds r24,cntKompass
85 00b2 9091 0000 lds r25,(cntKompass)+1
86 00b6 892B or r24,r25
87 00b8 01F0 breq .L14
88 00ba 8091 0000 lds r24,cntKompass
89 00be 9091 0000 lds r25,(cntKompass)+1
90 00c2 805A subi r24,lo8(4000)
91 00c4 9F40 sbci r25,hi8(4000)
92 00c6 00F4 brsh .L14
93 00c8 8091 0000 lds r24,cntKompass
94 00cc 9091 0000 lds r25,(cntKompass)+1
95 00d0 9093 0000 sts (KompassValue)+1,r25
96 00d4 8093 0000 sts KompassValue,r24
97 .L14:
98 00d8 8091 0000 lds r24,KompassValue
99 00dc 9091 0000 lds r25,(KompassValue)+1
100 00e0 2091 0000 lds r18,KompassStartwert
101 00e4 3091 0000 lds r19,(KompassStartwert)+1
102 00e8 821B sub r24,r18
103 00ea 930B sbc r25,r19
104 00ec 845E subi r24,lo8(-(540))
105 00ee 9D4F sbci r25,hi8(-(540))
106 00f0 68E6 ldi r22,lo8(360)
107 00f2 71E0 ldi r23,hi8(360)
108 00f4 0E94 0000 call __divmodhi4
109 00f8 845B subi r24,lo8(-(-180))
110 00fa 9040 sbci r25,hi8(-(-180))
111 00fc 9093 0000 sts (KompassRichtung)+1,r25
112 0100 8093 0000 sts KompassRichtung,r24
113 0104 1092 0000 sts (cntKompass)+1,__zero_reg__
114 0108 1092 0000 sts cntKompass,__zero_reg__
115 .L17:
116 /* epilogue: frame size=0 */
117 010c BF91 pop r27
118 010e AF91 pop r26
119 0110 9F91 pop r25
120 0112 8F91 pop r24
121 0114 7F91 pop r23
122 0116 6F91 pop r22
123 0118 5F91 pop r21
124 011a 3F91 pop r19
125 011c 2F91 pop r18
126 011e 0F90 pop __tmp_reg__
127 0120 0FBE out __SREG__,__tmp_reg__
128 0122 0F90 pop __tmp_reg__
129 0124 1F90 pop __zero_reg__
130 0126 1895 reti
131 /* epilogue end (size=14) */
132 /* function __vector_18 size 150 (122) */
134 .global SetDelay
136 SetDelay:
137 /* prologue: frame size=0 */
138 /* prologue end (size=0) */
139 0128 2091 0000 lds r18,CountMilliseconds
140 012c 3091 0000 lds r19,(CountMilliseconds)+1
141 0130 2F5F subi r18,lo8(-(1))
142 0132 3F4F sbci r19,hi8(-(1))
143 0134 820F add r24,r18
144 0136 931F adc r25,r19
145 /* epilogue: frame size=0 */
146 0138 0895 ret
147 /* epilogue end (size=1) */
148 /* function SetDelay size 9 (8) */
150 .global CheckDelay
152 CheckDelay:
153 /* prologue: frame size=0 */
154 /* prologue end (size=0) */
155 013a 2091 0000 lds r18,CountMilliseconds
156 013e 3091 0000 lds r19,(CountMilliseconds)+1
157 0142 821B sub r24,r18
158 0144 930B sbc r25,r19
159 0146 892F mov r24,r25
160 0148 9927 clr r25
161 014a 8695 lsr r24
162 014c 8074 andi r24,lo8(64)
163 014e 9927 clr r25
164 /* epilogue: frame size=0 */
165 0150 0895 ret
166 /* epilogue end (size=1) */
167 /* function CheckDelay size 12 (11) */
169 .global __vector_9
171 __vector_9:
172 /* prologue: frame size=0 */
173 0152 1F92 push __zero_reg__
174 0154 0F92 push __tmp_reg__
175 0156 0FB6 in __tmp_reg__,__SREG__
176 0158 0F92 push __tmp_reg__
177 015a 1124 clr __zero_reg__
178 015c EF92 push r14
179 015e FF92 push r15
180 0160 0F93 push r16
181 0162 1F93 push r17
182 0164 2F93 push r18
183 0166 3F93 push r19
184 0168 4F93 push r20
185 016a 5F93 push r21
186 016c 6F93 push r22
187 016e 7F93 push r23
188 0170 8F93 push r24
189 0172 9F93 push r25
190 0174 AF93 push r26
191 0176 BF93 push r27
192 0178 CF93 push r28
193 017a DF93 push r29
194 017c EF93 push r30
195 017e FF93 push r31
196 /* prologue end (size=23) */
197 0180 8091 0000 lds r24,timer.2062
198 0184 8150 subi r24,lo8(-(-1))
199 0186 8093 0000 sts timer.2062,r24
200 018a 8F3F cpi r24,lo8(-1)
201 018c 01F0 breq .+2
202 018e 00C0 rjmp .L23
203 0190 83E8 ldi r24,lo8(-125)
204 0192 8093 B000 sts 176,r24
205 0196 8091 0000 lds r24,Parameter_ServoNickControl
206 019a C82F mov r28,r24
207 019c DD27 clr r29
208 019e D093 0000 sts (ServoValue)+1,r29
209 01a2 C093 0000 sts ServoValue,r28
210 01a6 8091 0000 lds r24,EE_Parameter+38
211 01aa E090 0000 lds r14,EE_Parameter+34
212 01ae 80FF sbrs r24,0
213 01b0 00C0 rjmp .L25
214 01b2 6091 0000 lds r22,IntegralNick
215 01b6 7091 0000 lds r23,(IntegralNick)+1
216 01ba 8091 0000 lds r24,(IntegralNick)+2
217 01be 9091 0000 lds r25,(IntegralNick)+3
218 01c2 FF24 clr r15
219 01c4 0027 clr r16
220 01c6 1127 clr r17
221 01c8 20E8 ldi r18,lo8(128)
222 01ca 30E0 ldi r19,hi8(128)
223 01cc 40E0 ldi r20,hlo8(128)
224 01ce 50E0 ldi r21,hhi8(128)
225 01d0 0E94 0000 call __divmodsi4
226 01d4 C801 movw r24,r16
227 01d6 B701 movw r22,r14
228 01d8 0E94 0000 call __mulsi3
229 01dc 20E0 ldi r18,lo8(512)
230 01de 32E0 ldi r19,hi8(512)
231 01e0 40E0 ldi r20,hlo8(512)
232 01e2 50E0 ldi r21,hhi8(512)
233 01e4 0E94 0000 call __divmodsi4
234 01e8 C20F add r28,r18
235 01ea D31F adc r29,r19
236 01ec 00C0 rjmp .L34
237 .L25:
238 01ee 6091 0000 lds r22,IntegralNick
239 01f2 7091 0000 lds r23,(IntegralNick)+1
240 01f6 8091 0000 lds r24,(IntegralNick)+2
241 01fa 9091 0000 lds r25,(IntegralNick)+3
242 01fe FF24 clr r15
243 0200 0027 clr r16
244 0202 1127 clr r17
245 0204 20E8 ldi r18,lo8(128)
246 0206 30E0 ldi r19,hi8(128)
247 0208 40E0 ldi r20,hlo8(128)
248 020a 50E0 ldi r21,hhi8(128)
249 020c 0E94 0000 call __divmodsi4
250 0210 C801 movw r24,r16
251 0212 B701 movw r22,r14
252 0214 0E94 0000 call __mulsi3
253 0218 20E0 ldi r18,lo8(512)
254 021a 32E0 ldi r19,hi8(512)
255 021c 40E0 ldi r20,hlo8(512)
256 021e 50E0 ldi r21,hhi8(512)
257 0220 0E94 0000 call __divmodsi4
258 0224 C21B sub r28,r18
259 0226 D30B sbc r29,r19
260 .L34:
261 0228 D093 0000 sts (ServoValue)+1,r29
262 022c C093 0000 sts ServoValue,r28
263 0230 2091 0000 lds r18,ServoValue
264 0234 3091 0000 lds r19,(ServoValue)+1
265 0238 8091 0000 lds r24,EE_Parameter+35
266 023c 9927 clr r25
267 023e 2817 cp r18,r24
268 0240 3907 cpc r19,r25
269 0242 04F0 brlt .L35
270 0244 8091 0000 lds r24,EE_Parameter+36
271 0248 9927 clr r25
272 024a 8217 cp r24,r18
273 024c 9307 cpc r25,r19
274 024e 04F4 brge .L30
275 .L35:
276 0250 9093 0000 sts (ServoValue)+1,r25
277 0254 8093 0000 sts ServoValue,r24
278 .L30:
279 0258 8091 0000 lds r24,ServoValue
280 025c 9091 0000 lds r25,(ServoValue)+1
281 0260 9093 0000 sts (DebugOut+38)+1,r25
282 0264 8093 0000 sts DebugOut+38,r24
283 0268 8093 B300 sts 179,r24
284 026c 8091 0000 lds r24,EE_Parameter+37
285 0270 8093 0000 sts timer.2062,r24
286 0274 00C0 rjmp .L33
287 .L23:
288 0276 83E0 ldi r24,lo8(3)
289 0278 8093 B000 sts 176,r24
290 027c 5F98 cbi 43-0x20,7
291 .L33:
292 /* epilogue: frame size=0 */
293 027e FF91 pop r31
294 0280 EF91 pop r30
295 0282 DF91 pop r29
296 0284 CF91 pop r28
297 0286 BF91 pop r27
298 0288 AF91 pop r26
299 028a 9F91 pop r25
300 028c 8F91 pop r24
301 028e 7F91 pop r23
302 0290 6F91 pop r22
303 0292 5F91 pop r21
304 0294 4F91 pop r20
305 0296 3F91 pop r19
306 0298 2F91 pop r18
307 029a 1F91 pop r17
308 029c 0F91 pop r16
309 029e FF90 pop r15
310 02a0 EF90 pop r14
311 02a2 0F90 pop __tmp_reg__
312 02a4 0FBE out __SREG__,__tmp_reg__
313 02a6 0F90 pop __tmp_reg__
314 02a8 1F90 pop __zero_reg__
315 02aa 1895 reti
316 /* epilogue end (size=23) */
317 /* function __vector_9 size 173 (127) */
319 .global Timer_Init
321 Timer_Init:
322 /* prologue: frame size=0 */
323 /* prologue end (size=0) */
324 02ac 8091 0000 lds r24,CountMilliseconds
325 02b0 9091 0000 lds r25,(CountMilliseconds)+1
326 02b4 0B96 adiw r24,11
327 02b6 9093 0000 sts (tim_main)+1,r25
328 02ba 8093 0000 sts tim_main,r24
329 02be 82E0 ldi r24,lo8(2)
330 02c0 85BD out 69-0x20,r24
331 02c2 83EA ldi r24,lo8(-93)
332 02c4 84BD out 68-0x20,r24
333 02c6 17BC out 71-0x20,__zero_reg__
334 02c8 88E7 ldi r24,lo8(120)
335 02ca 88BD out 72-0x20,r24
336 02cc 96E0 ldi r25,lo8(6)
337 02ce 96BD out 70-0x20,r25
338 02d0 83EC ldi r24,lo8(-61)
339 02d2 8093 B000 sts 176,r24
340 02d6 9093 B100 sts 177,r25
341 02da E0E7 ldi r30,lo8(112)
342 02dc F0E0 ldi r31,hi8(112)
343 02de 8081 ld r24,Z
344 02e0 8260 ori r24,lo8(2)
345 02e2 8083 st Z,r24
346 02e4 EEE6 ldi r30,lo8(110)
347 02e6 F0E0 ldi r31,hi8(110)
348 02e8 8081 ld r24,Z
349 02ea 8160 ori r24,lo8(1)
350 02ec 8083 st Z,r24
351 02ee 8AE0 ldi r24,lo8(10)
352 02f0 8093 B300 sts 179,r24
353 02f4 1092 B200 sts 178,__zero_reg__
354 /* epilogue: frame size=0 */
355 02f8 0895 ret
356 /* epilogue end (size=1) */
357 /* function Timer_Init size 39 (38) */
359 .global Delay_ms
361 Delay_ms:
362 /* prologue: frame size=0 */
363 /* prologue end (size=0) */
364 02fa 2091 0000 lds r18,CountMilliseconds
365 02fe 3091 0000 lds r19,(CountMilliseconds)+1
366 0302 2F5F subi r18,lo8(-(1))
367 0304 3F4F sbci r19,hi8(-(1))
368 0306 280F add r18,r24
369 0308 391F adc r19,r25
370 .L39:
371 030a 8091 0000 lds r24,CountMilliseconds
372 030e 9091 0000 lds r25,(CountMilliseconds)+1
373 0312 A901 movw r20,r18
374 0314 481B sub r20,r24
375 0316 590B sbc r21,r25
376 0318 57FF sbrs r21,7
377 031a 00C0 rjmp .L39
378 /* epilogue: frame size=0 */
379 031c 0895 ret
380 /* epilogue end (size=1) */
381 /* function Delay_ms size 18 (17) */
383 .global CountMilliseconds
384 .global CountMilliseconds
385 .section .bss
388 CountMilliseconds:
389 0000 0000 .skip 2,0
390 .global UpdateMotor
391 .global UpdateMotor
394 UpdateMotor:
395 0002 00 .skip 1,0
396 .global cntKompass
397 .global cntKompass
400 cntKompass:
401 0003 0000 .skip 2,0
402 .global beeptime
403 .global beeptime
406 beeptime:
407 0005 0000 .skip 2,0
408 .global ServoValue
409 .global ServoValue
412 ServoValue:
413 0007 0000 .skip 2,0
414 .data
417 timer.2062:
418 0000 0A .byte 10
419 .lcomm cnt.1976,1
422 cnt_1ms.1975:
423 0001 01 .byte 1
424 .lcomm tim_main,2
425 .comm DiffNick,2,1
426 .comm DiffRoll,2,1
427 .comm SenderOkay,1,1
428 .comm CosinusNickWinkel,1,1
429 .comm CosinusRollWinkel,1,1
430 .comm durchschnitt_northing,4,1
431 .comm durchschnitt_easting,4,1
432 .comm gps_p,2,1
433 .comm gps_d,2,1
434 .comm skal,2,1
435 .comm RemoteTasten,1,1
436 .comm Timeout,1,1
437 .comm IntegralNick,4,1
438 .comm IntegralNick2,4,1
439 .comm IntegralRoll,4,1
440 .comm IntegralRoll2,4,1
441 .comm Mess_IntegralNick,4,1
442 .comm Mess_IntegralNick2,4,1
443 .comm Mess_IntegralRoll,4,1
444 .comm Mess_IntegralRoll2,4,1
445 .comm Integral_Gier,4,1
446 .comm Mess_Integral_Gier,4,1
447 .comm h,1,1
448 .comm m,1,1
449 .comm s,1,1
450 .comm Motor_Vorne,1,1
451 .comm Motor_Hinten,1,1
452 .comm Motor_Rechts,1,1
453 .comm Motor_Links,1,1
454 .comm Count,1,1
455 .comm MotorWert,5,1
456 .comm StickNick,2,1
457 .comm StickRoll,2,1
458 .comm StickGier,2,1
459 .comm MotorenEin,1,1
460 /* File "timer0.c": code 401 = 0x0191 ( 323), prologues 37, epilogues 41 */
DEFINED SYMBOLS
*ABS*:00000000 timer0.c
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccrEuRYp.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccrEuRYp.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccrEuRYp.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccrEuRYp.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccrEuRYp.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccrEuRYp.s:13 .text:00000000 __vector_18
.bss:00000009 cnt.1976
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccrEuRYp.s:422 .data:00000001 cnt_1ms.1975
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccrEuRYp.s:394 .bss:00000002 UpdateMotor
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccrEuRYp.s:388 .bss:00000000 CountMilliseconds
*COM*:00000001 Timeout
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccrEuRYp.s:406 .bss:00000005 beeptime
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccrEuRYp.s:400 .bss:00000003 cntKompass
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccrEuRYp.s:136 .text:00000128 SetDelay
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccrEuRYp.s:152 .text:0000013a CheckDelay
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccrEuRYp.s:171 .text:00000152 __vector_9
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccrEuRYp.s:417 .data:00000000 timer.2062
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccrEuRYp.s:412 .bss:00000007 ServoValue
*COM*:00000004 IntegralNick
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccrEuRYp.s:321 .text:000002ac Timer_Init
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccrEuRYp.s:419 .bss:0000000a tim_main
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccrEuRYp.s:361 .text:000002fa Delay_ms
*COM*:00000002 DiffNick
*COM*:00000002 DiffRoll
*COM*:00000001 SenderOkay
*COM*:00000001 CosinusNickWinkel
*COM*:00000001 CosinusRollWinkel
*COM*:00000004 durchschnitt_northing
*COM*:00000004 durchschnitt_easting
*COM*:00000002 gps_p
*COM*:00000002 gps_d
*COM*:00000002 skal
*COM*:00000001 RemoteTasten
*COM*:00000004 IntegralNick2
*COM*:00000004 IntegralRoll
*COM*:00000004 IntegralRoll2
*COM*:00000004 Mess_IntegralNick
*COM*:00000004 Mess_IntegralNick2
*COM*:00000004 Mess_IntegralRoll
*COM*:00000004 Mess_IntegralRoll2
*COM*:00000004 Integral_Gier
*COM*:00000004 Mess_Integral_Gier
*COM*:00000001 h
*COM*:00000001 m
*COM*:00000001 s
*COM*:00000001 Motor_Vorne
*COM*:00000001 Motor_Hinten
*COM*:00000001 Motor_Rechts
*COM*:00000001 Motor_Links
*COM*:00000001 Count
*COM*:00000005 MotorWert
*COM*:00000002 StickNick
*COM*:00000002 StickRoll
*COM*:00000002 StickGier
*COM*:00000001 MotorenEin
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
EE_Parameter
KompassValue
KompassStartwert
__divmodhi4
KompassRichtung
Parameter_ServoNickControl
__divmodsi4
__mulsi3
DebugOut
/branches/V0.60_GPS_BETA_chris2798_hallo2/twimaster.c
0,0 → 1,131
/*############################################################################
############################################################################*/
 
#include "main.h"
 
unsigned char twi_state = 0;
unsigned char motor = 0;
unsigned char motorread = 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
char i2c_start(void)
//############################################################################
{
TWCR = (1<<TWSTA) | (1<<TWEN) | (1<<TWINT) | (1<<TWIE);
return(0);
}
 
//############################################################################
//Start I2C
void i2c_stop(void)
//############################################################################
{
TWCR = (1<<TWEN) | (1<<TWSTO) | (1<<TWINT);
}
 
//############################################################################
//Start I2C
char i2c_write_byte(char byte)
//############################################################################
{
TWSR = 0x00;
TWDR = byte;
TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWIE);
return(0);
}
 
//############################################################################
//Start I2C
SIGNAL (TWI_vect)
//############################################################################
{
switch (twi_state++)
{
case 0:
i2c_write_byte(0x52+(motor*2));
break;
case 1:
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:
i2c_stop();
if (motor<4) twi_state = 0;
else motor = 0;
i2c_start();
break;
//Liest Daten von Motor
case 3:
i2c_write_byte(0x53+(motorread*2));
break;
case 4:
switch(motorread)
{
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 5: //1 Byte vom Motor lesen
motor_rx[motorread] = TWDR;
case 6:
switch(motorread)
{
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 7: //2 Byte vom Motor lesen
motor_rx[motorread+4] = TWDR;
motorread++;
if (motorread>3) motorread=0;
i2c_stop();
twi_state = 0;
}
}
/branches/V0.60_GPS_BETA_chris2798_hallo2/twimaster.d
0,0 → 1,2
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
/branches/V0.60_GPS_BETA_chris2798_hallo2/twimaster.h
0,0 → 1,32
/*############################################################################
############################################################################*/
 
#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_init (void); // I2C initialisieren
char i2c_start (void); // Start I2C
void i2c_stop (void); // Stop I2C
char i2c_write_byte (char byte); // 1 Byte schreiben
 
#endif
/branches/V0.60_GPS_BETA_chris2798_hallo2/twimaster.lst
0,0 → 1,319
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 0012 80E0 ldi r24,lo8(0)
32 0014 90E0 ldi r25,hi8(0)
33 /* epilogue: frame size=0 */
34 0016 0895 ret
35 /* epilogue end (size=1) */
36 /* function i2c_start size 6 (5) */
38 .global i2c_stop
40 i2c_stop:
41 /* prologue: frame size=0 */
42 /* prologue end (size=0) */
43 0018 84E9 ldi r24,lo8(-108)
44 001a 8093 BC00 sts 188,r24
45 /* epilogue: frame size=0 */
46 001e 0895 ret
47 /* epilogue end (size=1) */
48 /* function i2c_stop size 4 (3) */
50 .global i2c_write_byte
52 i2c_write_byte:
53 /* prologue: frame size=0 */
54 /* prologue end (size=0) */
55 0020 1092 B900 sts 185,__zero_reg__
56 0024 8093 BB00 sts 187,r24
57 0028 85E8 ldi r24,lo8(-123)
58 002a 8093 BC00 sts 188,r24
59 002e 80E0 ldi r24,lo8(0)
60 0030 90E0 ldi r25,hi8(0)
61 /* epilogue: frame size=0 */
62 0032 0895 ret
63 /* epilogue end (size=1) */
64 /* function i2c_write_byte size 10 (9) */
66 .global __vector_26
68 __vector_26:
69 /* prologue: frame size=0 */
70 0034 1F92 push __zero_reg__
71 0036 0F92 push __tmp_reg__
72 0038 0FB6 in __tmp_reg__,__SREG__
73 003a 0F92 push __tmp_reg__
74 003c 1124 clr __zero_reg__
75 003e 8F93 push r24
76 0040 9F93 push r25
77 0042 EF93 push r30
78 0044 FF93 push r31
79 /* prologue end (size=9) */
80 0046 8091 0000 lds r24,twi_state
81 004a 8F5F subi r24,lo8(-(1))
82 004c 8093 0000 sts twi_state,r24
83 0050 8150 subi r24,lo8(-(-1))
84 0052 8330 cpi r24,lo8(3)
85 0054 01F4 brne .+2
86 0056 00C0 rjmp .L14
87 0058 8430 cpi r24,lo8(4)
88 005a 00F4 brsh .L19
89 005c 8130 cpi r24,lo8(1)
90 005e 01F0 breq .L12
91 0060 8230 cpi r24,lo8(2)
92 0062 00F4 brsh .L13
93 0064 00C0 rjmp .L38
94 .L19:
95 0066 8530 cpi r24,lo8(5)
96 0068 01F4 brne .+2
97 006a 00C0 rjmp .L16
98 006c 8530 cpi r24,lo8(5)
99 006e 00F0 brlo .L15
100 0070 8630 cpi r24,lo8(6)
101 0072 01F4 brne .+2
102 0074 00C0 rjmp .L17
103 0076 8730 cpi r24,lo8(7)
104 0078 01F0 breq .+2
105 007a 00C0 rjmp .L37
106 007c 00C0 rjmp .L18
107 .L38:
108 007e 8091 0000 lds r24,motor
109 0082 880F lsl r24
110 0084 8E5A subi r24,lo8(-(82))
111 0086 00C0 rjmp .L39
112 .L12:
113 0088 8091 0000 lds r24,motor
114 008c 8F5F subi r24,lo8(-(1))
115 008e 8093 0000 sts motor,r24
116 0092 8150 subi r24,lo8(-(-1))
117 0094 8130 cpi r24,lo8(1)
118 0096 01F4 brne .+2
119 0098 00C0 rjmp .L32
120 009a 8130 cpi r24,lo8(1)
121 009c 00F0 brlo .L20
122 009e 8230 cpi r24,lo8(2)
123 00a0 01F4 brne .+2
124 00a2 00C0 rjmp .L33
125 00a4 8330 cpi r24,lo8(3)
126 00a6 01F0 breq .+2
127 00a8 00C0 rjmp .L37
128 00aa 00C0 rjmp .L34
129 .L20:
130 00ac 8091 0000 lds r24,Motor_Vorne
131 .L39:
132 00b0 1092 B900 sts 185,__zero_reg__
133 00b4 8093 BB00 sts 187,r24
134 00b8 85E8 ldi r24,lo8(-123)
135 .L40:
136 00ba 8093 BC00 sts 188,r24
137 00be 00C0 rjmp .L37
138 .L13:
139 00c0 84E9 ldi r24,lo8(-108)
140 00c2 8093 BC00 sts 188,r24
141 00c6 8091 0000 lds r24,motor
142 00ca 8430 cpi r24,lo8(4)
143 00cc 00F4 brsh .L24
144 00ce 1092 0000 sts twi_state,__zero_reg__
145 00d2 00C0 rjmp .L26
146 .L24:
147 00d4 1092 0000 sts motor,__zero_reg__
148 .L26:
149 00d8 85EA ldi r24,lo8(-91)
150 00da 00C0 rjmp .L40
151 .L14:
152 00dc 8091 0000 lds r24,motorread
153 00e0 880F lsl r24
154 00e2 8D5A subi r24,lo8(-(83))
155 00e4 00C0 rjmp .L39
156 .L15:
157 00e6 8091 0000 lds r24,motorread
158 00ea 8130 cpi r24,lo8(1)
159 00ec 01F0 breq .L32
160 00ee 8130 cpi r24,lo8(1)
161 00f0 00F0 brlo .L20
162 00f2 8230 cpi r24,lo8(2)
163 00f4 01F0 breq .L33
164 00f6 8330 cpi r24,lo8(3)
165 00f8 01F4 brne .L37
166 00fa 00C0 rjmp .L34
167 .L16:
168 00fc 8091 BB00 lds r24,187
169 0100 E091 0000 lds r30,motorread
170 0104 FF27 clr r31
171 0106 E050 subi r30,lo8(-(motor_rx))
172 0108 F040 sbci r31,hi8(-(motor_rx))
173 010a 8083 st Z,r24
174 .L17:
175 010c 8091 0000 lds r24,motorread
176 0110 8130 cpi r24,lo8(1)
177 0112 01F0 breq .L32
178 0114 8130 cpi r24,lo8(1)
179 0116 00F0 brlo .L20
180 0118 8230 cpi r24,lo8(2)
181 011a 01F0 breq .L33
182 011c 8330 cpi r24,lo8(3)
183 011e 01F4 brne .L37
184 0120 00C0 rjmp .L34
185 .L32:
186 0122 8091 0000 lds r24,Motor_Hinten
187 0126 00C0 rjmp .L39
188 .L33:
189 0128 8091 0000 lds r24,Motor_Rechts
190 012c 00C0 rjmp .L39
191 .L34:
192 012e 8091 0000 lds r24,Motor_Links
193 0132 00C0 rjmp .L39
194 .L18:
195 0134 8091 0000 lds r24,motorread
196 0138 9091 BB00 lds r25,187
197 013c E82F mov r30,r24
198 013e FF27 clr r31
199 0140 E050 subi r30,lo8(-(motor_rx))
200 0142 F040 sbci r31,hi8(-(motor_rx))
201 0144 9483 std Z+4,r25
202 0146 8F5F subi r24,lo8(-(1))
203 0148 8093 0000 sts motorread,r24
204 014c 8430 cpi r24,lo8(4)
205 014e 00F0 brlo .L35
206 0150 1092 0000 sts motorread,__zero_reg__
207 .L35:
208 0154 84E9 ldi r24,lo8(-108)
209 0156 8093 BC00 sts 188,r24
210 015a 1092 0000 sts twi_state,__zero_reg__
211 .L37:
212 /* epilogue: frame size=0 */
213 015e FF91 pop r31
214 0160 EF91 pop r30
215 0162 9F91 pop r25
216 0164 8F91 pop r24
217 0166 0F90 pop __tmp_reg__
218 0168 0FBE out __SREG__,__tmp_reg__
219 016a 0F90 pop __tmp_reg__
220 016c 1F90 pop __zero_reg__
221 016e 1895 reti
222 /* epilogue end (size=9) */
223 /* function __vector_26 size 158 (140) */
225 .global twi_state
226 .global twi_state
227 .section .bss
230 twi_state:
231 0000 00 .skip 1,0
232 .global motor
233 .global motor
236 motor:
237 0001 00 .skip 1,0
238 .global motorread
239 .global motorread
242 motorread:
243 0002 00 .skip 1,0
244 .comm DiffNick,2,1
245 .comm DiffRoll,2,1
246 .comm SenderOkay,1,1
247 .comm CosinusNickWinkel,1,1
248 .comm CosinusRollWinkel,1,1
249 .comm durchschnitt_northing,4,1
250 .comm durchschnitt_easting,4,1
251 .comm gps_p,2,1
252 .comm gps_d,2,1
253 .comm skal,2,1
254 .comm motor_rx,8,1
255 .comm RemoteTasten,1,1
256 .comm Timeout,1,1
257 .comm IntegralNick,4,1
258 .comm IntegralNick2,4,1
259 .comm IntegralRoll,4,1
260 .comm IntegralRoll2,4,1
261 .comm Mess_IntegralNick,4,1
262 .comm Mess_IntegralNick2,4,1
263 .comm Mess_IntegralRoll,4,1
264 .comm Mess_IntegralRoll2,4,1
265 .comm Integral_Gier,4,1
266 .comm Mess_Integral_Gier,4,1
267 .comm h,1,1
268 .comm m,1,1
269 .comm s,1,1
270 .comm Motor_Vorne,1,1
271 .comm Motor_Hinten,1,1
272 .comm Motor_Rechts,1,1
273 .comm Motor_Links,1,1
274 .comm Count,1,1
275 .comm MotorWert,5,1
276 .comm StickNick,2,1
277 .comm StickRoll,2,1
278 .comm StickGier,2,1
279 .comm MotorenEin,1,1
280 /* File "twimaster.c": code 184 = 0x00b8 ( 162), prologues 9, epilogues 13 */
DEFINED SYMBOLS
*ABS*:00000000 twimaster.c
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccqkUhzh.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccqkUhzh.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccqkUhzh.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccqkUhzh.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccqkUhzh.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccqkUhzh.s:13 .text:00000000 i2c_init
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccqkUhzh.s:26 .text:0000000c i2c_start
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccqkUhzh.s:40 .text:00000018 i2c_stop
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccqkUhzh.s:52 .text:00000020 i2c_write_byte
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccqkUhzh.s:68 .text:00000034 __vector_26
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccqkUhzh.s:230 .bss:00000000 twi_state
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccqkUhzh.s:236 .bss:00000001 motor
*COM*:00000001 Motor_Vorne
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccqkUhzh.s:242 .bss:00000002 motorread
*COM*:00000008 motor_rx
*COM*:00000001 Motor_Hinten
*COM*:00000001 Motor_Rechts
*COM*:00000001 Motor_Links
*COM*:00000002 DiffNick
*COM*:00000002 DiffRoll
*COM*:00000001 SenderOkay
*COM*:00000001 CosinusNickWinkel
*COM*:00000001 CosinusRollWinkel
*COM*:00000004 durchschnitt_northing
*COM*:00000004 durchschnitt_easting
*COM*:00000002 gps_p
*COM*:00000002 gps_d
*COM*:00000002 skal
*COM*:00000001 RemoteTasten
*COM*:00000001 Timeout
*COM*:00000004 IntegralNick
*COM*:00000004 IntegralNick2
*COM*:00000004 IntegralRoll
*COM*:00000004 IntegralRoll2
*COM*:00000004 Mess_IntegralNick
*COM*:00000004 Mess_IntegralNick2
*COM*:00000004 Mess_IntegralRoll
*COM*:00000004 Mess_IntegralRoll2
*COM*:00000004 Integral_Gier
*COM*:00000004 Mess_Integral_Gier
*COM*:00000001 h
*COM*:00000001 m
*COM*:00000001 s
*COM*:00000001 Count
*COM*:00000005 MotorWert
*COM*:00000002 StickNick
*COM*:00000002 StickRoll
*COM*:00000002 StickGier
*COM*:00000001 MotorenEin
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
/branches/V0.60_GPS_BETA_chris2798_hallo2/uart.c
0,0 → 1,596
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Copyright (c) 04.2007 Holger Buss
// + only for non-profit use
// + www.MikroKopter.com
// + see the File "License.txt" for further Informations
// +
// + GPS read out:
// + modified Version of the Pitschu Brushless Ufo - (c) Peter Schulten, Mülheim, Germany
// + only for non-profit use
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
#include "main.h"
#include "uart.h"
 
unsigned char DebugGetAnforderung = 0,DebugDisplayAnforderung = 0,DebugDataAnforderung = 0,GetVersionAnforderung = 0;
unsigned volatile char SioTmp = 0;
unsigned volatile char SendeBuffer[MAX_SENDE_BUFF];
unsigned volatile 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 PcZugriff = 100;
unsigned char MotorTest[4] = {0,0,0,0};
unsigned char MeineSlaveAdresse;
struct str_DebugOut DebugOut;
struct str_Debug DebugIn;
struct str_VersionInfo VersionInfo;
int Debug_Timer;
 
static uint8_t gpsState;
#define GPS_EMPTY 0
#define GPS_SYNC1 1
#define GPS_SYNC2 2
#define GPS_CLASS 3
#define GPS_LEN1 4
#define GPS_LEN2 5
#define GPS_FILLING 6
#define GPS_CKA 7
#define GPS_CKB 8
 
//gpsInfo_t gpsPoints[5]; // stored position to fly to (currently only 1 target supported)
//gpsInfo_t *gpsTarget; // points to one of the targets
gpsInfo_t actualPos; // measured position (last gps record)
 
#define SYNC_CHAR1 0xb5
#define SYNC_CHAR2 0x62
 
#define CLASS_NAV 0x01
#define MSGID_STATUS 0x03
#define MSGID_POSLLH 0x02
#define MSGID_POSUTM 0x08
#define MSGID_VELNED 0x12
 
 
 
typedef struct {
unsigned long ITOW; // time of week
uint8_t GPSfix; // GPSfix Type, range 0..6
uint8_t Flags; // Navigation Status Flags
uint8_t DiffS; // Differential Status
uint8_t res; // reserved
unsigned long TTFF; // Time to first fix (millisecond time tag)
unsigned long MSSS; // Milliseconds since Startup / Reset
uint8_t packetStatus;
} NAV_STATUS_t;
 
 
typedef struct {
unsigned long ITOW; // time of week
long LON; // longitude in 1e-07 deg
long LAT; // lattitude
long HEIGHT; // height in mm
long HMSL; // height above mean sea level im mm
unsigned long Hacc; // horizontal accuracy in mm
unsigned long Vacc; // vertical accuracy in mm
uint8_t packetStatus;
} NAV_POSLLH_t;
 
 
typedef struct {
unsigned long ITOW; // time of week
long EAST; // cm UTM Easting
long NORTH; // cm UTM Nording
long ALT; // cm altitude
uint8_t ZONE; // UTM zone number
uint8_t HEM; // Hemisphere Indicator (0=North, 1=South)
uint8_t packetStatus;
} NAV_POSUTM_t;
 
 
typedef struct {
unsigned long ITOW; // ms GPS Millisecond Time of Week
long VEL_N; // cm/s NED north velocity
long VEL_E; // cm/s NED east velocity
long VEL_D; // cm/s NED down velocity
unsigned long Speed; // cm/s Speed (3-D)
unsigned long GSpeed; // cm/s Ground Speed (2-D)
long Heading; // deg (1e-05) Heading 2-D
unsigned long SAcc; // cm/s Speed Accuracy Estimate
unsigned long CAcc; // deg Course / Heading Accuracy Estimate
uint8_t packetStatus;
} NAV_VELNED_t;
 
 
NAV_STATUS_t navStatus;
NAV_POSLLH_t navPosLlh;
NAV_POSUTM_t navPosUtm;
NAV_VELNED_t navVelNed;
 
volatile char *ubxP, *ubxEp, *ubxSp; // pointers to packet currently transfered
volatile uint8_t CK_A, CK_B; // UBX checksum bytes
volatile unsigned short msgLen;
volatile uint8_t msgID;
volatile uint8_t ignorePacket; // true when previous packet was not processed
 
 
// distance to target position
long rollOffset; // in 10cm
long nickOffset;
 
#define GPS_INTCYCLES 100
#define GPS_I_LIMIT (long)(40 * MAINLOOPS_PER_SEC)
 
#ifdef GPS_DEBUG // if set then the GPS data is transfered to display
extern volatile uint8_t v24state;
char buf[200];
char *bp;
char *ep;
#endif
 
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ 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;
}
 
void GPSscanData (void)
{
if (navStatus.packetStatus == 1) // valid packet
{
actualPos.state = navStatus.GPSfix;
navStatus.packetStatus = 0;
}
 
if (navPosUtm.packetStatus == 1) // valid packet
{
actualPos.northing = navPosUtm.NORTH/10; // in cm vormals in 10cm also Wert/10;
actualPos.easting = navPosUtm.EAST/10;
actualPos.altitude = navPosUtm.ALT/10;
navPosUtm.packetStatus = 0;
}
 
 
if (navPosLlh.packetStatus == 1)
navPosLlh.packetStatus = 0;
if (navVelNed.packetStatus == 1){
actualPos.velNorth = navVelNed.VEL_N;
actualPos.velEast = navVelNed.VEL_E;
navVelNed.packetStatus = 0;}
/*
navPosLlh and navVelNed currently not used
*/
if (actualPos.state != 0){ROT_ON;} //-> Rot blinkt mit 4Hz wenn GPS Signal brauchbar
 
}
 
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ 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 CrcOkay = 0;
 
SioTmp = UDR;
uint8_t c;
uint8_t re;
 
re = (UCSR0A & (_B1(FE0) | _B1(DOR0))); // any error occured ?
c = SioTmp;
#ifdef GPS_DEBUG
*bp++ = c;
if (bp >= (buf+200)) bp = buf;
if (v24state == 0)
{
v24state = 1;
UDR0 = *ep++;
if (ep >= buf+200)
ep = buf;
UCSR0B |= _B1(UDRIE0); //enable further irqs
}
#endif
 
if (re == 0)
{
switch (gpsState)
{
case GPS_EMPTY:
if (c == SYNC_CHAR1)
gpsState = GPS_SYNC1;
break;
case GPS_SYNC1:
if (c == SYNC_CHAR2)
gpsState = GPS_SYNC2;
else if (c != SYNC_CHAR1)
gpsState = GPS_EMPTY;
break;
case GPS_SYNC2:
if (c == CLASS_NAV)
gpsState = GPS_CLASS;
else
gpsState = GPS_EMPTY;
break;
case GPS_CLASS: // msg ID seen: init packed receive
msgID = c;
CK_A = CLASS_NAV + c;
CK_B = CLASS_NAV + CK_A;
gpsState = GPS_LEN1;
 
switch (msgID)
{
case MSGID_STATUS:
ubxP = (char*)&navStatus;
ubxEp = (char*)(&navStatus + sizeof(NAV_STATUS_t));
ubxSp = (char*)&navStatus.packetStatus;
ignorePacket = navStatus.packetStatus;
break;
case MSGID_POSLLH:
ubxP = (char*)&navPosLlh;
ubxEp = (char*)(&navPosLlh + sizeof(NAV_POSLLH_t));
ubxSp = (char*)&navPosLlh.packetStatus;
ignorePacket = navPosLlh.packetStatus;
break;
case MSGID_POSUTM:
ubxP = (char*)&navPosUtm;
ubxEp = (char*)(&navPosUtm + sizeof(NAV_POSUTM_t));
ubxSp = (char*)&navPosUtm.packetStatus;
ignorePacket = navPosUtm.packetStatus;
break;
case MSGID_VELNED:
ubxP = (char*)&navVelNed;
ubxEp = (char*)(&navVelNed + sizeof(NAV_VELNED_t));
ubxSp = (char*)&navVelNed.packetStatus;
ignorePacket = navVelNed.packetStatus;
break;
default:
ignorePacket = 1;
ubxSp = (char*)0;
}
break;
case GPS_LEN1: // first len byte
msgLen = c;
CK_A += c;
CK_B += CK_A;
gpsState = GPS_LEN2;
break;
case GPS_LEN2: // second len byte
msgLen = msgLen + (c * 256);
CK_A += c;
CK_B += CK_A;
gpsState = GPS_FILLING; // next data will be stored in packet struct
break;
case GPS_FILLING:
CK_A += c;
CK_B += CK_A;
 
if ( !ignorePacket && ubxP < ubxEp)
*ubxP++ = c;
 
if (--msgLen == 0)
gpsState = GPS_CKA;
break;
case GPS_CKA:
if (c == CK_A)
gpsState = GPS_CKB;
else
gpsState = GPS_EMPTY;
break;
case GPS_CKB:
if (c == CK_B && ubxSp) // No error -> packet received successfully
*ubxSp = 1; // set packetStatus in struct
gpsState = GPS_EMPTY; // ready for next packet
break;
default:
gpsState = GPS_EMPTY; // ready for next packet
}
}
else // discard any data if error occured
{
gpsState = GPS_EMPTY;
GPSscanData (); //Test kann ggf. wieder gelöscht werden!
}
GPSscanData ();
 
 
if(buf_ptr >= MAX_EMPFANGS_BUFF) UartState = 0;
if(SioTmp == '\r' && UartState == 2)
{
UartState = 0;
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])) CrcOkay = 1; else { CrcOkay = 0; CntCrcError++;};
if(!NeuerDatensatzEmpfangen && CrcOkay) // Datensatz schon verarbeitet
{
NeuerDatensatzEmpfangen = 1;
AnzahlEmpfangsBytes = buf_ptr;
RxdBuffer[buf_ptr] = '\r';
if(/*(RxdBuffer[1] == MeineSlaveAdresse || (RxdBuffer[1] == 'a')) && */(RxdBuffer[2] == 'R')) wdt_enable(WDTO_250MS); // Reset-Commando
}
}
else
switch(UartState)
{
case 0:
if(SioTmp == '#' && !NeuerDatensatzEmpfangen) UartState = 1; // Startzeichen und Daten schon verarbeitet
buf_ptr = 0;
RxdBuffer[buf_ptr++] = SioTmp;
crc = SioTmp;
break;
case 1: // Adresse auswerten
UartState++;
RxdBuffer[buf_ptr++] = SioTmp;
crc += SioTmp;
break;
case 2: // Eingangsdaten sammeln
RxdBuffer[buf_ptr] = SioTmp;
if(buf_ptr < MAX_EMPFANGS_BUFF) buf_ptr++;
else UartState = 0;
crc += SioTmp;
break;
default:
UartState = 0;
break;
}
}
 
 
// --------------------------------------------------------------------------
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 'c':// Debugdaten incl. Externe IOs usw
Decode64((unsigned char *) &DebugIn,sizeof(DebugIn),3,AnzahlEmpfangsBytes);
/* for(unsigned char i=0; i<4;i++)
{
EE_CheckAndWrite(&EE_Buffer[EE_DEBUGWERTE + i*2], DebugIn.Analog[i]);
EE_CheckAndWrite(&EE_Buffer[EE_DEBUGWERTE + i*2 + 1], DebugIn.Analog[i] >> 8);
}*/
RemoteTasten |= DebugIn.RemoteTasten;
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];
DebugDisplayAnforderung = 1;
break;
case 't':// Motortest
Decode64((unsigned char *) &MotorTest[0],sizeof(MotorTest),3,AnzahlEmpfangsBytes);
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], STRUCT_PARAM_LAENGE);
SendOutData('L' + tmp_char_arr2[0] -1,MeineSlaveAdresse,(unsigned char *) &EE_Parameter.Kanalbelegung[0],STRUCT_PARAM_LAENGE);
}
else
SendOutData('L' + GetActiveParamSetNumber()-1,MeineSlaveAdresse,(unsigned char *) &EE_Parameter.Kanalbelegung[0],STRUCT_PARAM_LAENGE);
break;
case 'l':
case 'm':
case 'n':
case 'o':
case 'p': // Parametersatz speichern
Decode64((unsigned char *) &EE_Parameter.Kanalbelegung[0],STRUCT_PARAM_LAENGE,3,AnzahlEmpfangsBytes);
WriteParameterSet(RxdBuffer[2] - 'l' + 1, (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE);
eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], RxdBuffer[2] - 'l' + 1); // aktiven Datensatz merken
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);
gpsState = GPS_EMPTY;
}
 
//---------------------------------------------------------------------------------------------
void DatenUebertragung(void)
{
static char dis_zeile = 0;
if(!UebertragungAbgeschlossen) return;
 
if(DebugGetAnforderung && UebertragungAbgeschlossen) // Bei Get werden die vom PC einstellbaren Werte vom PC zurückgelesen
{
SendOutData('G',MeineSlaveAdresse,(unsigned char *) &DebugIn,sizeof(DebugIn));
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(DebugDisplayAnforderung && UebertragungAbgeschlossen)
{
Menu();
DebugDisplayAnforderung = 0;
if(++dis_zeile == 4) dis_zeile = 0;
SendOutData('0' + dis_zeile,0,&DisplayBuff[20 * dis_zeile],20); // DisplayZeile übertragen
}
if(GetVersionAnforderung && UebertragungAbgeschlossen)
{
SendOutData('V',MeineSlaveAdresse,(unsigned char *) &VersionInfo,sizeof(VersionInfo));
GetVersionAnforderung = 0;
}
 
}
 
/branches/V0.60_GPS_BETA_chris2798_hallo2/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
/branches/V0.60_GPS_BETA_chris2798_hallo2/uart.h
0,0 → 1,118
#ifndef _UART_H
#define _UART_H
 
#define MAX_SENDE_BUFF 150
#define MAX_EMPFANGS_BUFF 150
 
extern unsigned char DebugGetAnforderung;
extern unsigned volatile char SendeBuffer[MAX_SENDE_BUFF];
extern unsigned volatile 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 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 unsigned char MotorTest[4];
struct str_DebugOut
{
unsigned char Digital[13];
unsigned int AnzahlZyklen;
unsigned int Zeit;
unsigned char Sekunden;
unsigned int Analog[16]; // Debugwerte
};
 
extern struct str_DebugOut DebugOut;
 
#define _B1(bit) (1 << (bit))
#define _B0(bit) (0 << (bit))
 
typedef struct {
long northing; // in cm (+ = north)
long easting; // in cm (+ = east)
long altitude; // in cm
long velNorth;
long velEast;
long velDown;
long groundSpeed;
long heading;
 
uint8_t state; // status of data: 0 = invlid; 1 = valid
uint8_t noSV; // number of sats
} gpsInfo_t;
 
 
extern gpsInfo_t lockedPos; // stored position to fly to
extern gpsInfo_t actualPos; // measured position (last gps record)
 
extern void GPSscanData (void);
extern void GPSupdate(void);
extern void GPSsaveTarget (uint8_t mode);
 
struct str_Debug
{
unsigned char Digital[2];
unsigned char RemoteTasten;
unsigned int Analog[4];
};
extern struct str_Debug DebugIn;
 
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/V0.60_GPS_BETA_chris2798_hallo2/uart.lst
0,0 → 1,1409
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.2038
29 001e 9091 0000 lds r25,(ptr.2038)+1
30 0022 0196 adiw r24,1
31 0024 9093 0000 sts (ptr.2038)+1,r25
32 0028 8093 0000 sts ptr.2038,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.2038)+1,__zero_reg__
44 0042 1092 0000 sts ptr.2038,__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.2038)+1,__zero_reg__
52 0056 1092 0000 sts ptr.2038,__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 GPSscanData
69 GPSscanData:
70 /* prologue: frame size=0 */
71 /* prologue end (size=0) */
72 006c 8091 0000 lds r24,navStatus+16
73 0070 8130 cpi r24,lo8(1)
74 0072 01F4 brne .L10
75 0074 8091 0000 lds r24,navStatus+4
76 0078 8093 0000 sts actualPos+32,r24
77 007c 1092 0000 sts navStatus+16,__zero_reg__
78 .L10:
79 0080 8091 0000 lds r24,navPosUtm+18
80 0084 8130 cpi r24,lo8(1)
81 0086 01F0 breq .+2
82 0088 00C0 rjmp .L12
83 008a 6091 0000 lds r22,navPosUtm+8
84 008e 7091 0000 lds r23,(navPosUtm+8)+1
85 0092 8091 0000 lds r24,(navPosUtm+8)+2
86 0096 9091 0000 lds r25,(navPosUtm+8)+3
87 009a 2AE0 ldi r18,lo8(10)
88 009c 30E0 ldi r19,hi8(10)
89 009e 40E0 ldi r20,hlo8(10)
90 00a0 50E0 ldi r21,hhi8(10)
91 00a2 0E94 0000 call __divmodsi4
92 00a6 2093 0000 sts actualPos,r18
93 00aa 3093 0000 sts (actualPos)+1,r19
94 00ae 4093 0000 sts (actualPos)+2,r20
95 00b2 5093 0000 sts (actualPos)+3,r21
96 00b6 6091 0000 lds r22,navPosUtm+4
97 00ba 7091 0000 lds r23,(navPosUtm+4)+1
98 00be 8091 0000 lds r24,(navPosUtm+4)+2
99 00c2 9091 0000 lds r25,(navPosUtm+4)+3
100 00c6 2AE0 ldi r18,lo8(10)
101 00c8 30E0 ldi r19,hi8(10)
102 00ca 40E0 ldi r20,hlo8(10)
103 00cc 50E0 ldi r21,hhi8(10)
104 00ce 0E94 0000 call __divmodsi4
105 00d2 2093 0000 sts actualPos+4,r18
106 00d6 3093 0000 sts (actualPos+4)+1,r19
107 00da 4093 0000 sts (actualPos+4)+2,r20
108 00de 5093 0000 sts (actualPos+4)+3,r21
109 00e2 6091 0000 lds r22,navPosUtm+12
110 00e6 7091 0000 lds r23,(navPosUtm+12)+1
111 00ea 8091 0000 lds r24,(navPosUtm+12)+2
112 00ee 9091 0000 lds r25,(navPosUtm+12)+3
113 00f2 2AE0 ldi r18,lo8(10)
114 00f4 30E0 ldi r19,hi8(10)
115 00f6 40E0 ldi r20,hlo8(10)
116 00f8 50E0 ldi r21,hhi8(10)
117 00fa 0E94 0000 call __divmodsi4
118 00fe 2093 0000 sts actualPos+8,r18
119 0102 3093 0000 sts (actualPos+8)+1,r19
120 0106 4093 0000 sts (actualPos+8)+2,r20
121 010a 5093 0000 sts (actualPos+8)+3,r21
122 010e 1092 0000 sts navPosUtm+18,__zero_reg__
123 .L12:
124 0112 8091 0000 lds r24,navPosLlh+28
125 0116 8130 cpi r24,lo8(1)
126 0118 01F4 brne .L14
127 011a 1092 0000 sts navPosLlh+28,__zero_reg__
128 .L14:
129 011e 8091 0000 lds r24,navVelNed+36
130 0122 8130 cpi r24,lo8(1)
131 0124 01F4 brne .L16
132 0126 8091 0000 lds r24,navVelNed+4
133 012a 9091 0000 lds r25,(navVelNed+4)+1
134 012e A091 0000 lds r26,(navVelNed+4)+2
135 0132 B091 0000 lds r27,(navVelNed+4)+3
136 0136 8093 0000 sts actualPos+12,r24
137 013a 9093 0000 sts (actualPos+12)+1,r25
138 013e A093 0000 sts (actualPos+12)+2,r26
139 0142 B093 0000 sts (actualPos+12)+3,r27
140 0146 8091 0000 lds r24,navVelNed+8
141 014a 9091 0000 lds r25,(navVelNed+8)+1
142 014e A091 0000 lds r26,(navVelNed+8)+2
143 0152 B091 0000 lds r27,(navVelNed+8)+3
144 0156 8093 0000 sts actualPos+16,r24
145 015a 9093 0000 sts (actualPos+16)+1,r25
146 015e A093 0000 sts (actualPos+16)+2,r26
147 0162 B093 0000 sts (actualPos+16)+3,r27
148 0166 1092 0000 sts navVelNed+36,__zero_reg__
149 .L16:
150 016a 8091 0000 lds r24,actualPos+32
151 016e 8111 cpse r24,__zero_reg__
152 0170 289A sbi 37-0x20,0
153 .L20:
154 0172 0895 ret
155 /* epilogue: frame size=0 */
156 /* epilogue: noreturn */
157 /* epilogue end (size=0) */
158 /* function GPSscanData size 133 (133) */
160 .global __vector_20
162 __vector_20:
163 /* prologue: frame size=0 */
164 0174 1F92 push __zero_reg__
165 0176 0F92 push __tmp_reg__
166 0178 0FB6 in __tmp_reg__,__SREG__
167 017a 0F92 push __tmp_reg__
168 017c 1124 clr __zero_reg__
169 017e 2F93 push r18
170 0180 3F93 push r19
171 0182 4F93 push r20
172 0184 5F93 push r21
173 0186 6F93 push r22
174 0188 7F93 push r23
175 018a 8F93 push r24
176 018c 9F93 push r25
177 018e AF93 push r26
178 0190 BF93 push r27
179 0192 CF93 push r28
180 0194 DF93 push r29
181 0196 EF93 push r30
182 0198 FF93 push r31
183 /* prologue end (size=19) */
184 019a 8091 C600 lds r24,198
185 019e 8093 0000 sts SioTmp,r24
186 01a2 8091 C000 lds r24,192
187 01a6 4091 0000 lds r20,SioTmp
188 01aa 8871 andi r24,lo8(24)
189 01ac 01F0 breq .+2
190 01ae 00C0 rjmp .L22
191 01b0 8091 0000 lds r24,gpsState
192 01b4 8430 cpi r24,lo8(4)
193 01b6 01F4 brne .+2
194 01b8 00C0 rjmp .L29
195 01ba 8530 cpi r24,lo8(5)
196 01bc 00F4 brsh .L34
197 01be 8130 cpi r24,lo8(1)
198 01c0 01F0 breq .L26
199 01c2 8130 cpi r24,lo8(1)
200 01c4 00F0 brlo .L25
201 01c6 8230 cpi r24,lo8(2)
202 01c8 01F0 breq .L27
203 01ca 8330 cpi r24,lo8(3)
204 01cc 01F0 breq .+2
205 01ce 00C0 rjmp .L24
206 01d0 00C0 rjmp .L28
207 .L34:
208 01d2 8630 cpi r24,lo8(6)
209 01d4 01F4 brne .+2
210 01d6 00C0 rjmp .L31
211 01d8 8630 cpi r24,lo8(6)
212 01da 00F4 brsh .+2
213 01dc 00C0 rjmp .L30
214 01de 8730 cpi r24,lo8(7)
215 01e0 01F4 brne .+2
216 01e2 00C0 rjmp .L32
217 01e4 8830 cpi r24,lo8(8)
218 01e6 01F0 breq .+2
219 01e8 00C0 rjmp .L24
220 01ea 00C0 rjmp .L33
221 .L25:
222 01ec 453B cpi r20,lo8(-75)
223 01ee 01F0 breq .+2
224 01f0 00C0 rjmp .L35
225 01f2 81E0 ldi r24,lo8(1)
226 01f4 00C0 rjmp .L82
227 .L26:
228 01f6 4236 cpi r20,lo8(98)
229 01f8 01F4 brne .L37
230 01fa 82E0 ldi r24,lo8(2)
231 .L82:
232 01fc 8093 0000 sts gpsState,r24
233 0200 00C0 rjmp .L35
234 .L37:
235 0202 453B cpi r20,lo8(-75)
236 0204 01F4 brne .+2
237 0206 00C0 rjmp .L35
238 0208 00C0 rjmp .L24
239 .L27:
240 020a 4130 cpi r20,lo8(1)
241 020c 01F0 breq .+2
242 020e 00C0 rjmp .L24
243 0210 83E0 ldi r24,lo8(3)
244 0212 00C0 rjmp .L82
245 .L28:
246 0214 4093 0000 sts msgID,r20
247 0218 4F5F subi r20,lo8(-(1))
248 021a 4093 0000 sts CK_A,r20
249 021e 8091 0000 lds r24,CK_A
250 0222 8F5F subi r24,lo8(-(1))
251 0224 8093 0000 sts CK_B,r24
252 0228 84E0 ldi r24,lo8(4)
253 022a 8093 0000 sts gpsState,r24
254 022e 8091 0000 lds r24,msgID
255 0232 8330 cpi r24,lo8(3)
256 0234 01F0 breq .L44
257 0236 8430 cpi r24,lo8(4)
258 0238 00F4 brsh .L47
259 023a 8230 cpi r24,lo8(2)
260 023c 01F0 breq .+2
261 023e 00C0 rjmp .L42
262 0240 00C0 rjmp .L43
263 .L47:
264 0242 8830 cpi r24,lo8(8)
265 0244 01F0 breq .L45
266 0246 8231 cpi r24,lo8(18)
267 0248 01F0 breq .+2
268 024a 00C0 rjmp .L42
269 024c 00C0 rjmp .L46
270 .L44:
271 024e 80E0 ldi r24,lo8(navStatus)
272 0250 90E0 ldi r25,hi8(navStatus)
273 0252 9093 0000 sts (ubxP)+1,r25
274 0256 8093 0000 sts ubxP,r24
275 025a 20E0 ldi r18,lo8(navStatus+289)
276 025c 30E0 ldi r19,hi8(navStatus+289)
277 025e 3093 0000 sts (ubxEp)+1,r19
278 0262 2093 0000 sts ubxEp,r18
279 0266 4096 adiw r24,16
280 0268 9093 0000 sts (ubxSp)+1,r25
281 026c 8093 0000 sts ubxSp,r24
282 0270 8091 0000 lds r24,navStatus+16
283 0274 00C0 rjmp .L83
284 .L43:
285 0276 80E0 ldi r24,lo8(navPosLlh)
286 0278 90E0 ldi r25,hi8(navPosLlh)
287 027a 9093 0000 sts (ubxP)+1,r25
288 027e 8093 0000 sts ubxP,r24
289 0282 20E0 ldi r18,lo8(navPosLlh+841)
290 0284 30E0 ldi r19,hi8(navPosLlh+841)
291 0286 3093 0000 sts (ubxEp)+1,r19
292 028a 2093 0000 sts ubxEp,r18
293 028e 4C96 adiw r24,28
294 0290 9093 0000 sts (ubxSp)+1,r25
295 0294 8093 0000 sts ubxSp,r24
296 0298 8091 0000 lds r24,navPosLlh+28
297 029c 00C0 rjmp .L83
298 .L45:
299 029e 80E0 ldi r24,lo8(navPosUtm)
300 02a0 90E0 ldi r25,hi8(navPosUtm)
301 02a2 9093 0000 sts (ubxP)+1,r25
302 02a6 8093 0000 sts ubxP,r24
303 02aa 20E0 ldi r18,lo8(navPosUtm+361)
304 02ac 30E0 ldi r19,hi8(navPosUtm+361)
305 02ae 3093 0000 sts (ubxEp)+1,r19
306 02b2 2093 0000 sts ubxEp,r18
307 02b6 4296 adiw r24,18
308 02b8 9093 0000 sts (ubxSp)+1,r25
309 02bc 8093 0000 sts ubxSp,r24
310 02c0 8091 0000 lds r24,navPosUtm+18
311 02c4 00C0 rjmp .L83
312 .L46:
313 02c6 80E0 ldi r24,lo8(navVelNed)
314 02c8 90E0 ldi r25,hi8(navVelNed)
315 02ca 9093 0000 sts (ubxP)+1,r25
316 02ce 8093 0000 sts ubxP,r24
317 02d2 20E0 ldi r18,lo8(navVelNed+1369)
318 02d4 30E0 ldi r19,hi8(navVelNed+1369)
319 02d6 3093 0000 sts (ubxEp)+1,r19
320 02da 2093 0000 sts ubxEp,r18
321 02de 8496 adiw r24,36
322 02e0 9093 0000 sts (ubxSp)+1,r25
323 02e4 8093 0000 sts ubxSp,r24
324 02e8 8091 0000 lds r24,navVelNed+36
325 .L83:
326 02ec 8093 0000 sts ignorePacket,r24
327 02f0 00C0 rjmp .L35
328 .L42:
329 02f2 81E0 ldi r24,lo8(1)
330 02f4 8093 0000 sts ignorePacket,r24
331 02f8 1092 0000 sts (ubxSp)+1,__zero_reg__
332 02fc 1092 0000 sts ubxSp,__zero_reg__
333 0300 00C0 rjmp .L35
334 .L29:
335 0302 842F mov r24,r20
336 0304 9927 clr r25
337 0306 9093 0000 sts (msgLen)+1,r25
338 030a 8093 0000 sts msgLen,r24
339 030e 8091 0000 lds r24,CK_A
340 0312 840F add r24,r20
341 0314 8093 0000 sts CK_A,r24
342 0318 8091 0000 lds r24,CK_B
343 031c 9091 0000 lds r25,CK_A
344 0320 890F add r24,r25
345 0322 8093 0000 sts CK_B,r24
346 0326 85E0 ldi r24,lo8(5)
347 0328 00C0 rjmp .L82
348 .L30:
349 032a 2091 0000 lds r18,msgLen
350 032e 3091 0000 lds r19,(msgLen)+1
351 0332 842F mov r24,r20
352 0334 9927 clr r25
353 0336 982F mov r25,r24
354 0338 8827 clr r24
355 033a 280F add r18,r24
356 033c 391F adc r19,r25
357 033e 3093 0000 sts (msgLen)+1,r19
358 0342 2093 0000 sts msgLen,r18
359 0346 8091 0000 lds r24,CK_A
360 034a 840F add r24,r20
361 034c 8093 0000 sts CK_A,r24
362 0350 8091 0000 lds r24,CK_B
363 0354 9091 0000 lds r25,CK_A
364 0358 890F add r24,r25
365 035a 8093 0000 sts CK_B,r24
366 035e 86E0 ldi r24,lo8(6)
367 0360 00C0 rjmp .L82
368 .L31:
369 0362 8091 0000 lds r24,CK_A
370 0366 840F add r24,r20
371 0368 8093 0000 sts CK_A,r24
372 036c 8091 0000 lds r24,CK_B
373 0370 9091 0000 lds r25,CK_A
374 0374 890F add r24,r25
375 0376 8093 0000 sts CK_B,r24
376 037a 8091 0000 lds r24,ignorePacket
377 037e 8823 tst r24
378 0380 01F4 brne .L48
379 0382 E091 0000 lds r30,ubxP
380 0386 F091 0000 lds r31,(ubxP)+1
381 038a 8091 0000 lds r24,ubxEp
382 038e 9091 0000 lds r25,(ubxEp)+1
383 0392 E817 cp r30,r24
384 0394 F907 cpc r31,r25
385 0396 00F4 brsh .L48
386 0398 4193 st Z+,r20
387 039a F093 0000 sts (ubxP)+1,r31
388 039e E093 0000 sts ubxP,r30
389 .L48:
390 03a2 8091 0000 lds r24,msgLen
391 03a6 9091 0000 lds r25,(msgLen)+1
392 03aa 0197 sbiw r24,1
393 03ac 9093 0000 sts (msgLen)+1,r25
394 03b0 8093 0000 sts msgLen,r24
395 03b4 8091 0000 lds r24,msgLen
396 03b8 9091 0000 lds r25,(msgLen)+1
397 03bc 892B or r24,r25
398 03be 01F4 brne .L35
399 03c0 87E0 ldi r24,lo8(7)
400 03c2 00C0 rjmp .L82
401 .L32:
402 03c4 8091 0000 lds r24,CK_A
403 03c8 4817 cp r20,r24
404 03ca 01F4 brne .L24
405 03cc 88E0 ldi r24,lo8(8)
406 03ce 00C0 rjmp .L82
407 .L33:
408 03d0 8091 0000 lds r24,CK_B
409 03d4 4817 cp r20,r24
410 03d6 01F4 brne .L24
411 03d8 E091 0000 lds r30,ubxSp
412 03dc F091 0000 lds r31,(ubxSp)+1
413 03e0 3097 sbiw r30,0
414 03e2 01F0 breq .L24
415 03e4 81E0 ldi r24,lo8(1)
416 03e6 8083 st Z,r24
417 .L24:
418 03e8 1092 0000 sts gpsState,__zero_reg__
419 03ec 00C0 rjmp .L35
420 .L22:
421 03ee 1092 0000 sts gpsState,__zero_reg__
422 03f2 0E94 0000 call GPSscanData
423 .L35:
424 03f6 0E94 0000 call GPSscanData
425 03fa 4091 0000 lds r20,buf_ptr.2074
426 03fe 4639 cpi r20,lo8(-106)
427 0400 00F0 brlo .L57
428 0402 1092 0000 sts UartState.2075,__zero_reg__
429 .L57:
430 0406 8091 0000 lds r24,SioTmp
431 040a 8D30 cpi r24,lo8(13)
432 040c 01F0 breq .+2
433 040e 00C0 rjmp .L59
434 0410 8091 0000 lds r24,UartState.2075
435 0414 8230 cpi r24,lo8(2)
436 0416 01F0 breq .+2
437 0418 00C0 rjmp .L59
438 041a 1092 0000 sts UartState.2075,__zero_reg__
439 041e A42F mov r26,r20
440 0420 BB27 clr r27
441 0422 FD01 movw r30,r26
442 0424 E050 subi r30,lo8(-(RxdBuffer-2))
443 0426 F040 sbci r31,hi8(-(RxdBuffer-2))
444 0428 3081 ld r19,Z
445 042a ED01 movw r28,r26
446 042c C050 subi r28,lo8(-(RxdBuffer-1))
447 042e D040 sbci r29,hi8(-(RxdBuffer-1))
448 0430 2881 ld r18,Y
449 0432 8091 0000 lds r24,crc.2071
450 0436 9091 0000 lds r25,(crc.2071)+1
451 043a 831B sub r24,r19
452 043c 9109 sbc r25,__zero_reg__
453 043e 821B sub r24,r18
454 0440 9109 sbc r25,__zero_reg__
455 0442 9F70 andi r25,hi8(4095)
456 0444 9093 0000 sts (crc.2071)+1,r25
457 0448 8093 0000 sts crc.2071,r24
458 044c 9C01 movw r18,r24
459 044e 96E0 ldi r25,6
460 0450 3695 1: lsr r19
461 0452 2795 ror r18
462 0454 9A95 dec r25
463 0456 01F4 brne 1b
464 0458 235C subi r18,lo8(-(61))
465 045a 2093 0000 sts crc1.2072,r18
466 045e 982F mov r25,r24
467 0460 9F73 andi r25,lo8(63)
468 0462 935C subi r25,lo8(-(61))
469 0464 9093 0000 sts crc2.2073,r25
470 0468 8081 ld r24,Z
471 046a 2817 cp r18,r24
472 046c 01F4 brne .L62
473 046e 8881 ld r24,Y
474 0470 9817 cp r25,r24
475 0472 01F4 brne .L62
476 0474 91E0 ldi r25,lo8(1)
477 0476 00C0 rjmp .L65
478 .L62:
479 0478 8091 0000 lds r24,CntCrcError
480 047c 8F5F subi r24,lo8(-(1))
481 047e 8093 0000 sts CntCrcError,r24
482 0482 90E0 ldi r25,lo8(0)
483 .L65:
484 0484 8091 0000 lds r24,NeuerDatensatzEmpfangen
485 0488 8823 tst r24
486 048a 01F0 breq .+2
487 048c 00C0 rjmp .L80
488 048e 9923 tst r25
489 0490 01F4 brne .+2
490 0492 00C0 rjmp .L80
491 0494 81E0 ldi r24,lo8(1)
492 0496 8093 0000 sts NeuerDatensatzEmpfangen,r24
493 049a 4093 0000 sts AnzahlEmpfangsBytes,r20
494 049e A050 subi r26,lo8(-(RxdBuffer))
495 04a0 B040 sbci r27,hi8(-(RxdBuffer))
496 04a2 8DE0 ldi r24,lo8(13)
497 04a4 8C93 st X,r24
498 04a6 8091 0000 lds r24,RxdBuffer+2
499 04aa 8235 cpi r24,lo8(82)
500 04ac 01F0 breq .+2
501 04ae 00C0 rjmp .L80
502 04b0 88E1 ldi r24,lo8(24)
503 04b2 90E0 ldi r25,hi8(24)
504 04b4 2CE0 ldi r18,lo8(12)
505 /* #APP */
506 04b6 0FB6 in __tmp_reg__,__SREG__
507 04b8 F894 cli
508 04ba A895 wdr
509 04bc 8093 6000 sts 96,r24
510 04c0 0FBE out __SREG__,__tmp_reg__
511 04c2 2093 6000 sts 96,r18
512 /* #NOAPP */
513 04c6 00C0 rjmp .L80
514 .L59:
515 04c8 8091 0000 lds r24,UartState.2075
516 04cc 8130 cpi r24,lo8(1)
517 04ce 01F0 breq .L72
518 04d0 8130 cpi r24,lo8(1)
519 04d2 00F0 brlo .L71
520 04d4 8230 cpi r24,lo8(2)
521 04d6 01F4 brne .L81
522 04d8 00C0 rjmp .L73
523 .L71:
524 04da 8091 0000 lds r24,SioTmp
525 04de 8332 cpi r24,lo8(35)
526 04e0 01F4 brne .L74
527 04e2 8091 0000 lds r24,NeuerDatensatzEmpfangen
528 04e6 8823 tst r24
529 04e8 01F4 brne .L74
530 04ea 81E0 ldi r24,lo8(1)
531 04ec 8093 0000 sts UartState.2075,r24
532 .L74:
533 04f0 8091 0000 lds r24,SioTmp
534 04f4 8093 0000 sts RxdBuffer,r24
535 04f8 81E0 ldi r24,lo8(1)
536 04fa 8093 0000 sts buf_ptr.2074,r24
537 04fe 8091 0000 lds r24,SioTmp
538 0502 9927 clr r25
539 0504 00C0 rjmp .L84
540 .L72:
541 0506 82E0 ldi r24,lo8(2)
542 0508 8093 0000 sts UartState.2075,r24
543 050c E42F mov r30,r20
544 050e FF27 clr r31
545 0510 8091 0000 lds r24,SioTmp
546 0514 E050 subi r30,lo8(-(RxdBuffer))
547 0516 F040 sbci r31,hi8(-(RxdBuffer))
548 0518 8083 st Z,r24
549 .L86:
550 051a 4F5F subi r20,lo8(-(1))
551 051c 4093 0000 sts buf_ptr.2074,r20
552 .L85:
553 0520 2091 0000 lds r18,SioTmp
554 0524 8091 0000 lds r24,crc.2071
555 0528 9091 0000 lds r25,(crc.2071)+1
556 052c 820F add r24,r18
557 052e 911D adc r25,__zero_reg__
558 .L84:
559 0530 9093 0000 sts (crc.2071)+1,r25
560 0534 8093 0000 sts crc.2071,r24
561 0538 00C0 rjmp .L80
562 .L73:
563 053a E42F mov r30,r20
564 053c FF27 clr r31
565 053e 8091 0000 lds r24,SioTmp
566 0542 E050 subi r30,lo8(-(RxdBuffer))
567 0544 F040 sbci r31,hi8(-(RxdBuffer))
568 0546 8083 st Z,r24
569 0548 4639 cpi r20,lo8(-106)
570 054a 00F0 brlo .L86
571 054c 1092 0000 sts UartState.2075,__zero_reg__
572 0550 00C0 rjmp .L85
573 .L81:
574 0552 1092 0000 sts UartState.2075,__zero_reg__
575 .L80:
576 /* epilogue: frame size=0 */
577 0556 FF91 pop r31
578 0558 EF91 pop r30
579 055a DF91 pop r29
580 055c CF91 pop r28
581 055e BF91 pop r27
582 0560 AF91 pop r26
583 0562 9F91 pop r25
584 0564 8F91 pop r24
585 0566 7F91 pop r23
586 0568 6F91 pop r22
587 056a 5F91 pop r21
588 056c 4F91 pop r20
589 056e 3F91 pop r19
590 0570 2F91 pop r18
591 0572 0F90 pop __tmp_reg__
592 0574 0FBE out __SREG__,__tmp_reg__
593 0576 0F90 pop __tmp_reg__
594 0578 1F90 pop __zero_reg__
595 057a 1895 reti
596 /* epilogue end (size=19) */
597 /* function __vector_20 size 522 (484) */
599 .global AddCRC
601 AddCRC:
602 /* prologue: frame size=0 */
603 /* prologue end (size=0) */
604 057c DC01 movw r26,r24
605 057e 20E0 ldi r18,lo8(0)
606 0580 30E0 ldi r19,hi8(0)
607 0582 40E0 ldi r20,lo8(0)
608 0584 50E0 ldi r21,hi8(0)
609 0586 E0E0 ldi r30,lo8(SendeBuffer)
610 0588 F0E0 ldi r31,hi8(SendeBuffer)
611 058a 00C0 rjmp .L88
612 .L89:
613 058c 8191 ld r24,Z+
614 058e 280F add r18,r24
615 0590 311D adc r19,__zero_reg__
616 0592 4F5F subi r20,lo8(-(1))
617 0594 5F4F sbci r21,hi8(-(1))
618 .L88:
619 0596 4A17 cp r20,r26
620 0598 5B07 cpc r21,r27
621 059a 01F4 brne .L89
622 059c 3F70 andi r19,hi8(4095)
623 059e C901 movw r24,r18
624 05a0 66E0 ldi r22,6
625 05a2 9695 1: lsr r25
626 05a4 8795 ror r24
627 05a6 6A95 dec r22
628 05a8 01F4 brne 1b
629 05aa 835C subi r24,lo8(-(61))
630 05ac FD01 movw r30,r26
631 05ae E050 subi r30,lo8(-(SendeBuffer))
632 05b0 F040 sbci r31,hi8(-(SendeBuffer))
633 05b2 8083 st Z,r24
634 05b4 1196 adiw r26,1
635 05b6 2F73 andi r18,lo8(63)
636 05b8 235C subi r18,lo8(-(61))
637 05ba FD01 movw r30,r26
638 05bc E050 subi r30,lo8(-(SendeBuffer))
639 05be F040 sbci r31,hi8(-(SendeBuffer))
640 05c0 2083 st Z,r18
641 05c2 A050 subi r26,lo8(-(SendeBuffer+1))
642 05c4 B040 sbci r27,hi8(-(SendeBuffer+1))
643 05c6 8DE0 ldi r24,lo8(13)
644 05c8 8C93 st X,r24
645 05ca 1092 0000 sts UebertragungAbgeschlossen,__zero_reg__
646 05ce 8091 0000 lds r24,SendeBuffer
647 05d2 8093 C600 sts 198,r24
648 /* epilogue: frame size=0 */
649 05d6 0895 ret
650 /* epilogue end (size=1) */
651 /* function AddCRC size 47 (46) */
653 .global SendOutData
655 SendOutData:
656 /* prologue: frame size=0 */
657 05d8 EF92 push r14
658 05da FF92 push r15
659 05dc 0F93 push r16
660 05de 1F93 push r17
661 05e0 CF93 push r28
662 05e2 DF93 push r29
663 /* prologue end (size=6) */
664 05e4 7A01 movw r14,r20
665 05e6 722F mov r23,r18
666 05e8 93E2 ldi r25,lo8(35)
667 05ea 9093 0000 sts SendeBuffer,r25
668 05ee 6093 0000 sts SendeBuffer+1,r22
669 05f2 8093 0000 sts SendeBuffer+2,r24
670 05f6 03E0 ldi r16,lo8(3)
671 05f8 10E0 ldi r17,hi8(3)
672 05fa 60E0 ldi r22,lo8(0)
673 05fc A0E0 ldi r26,lo8(SendeBuffer+3)
674 05fe B0E0 ldi r27,hi8(SendeBuffer+3)
675 0600 00C0 rjmp .L93
676 .L94:
677 0602 F701 movw r30,r14
678 0604 E60F add r30,r22
679 0606 F11D adc r31,__zero_reg__
680 0608 9081 ld r25,Z
681 060a 6F5F subi r22,lo8(-(1))
682 060c 7150 subi r23,lo8(-(-1))
683 060e 01F4 brne .L95
684 0610 E0E0 ldi r30,lo8(0)
685 0612 40E0 ldi r20,lo8(0)
686 0614 00C0 rjmp .L97
687 .L95:
688 0616 F701 movw r30,r14
689 0618 E60F add r30,r22
690 061a F11D adc r31,__zero_reg__
691 061c 4081 ld r20,Z
692 061e 6F5F subi r22,lo8(-(1))
693 0620 7150 subi r23,lo8(-(-1))
694 0622 01F4 brne .L98
695 0624 E0E0 ldi r30,lo8(0)
696 0626 00C0 rjmp .L97
697 .L98:
698 0628 F701 movw r30,r14
699 062a E60F add r30,r22
700 062c F11D adc r31,__zero_reg__
701 062e E081 ld r30,Z
702 0630 6F5F subi r22,lo8(-(1))
703 0632 7150 subi r23,lo8(-(-1))
704 .L97:
705 0634 892F mov r24,r25
706 0636 8695 lsr r24
707 0638 8695 lsr r24
708 063a 835C subi r24,lo8(-(61))
709 063c 8C93 st X,r24
710 063e 5527 clr r21
711 0640 892F mov r24,r25
712 0642 9927 clr r25
713 0644 8370 andi r24,lo8(3)
714 0646 9070 andi r25,hi8(3)
715 0648 24E0 ldi r18,4
716 064a 880F 1: lsl r24
717 064c 991F rol r25
718 064e 2A95 dec r18
719 0650 01F4 brne 1b
720 0652 9A01 movw r18,r20
721 0654 94E0 ldi r25,4
722 0656 3695 1: lsr r19
723 0658 2795 ror r18
724 065a 9A95 dec r25
725 065c 01F4 brne 1b
726 065e 822B or r24,r18
727 0660 835C subi r24,lo8(-(61))
728 0662 ED01 movw r28,r26
729 0664 8983 std Y+1,r24
730 0666 4F70 andi r20,lo8(15)
731 0668 5070 andi r21,hi8(15)
732 066a 440F lsl r20
733 066c 551F rol r21
734 066e 440F lsl r20
735 0670 551F rol r21
736 0672 8E2F mov r24,r30
737 0674 8295 swap r24
738 0676 8695 lsr r24
739 0678 8695 lsr r24
740 067a 8370 andi r24,0x3
741 067c 842B or r24,r20
742 067e 835C subi r24,lo8(-(61))
743 0680 8A83 std Y+2,r24
744 0682 EF73 andi r30,lo8(63)
745 0684 E35C subi r30,lo8(-(61))
746 0686 EB83 std Y+3,r30
747 0688 0C5F subi r16,lo8(-(4))
748 068a 1F4F sbci r17,hi8(-(4))
749 068c 1496 adiw r26,4
750 .L93:
751 068e 7723 tst r23
752 0690 01F0 breq .+2
753 0692 00C0 rjmp .L94
754 0694 C801 movw r24,r16
755 0696 0E94 0000 call AddCRC
756 /* epilogue: frame size=0 */
757 069a DF91 pop r29
758 069c CF91 pop r28
759 069e 1F91 pop r17
760 06a0 0F91 pop r16
761 06a2 FF90 pop r15
762 06a4 EF90 pop r14
763 06a6 0895 ret
764 /* epilogue end (size=7) */
765 /* function SendOutData size 106 (93) */
767 .global Decode64
769 Decode64:
770 /* prologue: frame size=0 */
771 06a8 1F93 push r17
772 06aa CF93 push r28
773 06ac DF93 push r29
774 /* prologue end (size=3) */
775 06ae EC01 movw r28,r24
776 06b0 70E0 ldi r23,lo8(0)
777 06b2 A22F mov r26,r18
778 06b4 BB27 clr r27
779 06b6 1297 sbiw r26,2
780 06b8 00C0 rjmp .L103
781 .L104:
782 06ba E42F mov r30,r20
783 06bc FF27 clr r31
784 06be E050 subi r30,lo8(-(RxdBuffer))
785 06c0 F040 sbci r31,hi8(-(RxdBuffer))
786 06c2 3081 ld r19,Z
787 06c4 4F5F subi r20,lo8(-(1))
788 06c6 E42F mov r30,r20
789 06c8 FF27 clr r31
790 06ca E050 subi r30,lo8(-(RxdBuffer))
791 06cc F040 sbci r31,hi8(-(RxdBuffer))
792 06ce 5081 ld r21,Z
793 06d0 4F5F subi r20,lo8(-(1))
794 06d2 E42F mov r30,r20
795 06d4 FF27 clr r31
796 06d6 E050 subi r30,lo8(-(RxdBuffer))
797 06d8 F040 sbci r31,hi8(-(RxdBuffer))
798 06da 1081 ld r17,Z
799 06dc 4F5F subi r20,lo8(-(1))
800 06de E42F mov r30,r20
801 06e0 FF27 clr r31
802 06e2 E050 subi r30,lo8(-(RxdBuffer))
803 06e4 F040 sbci r31,hi8(-(RxdBuffer))
804 06e6 2081 ld r18,Z
805 06e8 4F5F subi r20,lo8(-(1))
806 06ea 842F mov r24,r20
807 06ec 9927 clr r25
808 06ee A817 cp r26,r24
809 06f0 B907 cpc r27,r25
810 06f2 04F0 brlt .L109
811 06f4 5D53 subi r21,lo8(-(-61))
812 06f6 FE01 movw r30,r28
813 06f8 E70F add r30,r23
814 06fa F11D adc r31,__zero_reg__
815 06fc 3D53 subi r19,lo8(-(-61))
816 06fe 330F lsl r19
817 0700 330F lsl r19
818 0702 852F mov r24,r21
819 0704 8295 swap r24
820 0706 8F70 andi r24,0x0f
821 0708 382B or r19,r24
822 070a 3083 st Z,r19
823 070c 6130 cpi r22,lo8(1)
824 070e 01F0 breq .L109
825 0710 912F mov r25,r17
826 0712 9D53 subi r25,lo8(-(-61))
827 0714 7F5F subi r23,lo8(-(1))
828 0716 FE01 movw r30,r28
829 0718 E70F add r30,r23
830 071a F11D adc r31,__zero_reg__
831 071c 7150 subi r23,lo8(-(-1))
832 071e 5295 swap r21
833 0720 507F andi r21,0xf0
834 0722 892F mov r24,r25
835 0724 8695 lsr r24
836 0726 8695 lsr r24
837 0728 582B or r21,r24
838 072a 5083 st Z,r21
839 072c 6350 subi r22,lo8(-(-3))
840 072e 6F3F cpi r22,lo8(-1)
841 0730 01F0 breq .L109
842 0732 7E5F subi r23,lo8(-(2))
843 0734 FE01 movw r30,r28
844 0736 E70F add r30,r23
845 0738 F11D adc r31,__zero_reg__
846 073a 9295 swap r25
847 073c 990F lsl r25
848 073e 990F lsl r25
849 0740 907C andi r25,0xc0
850 0742 2D53 subi r18,lo8(-(-61))
851 0744 922B or r25,r18
852 0746 9083 st Z,r25
853 0748 7F5F subi r23,lo8(-(1))
854 .L103:
855 074a 6623 tst r22
856 074c 01F0 breq .+2
857 074e 00C0 rjmp .L104
858 .L109:
859 /* epilogue: frame size=0 */
860 0750 DF91 pop r29
861 0752 CF91 pop r28
862 0754 1F91 pop r17
863 0756 0895 ret
864 /* epilogue end (size=4) */
865 /* function Decode64 size 88 (81) */
867 .global uart_putchar
869 uart_putchar:
870 /* prologue: frame size=0 */
871 0758 1F93 push r17
872 /* prologue end (size=1) */
873 075a 182F mov r17,r24
874 075c 8A30 cpi r24,lo8(10)
875 075e 01F4 brne .L115
876 0760 8DE0 ldi r24,lo8(13)
877 0762 0E94 0000 call uart_putchar
878 .L115:
879 0766 8091 C000 lds r24,192
880 076a 85FF sbrs r24,5
881 076c 00C0 rjmp .L115
882 076e 1093 C600 sts 198,r17
883 0772 80E0 ldi r24,lo8(0)
884 0774 90E0 ldi r25,hi8(0)
885 /* epilogue: frame size=0 */
886 0776 1F91 pop r17
887 0778 0895 ret
888 /* epilogue end (size=2) */
889 /* function uart_putchar size 17 (14) */
891 .global WriteProgramData
893 WriteProgramData:
894 /* prologue: frame size=0 */
895 /* prologue end (size=0) */
896 /* epilogue: frame size=0 */
897 077a 0895 ret
898 /* epilogue end (size=1) */
899 /* function WriteProgramData size 1 (0) */
901 .global UART_Init
903 UART_Init:
904 /* prologue: frame size=0 */
905 /* prologue end (size=0) */
906 077c E1EC ldi r30,lo8(193)
907 077e F0E0 ldi r31,hi8(193)
908 0780 88E1 ldi r24,lo8(24)
909 0782 8083 st Z,r24
910 0784 A0EC ldi r26,lo8(192)
911 0786 B0E0 ldi r27,hi8(192)
912 0788 8C91 ld r24,X
913 078a 8260 ori r24,lo8(2)
914 078c 8C93 st X,r24
915 078e 8081 ld r24,Z
916 0790 8068 ori r24,lo8(-128)
917 0792 8083 st Z,r24
918 0794 8081 ld r24,Z
919 0796 8064 ori r24,lo8(64)
920 0798 8083 st Z,r24
921 079a 8AE2 ldi r24,lo8(42)
922 079c 8093 C400 sts 196,r24
923 07a0 88EC ldi r24,lo8(200)
924 07a2 90E0 ldi r25,hi8(200)
925 07a4 0E94 0000 call SetDelay
926 07a8 9093 0000 sts (Debug_Timer)+1,r25
927 07ac 8093 0000 sts Debug_Timer,r24
928 07b0 1092 0000 sts gpsState,__zero_reg__
929 /* epilogue: frame size=0 */
930 07b4 0895 ret
931 /* epilogue end (size=1) */
932 /* function UART_Init size 29 (28) */
934 .global DatenUebertragung
936 DatenUebertragung:
937 /* prologue: frame size=0 */
938 /* prologue end (size=0) */
939 07b6 8091 0000 lds r24,UebertragungAbgeschlossen
940 07ba 8823 tst r24
941 07bc 01F4 brne .+2
942 07be 00C0 rjmp .L139
943 07c0 8091 0000 lds r24,DebugGetAnforderung
944 07c4 8823 tst r24
945 07c6 01F0 breq .L125
946 07c8 8091 0000 lds r24,UebertragungAbgeschlossen
947 07cc 8823 tst r24
948 07ce 01F0 breq .L125
949 07d0 2BE0 ldi r18,lo8(11)
950 07d2 40E0 ldi r20,lo8(DebugIn)
951 07d4 50E0 ldi r21,hi8(DebugIn)
952 07d6 6091 0000 lds r22,MeineSlaveAdresse
953 07da 87E4 ldi r24,lo8(71)
954 07dc 0E94 0000 call SendOutData
955 07e0 1092 0000 sts DebugGetAnforderung,__zero_reg__
956 .L125:
957 07e4 8091 0000 lds r24,Debug_Timer
958 07e8 9091 0000 lds r25,(Debug_Timer)+1
959 07ec 0E94 0000 call CheckDelay
960 07f0 8823 tst r24
961 07f2 01F4 brne .L128
962 07f4 8091 0000 lds r24,DebugDataAnforderung
963 07f8 8823 tst r24
964 07fa 01F0 breq .L130
965 .L128:
966 07fc 8091 0000 lds r24,UebertragungAbgeschlossen
967 0800 8823 tst r24
968 0802 01F0 breq .L130
969 0804 22E3 ldi r18,lo8(50)
970 0806 40E0 ldi r20,lo8(DebugOut)
971 0808 50E0 ldi r21,hi8(DebugOut)
972 080a 6091 0000 lds r22,MeineSlaveAdresse
973 080e 84E4 ldi r24,lo8(68)
974 0810 0E94 0000 call SendOutData
975 0814 1092 0000 sts DebugDataAnforderung,__zero_reg__
976 0818 8AEF ldi r24,lo8(250)
977 081a 90E0 ldi r25,hi8(250)
978 081c 0E94 0000 call SetDelay
979 0820 9093 0000 sts (Debug_Timer)+1,r25
980 0824 8093 0000 sts Debug_Timer,r24
981 .L130:
982 0828 8091 0000 lds r24,DebugDisplayAnforderung
983 082c 8823 tst r24
984 082e 01F0 breq .L132
985 0830 8091 0000 lds r24,UebertragungAbgeschlossen
986 0834 8823 tst r24
987 0836 01F0 breq .L132
988 0838 0E94 0000 call Menu
989 083c 1092 0000 sts DebugDisplayAnforderung,__zero_reg__
990 0840 8091 0000 lds r24,dis_zeile.2398
991 0844 8F5F subi r24,lo8(-(1))
992 0846 8093 0000 sts dis_zeile.2398,r24
993 084a 8430 cpi r24,lo8(4)
994 084c 01F4 brne .L135
995 084e 1092 0000 sts dis_zeile.2398,__zero_reg__
996 .L135:
997 0852 8091 0000 lds r24,dis_zeile.2398
998 0856 44E1 ldi r20,lo8(20)
999 0858 849F mul r24,r20
1000 085a A001 movw r20,r0
1001 085c 1124 clr r1
1002 085e 4050 subi r20,lo8(-(DisplayBuff))
1003 0860 5040 sbci r21,hi8(-(DisplayBuff))
1004 0862 24E1 ldi r18,lo8(20)
1005 0864 60E0 ldi r22,lo8(0)
1006 0866 805D subi r24,lo8(-(48))
1007 0868 0E94 0000 call SendOutData
1008 .L132:
1009 086c 8091 0000 lds r24,GetVersionAnforderung
1010 0870 8823 tst r24
1011 0872 01F0 breq .L139
1012 0874 8091 0000 lds r24,UebertragungAbgeschlossen
1013 0878 8823 tst r24
1014 087a 01F0 breq .L139
1015 087c 2AE0 ldi r18,lo8(10)
1016 087e 40E0 ldi r20,lo8(VersionInfo)
1017 0880 50E0 ldi r21,hi8(VersionInfo)
1018 0882 6091 0000 lds r22,MeineSlaveAdresse
1019 0886 86E5 ldi r24,lo8(86)
1020 0888 0E94 0000 call SendOutData
1021 088c 1092 0000 sts GetVersionAnforderung,__zero_reg__
1022 .L139:
1023 0890 0895 ret
1024 /* epilogue: frame size=0 */
1025 /* epilogue: noreturn */
1026 /* epilogue end (size=0) */
1027 /* function DatenUebertragung size 110 (110) */
1029 .global BearbeiteRxDaten
1031 BearbeiteRxDaten:
1032 /* prologue: frame size=2 */
1033 0892 1F93 push r17
1034 0894 CF93 push r28
1035 0896 DF93 push r29
1036 0898 CDB7 in r28,__SP_L__
1037 089a DEB7 in r29,__SP_H__
1038 089c 2297 sbiw r28,2
1039 089e 0FB6 in __tmp_reg__,__SREG__
1040 08a0 F894 cli
1041 08a2 DEBF out __SP_H__,r29
1042 08a4 0FBE out __SREG__,__tmp_reg__
1043 08a6 CDBF out __SP_L__,r28
1044 /* prologue end (size=11) */
1045 08a8 8091 0000 lds r24,NeuerDatensatzEmpfangen
1046 08ac 8823 tst r24
1047 08ae 01F4 brne .+2
1048 08b0 00C0 rjmp .L156
1049 08b2 8FEF ldi r24,lo8(-1)
1050 08b4 8093 0000 sts PcZugriff,r24
1051 08b8 8091 0000 lds r24,RxdBuffer+2
1052 08bc 8137 cpi r24,lo8(113)
1053 08be 00F4 brsh .L151
1054 08c0 8C36 cpi r24,lo8(108)
1055 08c2 00F0 brlo .+2
1056 08c4 00C0 rjmp .L147
1057 08c6 8736 cpi r24,lo8(103)
1058 08c8 01F4 brne .+2
1059 08ca 00C0 rjmp .L145
1060 08cc 8836 cpi r24,lo8(104)
1061 08ce 01F0 breq .L146
1062 08d0 8336 cpi r24,lo8(99)
1063 08d2 01F0 breq .+2
1064 08d4 00C0 rjmp .L143
1065 08d6 00C0 rjmp .L144
1066 .L151:
1067 08d8 8437 cpi r24,lo8(116)
1068 08da 01F0 breq .L149
1069 08dc 8637 cpi r24,lo8(118)
1070 08de 01F0 breq .L150
1071 08e0 8137 cpi r24,lo8(113)
1072 08e2 01F0 breq .+2
1073 08e4 00C0 rjmp .L143
1074 08e6 00C0 rjmp .L148
1075 .L144:
1076 08e8 2091 0000 lds r18,AnzahlEmpfangsBytes
1077 08ec 43E0 ldi r20,lo8(3)
1078 08ee 6BE0 ldi r22,lo8(11)
1079 08f0 80E0 ldi r24,lo8(DebugIn)
1080 08f2 90E0 ldi r25,hi8(DebugIn)
1081 08f4 0E94 0000 call Decode64
1082 08f8 8091 0000 lds r24,RemoteTasten
1083 08fc 9091 0000 lds r25,DebugIn+2
1084 0900 892B or r24,r25
1085 0902 8093 0000 sts RemoteTasten,r24
1086 0906 81E0 ldi r24,lo8(1)
1087 0908 8093 0000 sts DebugDataAnforderung,r24
1088 090c 00C0 rjmp .L143
1089 .L146:
1090 090e 2091 0000 lds r18,AnzahlEmpfangsBytes
1091 0912 43E0 ldi r20,lo8(3)
1092 0914 62E0 ldi r22,lo8(2)
1093 0916 CE01 movw r24,r28
1094 0918 0196 adiw r24,1
1095 091a 0E94 0000 call Decode64
1096 091e 8091 0000 lds r24,RemoteTasten
1097 0922 9981 ldd r25,Y+1
1098 0924 892B or r24,r25
1099 0926 8093 0000 sts RemoteTasten,r24
1100 092a 81E0 ldi r24,lo8(1)
1101 092c 8093 0000 sts DebugDisplayAnforderung,r24
1102 0930 00C0 rjmp .L143
1103 .L149:
1104 0932 2091 0000 lds r18,AnzahlEmpfangsBytes
1105 0936 43E0 ldi r20,lo8(3)
1106 0938 64E0 ldi r22,lo8(4)
1107 093a 80E0 ldi r24,lo8(MotorTest)
1108 093c 90E0 ldi r25,hi8(MotorTest)
1109 093e 0E94 0000 call Decode64
1110 0942 00C0 rjmp .L143
1111 .L150:
1112 0944 81E0 ldi r24,lo8(1)
1113 0946 8093 0000 sts GetVersionAnforderung,r24
1114 094a 00C0 rjmp .L143
1115 .L145:
1116 094c 81E0 ldi r24,lo8(1)
1117 094e 8093 0000 sts DebugGetAnforderung,r24
1118 0952 00C0 rjmp .L143
1119 .L148:
1120 0954 2091 0000 lds r18,AnzahlEmpfangsBytes
1121 0958 43E0 ldi r20,lo8(3)
1122 095a 62E0 ldi r22,lo8(2)
1123 095c CE01 movw r24,r28
1124 095e 0196 adiw r24,1
1125 0960 0E94 0000 call Decode64
1126 0964 8981 ldd r24,Y+1
1127 0966 8F3F cpi r24,lo8(-1)
1128 0968 01F0 breq .L152
1129 096a 8630 cpi r24,lo8(6)
1130 096c 00F0 brlo .L154
1131 096e 85E0 ldi r24,lo8(5)
1132 0970 8983 std Y+1,r24
1133 .L154:
1134 0972 4AE3 ldi r20,lo8(58)
1135 0974 60E0 ldi r22,lo8(EE_Parameter)
1136 0976 70E0 ldi r23,hi8(EE_Parameter)
1137 0978 8981 ldd r24,Y+1
1138 097a 0E94 0000 call ReadParameterSet
1139 097e 8981 ldd r24,Y+1
1140 0980 2AE3 ldi r18,lo8(58)
1141 0982 40E0 ldi r20,lo8(EE_Parameter)
1142 0984 50E0 ldi r21,hi8(EE_Parameter)
1143 0986 6091 0000 lds r22,MeineSlaveAdresse
1144 098a 00C0 rjmp .L157
1145 .L152:
1146 098c 1091 0000 lds r17,MeineSlaveAdresse
1147 0990 0E94 0000 call GetActiveParamSetNumber
1148 0994 2AE3 ldi r18,lo8(58)
1149 0996 40E0 ldi r20,lo8(EE_Parameter)
1150 0998 50E0 ldi r21,hi8(EE_Parameter)
1151 099a 612F mov r22,r17
1152 .L157:
1153 099c 855B subi r24,lo8(-(75))
1154 099e 0E94 0000 call SendOutData
1155 09a2 00C0 rjmp .L143
1156 .L147:
1157 09a4 2091 0000 lds r18,AnzahlEmpfangsBytes
1158 09a8 43E0 ldi r20,lo8(3)
1159 09aa 6AE3 ldi r22,lo8(58)
1160 09ac 80E0 ldi r24,lo8(EE_Parameter)
1161 09ae 90E0 ldi r25,hi8(EE_Parameter)
1162 09b0 0E94 0000 call Decode64
1163 09b4 8091 0000 lds r24,RxdBuffer+2
1164 09b8 4AE3 ldi r20,lo8(58)
1165 09ba 60E0 ldi r22,lo8(EE_Parameter)
1166 09bc 70E0 ldi r23,hi8(EE_Parameter)
1167 09be 8B56 subi r24,lo8(-(-107))
1168 09c0 0E94 0000 call WriteParameterSet
1169 09c4 8091 0000 lds r24,RxdBuffer+2
1170 09c8 8B56 subi r24,lo8(-(-107))
1171 09ca A0E0 ldi r26,lo8(EEPromArray+2)
1172 09cc B0E0 ldi r27,hi8(EEPromArray+2)
1173 /* #APP */
1174 09ce 082E mov __tmp_reg__,r24
1175 09d0 0E94 0000 call __eeprom_write_byte_1F2021
1176 /* #NOAPP */
1177 09d4 0E94 0000 call GetActiveParamSetNumber
1178 09d8 9927 clr r25
1179 09da 0E94 0000 call Piep
1180 .L143:
1181 09de 1092 0000 sts NeuerDatensatzEmpfangen,__zero_reg__
1182 .L156:
1183 /* epilogue: frame size=2 */
1184 09e2 2296 adiw r28,2
1185 09e4 0FB6 in __tmp_reg__,__SREG__
1186 09e6 F894 cli
1187 09e8 DEBF out __SP_H__,r29
1188 09ea 0FBE out __SREG__,__tmp_reg__
1189 09ec CDBF out __SP_L__,r28
1190 09ee DF91 pop r29
1191 09f0 CF91 pop r28
1192 09f2 1F91 pop r17
1193 09f4 0895 ret
1194 /* epilogue end (size=10) */
1195 /* function BearbeiteRxDaten size 179 (158) */
1197 .global DebugGetAnforderung
1198 .global DebugGetAnforderung
1199 .section .bss
1202 DebugGetAnforderung:
1203 0000 00 .skip 1,0
1204 .global DebugDisplayAnforderung
1205 .global DebugDisplayAnforderung
1208 DebugDisplayAnforderung:
1209 0001 00 .skip 1,0
1210 .global DebugDataAnforderung
1211 .global DebugDataAnforderung
1214 DebugDataAnforderung:
1215 0002 00 .skip 1,0
1216 .global GetVersionAnforderung
1217 .global GetVersionAnforderung
1220 GetVersionAnforderung:
1221 0003 00 .skip 1,0
1222 .global SioTmp
1223 .global SioTmp
1226 SioTmp:
1227 0004 00 .skip 1,0
1228 .global NeuerDatensatzEmpfangen
1229 .global NeuerDatensatzEmpfangen
1232 NeuerDatensatzEmpfangen:
1233 0005 00 .skip 1,0
1234 .global NeueKoordinateEmpfangen
1235 .global NeueKoordinateEmpfangen
1238 NeueKoordinateEmpfangen:
1239 0006 00 .skip 1,0
1240 .global UebertragungAbgeschlossen
1241 .data
1244 UebertragungAbgeschlossen:
1245 0000 01 .byte 1
1246 .global CntCrcError
1247 .global CntCrcError
1248 .section .bss
1251 CntCrcError:
1252 0007 00 .skip 1,0
1253 .global AnzahlEmpfangsBytes
1254 .global AnzahlEmpfangsBytes
1257 AnzahlEmpfangsBytes:
1258 0008 00 .skip 1,0
1259 .global PC_DebugTimeout
1260 .global PC_DebugTimeout
1263 PC_DebugTimeout:
1264 0009 00 .skip 1,0
1265 .global PcZugriff
1266 .data
1269 PcZugriff:
1270 0001 64 .byte 100
1271 .global MotorTest
1272 .global MotorTest
1273 .section .bss
1276 MotorTest:
1277 000a 0000 0000 .skip 4,0
1278 .lcomm dis_zeile.2398,1
1279 .lcomm UartState.2075,1
1280 .lcomm buf_ptr.2074,1
1281 .lcomm crc2.2073,1
1282 .lcomm crc1.2072,1
1283 .lcomm crc.2071,2
1284 .lcomm ptr.2038,2
1285 .lcomm gpsState,1
1286 .comm DiffNick,2,1
1287 .comm DiffRoll,2,1
1288 .comm SenderOkay,1,1
1289 .comm CosinusNickWinkel,1,1
1290 .comm CosinusRollWinkel,1,1
1291 .comm durchschnitt_northing,4,1
1292 .comm durchschnitt_easting,4,1
1293 .comm gps_p,2,1
1294 .comm gps_d,2,1
1295 .comm skal,2,1
1296 .comm SendeBuffer,150,1
1297 .comm RxdBuffer,150,1
1298 .comm MeineSlaveAdresse,1,1
1299 .comm Debug_Timer,2,1
1300 .comm DebugOut,50,1
1301 .comm actualPos,34,1
1302 .comm DebugIn,11,1
1303 .comm VersionInfo,10,1
1304 .comm RemoteTasten,1,1
1305 .comm Timeout,1,1
1306 .comm IntegralNick,4,1
1307 .comm IntegralNick2,4,1
1308 .comm IntegralRoll,4,1
1309 .comm IntegralRoll2,4,1
1310 .comm Mess_IntegralNick,4,1
1311 .comm Mess_IntegralNick2,4,1
1312 .comm Mess_IntegralRoll,4,1
1313 .comm Mess_IntegralRoll2,4,1
1314 .comm Integral_Gier,4,1
1315 .comm Mess_Integral_Gier,4,1
1316 .comm h,1,1
1317 .comm m,1,1
1318 .comm s,1,1
1319 .comm Motor_Vorne,1,1
1320 .comm Motor_Hinten,1,1
1321 .comm Motor_Rechts,1,1
1322 .comm Motor_Links,1,1
1323 .comm Count,1,1
1324 .comm MotorWert,5,1
1325 .comm StickNick,2,1
1326 .comm StickRoll,2,1
1327 .comm StickGier,2,1
1328 .comm MotorenEin,1,1
1329 .comm NMEABuffer,150,1
1330 .comm navStatus,17,1
1331 .comm navPosLlh,29,1
1332 .comm navPosUtm,19,1
1333 .comm navVelNed,37,1
1334 .comm ubxP,2,1
1335 .comm ubxEp,2,1
1336 .comm ubxSp,2,1
1337 .comm CK_A,1,1
1338 .comm CK_B,1,1
1339 .comm msgLen,2,1
1340 .comm msgID,1,1
1341 .comm ignorePacket,1,1
1342 .comm rollOffset,4,1
1343 .comm nickOffset,4,1
1344 /* File "uart.c": code 1286 = 0x0506 (1183), prologues 49, epilogues 54 */
DEFINED SYMBOLS
*ABS*:00000000 uart.c
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:13 .text:00000000 __vector_22
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1244 .data:00000000 UebertragungAbgeschlossen
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1283 .bss:00000015 ptr.2038
*COM*:00000096 SendeBuffer
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:69 .text:0000006c GPSscanData
*COM*:00000011 navStatus
*COM*:00000022 actualPos
*COM*:00000013 navPosUtm
*COM*:0000001d navPosLlh
*COM*:00000025 navVelNed
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:162 .text:00000174 __vector_20
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1226 .bss:00000004 SioTmp
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1284 .bss:00000017 gpsState
*COM*:00000001 msgID
*COM*:00000001 CK_A
*COM*:00000001 CK_B
*COM*:00000002 ubxP
*COM*:00000002 ubxEp
*COM*:00000002 ubxSp
*COM*:00000001 ignorePacket
*COM*:00000002 msgLen
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1279 .bss:00000010 buf_ptr.2074
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1278 .bss:0000000f UartState.2075
*COM*:00000096 RxdBuffer
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1282 .bss:00000013 crc.2071
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1281 .bss:00000012 crc1.2072
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1280 .bss:00000011 crc2.2073
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1251 .bss:00000007 CntCrcError
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1232 .bss:00000005 NeuerDatensatzEmpfangen
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1257 .bss:00000008 AnzahlEmpfangsBytes
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:601 .text:0000057c AddCRC
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:655 .text:000005d8 SendOutData
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:769 .text:000006a8 Decode64
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:869 .text:00000758 uart_putchar
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:893 .text:0000077a WriteProgramData
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:903 .text:0000077c UART_Init
*COM*:00000002 Debug_Timer
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:936 .text:000007b6 DatenUebertragung
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1202 .bss:00000000 DebugGetAnforderung
*COM*:0000000b DebugIn
*COM*:00000001 MeineSlaveAdresse
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1214 .bss:00000002 DebugDataAnforderung
*COM*:00000032 DebugOut
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1208 .bss:00000001 DebugDisplayAnforderung
.bss:0000000e dis_zeile.2398
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1220 .bss:00000003 GetVersionAnforderung
*COM*:0000000a VersionInfo
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1031 .text:00000892 BearbeiteRxDaten
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1269 .data:00000001 PcZugriff
*COM*:00000001 RemoteTasten
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1276 .bss:0000000a MotorTest
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1238 .bss:00000006 NeueKoordinateEmpfangen
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccOcl7nO.s:1263 .bss:00000009 PC_DebugTimeout
*COM*:00000002 DiffNick
*COM*:00000002 DiffRoll
*COM*:00000001 SenderOkay
*COM*:00000001 CosinusNickWinkel
*COM*:00000001 CosinusRollWinkel
*COM*:00000004 durchschnitt_northing
*COM*:00000004 durchschnitt_easting
*COM*:00000002 gps_p
*COM*:00000002 gps_d
*COM*:00000002 skal
*COM*:00000001 Timeout
*COM*:00000004 IntegralNick
*COM*:00000004 IntegralNick2
*COM*:00000004 IntegralRoll
*COM*:00000004 IntegralRoll2
*COM*:00000004 Mess_IntegralNick
*COM*:00000004 Mess_IntegralNick2
*COM*:00000004 Mess_IntegralRoll
*COM*:00000004 Mess_IntegralRoll2
*COM*:00000004 Integral_Gier
*COM*:00000004 Mess_Integral_Gier
*COM*:00000001 h
*COM*:00000001 m
*COM*:00000001 s
*COM*:00000001 Motor_Vorne
*COM*:00000001 Motor_Hinten
*COM*:00000001 Motor_Rechts
*COM*:00000001 Motor_Links
*COM*:00000001 Count
*COM*:00000005 MotorWert
*COM*:00000002 StickNick
*COM*:00000002 StickRoll
*COM*:00000002 StickGier
*COM*:00000001 MotorenEin
*COM*:00000096 NMEABuffer
*COM*:00000004 rollOffset
*COM*:00000004 nickOffset
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__divmodsi4
SetDelay
CheckDelay
Menu
DisplayBuff
EE_Parameter
ReadParameterSet
GetActiveParamSetNumber
WriteParameterSet
EEPromArray
__eeprom_write_byte_1F2021
Piep