/branches/V0.60_Kompass_Name/GPS.c |
---|
0,0 → 1,30 |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Copyright (c) 04.2007 Holger Buss |
// + only for non-profit use |
// + www.MikroKopter.com |
// + see the File "License.txt" for further Informations |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
#include "main.h" |
signed int GPS_Nick = 0; |
signed int GPS_Roll = 0; |
long GpsAktuell_X = 0; |
long GpsAktuell_Y = 0; |
long GpsZiel_X = 0; |
long GpsZiel_Y = 0; |
void GPS_Neutral(void) |
{ |
GpsZiel_X = GpsAktuell_X; |
GpsZiel_Y = GpsAktuell_Y; |
} |
void GPS_BerechneZielrichtung(void) |
{ |
GPS_Nick = 0; |
GPS_Roll = 0; |
} |
/branches/V0.60_Kompass_Name/Hex-Files/BootLoader_MEGA644_20MHZ_V0_1.hex |
---|
0,0 → 1,1407 |
:100000000C94C1010C94DC010C94DC010C94DC0117 |
:100010000C94DC010C94DC010C94DC010C94DC01EC |
:100020000C94DC010C94DC010C94DC010C94920A1D |
:100030000C944F130C94DC010C94DC010C94DC0147 |
:100040000C94DC010C94DC010C94C2090C94DC01CE |
:100050000C949C030C94DC010C9466030C94DC015E |
:100060000C94C90A0C94DC010C946E120C94DC0103 |
:100070000A0D466C69676874436F6E74726F6C200A |
:100080005625642E256420000A0D3D3D3D3D3D3D35 |
:100090003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D90 |
:1000A0003D3D3D3D3D3D3D3D000A0D496E69742E8F |
:1000B00020454550524F4D3A2047656E657269653F |
:1000C00072652044656661756C742D506172616D56 |
:1000D000657465722E2E2E000A0D42656E75747A57 |
:1000E0006520506172616D657465727361747A2008 |
:1000F0002564000A0D4162676C65696368204C7570 |
:100100006674647275636B73656E736F722E2E0006 |
:100110004F4B0A0D000A0D537465756572756E6755 |
:100120003A200048656164696E67486F6C64004EF0 |
:1001300065757472616C000A0A0D002E005B2569FA |
:100140005D002B2B204D696B726F4B6F7074657265 |
:10015000202B2B005625642E25640053657474698A |
:100160006E673A202564200028632920486F6C6759 |
:100170006572204275737300486F6568653A202088 |
:1001800020202025356900536F6C6C486F656865C9 |
:100190003A20253569004C756674647275636B3A54 |
:1001A00020253569004F66662020202020203A2037 |
:1001B000253569004B65696E65200048F668656EF7 |
:1001C000726567656C756E6700616B742E204C619B |
:1001D0006765004E69636B3A20202020202025357A |
:1001E0006900526F6C6C3A20202020202025356950 |
:1001F000004B6F6D706173733A20202025356900C4 |
:100200004B313A25346920204B323A25346920009D |
:100210004B333A25346920204B343A253469200089 |
:100220004B353A25346920204B363A253469200075 |
:100230004B373A25346920204B616EE46C65200011 |
:100240004E693A2534692020526F3A2534692000DE |
:1002500047733A253469202047693A2534692000DC |
:1002600050313A253469202050323A253469200033 |
:1002700050333A25346920204B616EE46C652000D0 |
:100280004779726F202D2053656E736F72004E692F |
:10029000636B2025346920282533692900526F6C4F |
:1002A0006C20253469202825336929004769657247 |
:1002B0002025346920282533692900414343202D16 |
:1002C0002053656E736F72004E69636B202534692D |
:1002D00020282533692900526F6C6C202534692051 |
:1002E000282533692900486F636820253469202850 |
:1002F00025336929005370616E6E756E673A202050 |
:1003000025356900456D70662E506567656C3A2528 |
:100310003569004B6F6D70617373202020202020A1 |
:1003200020005269636874756E673A20202535692C |
:10033000004D657373776572743A20202535690026 |
:1003400053746172743A20202020202535690050B2 |
:100350006F74697765727465202020202000506FCB |
:100360007469313A202025336900506F7469323A3C |
:10037000202025336900506F7469333A20202533DB |
:10038000690011241FBECFEFD0E1DEBFCDBF11E069 |
:10039000A0E0B1E0EAEDF2E502C005900D92A838C8 |
:1003A000B107D9F715E0A8E8B1E001C01D92AE3061 |
:1003B000B107E1F70C940F020C940000FB018630AA |
:1003C00008F085E0489FD0011124AC59BF4F842F1D |
:1003D0009927019724F00E9459290192FACF089594 |
:1003E000282FFB01863008F025E0429FD001112420 |
:1003F000AC59BF4F842F9927019724F001900E9498 |
:100400006129FACFA2E0B0E0022E0E94612908958E |
:10041000A2E0B0E00E945929802D99270895CFEFDE |
:10042000D0E1DEBFCDBF91E097B98FEF88B98BE106 |
:1004300084B995B98EE38AB987EF8BB984B7877F82 |
:1004400084BF80916000886180936000109260009A |
:1004500080ED97E09093A00180939F011092D501C9 |
:100460001092D4011092A00410929F041092D70110 |
:100470001092D6011092D9011092D80128980E94AA |
:100480005F0A0E9451060E943A130E949C0A0E9431 |
:10049000541278941092AE038AE38093AF0383E002 |
:1004A0008093B0038AE390E09F938F931F921F92F3 |
:1004B00080E790E09F938F931F920E9438078DB73B |
:1004C0009EB707960FB6F8949EBF0FBE8DBF88E803 |
:1004D00090E09F938F931F920E943807299A0F9064 |
:1004E0000F900F90C1E0D0E0DE010E945929802DCD |
:1004F000823129F189EA90E09F938F931F920E94A5 |
:1005000038070E941A1910E00F900F900F901230C8 |
:1005100011F40E94751941E367EC74E0812F0E9489 |
:10052000F0011F5F163098F3A2E0B0E081E0082EE2 |
:100530000E94612982E1DE01082E0E9461290E9449 |
:10054000080241E367EC74E00E94DE010E940802A9 |
:1005500099279F938F9388ED90E09F938F931F929D |
:100560000E9438078091CE040F900F900F900F904B |
:100570000F9080FF20C083EF90E09F938F931F9296 |
:100580000E94380784EC99E00E94560AEC010E9410 |
:10059000A20A0F900F900F90CE010E94790A882333 |
:1005A000D9F380E191E09F938F931F920E943807C7 |
:1005B0000F900F900F900E944A15289880ED97E0B9 |
:1005C0009093A00180939F0188EE93E09093A903FC |
:1005D0008093A80385E58093A30385E191E09F9331 |
:1005E0008F931F920E9438078091CE040F900F9036 |
:1005F0000F9082FF03C083E291E002C08FE291E09E |
:100600009F938F931F920E9438070F900F900F9027 |
:1006100087E391E09F938F931F920E9438070E9477 |
:100620002C0E0F900F900F908091A3018823A1F1C1 |
:100630001092A3010E94191B0E94D3182898809140 |
:100640000001882319F08150809300018091DA0124 |
:10065000882329F08091DA0181508093DA0180911A |
:10066000DE04282F33278091090190910A01821717 |
:10067000930754F480910001882331F480ED97E0D2 |
:100680009093A00180939F0180912902882319F4FF |
:100690000E94541201C028980E946F060E9486058D |
:1006A00080E090E00E94790A882309F4BDCF809110 |
:1006B000D301882329F088B190E1892788B901C046 |
:1006C000449884EF91E00E94560AAECF1F920F9299 |
:1006D0000FB60F9211248F939F93EF93FF93809106 |
:1006E00001018823E1F48091960190919701019690 |
:1006F0009093970180939601FC01EB58FD4FE081A8 |
:10070000ED3019F08639910539F410929701109265 |
:10071000960181E080930101E093C60004C010922D |
:10072000970110929601FF91EF919F918F910F90F9 |
:100730000FBE0F901F9018951F920F920FB60F9239 |
:1007400011242F933F934F935F938F939F93AF9376 |
:10075000BF93EF93FF9390E08091C6008093910147 |
:1007600050919C01563910F090939D018091910118 |
:100770008D3009F05FC080919D01823009F05AC030 |
:1007800090939D01852F992788549C4FFC013297A7 |
:1007900040812091980130919901241B3109DC019D |
:1007A00011978C91281B3109C9019F709093990171 |
:1007B0008093980146E0969587954A95E1F7982FA2 |
:1007C000935C90939A012F733070235C20939B016C |
:1007D0008081981729F48C91281711F491E006C0B4 |
:1007E00090E080918E018F5F80938E0180919001C7 |
:1007F000882309F06EC0992309F46BC081E08093CF |
:10080000900150938D01E52FFF27E854FC4F8DE0B8 |
:1008100080838091BA03823509F05BC088E190E063 |
:100820002CE00FB6F894A895809360000FBE20933B |
:1008300060004FC020919D01822F99278130910542 |
:10084000F9F0823091051CF4892B21F040C0029709 |
:1008500011F13DC080919101833239F48091900172 |
:10086000882319F481E080939D0180919101809308 |
:10087000B80381E080939C0180919101992722C067 |
:100880002F5F20939D01E52FFF27E854FC4F8091B7 |
:100890009101808309C0E52FFF27E854FC4F809128 |
:1008A00091018083563920F45F5F50939C0102C010 |
:1008B00010929D0120919101809198019091990150 |
:1008C000820F911D909399018093980102C010921C |
:1008D0009D01FF91EF91BF91AF919F918F915F919A |
:1008E0004F913F912F910F900FBE0F901F90189531 |
:1008F000AC01A0E0B0E09D01A817B90748F4E5E716 |
:10090000F2E08191280F311D1196A417B507C8F3A5 |
:100910003F70FD01EB58FD4FC90156E09695879554 |
:100920005A95E1F7835C80831196FD01EB58FD4FEA |
:100930002F733070822F835C8083AA58BD4F8DE067 |
:100940008C9310920101809175028093C6000895E6 |
:100950001F93CF93DF93382FEA01722F10E083E2C9 |
:10096000809375026093760230937702A3E0B0E043 |
:10097000772309F458C0772311F4972F07C0FE019D |
:10098000E10FF11D1F5F9081715011F4472F0EC0D0 |
:10099000FE01E10FF11D1F5F4081715039F0FE0132 |
:1009A000E10FF11D1F5F6081715001C0672FFD01D4 |
:1009B000EB58FD4F892F86958695835C8083119631 |
:1009C000FD01EB58FD4F892F99278370907024E02B |
:1009D000880F991F2A95E1F755279A0194E03695DB |
:1009E00027959A95E1F7822B835C80831196FD0110 |
:1009F000EB58FD4F4F705070440F551F440F551F5B |
:100A0000862F992726E0969587952A95E1F7842BDE |
:100A1000835C80831196FD01EB58FD4F6F73635C1F |
:100A200060831196A5CFCD010E947804DF91CF910C |
:100A30001F9108951F93CF93DF93EC0110E066237D |
:100A400009F460C0A22FBB271297E42FFF27E854B8 |
:100A5000FC4F30813D534F5FE42FFF27E854FC4F9C |
:100A600050815D534F5FE42FFF27E854FC4F7081A6 |
:100A70007D534F5FE42FFF27E854FC4FE081ED5397 |
:100A80004F5F842F9927A817B907E4F1832F99277F |
:100A9000880F991F880F991F352F32953F70382B7B |
:100AA000852F99278F709070F4E0880F991FFA9521 |
:100AB000E1F7572F56955695582B872F9927837016 |
:100AC000907076E0880F991F7A95E1F78E2B615030 |
:100AD0006F3FC1F0FE01E10FF11D30831F5F6150D8 |
:100AE0006F3F81F0FE01E10FF11D50831F5F6150E8 |
:100AF0006F3F41F0FE01E10FF11D80831F5F662310 |
:100B000009F0A3CFDF91CF911F910895CF93DF9389 |
:100B1000CDB7DEB72B970FB6F894DEBF0FBECDBFB3 |
:100B200080919001882309F4A1C08FEF8093000188 |
:100B30008091BA039927813791059CF48C369105F1 |
:100B40000CF075C08736910509F44BC088369105C5 |
:100B500024F48336910599F087C08836910511F108 |
:100B600083C08437910581F18537910524F481375D |
:100B70009105D9F179C08637910579F175C0209139 |
:100B80008D0143E06BE083EA93E00E941A058091B7 |
:100B9000C1019091A503892B8093C10181E08093CD |
:100BA000930162C020918D0143E062E0CE010A967C |
:100BB0000E941A058091C1019A85892B8093C101F9 |
:100BC00081E08093940150C020918D0143E064E066 |
:100BD00088E891E00E941A0547C081E08093920165 |
:100BE00043C081E0809395013FC020918D0143E097 |
:100BF00062E0CE010A960E941A058A858F3F61F055 |
:100C0000863010F085E08A8741E367EC74E08A85DE |
:100C10000E94DE018A8502C00E94080221E347EC9F |
:100C200054E060917402855B0E94A8041DC020916D |
:100C30008D0143E061E387EC94E00E941A05809106 |
:100C4000BA0341E367EC74E08B560E94F001A2E026 |
:100C5000B0E08091BA038B56082E0E9461290E9451 |
:100C6000080299270E940114109290012B960FB64A |
:100C7000F894DEBF0FBECDBFDF91CF910895CF9323 |
:100C8000C82F8A3019F48DE00E943F068091C00081 |
:100C900085FFFCCFC093C60080E090E0CF9108951F |
:100CA000089588E18093C1008091C00082608093A4 |
:100CB000C0008091C10080688093C1008091C10014 |
:100CC00080648093C1008AE28093C40088EC90E045 |
:100CD0000E94560A9093A2038093A10308958091E5 |
:100CE0000101882309F469C080919501882371F07E |
:100CF00080910101882351F02BE043EA53E0609199 |
:100D0000740287E40E94A804109295018091A103C7 |
:100D10009091A2030E94790A882321F48091930183 |
:100D20008823B1F080910101882391F022E34EE401 |
:100D300054E06091740284E40E94A804109293012C |
:100D400088EA91E60E94560A9093A2038093A10339 |
:100D5000809194018823F9F0809101018823D9F0D2 |
:100D60000E94350E1092940180919E018F5F8093B6 |
:100D70009E01843011F410929E0130919E0124E175 |
:100D8000329FC0011124855F9E4FAC0160E0832F2C |
:100D9000805D0E94A80480919201882371F0809167 |
:100DA0000101882351F02AE04EEA53E06091740279 |
:100DB00086E50E94A804109292010895982F8091D0 |
:100DC0008004813069F48091C201E82FFF27E55F3C |
:100DD000FE4F90838F5F8093C20121E030E005C019 |
:100DE000892F0E943F06282F3327C90108950F93AA |
:100DF0001F93CF93DF938C01EB01672B39F0F80140 |
:100E000081918F010E94DE062197C9F7DF91CF9172 |
:100E10001F910F9108950F931F93CF93DF938C0130 |
:100E2000EB01672B41F0F8010F5F1F4F84910E9487 |
:100E3000DE062197C1F7DF91CF911F910F910895A1 |
:100E4000CF93C82F181634F480E20E94DE06C150FA |
:100E50001C16D4F3CF910895CF93C82F181634F4ED |
:100E600080E30E94DE06C1501C16D4F3CF91089592 |
:100E70002F923F924F925F926F927F928F929F92AA |
:100E8000AF92BF92CF92DF92EF92FF920F931F9398 |
:100E9000CF93DF93CDB7DEB7E0970FB6F894DEBF00 |
:100EA0000FBECDBF26968FAD26972896EEADFFAD2F |
:100EB00028971CA61DA61EA61FA680938004A8E442 |
:100EC0006A2E712C6C0E7D1E5F01C50105C00532B6 |
:100ED00039F00894A11CB11CF50104910023B9F765 |
:100EE000B501681B790B11F00E940B07002309F470 |
:100EF00030C20894A11CB11C552458AA252C1FEF00 |
:100F000059A6F5010894A11CB11C0491053721F0E4 |
:100F1000802F80628837F1F450FE0EC0F30124E088 |
:100F200030E0620E731E80819181A281B3818CA713 |
:100F30009DA7AEA7BFA70EC0F301A2E0B0E06A0E66 |
:100F40007B1E808191819C01442755272CA73DA7BA |
:100F50004EA75FA7003221F489A5882391F61BC014 |
:100F6000033211F438E081C00A3211F00D3289F4F5 |
:100F70000A3251F4F30142E050E0640E751E208005 |
:100F800022200CF0BECF219450E1552A8FED58223B |
:100F9000B8CF0B3211F409A7B4CF0E32C1F5F50169 |
:100FA0000894A11CB11C04910A3279F4F301A2E067 |
:100FB000B0E06A0E7B1E60817181BFEF6F3F7B07DF |
:100FC00014F46FEF7FEF162F9CCF60E070E0802F5E |
:100FD00080538A30A0F4CB01F3E0880F991FFA9573 |
:100FE000E1F7860F971F680F791F600F711D60531F |
:100FF0007040F5010894A11CB11C0491E8CFEFEFFB |
:101000006F3F7E0714F46FEF7FEF162F7FCF003313 |
:1010100029F454FC76CFF0E25F2A73CF802F8153FE |
:101020008930D8F460E070E0CB01E3E0880F991FCD |
:10103000EA95E1F7860F971F680F791F600F711D02 |
:1010400060537040F5010894A11CB11C0491802FDD |
:1010500080538A3048F3262E59CF083619F424E0FD |
:10106000522A4FCF0C3619F431E0532A4ACF0336B7 |
:1010700061F44E010894811C911CF30142E050E0A0 |
:10108000640E751E808189831BC1043421F00436EF |
:1010900011F00936B1F5043411F451E0552A50FE2F |
:1010A0000AC0F30184E090E0680E791E208131814E |
:1010B000428153810CC0F30142E050E0640E751E82 |
:1010C000808191819C01442737FD4095542F2CA7A6 |
:1010D0003DA74EA75FA78CA59DA5AEA5BFA5B7FF51 |
:1010E0000DC0B095A095909581959F4FAF4FBF4F84 |
:1010F0008CA79DA7AEA7BFA78DE289A77AE0472E50 |
:101100007BC00F3411F00F3639F40F3411F491E035 |
:10111000592A68E0462E6FC00037A1F4F301A2E01F |
:10112000B0E06A0E7B1E808191819C014427552787 |
:101130002CA73DA74EA75FA750E1452E30E4532AC8 |
:1011400008E759C00337C1F5F30142E050E0640EEF |
:10115000751E808091808114910489F44E01089459 |
:10116000811C911C88E289838EE6F401818385E7E6 |
:101170008B838CE68C838D8389E28E831F8217FD9F |
:1011800013C0812F992787FD9095AC0160E070E036 |
:10119000C4010E946127009729F0D82ED8181D1588 |
:1011A0000CF090C0D12E8EC0F40101900020E9F720 |
:1011B0003197DE2ED81886C0053511F0053739F481 |
:1011C000053511F4F1E05F2A4AE0442E14C00835D9 |
:1011D00019F0083709F06CC030E1432E53FE0BC004 |
:1011E0002CA53DA54EA55FA521153105410551054D |
:1011F00011F030E4532A19A618AB17FD02C04FEDC9 |
:10120000542229E2822E912C8C0E9D1E8CA59DA528 |
:10121000AEA5BFA50097A105B10521F498A9992312 |
:1012200009F43FC0C42CDD24EE24FF2433242CA574 |
:101230003DA54EA55FA52C153D054E055F0510F09B |
:1012400091E0392E6CA57DA58EA59FA5A7019601DD |
:101250000E941C29DC01CB01182F8A3010F4105D8C |
:1012600004C0195A083509F41F7DD4011E934D019D |
:101270006CA57DA58EA59FA5A70196010E941C299E |
:101280002CA73DA74EA75FA7332081F6B8E04B16E9 |
:1012900041F453FE06C0103321F080E3F401829341 |
:1012A0004F01CE010196D82ED818F8E2DF0E0BC000 |
:1012B000002309F44EC04E010894811C911C09833F |
:1012C00081E0D82E19A61D2DC8A8CD18C7FCCC24A6 |
:1012D00089A5882311F01F5F02C056FC1E5F1C0DFC |
:1012E000E52CFF24C70180739070892B21F4822D97 |
:1012F000811B0E94200789A5882329F061E070E006 |
:10130000CE01899609C0E6FE09C080E38AA70BA733 |
:1013100062E070E0CE018A960E94F706C7018073F2 |
:101320009070809721F4822D811B0E942C078C2DB8 |
:101330000E942C078D2D992787FD9095BC01C40133 |
:101340000E94F706E4FEC1CD822D811B0E9420077A |
:10135000BCCDE0960FB6F894DEBF0FBECDBFDF91D7 |
:10136000CF911F910F91FF90EF90DF90CF90BF90A2 |
:10137000AF909F908F907F906F905F904F903F9035 |
:101380002F9008951F920F920FB60F9211242F9352 |
:101390003F935F936F937F938F939F93AF93BF938D |
:1013A0008091A60181508093A6018F3F01F589E0CD |
:1013B0008093A601809102018F5F8170809302016A |
:1013C000882319F481E08093A3018091A401909176 |
:1013D000A50101969093A5018093A4018091290213 |
:1013E000882329F0809129028150809329028091DD |
:1013F0009F019091A001029758F080919F019091D8 |
:10140000A00101979093A00180939F015A9A01C077 |
:101410005A988091CE0483FF3BC0349B0AC08091D0 |
:10142000A1019091A20101969093A2018093A10144 |
:101430002FC08091A1019091A201892B79F0809118 |
:10144000A1019091A201805A9F4040F48091A10196 |
:101450009091A2019093E8018093E7018091E701C8 |
:101460009091E8012091E5013091E601821B930BF8 |
:10147000845E9D4F68E671E00E940929845B90407C |
:101480009093E4018093E3011092A2011092A101D4 |
:10149000BF91AF919F918F917F916F915F913F919C |
:1014A0002F910F900FBE0F901F9018952091A401BF |
:1014B0003091A501280F391FC901019608958AE0CE |
:1014C00090E00E94560A9093A8018093A70182E0C1 |
:1014D00085BD83EA84BD17BC88E788BD86E086BDEC |
:1014E00087E08093B10080916E00816080936E00F0 |
:1014F00008952091A4013091A501821B930B892F9F |
:1015000099278695807490700895CF93DF930E94F9 |
:10151000560AEC01CE010E94790A8823D9F3DF91A3 |
:10152000CF9108951F920F920FB60F9211240F9032 |
:101530000FBE0F901F90189510927C008FEE809335 |
:101540007A000895CF93DF93C0E0D0E0C7BD82E377 |
:1015500090E00E94850A8BE391E09F938F931F9206 |
:101560000E94380780910301909104010F900F9021 |
:101570000F908458934020F02196CA3FD10530F354 |
:10158000C0938E0488EC90E00E94850ADF91CF9191 |
:1015900008951F920F920FB60F921124EF92FF92AF |
:1015A0000F931F932F933F934F935F936F937F936B |
:1015B0008F939F93AF93BF93CF93DF93EF93FF935B |
:1015C00010927A008091C001682F77278F5F8093F7 |
:1015D000C0016330710509F424C1643071055CF405 |
:1015E0006130710509F46BC0623071050CF0C0C048 |
:1015F000672B91F00FC36530710509F452C1653056 |
:1016000071050CF429C16630710509F470C16730A9 |
:10161000710509F47FC2FEC2609123027091240219 |
:101620008091780090917900681B790B8091B901C5 |
:101630009091BA01860F971F9093BA018093B901D8 |
:101640008091B0018F5F8093B0019B01442737FDEB |
:101650004095542F8091F1019091F201A091F301F6 |
:10166000B091F401820F931FA41FB51F8093F10165 |
:101670009093F201A093F301B093F4018091ED01F6 |
:101680009091EE01A091EF01B091F001820F931FB4 |
:10169000A41FB51F8093ED019093EE01A093EF017D |
:1016A000B093F00181E08093BF018091A9019091F6 |
:1016B000AA0101969093AA018093A901AFC26091FB |
:1016C0007800709179008091250290912602681B24 |
:1016D000790B9B01442737FD4095542F8091F901E8 |
:1016E0009091FA01A091FB01B091FC01820F931F30 |
:1016F000A41FB51F8093F9019093FA01A093FB01F9 |
:10170000B093FC018091F5019091F601A091F70151 |
:10171000B091F801820F931FA41FB51F8093F501AC |
:101720009093F601A093F701B093F80180917800AF |
:10173000909179000A9710F464E47DEF809178002D |
:1017400090917900895E934010F06CEB72E080918B |
:10175000BB019091BC01860F971F9093BC018093B1 |
:10176000BB018091B1018F5F8093B10182E096C08F |
:101770006091780070917900809127029091280201 |
:10178000681B790B9B01442737FD4095542F8091AE |
:10179000010290910202A0910302B0910402820F13 |
:1017A000931FA41FB51F8093010290930202A09380 |
:1017B0000302B09304028091FD019091FE01A0917B |
:1017C000FF01B0910002820F931FA41FB51F8093E9 |
:1017D000FD019093FE01A093FF01B0930002809160 |
:1017E0007800909179000A9710F464E47DEF80917D |
:1017F000780090917900895E934010F06CEB72E074 |
:101800008091BD019091BE01860F971F9093BE01FC |
:101810008093BD018091B2018F5F8093B20184E01B |
:101820003DC08091090190910A019C01220F331F54 |
:10183000280F391F80917800909179000E94F52837 |
:10184000260F371F369527953695279530930A0131 |
:101850002093090186E022C080911F02909120020E |
:101860002091780030917900821B930B9093820431 |
:10187000809381048091B7019091B80120918104F7 |
:1018800030918204820F931F9093B8018093B70127 |
:101890008091AE018F5F8093AE0187E08093BF019E |
:1018A000BDC1809178009091790020912102309102 |
:1018B0002202821B930B9093820480938104809177 |
:1018C000B5019091B6012091810430918204820F7C |
:1018D000931F9093B6018093B5018091AF018F5F04 |
:1018E0008093AF0185E08093BF0186E010C18091B5 |
:1018F000780090917900AA2797FDA095BA2FBC0196 |
:10190000CD010E9414287B018C0180911B029091D3 |
:101910001C02A0911D02B0911E029C01AD01C801E4 |
:10192000B7010E946E27DC01CB01BC01CD010E94F2 |
:10193000F727DC01CB019093B4018093B301809130 |
:10194000810490918204809181049091820497FF98 |
:1019500003C0909581959F4F97FD0396AC015595D7 |
:1019600047955595479580918C0490918D04809171 |
:101970008C0490918D0497FF03C0909581959F4FA3 |
:101980009C0197FF02C02D5F3F4F359527953595F8 |
:101990002795240F351F8091B3019091B401820FD8 |
:1019A000931F9093B4018093B3018091B301909100 |
:1019B000B401029724F180911B0290911C02A09126 |
:1019C0001D02B0911E0220E030E048E454E4BC0166 |
:1019D000CD010E941E2888230CF044C080911B0278 |
:1019E00090911C02A0911D02B0911E022AE037EDD9 |
:1019F00043EA5CE3BC01CD010E946F2729C08091BE |
:101A0000B3019091B4018F5F9F4F64F580911B02E9 |
:101A100090911C02A0911D02B0911E0220E030E0C6 |
:101A200046E154E4BC01CD010E9421281816D4F4EB |
:101A300080911B0290911C02A0911D02B0911E0288 |
:101A40002AE037ED43EA5CE3BC01CD010E946E273A |
:101A5000DC01CB0180931B0290931C02A0931D021A |
:101A6000B0931E0281E08093AD0180917800909147 |
:101A7000790090938404809383048091B3019091C2 |
:101A8000B4019C01442737FD4095542F8091E90112 |
:101A90009091EA01A091EB01B091EC01820F931FAC |
:101AA000A41FB51F8093E9019093EA01A093EB0175 |
:101AB000B093EC012091E9013091EA014091EB01F2 |
:101AC0005091EC0157FF04C021503C4F4F4F5F4FE6 |
:101AD0007AE055954795379527957A95D1F7809176 |
:101AE000E9019091EA01A091EB01B091EC01821B18 |
:101AF000930BA40BB50B8093E9019093EA01A0939B |
:101B0000EB01B093EC0183E08093BF0187E0809309 |
:101B1000C00184C08091910490919204209178003A |
:101B200030917900820F931F9093920480939104D7 |
:101B3000809189048F5F8093890480918904853026 |
:101B400008F468C080917800909179009093040126 |
:101B500080930301109289048091850490918604FA |
:101B60002091910430919204821B930B2091D1011A |
:101B70003091D201821B930B9093AC018093AB0107 |
:101B80008091910490919204EC01EE27D7FDE095AD |
:101B9000FE2F2091050130910601409107015091DF |
:101BA0000801DA01C901880F991FAA1FBB1F820F04 |
:101BB000931FA41FB51FC80FD91FEA1FFB1FF7FFF4 |
:101BC00003C02396E11DF11D82E0F595E795D795B9 |
:101BD000C7958A95D1F7C0930501D0930601E0938C |
:101BE0000701F09308018091050190910601A091F1 |
:101BF0000701B09108019C018091850490918604B1 |
:101C0000821B930B9093D2018093D1011092920486 |
:101C1000109291041092BF011092C0018091BF01F7 |
:101C200080937C008FEE80937A00FF91EF91DF919B |
:101C3000CF91BF91AF919F918F917F916F915F9164 |
:101C40004F913F912F911F910F91FF90EF900F9027 |
:101C50000FBE0F901F90189590E2EBE0F1E08FE43B |
:101C60009193815087FFFCCF08951F93CF93DF930B |
:101C70008091C10180FF0CC08091C501882311F0C3 |
:101C8000815002C0809165018093C5010E942C0E95 |
:101C90008091C10181FF07C08091C5018F5F809352 |
:101CA000C5010E942C0E8091C101992780FF04C0BC |
:101CB00081FF02C01092C50181E18093C201809131 |
:101CC000C50199279F938F938DE391E09F938F9305 |
:101CD00011E01F930E9438070F900F900F900F9004 |
:101CE0000F908091C501C82FDD27C430D10509F4BC |
:101CF000A5C1C530D10594F4C130D10509F463C044 |
:101D0000C230D1051CF4209701F1C3C3C230D10504 |
:101D100009F4C1C0239709F42CC1BBC3C730D10556 |
:101D200009F409C3C830D10544F4C530D10509F41C |
:101D300014C2269709F480C2ACC3C830D10509F497 |
:101D40001AC3299709F459C3A4C31092C20182E4AB |
:101D500091E09F938F931F930E94380784E18093B3 |
:101D6000C2010F900F900F908AE390E09F938F93A2 |
:101D7000DF93CF9384E591E09F938F931F930E940D |
:101D8000380788E28093C2018DB79EB707960FB6D9 |
:101D9000F8949EBF0FBE8DBF0E94080299279F93A3 |
:101DA0008F938BE591E09F938F931F930E94380749 |
:101DB0008CE38093C2010F900F900F900F900F90C3 |
:101DC00088E691E05FC08091CE0480FF49C0109208 |
:101DD000C2018091D1019091D2019F938F9388E7A6 |
:101DE00091E09F938F931F930E94380784E1809323 |
:101DF000C2010F900F900F900F900F908091CF0124 |
:101E00009091D0019F938F9387E891E09F938F9358 |
:101E10001F930E94380788E28093C2010F900F90B1 |
:101E20000F900F900F9080910301909104019F9368 |
:101E30008F9386E991E09F938F931F930E943807B9 |
:101E40008CE38093C2010F900F900F900F900F9032 |
:101E500080918E0499279F938F9385EA91E00EC31A |
:101E600084E18093C20184EB91E09F938F931F9351 |
:101E70000E94380788E28093C2010F900F900F9064 |
:101E80008BEB91E09F938F931F930E9438070F90E5 |
:101E90000F900F9003C31092C20189EC91E09F93C1 |
:101EA0008F931F930E94380784E18093C2010F90A3 |
:101EB0000F900F908091150290911602A091170239 |
:101EC000B0911802B7FF04C081509C4FAF4FBF4F75 |
:101ED0003AE0B595A795979587953A95D1F7BF9331 |
:101EE000AF939F938F9383ED91E09F938F931F9375 |
:101EF0000E94380788E28093C2018DB79EB707968B |
:101F00000FB6F8949EBF0FBE8DBF80910D029091C9 |
:101F10000E02A0910F02B0911002B7FF04C08150D1 |
:101F20009C4FAF4FBF4F2AE0B595A79597958795E2 |
:101F30002A95D1F7BF93AF939F938F9382EE91E051 |
:101F40009F938F931F930E9438078CE38093C20165 |
:101F50008DB79EB707960FB6F8949EBF0FBE8DBF84 |
:101F60008091E7019091E8019F938F9381EF91E039 |
:101F700085C21092C20180919F049091A0049F930A |
:101F80008F9380919D0490919E049F938F9380E006 |
:101F900092E09F938F931F930E94380784E1809370 |
:101FA000C2018DB79EB707960FB6F8949EBF0FBEBD |
:101FB0008DBF8091A3049091A4049F938F938091EF |
:101FC000A1049091A2049F938F9380E192E09F934C |
:101FD0008F931F930E94380788E28093C2018DB7C8 |
:101FE0009EB707960FB6F8949EBF0FBE8DBF809127 |
:101FF000A7049091A8049F938F938091A50490913A |
:10200000A6049F938F9380E292E09F938F931F93F8 |
:102010000E9438078CE38093C2018DB79EB7079664 |
:102020000FB6F8949EBF0FBE8DBF8091A90490910A |
:10203000AA049F938F9380E392E020C21092C20182 |
:102040008091C804E82FFF27EE0FFF1FE556FB4FD6 |
:10205000808191819F938F938091C704E82FFF2700 |
:10206000EE0FFF1FE556FB4F808191819F938F9369 |
:1020700080E492E09F938F931F930E94380784E13E |
:102080008093C2018DB79EB707960FB6F8949EBF96 |
:102090000FBE8DBF8091CA04E82FFF27EE0FFF1FF0 |
:1020A000E556FB4F808191819F938F938091C90466 |
:1020B000E82FFF27EE0FFF1FE556FB4F8081918130 |
:1020C0009F938F9380E592E09F938F931F930E943D |
:1020D000380788E28093C2018DB79EB707960FB686 |
:1020E000F8949EBF0FBE8DBF8091CC04E82FFF27D0 |
:1020F000EE0FFF1FE556FB4F808191819F938F93D9 |
:102100008091CB04E82FFF27EE0FFF1FE556FB4F12 |
:10211000808191819F938F9380E692E09F938F932C |
:102120001F930E9438078CE38093C2018DB79EB73E |
:1021300007960FB6F8949EBF0FBE8DBF8091CD0459 |
:10214000E82FFF27EE0FFF1FE556FB4F808191819F |
:102150009F938F9380E792E091C11092C20180E833 |
:1021600092E09F938F931F930E94380784E180939E |
:10217000C2010F900F900F9080912702909128023A |
:102180009F938F938091B201282F33278091BD01B7 |
:102190009091BE01B9010E9409297F936F938EE847 |
:1021A00092E09F938F931F930E94380788E2809359 |
:1021B000C2018DB79EB707960FB6F8949EBF0FBEAB |
:1021C0008DBF80912502909126029F938F938091DD |
:1021D000B101282F33278091BB019091BC01B90137 |
:1021E0000E9409297F936F938DE992E09F938F93CB |
:1021F0001F930E9438078CE38093C2018DB79EB76E |
:1022000007960FB6F8949EBF0FBE8DBF8091230234 |
:10221000909124029F938F938091B001282F3327B0 |
:102220008091B9019091BA01B9010E9409297F9367 |
:102230006F938CEA92E071C01092C2018BEB92E036 |
:102240009F938F931F930E94380784E18093C2016C |
:102250000F900F900F9080912102909122029F93F6 |
:102260008F938091AF01282F33278091B5019091F2 |
:10227000B601B9010E9409297F936F9388EC92E01F |
:102280009F938F931F930E94380788E28093C20127 |
:102290008DB79EB707960FB6F8949EBF0FBE8DBF41 |
:1022A00080911F02909120029F938F938091AE01A5 |
:1022B000282F33278091B7019091B801B9010E946E |
:1022C00009297F936F9387ED92E09F938F931F93DC |
:1022D0000E9438078CE38093C2018DB79EB70796A2 |
:1022E0000FB6F8949EBF0FBE8DBF80911B029091D8 |
:1022F0001C02A0911D02B0911E02BC01CD010E94E2 |
:10230000F727DC01CB019F938F93809183049091F9 |
:1023100084049F938F9386EE92E09F938F931F93F5 |
:102320000E9438078DB79EB707960FB6F8949EBFE8 |
:102330000FBE8DBFB3C084E18093C20180910901BB |
:1023400090910A019F938F9385EF92E09F938F93D3 |
:102350001F930E94380788E28093C2010F900F906C |
:102360000F900F900F908091DA0199279F938F9390 |
:1023700084E093E083C01092C20183E193E09F93D5 |
:102380008F931F930E94380784E18093C2010F90BE |
:102390000F900F908091E3019091E4019F938F93B0 |
:1023A00082E293E09F938F931F930E94380788E205 |
:1023B0008093C2010F900F900F900F900F9080911B |
:1023C000E7019091E8019F938F9381E393E09F93BE |
:1023D0008F931F930E9438078CE38093C2010F9064 |
:1023E0000F900F900F900F908091E5019091E60172 |
:1023F0009F938F9380E493E041C01092C2018FE4D9 |
:1024000093E09F938F931F930E94380784E18093FA |
:10241000C2010F900F900F908091DF019091E00129 |
:102420009F938F938EE593E09F938F931F930E94CA |
:10243000380788E28093C2010F900F900F900F90A1 |
:102440000F908091DD019091DE019F938F938AE63A |
:1024500093E09F938F931F930E9438078CE38093A0 |
:10246000C2010F900F900F900F900F908091DB01A1 |
:102470009091DC019F938F9386E793E09F938F93D6 |
:102480001F930E9438070F900F900F900F900F909E |
:1024900005C08150809365011092C5011092C10161 |
:1024A000DF91CF911F9108951092B9008AE2809335 |
:1024B000B800089585EA8093BC0080E090E008951C |
:1024C00084E98093BC0008951092B9008093BB000A |
:1024D00085E88093BC0080E090E008951F920F9201 |
:1024E0000FB60F9211242F933F934F935F936F93E7 |
:1024F0007F938F939F93AF93BF93EF93FF938091BD |
:10250000C801282F33278F5F8093C80123303105FE |
:1025100009F44AC0243031054CF421303105D9F09A |
:10252000223031059CF5232B89F093C025303105ED |
:1025300009F451C025303105E4F12630310509F4A4 |
:1025400053C02730310509F46FC083C08091C701A3 |
:10255000880F8E5A66C08091C701282F33278F5F5E |
:102560008093C7012130310509F453C02230310571 |
:1025700024F4232B09F44AC06CC02230310509F43D |
:102580004BC02330310509F44AC063C00E94601279 |
:102590008091C701843018F41092C80102C01092D3 |
:1025A000C7010E945A1255C08091C601880F8D5AEA |
:1025B00038C08091C60199278130910551F1823050 |
:1025C00091051CF4892B11F144C08230910521F151 |
:1025D000039729F13EC08091C601E82FFF27ED56F1 |
:1025E000FB4F8091BB0080838091C6019927813089 |
:1025F000910579F0823091051CF4892B39F029C0BE |
:102600008230910549F0039751F023C08091650213 |
:1026100008C08091660205C08091690202C0809165 |
:102620006B020E94641215C09091C601E92FFF272A |
:10263000ED56FB4F8091BB008483892F8F5F809381 |
:10264000C601843010F01092C6010E9460121092F0 |
:10265000C801FF91EF91BF91AF919F918F917F91B1 |
:102660006F915F914F913F912F910F900FBE0F90FF |
:102670001F90189583EC8093810080916F00806299 |
:1026800080936F001092240210922302109226026F |
:1026900010922502109228021092270208951F928C |
:1026A0000F920FB60F9211242F933F934F935F9386 |
:1026B0006F937F938F939F93AF93BF93EF93FF930A |
:1026C00040918600509187008091C9019091CA0184 |
:1026D000481B590B80918600909187009093CA0106 |
:1026E0008093C901CA018D5D95408356994148F494 |
:1026F00081E090E09093CC018093CB011092660131 |
:102700006FC02091CB013091CC012A3031050CF003 |
:1027100067C0CA018B5F9040845B914008F043C062 |
:10272000425D5140F901E20FF31FE556FB4F8081F6 |
:102730009181BA01681B790BCB0177FF03C090959B |
:1027400081959F4F06974CF48091DA01883C28F4DC |
:102750008091DA01865F8093DA01F901E20FF31FBD |
:10276000DF01A556BB4F8D919C9111979C01220FC3 |
:10277000331F280F391F240F351F37FF02C02D5F6D |
:102780003F4FA9015595479555954795EF54FB4FF8 |
:102790008D919C9111979A01281B390B31832083CD |
:1027A00011965C934E938091CB019091CC01019650 |
:1027B0009093CC018093CB01059711F45D9A01C0F1 |
:1027C0005D988091CB019091CC018630910511F4F8 |
:1027D0005C9A01C05C98079711F45B9A01C05B9802 |
:1027E000FF91EF91BF91AF919F918F917F916F91E9 |
:1027F0005F914F913F912F910F900FBE0F901F90BF |
:102800001895CF93C82FC150CF3F81F08091D3014D |
:10281000882361F484E690E09093A00180939F0167 |
:102820008AEF90E00E94850AC15080F7CF91089509 |
:1028300010927A008091B201882379F08091B201E0 |
:10284000282F33278091BD019091BE01B9010E94CC |
:1028500009297093FB046093FA048091B1018823E5 |
:1028600079F08091B101282F33278091BB0190919D |
:10287000BC01B9010E9409297093F9046093F8041E |
:102880008091B001882379F08091B001282F3327FF |
:102890008091B9019091BA01B9010E940929709300 |
:1028A0000705609306058091AF018823E1F08091D0 |
:1028B000B5019091B601AA2797FDA095BA2F34E0F3 |
:1028C000880F991FAA1FBB1F3A95D1F72091AF011E |
:1028D000332744275527BC01CD010E943E29309360 |
:1028E0000405209303058091AE018823E1F08091D7 |
:1028F000B7019091B801AA2797FDA095BA2F24E0BF |
:10290000880F991FAA1FBB1F2A95D1F72091AE01EE |
:10291000332744275527BC01CD010E943E2930931F |
:102920000D0520930C058091AD018823A9F08091BD |
:10293000B3019091B401AA2797FDA095BA2F2091D9 |
:10294000AD01332744275527BC01CD010E943E2904 |
:102950003093FE042093FD041092BE011092BD013D |
:102960001092B2011092BC011092BB011092B10101 |
:102970001092BA011092B9011092B0011092B801F0 |
:102980001092B7011092AE011092B6011092B501EB |
:102990001092AF011092B4011092B3011092AD01E8 |
:1029A0008FEE80937A008091CB04E82FFF27EE0F03 |
:1029B000FF1FE556FB4F8081918182599F4F2091E7 |
:1029C000DF013091E001281739071CF42F5F3F4FDA |
:1029D0000CC08081918182599F4F821793074CF4DC |
:1029E0002115310531F0215030403093E001209322 |
:1029F000DF018091CC04E82FFF27EE0FFF1FE55683 |
:102A0000FB4F8081918182599F4F2091DD01309150 |
:102A1000DE01281739071CF42F5F3F4F0CC080815F |
:102A2000918182599F4F821793074CF421153105EC |
:102A300031F0215030403093DE012093DD01809150 |
:102A4000CD04E82FFF27EE0FFF1FE556FB4F8081D7 |
:102A5000918182599F4F2091DB013091DC01281731 |
:102A600039073CF42F5F3F4F3093DC012093DB01AB |
:102A700008958081918182599F4F821793074CF46A |
:102A80002115310531F0215030403093DC01209385 |
:102A9000DB010895CF93DF9310922202109221025E |
:102AA0001092200210921F0280E090E0A0E0B0E0BF |
:102AB00080931B0290931C02A0931D02B0931E02F0 |
:102AC00010922802109227021092260210922502DC |
:102AD00010922402109223020E94181485E090E0C4 |
:102AE0000E94560AEC01CE010E94790A8823D9F38C |
:102AF0000E9418148091CE0480FF10C080910301C1 |
:102B000090910401875B934038F480910301909188 |
:102B100004018E5E924010F40E94A20A8091FA0491 |
:102B20009091FB048091FA049091FB0497FF03C0FD |
:102B3000909581959F4F90932802809327028091D2 |
:102B4000F8049091F9048091F8049091F90497FFAA |
:102B500003C0909581959F4F909326028093250204 |
:102B600080910605909107058091060590910705D3 |
:102B700097FF03C0909581959F4F90932402809377 |
:102B8000230280910C0590910D0580910C05909188 |
:102B90000D0597FF03C0909581959F4F97FD0F9668 |
:102BA00054E0959587955A95E1F79093200280938C |
:102BB0001F02809103059091040580910305909177 |
:102BC000040597FF03C0909581959F4F97FD0F9641 |
:102BD00044E0959587954A95E1F79093220280937A |
:102BE00021028091830490918404AA2797FDA095E7 |
:102BF000BA2FBC01CD010E941428DC01CB018093C7 |
:102C00001B0290931C02A0931D02B0931E0210920F |
:102C1000010210920202109203021092040210921A |
:102C2000FD011092FE011092FF011092000210921D |
:102C3000F9011092FA011092FB011092FC0110921E |
:102C4000F5011092F6011092F7011092F80110921E |
:102C5000F1011092F2011092F3011092F40110921E |
:102C6000FB041092FA041092F9041092F8041092E6 |
:102C70000705109206058091050190910601A0912B |
:102C80000701B09108019093860480938504109207 |
:102C9000AC011092AB011092E9011092EA0110927E |
:102CA000EB011092EC018091E7019091E801909383 |
:102CB000E6018093E5010E94372782E390E090933C |
:102CC000A00180939F01DF91CF910895EF92FF9231 |
:102CD0000F931F9310927A008091B201882379F0AC |
:102CE0008091B201282F33278091BD019091BE01C0 |
:102CF000B9010E9409297093FB046093FA04809142 |
:102D0000B101882379F08091B101282F3327809178 |
:102D1000BB019091BC01B9010E9409297093F9048B |
:102D20006093F8048091B001882379F08091B0011C |
:102D3000282F33278091B9019091BA01B9010E94DF |
:102D4000092970930705609306058091AF018823D8 |
:102D500009F446C08091030590910405AA2797FDC8 |
:102D6000A095BA2F7C018D01E3E0EE0CFF1C001F43 |
:102D7000111FEA95D1F7E81AF90A0A0B1B0B80918B |
:102D8000B5019091B601AA2797FDA095BA2F74E0DE |
:102D9000880F991FAA1FBB1F7A95D1F72091AF0109 |
:102DA000332744275527BC01CD010E943E29E20E5E |
:102DB000F31E041F151F17FF08C087E090E0A0E076 |
:102DC000B0E0E80EF91E0A1F1B1F63E0159507957A |
:102DD000F794E7946A95D1F7F0920405E092030521 |
:102DE0008091AE01882309F446C080910C05909132 |
:102DF0000D05AA2797FDA095BA2F7C018D0153E000 |
:102E0000EE0CFF1C001F111F5A95D1F7E81AF90AA2 |
:102E10000A0B1B0B8091B7019091B801AA2797FD6F |
:102E2000A095BA2F44E0880F991FAA1FBB1F4A958F |
:102E3000D1F72091AE01332744275527BC01CD019E |
:102E40000E943E29E20EF31E041F151F17FF08C043 |
:102E500087E090E0A0E0B0E0E80EF91E0A1F1B1F1B |
:102E600033E015950795F794E7943A95D1F7F092EA |
:102E70000D05E0920C058091AD01882309F43FC057 |
:102E80008091FD049091FE04AA2797FDA095BA2F8A |
:102E90007C018D0123E0EE0CFF1C001F111F2A9501 |
:102EA000D1F7E81AF90A0A0B1B0B8091B301909134 |
:102EB000B401AA2797FDA095BA2F2091AD01332721 |
:102EC00044275527BC01CD010E943E29E20EF31E86 |
:102ED000041F151F17FF08C087E090E0A0E0B0E0D6 |
:102EE000E80EF91E0A1F1B1FA3E015950795F7941E |
:102EF000E794AA95D1F7F092FE04E092FD041092B7 |
:102F0000BE011092BD011092B2011092BC0110924C |
:102F1000BB011092B1011092BA011092B901109246 |
:102F2000B0011092B8011092B7011092AE01109248 |
:102F3000B6011092B5011092AF011092B401109237 |
:102F4000B3011092AD018091F1019091F201A09135 |
:102F5000F301B091F4018093050290930602A093CF |
:102F60000702B09308028091010290910202A091A1 |
:102F70000302B09104028093150290931602A0936D |
:102F80001702B09318028091F9019091FA01A09173 |
:102F9000FB01B091FC0180930D0290930E02A0936F |
:102FA0000F02B09310028091FD019091FE01A0915B |
:102FB000FF01B09100028093110290931202A0933E |
:102FC0001302B09314028091F5019091F601A09143 |
:102FD000F701B091F8018093090290930A02A0933F |
:102FE0000B02B0930C028FEE80937A008091FA046A |
:102FF0009091FB04893C91058CF02091FA0430916A |
:10300000FB04220F331F220F331F8091FA0490918B |
:10301000FB04820F931F8052934017C08091FA04E3 |
:103020009091FB0488539F4FA4F42091FA043091AF |
:10303000FB04220F331F220F331F8091FA0490915B |
:10304000FB04820F931F805E9C4F9093FB04809340 |
:10305000FA048091F8049091F904893C91058CF070 |
:103060002091F8043091F904220F331F220F331FEF |
:103070008091F8049091F904820F931F805293403D |
:1030800017C08091F8049091F90488539F4FA4F4DD |
:103090002091F8043091F904220F331F220F331FBF |
:1030A0008091F8049091F904820F931F805E9C4FE9 |
:1030B0009093F9048093F8048091CB04E82FFF27C4 |
:1030C000EE0FFF1FE556FB4F8081918182599F4F84 |
:1030D0002091DF013091E001281739071CF42F5FA0 |
:1030E0003F4F0CC08081918182599F4F8217930777 |
:1030F0004CF42115310531F0215030403093E0017E |
:103100002093DF018091CC04E82FFF27EE0FFF1FF3 |
:10311000E556FB4F8081918182599F4F2091DD01BF |
:103120003091DE01281739071CF42F5F3F4F0CC088 |
:103130008081918182599F4F821793074CF421150A |
:10314000310531F0215030403093DE012093DD0114 |
:103150008091CD04E82FFF27EE0FFF1FE556FB4FB0 |
:103160008081918182599F4F2091DB013091DC0158 |
:10317000281739071CF42F5F3F4F0CC080819181C5 |
:1031800082599F4F821793074CF42115310531F076 |
:10319000215030403093DC012093DB011F910F91CF |
:1031A000FF90EF9008958091D301882301F58093DB |
:1031B0006602809365028093690280936B0280911E |
:1031C0008801882311F0809365028091890188230A |
:1031D00011F08093660280918A01882311F0809318 |
:1031E0006B0280918B01882311F08093690280919A |
:1031F0006502992790937904809378048091660200 |
:10320000992790937B0480937A0480916B0299278D |
:1032100090937D0480937C04809169029927909318 |
:103220007F0480937E041092C8011092C7010E940F |
:103230005A12089581E08093C70442E04093C80485 |
:1032400083E08093C90424E02093CA0455E050939E |
:10325000CB0486E08093CC0487E08093CD04109269 |
:10326000CE048EE18093CF048BEF8093D1048AE06B |
:103270008093D2043AE53093D0049FE09093D40435 |
:103280004093D3042093D50488E08093D60480E152 |
:103290008093D7049093D8048AEF8093D9048AE16D |
:1032A0008093DA0480E88093DB0488E78093DC0471 |
:1032B00086E98093DD043093DE0483E28093DF04AB |
:1032C00084E18093E0041092E1045093E2041092B0 |
:1032D000E3041092E404ACEEB4E0E8E7F1E08CE043 |
:1032E00001900D928150E1F7089581E08093C70429 |
:1032F00042E04093C80483E08093C90434E03093F3 |
:10330000CA0455E05093CB0486E08093CC0487E058 |
:103310008093CD041092CE048EE18093CF048BEF86 |
:103320008093D1048AE08093D2042AE52093D004CC |
:103330009FE09093D4044093D3043093D50410922B |
:10334000D60480E18093D7049093D8048AEF8093C9 |
:10335000D9048AE18093DA0480E88093DB048FEA61 |
:103360008093DC048093DD042093DE0483E2809369 |
:10337000DF0484E18093E0041092E1045093E204BE |
:103380001092E3041092E404ACEEB4E0E0E8F1E063 |
:103390008CE001900D928150E1F708951F93809188 |
:1033A000D1048B3F70F08B3F19F48091DF0109C08D |
:1033B0008C3F19F48091DD0104C08D3F21F4809190 |
:1033C000DB0180936E0180916E01882321F08F3F95 |
:1033D00011F480936E018091D0048B3F70F08B3F8D |
:1033E00019F48091DF0109C08C3F19F48091DD014F |
:1033F00004C08D3F21F48091DB0180936F018091A7 |
:103400006F01882329F0843618F084E680936F01D9 |
:103410008091D2048B3F70F08B3F19F48091DF01D3 |
:1034200009C08C3F19F48091DD0104C08D3F21F467 |
:103430008091DB0180936D0180916D01882329F0DB |
:10344000843618F084E680936D018091D4048B3F1C |
:1034500070F08B3F19F48091DF0109C08C3F19F4A3 |
:103460008091DD0104C08D3F21F48091DB018093C8 |
:103470006C0180916C01882321F08F3F11F48093BF |
:103480006C018091DB048B3F70F08B3F19F48091CD |
:10349000DF0109C08C3F19F48091DD0104C08D3F2C |
:1034A00021F48091DB0180936B0180916B01882373 |
:1034B00021F08F3F11F480936B018091DC048B3FEE |
:1034C00070F08B3F19F48091DF0109C08C3F19F433 |
:1034D0008091DD0104C08D3F21F48091DB01809358 |
:1034E0006A0180916A018B3010F48AE002C08F3F3C |
:1034F00011F480936A018091DD048B3F70F08B3F63 |
:1035000019F48091DF0109C08C3F19F48091DD012D |
:1035100004C08D3F21F48091DB018093690180918B |
:103520006901882321F08F3F11F480936901809114 |
:10353000E2048B3F70F08B3F19F48091DF0109C0EA |
:103540008C3F19F48091DD0104C08D3F21F48091FE |
:10355000DB018093670180916701882321F08F3F11 |
:1035600011F4809367018091E3048B3F70F08B3FEF |
:1035700019F48091DF0109C08C3F19F48091DD01BD |
:1035800004C08D3F21F48091DB018093CE018091B6 |
:10359000CE01882321F08F3F11F48093CE018091DA |
:1035A000E4048B3F70F08B3F19F48091DF0109C078 |
:1035B0008C3F19F48091DD0104C08D3F21F480918E |
:1035C000DB018093CD018091CD01882321F08F3FD5 |
:1035D00011F48093CD0110916701812F992787FD08 |
:1035E0009095A92FB92FBC01CD010E94142817FF77 |
:1035F00006C020E030E040E853E40E946F2727E156 |
:1036000037EB41ED58E30E948E28DC01CB0180931B |
:10361000700190937101A0937201B0937301809136 |
:10362000D904809305058091D8048093FC041F91F0 |
:1036300008952F923F924F925F926F927F928F9256 |
:103640009F92AF92BF92CF92DF92EF92FF920F9331 |
:103650001F93CF93DF93CDB7DEB723970FB6F894C0 |
:10366000DEBF0FBECDBF0E946616299A8091C904A5 |
:10367000E82FFF27EE0FFF1FE556FB4F40805180DC |
:1036800028E730E0420E531E57FE02C04424552462 |
:103690008091DA01843608F04BC0809100018823C4 |
:1036A00031F484EF91E09093A00180939F01809189 |
:1036B000420290914302009731F0019790934302A8 |
:1036C0008093420204C01092D3011092E201289A22 |
:1036D0008091470290914802815D974030F180913E |
:1036E000DF04482E552481E08093E2018091C704D5 |
:1036F000E82FFF27EE0FFF1FE556FB4F11821082C8 |
:103700008091C804E82FFF27EE0FFF1FE556FB4FFF |
:10371000118210828091CA04E82FFF27EE0FFF1F4D |
:10372000E556FB4F11821082E2C11092D301DFC136 |
:103730008091DA018D3808F4DAC11092E20190919B |
:10374000E00482E3989FC001112490934302809388 |
:10375000420249E2441651046CF080914702909174 |
:1037600048025FEF8F3F950729F00196909348023A |
:10377000809347028091470290914802883C9105CE |
:1037800020F068E24616510404F510922A021092C5 |
:103790002B0210922C0210922D0210922E021092E7 |
:1037A0002F0210923002109231021092F101109209 |
:1037B000F2011092F3011092F4011092ED011092B7 |
:1037C000EE011092EF011092F00179EC47165104CE |
:1037D0000CF4EDC00091D301002309F0E8C0809102 |
:1037E000CA04E82FFF27EE0FFF1FE556FB4F80812D |
:1037F00091818C3491050CF4D8C0809144028F5F84 |
:1038000080934402893C08F4D2C029980E944A154A |
:103810000093D30100934402109248021092470291 |
:103820003091C704E32FFF27EE0FFF1FE556FB4F34 |
:103830008081918187349105B4F48091C804E82F88 |
:10384000FF27EE0FFF1FE556FB4F8081918101900E |
:10385000F081E02DF7FF03C0F095E195FF4FE734CD |
:10386000F1050CF482C02091C804E22FFF27EE0F6F |
:10387000FF1FE556FB4F808191818734910564F0ED |
:10388000E32FFF27EE0FFF1FE556FB4F808191814D |
:10389000863491050CF411E0E22FFF27EE0FFF1F95 |
:1038A000E556FB4F808191818734910574F08091BA |
:1038B000C704E82FFF27EE0FFF1FE556FB4F80815F |
:1038C0009181873491050CF012E0E22FFF27EE0F73 |
:1038D000FF1FE556FB4F808191818634910574F47A |
:1038E0008091C704E82FFF27EE0FFF1FE556FB4F1F |
:1038F00080819181873491050CF013E0E22FFF273E |
:10390000EE0FFF1FE556FB4F808191818A5B9F4F31 |
:1039100074F48091C704E82FFF27EE0FFF1FE556D0 |
:10392000FB4F80819181873491050CF014E0E22FE8 |
:10393000FF27EE0FFF1FE556FB4F808191818A5BC9 |
:103940009F4F74F48091C704E82FFF27EE0FFF1FED |
:10395000E556FB4F80819181863491050CF415E08A |
:10396000A2E0B0E0012E0E9461290E94080241E31A |
:1039700067EC74E00E94DE010E9408020E940114BC |
:103980008091CE0480FF13C08091030190910401C7 |
:10399000875B934038F480910301909104018E5E1F |
:1039A000924028F40E94A20A02C00093440223E23B |
:1039B000421651040CF09BC02091CA04E22FFF274D |
:1039C000EE0FFF1FE556FB4F80819181855B9F4F76 |
:1039D0000CF06DC0809145028F5F80934502893C59 |
:1039E00008F467C088EC8093450281E090E09093F2 |
:1039F00048028093470281E08093D3011092320203 |
:103A00001092330210923402109235021092F1019A |
:103A10001092F2011092F3011092F4011092ED0154 |
:103A20001092EE011092EF011092F001109201023B |
:103A30001092020210920302109204021092F901F5 |
:103A40001092FA011092FB011092FC018091150274 |
:103A500090911602A0911702B09118028093FD0177 |
:103A60009093FE01A093FF01B093000280910D029C |
:103A700090910E02A0910F02B09110028093F50177 |
:103A80009093F601A093F701B093F80110922A02E7 |
:103A900010922B0210922C0210922D0210922E02E4 |
:103AA00010922F02109230021092310202C0109236 |
:103AB0004502E22FFF27EE0FFF1FE556FB4F8081E7 |
:103AC00091818C3491058CF0809146028F5F8093B8 |
:103AD0004602893C60F01092D30188EC8093460244 |
:103AE000109248021092470202C010924602809142 |
:103AF0006601815080936601809166018F3F29F0B5 |
:103B00008091E201882309F4F7C00E94CE198091C8 |
:103B1000C704E82FFF27EE0FFF1FDF01A556BB4F9D |
:103B20008091D504682F77278D919C91869F900175 |
:103B3000879F300D969F300D1124EF54FB4F8091DD |
:103B4000D604482F552780819181849FD001859F7D |
:103B5000B00D949FB00D11242A0F3B1F3093D90153 |
:103B60002093D8018091C804E82FFF27EE0FFF1F94 |
:103B7000DF01A556BB4F8D919C91869F9001879F39 |
:103B8000300D969F300D1124EF54FB4F80819181B1 |
:103B9000849FF001859FF00D949FF00D11242E0F4E |
:103BA0003F1F3093D7012093D6018091CA04E82F9C |
:103BB000FF27EE0FFF1FE556FB4F80819181909507 |
:103BC00081959F4F9093D5018093D40110916A0104 |
:103BD000812F992787FD9095A92FB92FBC01CD0181 |
:103BE0000E94142817FF06C020E030E040E853E4AC |
:103BF0000E946F2720E030E040E251E40E946F27EE |
:103C0000DC01CB0120E030E040E85BE3BC01CD010A |
:103C10000E948E286B017C01609308057093090552 |
:103C200080930A0590930B0510916901812F9927C4 |
:103C300087FD9095A92FB92FBC01CD010E941428B2 |
:103C400017FF06C020E030E040E853E40E946F27F1 |
:103C500020E030EE4BE257E40E94B127DC01CB01BB |
:103C60008093FF0490930005A0930105B093020593 |
:103C70008091CE0482FF0CC080E090E0A0E0B0E034 |
:103C80008093FF0490930005A0930105B093020573 |
:103C900020E030E040E050E0C701B6010E941E285D |
:103CA000882364F480E090E0A0E0B0E08093080511 |
:103CB00090930905A0930A05B0930B058091FF042A |
:103CC00090910005A0910105B091020520E030E03F |
:103CD00040E050E0BC01CD010E941E28882364F41E |
:103CE00080E090E0A0E0B0E08093FF0490930005B6 |
:103CF000A0930105B0930205F091E201F983FF233F |
:103D000021F11092D5011092D4011092D901109294 |
:103D1000D8011092D7011092D6018DEC9CECACEC3E |
:103D2000BDE38093080590930905A0930A05B0931D |
:103D30000B058AE097EDA3EABBE38093FF04909321 |
:103D40000005A0930105B09302058091A90190910F |
:103D5000AA018D54914008F4CBC0809183049091C6 |
:103D60008404855992400CF4C3C080911102909153 |
:103D70001202A0911302B09114029C0180911502CD |
:103D800090911602A0911702B0911802281B390BCE |
:103D900030933F0220933E028091090290910A02E3 |
:103DA000A0910B02B0910C02AC0180910D02909198 |
:103DB0000E02A0910F02B0911002481B590B5093B4 |
:103DC0004102409340021092AA011092A901273AA1 |
:103DD00031054CF080912702909128020196909332 |
:103DE0002802809327022A553F4F4CF480912702E6 |
:103DF0009091280201979093280280932702473AD6 |
:103E000051054CF0809125029091260201969093E5 |
:103E10002602809325024A555F4F4CF4809125027B |
:103E2000909126020197909326028093250280911B |
:103E3000ED019091EE01A091EF01B091F001873A70 |
:103E40009105A105B1054CF08091230290912402C7 |
:103E5000019790932402809323028091ED01909129 |
:103E6000EE01A091EF01B091F0018A559F4FAF4F45 |
:103E7000BF4F4CF4809123029091240201969093BD |
:103E800024028093230210927A008091150290916F |
:103E90001602A0911702B09118028093FD01909331 |
:103EA000FE01A093FF01B093000280910D0290915A |
:103EB0000E02A0910F02B09110028093F501909331 |
:103EC000F601A093F701B093F8018091050290915B |
:103ED0000602A0910702B09108028093ED01909331 |
:103EE000EE01A093EF01B093F0018FEE80937A0082 |
:103EF0009090DA04A92CBB24CC24DD2480911502F7 |
:103F000090911602A0911702B0911802BC01CD0148 |
:103F1000A60195010E943E29809103059091040518 |
:103F2000AA2797FDA095BA2F281B390B4A0B5B0BCC |
:103F300057FF04C0215F3F4F4F4F5F4F79018A0108 |
:103F4000B4E015950795F794E794BA95D1F7E09208 |
:103F50003602F092370200933802109339028091B2 |
:103F60000D0290910E02A0910F02B0911002BC01BF |
:103F7000CD01A60195010E943E2980910C059091EA |
:103F80000D05AA2797FDA095BA2F281B390B4A0BC0 |
:103F90005B0B57FF04C0215F3F4F4F4F5F4FA4E0C3 |
:103FA0005595479537952795AA95D1F720933A02CD |
:103FB00030933B0240933C0250933D02F3E3EF16F3 |
:103FC000F1040105110564F082E390E0A0E0B0E0A7 |
:103FD0008093360290933702A0933802B09339024F |
:103FE0008091360290913702A0913802B091390247 |
:103FF0008E5C9F4FAF4FBF4F64F48EEC9FEFAFEFDF |
:10400000BFEF8093360290933702A0933802B093AB |
:104010003902233331054105510564F082E390E014 |
:10402000A0E0B0E080933A0290933B02A0933C0260 |
:10403000B0933D0280913A0290913B02A0913C02E4 |
:10404000B0913D028E5C9F4FAF4FBF4F64F48EEC3A |
:104050009FEFAFEFBFEF80933A0290933B02A093A4 |
:104060003C02B0933D0210927A00809183049091BB |
:10407000840485599240C4F180910102909102021A |
:10408000A0910302B09104022091360230913702D0 |
:104090004091380250913902821B930BA40BB50B4F |
:1040A0008093010290930202A0930302B093040252 |
:1040B0008091F9019091FA01A091FB01B091FC016E |
:1040C00020913A0230913B0240913C0250913D02D6 |
:1040D000821B930BA40BB50B8093F9019093FA010B |
:1040E000A093FB01B093FC012091D4013091D50144 |
:1040F000C901AA2797FDA095BA2F80933202909309 |
:104100003302A0933402B093350237FF03C03095D9 |
:1041100021953F4F243231053CF08091CE0484FD3F |
:1041200003C081E080934C028091D704A82EBB2469 |
:10413000CC24DD242090320230903302910137FEEE |
:1041400004C02227332722193309442737FD40951D |
:10415000542F8091320290913302A0913402B09199 |
:104160003502BC01CD010E94D6289B01AC01C601DD |
:10417000B5010E94D62897FF04C061507F4F8F4F32 |
:104180009F4FBB2797FDBA95A92F982F872F9C018A |
:10419000442737FD4095542F8091F1019091F20111 |
:1041A000A091F301B091F401821B930BA40BB50B0A |
:1041B0008093F1019093F201A093F301B093F40185 |
:1041C0008091F1019091F201A091F301B091F4017D |
:1041D00081539547A040B04064F080E395E7A0E0AC |
:1041E000B0E08093F1019093F201A093F301B093BA |
:1041F000F4018091F1019091F201A091F301B0914D |
:10420000F401805D9A48AF4FBF4F64F480ED9AE8A7 |
:10421000AFEFBFEF8093F1019093F201A093F30110 |
:10422000B093F4018FEE80937A008091E701909132 |
:10423000E801892B09F4B8C08091CE0483FFB4C093 |
:104240008091150290911602A0911702B091180268 |
:10425000B7FF04C081509E4FAF4FBF4FE9E0B59507 |
:10426000A79597958795EA95D1F79C0197FF03C08D |
:10427000309521953F4F80910D0290910E02A091B3 |
:104280000F02B0911002B7FF04C081509E4FAF4F94 |
:10429000BF4F79E0B595A795979587957A95D1F712 |
:1042A000BC0197FF03C0709561957F4F26173707B4 |
:1042B0000CF49B0129313105A4F480914C02882330 |
:1042C00081F080914D0290914E02892B51F48091A2 |
:1042D000E7019091E8019093E6018093E501109247 |
:1042E0004C0280916B01482F5527249FC001259FC8 |
:1042F000900D349F900D112497FDCF969C0166E0A0 |
:10430000359527956A95E1F7421B530B9A011416D0 |
:1043100015060CF043C010927A0060914D02709126 |
:104320004E026115710569F58091E3019091E401F8 |
:10433000829FA001839F500D929F500D11249A01DE |
:1043400057FF02C0215E3F4F55E0359527955A959E |
:10435000E1F7442737FD4095542F8091F10190916A |
:10436000F201A091F301B091F401820F931FA41FF9 |
:10437000B51F8093F1019093F201A093F301B093E4 |
:10438000F4018FEE80937A006115710569F0615038 |
:10439000704070934E0260934D0206C084EF91E02E |
:1043A00090934E0280934D0280915F048F5F8093C3 |
:1043B0005F0480914B02815080934B028F3F09F044 |
:1043C00078C081E380934B02E92CFF24002711275A |
:1043D0008091150290911602A0911702B0911802D7 |
:1043E000BC01CD01A80197010E943E2930936104D0 |
:1043F0002093600480910D0290910E02A0910F0213 |
:10440000B0911002BC01CD01A80197010E943E2984 |
:104410003093630420936204809103059091040516 |
:10442000909365048093640480910C0590910D0530 |
:104430009093670480936604809106059091070528 |
:1044400090936904809368048091D1019091D20186 |
:1044500090936B0480936A048091E9019091EA0142 |
:10446000A091EB01B091EC01B7FF04C081509E4FC9 |
:10447000AF4FBF4F49E0B595A795979587954A955A |
:10448000D1F790936D0480936C0450926F04409226 |
:104490006E048091E7019091E801909371048093FC |
:1044A00070048091CF019091D00190937304809318 |
:1044B00072048091150290911602A0911702B0919A |
:1044C0001802BC01CD010E941428DC01CB016090D0 |
:1044D000FF04709000058090010590900205A401F2 |
:1044E0009301BC01CD010E948E287B018C0180913B |
:1044F000FA049091FB04AA2797FDA095BA2FBC015E |
:10450000CD010E941428DC01CB01A0900805B090D9 |
:104510000905C0900A05D0900B05A6019501BC01C4 |
:10452000CD010E948E28DC01CB019C01AD01C801A8 |
:10453000B7010E946F27DC01CB01BC01CD010E94B5 |
:10454000F727DC01CB019093FB048093FA04809160 |
:104550000D0290910E02A0910F02B0911002BC01C9 |
:10456000CD010E941428DC01CB01A4019301BC0100 |
:10457000CD010E948E287B018C018091F8049091DE |
:10458000F904AA2797FDA095BA2FBC01CD010E947E |
:104590001428DC01CB01A6019501BC01CD010E94CC |
:1045A0008E28DC01CB019C01AD01C801B7010E943E |
:1045B0006F27DC01CB01BC01CD010E94F727DC0194 |
:1045C000CB019093F9048093F804809106059091B3 |
:1045D0000705AA2797FDA095BA2FBC01CD010E941F |
:1045E00014287B018C0120E030E040E05FE3C6014D |
:1045F000B5010E948E28DC01CB019C01AD01C801F0 |
:10460000B7010E948E287B018C0180910502909158 |
:104610000602A0910702B0910802BC01CD010E94E0 |
:104620001428DC01CB01A4019301BC01CD010E943F |
:104630008E28DC01CB019C01AD01C801B7010E94AD |
:104640006F27DC01CB01BC01CD010E94F727DC0103 |
:10465000CB0190930705809306058091FA04909111 |
:10466000FB048150984034F080E098E09093FB0484 |
:104670008093FA048091FA049091FB048050984F43 |
:1046800034F480E098EF9093FB048093FA048091D7 |
:10469000F8049091F9048150984034F080E098E05B |
:1046A0009093F9048093F8048091F8049091F904B0 |
:1046B0008050984F34F480E098EF9093F904809301 |
:1046C000F80480910605909107058150984034F0D8 |
:1046D00080E098E090930705809306058091060599 |
:1046E000909107058050984F34F480E098EF9093B4 |
:1046F0000705809306058091CE04992780FFE6C0C8 |
:1047000020916E0181FF0EC02233B0F48091D1015F |
:104710009091D20144979093D0018093CF01109251 |
:10472000E1010DC08091D304289FC001112444975A |
:104730009093D0018093CF0181E08093E101F981D2 |
:10474000FF2321F01092D0011092CF010091D101EE |
:104750001091D2012091CF013091D0012017310763 |
:104760000CF0B4C08091E101882309F4AFC0021BB2 |
:10477000130B80916D019927089F9001099F300DBF |
:10478000189F300D1124C90137FD0F968C0134E0BC |
:10479000159507953A95E1F7A201401B510B8A0147 |
:1047A00080916F01282F33278091AB019091AC014C |
:1047B000829FB001839F700D929F700D1124CB01D9 |
:1047C00077FD079623E0959587952A95E1F7081BD5 |
:1047D000190BC090E901D090EA01E090EB01F09054 |
:1047E000EC01F7FE08C08FEF91E0A0E0B0E0C80E4A |
:1047F000D91EEA1EFB1EB9E0F594E794D794C7943E |
:10480000BA95D1F780916C01282F3327442755277B |
:10481000C701B6010E94D62897FF04C0615E7F4F92 |
:104820008F4F9F4FA5E09595879577956795AA95AA |
:10483000D1F7633371051CF062E370E006C09FEFAF |
:104840006E3C790714F46EEC7FEF061B170B80911A |
:10485000490290914A029C01F4E0220F331FFA951D |
:10486000E1F7281B390B200F311F37FF02C0215FF2 |
:104870003F4FE4E035952795EA95E1F730934A02FA |
:10488000209349028091CF04482F552724173507DC |
:1048900074F44416550624F050934A02409349029A |
:1048A0004416550624F450924A02409249028091DF |
:1048B000490290914A024816590624F450924A023D |
:1048C000409249024090490250904A02A091060548 |
:1048D000B0910705A219B309BB83AA83A536B10518 |
:1048E00024F0E4E6F0E0FB83EA832A813B812C5943 |
:1048F0003F4F24F46CE97FEF7B836A832091D801DA |
:104900003091D9018091610290916202281B390B8C |
:104910008091FA049091FB04821B930BAA2797FDC8 |
:10492000A095BA2FBC01CD010E941428DC01CB0157 |
:10493000609074017090750180907601909077017D |
:104940009C01AD01C401B3010E948E28DC01CB01A2 |
:10495000BC01CD010E94F727DC01CB0190936802D6 |
:10496000809367028091670290916802AA2797FD61 |
:10497000A095BA2F20912A0230912B0240912C024F |
:1049800050912D02280F391F4A1F5B1F20932A02C6 |
:1049900030932B0240932C0250932D0260912A02F7 |
:1049A00070912B021216130614061506C4F4CB01DF |
:1049B00077FF04C088279927861B970B97FF02C0B3 |
:1049C00081509F4F892F990F990B0196AA2797FD28 |
:1049D000A095BA2F281B390B4A0B5B0B16C0CB01D5 |
:1049E00077FF03C0909581959F4F97FF02C081503C |
:1049F0009F4F892F990F990B0196AA2797FDA09594 |
:104A0000BA2F280F391F4A1F5B1F20932A023093A9 |
:104A10002B0240932C0250932D0280912A029091F8 |
:104A20002B02A0912C02B0912D0281589E43A040F0 |
:104A3000B04064F080E89EE3A0E0B0E080932A02FA |
:104A400090932B02A0932C02B0932D0280912A0206 |
:104A500090912B02A0912C02B0912D028058914C84 |
:104A6000AF4FBF4F64F480E891ECAFEFBFEF80939E |
:104A70002A0290932B02A0932C02B0932D028091D6 |
:104A8000670290916802AA2797FDA095BA2FBC01F2 |
:104A9000CD010E9414287B018C0180912A02909103 |
:104AA0002B02A0912C02B0912D02BC01CD010E94DD |
:104AB0001428DC01CB01A0907001B0907101C0906E |
:104AC0007201D09073019C01AD01C601B5010E9435 |
:104AD0008E28DC01CB019C01AD01C801B7010E9409 |
:104AE0006F27DC01CB01BC01CD010E94F727DC015F |
:104AF000CB01FC019201280F391F4A815B81240FF1 |
:104B0000351F432F552747FD50954427550F441F08 |
:104B1000552760E070E08AE04816510414F461E023 |
:104B200070E0462B572B452B19F020E030E008C0F1 |
:104B300080910505482F5527421753070CF49A0119 |
:104B40003090FC04432D5527241735070CF49A01A7 |
:104B50002093650292012E1B3F0BAA81BB812A0F75 |
:104B60003B1F832F992787FD90958827990F881FD2 |
:104B7000992740E050E0BAE04B16510414F441E0AC |
:104B800050E0842B952B892B19F020E030E007C0F2 |
:104B9000809105059927821793070CF49C01832DBA |
:104BA0009927281739070CF49C012093660220915D |
:104BB000D6013091D70180915F0290916002281B4D |
:104BC000390B8091F8049091F904821B930BAA276A |
:104BD00097FDA095BA2FBC01CD010E941428DC01DD |
:104BE000CB019C01AD01C401B3010E948E28DC0100 |
:104BF000CB01BC01CD010E94F727DC01CB019093D2 |
:104C00006402809363028091630290916402AA27F8 |
:104C100097FDA095BA2F20912E0230912F0240913E |
:104C2000300250913102280F391F4A1F5B1F209319 |
:104C30002E0230932F024093300250933102609144 |
:104C40002E0270912F021216130614061506C4F4D4 |
:104C5000CB0177FF04C088279927861B970B97FF06 |
:104C600002C081509F4F892F990F990B0196AA2757 |
:104C700097FDA095BA2F281B390B4A0B5B0B16C06A |
:104C8000CB0177FF03C0909581959F4F97FF02C09E |
:104C900081509F4F892F990F990B0196AA2797FD55 |
:104CA000A095BA2F280F391F4A1F5B1F20932E0291 |
:104CB00030932F02409330025093310280912E02A4 |
:104CC00090912F02A0913002B091310281589E4301 |
:104CD000A040B04064F080E89EE3A0E0B0E08093A4 |
:104CE0002E0290932F02A0933002B0933102809154 |
:104CF0002E0290912F02A0913002B0913102805883 |
:104D0000914CAF4FBF4F64F480E891ECAFEFBFEF31 |
:104D100080932E0290932F02A0933002B093310221 |
:104D20008091630290916402AA2797FDA095BA2F03 |
:104D3000BC01CD010E9414287B018C0180912E02C0 |
:104D400090912F02A0913002B0913102BC01CD01AF |
:104D50000E941428DC01CB019C01AD01C601B50104 |
:104D60000E948E28DC01CB019C01AD01C801B70176 |
:104D70000E946F27DC01CB01BC01CD010E94F72707 |
:104D8000DC01CB01FC019201280F391F4A815B81B4 |
:104D9000241B350B432F552747FD50954427550FAE |
:104DA000441F552760E070E08AE04816510414F46F |
:104DB00061E070E0462B572B452B19F020E030E0E6 |
:104DC00008C080910505482F5527421753070CF45A |
:104DD0009A01432D5527241735070CF49A01209387 |
:104DE0006B0292012E1B3F0BAA81BB812A1B3B0B3E |
:104DF000832F992787FD90958827990F881F9927DA |
:104E000040E050E0BAE04B16510414F441E050E0A9 |
:104E1000842B952B892B19F020E030E007C080917E |
:104E200005059927821793070CF49C01832D992778 |
:104E3000281739070CF49C012093690223960FB6BA |
:104E4000F894DEBF0FBECDBFDF91CF911F910F91C0 |
:104E5000FF90EF90DF90CF90BF90AF909F908F909A |
:104E60007F906F905F904F903F902F90089580912A |
:104E70005B0290915C02A0915D02B0915E02809312 |
:104E8000530290935402A0935502B093560280911E |
:104E9000570290915802A0915902B0915A02809302 |
:104EA0004F0290935002A0935102B0935202089582 |
:104EB00010926202109261021092600210925F02E0 |
:104EC0000895FC014150504030F001900616D1F792 |
:104ED0003197CF0108958827992708955058192EA2 |
:104EE000EFD001D0D2C0BA176207730784079507C5 |
:104EF000B1F188F40EF410940B2EBA2FA02D062ECB |
:104F0000622F202D072E732F302D082E842F402D39 |
:104F1000092E952F502DFF275523B9F0591B49F025 |
:104F2000573E98F0469537952795A795F0405395AD |
:104F3000C9F776F0BA0F621F731F841F30F487958C |
:104F400077956795B795F040939517FA0F2E0895CA |
:104F5000BF1BBB27BA0B620B730B840BF6CFDEF6BD |
:104F6000DBC0AED001D091C0552359F0992369F030 |
:104F70009F575F57951B33F442F4903811F49158C2 |
:104F800005C09BC091589F3F09F4C6C0BB271124A0 |
:104F900062177307840730F4660F771F881FBB1FE3 |
:104FA000915098F311D00F920FD00F920DD0A0E82E |
:104FB0002617370748071B0609F0A048BA2F602DAF |
:104FC0007F918F9100240895A0E800246217730751 |
:104FD0008407B10528F0621B730B840BB1090A2A00 |
:104FE000660F771F881FBB1FA69581F7089597FB53 |
:104FF00073D09F3738F0FEE9F91B982F872F762F53 |
:105000006B2F05C086C09695879577956795F1506B |
:10501000D0F73EF490958095709561957F4F8F4FB6 |
:105020009F4F0895E89403C097FB0EF4F3DFB62F6B |
:10503000672F782F892F9EE9002427C00ED05EF0BD |
:1050400004C00BD026F001C008D019F020F48FEF77 |
:10505000089580E0089581E0089597FB092E0526C4 |
:1050600000F8689430D0E89407FC07C06217730713 |
:105070008407950721F008F4009407949894089504 |
:105080009A95BB0F661F771F881F11249923A1F0E3 |
:105090008823B2F79F3F59F0BB0F48F421F400205A |
:1050A00011F460FF04C06F5F7F4F8F4F9F4F881FC9 |
:1050B0009795879597F908952CC09FEF80EC0895F8 |
:1050C000052E092607FA440F551F5F3F79F0AA27DE |
:1050D000A51708F051E04795880F991F9F3F31F0C1 |
:1050E000BB27B91708F091E0879508959F919F918C |
:1050F0001124E3CF97FB880F991F9F3F31F0BB2707 |
:10510000B91708F091E0879508959F919F91112418 |
:10511000D4CF66277727882799270895D1DF01D034 |
:10512000B4CF992339F0552329F09F575F57950F36 |
:1051300013F49AF1F1CF91589F3FE1F3629FA12DB3 |
:105140000F92BB27639FA00DB11DEE27729FA00D8C |
:10515000B11DEE1FAF93AA27649FB00DE11D739F91 |
:10516000B00DE11DAA1F6627829FB00DE11DA61F8D |
:105170005527749FE00DA11D551F839FE00DA11DB4 |
:10518000561F849FA00D511D852F7A2F6E2F1F90C3 |
:105190000F9088231AF4939539F48FCF000C111CCB |
:1051A000BB1F661F771F881F01280895629FD001CB |
:1051B000739FF001829FE00DF11D649FE00DF11DD2 |
:1051C000929FF00D839FF00D749FF00D659FF00D81 |
:1051D0009927729FB00DE11DF91F639FB00DE11D6E |
:1051E000F91FBD01CF0111240895AA1BBB1B51E17A |
:1051F00007C0AA1FBB1FA617B70710F0A61BB70B47 |
:10520000881F991F5A95A9F780959095BC01CD01EB |
:10521000089597FB092E07260AD077FD04D0E5DF15 |
:1052200006D000201AF4709561957F4F0895F6F727 |
:10523000909581959F4F0895A1E21A2EAA1BBB1B42 |
:10524000FD010DC0AA1FBB1FEE1FFF1FA217B30752 |
:10525000E407F50720F0A21BB30BE40BF50B661F68 |
:10526000771F881F991F1A9469F76095709580952C |
:1052700090959B01AC01BD01CF01089597FB092ECC |
:1052800005260ED057FD04D0D7DF0AD0001C38F415 |
:1052900050954095309521953F4F4F4F5F4F089562 |
:1052A000F6F790958095709561957F4F8F4F9F4F42 |
:1052B0000895F999FECFB2BDA1BDF89A119600B438 |
:1052C0000895F999FECFB2BDA1BD00BC11960FB6ED |
:1052D000F894FA9AF99A0FBE0895640101FF030049 |
:1052E0007D0000640048616C6C6F2057656C740031 |
:1052F00000000000000000000000000000000000AE |
:10530000000000000000000000000000000000009D |
:10531000000000000000000000000000000000008D |
:10532000000000000000000000000000000000007D |
:1053300000000000000102030405060708090A092D |
:10534000010A029632403A10FB3017B7D1380000FC |
:10535000803F4E6F726D616C00004B616D657261D4 |
:10536000000000000000000000000000000000003D |
:10537000000000000000000000000000000000002D |
:10538000000000000000000000000000000000001D |
:10539000000000000000000000000000000000000D |
:1053A00000000000000000000000000000000000FD |
:1053B00000000000000000000000000000000000ED |
:1053C00000000000000000000000000000000000DD |
:1053D00000000000000000000000000000000000CD |
:1053E00000000000000000000000000000000000BD |
:1053F00000000000000000000000000000000000AD |
:10F8000011241FBECFEFD0E1DEBFCDBF11E0A0E0DD |
:10F81000B1E0E0EEFBEF02C005900D92A030B10721 |
:10F82000D9F712E0A0E0B1E001C01D92A230B1070B |
:10F83000E1F70C943B7C0C941D7C0895982F8091EB |
:10F84000C00085FFFCCF9093C60008958091C00052 |
:10F850008823E4F78091C600992708958DE40E94DB |
:10F860001E7C8BE40E941E7C82E40E941E7C8CE441 |
:10F870000E941E7C0895CFEFD0E1DEBFCDBFE0E057 |
:10F88000F0E014915F01772474BE98E10FB6F8940C |
:10F8900090936000109260000FBE7092C5008AE2E3 |
:10F8A0008093C4008091C00082608093C0009093D8 |
:10F8B000C10086E08093C200EF01072D8091C00057 |
:10F8C00087FF0DC0013031F48091C6008A3AB1F152 |
:10F8D00000E005C08091C6008B3109F401E0CE0143 |
:10F8E00021968436910528F11F3F41F0112331F014 |
:10F8F000E0910001F091010109951BC01092C50033 |
:10F900008AE28093C4008AE00E941E7C8DE00E94FF |
:10F910001E7C86E50E941E7C80E30E941E7C8EE297 |
:10F920000E941E7C81E30E941E7C8AE30E941E7C52 |
:10F9300005C080E593EC0197F1F7C0CF0E942E7CC3 |
:10F940000E94267C813611F489E547C1813471F427 |
:10F950000E94267CA82EBB24BA2CAA240E94267CB6 |
:10F960009927A82AB92AB694A79406C1823629F401 |
:10F9700089E50E941E7C81E00BC1823409F083C0BE |
:10F980000E94267C9927D82FCC270E94267C992775 |
:10F99000C82BD92B0E94267C082F12E0812E11E063 |
:10F9A000912EEE24FF2464010894811C911CEC1616 |
:10F9B000FD0618F40E94267C01C08FEFD6018C93BF |
:10F9C0000894E11CF11CBFEFEB16F10461F358F34E |
:10F9D000E4E77E1609F0DEC0063409F03DC0FFEF13 |
:10F9E000AF16F7EFBF0608F033C0DE01A5016627AA |
:10F9F0007727440F551F661F771F6A017B01C2E0FE |
:10FA0000D1E001E08991992729913327322F2227CC |
:10FA1000822B932B0C01FA0100935700E8951124D7 |
:10FA20004E5F5F4F6F4F7F4F129761F785E0F60192 |
:10FA300080935700E89507B600FCFDCF81E18093E5 |
:10FA40005700E89576956795579547955A0194C064 |
:10FA500080E00E941E7C90C0053409F08DC0F50145 |
:10FA60009E01A2E0B1E0E1BD8F2F992782BD8D916B |
:10FA700080BD3196FA9AF99AF999FECF215030401B |
:10FA800091F75F0179C0873609F047C00E94267C54 |
:10FA90009927D82ECC240E94267C9927C82AD92AB7 |
:10FAA0000E94267C863411F5E6016501EE24FF24D0 |
:10FAB000CC0CDD1CEE1CFF1CF60105911491802F6F |
:10FAC0000E941E7C812F99270E941E7C82E090E07C |
:10FAD000A0E0B0E0C80ED91EEA1EFB1E229761F717 |
:10FAE000F694E794D794C79456012ACF853409F049 |
:10FAF00027CF7501E1BC8F2D992782BDF89A089414 |
:10FB0000E11CF11C80B50E941E7C0894C108D1083C |
:10FB1000C114D10479F7570113CF853601F594E765 |
:10FB2000791651F580E090E0A0E0B0E023E0FC0120 |
:10FB300020935700E89507B600FCFDCF80509F4FFB |
:10FB4000AF4FBF4F8F3FE7EF9E07E0E0AE07E0E02B |
:10FB5000BE0768F381E180935700E8950DC08534B6 |
:10FB600069F488E190E02CE00FB6F894A8958093B2 |
:10FB700060000FBE209360008DE02FC08035E1F360 |
:10FB80008C34D1F3803711F483E527C0843721F416 |
:10FB90000E941E7C80E021C0843521F40E94267CD6 |
:10FBA000782EEACF8B3109F4C9CE8A3A09F4C6CE51 |
:10FBB000863529F480E30E941E7C81E30EC08337E2 |
:10FBC00041F489E00E941E7C86E90E941E7C8EE141 |
:10FBD00004C08B3109F4B4CE8FE30E941E7CB0CEFA |
:00000001FF |
/branches/V0.60_Kompass_Name/Hex-Files/BrushLess-Ctrl_16kHz_ADR1_V0_31.hex |
---|
0,0 → 1,286 |
:1000000012C05DC52AC029C0C3C5C5C426C025C04D |
:10001000B1C4F8C322C0EFC220C0BCC21EC01DC004 |
:10002000C1C561C51AC011241FBECFE5D4E0DEBF33 |
:10003000CDBF10E0A0E6B0E0E8EBF1E102C0059032 |
:100040000D92A037B107D9F713E0A0E7B0E001C0E7 |
:100050001D92A339B107E1F73AC1D2CF20918200B6 |
:1000600080916100821710F4282FAB9A8091800054 |
:10007000909181008338910560F01BBC1ABC19BCBB |
:1000800018BC13BCAB9A01979093810080938000B9 |
:100090000895822F9927880F991F9BBD8ABD99BD0E |
:1000A00088BD23BD089582E08FBD81E485BD85B301 |
:1000B000817F85BB89E08EBD089592B7980F82B786 |
:1000C000891B87FDFCCF0895AF92BF92CF92DF923C |
:1000D000EF92FF920F931F93CF93DF93182F8CE231 |
:1000E000A82E81E0B82EC12CD12C109297004398F5 |
:1000F00085E090E09093830080938200AFDF57D635 |
:1001000088EC90E0DDD3C12FDD27D0938300C0932E |
:100110008200EE24FF248701EA14FB040C051D0570 |
:1001200078F480916600882311F43ED201C050D348 |
:1001300084E6C3DF0894E11CF11C011D111DECCF06 |
:10014000C601B5012FE030E040E050E013D8A21A1C |
:10015000B30AC40AD50A0894A108B108C108D10895 |
:1001600089E1A816B104C104D104C8F020D6809159 |
:1001700099008F5F809399008091990066E0DAD7AB |
:1001800090939900AED3D0938300C093820066DF32 |
:10019000449BBFCF82B390E8892782BBBACFDF915F |
:1001A000CF911F910F91FF90EF90DF90CF90BF9074 |
:1001B000AF90089540917A0050917B004115510510 |
:1001C00009F04BC080917900882371F090918800EC |
:1001D0008FEF989FC001112468EC70E0B7D770933F |
:1001E00085006093840041C080918E00882341F196 |
:1001F000209190003091910081E02D32380708F075 |
:100200009A01293C310510F028EC30E02B30310503 |
:1002100028F4509385004093840026C08CEF90E032 |
:10022000289FA001299F500D389F500D1124CA010D |
:10023000885D994064EB70E089D7CB01039610C0CC |
:100240008091840090918500009729F00197909308 |
:10025000850080938400AB9A08C080918803992719 |
:100260009093850080938400AB9880918400909156 |
:1002700085008F3F910539F030F08FEF90E090933B |
:10028000850080938400809184009927089580914F |
:100290008000909181009093780380937703809100 |
:1002A0007E00992790937A03809379038091700060 |
:1002B0009091710090937C0380937B0380919000D8 |
:1002C0009091910090937E0380937D030895CFE5F4 |
:1002D000D4E0DEBFCDBFEE2488E084BB85BB8AEBD3 |
:1002E00081BB80E882BB8EE087BB81E388BB5BD2A9 |
:1002F000CAD27894C0E0D0E0C130D10509F4979A11 |
:1003000086E990E0DDD297988AEF90E0D9D22196E5 |
:10031000C530D1058CF384EF91E0D2D244D2C3DE54 |
:1003200080E5DCD31AD385E690E0B6D286E690E08D |
:10033000B3D287E690E0B0D2EC018EEF90E0ACD281 |
:100340005C018DEE93E0A8D28C018EEE93E0A4D2F6 |
:100350006C01CE01AAD28823E1F3979A1092830010 |
:10036000109282007BDE88E080BF81E087B98AE05E |
:1003700090E092D2EC0181E090E090937A03809338 |
:100380007903109291001092900014DF99279093B6 |
:10039000830080938200809199008E1551F0109215 |
:1003A00062001092630082E390E076D2EC01E0906C |
:1003B00099008091820090918300892BC9F410925A |
:1003C000740010926300C80170D28823D9F0109293 |
:1003D0009700439881E08093620082B3877C82BB60 |
:1003E00082E08FBD81E485BD85B3817F85BB0AC076 |
:1003F00080916200882319F081E0809374008CED75 |
:1004000095E04AD280916200882321F01092830007 |
:100410001092820023DE809163008F5F80936300DF |
:10042000813009F0B2CF809162008111979AC501A5 |
:100430003CD2882339F182E390E02ED25C01809196 |
:100440007E00482F5527209180003091810042176F |
:10045000530710F48F5F04C02417350718F4815038 |
:1004600080937E0080917E0090916100823428F01C |
:10047000915090936100AB9A05C09F3F19F09F5F28 |
:1004800090936100C80111D2882319F18AE090E0AD |
:1004900003D28C012091720030917300C901880F42 |
:1004A000991F880F991F820F931F820F931F66E079 |
:1004B00070E04CD6709371006093700010927300DE |
:1004C0001092720080918E00882319F481E080934D |
:1004D0006000C601EAD1882321F08CED95E0DCD1E3 |
:1004E0006C01CE01E2D1882331F0809170009091AF |
:1004F0007100892B29F080917400882309F445CF7D |
:1005000021E0F22EF092620010929700439884E668 |
:1005100090E0C2D1EC0180917400882309F435CFBA |
:10052000AB98109274008AE0CFDD979A1092620027 |
:100530008091990081508093990081E090E09093A0 |
:100540008300809382008ADD88B18C7F88B9F09225 |
:10055000970088B18A6088B984E690E09DD1EC016B |
:10056000CE01A3D18823E1F38AE090E09093830049 |
:100570008093820073DD88EC90E08ED1EC01CE0197 |
:1005800094D18823E1F388EE93E086D1EC0197E0E3 |
:10059000E92EFBCE1F920F920FB60F9211240F90EF |
:1005A0000FBE0F901F9018955E9B24C0809166002F |
:1005B0008823E1F48091890090918A0001969093BC |
:1005C0008A0080938900FC01E556FD4FE081ED3003 |
:1005D00019F08436910539F410928A00109289003E |
:1005E00081E080936600589AECB9089510928A00D1 |
:1005F0001092890008951F920F920FB60F92112446 |
:100600008F938CB18093870080918700853F19F488 |
:100610001092670014C0809167008F5F809367001D |
:10062000813041F4809187008093880088EC80932A |
:10063000790005C0853618F084E6809367008F91B5 |
:100640000F900FBE0F901F901895AC01A0E0B0E086 |
:100650009D01A817B90748F4EBE9F2E08191280F52 |
:10066000311D1196A417B507C8F33F70FD01E5567B |
:10067000FD4FC90146E0969587954A95E1F7835C61 |
:1006800080831196FD01E556FD4F2F733070822F48 |
:10069000835C8083A456BD4F8DE08C9310926600DE |
:1006A00080919B028CB908951F93CF93DF93382FCD |
:1006B000EA01722F10E083E280939B0260939C0218 |
:1006C00030939D02A3E0B0E0772309F458C077236C |
:1006D00011F4972F07C0FE01E10FF11D1F5F9081FC |
:1006E000715011F4472F0EC0FE01E10FF11D1F5F85 |
:1006F0004081715039F0FE01E10FF11D1F5F6081F3 |
:10070000715001C0672FFD01E556FD4F892F869579 |
:100710008695835C80831196FD01E556FD4F892FF8 |
:1007200099278370907024E0880F991F2A95E1F72C |
:1007300055279A0194E0369527959A95E1F7822BF3 |
:10074000835C80831196FD01E556FD4F4F7050701C |
:10075000440F551F440F551F862F992756E0969535 |
:1007600087955A95E1F7842B835C80831196FD0170 |
:10077000E556FD4F6F73635C60831196A5CFCD0185 |
:1007800064DFDF91CF911F910895CF93C82F8A30F6 |
:1007900011F48DE0FADF5D9BFECFCCB980E090E0F4 |
:1007A000CF910895089588E18AB9599A579A89E1B5 |
:1007B00089B960E070E085EC93E05FD388EC90E06D |
:1007C0006BD0909300038093FF028AE28CB9089566 |
:1007D0008091FF029091000368D0882391F080916E |
:1007E0006600882371F022E245E653E060919A02A8 |
:1007F00084E45ADF82E390E04FD09093000380932B |
:10080000FF0208951F920F920FB60F9211248F933B |
:100810009F93809187038F5F8093870380918D00E2 |
:10082000815080938D008F3F39F583E080938D0058 |
:1008300080918B0090918C00019690938C00809316 |
:100840008B0080917A0090917B00009729F00197AE |
:1008500090937B0080937A0080918E00882329F00A |
:1008600080918E00815080938E0080917900882342 |
:1008700019F08150809379009F918F910F900FBE56 |
:100880000F901F90189582E083BF89B7816089BF60 |
:1008900089B7806489BF089520918B0030918C00C6 |
:1008A000280F391FC9010197089520918B003091BD |
:1008B0008C00821B930B892F9927807899270895A4 |
:1008C000CF93DF93E9DFEC01CE01EFDF8823E1F383 |
:1008D000DF91CF91089586EA86B987E087B9369A85 |
:1008E000089527B196E097B910BE83ED86B9349A82 |
:1008F00097B9369A349BFECF27B944B155B1440F0E |
:10090000551F440F551F493C510510F048EC50E06D |
:100910002091800030918100C90163E0880F991F08 |
:100920006A95E1F7821B930B840F951F23E0969540 |
:1009300087952A95E1F7909381008093800020911C |
:100940007F0033272817390720F480918000809397 |
:100950007F0016B888E080BF08958EB5806C8EBD8C |
:100960008EB580648EBD89B7806289BF89B7846087 |
:1009700089BF08951F920F920FB60F9211248F9383 |
:1009800080918F008F5F80938F008F910F900FBEAB |
:100990000F901F9018951F920F920FB60F9211246F |
:1009A0002F933F938F939F930EB406FE0FC0109228 |
:1009B0008F0086B597B590939300809392008EB583 |
:1009C0008F7B8EBD84E680938E0070C08EB5806470 |
:1009D0008EBD26B537B58091920090919300281B6B |
:1009E000390B80918F009927982F8827990F280F0E |
:1009F000391F689414F8369527951694E1F73093CB |
:100A00009500209394002851314030F488E191E022 |
:100A100090939500809394002091940030919500DC |
:100A2000285131403093950020939400809190009C |
:100A3000909191008217930730F4809190009091EB |
:100A4000910001960CC08091900090919100281720 |
:100A5000390748F48091900090919100019790930C |
:100A60009100809390002091900030919100C901F5 |
:100A7000880F991F880F991F880F991F821B930B4E |
:100A80002091940030919500820F931F23E096955A |
:100A900087952A95E1F79093950080939400909321 |
:100AA00091008093900081E0809360009F918F91EE |
:100AB0003F912F910F900FBE0F901F9018951F928E |
:100AC0000F920FB60F9211248F938AB78F7B8ABF34 |
:100AD0008F910F900FBE0F901F9018958E5F82B967 |
:100AE00085EC86BF08951F920F920FB60F921124C6 |
:100AF0008F939F9381B19927887F9070803891055B |
:100B0000E9F08138910534F40097B1F18036910510 |
:100B100079F035C0883B9105D9F0893B910524F4E3 |
:100B2000883A9105A9F02BC0883F910511F127C0A3 |
:100B300086B7806886BF1092960023C083B18093E9 |
:100B4000880384EF91E090937B0080937A000EC03D |
:100B500090919600992339F480917E0083B99F5F2C |
:100B60009093960003C08091610083B986B7806836 |
:100B700007C086B7806986BF86B7806986BF85EC67 |
:100B800086BF9F918F910F900FBE0F901F90189569 |
:100B90001F920F920FB60F9211240F900FBE0F905D |
:100BA0001F9018951F920F920FB60F9211241F934A |
:100BB0002F933F934F935F936F937F938F939F9365 |
:100BC000AF93BF93CF93EF93FF93459B02C011E088 |
:100BD00001C010E08091990099278230910509F4B5 |
:100BE00050C0833091052CF4009779F0019739F1CA |
:100BF000BFC08430910509F478C0843091050CF4AD |
:100C00005AC0059709F48BC0B3C082EA8FBD81E654 |
:100C100085BD88E087BB112369F082B3877E82BBE4 |
:100C2000959AC1E0C4BD8091600081115ADE409860 |
:100C3000C7B91BC082B3877D82BB949A99C082B327 |
:100C4000877E82BB959A1123B1F482EA8FBD81E43D |
:100C500085BD8CE087BB81E084BD809160008111FF |
:100C600040DE17B988B1836088B9809199008F5FA1 |
:100C7000809399006DC082EA8FBD81E685BD88E0D2 |
:100C800076C082EA8FBD81E485BD8CE087BB1123ED |
:100C900069F082B38F7C82BB939A81E084BD80919E |
:100CA000600081111EDE82E087B932C082B3877E88 |
:100CB00082BB959A5DC082B38F7C82BB939A1123CD |
:100CC00071F482EA8FBD81E485BD8AE087BBC1E013 |
:100CD000C4BD80916000811104DEC7B9C3CF82EA30 |
:100CE0008FBD81E485BD8CE042C082EA8FBD81E486 |
:100CF00085BD8AE087BB112369F082B3877D82BB03 |
:100D0000949A81E084BD809160008111EADD17B87A |
:100D10004098ABCF82B38F7C82BB939A29C082B3B9 |
:100D2000877D82BB949A1123E9F482EA8FBD81E624 |
:100D300085BD88E087BB81E084BD80916000811122 |
:100D4000D0DD82E087B988B1836088B910939900BB |
:100D5000809172009091730001969093730080933C |
:100D6000720006C082EA8FBD81E485BD8AE087BB40 |
:100D7000459903C0112309F028CF459B03C01123D7 |
:100D800009F423CF10926000FF91EF91CF91BF91B2 |
:100D9000AF919F918F917F916F915F914F913F9113 |
:100DA0002F911F910F900FBE0F901F90189580915B |
:100DB000990099278230910551F1833091052CF4E7 |
:100DC000009769F00197B9F0089584309105E1F139 |
:100DD000843091055CF1059709F443C0089582EAD7 |
:100DE0008FBD81E685BD88E087BB82B3877D82BBEE |
:100DF000949A82E034C082EA8FBD81E685BD88E0A6 |
:100E000087BB82B3877E82BB959A81E01AC082EA53 |
:100E10008FBD81E485BD8CE087BB82B3877E82BBBA |
:100E2000959A17B888B1836088B9089582EA8FBD12 |
:100E300081E485BD8CE087BB82B38F7C82BB939AB3 |
:100E400082E087B94098089582EA8FBD81E485BD2C |
:100E50008AE087BB82B38F7C82BB939A81E087B99B |
:100E6000E1CF82EA8FBD81E485BD8AE087BB82B392 |
:100E7000877D82BB949A17B8E5CF0F931F93CF93CA |
:100E8000DF938C01EB01009711F4672BB9F16EE051 |
:100E900070E081E090E037D0FC01892B71F180E8AF |
:100EA0008383209771F0D387C28781E88383809101 |
:100EB000890390918A03892B21F4F0938A03E093AC |
:100EC000890301151105C9F01187008783818260AC |
:100ED000838380918B0390918C03892B71F4F09321 |
:100EE0008C03E0938B0380918D0390918E03892B6B |
:100EF00021F4F0938E03E0938D03CF01DF91CF9126 |
:100F00001F910F9108950F931F93CF93DF93869FA7 |
:100F10008001879F100D969F100D1124C8010DD0E0 |
:100F2000EC01009721F0A80160E070E0FCD0CE0158 |
:100F3000DF91CF911F910F910895CF93DF93AC0173 |
:100F4000029710F442E050E020E030E0A0919103DD |
:100F5000B0919203BD01F901109709F44CC08D9135 |
:100F60009C9111978417950731F14817590738F468 |
:100F70002115310519F08217930708F49C01FD0132 |
:100F8000A281B381109759F721153105A1F1C9014B |
:100F9000841B950B049708F4A901DB01E0E0F0E065 |
:100FA000109749F18D919C91119782179307F9F44D |
:100FB0004217530779F4ED018A819B81309719F02C |
:100FC0009383828304C09093920380939103CD0115 |
:100FD00002964AC0241B350BFD01E20FF31F41931B |
:100FE0005193225030402D933C93CF013DC0FD01E1 |
:100FF000A281B381D5CF80918F0390919003892BEB |
:1010000041F480916B0090916C00909390038093D9 |
:101010008F03E0916900F0916A00309741F4EDB7D9 |
:10102000FEB780916D0090916E00E81BF90BA091C6 |
:101030008F03B09190039F012A1B3B0B24173507A8 |
:1010400088F0CA0102962817390760F0CD01840F95 |
:10105000951F02969093900380938F034D935D9319 |
:10106000CD0102C080E090E0DF91CF910895CF9351 |
:10107000DF93009709F454C0DC011297ED011B8245 |
:101080001A828091910390919203009721F1FC01C3 |
:1010900040E050E0EA17FB0718F1ED01FB83EA831B |
:1010A0002D913C911197C20FD31FCE0102968E173E |
:1010B0009F0771F48A819B81280F391F2E5F3F4F54 |
:1010C00011963C932E9382819381FD0193838283B9 |
:1010D0004115510559F4B0939203A093910320C098 |
:1010E000AF010280F381E02D3097A1F6EA01BB83C6 |
:1010F000AA83CA01029628813981820F931F8A1719 |
:101100009B0771F48D919C911197280F391F2E5FC9 |
:101110003F4F39832883FD01828193819B838A839A |
:10112000DF91CF910895DC0101C06D934150504093 |
:10113000E0F70895991B79E004C0991F961708F00D |
:10114000961B881F7A95C9F780950895AA1BBB1B2B |
:1011500051E107C0AA1FBB1FA617B70710F0A61BB7 |
:10116000B70B881F991F5A95A9F780959095BC01D8 |
:10117000CD010895A1E21A2EAA1BBB1BFD010DC0D3 |
:10118000AA1FBB1FEE1FFF1FA217B307E407F50737 |
:1011900020F0A21BB30BE40BF50B661F771F881F13 |
:1011A000991F1A9469F760957095809590959B01A9 |
:0811B000AC01BD01CF0108955F |
:1011B80001FF01010A00016464000093032000009C |
:00000001FF |
/branches/V0.60_Kompass_Name/Hex-Files/BrushLess-Ctrl_16kHz_ADR2_V0_31.hex |
---|
0,0 → 1,286 |
:1000000012C05DC52AC029C0C3C5C5C426C025C04D |
:10001000B1C4F8C322C0EFC220C0BCC21EC01DC004 |
:10002000C1C561C51AC011241FBECFE5D4E0DEBF33 |
:10003000CDBF10E0A0E6B0E0E8EBF1E102C0059032 |
:100040000D92A037B107D9F713E0A0E7B0E001C0E7 |
:100050001D92A339B107E1F73AC1D2CF20918200B6 |
:1000600080916100821710F4282FAB9A8091800054 |
:10007000909181008338910560F01BBC1ABC19BCBB |
:1000800018BC13BCAB9A01979093810080938000B9 |
:100090000895822F9927880F991F9BBD8ABD99BD0E |
:1000A00088BD23BD089582E08FBD81E485BD85B301 |
:1000B000817F85BB89E08EBD089592B7980F82B786 |
:1000C000891B87FDFCCF0895AF92BF92CF92DF923C |
:1000D000EF92FF920F931F93CF93DF93182F8CE231 |
:1000E000A82E81E0B82EC12CD12C109297004398F5 |
:1000F00085E090E09093830080938200AFDF57D635 |
:1001000088EC90E0DDD3C12FDD27D0938300C0932E |
:100110008200EE24FF248701EA14FB040C051D0570 |
:1001200078F480916600882311F43ED201C050D348 |
:1001300084E6C3DF0894E11CF11C011D111DECCF06 |
:10014000C601B5012FE030E040E050E013D8A21A1C |
:10015000B30AC40AD50A0894A108B108C108D10895 |
:1001600089E1A816B104C104D104C8F020D6809159 |
:1001700099008F5F809399008091990066E0DAD7AB |
:1001800090939900AED3D0938300C093820066DF32 |
:10019000449BBFCF82B390E8892782BBBACFDF915F |
:1001A000CF911F910F91FF90EF90DF90CF90BF9074 |
:1001B000AF90089540917A0050917B004115510510 |
:1001C00009F04BC080917900882371F090918800EC |
:1001D0008FEF989FC001112468EC70E0B7D770933F |
:1001E00085006093840041C080918E00882341F196 |
:1001F000209190003091910081E02D32380708F075 |
:100200009A01293C310510F028EC30E02B30310503 |
:1002100028F4509385004093840026C08CEF90E032 |
:10022000289FA001299F500D389F500D1124CA010D |
:10023000885D994064EB70E089D7CB01039610C0CC |
:100240008091840090918500009729F00197909308 |
:10025000850080938400AB9A08C080918803992719 |
:100260009093850080938400AB9880918400909156 |
:1002700085008F3F910539F030F08FEF90E090933B |
:10028000850080938400809184009927089580914F |
:100290008000909181009093780380937703809100 |
:1002A0007E00992790937A03809379038091700060 |
:1002B0009091710090937C0380937B0380919000D8 |
:1002C0009091910090937E0380937D030895CFE5F4 |
:1002D000D4E0DEBFCDBFEE2488E084BB85BB8AEBD3 |
:1002E00081BB80E882BB8EE087BB81E388BB5BD2A9 |
:1002F000CAD27894C0E0D0E0C230D10509F4979A10 |
:1003000086E990E0DDD297988AEF90E0D9D22196E5 |
:10031000C530D1058CF384EF91E0D2D244D2C3DE54 |
:1003200080E5DCD31AD385E690E0B6D286E690E08D |
:10033000B3D287E690E0B0D2EC018EEF90E0ACD281 |
:100340005C018DEE93E0A8D28C018EEE93E0A4D2F6 |
:100350006C01CE01AAD28823E1F3979A1092830010 |
:10036000109282007BDE88E080BF81E087B98AE05E |
:1003700090E092D2EC0181E090E090937A03809338 |
:100380007903109291001092900014DF99279093B6 |
:10039000830080938200809199008E1551F0109215 |
:1003A00062001092630082E390E076D2EC01E0906C |
:1003B00099008091820090918300892BC9F410925A |
:1003C000740010926300C80170D28823D9F0109293 |
:1003D0009700439881E08093620082B3877C82BB60 |
:1003E00082E08FBD81E485BD85B3817F85BB0AC076 |
:1003F00080916200882319F081E0809374008CED75 |
:1004000095E04AD280916200882321F01092830007 |
:100410001092820023DE809163008F5F80936300DF |
:10042000813009F0B2CF809162008111979AC501A5 |
:100430003CD2882339F182E390E02ED25C01809196 |
:100440007E00482F5527209180003091810042176F |
:10045000530710F48F5F04C02417350718F4815038 |
:1004600080937E0080917E0090916100823428F01C |
:10047000915090936100AB9A05C09F3F19F09F5F28 |
:1004800090936100C80111D2882319F18AE090E0AD |
:1004900003D28C012091720030917300C901880F42 |
:1004A000991F880F991F820F931F820F931F66E079 |
:1004B00070E04CD6709371006093700010927300DE |
:1004C0001092720080918E00882319F481E080934D |
:1004D0006000C601EAD1882321F08CED95E0DCD1E3 |
:1004E0006C01CE01E2D1882331F0809170009091AF |
:1004F0007100892B29F080917400882309F445CF7D |
:1005000021E0F22EF092620010929700439884E668 |
:1005100090E0C2D1EC0180917400882309F435CFBA |
:10052000AB98109274008AE0CFDD979A1092620027 |
:100530008091990081508093990081E090E09093A0 |
:100540008300809382008ADD88B18C7F88B9F09225 |
:10055000970088B18A6088B984E690E09DD1EC016B |
:10056000CE01A3D18823E1F38AE090E09093830049 |
:100570008093820073DD88EC90E08ED1EC01CE0197 |
:1005800094D18823E1F388EE93E086D1EC0197E0E3 |
:10059000E92EFBCE1F920F920FB60F9211240F90EF |
:1005A0000FBE0F901F9018955E9B24C0809166002F |
:1005B0008823E1F48091890090918A0001969093BC |
:1005C0008A0080938900FC01E556FD4FE081ED3003 |
:1005D00019F08436910539F410928A00109289003E |
:1005E00081E080936600589AECB9089510928A00D1 |
:1005F0001092890008951F920F920FB60F92112446 |
:100600008F938CB18093870080918700853F19F488 |
:100610001092670014C0809167008F5F809367001D |
:10062000823041F4809187008093880088EC809329 |
:10063000790005C0853618F084E6809367008F91B5 |
:100640000F900FBE0F901F901895AC01A0E0B0E086 |
:100650009D01A817B90748F4EBE9F2E08191280F52 |
:10066000311D1196A417B507C8F33F70FD01E5567B |
:10067000FD4FC90146E0969587954A95E1F7835C61 |
:1006800080831196FD01E556FD4F2F733070822F48 |
:10069000835C8083A456BD4F8DE08C9310926600DE |
:1006A00080919B028CB908951F93CF93DF93382FCD |
:1006B000EA01722F10E083E280939B0260939C0218 |
:1006C00030939D02A3E0B0E0772309F458C077236C |
:1006D00011F4972F07C0FE01E10FF11D1F5F9081FC |
:1006E000715011F4472F0EC0FE01E10FF11D1F5F85 |
:1006F0004081715039F0FE01E10FF11D1F5F6081F3 |
:10070000715001C0672FFD01E556FD4F892F869579 |
:100710008695835C80831196FD01E556FD4F892FF8 |
:1007200099278370907024E0880F991F2A95E1F72C |
:1007300055279A0194E0369527959A95E1F7822BF3 |
:10074000835C80831196FD01E556FD4F4F7050701C |
:10075000440F551F440F551F862F992756E0969535 |
:1007600087955A95E1F7842B835C80831196FD0170 |
:10077000E556FD4F6F73635C60831196A5CFCD0185 |
:1007800064DFDF91CF911F910895CF93C82F8A30F6 |
:1007900011F48DE0FADF5D9BFECFCCB980E090E0F4 |
:1007A000CF910895089588E18AB9599A579A89E1B5 |
:1007B00089B960E070E085EC93E05FD388EC90E06D |
:1007C0006BD0909300038093FF028AE28CB9089566 |
:1007D0008091FF029091000368D0882391F080916E |
:1007E0006600882371F022E245E653E060919A02A8 |
:1007F00084E45ADF82E390E04FD09093000380932B |
:10080000FF0208951F920F920FB60F9211248F933B |
:100810009F93809187038F5F8093870380918D00E2 |
:10082000815080938D008F3F39F583E080938D0058 |
:1008300080918B0090918C00019690938C00809316 |
:100840008B0080917A0090917B00009729F00197AE |
:1008500090937B0080937A0080918E00882329F00A |
:1008600080918E00815080938E0080917900882342 |
:1008700019F08150809379009F918F910F900FBE56 |
:100880000F901F90189582E083BF89B7816089BF60 |
:1008900089B7806489BF089520918B0030918C00C6 |
:1008A000280F391FC9010197089520918B003091BD |
:1008B0008C00821B930B892F9927807899270895A4 |
:1008C000CF93DF93E9DFEC01CE01EFDF8823E1F383 |
:1008D000DF91CF91089586EA86B987E087B9369A85 |
:1008E000089527B196E097B910BE83ED86B9349A82 |
:1008F00097B9369A349BFECF27B944B155B1440F0E |
:10090000551F440F551F493C510510F048EC50E06D |
:100910002091800030918100C90163E0880F991F08 |
:100920006A95E1F7821B930B840F951F23E0969540 |
:1009300087952A95E1F7909381008093800020911C |
:100940007F0033272817390720F480918000809397 |
:100950007F0016B888E080BF08958EB5806C8EBD8C |
:100960008EB580648EBD89B7806289BF89B7846087 |
:1009700089BF08951F920F920FB60F9211248F9383 |
:1009800080918F008F5F80938F008F910F900FBEAB |
:100990000F901F9018951F920F920FB60F9211246F |
:1009A0002F933F938F939F930EB406FE0FC0109228 |
:1009B0008F0086B597B590939300809392008EB583 |
:1009C0008F7B8EBD84E680938E0070C08EB5806470 |
:1009D0008EBD26B537B58091920090919300281B6B |
:1009E000390B80918F009927982F8827990F280F0E |
:1009F000391F689414F8369527951694E1F73093CB |
:100A00009500209394002851314030F488E191E022 |
:100A100090939500809394002091940030919500DC |
:100A2000285131403093950020939400809190009C |
:100A3000909191008217930730F4809190009091EB |
:100A4000910001960CC08091900090919100281720 |
:100A5000390748F48091900090919100019790930C |
:100A60009100809390002091900030919100C901F5 |
:100A7000880F991F880F991F880F991F821B930B4E |
:100A80002091940030919500820F931F23E096955A |
:100A900087952A95E1F79093950080939400909321 |
:100AA00091008093900081E0809360009F918F91EE |
:100AB0003F912F910F900FBE0F901F9018951F928E |
:100AC0000F920FB60F9211248F938AB78F7B8ABF34 |
:100AD0008F910F900FBE0F901F9018958C5F82B969 |
:100AE00085EC86BF08951F920F920FB60F921124C6 |
:100AF0008F939F9381B19927887F9070803891055B |
:100B0000E9F08138910534F40097B1F18036910510 |
:100B100079F035C0883B9105D9F0893B910524F4E3 |
:100B2000883A9105A9F02BC0883F910511F127C0A3 |
:100B300086B7806886BF1092960023C083B18093E9 |
:100B4000880384EF91E090937B0080937A000EC03D |
:100B500090919600992339F480917E0083B99F5F2C |
:100B60009093960003C08091610083B986B7806836 |
:100B700007C086B7806986BF86B7806986BF85EC67 |
:100B800086BF9F918F910F900FBE0F901F90189569 |
:100B90001F920F920FB60F9211240F900FBE0F905D |
:100BA0001F9018951F920F920FB60F9211241F934A |
:100BB0002F933F934F935F936F937F938F939F9365 |
:100BC000AF93BF93CF93EF93FF93459B02C011E088 |
:100BD00001C010E08091990099278230910509F4B5 |
:100BE00050C0833091052CF4009779F0019739F1CA |
:100BF000BFC08430910509F478C0843091050CF4AD |
:100C00005AC0059709F48BC0B3C082EA8FBD81E654 |
:100C100085BD88E087BB112369F082B3877E82BBE4 |
:100C2000959AC1E0C4BD8091600081115ADE409860 |
:100C3000C7B91BC082B3877D82BB949A99C082B327 |
:100C4000877E82BB959A1123B1F482EA8FBD81E43D |
:100C500085BD8CE087BB81E084BD809160008111FF |
:100C600040DE17B988B1836088B9809199008F5FA1 |
:100C7000809399006DC082EA8FBD81E685BD88E0D2 |
:100C800076C082EA8FBD81E485BD8CE087BB1123ED |
:100C900069F082B38F7C82BB939A81E084BD80919E |
:100CA000600081111EDE82E087B932C082B3877E88 |
:100CB00082BB959A5DC082B38F7C82BB939A1123CD |
:100CC00071F482EA8FBD81E485BD8AE087BBC1E013 |
:100CD000C4BD80916000811104DEC7B9C3CF82EA30 |
:100CE0008FBD81E485BD8CE042C082EA8FBD81E486 |
:100CF00085BD8AE087BB112369F082B3877D82BB03 |
:100D0000949A81E084BD809160008111EADD17B87A |
:100D10004098ABCF82B38F7C82BB939A29C082B3B9 |
:100D2000877D82BB949A1123E9F482EA8FBD81E624 |
:100D300085BD88E087BB81E084BD80916000811122 |
:100D4000D0DD82E087B988B1836088B910939900BB |
:100D5000809172009091730001969093730080933C |
:100D6000720006C082EA8FBD81E485BD8AE087BB40 |
:100D7000459903C0112309F028CF459B03C01123D7 |
:100D800009F423CF10926000FF91EF91CF91BF91B2 |
:100D9000AF919F918F917F916F915F914F913F9113 |
:100DA0002F911F910F900FBE0F901F90189580915B |
:100DB000990099278230910551F1833091052CF4E7 |
:100DC000009769F00197B9F0089584309105E1F139 |
:100DD000843091055CF1059709F443C0089582EAD7 |
:100DE0008FBD81E685BD88E087BB82B3877D82BBEE |
:100DF000949A82E034C082EA8FBD81E685BD88E0A6 |
:100E000087BB82B3877E82BB959A81E01AC082EA53 |
:100E10008FBD81E485BD8CE087BB82B3877E82BBBA |
:100E2000959A17B888B1836088B9089582EA8FBD12 |
:100E300081E485BD8CE087BB82B38F7C82BB939AB3 |
:100E400082E087B94098089582EA8FBD81E485BD2C |
:100E50008AE087BB82B38F7C82BB939A81E087B99B |
:100E6000E1CF82EA8FBD81E485BD8AE087BB82B392 |
:100E7000877D82BB949A17B8E5CF0F931F93CF93CA |
:100E8000DF938C01EB01009711F4672BB9F16EE051 |
:100E900070E081E090E037D0FC01892B71F180E8AF |
:100EA0008383209771F0D387C28781E88383809101 |
:100EB000890390918A03892B21F4F0938A03E093AC |
:100EC000890301151105C9F01187008783818260AC |
:100ED000838380918B0390918C03892B71F4F09321 |
:100EE0008C03E0938B0380918D0390918E03892B6B |
:100EF00021F4F0938E03E0938D03CF01DF91CF9126 |
:100F00001F910F9108950F931F93CF93DF93869FA7 |
:100F10008001879F100D969F100D1124C8010DD0E0 |
:100F2000EC01009721F0A80160E070E0FCD0CE0158 |
:100F3000DF91CF911F910F910895CF93DF93AC0173 |
:100F4000029710F442E050E020E030E0A0919103DD |
:100F5000B0919203BD01F901109709F44CC08D9135 |
:100F60009C9111978417950731F14817590738F468 |
:100F70002115310519F08217930708F49C01FD0132 |
:100F8000A281B381109759F721153105A1F1C9014B |
:100F9000841B950B049708F4A901DB01E0E0F0E065 |
:100FA000109749F18D919C91119782179307F9F44D |
:100FB0004217530779F4ED018A819B81309719F02C |
:100FC0009383828304C09093920380939103CD0115 |
:100FD00002964AC0241B350BFD01E20FF31F41931B |
:100FE0005193225030402D933C93CF013DC0FD01E1 |
:100FF000A281B381D5CF80918F0390919003892BEB |
:1010000041F480916B0090916C00909390038093D9 |
:101010008F03E0916900F0916A00309741F4EDB7D9 |
:10102000FEB780916D0090916E00E81BF90BA091C6 |
:101030008F03B09190039F012A1B3B0B24173507A8 |
:1010400088F0CA0102962817390760F0CD01840F95 |
:10105000951F02969093900380938F034D935D9319 |
:10106000CD0102C080E090E0DF91CF910895CF9351 |
:10107000DF93009709F454C0DC011297ED011B8245 |
:101080001A828091910390919203009721F1FC01C3 |
:1010900040E050E0EA17FB0718F1ED01FB83EA831B |
:1010A0002D913C911197C20FD31FCE0102968E173E |
:1010B0009F0771F48A819B81280F391F2E5F3F4F54 |
:1010C00011963C932E9382819381FD0193838283B9 |
:1010D0004115510559F4B0939203A093910320C098 |
:1010E000AF010280F381E02D3097A1F6EA01BB83C6 |
:1010F000AA83CA01029628813981820F931F8A1719 |
:101100009B0771F48D919C911197280F391F2E5FC9 |
:101110003F4F39832883FD01828193819B838A839A |
:10112000DF91CF910895DC0101C06D934150504093 |
:10113000E0F70895991B79E004C0991F961708F00D |
:10114000961B881F7A95C9F780950895AA1BBB1B2B |
:1011500051E107C0AA1FBB1FA617B70710F0A61BB7 |
:10116000B70B881F991F5A95A9F780959095BC01D8 |
:10117000CD010895A1E21A2EAA1BBB1BFD010DC0D3 |
:10118000AA1FBB1FEE1FFF1FA217B307E407F50737 |
:1011900020F0A21BB30BE40BF50B661F771F881F13 |
:1011A000991F1A9469F760957095809590959B01A9 |
:0811B000AC01BD01CF0108955F |
:1011B80001FF01010A00016464000093032000009C |
:00000001FF |
/branches/V0.60_Kompass_Name/Hex-Files/BrushLess-Ctrl_16kHz_ADR3_V0_31.hex |
---|
0,0 → 1,286 |
:1000000012C05DC52AC029C0C3C5C5C426C025C04D |
:10001000B1C4F8C322C0EFC220C0BCC21EC01DC004 |
:10002000C1C561C51AC011241FBECFE5D4E0DEBF33 |
:10003000CDBF10E0A0E6B0E0E8EBF1E102C0059032 |
:100040000D92A037B107D9F713E0A0E7B0E001C0E7 |
:100050001D92A339B107E1F73AC1D2CF20918200B6 |
:1000600080916100821710F4282FAB9A8091800054 |
:10007000909181008338910560F01BBC1ABC19BCBB |
:1000800018BC13BCAB9A01979093810080938000B9 |
:100090000895822F9927880F991F9BBD8ABD99BD0E |
:1000A00088BD23BD089582E08FBD81E485BD85B301 |
:1000B000817F85BB89E08EBD089592B7980F82B786 |
:1000C000891B87FDFCCF0895AF92BF92CF92DF923C |
:1000D000EF92FF920F931F93CF93DF93182F8CE231 |
:1000E000A82E81E0B82EC12CD12C109297004398F5 |
:1000F00085E090E09093830080938200AFDF57D635 |
:1001000088EC90E0DDD3C12FDD27D0938300C0932E |
:100110008200EE24FF248701EA14FB040C051D0570 |
:1001200078F480916600882311F43ED201C050D348 |
:1001300084E6C3DF0894E11CF11C011D111DECCF06 |
:10014000C601B5012FE030E040E050E013D8A21A1C |
:10015000B30AC40AD50A0894A108B108C108D10895 |
:1001600089E1A816B104C104D104C8F020D6809159 |
:1001700099008F5F809399008091990066E0DAD7AB |
:1001800090939900AED3D0938300C093820066DF32 |
:10019000449BBFCF82B390E8892782BBBACFDF915F |
:1001A000CF911F910F91FF90EF90DF90CF90BF9074 |
:1001B000AF90089540917A0050917B004115510510 |
:1001C00009F04BC080917900882371F090918800EC |
:1001D0008FEF989FC001112468EC70E0B7D770933F |
:1001E00085006093840041C080918E00882341F196 |
:1001F000209190003091910081E02D32380708F075 |
:100200009A01293C310510F028EC30E02B30310503 |
:1002100028F4509385004093840026C08CEF90E032 |
:10022000289FA001299F500D389F500D1124CA010D |
:10023000885D994064EB70E089D7CB01039610C0CC |
:100240008091840090918500009729F00197909308 |
:10025000850080938400AB9A08C080918803992719 |
:100260009093850080938400AB9880918400909156 |
:1002700085008F3F910539F030F08FEF90E090933B |
:10028000850080938400809184009927089580914F |
:100290008000909181009093780380937703809100 |
:1002A0007E00992790937A03809379038091700060 |
:1002B0009091710090937C0380937B0380919000D8 |
:1002C0009091910090937E0380937D030895CFE5F4 |
:1002D000D4E0DEBFCDBFEE2488E084BB85BB8AEBD3 |
:1002E00081BB80E882BB8EE087BB81E388BB5BD2A9 |
:1002F000CAD27894C0E0D0E0C330D10509F4979A0F |
:1003000086E990E0DDD297988AEF90E0D9D22196E5 |
:10031000C530D1058CF384EF91E0D2D244D2C3DE54 |
:1003200080E5DCD31AD385E690E0B6D286E690E08D |
:10033000B3D287E690E0B0D2EC018EEF90E0ACD281 |
:100340005C018DEE93E0A8D28C018EEE93E0A4D2F6 |
:100350006C01CE01AAD28823E1F3979A1092830010 |
:10036000109282007BDE88E080BF81E087B98AE05E |
:1003700090E092D2EC0181E090E090937A03809338 |
:100380007903109291001092900014DF99279093B6 |
:10039000830080938200809199008E1551F0109215 |
:1003A00062001092630082E390E076D2EC01E0906C |
:1003B00099008091820090918300892BC9F410925A |
:1003C000740010926300C80170D28823D9F0109293 |
:1003D0009700439881E08093620082B3877C82BB60 |
:1003E00082E08FBD81E485BD85B3817F85BB0AC076 |
:1003F00080916200882319F081E0809374008CED75 |
:1004000095E04AD280916200882321F01092830007 |
:100410001092820023DE809163008F5F80936300DF |
:10042000813009F0B2CF809162008111979AC501A5 |
:100430003CD2882339F182E390E02ED25C01809196 |
:100440007E00482F5527209180003091810042176F |
:10045000530710F48F5F04C02417350718F4815038 |
:1004600080937E0080917E0090916100823428F01C |
:10047000915090936100AB9A05C09F3F19F09F5F28 |
:1004800090936100C80111D2882319F18AE090E0AD |
:1004900003D28C012091720030917300C901880F42 |
:1004A000991F880F991F820F931F820F931F66E079 |
:1004B00070E04CD6709371006093700010927300DE |
:1004C0001092720080918E00882319F481E080934D |
:1004D0006000C601EAD1882321F08CED95E0DCD1E3 |
:1004E0006C01CE01E2D1882331F0809170009091AF |
:1004F0007100892B29F080917400882309F445CF7D |
:1005000021E0F22EF092620010929700439884E668 |
:1005100090E0C2D1EC0180917400882309F435CFBA |
:10052000AB98109274008AE0CFDD979A1092620027 |
:100530008091990081508093990081E090E09093A0 |
:100540008300809382008ADD88B18C7F88B9F09225 |
:10055000970088B18A6088B984E690E09DD1EC016B |
:10056000CE01A3D18823E1F38AE090E09093830049 |
:100570008093820073DD88EC90E08ED1EC01CE0197 |
:1005800094D18823E1F388EE93E086D1EC0197E0E3 |
:10059000E92EFBCE1F920F920FB60F9211240F90EF |
:1005A0000FBE0F901F9018955E9B24C0809166002F |
:1005B0008823E1F48091890090918A0001969093BC |
:1005C0008A0080938900FC01E556FD4FE081ED3003 |
:1005D00019F08436910539F410928A00109289003E |
:1005E00081E080936600589AECB9089510928A00D1 |
:1005F0001092890008951F920F920FB60F92112446 |
:100600008F938CB18093870080918700853F19F488 |
:100610001092670014C0809167008F5F809367001D |
:10062000833041F4809187008093880088EC809328 |
:10063000790005C0853618F084E6809367008F91B5 |
:100640000F900FBE0F901F901895AC01A0E0B0E086 |
:100650009D01A817B90748F4EBE9F2E08191280F52 |
:10066000311D1196A417B507C8F33F70FD01E5567B |
:10067000FD4FC90146E0969587954A95E1F7835C61 |
:1006800080831196FD01E556FD4F2F733070822F48 |
:10069000835C8083A456BD4F8DE08C9310926600DE |
:1006A00080919B028CB908951F93CF93DF93382FCD |
:1006B000EA01722F10E083E280939B0260939C0218 |
:1006C00030939D02A3E0B0E0772309F458C077236C |
:1006D00011F4972F07C0FE01E10FF11D1F5F9081FC |
:1006E000715011F4472F0EC0FE01E10FF11D1F5F85 |
:1006F0004081715039F0FE01E10FF11D1F5F6081F3 |
:10070000715001C0672FFD01E556FD4F892F869579 |
:100710008695835C80831196FD01E556FD4F892FF8 |
:1007200099278370907024E0880F991F2A95E1F72C |
:1007300055279A0194E0369527959A95E1F7822BF3 |
:10074000835C80831196FD01E556FD4F4F7050701C |
:10075000440F551F440F551F862F992756E0969535 |
:1007600087955A95E1F7842B835C80831196FD0170 |
:10077000E556FD4F6F73635C60831196A5CFCD0185 |
:1007800064DFDF91CF911F910895CF93C82F8A30F6 |
:1007900011F48DE0FADF5D9BFECFCCB980E090E0F4 |
:1007A000CF910895089588E18AB9599A579A89E1B5 |
:1007B00089B960E070E085EC93E05FD388EC90E06D |
:1007C0006BD0909300038093FF028AE28CB9089566 |
:1007D0008091FF029091000368D0882391F080916E |
:1007E0006600882371F022E245E653E060919A02A8 |
:1007F00084E45ADF82E390E04FD09093000380932B |
:10080000FF0208951F920F920FB60F9211248F933B |
:100810009F93809187038F5F8093870380918D00E2 |
:10082000815080938D008F3F39F583E080938D0058 |
:1008300080918B0090918C00019690938C00809316 |
:100840008B0080917A0090917B00009729F00197AE |
:1008500090937B0080937A0080918E00882329F00A |
:1008600080918E00815080938E0080917900882342 |
:1008700019F08150809379009F918F910F900FBE56 |
:100880000F901F90189582E083BF89B7816089BF60 |
:1008900089B7806489BF089520918B0030918C00C6 |
:1008A000280F391FC9010197089520918B003091BD |
:1008B0008C00821B930B892F9927807899270895A4 |
:1008C000CF93DF93E9DFEC01CE01EFDF8823E1F383 |
:1008D000DF91CF91089586EA86B987E087B9369A85 |
:1008E000089527B196E097B910BE83ED86B9349A82 |
:1008F00097B9369A349BFECF27B944B155B1440F0E |
:10090000551F440F551F493C510510F048EC50E06D |
:100910002091800030918100C90163E0880F991F08 |
:100920006A95E1F7821B930B840F951F23E0969540 |
:1009300087952A95E1F7909381008093800020911C |
:100940007F0033272817390720F480918000809397 |
:100950007F0016B888E080BF08958EB5806C8EBD8C |
:100960008EB580648EBD89B7806289BF89B7846087 |
:1009700089BF08951F920F920FB60F9211248F9383 |
:1009800080918F008F5F80938F008F910F900FBEAB |
:100990000F901F9018951F920F920FB60F9211246F |
:1009A0002F933F938F939F930EB406FE0FC0109228 |
:1009B0008F0086B597B590939300809392008EB583 |
:1009C0008F7B8EBD84E680938E0070C08EB5806470 |
:1009D0008EBD26B537B58091920090919300281B6B |
:1009E000390B80918F009927982F8827990F280F0E |
:1009F000391F689414F8369527951694E1F73093CB |
:100A00009500209394002851314030F488E191E022 |
:100A100090939500809394002091940030919500DC |
:100A2000285131403093950020939400809190009C |
:100A3000909191008217930730F4809190009091EB |
:100A4000910001960CC08091900090919100281720 |
:100A5000390748F48091900090919100019790930C |
:100A60009100809390002091900030919100C901F5 |
:100A7000880F991F880F991F880F991F821B930B4E |
:100A80002091940030919500820F931F23E096955A |
:100A900087952A95E1F79093950080939400909321 |
:100AA00091008093900081E0809360009F918F91EE |
:100AB0003F912F910F900FBE0F901F9018951F928E |
:100AC0000F920FB60F9211248F938AB78F7B8ABF34 |
:100AD0008F910F900FBE0F901F9018958A5F82B96B |
:100AE00085EC86BF08951F920F920FB60F921124C6 |
:100AF0008F939F9381B19927887F9070803891055B |
:100B0000E9F08138910534F40097B1F18036910510 |
:100B100079F035C0883B9105D9F0893B910524F4E3 |
:100B2000883A9105A9F02BC0883F910511F127C0A3 |
:100B300086B7806886BF1092960023C083B18093E9 |
:100B4000880384EF91E090937B0080937A000EC03D |
:100B500090919600992339F480917E0083B99F5F2C |
:100B60009093960003C08091610083B986B7806836 |
:100B700007C086B7806986BF86B7806986BF85EC67 |
:100B800086BF9F918F910F900FBE0F901F90189569 |
:100B90001F920F920FB60F9211240F900FBE0F905D |
:100BA0001F9018951F920F920FB60F9211241F934A |
:100BB0002F933F934F935F936F937F938F939F9365 |
:100BC000AF93BF93CF93EF93FF93459B02C011E088 |
:100BD00001C010E08091990099278230910509F4B5 |
:100BE00050C0833091052CF4009779F0019739F1CA |
:100BF000BFC08430910509F478C0843091050CF4AD |
:100C00005AC0059709F48BC0B3C082EA8FBD81E654 |
:100C100085BD88E087BB112369F082B3877E82BBE4 |
:100C2000959AC1E0C4BD8091600081115ADE409860 |
:100C3000C7B91BC082B3877D82BB949A99C082B327 |
:100C4000877E82BB959A1123B1F482EA8FBD81E43D |
:100C500085BD8CE087BB81E084BD809160008111FF |
:100C600040DE17B988B1836088B9809199008F5FA1 |
:100C7000809399006DC082EA8FBD81E685BD88E0D2 |
:100C800076C082EA8FBD81E485BD8CE087BB1123ED |
:100C900069F082B38F7C82BB939A81E084BD80919E |
:100CA000600081111EDE82E087B932C082B3877E88 |
:100CB00082BB959A5DC082B38F7C82BB939A1123CD |
:100CC00071F482EA8FBD81E485BD8AE087BBC1E013 |
:100CD000C4BD80916000811104DEC7B9C3CF82EA30 |
:100CE0008FBD81E485BD8CE042C082EA8FBD81E486 |
:100CF00085BD8AE087BB112369F082B3877D82BB03 |
:100D0000949A81E084BD809160008111EADD17B87A |
:100D10004098ABCF82B38F7C82BB939A29C082B3B9 |
:100D2000877D82BB949A1123E9F482EA8FBD81E624 |
:100D300085BD88E087BB81E084BD80916000811122 |
:100D4000D0DD82E087B988B1836088B910939900BB |
:100D5000809172009091730001969093730080933C |
:100D6000720006C082EA8FBD81E485BD8AE087BB40 |
:100D7000459903C0112309F028CF459B03C01123D7 |
:100D800009F423CF10926000FF91EF91CF91BF91B2 |
:100D9000AF919F918F917F916F915F914F913F9113 |
:100DA0002F911F910F900FBE0F901F90189580915B |
:100DB000990099278230910551F1833091052CF4E7 |
:100DC000009769F00197B9F0089584309105E1F139 |
:100DD000843091055CF1059709F443C0089582EAD7 |
:100DE0008FBD81E685BD88E087BB82B3877D82BBEE |
:100DF000949A82E034C082EA8FBD81E685BD88E0A6 |
:100E000087BB82B3877E82BB959A81E01AC082EA53 |
:100E10008FBD81E485BD8CE087BB82B3877E82BBBA |
:100E2000959A17B888B1836088B9089582EA8FBD12 |
:100E300081E485BD8CE087BB82B38F7C82BB939AB3 |
:100E400082E087B94098089582EA8FBD81E485BD2C |
:100E50008AE087BB82B38F7C82BB939A81E087B99B |
:100E6000E1CF82EA8FBD81E485BD8AE087BB82B392 |
:100E7000877D82BB949A17B8E5CF0F931F93CF93CA |
:100E8000DF938C01EB01009711F4672BB9F16EE051 |
:100E900070E081E090E037D0FC01892B71F180E8AF |
:100EA0008383209771F0D387C28781E88383809101 |
:100EB000890390918A03892B21F4F0938A03E093AC |
:100EC000890301151105C9F01187008783818260AC |
:100ED000838380918B0390918C03892B71F4F09321 |
:100EE0008C03E0938B0380918D0390918E03892B6B |
:100EF00021F4F0938E03E0938D03CF01DF91CF9126 |
:100F00001F910F9108950F931F93CF93DF93869FA7 |
:100F10008001879F100D969F100D1124C8010DD0E0 |
:100F2000EC01009721F0A80160E070E0FCD0CE0158 |
:100F3000DF91CF911F910F910895CF93DF93AC0173 |
:100F4000029710F442E050E020E030E0A0919103DD |
:100F5000B0919203BD01F901109709F44CC08D9135 |
:100F60009C9111978417950731F14817590738F468 |
:100F70002115310519F08217930708F49C01FD0132 |
:100F8000A281B381109759F721153105A1F1C9014B |
:100F9000841B950B049708F4A901DB01E0E0F0E065 |
:100FA000109749F18D919C91119782179307F9F44D |
:100FB0004217530779F4ED018A819B81309719F02C |
:100FC0009383828304C09093920380939103CD0115 |
:100FD00002964AC0241B350BFD01E20FF31F41931B |
:100FE0005193225030402D933C93CF013DC0FD01E1 |
:100FF000A281B381D5CF80918F0390919003892BEB |
:1010000041F480916B0090916C00909390038093D9 |
:101010008F03E0916900F0916A00309741F4EDB7D9 |
:10102000FEB780916D0090916E00E81BF90BA091C6 |
:101030008F03B09190039F012A1B3B0B24173507A8 |
:1010400088F0CA0102962817390760F0CD01840F95 |
:10105000951F02969093900380938F034D935D9319 |
:10106000CD0102C080E090E0DF91CF910895CF9351 |
:10107000DF93009709F454C0DC011297ED011B8245 |
:101080001A828091910390919203009721F1FC01C3 |
:1010900040E050E0EA17FB0718F1ED01FB83EA831B |
:1010A0002D913C911197C20FD31FCE0102968E173E |
:1010B0009F0771F48A819B81280F391F2E5F3F4F54 |
:1010C00011963C932E9382819381FD0193838283B9 |
:1010D0004115510559F4B0939203A093910320C098 |
:1010E000AF010280F381E02D3097A1F6EA01BB83C6 |
:1010F000AA83CA01029628813981820F931F8A1719 |
:101100009B0771F48D919C911197280F391F2E5FC9 |
:101110003F4F39832883FD01828193819B838A839A |
:10112000DF91CF910895DC0101C06D934150504093 |
:10113000E0F70895991B79E004C0991F961708F00D |
:10114000961B881F7A95C9F780950895AA1BBB1B2B |
:1011500051E107C0AA1FBB1FA617B70710F0A61BB7 |
:10116000B70B881F991F5A95A9F780959095BC01D8 |
:10117000CD010895A1E21A2EAA1BBB1BFD010DC0D3 |
:10118000AA1FBB1FEE1FFF1FA217B307E407F50737 |
:1011900020F0A21BB30BE40BF50B661F771F881F13 |
:1011A000991F1A9469F760957095809590959B01A9 |
:0811B000AC01BD01CF0108955F |
:1011B80001FF01010A00016464000093032000009C |
:00000001FF |
/branches/V0.60_Kompass_Name/Hex-Files/BrushLess-Ctrl_16kHz_ADR4_V0_31.hex |
---|
0,0 → 1,286 |
:1000000012C05DC52AC029C0C3C5C5C426C025C04D |
:10001000B1C4F8C322C0EFC220C0BCC21EC01DC004 |
:10002000C1C561C51AC011241FBECFE5D4E0DEBF33 |
:10003000CDBF10E0A0E6B0E0E8EBF1E102C0059032 |
:100040000D92A037B107D9F713E0A0E7B0E001C0E7 |
:100050001D92A339B107E1F73AC1D2CF20918200B6 |
:1000600080916100821710F4282FAB9A8091800054 |
:10007000909181008338910560F01BBC1ABC19BCBB |
:1000800018BC13BCAB9A01979093810080938000B9 |
:100090000895822F9927880F991F9BBD8ABD99BD0E |
:1000A00088BD23BD089582E08FBD81E485BD85B301 |
:1000B000817F85BB89E08EBD089592B7980F82B786 |
:1000C000891B87FDFCCF0895AF92BF92CF92DF923C |
:1000D000EF92FF920F931F93CF93DF93182F8CE231 |
:1000E000A82E81E0B82EC12CD12C109297004398F5 |
:1000F00085E090E09093830080938200AFDF57D635 |
:1001000088EC90E0DDD3C12FDD27D0938300C0932E |
:100110008200EE24FF248701EA14FB040C051D0570 |
:1001200078F480916600882311F43ED201C050D348 |
:1001300084E6C3DF0894E11CF11C011D111DECCF06 |
:10014000C601B5012FE030E040E050E013D8A21A1C |
:10015000B30AC40AD50A0894A108B108C108D10895 |
:1001600089E1A816B104C104D104C8F020D6809159 |
:1001700099008F5F809399008091990066E0DAD7AB |
:1001800090939900AED3D0938300C093820066DF32 |
:10019000449BBFCF82B390E8892782BBBACFDF915F |
:1001A000CF911F910F91FF90EF90DF90CF90BF9074 |
:1001B000AF90089540917A0050917B004115510510 |
:1001C00009F04BC080917900882371F090918800EC |
:1001D0008FEF989FC001112468EC70E0B7D770933F |
:1001E00085006093840041C080918E00882341F196 |
:1001F000209190003091910081E02D32380708F075 |
:100200009A01293C310510F028EC30E02B30310503 |
:1002100028F4509385004093840026C08CEF90E032 |
:10022000289FA001299F500D389F500D1124CA010D |
:10023000885D994064EB70E089D7CB01039610C0CC |
:100240008091840090918500009729F00197909308 |
:10025000850080938400AB9A08C080918803992719 |
:100260009093850080938400AB9880918400909156 |
:1002700085008F3F910539F030F08FEF90E090933B |
:10028000850080938400809184009927089580914F |
:100290008000909181009093780380937703809100 |
:1002A0007E00992790937A03809379038091700060 |
:1002B0009091710090937C0380937B0380919000D8 |
:1002C0009091910090937E0380937D030895CFE5F4 |
:1002D000D4E0DEBFCDBFEE2488E084BB85BB8AEBD3 |
:1002E00081BB80E882BB8EE087BB81E388BB5BD2A9 |
:1002F000CAD27894C0E0D0E0C430D10509F4979A0E |
:1003000086E990E0DDD297988AEF90E0D9D22196E5 |
:10031000C530D1058CF384EF91E0D2D244D2C3DE54 |
:1003200080E5DCD31AD385E690E0B6D286E690E08D |
:10033000B3D287E690E0B0D2EC018EEF90E0ACD281 |
:100340005C018DEE93E0A8D28C018EEE93E0A4D2F6 |
:100350006C01CE01AAD28823E1F3979A1092830010 |
:10036000109282007BDE88E080BF81E087B98AE05E |
:1003700090E092D2EC0181E090E090937A03809338 |
:100380007903109291001092900014DF99279093B6 |
:10039000830080938200809199008E1551F0109215 |
:1003A00062001092630082E390E076D2EC01E0906C |
:1003B00099008091820090918300892BC9F410925A |
:1003C000740010926300C80170D28823D9F0109293 |
:1003D0009700439881E08093620082B3877C82BB60 |
:1003E00082E08FBD81E485BD85B3817F85BB0AC076 |
:1003F00080916200882319F081E0809374008CED75 |
:1004000095E04AD280916200882321F01092830007 |
:100410001092820023DE809163008F5F80936300DF |
:10042000813009F0B2CF809162008111979AC501A5 |
:100430003CD2882339F182E390E02ED25C01809196 |
:100440007E00482F5527209180003091810042176F |
:10045000530710F48F5F04C02417350718F4815038 |
:1004600080937E0080917E0090916100823428F01C |
:10047000915090936100AB9A05C09F3F19F09F5F28 |
:1004800090936100C80111D2882319F18AE090E0AD |
:1004900003D28C012091720030917300C901880F42 |
:1004A000991F880F991F820F931F820F931F66E079 |
:1004B00070E04CD6709371006093700010927300DE |
:1004C0001092720080918E00882319F481E080934D |
:1004D0006000C601EAD1882321F08CED95E0DCD1E3 |
:1004E0006C01CE01E2D1882331F0809170009091AF |
:1004F0007100892B29F080917400882309F445CF7D |
:1005000021E0F22EF092620010929700439884E668 |
:1005100090E0C2D1EC0180917400882309F435CFBA |
:10052000AB98109274008AE0CFDD979A1092620027 |
:100530008091990081508093990081E090E09093A0 |
:100540008300809382008ADD88B18C7F88B9F09225 |
:10055000970088B18A6088B984E690E09DD1EC016B |
:10056000CE01A3D18823E1F38AE090E09093830049 |
:100570008093820073DD88EC90E08ED1EC01CE0197 |
:1005800094D18823E1F388EE93E086D1EC0197E0E3 |
:10059000E92EFBCE1F920F920FB60F9211240F90EF |
:1005A0000FBE0F901F9018955E9B24C0809166002F |
:1005B0008823E1F48091890090918A0001969093BC |
:1005C0008A0080938900FC01E556FD4FE081ED3003 |
:1005D00019F08436910539F410928A00109289003E |
:1005E00081E080936600589AECB9089510928A00D1 |
:1005F0001092890008951F920F920FB60F92112446 |
:100600008F938CB18093870080918700853F19F488 |
:100610001092670014C0809167008F5F809367001D |
:10062000843041F4809187008093880088EC809327 |
:10063000790005C0853618F084E6809367008F91B5 |
:100640000F900FBE0F901F901895AC01A0E0B0E086 |
:100650009D01A817B90748F4EBE9F2E08191280F52 |
:10066000311D1196A417B507C8F33F70FD01E5567B |
:10067000FD4FC90146E0969587954A95E1F7835C61 |
:1006800080831196FD01E556FD4F2F733070822F48 |
:10069000835C8083A456BD4F8DE08C9310926600DE |
:1006A00080919B028CB908951F93CF93DF93382FCD |
:1006B000EA01722F10E083E280939B0260939C0218 |
:1006C00030939D02A3E0B0E0772309F458C077236C |
:1006D00011F4972F07C0FE01E10FF11D1F5F9081FC |
:1006E000715011F4472F0EC0FE01E10FF11D1F5F85 |
:1006F0004081715039F0FE01E10FF11D1F5F6081F3 |
:10070000715001C0672FFD01E556FD4F892F869579 |
:100710008695835C80831196FD01E556FD4F892FF8 |
:1007200099278370907024E0880F991F2A95E1F72C |
:1007300055279A0194E0369527959A95E1F7822BF3 |
:10074000835C80831196FD01E556FD4F4F7050701C |
:10075000440F551F440F551F862F992756E0969535 |
:1007600087955A95E1F7842B835C80831196FD0170 |
:10077000E556FD4F6F73635C60831196A5CFCD0185 |
:1007800064DFDF91CF911F910895CF93C82F8A30F6 |
:1007900011F48DE0FADF5D9BFECFCCB980E090E0F4 |
:1007A000CF910895089588E18AB9599A579A89E1B5 |
:1007B00089B960E070E085EC93E05FD388EC90E06D |
:1007C0006BD0909300038093FF028AE28CB9089566 |
:1007D0008091FF029091000368D0882391F080916E |
:1007E0006600882371F022E245E653E060919A02A8 |
:1007F00084E45ADF82E390E04FD09093000380932B |
:10080000FF0208951F920F920FB60F9211248F933B |
:100810009F93809187038F5F8093870380918D00E2 |
:10082000815080938D008F3F39F583E080938D0058 |
:1008300080918B0090918C00019690938C00809316 |
:100840008B0080917A0090917B00009729F00197AE |
:1008500090937B0080937A0080918E00882329F00A |
:1008600080918E00815080938E0080917900882342 |
:1008700019F08150809379009F918F910F900FBE56 |
:100880000F901F90189582E083BF89B7816089BF60 |
:1008900089B7806489BF089520918B0030918C00C6 |
:1008A000280F391FC9010197089520918B003091BD |
:1008B0008C00821B930B892F9927807899270895A4 |
:1008C000CF93DF93E9DFEC01CE01EFDF8823E1F383 |
:1008D000DF91CF91089586EA86B987E087B9369A85 |
:1008E000089527B196E097B910BE83ED86B9349A82 |
:1008F00097B9369A349BFECF27B944B155B1440F0E |
:10090000551F440F551F493C510510F048EC50E06D |
:100910002091800030918100C90163E0880F991F08 |
:100920006A95E1F7821B930B840F951F23E0969540 |
:1009300087952A95E1F7909381008093800020911C |
:100940007F0033272817390720F480918000809397 |
:100950007F0016B888E080BF08958EB5806C8EBD8C |
:100960008EB580648EBD89B7806289BF89B7846087 |
:1009700089BF08951F920F920FB60F9211248F9383 |
:1009800080918F008F5F80938F008F910F900FBEAB |
:100990000F901F9018951F920F920FB60F9211246F |
:1009A0002F933F938F939F930EB406FE0FC0109228 |
:1009B0008F0086B597B590939300809392008EB583 |
:1009C0008F7B8EBD84E680938E0070C08EB5806470 |
:1009D0008EBD26B537B58091920090919300281B6B |
:1009E000390B80918F009927982F8827990F280F0E |
:1009F000391F689414F8369527951694E1F73093CB |
:100A00009500209394002851314030F488E191E022 |
:100A100090939500809394002091940030919500DC |
:100A2000285131403093950020939400809190009C |
:100A3000909191008217930730F4809190009091EB |
:100A4000910001960CC08091900090919100281720 |
:100A5000390748F48091900090919100019790930C |
:100A60009100809390002091900030919100C901F5 |
:100A7000880F991F880F991F880F991F821B930B4E |
:100A80002091940030919500820F931F23E096955A |
:100A900087952A95E1F79093950080939400909321 |
:100AA00091008093900081E0809360009F918F91EE |
:100AB0003F912F910F900FBE0F901F9018951F928E |
:100AC0000F920FB60F9211248F938AB78F7B8ABF34 |
:100AD0008F910F900FBE0F901F901895885F82B96D |
:100AE00085EC86BF08951F920F920FB60F921124C6 |
:100AF0008F939F9381B19927887F9070803891055B |
:100B0000E9F08138910534F40097B1F18036910510 |
:100B100079F035C0883B9105D9F0893B910524F4E3 |
:100B2000883A9105A9F02BC0883F910511F127C0A3 |
:100B300086B7806886BF1092960023C083B18093E9 |
:100B4000880384EF91E090937B0080937A000EC03D |
:100B500090919600992339F480917E0083B99F5F2C |
:100B60009093960003C08091610083B986B7806836 |
:100B700007C086B7806986BF86B7806986BF85EC67 |
:100B800086BF9F918F910F900FBE0F901F90189569 |
:100B90001F920F920FB60F9211240F900FBE0F905D |
:100BA0001F9018951F920F920FB60F9211241F934A |
:100BB0002F933F934F935F936F937F938F939F9365 |
:100BC000AF93BF93CF93EF93FF93459B02C011E088 |
:100BD00001C010E08091990099278230910509F4B5 |
:100BE00050C0833091052CF4009779F0019739F1CA |
:100BF000BFC08430910509F478C0843091050CF4AD |
:100C00005AC0059709F48BC0B3C082EA8FBD81E654 |
:100C100085BD88E087BB112369F082B3877E82BBE4 |
:100C2000959AC1E0C4BD8091600081115ADE409860 |
:100C3000C7B91BC082B3877D82BB949A99C082B327 |
:100C4000877E82BB959A1123B1F482EA8FBD81E43D |
:100C500085BD8CE087BB81E084BD809160008111FF |
:100C600040DE17B988B1836088B9809199008F5FA1 |
:100C7000809399006DC082EA8FBD81E685BD88E0D2 |
:100C800076C082EA8FBD81E485BD8CE087BB1123ED |
:100C900069F082B38F7C82BB939A81E084BD80919E |
:100CA000600081111EDE82E087B932C082B3877E88 |
:100CB00082BB959A5DC082B38F7C82BB939A1123CD |
:100CC00071F482EA8FBD81E485BD8AE087BBC1E013 |
:100CD000C4BD80916000811104DEC7B9C3CF82EA30 |
:100CE0008FBD81E485BD8CE042C082EA8FBD81E486 |
:100CF00085BD8AE087BB112369F082B3877D82BB03 |
:100D0000949A81E084BD809160008111EADD17B87A |
:100D10004098ABCF82B38F7C82BB939A29C082B3B9 |
:100D2000877D82BB949A1123E9F482EA8FBD81E624 |
:100D300085BD88E087BB81E084BD80916000811122 |
:100D4000D0DD82E087B988B1836088B910939900BB |
:100D5000809172009091730001969093730080933C |
:100D6000720006C082EA8FBD81E485BD8AE087BB40 |
:100D7000459903C0112309F028CF459B03C01123D7 |
:100D800009F423CF10926000FF91EF91CF91BF91B2 |
:100D9000AF919F918F917F916F915F914F913F9113 |
:100DA0002F911F910F900FBE0F901F90189580915B |
:100DB000990099278230910551F1833091052CF4E7 |
:100DC000009769F00197B9F0089584309105E1F139 |
:100DD000843091055CF1059709F443C0089582EAD7 |
:100DE0008FBD81E685BD88E087BB82B3877D82BBEE |
:100DF000949A82E034C082EA8FBD81E685BD88E0A6 |
:100E000087BB82B3877E82BB959A81E01AC082EA53 |
:100E10008FBD81E485BD8CE087BB82B3877E82BBBA |
:100E2000959A17B888B1836088B9089582EA8FBD12 |
:100E300081E485BD8CE087BB82B38F7C82BB939AB3 |
:100E400082E087B94098089582EA8FBD81E485BD2C |
:100E50008AE087BB82B38F7C82BB939A81E087B99B |
:100E6000E1CF82EA8FBD81E485BD8AE087BB82B392 |
:100E7000877D82BB949A17B8E5CF0F931F93CF93CA |
:100E8000DF938C01EB01009711F4672BB9F16EE051 |
:100E900070E081E090E037D0FC01892B71F180E8AF |
:100EA0008383209771F0D387C28781E88383809101 |
:100EB000890390918A03892B21F4F0938A03E093AC |
:100EC000890301151105C9F01187008783818260AC |
:100ED000838380918B0390918C03892B71F4F09321 |
:100EE0008C03E0938B0380918D0390918E03892B6B |
:100EF00021F4F0938E03E0938D03CF01DF91CF9126 |
:100F00001F910F9108950F931F93CF93DF93869FA7 |
:100F10008001879F100D969F100D1124C8010DD0E0 |
:100F2000EC01009721F0A80160E070E0FCD0CE0158 |
:100F3000DF91CF911F910F910895CF93DF93AC0173 |
:100F4000029710F442E050E020E030E0A0919103DD |
:100F5000B0919203BD01F901109709F44CC08D9135 |
:100F60009C9111978417950731F14817590738F468 |
:100F70002115310519F08217930708F49C01FD0132 |
:100F8000A281B381109759F721153105A1F1C9014B |
:100F9000841B950B049708F4A901DB01E0E0F0E065 |
:100FA000109749F18D919C91119782179307F9F44D |
:100FB0004217530779F4ED018A819B81309719F02C |
:100FC0009383828304C09093920380939103CD0115 |
:100FD00002964AC0241B350BFD01E20FF31F41931B |
:100FE0005193225030402D933C93CF013DC0FD01E1 |
:100FF000A281B381D5CF80918F0390919003892BEB |
:1010000041F480916B0090916C00909390038093D9 |
:101010008F03E0916900F0916A00309741F4EDB7D9 |
:10102000FEB780916D0090916E00E81BF90BA091C6 |
:101030008F03B09190039F012A1B3B0B24173507A8 |
:1010400088F0CA0102962817390760F0CD01840F95 |
:10105000951F02969093900380938F034D935D9319 |
:10106000CD0102C080E090E0DF91CF910895CF9351 |
:10107000DF93009709F454C0DC011297ED011B8245 |
:101080001A828091910390919203009721F1FC01C3 |
:1010900040E050E0EA17FB0718F1ED01FB83EA831B |
:1010A0002D913C911197C20FD31FCE0102968E173E |
:1010B0009F0771F48A819B81280F391F2E5F3F4F54 |
:1010C00011963C932E9382819381FD0193838283B9 |
:1010D0004115510559F4B0939203A093910320C098 |
:1010E000AF010280F381E02D3097A1F6EA01BB83C6 |
:1010F000AA83CA01029628813981820F931F8A1719 |
:101100009B0771F48D919C911197280F391F2E5FC9 |
:101110003F4F39832883FD01828193819B838A839A |
:10112000DF91CF910895DC0101C06D934150504093 |
:10113000E0F70895991B79E004C0991F961708F00D |
:10114000961B881F7A95C9F780950895AA1BBB1B2B |
:1011500051E107C0AA1FBB1FA617B70710F0A61BB7 |
:10116000B70B881F991F5A95A9F780959095BC01D8 |
:10117000CD010895A1E21A2EAA1BBB1BFD010DC0D3 |
:10118000AA1FBB1FEE1FFF1FA217B307E407F50737 |
:1011900020F0A21BB30BE40BF50B661F771F881F13 |
:1011A000991F1A9469F760957095809590959B01A9 |
:0811B000AC01BD01CF0108955F |
:1011B80001FF01010A00016464000093032000009C |
:00000001FF |
/branches/V0.60_Kompass_Name/Hex-Files/Flight-Ctrl_MEGA644_V0_60.hex |
---|
0,0 → 1,1430 |
:100000000C94D9010C94F4010C94F4010C94F401B7 |
:100010000C94F4010C94F4010C94F4010C94F4018C |
:100020000C94F4010C94B20A0C94F4010C94F401B5 |
:100030000C9474140C94F4010C94F4010C94F401D9 |
:100040000C94F4010C94F4010C94D6090C94F40172 |
:100050000C94B0030C94F4010C947A030C94F40106 |
:100060000C949E0B0C94F4010C9493130C94F401D7 |
:100070000A0D466C69676874436F6E74726F6C200A |
:100080005625642E256420000A0D3D3D3D3D3D3D35 |
:100090003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D90 |
:1000A0003D3D3D3D3D3D3D3D000A0D496E69742E8F |
:1000B00020454550524F4D3A2047656E657269653F |
:1000C00072652044656661756C742D506172616D56 |
:1000D000657465722E2E2E000A0D42656E75747A57 |
:1000E0006520506172616D657465727361747A2008 |
:1000F0002564000A0D4162676C65696368204C7570 |
:100100006674647275636B73656E736F722E2E0006 |
:100110004F4B0A0D000A0D537465756572756E6755 |
:100120003A200048656164696E67486F6C64004EF0 |
:1001300065757472616C000A0A0D002E005B2569FA |
:100140005D002B2B204D696B726F4B6F7074657265 |
:10015000202B2B005625642E25640053657474698A |
:100160006E673A202564200028632920486F6C6759 |
:100170006572204275737300486F6568653A202088 |
:1001800020202025356900536F6C6C486F656865C9 |
:100190003A20253569004C756674647275636B3A54 |
:1001A00020253569004F66662020202020203A2037 |
:1001B000253569004B65696E65200048F668656EF7 |
:1001C000726567656C756E6700616B742E204C619B |
:1001D0006765004E69636B3A20202020202025357A |
:1001E0006900526F6C6C3A20202020202025356950 |
:1001F000004B6F6D706173733A20202025356900C4 |
:100200004B313A25346920204B323A25346920009D |
:100210004B333A25346920204B343A253469200089 |
:100220004B353A25346920204B363A253469200075 |
:100230004B373A25346920204B616EE46C65200011 |
:100240004E693A2534692020526F3A2534692000DE |
:1002500047733A253469202047693A2534692000DC |
:1002600050313A253469202050323A253469200033 |
:1002700050333A25346920204B616EE46C652000D0 |
:100280004779726F202D2053656E736F72004E692F |
:10029000636B2025346920282533692900526F6C4F |
:1002A0006C20253469202825336929004769657247 |
:1002B0002025346920282533692900414343202D16 |
:1002C0002053656E736F72004E69636B202534692D |
:1002D00020282533692900526F6C6C202534692051 |
:1002E000282533692900486F636820253469202850 |
:1002F00025336929005370616E6E756E673A202050 |
:1003000025356900456D70662E506567656C3A2528 |
:100310003569004B6F6D70617373202020202020A1 |
:1003200020005269636874756E673A20202535692C |
:10033000004D657373776572743A20202535690026 |
:1003400053746172743A20202020202535690050B2 |
:100350006F7469313A202025336900506F74693217 |
:100360003A202025336900506F7469333A202025E4 |
:10037000336900506F7469343A2020253369005383 |
:100380006572766F202000536574706F696E7420FB |
:1003900020253369005374656C6C756E673A2025AF |
:1003A00033690052616E67653A2533692D253369DB |
:1003B000000011241FBECFEFD0E1DEBFCDBF11E0A2 |
:1003C000A0E0B1E0E0ECF8E502C005900D92AA389B |
:1003D000B107D9F715E0AAE8B1E001C01D92AF312D |
:1003E000B107E1F70C9427020C940000FB01863062 |
:1003F00008F085E0489FD0011124AC59BF4F842FED |
:100400009927019724F00E944C2C0192FACF08956D |
:10041000282FFB01863008F025E0429FD0011124EF |
:10042000AC59BF4F842F9927019724F001900E9467 |
:10043000542CFACFA2E0B0E0022E0E94542C089572 |
:10044000A2E0B0E00E944C2C802D99270895CFEFB8 |
:10045000D0E1DEBFCDBF91E097B98FEF88B98BE1D6 |
:1004600084B995B98EE38AB9579A87EF8BB984B767 |
:10047000877F84BF809160008861809360001092C4 |
:10048000600080ED97E09093A4018093A301109207 |
:10049000DB011092DA011092A8041092A7041092C6 |
:1004A000DD011092DC011092DF011092DE0128982C |
:1004B0000E94730A0E9465060E945F140E94710BDD |
:1004C0000E94791378941092B6038CE38093B7035B |
:1004D00084E08093B8038CE390E09F938F931F9206 |
:1004E0001F9280E790E09F938F931F920E944C078A |
:1004F0008DB79EB707960FB6F8949EBF0FBE8DBFFF |
:1005000088E890E09F938F931F920E944C07299A4E |
:100510000F900F900F90C1E0D0E0DE010E944C2CB4 |
:10052000802D8B3329F189EA90E09F938F931F925E |
:100530000E944C070E941B1B10E00F900F900F9021 |
:10054000123011F40E948C1B4AE36FEC74E0812F8F |
:100550000E9408021F5F163098F3A2E0B0E081E02D |
:10056000082E0E94542C8BE3DE01082E0E94542C8E |
:100570000E9420024AE36FEC74E00E94F6010E94A0 |
:10058000200299279F938F9388ED90E09F938F93FC |
:100590001F920E944C078091D7040F900F900F90EC |
:1005A0000F900F9080FF20C083EF90E09F938F9378 |
:1005B0001F920E944C0784EC99E00E946A0AEC01A9 |
:1005C0000E94770B0F900F900F90CE010E94990A16 |
:1005D0008823D9F380E191E09F938F931F920E942B |
:1005E0004C070F900F900F900E94D116289880ED25 |
:1005F00097E09093A4018093A30188EE93E09093F9 |
:10060000B1038093B00385E58093AB0385E191E06E |
:100610009F938F931F920E944C078091D7040F9055 |
:100620000F900F9082FF03C083E291E002C08FE23F |
:1006300091E09F938F931F920E944C070F900F9011 |
:100640000F9087E391E09F938F931F920E944C0736 |
:100650000E94010F0F900F900F908091A7018823A7 |
:1006600081F11092A7010E94201E0E94D41A28989E |
:1006700080910001882319F08150809300018091BE |
:10068000E001882329F08091E00181508093E0010E |
:100690008091E704282F332780910A0190910B0164 |
:1006A0008217930734F480ED97E09093A401809330 |
:1006B000A30180913102882319F40E94791301C0AB |
:1006C00028980E9483060E949A0580E090E00E948C |
:1006D000990A882311F28091D901882329F088B1E1 |
:1006E00090E1892788B901C0449884EF91E00E9485 |
:1006F0006A0AB3CF1F920F920FB60F9211248F93F5 |
:100700009F93EF93FF93809101018823E1F48091FF |
:100710009801909199010196909399018093980185 |
:10072000FC01E358FD4FE081ED3019F08639910569 |
:1007300039F4109299011092980181E0809301019F |
:10074000E093C60004C01092990110929801FF91A5 |
:10075000EF919F918F910F900FBE0F901F90189562 |
:100760001F920F920FB60F9211242F933F934F9326 |
:100770005F938F939F93AF93BF93EF93FF9390E01B |
:100780008091C6008093930150919E01563910F0DC |
:1007900090939F01809193018D3009F05FC080910B |
:1007A0009F01823009F05AC090939F01852F9927AD |
:1007B00080549C4FFC013297408120919A013091E6 |
:1007C0009B01241B3109DC0111978C91281B3109F5 |
:1007D000C9019F7090939B0180939A0146E0969582 |
:1007E00087954A95E1F7982F935C90939C012F731E |
:1007F0003070235C20939D018081981729F48C919F |
:10080000281711F491E006C090E0809190018F5F6D |
:100810008093900180919201882309F06EC0992302 |
:1008200009F46BC081E08093920150938F01E52F12 |
:10083000FF27E054FC4F8DE080838091C203823516 |
:1008400009F05BC088E190E02CE00FB6F894A89521 |
:10085000809360000FBE209360004FC020919F01E5 |
:10086000822F992781309105F9F0823091051CF48F |
:10087000892B21F040C0029711F13DC08091930176 |
:10088000833239F480919201882319F481E08093B6 |
:100890009F01809193018093C00381E080939E012A |
:1008A00080919301992722C02F5F20939F01E52F0C |
:1008B000FF27E054FC4F80919301808309C0E52F0E |
:1008C000FF27E054FC4F809193018083563920F438 |
:1008D0005F5F50939E0102C010929F01209193018F |
:1008E00080919A0190919B01820F911D90939B01A1 |
:1008F00080939A0102C010929F01FF91EF91BF91E6 |
:10090000AF919F918F915F914F913F912F910F9058 |
:100910000FBE0F901F901895AC01A0E0B0E09D01B4 |
:10092000A817B90748F4EDE7F2E08191280F311DCF |
:100930001196A417B507C8F33F70FD01E358FD4FAA |
:10094000C90156E0969587955A95E1F7835C8083B7 |
:100950001196FD01E358FD4F2F733070822F835C99 |
:100960008083A258BD4F8DE08C931092010180913D |
:100970007D028093C60008951F93CF93DF93382F95 |
:10098000EA01722F10E083E280937D0260937E0281 |
:1009900030937F02A3E0B0E0772309F458C07723B7 |
:1009A00011F4972F07C0FE01E10FF11D1F5F908129 |
:1009B000715011F4472F0EC0FE01E10FF11D1F5FB2 |
:1009C0004081715039F0FE01E10FF11D1F5F608120 |
:1009D000715001C0672FFD01E358FD4F892F8695A7 |
:1009E0008695835C80831196FD01E358FD4F892F26 |
:1009F00099278370907024E0880F991F2A95E1F75A |
:100A000055279A0194E0369527959A95E1F7822B20 |
:100A1000835C80831196FD01E358FD4F4F70507049 |
:100A2000440F551F440F551F862F992726E0969592 |
:100A300087952A95E1F7842B835C80831196FD01CD |
:100A4000E358FD4F6F73635C60831196A5CFCD01B2 |
:100A50000E948C04DF91CF911F9108951F93CF9333 |
:100A6000DF93EC0110E0662309F460C0A22FBB27DE |
:100A70001297E42FFF27E054FC4F30813D534F5F26 |
:100A8000E42FFF27E054FC4F50815D534F5FE42F6C |
:100A9000FF27E054FC4F70817D534F5FE42FFF2709 |
:100AA000E054FC4FE081ED534F5F842F9927A81746 |
:100AB000B907E4F1832F9927880F991F880F991F91 |
:100AC000352F32953F70382B852F99278F70907076 |
:100AD000F4E0880F991FFA95E1F7572F5695569530 |
:100AE000582B872F99278370907076E0880F991F75 |
:100AF0007A95E1F78E2B61506F3FC1F0FE01E10F57 |
:100B0000F11D30831F5F61506F3F81F0FE01E10FE7 |
:100B1000F11D50831F5F61506F3F41F0FE01E10FF7 |
:100B2000F11D80831F5F662309F0A3CFDF91CF9172 |
:100B30001F910895CF93DF93CDB7DEB72B970FB6F4 |
:100B4000F894DEBF0FBECDBF80919201882309F4D7 |
:100B5000A1C08FEF809300018091C2039927813754 |
:100B600091059CF48C3691050CF075C08736910583 |
:100B700009F44BC08836910524F48336910599F029 |
:100B800087C08836910511F183C08437910581F1C2 |
:100B90008537910524F481379105D9F179C08637DD |
:100BA000910579F175C020918F0143E06BE08BEAEC |
:100BB00093E00E942E058091C5019091AD03892B91 |
:100BC0008093C50181E08093950162C020918F01DF |
:100BD00043E062E0CE010A960E942E058091C50195 |
:100BE0009A85892B8093C50181E08093960150C03E |
:100BF00020918F0143E064E08AE891E00E942E0595 |
:100C000047C081E08093940143C081E080939701C5 |
:100C10003FC020918F0143E062E0CE010A960E941E |
:100C20002E058A858F3F61F0863010F085E08A8737 |
:100C30004AE36FEC74E08A850E94F6018A8502C05F |
:100C40000E9420022AE34FEC54E060917C02855B15 |
:100C50000E94BC041DC020918F0143E06AE38FEC29 |
:100C600094E00E942E058091C2034AE36FEC74E089 |
:100C70008B560E940802A2E0B0E08091C2038B561E |
:100C8000082E0E94542C0E94200299270E941215BF |
:100C9000109292012B960FB6F894DEBF0FBECDBF17 |
:100CA000DF91CF910895CF93C82F8A3019F48DE04A |
:100CB0000E9453068091C00085FFFCCFC093C60000 |
:100CC00080E090E0CF910895089588E18093C1007D |
:100CD0008091C00082608093C0008091C1008068D4 |
:100CE0008093C1008091C10080648093C1008AE23A |
:100CF0008093C40088EC90E00E946A0A9093AA0353 |
:100D00008093A903089580910101882309F469C0A3 |
:100D100080919701882371F080910101882351F01F |
:100D20002BE04BEA53E060917C0287E40E94BC0414 |
:100D3000109297018091A9039091AA030E94990AA9 |
:100D4000882321F4809195018823B1F080910101DD |
:100D5000882391F022E346E554E060917C0284E42C |
:100D60000E94BC04109295018AEF90E00E946A0AEA |
:100D70009093AA038093A903809196018823F9F0A8 |
:100D8000809101018823D9F00E940A0F10929601E8 |
:100D90008091A0018F5F8093A001843011F41092A4 |
:100DA000A0013091A00124E1329FC0011124845F91 |
:100DB0009E4FAC0160E0832F805D0E94BC04809157 |
:100DC0009401882371F080910101882351F02AE079 |
:100DD00046EB53E060917C0286E50E94BC041092D1 |
:100DE00094010895982F80918804813069F480914E |
:100DF000C601E82FFF27E45FFE4F90838F5F80934B |
:100E0000C60121E030E005C0892F0E945306282F3B |
:100E10003327C90108950F931F93CF93DF938C015C |
:100E2000EB01672B39F0F80181918F010E94F206E6 |
:100E30002197C9F7DF91CF911F910F9108950F93DB |
:100E40001F93CF93DF938C01EB01672B41F0F801E7 |
:100E50000F5F1F4F84910E94F2062197C1F7DF9127 |
:100E6000CF911F910F910895CF93C82F181634F486 |
:100E700080E20E94F206C1501C16D4F3CF9108956F |
:100E8000CF93C82F181634F480E30E94F206C150A5 |
:100E90001C16D4F3CF9108952F923F924F925F92F8 |
:100EA0006F927F928F929F92AF92BF92CF92DF927A |
:100EB000EF92FF920F931F93CF93DF93CDB7DEB7DF |
:100EC000E0970FB6F894DEBF0FBECDBF26968FAD6C |
:100ED00026972896EEADFFAD28971CA61DA61EA648 |
:100EE0001FA680938804A8E46A2E712C6C0E7D1EC8 |
:100EF0005F01C50105C0053239F00894A11CB11C81 |
:100F0000F50104910023B9F7B501681B790B11F0C5 |
:100F10000E941F07002309F430C20894A11CB11CD1 |
:100F2000552458AA252C1FEF59A6F5010894A11C99 |
:100F3000B11C0491053721F0802F80628837F1F4CD |
:100F400050FE0EC0F30124E030E0620E731E80817B |
:100F50009181A281B3818CA79DA7AEA7BFA70EC028 |
:100F6000F301A2E0B0E06A0E7B1E808191819C01BA |
:100F7000442755272CA73DA74EA75FA7003221F491 |
:100F800089A5882391F61BC0033211F438E081C093 |
:100F90000A3211F00D3289F40A3251F4F30142E0C1 |
:100FA00050E0640E751E208022200CF0BECF2194EC |
:100FB00050E1552A8FED5822B8CF0B3211F409A712 |
:100FC000B4CF0E32C1F5F5010894A11CB11C0491F7 |
:100FD0000A3279F4F301A2E0B0E06A0E7B1E608170 |
:100FE0007181BFEF6F3F7B0714F46FEF7FEF162F18 |
:100FF0009CCF60E070E0802F80538A30A0F4CB015A |
:10100000F3E0880F991FFA95E1F7860F971F680F95 |
:10101000791F600F711D60537040F5010894A11C89 |
:10102000B11C0491E8CFEFEF6F3F7E0714F46FEF30 |
:101030007FEF162F7FCF003329F454FC76CFF0E2F8 |
:101040005F2A73CF802F81538930D8F460E070E03D |
:10105000CB01E3E0880F991FEA95E1F7860F971F10 |
:10106000680F791F600F711D60537040F50108947F |
:10107000A11CB11C0491802F80538A3048F3262E86 |
:1010800059CF083619F424E0522A4FCF0C3619F400 |
:1010900031E0532A4ACF033661F44E010894811C93 |
:1010A000911CF30142E050E0640E751E808189833B |
:1010B0001BC1043421F0043611F00936B1F50434B3 |
:1010C00011F451E0552A50FE0AC0F30184E090E08B |
:1010D000680E791E20813181428153810CC0F30159 |
:1010E00042E050E0640E751E808191819C0144278E |
:1010F00037FD4095542F2CA73DA74EA75FA78CA581 |
:101100009DA5AEA5BFA5B7FF0DC0B095A0959095C4 |
:1011100081959F4FAF4FBF4F8CA79DA7AEA7BFA78D |
:101120008DE289A77AE0472E7BC00F3411F00F368D |
:1011300039F40F3411F491E0592A68E0462E6FC05B |
:101140000037A1F4F301A2E0B0E06A0E7B1E8081BB |
:1011500091819C01442755272CA73DA74EA75FA747 |
:1011600050E1452E30E4532A08E759C00337C1F552 |
:10117000F30142E050E0640E751E8080918081147E |
:10118000910489F44E010894811C911C88E28983A2 |
:101190008EE6F401818385E78B838CE68C838D83D7 |
:1011A00089E28E831F8217FD13C0812F992787FD47 |
:1011B0009095AC0160E070E0C4010E94542A009751 |
:1011C00029F0D82ED8181D150CF090C0D12E8EC045 |
:1011D000F40101900020E9F73197DE2ED81886C07F |
:1011E000053511F0053739F4053511F4F1E05F2AC2 |
:1011F0004AE0442E14C0083519F0083709F06CC0D5 |
:1012000030E1432E53FE0BC02CA53DA54EA55FA596 |
:10121000211531054105510511F030E4532A19A675 |
:1012200018AB17FD02C04FED542229E2822E912CFB |
:101230008C0E9D1E8CA59DA5AEA5BFA50097A105F2 |
:10124000B10521F498A9992309F43FC0C42CDD24E9 |
:10125000EE24FF2433242CA53DA54EA55FA52C1517 |
:101260003D054E055F0510F091E0392E6CA57DA57A |
:101270008EA59FA5A70196010E940F2CDC01CB0132 |
:10128000182F8A3010F4105D04C0195A083509F47B |
:101290001F7DD4011E934D016CA57DA58EA59FA534 |
:1012A000A70196010E940F2C2CA73DA74EA75FA770 |
:1012B000332081F6B8E04B1641F453FE06C01033DC |
:1012C00021F080E3F40182934F01CE010196D82EE4 |
:1012D000D818F8E2DF0E0BC0002309F44EC04E010F |
:1012E0000894811C911C098381E0D82E19A61D2D1C |
:1012F000C8A8CD18C7FCCC2489A5882311F01F5F8E |
:1013000002C056FC1E5F1C0DE52CFF24C701807334 |
:101310009070892B21F4822D811B0E94340789A5AE |
:10132000882329F061E070E0CE01899609C0E6FECD |
:1013300009C080E38AA70BA762E070E0CE018A961D |
:101340000E940B07C70180739070809721F4822D53 |
:10135000811B0E9440078C2D0E9440078D2D9927EC |
:1013600087FD9095BC01C4010E940B07E4FEC1CD2E |
:10137000822D811B0E943407BCCDE0960FB6F894F5 |
:10138000DEBF0FBECDBFDF91CF911F910F91FF90B8 |
:10139000EF90DF90CF90BF90AF909F908F907F9015 |
:1013A0006F905F904F903F902F9008951F920F92F3 |
:1013B0000FB60F9211242F933F935F936F937F93F8 |
:1013C0008F939F93AF93BF938091AA018150809395 |
:1013D000AA018F3F01F589E08093AA018091020163 |
:1013E0008F5F817080930201882319F481E08093DC |
:1013F000A7018091A8019091A90101969093A9015C |
:101400008093A80180913102882329F080913102D4 |
:101410008150809331028091A3019091A4010297A1 |
:1014200058F08091A3019091A40101979093A40199 |
:101430008093A3015A9A01C05A988091D70483FFE0 |
:101440003BC0349B0AC08091A5019091A6010196F2 |
:101450009093A6018093A5012FC08091A501909142 |
:10146000A601892B79F08091A5019091A601805A5F |
:101470009F4040F48091A5019091A6019093F001C6 |
:101480008093EF018091EF019091F0012091ED01A7 |
:101490003091EE01821B930B845E9D4F68E671E0F4 |
:1014A0000E94FC2B845B90409093EC018093EB01B5 |
:1014B0001092A6011092A501BF91AF919F918F91BB |
:1014C0007F916F915F913F912F910F900FBE0F9081 |
:1014D0001F9018952091A8013091A901280F391F5C |
:1014E000C901019608958AE090E00E946A0A9093EB |
:1014F000AC018093AB0182E085BD83EA84BD17BC5B |
:1015000088E788BD96E096BD83EC8093B000909309 |
:10151000B1008091700082608093700080916E00B5 |
:10152000816080936E008AE08093B3001092B200D5 |
:1015300008952091A8013091A901821B930B892F56 |
:1015400099278695807490700895CF93DF930E94B9 |
:101550006A0AEC01CE010E94990A8823D9F3DF912F |
:10156000CF9108951F920F920FB60F9211242F93CF |
:101570003F934F935F936F937F938F939F93AF931B |
:10158000BF93CF93DF93EF93FF938091030181503B |
:10159000809303018F3F09F08DC083E88093B000F2 |
:1015A00080916801C82FDD27D093A201C093A101CB |
:1015B0008091F5046091F10480FF2AC07727882785 |
:1015C000992720911D0230911E0240911F025091D7 |
:1015D000200257FF04C021583F4F4F4F5F4FA7E0F5 |
:1015E0005595479537952795AA95D1F70E94C92B10 |
:1015F00097FF04C061507E4F8F4F9F4FF9E0959544 |
:10160000879577956795FA95D1F7C60FD71F29C0AB |
:1016100077278827992720911D0230911E0240913B |
:101620001F025091200257FF04C021583F4F4F4FD7 |
:101630005F4FE7E05595479537952795EA95D1F7A0 |
:101640000E94C92B97FF04C061507E4F8F4F9F4F60 |
:1016500039E095958795779567953A95D1F7C61BAB |
:10166000D70BD093A201C093A1018091F2049927D6 |
:101670002091A1013091A2012817390734F08091FF |
:10168000F30499278217930724F49093A20180937F |
:10169000A1018091A1019091A20190937D0480937A |
:1016A0007C048091A1018093B3008091F404809325 |
:1016B000030104C083E08093B0005F98FF91EF9135 |
:1016C000DF91CF91BF91AF919F918F917F916F915A |
:1016D0005F914F913F912F910F900FBE0F901F90F0 |
:1016E000189510927C008FEE80937A000895CF9326 |
:1016F000DF93C0E0D0E0C7BD82E390E00E94A50A7E |
:101700008BE391E09F938F931F920E944C078091EF |
:101710000401909105010F900F900F908458934011 |
:1017200020F02196CA3FD10530F3C093960488EC8F |
:1017300090E00E94A50ADF91CF9108951F920F9229 |
:101740000FB60F921124EF92FF920F931F932F93D6 |
:101750003F934F935F936F937F938F939F93AF9339 |
:10176000BF93CF93DF93EF93FF9310927A00809112 |
:10177000C401682F77278F5F8093C40163307105A0 |
:1017800009F424C1643071055CF46130710509F419 |
:101790006BC0623071050CF0C0C0672B91F00FC3B5 |
:1017A0006530710509F452C1653071050CF429C129 |
:1017B0006630710509F470C16730710509F47FC2A4 |
:1017C000FEC260912B0270912C0280917800909162 |
:1017D0007900681B790B8091BD019091BE01860F45 |
:1017E000971F9093BE018093BD018091B4018F5FDC |
:1017F0008093B4019B01442737FD4095542F80917D |
:10180000F9019091FA01A091FB01B091FC01820FC6 |
:10181000931FA41FB51F8093F9019093FA01A09321 |
:10182000FB01B093FC018091F5019091F601A0912C |
:10183000F701B091F801820F931FA41FB51F809389 |
:10184000F5019093F601A093F701B093F80181E0C0 |
:101850008093C3018091AD019091AE010196909368 |
:10186000AE018093AD01AFC26091780070917900B4 |
:1018700080912D0290912E02681B790B9B014427C9 |
:1018800037FD4095542F8091010290910202A09162 |
:101890000302B0910402820F931FA41FB51F80930F |
:1018A000010290930202A0930302B093040280917C |
:1018B000FD019091FE01A091FF01B0910002820F05 |
:1018C000931FA41FB51F8093FD019093FE01A09369 |
:1018D000FF01B093000280917800909179000A97FF |
:1018E00010F464E47DEF8091780090917900895E36 |
:1018F000934010F06CEB72E08091BF019091C001B9 |
:10190000860F971F9093C0018093BF018091B5010E |
:101910008F5F8093B50182E096C0609178007091EE |
:10192000790080912F0290913002681B790B9B0106 |
:10193000442737FD4095542F8091090290910A0267 |
:10194000A0910B02B0910C02820F931FA41FB51F30 |
:101950008093090290930A02A0930B02B0930C02A9 |
:101960008091050290910602A0910702B0910802B1 |
:10197000820F931FA41FB51F809305029093060248 |
:10198000A0930702B09308028091780090917900AB |
:101990000A9710F464E47DEF8091780090917900CB |
:1019A000895E934010F06CEB72E08091C1019091E0 |
:1019B000C201860F971F9093C2018093C10180914D |
:1019C000B6018F5F8093B60184E03DC080910A012B |
:1019D00090910B019C01220F331F280F391F80911A |
:1019E0007800909179000E94E82B260F371F3695DA |
:1019F00027953695279530930B0120930A0186E0B1 |
:101A000022C0809127029091280220917800309185 |
:101A10007900821B930B90938A04809389048091B0 |
:101A2000BB019091BC012091890430918A04820FFE |
:101A3000931F9093BC018093BB018091B2018F5F93 |
:101A40008093B20187E08093C301BDC1809178008B |
:101A5000909179002091290230912A02821B930BE8 |
:101A600090938A04809389048091B9019091BA017E |
:101A70002091890430918A04820F931F9093BA01B8 |
:101A80008093B9018091B3018F5F8093B30185E0AA |
:101A90008093C30186E010C1809178009091790015 |
:101AA000AA2797FDA095BA2FBC01CD010E94072B54 |
:101AB0007B018C018091230290912402A091250248 |
:101AC000B09126029C01AD01C801B7010E94612AB4 |
:101AD000DC01CB01BC01CD010E94EA2ADC01CB0173 |
:101AE0009093B8018093B7018091890490918A0402 |
:101AF0008091890490918A0497FF03C09095819505 |
:101B00009F4F97FD0396AC01559547955595479581 |
:101B100080919404909195048091940490919504FF |
:101B200097FF03C0909581959F4F9C0197FF02C03E |
:101B30002D5F3F4F3595279535952795240F351FF8 |
:101B40008091B7019091B801820F931F9093B801D3 |
:101B50008093B7018091B7019091B801029724F169 |
:101B60008091230290912402A0912502B091260237 |
:101B700020E030E048E454E4BC01CD010E94112B88 |
:101B800088230CF044C08091230290912402A091FC |
:101B90002502B09126022AE037ED43EA5CE3BC015E |
:101BA000CD010E94622A29C08091B7019091B801AD |
:101BB0008F5F9F4F64F58091230290912402A09142 |
:101BC0002502B091260220E030E046E154E4BC0159 |
:101BD000CD010E94142B1816D4F480912302909109 |
:101BE0002402A0912502B09126022AE037ED43EAB3 |
:101BF0005CE3BC01CD010E94612ADC01CB01809332 |
:101C0000230290932402A0932502B093260281E040 |
:101C10008093B101809178009091790090938C0429 |
:101C200080938B048091B7019091B8019C01442767 |
:101C300037FD4095542F8091F1019091F201A091D0 |
:101C4000F301B091F401820F931FA41FB51F80937D |
:101C5000F1019093F201A093F301B093F40120916C |
:101C6000F1013091F2014091F3015091F40157FFDD |
:101C700004C021503C4F4F4F5F4F7AE05595479538 |
:101C8000379527957A95D1F78091F1019091F201DE |
:101C9000A091F301B091F401821B930BA40BB50B3F |
:101CA0008093F1019093F201A093F301B093F401BA |
:101CB00083E08093C30187E08093C40184C0809156 |
:101CC000990490919A042091780030917900820FC4 |
:101CD000931F90939A0480939904809191048F5F4D |
:101CE0008093910480919104853008F468C08091BC |
:101CF00078009091790090930501809304011092EF |
:101D0000910480918D0490918E04209199043091DA |
:101D10009A04821B930B2091D7013091D801821B2A |
:101D2000930B9093B0018093AF01809199049091AF |
:101D30009A04EC01EE27D7FDE095FE2F20910601D5 |
:101D4000309107014091080150910901DA01C90160 |
:101D5000880F991FAA1FBB1F820F931FA41FB51FB7 |
:101D6000C80FD91FEA1FFB1FF7FF03C02396E11D11 |
:101D7000F11D82E0F595E795D795C7958A95D1F73E |
:101D8000C0930601D0930701E0930801F093090185 |
:101D90008091060190910701A0910801B09109017D |
:101DA0009C0180918D0490918E04821B930B9093E3 |
:101DB000D8018093D70110929A041092990410923E |
:101DC000C3011092C4018091C30180937C008FEE07 |
:101DD00080937A00FF91EF91DF91CF91BF91AF9106 |
:101DE0009F918F917F916F915F914F913F912F9133 |
:101DF0001F910F91FF90EF900F900FBE0F901F90CB |
:101E0000189590E2ECE0F1E08FE49193815087FF28 |
:101E1000FCCF08951F93CF93DF938091C50180FF7E |
:101E20000CC08091C901882311F0815002C08091BB |
:101E300066018093C9010E94010F8091C50181FF55 |
:101E400007C08091C9018F5F8093C9010E94010F73 |
:101E50008091C501992780FF04C081FF02C01092C4 |
:101E6000C90181E18093C6018091C90199279F939F |
:101E70008F938DE391E09F938F9311E01F930E94C6 |
:101E80004C070F900F900F900F900F908091C90109 |
:101E9000C82FDD27C530D10509F437C2C630D105BA |
:101EA000ACF4C230D10509F4CEC0C330D10534F44E |
:101EB000209719F1219709F45EC010C4C330D105F1 |
:101EC00009F42FC1249709F491C108C4C830D10581 |
:101ED00009F41CC3C930D10544F4C630D10509F456 |
:101EE00083C2279709F4F2C2F9C3C930D10509F4B6 |
:101EF0004FC32A9709F4A0C3F1C31092C60182E42C |
:101F000091E09F938F931F930E944C0784E18093ED |
:101F1000C6010F900F900F908CE390E09F938F93EA |
:101F2000DF93CF9384E591E09F938F931F930E945B |
:101F30004C0788E28093C6018DB79EB707960FB60F |
:101F4000F8949EBF0FBE8DBF0E94200299279F93D9 |
:101F50008F938BE591E09F938F931F930E944C0783 |
:101F60008CE38093C6010F900F900F900F900F900D |
:101F700088E691E05FC08091D70480FF49C010924D |
:101F8000C6018091D7019091D8019F938F9388E7E4 |
:101F900091E09F938F931F930E944C0784E180935D |
:101FA000C6010F900F900F900F900F908091D50168 |
:101FB0009091D6019F938F9387E891E09F938F93A1 |
:101FC0001F930E944C0788E28093C6010F900F90E8 |
:101FD0000F900F900F9080910401909105019F93B5 |
:101FE0008F9386E991E09F938F931F930E944C07F4 |
:101FF0008CE38093C6010F900F900F900F900F907D |
:102000008091960499279F938F9385EA91E009C365 |
:1020100084E18093C60184EB91E09F938F931F939B |
:102020000E944C0788E28093C6010F900F900F909A |
:102030008BEB91E09F938F931F930E944C070F901F |
:102040000F900F9050C31092C60189EC91E09F93BE |
:102050008F931F930E944C0784E18093C6010F90D9 |
:102060000F900F9080911D0290911E02A0911F026F |
:10207000B0912002B7FF04C081509C4FAF4FBF4FBB |
:102080003AE0B595A795979587953A95D1F7BF937F |
:10209000AF939F938F9383ED91E09F938F931F93C3 |
:1020A0000E944C0788E28093C6018DB79EB70796C1 |
:1020B0000FB6F8949EBF0FBE8DBF80911502909110 |
:1020C0001602A0911702B0911802B7FF04C0815008 |
:1020D0009C4FAF4FBF4F2AE0B595A7959795879531 |
:1020E0002A95D1F7BF93AF939F938F9382EE91E0A0 |
:1020F0009F938F931F930E944C078CE38093C6019C |
:102100008DB79EB707960FB6F8949EBF0FBE8DBFD2 |
:102110008091EF019091F0019F938F9381EF91E077 |
:1021200080C21092C6018091A7049091A8049F9349 |
:102130008F938091A5049091A6049F938F9380E044 |
:1021400092E09F938F931F930E944C0784E18093AA |
:10215000C6018DB79EB707960FB6F8949EBF0FBE07 |
:102160008DBF8091AB049091AC049F938F9380912D |
:10217000A9049091AA049F938F9380E192E09F938A |
:102180008F931F930E944C0788E28093C6018DB7FE |
:102190009EB707960FB6F8949EBF0FBE8DBF809175 |
:1021A000AF049091B0049F938F938091AD04909170 |
:1021B000AE049F938F9380E292E09F938F931F933F |
:1021C0000E944C078CE38093C6018DB79EB707969B |
:1021D0000FB6F8949EBF0FBE8DBF8091B104909151 |
:1021E000B2049F938F9380E392E01BC21092C601CA |
:1021F0008091D004E82FFF27EE0FFF1FED55FB4F16 |
:10220000808191819F938F938091CF04E82FFF2746 |
:10221000EE0FFF1FED55FB4F808191819F938F93B0 |
:1022200080E492E09F938F931F930E944C0784E178 |
:102230008093C6018DB79EB707960FB6F8949EBFE0 |
:102240000FBE8DBF8091D204E82FFF27EE0FFF1F36 |
:10225000ED55FB4F808191819F938F938091D104A5 |
:10226000E82FFF27EE0FFF1FED55FB4F8081918177 |
:102270009F938F9380E592E09F938F931F930E948B |
:102280004C0788E28093C6018DB79EB707960FB6BC |
:10229000F8949EBF0FBE8DBF8091D404E82FFF2716 |
:1022A000EE0FFF1FED55FB4F808191819F938F9320 |
:1022B0008091D304E82FFF27EE0FFF1FED55FB4F52 |
:1022C000808191819F938F9380E692E09F938F937B |
:1022D0001F930E944C078CE38093C6018DB79EB775 |
:1022E00007960FB6F8949EBF0FBE8DBF8091D504A0 |
:1022F000E82FFF27EE0FFF1FED55FB4F80819181E7 |
:102300009F938F9380E792E08CC11092C60180E882 |
:1023100092E09F938F931F930E944C0784E18093D8 |
:10232000C6010F900F900F9080912F029091300274 |
:102330009F938F938091B601282F33278091C101FD |
:102340009091C201B9010E94FC2B7F936F938EE89C |
:1023500092E09F938F931F930E944C0788E2809393 |
:10236000C6018DB79EB707960FB6F8949EBF0FBEF5 |
:102370008DBF80912D0290912E029F938F9380911B |
:10238000B501282F33278091BF019091C001B90179 |
:102390000E94FC2B7F936F938DE992E09F938F9324 |
:1023A0001F930E944C078CE38093C6018DB79EB7A4 |
:1023B00007960FB6F8949EBF0FBE8DBF80912B027B |
:1023C00090912C029F938F938091B401282F3327F3 |
:1023D0008091BD019091BE01B9010E94FC2B7F93B9 |
:1023E0006F938CEA92E06CC11092C6018BEB92E085 |
:1023F0009F938F931F930E944C0784E18093C601A3 |
:102400000F900F900F908091290290912A029F9334 |
:102410008F938091B301282F33278091B901909138 |
:10242000BA01B9010E94FC2B7F936F9388EC92E074 |
:102430009F938F931F930E944C0788E28093C6015D |
:102440008DB79EB707960FB6F8949EBF0FBE8DBF8F |
:1024500080912702909128029F938F938091B201DF |
:10246000282F33278091BB019091BC01B9010E94B4 |
:10247000FC2B7F936F9387ED92E09F938F931F9335 |
:102480000E944C078CE38093C6018DB79EB70796D8 |
:102490000FB6F8949EBF0FBE8DBF8091230290911E |
:1024A0002402A0912502B0912602BC01CD010E9418 |
:1024B000EA2ADC01CB019F938F9380918B0490914A |
:1024C0008C049F938F9386EE92E0FAC084E1809310 |
:1024D000C60180910A0190910B019F938F9385EF24 |
:1024E00092E09F938F931F930E944C0788E2809302 |
:1024F000C6010F900F900F900F900F908091E00108 |
:1025000099279F938F9384E093E08BC01092C6012C |
:1025100083E193E09F938F931F930E944C0784E184 |
:102520008093C6010F900F900F908091EB019091D6 |
:10253000EC019F938F9382E293E09F938F931F937D |
:102540000E944C0788E28093C6010F900F900F9075 |
:102550000F900F908091EF019091F0019F938F93D6 |
:1025600081E393E09F938F931F930E944C078CE32A |
:102570008093C6010F900F900F900F900F90809155 |
:10258000ED019091EE019F938F9380E493E049C019 |
:102590001092C6018091E7019091E8019F938F937B |
:1025A0008FE493E09F938F931F930E944C0784E1E5 |
:1025B0008093C6010F900F900F900F900F90809115 |
:1025C000E5019091E6019F938F938BE593E09F93B4 |
:1025D0008F931F930E944C0788E28093C6010F904F |
:1025E0000F900F900F900F908091E3019091E40174 |
:1025F0009F938F9387E693E09F938F931F930E94FF |
:102600004C078CE38093C6010F900F900F900F90B2 |
:102610000F908091E1019091E2019F938F9383E766 |
:1026200093E09F938F931F930E944C070F900F90FE |
:102630000F900F900F9057C01092C6018FE793E054 |
:102640009F938F931F930E944C0784E18093C60150 |
:102650000F900F900F908091680199279F938F930F |
:1026600087E893E09F938F931F930E944C0788E223 |
:102670008093C6010F900F900F900F900F90809154 |
:10268000A1019091A2019F938F9385E993E09F937D |
:102690008F931F930E944C078CE38093C6010F9089 |
:1026A0000F900F900F900F908091F30499279F93B4 |
:1026B0008F938091F20499279F938F9383EA93E0FD |
:1026C0009F938F931F930E944C078DB79EB70796D9 |
:1026D0000FB6F8949EBF0FBE8DBF05C0815080938A |
:1026E00066011092C9011092C501DF91CF911F912F |
:1026F00008951092B9008AE28093B800089585EA9F |
:102700008093BC0080E090E0089584E98093BC0051 |
:1027100008951092B9008093BB0085E88093BC00B7 |
:1027200080E090E008951F920F920FB60F9211244F |
:102730002F933F934F935F936F937F938F939F93C9 |
:10274000AF93BF93EF93FF938091CC01282F332752 |
:102750008F5F8093CC012330310509F44AC02430C7 |
:1027600031054CF421303105D9F0223031059CF58A |
:10277000232B89F093C02530310509F451C0253051 |
:102780003105E4F12630310509F453C02730310515 |
:1027900009F46FC083C08091CB01880F8E5A66C048 |
:1027A0008091CB01282F33278F5F8093CB0121307D |
:1027B000310509F453C02230310524F4232B09F4E8 |
:1027C0004AC06CC02230310509F44BC023303105BA |
:1027D00009F44AC063C00E9485138091CB01843004 |
:1027E00018F41092CC0102C01092CB010E947F130A |
:1027F00055C08091CA01880F8D5A38C08091CA0196 |
:1028000099278130910551F1823091051CF4892B73 |
:1028100011F144C08230910521F1039729F13EC0A6 |
:102820008091CA01E82FFF27E556FB4F8091BB003E |
:1028300080838091CA0199278130910579F0823097 |
:1028400091051CF4892B39F029C08230910549F09B |
:10285000039751F023C080916D0208C080916E02F1 |
:1028600005C08091710202C0809173020E94891399 |
:1028700015C09091CA01E92FFF27E556FB4F8091C3 |
:10288000BB008483892F8F5F8093CA01843010F04E |
:102890001092CA010E9485131092CC01FF91EF9112 |
:1028A000BF91AF919F918F917F916F915F914F9168 |
:1028B0003F912F910F900FBE0F901F90189583ECB2 |
:1028C0008093810080916F00806280936F001092EE |
:1028D0002C0210922B0210922E0210922D021092B6 |
:1028E000300210922F0208951F920F920FB60F928E |
:1028F00011242F933F934F935F936F937F938F9305 |
:102900009F93AF93BF93EF93FF93409186005091B5 |
:1029100087008091CD019091CE01481B590B809189 |
:102920008600909187009093CE018093CD01CA01DB |
:102930008D5D95408356994148F481E090E09093F5 |
:10294000D0018093CF01109267015BC02091CF012D |
:102950003091D0012A3031050CF053C0CA018B5F91 |
:102960009040845B914008F043C0425D5140F901C2 |
:10297000E20FF31FED55FB4F80819181BA01681B77 |
:10298000790BCB0177FF03C0909581959F4F0697F8 |
:102990004CF48091E001883C28F48091E001865F4E |
:1029A0008093E001F901E20FF31FDF01AD55BB4F4A |
:1029B0008D919C9111979C01220F331F280F391F75 |
:1029C000240F351F37FF02C02D5F3F4FA9015595DA |
:1029D000479555954795E754FB4F8D919C911197DD |
:1029E0009A01281B390B3183208311965C934E93F7 |
:1029F0008091CF019091D00101969093D001809366 |
:102A0000CF01FF91EF91BF91AF919F918F917F91F6 |
:102A10006F915F914F913F912F910F900FBE0F904B |
:102A20001F901895CF93C82FC150CF3F81F0809150 |
:102A3000D901882361F484E690E09093A401809307 |
:102A4000A3018AEF90E00E94A50AC15080F7CF91C0 |
:102A5000089510927A008091B601882379F08091D0 |
:102A6000B601282F33278091C1019091C201B9018D |
:102A70000E94FC2B70930C0560930B058091B501AF |
:102A8000882379F08091B501282F33278091BF01E9 |
:102A90009091C001B9010E94FC2B70930A056093CC |
:102AA00009058091B401882379F08091B401282F21 |
:102AB00033278091BD019091BE01B9010E94FC2B8A |
:102AC00070931805609317058091B3018823E1F096 |
:102AD0008091B9019091BA01AA2797FDA095BA2FCC |
:102AE00034E0880F991FAA1FBB1F3A95D1F7209198 |
:102AF000B301332744275527BC01CD010E94312C57 |
:102B000030931505209314058091B2018823E1F0DC |
:102B10008091BB019091BC01AA2797FDA095BA2F87 |
:102B200024E0880F991FAA1FBB1F2A95D1F7209177 |
:102B3000B201332744275527BC01CD010E94312C17 |
:102B400030931E0520931D058091B1018823A9F0C3 |
:102B50008091B7019091B801AA2797FDA095BA2F4F |
:102B60002091B101332744275527BC01CD010E9494 |
:102B7000312C30930F0520930E051092C201109254 |
:102B8000C1011092B6011092C0011092BF011092C3 |
:102B9000B5011092BE011092BD011092B4011092C5 |
:102BA000BC011092BB011092B2011092BA011092B6 |
:102BB000B9011092B3011092B8011092B7011092AE |
:102BC000B1018FEE80937A008091D304E82FFF2724 |
:102BD000EE0FFF1FED55FB4F8081918182599F4F72 |
:102BE0002091E7013091E801281739071CF42F5F85 |
:102BF0003F4F0CC08081918182599F4F821793076C |
:102C00004CF42115310531F0215030403093E8016A |
:102C10002093E7018091D404E82FFF27EE0FFF1FD8 |
:102C2000ED55FB4F8081918182599F4F2091E501A5 |
:102C30003091E601281739071CF42F5F3F4F0CC075 |
:102C40008081918182599F4F821793074CF42115FF |
:102C5000310531F0215030403093E6012093E501F9 |
:102C60008091D504E82FFF27EE0FFF1FED55FB4F96 |
:102C70008081918182599F4F2091E3013091E4013D |
:102C8000281739071CF42F5F3F4F0CC080819181BA |
:102C900082599F4F821793074CF42115310531F06B |
:102CA000215030403093E4012093E3018091D60419 |
:102CB000E82FFF27EE0FFF1FED55FB4F808191811D |
:102CC00082599F4F2091E1013091E2012817390785 |
:102CD0001CF42F5F3F4F0CC08081918182599F4F20 |
:102CE000821793074CF42115310531F02150304003 |
:102CF0003093E2012093E1018091E7019091E80196 |
:102D000097FF05C01092E8011092E7010AC08F3FBB |
:102D1000910539F034F08FEF90E09093E8018093C3 |
:102D2000E7018091E5019091E60197FF05C01092BF |
:102D3000E6011092E5010AC08F3F910539F034F0A9 |
:102D40008FEF90E09093E6018093E5018091E3019D |
:102D50009091E40197FF05C01092E4011092E30105 |
:102D60000AC08F3F910539F034F08FEF90E09093D7 |
:102D7000E4018093E3018091E1019091E20197FFEA |
:102D800005C01092E2011092E10108958F3F910574 |
:102D900039F034F08FEF90E09093E2018093E101FD |
:102DA0000895CF93DF9310922A0210922902109275 |
:102DB00028021092270280E090E0A0E0B0E080932B |
:102DC000230290932402A0932502B093260210922E |
:102DD000300210922F0210922E0210922D021092A9 |
:102DE0002C0210922B020E94291585E090E00E948F |
:102DF0006A0AEC01CE010E94990A8823D9F30E9445 |
:102E000029158091D70480FF10C080910401909112 |
:102E10000501875B934038F480910401909105018E |
:102E20008E5E924010F40E94770B80910B0590917A |
:102E30000C0580910B0590910C0597FF03C09095B0 |
:102E400081959F4F9093300280932F0280910905C6 |
:102E500090910A058091090590910A0597FF03C09A |
:102E6000909581959F4F90932E0280932D02809193 |
:102E7000170590911805809117059091180597FFF7 |
:102E800003C0909581959F4F90932C0280932B02C5 |
:102E900080911D0590911E0580911D0590911E0544 |
:102EA00097FF03C0909581959F4F97FD0F9654E033 |
:102EB000959587955A95E1F790932802809327027C |
:102EC0008091140590911505809114059091150538 |
:102ED00097FF03C0909581959F4F97FD0F9644E013 |
:102EE000959587954A95E1F790932A028093290258 |
:102EF00080918B0490918C04AA2797FDA095BA2FFE |
:102F0000BC01CD010E94072BDC01CB018093230281 |
:102F100090932402A0932502B093260210920902F6 |
:102F200010920A0210920B0210920C0210920502EB |
:102F300010920602109207021092080210920102EB |
:102F40001092020210920302109204021092FD01EC |
:102F50001092FE011092FF01109200021092F901EE |
:102F60001092FA011092FB011092FC0110920C05D4 |
:102F700010920B0510920A0510920905109218057F |
:102F8000109217058091060190910701A091080108 |
:102F9000B091090190938E0480938D041092B0013A |
:102FA0001092AF011092F1011092F2011092F30110 |
:102FB0001092F4018091EF019091F0019093EE0155 |
:102FC0008093ED010E942A2A82E390E09093A4016D |
:102FD0008093A301DF91CF910895EF92FF920F9319 |
:102FE0001F9310927A008091B601882379F0809126 |
:102FF000B601282F33278091C1019091C201B901F8 |
:103000000E94FC2B70930C0560930B058091B50119 |
:10301000882379F08091B501282F33278091BF0153 |
:103020009091C001B9010E94FC2B70930A05609336 |
:1030300009058091B401882379F08091B401282F8B |
:1030400033278091BD019091BE01B9010E94FC2BF4 |
:1030500070931805609317058091B301882309F4D4 |
:1030600046C08091140590911505AA2797FDA0955B |
:10307000BA2F7C018D01E3E0EE0CFF1C001F111F35 |
:10308000EA95D1F7E81AF90A0A0B1B0B8091B901EE |
:103090009091BA01AA2797FDA095BA2F74E0880FE6 |
:1030A000991FAA1FBB1F7A95D1F72091B30133272F |
:1030B00044275527BC01CD010E94312CE20EF31E9E |
:1030C000041F151F17FF08C087E090E0A0E0B0E0E4 |
:1030D000E80EF91E0A1F1B1F63E015950795F7946C |
:1030E000E7946A95D1F7F0921505E0921405809166 |
:1030F000B201882309F446C080911D0590911E05F8 |
:10310000AA2797FDA095BA2F7C018D0153E0EE0C04 |
:10311000FF1C001F111F5A95D1F7E81AF90A0A0B74 |
:103120001B0B8091BB019091BC01AA2797FDA09534 |
:10313000BA2F44E0880F991FAA1FBB1F4A95D1F7E9 |
:103140002091B201332744275527BC01CD010E94AD |
:10315000312CE20EF31E041F151F17FF08C087E075 |
:1031600090E0A0E0B0E0E80EF91E0A1F1B1F33E05C |
:1031700015950795F794E7943A95D1F7F0921E05C7 |
:10318000E0921D058091B101882309F43FC0809130 |
:103190000E0590910F05AA2797FDA095BA2F7C01E7 |
:1031A0008D0123E0EE0CFF1C001F111F2A95D1F7A3 |
:1031B000E81AF90A0A0B1B0B8091B7019091B8012C |
:1031C000AA2797FDA095BA2F2091B1013327442754 |
:1031D0005527BC01CD010E94312CE20EF31E041FC5 |
:1031E000151F17FF08C087E090E0A0E0B0E0E80EF0 |
:1031F000F91E0A1F1B1FA3E015950795F794E79486 |
:10320000AA95D1F7F0920F05E0920E051092C20137 |
:103210001092C1011092B6011092C0011092BF012C |
:103220001092B5011092BE011092BD011092B4012E |
:103230001092BC011092BB011092B2011092BA011F |
:103240001092B9011092B3011092B8011092B70117 |
:103250001092B1018091F9019091FA01A091FB01C6 |
:10326000B091FC0180930D0290930E02A0930F0287 |
:10327000B09310028091090290910A02A0910B0272 |
:10328000B0910C0280931D0290931E02A0931F0226 |
:10329000B09320028091010290910202A09103025A |
:1032A000B09104028093150290931602A093170226 |
:1032B000B09318028091050290910602A091070236 |
:1032C000B09108028093190290931A02A0931B02F6 |
:1032D000B0931C028091FD019091FE01A091FF012D |
:1032E000B09100028093110290931202A0931302F6 |
:1032F000B09314028FEE80937A0080910B05909129 |
:103300000C05893C91058CF020910B0530910C0542 |
:10331000220F331F220F331F80910B0590910C0554 |
:10332000820F931F8052934017C080910B0590919C |
:103330000C0588539F4FA4F420910B0530910C0588 |
:10334000220F331F220F331F80910B0590910C0524 |
:10335000820F931F805E9C4F90930C0580930B050A |
:103360008091090590910A05893C91058CF0209186 |
:10337000090530910A05220F331F220F331F809158 |
:10338000090590910A05820F931F8052934017C040 |
:103390008091090590910A0588539F4FA4F42091CC |
:1033A000090530910A05220F331F220F331F809128 |
:1033B000090590910A05820F931F805E9C4F9093A0 |
:1033C0000A05809309058091D304E82FFF27EE0FAB |
:1033D000FF1FED55FB4F8081918182599F4F2091B6 |
:1033E000E7013091E801281739071CF42F5F3F4FA0 |
:1033F0000CC08081918182599F4F821793074CF4B2 |
:103400002115310531F0215030403093E8012093EF |
:10341000E7018091D404E82FFF27EE0FFF1FED5541 |
:10342000FB4F8081918182599F4F2091E50130911E |
:10343000E601281739071CF42F5F3F4F0CC080812D |
:10344000918182599F4F821793074CF421153105C2 |
:1034500031F0215030403093E6012093E501809116 |
:10346000D504E82FFF27EE0FFF1FED55FB4F80819E |
:10347000918182599F4F2091E3013091E4012817F7 |
:1034800039071CF42F5F3F4F0CC080819181825916 |
:103490009F4F821793074CF42115310531F02150CD |
:1034A00030403093E4012093E3018091D604E82F6B |
:1034B000FF27EE0FFF1FED55FB4F80819181825951 |
:1034C0009F4F2091E1013091E201281739071CF448 |
:1034D0002F5F3F4F0CC08081918182599F4F82178F |
:1034E00093074CF42115310531F0215030403093D1 |
:1034F000E2012093E1018091E7019091E80197FFBB |
:1035000005C01092E8011092E7010AC08F3F9105B3 |
:1035100039F034F08FEF90E09093E8018093E70169 |
:103520008091E5019091E60197FF05C01092E601B8 |
:103530001092E5010AC08F3F910539F034F08FEF0A |
:1035400090E09093E6018093E5018091E3019091F2 |
:10355000E40197FF05C01092E4011092E3010AC054 |
:103560008F3F910539F034F08FEF90E09093E401B4 |
:103570008093E3018091E1019091E20197FF05C002 |
:103580001092E2011092E1010AC08F3F910539F0DB |
:1035900034F08FEF90E09093E2018093E1011F916E |
:1035A0000F91FF90EF9008958091D901882301F544 |
:1035B00080936E0280936D028093710280937302F8 |
:1035C00080918A01882311F080936D0280918B0194 |
:1035D000882311F080936E0280918C01882311F072 |
:1035E0008093730280918D01882311F08093710282 |
:1035F00080916D029927909381048093800480913B |
:103600006E029927909383048093820480917302C1 |
:10361000992790938504809384048091710299275F |
:1036200090938704809386041092CC011092CB0172 |
:103630000E947F13089581E08093CF0452E050935D |
:10364000D00483E08093D10444E04093D20435E079 |
:103650003093D30486E08093D40487E08093D5042C |
:1036600028E02093D6041092D7049EE19093D804CA |
:103670008BEF8093DA048AE08093DB0486E4809306 |
:10368000D9049093DD045093DC044093DE0420932E |
:10369000DF0480E18093E0048FE08093E1048AEF0F |
:1036A0008093E2048AE18093E30480E88093E40459 |
:1036B00088E78093E50496E99093E6048AE5809391 |
:1036C000E70483E28093E80484E18093E9041092A4 |
:1036D000EA043093EB041092EC041092ED04109283 |
:1036E000EE041092EF0484E68093F00488E2809365 |
:1036F000F1041092F50482E38093F2049093F304B2 |
:103700003093F404ADEFB4E0EAE7F1E08CE001902F |
:103710000D928150E1F7089581E08093CF0442E05B |
:103720004093D00483E08093D10424E02093D2041A |
:1037300035E03093D30486E08093D40487E080930F |
:10374000D5041092D7048EE18093D8048BEF809338 |
:10375000DA048AE08093DB0492E39093D904909397 |
:10376000DD044093DC042093DE041092DF0480E14A |
:103770008093E0048FE08093E1048AEF8093E20479 |
:103780008AE18093E30480E88093E4048FEA8093E5 |
:10379000E5048093E6048AE58093E70483E280935E |
:1037A000E80484E18093E9041092EA043093EB0486 |
:1037B0001092EC041092ED041092EE041092EF04BB |
:1037C00084E68093F00488E28093F1041092F5047B |
:1037D0009093F20486E98093F3043093F404ADEF00 |
:1037E000B4E0E2E8F1E08CE001900D928150E1F765 |
:1037F00008951F938091DA048B3F98F08B3F19F462 |
:103800008091E7010EC08C3F19F48091E50109C059 |
:103810008D3F19F48091E30104C08E3F21F4809123 |
:10382000E1018093700180917001882321F08F3F26 |
:1038300011F4809370018091D9048B3F98F08B3FF5 |
:1038400019F48091E7010EC08C3F19F48091E501D5 |
:1038500009C08D3F19F48091E30104C08E3F21F42B |
:103860008091E1018093710180917101882329F099 |
:10387000843618F084E6809371018091DB048B3FDD |
:1038800098F08B3F19F48091E7010EC08C3F19F43A |
:103890008091E50109C08D3F19F48091E30104C0D6 |
:1038A0008E3F21F48091E10180936F0180916F013F |
:1038B000882329F0843618F084E680936F01809184 |
:1038C000DD048B3F98F08B3F19F48091E7010EC027 |
:1038D0008C3F19F48091E50109C08D3F19F4809166 |
:1038E000E30104C08E3F21F48091E10180936E01D9 |
:1038F00080916E01882321F08F3F11F480936E0137 |
:103900008091E4048B3F98F08B3F19F48091E7019C |
:103910000EC08C3F19F48091E50109C08D3F19F468 |
:103920008091E30104C08E3F21F48091E1018093F6 |
:103930006D0180916D01882321F08F3F11F48093F8 |
:103940006D018091E5048B3F98F08B3F19F48091D5 |
:10395000E7010EC08C3F19F48091E50109C08D3F4D |
:1039600019F48091E30104C08E3F21F48091E101BC |
:1039700080936C0180916C018B3010F48AE002C05E |
:103980008F3F11F480936C018091E6048B3F98F097 |
:103990008B3F19F48091E7010EC08C3F19F48091A0 |
:1039A000E50109C08D3F19F48091E30104C08E3F09 |
:1039B00021F48091E10180936B0180916B01882358 |
:1039C00021F08F3F11F480936B018091EB048B3FCA |
:1039D00098F08B3F19F48091E7010EC08C3F19F4E9 |
:1039E0008091E50109C08D3F19F48091E30104C085 |
:1039F0008E3F21F48091E1018093690180916901FA |
:103A0000882321F08F3F11F4809369018091EC04A9 |
:103A10008B3F98F08B3F19F48091E7010EC08C3FEB |
:103A200019F48091E50109C08D3F19F48091E301FB |
:103A300004C08E3F21F48091E1018093D4018091F4 |
:103A4000D401882321F08F3F11F48093D401809119 |
:103A5000ED048B3F98F08B3F19F48091E7010EC085 |
:103A60008C3F19F48091E50109C08D3F19F48091D4 |
:103A7000E30104C08E3F21F48091E1018093D301E2 |
:103A80008091D301882321F08F3F11F48093D301DB |
:103A90008091EE048B3F98F08B3F19F48091E70101 |
:103AA0000EC08C3F19F48091E50109C08D3F19F4D7 |
:103AB0008091E30104C08E3F21F48091E101809365 |
:103AC000D2018091D201882321F08F3F11F480939D |
:103AD000D2018091EF048B3F98F08B3F19F48091D5 |
:103AE000E7010EC08C3F19F48091E50109C08D3FBC |
:103AF00019F48091E30104C08E3F21F48091E1012B |
:103B00008093D1018091D101882321F08F3F11F45E |
:103B10008093D1019091F0049B3FB0F09B3F19F44A |
:103B20008091E7010EC09C3F19F48091E50109C026 |
:103B30009D3F19F48091E30104C09E3F39F48091C8 |
:103B4000E1018093680102C090936801809168014F |
:103B5000882321F08F3F11F4809368019B3FB0F0E0 |
:103B60009B3F19F48091E7010EC09C3F19F48091AE |
:103B7000E50109C09D3F19F48091E30104C09E3F17 |
:103B800039F48091E1018093680102C0909368014B |
:103B900080916801882321F08F3F11F480936801A0 |
:103BA0009B3FB0F09B3F19F48091E7010EC09C3F12 |
:103BB00019F48091E50109C09D3F19F48091E3015A |
:103BC00004C09E3F39F48091E1018093680102C0F6 |
:103BD0009093680180916801882321F08F3F11F450 |
:103BE0008093680110916901812F992787FD909535 |
:103BF000A92FB92FBC01CD010E94072B17FF06C0CA |
:103C000020E030E040E853E40E94622A27E137EBED |
:103C100041ED58E30E94812BDC01CB0180937201BE |
:103C200090937301A0937401B09375018091E204A5 |
:103C3000809316058091E10480930D051F910895EE |
:103C40002F923F924F925F926F927F928F929F92AC |
:103C5000AF92BF92CF92DF92EF92FF920F931F939A |
:103C6000CF93DF93CDB7DEB723970FB6F894DEBFBF |
:103C70000FBECDBF0E94ED17299A8091D104E82F85 |
:103C8000FF27EE0FFF1FED55FB4F4080518028E7C7 |
:103C900030E0420E531E57FE02C04424552480914A |
:103CA000E001843608F04BC080910001882331F494 |
:103CB00084EF91E09093A4018093A30180914A0244 |
:103CC00090914B02009731F0019790934B028093B3 |
:103CD0004A0204C01092D9011092EA01289A8091F8 |
:103CE0004F0290915002815D974030F18091E8043D |
:103CF000482E552481E08093EA018091CF04E82F7B |
:103D0000FF27EE0FFF1FED55FB4F118210828091B0 |
:103D1000D004E82FFF27EE0FFF1FED55FB4F118258 |
:103D200010828091D204E82FFF27EE0FFF1FED5580 |
:103D3000FB4F11821082E2C11092D901DFC1809144 |
:103D4000E0018D3808F4DAC11092EA019091E9049B |
:103D500082E3989FC001112490934B0280934A0202 |
:103D600049E2441651046CF080914F029091500248 |
:103D70005FEF8F3F950729F0019690935002809353 |
:103D80004F0280914F0290915002883C910520F0A3 |
:103D900068E24616510404F5109232021092330282 |
:103DA00010923402109235021092360210923702AD |
:103DB00010923802109239021092F9011092FA0111 |
:103DC0001092FB011092FC011092F5011092F60185 |
:103DD0001092F7011092F80179EC471651040CF497 |
:103DE000EDC00091D901002309F0E8C08091D20410 |
:103DF000E82FFF27EE0FFF1FED55FB4F80819181CC |
:103E00008C3491050CF4D8C080914C028F5F809364 |
:103E10004C02893C08F4D2C029980E94D116009324 |
:103E2000D90100934C021092500210924F0230912F |
:103E3000CF04E32FFF27EE0FFF1FED55FB4F8081CF |
:103E4000918187349105B4F48091D004E82FFF2745 |
:103E5000EE0FFF1FED55FB4F808191810190F081A6 |
:103E6000E02DF7FF03C0F095E195FF4FE734F10532 |
:103E70000CF482C02091D004E22FFF27EE0FFF1F29 |
:103E8000ED55FB4F808191818734910564F0E32FDC |
:103E9000FF27EE0FFF1FED55FB4F80819181863488 |
:103EA00091050CF411E0E22FFF27EE0FFF1FED55F7 |
:103EB000FB4F808191818734910574F08091CF040C |
:103EC000E82FFF27EE0FFF1FED55FB4F80819181FB |
:103ED000873491050CF012E0E22FFF27EE0FFF1F51 |
:103EE000ED55FB4F808191818634910574F480916A |
:103EF000CF04E82FFF27EE0FFF1FED55FB4F80810A |
:103F00009181873491050CF013E0E22FFF27EE0F2B |
:103F1000FF1FED55FB4F808191818A5B9F4F74F4A9 |
:103F20008091CF04E82FFF27EE0FFF1FED55FB4FC9 |
:103F300080819181873491050CF014E0E22FFF27F6 |
:103F4000EE0FFF1FED55FB4F808191818A5B9F4FE4 |
:103F500074F48091CF04E82FFF27EE0FFF1FED557B |
:103F6000FB4F80819181863491050CF415E0A2E02D |
:103F7000B0E0012E0E94542C0E9420024AE36FEC14 |
:103F800074E00E94F6010E9420020E9412158091A6 |
:103F9000D70480FF13C08091040190910501875BD5 |
:103FA000934038F480910401909105018E5E924017 |
:103FB00028F40E94770B02C000934C0223E24216C1 |
:103FC00051040CF09BC02091D204E22FFF27EE0F8A |
:103FD000FF1FED55FB4F80819181855B9F4F0CF05A |
:103FE0006DC080914D028F5F80934D02893C08F433 |
:103FF00067C088EC80934D0281E090E0909350027E |
:1040000080934F0281E08093D90110923A0210927E |
:104010003B0210923C0210923D021092F901109264 |
:10402000FA011092FB011092FC011092F50110921E |
:10403000F6011092F7011092F80110920902109205 |
:104040000A0210920B0210920C02109201021092BE |
:104050000202109203021092040280911D029091BC |
:104060001E02A0911F02B09120028093050290933E |
:104070000602A0930702B093080280911502909166 |
:104080001602A0911702B09118028093FD0190933F |
:10409000FE01A093FF01B093000210923202109231 |
:1040A00033021092340210923502109236021092AE |
:1040B0003702109238021092390202C010924D025B |
:1040C000E22FFF27EE0FFF1FED55FB4F80819181FF |
:1040D0008C3491058CF080914E028F5F80934E025C |
:1040E000893C60F01092D90188EC80934E021092C6 |
:1040F000500210924F0202C010924E02809167014E |
:10410000815080936701809167018F3F29F08091F2 |
:10411000EA01882309F4F7C00E94F91B8091CF04BB |
:10412000E82FFF27EE0FFF1FDF01AD55BB4F80913A |
:10413000DE04682F77278D919C91869F9001879F41 |
:10414000300D969F300D1124E754FB4F8091DF0412 |
:10415000482F552780819181849FD001859FB00D84 |
:10416000949FB00D11242A0F3B1F3093DF01209341 |
:10417000DE018091D004E82FFF27EE0FFF1FDF0143 |
:10418000AD55BB4F8D919C91869F9001879F300DBF |
:10419000969F300D1124E754FB4F80819181849FBD |
:1041A000F001859FF00D949FF00D11242E0F3F1FFD |
:1041B0003093DD012093DC018091D204E82FFF27AA |
:1041C000EE0FFF1FED55FB4F8081918190958195FA |
:1041D0009F4F9093DB018093DA0110916C01812F46 |
:1041E000992787FD9095A92FB92FBC01CD010E9479 |
:1041F000072B17FF06C020E030E040E853E40E94A0 |
:10420000622A20E030E040E251E40E94622ADC01B0 |
:10421000CB0120E030E040E85BE3BC01CD010E942F |
:10422000812B6B017C016093190570931A058093B3 |
:104230001B0590931C0510916B01812F992787FD19 |
:104240009095A92FB92FBC01CD010E94072B17FF14 |
:1042500006C020E030E040E853E40E94622A20E0FB |
:1042600030EE4BE257E40E94A42ADC01CB0180939C |
:10427000100590931105A0931205B093130580913A |
:10428000D70482FF0CC080E090E0A0E0B0E0809313 |
:10429000100590931105A0931205B093130520E02B |
:1042A00030E040E050E0C701B6010E94112B8823A6 |
:1042B00064F480E090E0A0E0B0E080931905909372 |
:1042C0001A05A0931B05B0931C05809110059091D1 |
:1042D0001105A0911205B091130520E030E040E0F7 |
:1042E00050E0BC01CD010E94112B882364F480E0D2 |
:1042F00090E0A0E0B0E08093100590931105A093AA |
:104300001205B0931305F091EA01F983FF2321F11F |
:104310001092DB011092DA011092DF011092DE019F |
:104320001092DD011092DC018DEC9CECACECBDE355 |
:104330008093190590931A05A0931B05B0931C0553 |
:104340008AE097EDA3EABBE38093100590931105F3 |
:10435000A0931205B09313058091AD019091AE0129 |
:104360008D54914008F4C3C08091190290911A02B3 |
:10437000A0911B02B0911C029C0180911D029091A2 |
:104380001E02A0911F02B0912002281B390B30930E |
:104390004702209346028091110290911202A0914F |
:1043A0001302B0911402AC01809115029091160293 |
:1043B000A0911702B0911802481B590B5093490263 |
:1043C000409348021092AE011092AD01273A310598 |
:1043D0004CF080912F029091300201969093300220 |
:1043E00080932F022A553F4F4CF480912F029091D9 |
:1043F000300201979093300280932F02473A510583 |
:104400004CF080912D0290912E02019690932E02F5 |
:1044100080932D024A555F4F4CF480912D0290916C |
:104420002E02019790932E0280932D028091F50128 |
:104430009091F601A091F701B091F801873A9105AA |
:10444000A105B1054CF080912B0290912C020197AF |
:1044500090932C0280932B028091F5019091F601AC |
:10446000A091F701B091F8018A559F4FAF4FBF4F10 |
:104470004CF480912B0290912C02019690932C0287 |
:1044800080932B0210927A0080911D0290911E025F |
:10449000A0911F02B0912002809305029093060222 |
:1044A000A0930702B0930802809115029091160222 |
:1044B000A0911702B09118028093FD019093FE0124 |
:1044C000A093FF01B093000280910D0290910E0223 |
:1044D000A0910F02B09110028093F5019093F60124 |
:1044E000A093F701B093F8018FEE80937A0090903B |
:1044F000E304A92CBB24CC24DD2480911D029091DF |
:104500001E02A0911F02B0912002BC01CD01A601A4 |
:1045100095010E94312C8091140590911505AA27D0 |
:1045200097FDA095BA2F281B390B4A0B5B0B57FF41 |
:1045300004C0215F3F4F4F4F5F4F79018A01B4E0C4 |
:1045400015950795F794E794BA95D1F7E0923E0256 |
:10455000F0923F02009340021093410280911502B5 |
:1045600090911602A0911702B0911802BC01CD01E2 |
:10457000A60195010E94312C80911D0590911E0588 |
:10458000AA2797FDA095BA2F281B390B4A0B5B0B66 |
:1045900057FF04C0215F3F4F4F4F5F4FA4E0559539 |
:1045A000479537952795AA95D1F7209342023093E6 |
:1045B00043024093440250934502F5EFEF16F1E0B9 |
:1045C000FF06F0E00F07F0E01F0764F084EF91E0D2 |
:1045D000A0E0B0E080933E0290933F02A09340029F |
:1045E000B093410280913E0290913F02A09140021F |
:1045F000B09141028C509E4FAF4FBF4F64F48CE09E |
:104600009EEFAFEFBFEF80933E0290933F02A093E7 |
:104610004002B0934102255F31404040504064F079 |
:1046200084EF91E0A0E0B0E08093420290934302D7 |
:10463000A0934402B09345028091420290914302BC |
:10464000A0914402B09145028C509E4FAF4FBF4F96 |
:1046500064F48CE09EEFAFEFBFEF80934202909343 |
:104660004302A0934402B093450210927A008091D5 |
:10467000090290910A02A0910B02B0910C022091C4 |
:104680003E0230913F024091400250914102821B14 |
:10469000930BA40BB50B8093090290930A02A0938D |
:1046A0000B02B0930C028091010290910202A09142 |
:1046B0000302B091040220914202309143024091E2 |
:1046C000440250914502821B930BA40BB50B8093BF |
:1046D000010290930202A0930302B093040220917E |
:1046E000DA013091DB01C901AA2797FDA095BA2F05 |
:1046F00080933A0290933B02A0933C02B0933D0218 |
:1047000037FF03C0309521953F4F243231053CF0EF |
:104710008091D70484FD03C081E08093540280918E |
:10472000E004A82EBB24CC24DD2420903A02309053 |
:104730003B02910137FE04C0222733272219330997 |
:10474000442737FD4095542F80913A0290913B02C7 |
:10475000A0913C02B0913D02BC01CD010E94C92B49 |
:104760009B01AC01C601B5010E94C92B97FF04C093 |
:1047700061507F4F8F4F9F4FBB2797FDBA95A92F51 |
:10478000982F872F9C01442737FD4095542F809107 |
:10479000F9019091FA01A091FB01B091FC01821BFB |
:1047A000930BA40BB50B8093F9019093FA01A0939E |
:1047B000FB01B093FC018091F9019091FA01A09165 |
:1047C000FB01B091FC0181539547A040B04064F0DB |
:1047D00080E395E7A0E0B0E08093F9019093FA01BF |
:1047E000A093FB01B093FC018091F9019091FA0133 |
:1047F000A091FB01B091FC01805D9A48AF4FBF4F83 |
:1048000064F480ED9AE8AFEFBFEF8093F9019093E5 |
:10481000FA01A093FB01B093FC018FEE80937A0024 |
:104820008091EF019091F001892B09F4B8C080913B |
:10483000D70483FFB4C080911D0290911E02A09105 |
:104840001F02B0912002B7FF04C081509E4FAF4FAE |
:10485000BF4FE9E0B595A79597958795EA95D1F76C |
:104860009C0197FF03C0309521953F4F8091150221 |
:1048700090911602A0911702B0911802B7FF04C0E0 |
:1048800081509E4FAF4FBF4F79E0B595A795979553 |
:1048900087957A95D1F7BC0197FF03C07095619514 |
:1048A0007F4F261737070CF49B0129313105A4F4FB |
:1048B00080915402882381F0809155029091560294 |
:1048C000892B51F48091EF019091F0019093EE01CA |
:1048D0008093ED011092540280916D01482F55276D |
:1048E000249FC001259F900D349F900D112497FDAA |
:1048F000CF969C0166E0359527956A95E1F7421BB6 |
:10490000530B9A01141615060CF043C010927A004E |
:1049100060915502709156026115710569F580919B |
:10492000EB019091EC01829FA001839F500D929F1B |
:10493000500D11249A0157FF02C0215E3F4F55E0F0 |
:10494000359527955A95E1F7442737FD4095542F23 |
:104950008091F9019091FA01A091FB01B091FC01C5 |
:10496000820F931FA41FB51F8093F9019093FA0142 |
:10497000A093FB01B093FC018FEE80937A00611548 |
:10498000710569F061507040709356026093550252 |
:1049900006C084EF91E09093560280935502809177 |
:1049A00067048F5F809367048091530281508093E6 |
:1049B00053028F3F09F070C081E380935302E92CCA |
:1049C000FF240027112780911D0290911E02A091C3 |
:1049D0001F02B0912002BC01CD01A80197010E94E5 |
:1049E000312C3093690420936804809115029091D2 |
:1049F0001602A0911702B0911802BC01CD01A801C6 |
:104A000097010E94312C30936B0420936A048091AB |
:104A100014059091150590936D0480936C0480911A |
:104A20001D0590911E0590936F0480936E048091F4 |
:104A300017059091180590937104809370048091EC |
:104A4000D7019091D8019093730480937204809160 |
:104A5000F1019091F201A091F301B091F401B7FF3F |
:104A600004C081509E4FAF4FBF4F49E0B595A79509 |
:104A7000979587954A95D1F7909375048093740420 |
:104A800050927704409276048091EF019091F0016A |
:104A9000909379048093780480911D0290911E0276 |
:104AA000A0911F02B0912002BC01CD010E94072BF2 |
:104AB000DC01CB016090100570901105809012050B |
:104AC00090901305A4019301BC01CD010E94812B9C |
:104AD0007B018C0180910B0590910C05AA2797FD15 |
:104AE000A095BA2FBC01CD010E94072BDC01CB01A0 |
:104AF000A0901905B0901A05C0901B05D0901C0518 |
:104B0000A6019501BC01CD010E94812BDC01CB01E6 |
:104B10009C01AD01C801B7010E94622ADC01CB01F2 |
:104B2000BC01CD010E94EA2ADC01CB0190930C0567 |
:104B300080930B058091150290911602A0911702A7 |
:104B4000B0911802BC01CD010E94072BDC01CB0102 |
:104B5000A4019301BC01CD010E94812B7B018C013A |
:104B60008091090590910A05AA2797FDA095BA2F73 |
:104B7000BC01CD010E94072BDC01CB01A6019501F0 |
:104B8000BC01CD010E94812BDC01CB019C01AD0158 |
:104B9000C801B7010E94622ADC01CB01BC01CD0132 |
:104BA0000E94EA2ADC01CB0190930A058093090553 |
:104BB0008091170590911805AA2797FDA095BA2F07 |
:104BC000BC01CD010E94072B7B018C0120E030E06D |
:104BD00040E05FE3C601B5010E94812BDC01CB01FF |
:104BE0009C01AD01C801B7010E94812B7B018C01A2 |
:104BF00080910D0290910E02A0910F02B0911002CF |
:104C0000BC01CD010E94072BDC01CB01A401930163 |
:104C1000BC01CD010E94812BDC01CB019C01AD01C7 |
:104C2000C801B7010E94622ADC01CB01BC01CD01A1 |
:104C30000E94EA2ADC01CB019093180580931705A6 |
:104C400080910B0590910C058150984034F080E0E4 |
:104C500098E090930C0580930B0580910B05909143 |
:104C60000C058050984F34F480E098EF90930C0539 |
:104C700080930B058091090590910A058150984019 |
:104C800034F080E098E090930A05809309058091C4 |
:104C9000090590910A058050984F34F480E098EF10 |
:104CA00090930A0580930905809117059091180546 |
:104CB0008150984034F080E098E0909318058093FC |
:104CC000170580911705909118058050984F34F47E |
:104CD00080E098EF90931805809317058091D70492 |
:104CE000992780FFE6C02091700181FF0EC022331A |
:104CF000B0F48091D7019091D80144979093D60158 |
:104D00008093D5011092E9010DC08091DC04289FA9 |
:104D1000C001112444979093D6018093D50181E07E |
:104D20008093E901F981FF2321F01092D6011092BE |
:104D3000D5010091D7011091D8012091D501309172 |
:104D4000D601201731070CF0B4C08091E901882307 |
:104D500009F4AFC0021B130B80916F019927089FC4 |
:104D60009001099F300D189F300D1124C90137FDA6 |
:104D70000F968C0134E0159507953A95E1F7A2015D |
:104D8000401B510B8A0180917101282F332780919C |
:104D9000AF019091B001829FB001839F700D929FEF |
:104DA000700D1124CB0177FD079623E0959587952B |
:104DB0002A95E1F7081B190BC090F101D090F20180 |
:104DC000E090F301F090F401F7FE08C08FEF91E05E |
:104DD000A0E0B0E0C80ED91EEA1EFB1EB9E0F594B3 |
:104DE000E794D794C794BA95D1F780916E01282F94 |
:104DF000332744275527C701B6010E94C92B97FFC7 |
:104E000004C0615E7F4F8F4F9F4FA5E095958795BA |
:104E100077956795AA95D1F7633371051CF062E326 |
:104E200070E006C09FEF6E3C790714F46EEC7FEFE4 |
:104E3000061B170B80915102909152029C01F4E0E5 |
:104E4000220F331FFA95E1F7281B390B200F311F72 |
:104E500037FF02C0215F3F4FE4E035952795EA9583 |
:104E6000E1F730935202209351028091D804482FE9 |
:104E700055272417350774F44416550624F050932B |
:104E80005202409351024416550624F450925202A5 |
:104E90004092510280915102909152024816590657 |
:104EA00024F450925202409251024090510250908C |
:104EB0005202A0911705B0911805A219B309BB833E |
:104EC000AA83A536B10524F0E4E6F0E0FB83EA838B |
:104ED0002A813B812C593F4F24F46CE97FEF7B837F |
:104EE0006A832091DE013091DF0180916902909107 |
:104EF0006A02281B390B80910B0590910C05821BCF |
:104F0000930BAA2797FDA095BA2FBC01CD010E9453 |
:104F1000072BDC01CB0160907601709077018090C7 |
:104F20007801909079019C01AD01C401B3010E9408 |
:104F3000812BDC01CB01BC01CD010E94EA2ADC01FE |
:104F4000CB019093700280936F0280916F029091D9 |
:104F50007002AA2797FDA095BA2F209132023091B6 |
:104F600033024091340250913502280F391F4A1FF5 |
:104F70005B1F2093320230933302409334025093EC |
:104F80003502609132027091330212161306140634 |
:104F90001506C4F4CB0177FF04C088279927861B28 |
:104FA000970B97FF02C081509F4F892F990F990B44 |
:104FB0000196AA2797FDA095BA2F281B390B4A0BFB |
:104FC0005B0B16C0CB0177FF03C0909581959F4F77 |
:104FD00097FF02C081509F4F892F990F990B01961F |
:104FE000AA2797FDA095BA2F280F391F4A1F5B1FCC |
:104FF00020933202309333024093340250933502AF |
:105000008091320290913302A0913402B091350226 |
:1050100081589E43A040B04064F080E89EE3A0E049 |
:10502000B0E08093320290933302A0933402B093A5 |
:1050300035028091320290913302A0913402B091F6 |
:1050400035028058914CAF4FBF4F64F480E891EC2B |
:10505000AFEFBFEF8093320290933302A0933402FC |
:10506000B093350280916F0290917002AA2797FD4C |
:10507000A095BA2FBC01CD010E94072B7B018C01AA |
:105080008091320290913302A0913402B0913502A6 |
:10509000BC01CD010E94072BDC01CB01A090720165 |
:1050A000B0907301C0907401D09075019C01AD0166 |
:1050B000C601B5010E94812BDC01CB019C01AD0131 |
:1050C000C801B7010E94622ADC01CB01BC01CD01FD |
:1050D0000E94EA2ADC01CB01FC019201280F391F52 |
:1050E0004A815B81240F351F432F552747FD50957B |
:1050F0004427550F441F552760E070E08AE04816AA |
:10510000510414F461E070E0462B572B452B19F045 |
:1051100020E030E008C080911605482F552742173F |
:1051200053070CF49A0130900D05432D5527241791 |
:1051300035070CF49A0120936D0292012E1B3F0B50 |
:10514000AA81BB812A0F3B1F832F992787FD90954A |
:105150008827990F881F992740E050E0BAE04B1646 |
:10516000510414F441E050E0842B952B892B19F065 |
:1051700020E030E007C08091160599278217930739 |
:105180000CF49C01832D9927281739070CF49C01F6 |
:1051900020936E022091DC013091DD018091670245 |
:1051A00090916802281B390B8091090590910A059E |
:1051B000821B930BAA2797FDA095BA2FBC01CD01A6 |
:1051C0000E94072BDC01CB019C01AD01C401B3019E |
:1051D0000E94812BDC01CB01BC01CD010E94EA2A97 |
:1051E000DC01CB0190936C0280936B0280916B0287 |
:1051F00090916C02AA2797FDA095BA2F20913602B4 |
:10520000309137024091380250913902280F391FEE |
:105210004A1F5B1F209336023093370240933802B7 |
:1052200050933902609136027091370212161306BC |
:1052300014061506C4F4CB0177FF04C0882799270C |
:10524000861B970B97FF02C081509F4F892F990FA4 |
:10525000990B0196AA2797FDA095BA2F281B390B09 |
:105260004A0B5B0B16C0CB0177FF03C0909581956D |
:105270009F4F97FF02C081509F4F892F990F990B25 |
:105280000196AA2797FDA095BA2F280F391F4A1F0C |
:105290005B1F2093360230933702409338025093BD |
:1052A00039028091360290913702A0913802B09174 |
:1052B000390281589E43A040B04064F080E89EE3EC |
:1052C000A0E0B0E08093360290933702A0933802BA |
:1052D000B09339028091360290913702A091380242 |
:1052E000B09139028058914CAF4FBF4F64F480E8C1 |
:1052F00091ECAFEFBFEF8093360290933702A0930B |
:105300003802B093390280916B0290916C02AA2707 |
:1053100097FDA095BA2FBC01CD010E94072B7B0100 |
:105320008C018091360290913702A0913802B091A1 |
:105330003902BC01CD010E94072BDC01CB019C018D |
:10534000AD01C601B5010E94812BDC01CB019C019E |
:10535000AD01C801B7010E94622ADC01CB01BC018A |
:10536000CD010E94EA2ADC01CB01FC019201280F49 |
:10537000391F4A815B81241B350B432F552747FD7D |
:1053800050954427550F441F552760E070E08AE090 |
:105390004816510414F461E070E0462B572B452B5E |
:1053A00019F020E030E008C080911605482F5527FD |
:1053B000421753070CF49A01432D5527241735073C |
:1053C0000CF49A012093730292012E1B3F0BAA81C9 |
:1053D000BB812A1B3B0B832F992787FD909588273C |
:1053E000990F881F992740E050E0BAE04B1651040E |
:1053F00014F441E050E0842B952B892B19F020E028 |
:1054000030E007C0809116059927821793070CF4A6 |
:105410009C01832D9927281739070CF49C012093B0 |
:10542000710223960FB6F894DEBF0FBECDBFDF9199 |
:10543000CF911F910F91FF90EF90DF90CF90BF9091 |
:10544000AF909F908F907F906F905F904F903F9024 |
:105450002F9008958091630290916402A09165025B |
:10546000B091660280935B0290935C02A0935D0210 |
:10547000B0935E0280915F0290916002A091610200 |
:10548000B09162028093570290935802A093590200 |
:10549000B0935A02089510926A0210926902109213 |
:1054A0006802109267020895FC014150504030F0AC |
:1054B00001900616D1F73197CF01089588279927D3 |
:1054C00008955058192EEFD001D0D2C0BA176207F4 |
:1054D000730784079507B1F188F40EF410940B2E2E |
:1054E000BA2FA02D062E622F202D072E732F302DC0 |
:1054F000082E842F402D092E952F502DFF27552340 |
:10550000B9F0591B49F0573E98F0469537952795C5 |
:10551000A795F0405395C9F776F0BA0F621F731F35 |
:10552000841F30F4879577956795B795F0409395EC |
:1055300017FA0F2E0895BF1BBB27BA0B620B730B14 |
:10554000840BF6CFDEF6DBC0AED001D091C0552380 |
:1055500059F0992369F09F575F57951B33F442F434 |
:10556000903811F4915805C09BC091589F3F09F4A1 |
:10557000C6C0BB27112462177307840730F4660F77 |
:10558000771F881FBB1F915098F311D00F920FD037 |
:105590000F920DD0A0E82617370748071B0609F021 |
:1055A000A048BA2F602D7F918F9100240895A0E824 |
:1055B0000024621773078407B10528F0621B730B80 |
:1055C000840BB1090A2A660F771F881FBB1FA69597 |
:1055D00081F7089597FB73D09F3738F0FEE9F91BE8 |
:1055E000982F872F762F6B2F05C086C096958795AD |
:1055F00077956795F150D0F73EF49095809570952A |
:1056000061957F4F8F4F9F4F0895E89403C097FB9C |
:105610000EF4F3DFB62F672F782F892F9EE9002431 |
:1056200027C00ED05EF004C00BD026F001C008D019 |
:1056300019F020F48FEF089580E0089581E0089537 |
:1056400097FB092E052600F8689430D0E89407FCF3 |
:1056500007C0621773078407950721F008F40094C8 |
:105660000794989408959A95BB0F661F771F881F1B |
:1056700011249923A1F08823B2F79F3F59F0BB0F63 |
:1056800048F421F4002011F460FF04C06F5F7F4FE5 |
:105690008F4F9F4F881F9795879597F908952CC036 |
:1056A0009FEF80EC0895052E092607FA440F551F39 |
:1056B0005F3F79F0AA27A51708F051E04795880FBA |
:1056C000991F9F3F31F0BB27B91708F091E08795EC |
:1056D00008959F919F911124E3CF97FB880F991F05 |
:1056E0009F3F31F0BB27B91708F091E087950895E7 |
:1056F0009F919F911124D4CF6627772788279927D8 |
:105700000895D1DF01D0B4CF992339F0552329F082 |
:105710009F575F57950F13F49AF1F1CF91589F3F20 |
:10572000E1F3629FA12D0F92BB27639FA00DB11DD6 |
:10573000EE27729FA00DB11DEE1FAF93AA27649FA5 |
:10574000B00DE11D739FB00DE11DAA1F6627829F5A |
:10575000B00DE11DA61F5527749FE00DA11D551F1B |
:10576000839FE00DA11D561F849FA00D511D852F05 |
:105770007A2F6E2F1F900F9088231AF4939539F487 |
:105780008FCF000C111CBB1F661F771F881F0128BD |
:105790000895629FD001739FF001829FE00DF11D7B |
:1057A000649FE00DF11D929FF00D839FF00D749F9B |
:1057B000F00D659FF00D9927729FB00DE11DF91F47 |
:1057C000639FB00DE11DF91FBD01CF0111240895A4 |
:1057D000AA1BBB1B51E107C0AA1FBB1FA617B70717 |
:1057E00010F0A61BB70B881F991F5A95A9F7809533 |
:1057F0009095BC01CD01089597FB092E07260AD08C |
:1058000077FD04D0E5DF06D000201AF4709561958D |
:105810007F4F0895F6F7909581959F4F0895A1E2E7 |
:105820001A2EAA1BBB1BFD010DC0AA1FBB1FEE1F1A |
:10583000FF1FA217B307E407F50720F0A21BB30B65 |
:10584000E40BF50B661F771F881F991F1A9469F7E1 |
:1058500060957095809590959B01AC01BD01CF013D |
:10586000089597FB092E05260ED057FD04D0D7DFEB |
:105870000AD0001C38F450954095309521953F4F43 |
:105880004F4F5F4F0895F6F790958095709561950D |
:105890007F4F8F4F9F4F0895F999FECFB2BDA1BDA5 |
:1058A000F89A119600B40895F999FECFB2BDA1BD42 |
:1058B00000BC11960FB6F894FA9AF99A0FBE0895A3 |
:1058C0006401010AFF03007D0000640048616C6C04 |
:1058D0006F2057656C74000000000000000000009D |
:1058E00000000000000000000000000000000000B8 |
:1058F00000000000000000000000000000000000A8 |
:105900000000000000000000000000000000000097 |
:10591000000000000000000000000000010203047D |
:1059200005060708090A0A01640A029632403A107D |
:10593000FB3017B7D1380000803F4E6F726D616C3D |
:0A59400000004B616D65726100000C |
:00000001FF |
/branches/V0.60_Kompass_Name/Hex-Files/WasIstWas.txt |
---|
0,0 → 1,22 |
+++++++++++++++++++++++++ |
+ Flight-Ctrl: |
+++++++++++++++++++++++++ |
BootLoader_MEGA644_20MHZ_V0_1.hex |
Der Bootloader wird per ISP eingespielt |
Der Bootloader nur dann eingespielt werden, wenn noch nie ein Bootloader eingespielt wurde! |
Danach können Softwareupdates seriell eingespielt werden. |
Flight-Ctrl_MEGA644_Vx_yy.hex |
Aktuelle Firmware |
Wird per serielle Schnittstelle (durch den Bootloader) eingespielt |
Flight-Ctrl SW > 0.60 benötigt das Kopter-Tool >1.45 |
+++++++++++++++++++++++++ |
+ BL-Ctrl: |
+++++++++++++++++++++++++ |
BrushLess-Ctrl_16kHz_ADRq_Vx_yy.hex |
Firmware für den BL-Regler |
Jeder Regler benötigt die Software mit seiner eigenen Adresse |
/branches/V0.60_Kompass_Name/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_Kompass_Name/Settings.h |
---|
--- _Settings.h (nonexistent) |
+++ _Settings.h (revision 4) |
@@ -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_Kompass_Name/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_Kompass_Name/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_Kompass_Name/eeprom.c |
---|
--- fc.c (nonexistent) |
+++ fc.c (revision 4) |
@@ -0,0 +1,812 @@ |
+/*####################################################################################### |
+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; |
+ GPS_Neutral(); |
+ 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 |
+ } |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+ |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// 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_Kompass_Name/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_Kompass_Name/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_Kompass_Name/flight.pnps |
---|
0,0 → 1,0 |
<pd><ViewState><e p="Flight-Ctrl" x="true"></e></ViewState></pd> |
/branches/V0.60_Kompass_Name/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_Kompass_Name/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_Kompass_Name/main.h |
---|
0,0 → 1,92 |
#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[]; |
#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_Kompass_Name/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_Kompass_Name/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_Kompass_Name/menu.h |
---|
0,0 → 1,5 |
extern void Menu(void); |
extern char DisplayBuff[80]; |
extern unsigned char DispPtr; |
unsigned char RemoteTasten; |
/branches/V0.60_Kompass_Name/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_Kompass_Name/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_Kompass_Name/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_Kompass_Name/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_Kompass_Name/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_Kompass_Name/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_Kompass_Name/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_Kompass_Name/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_Kompass_Name/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_Kompass_Name/uart.c |
---|
0,0 → 1,328 |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Copyright (c) 04.2007 Holger Buss |
// + only for non-profit use |
// + www.MikroKopter.com |
// + see the File "License.txt" for further Informations |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
#include "main.h" |
#include "uart.h" |
unsigned char DebugGetAnforderung = 0,DebugDisplayAnforderung = 0,DebugDataAnforderung = 0,GetVersionAnforderung = 0; |
unsigned 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; |
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
//++ Sende-Part der Datenübertragung |
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
SIGNAL(INT_VEC_TX) |
{ |
static unsigned int ptr = 0; |
unsigned char tmp_tx; |
if(!UebertragungAbgeschlossen) |
{ |
ptr++; // die [0] wurde schon gesendet |
tmp_tx = SendeBuffer[ptr]; |
if((tmp_tx == '\r') || (ptr == MAX_SENDE_BUFF)) |
{ |
ptr = 0; |
UebertragungAbgeschlossen = 1; |
} |
UDR = tmp_tx; |
} |
else ptr = 0; |
} |
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
//++ Empfangs-Part der Datenübertragung, incl. CRC-Auswertung |
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
SIGNAL(INT_VEC_RX) |
{ |
static unsigned int crc; |
static unsigned char crc1,crc2,buf_ptr; |
static unsigned char UartState = 0; |
unsigned char CrcOkay = 0; |
SioTmp = UDR; |
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); |
} |
//--------------------------------------------------------------------------------------------- |
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_Kompass_Name/uart.h |
---|
0,0 → 1,93 |
#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; |
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_Kompass_Name/version.txt |
---|
0,0 → 1,49 |
------- |
V0.53 27.04.2007 H.Buss |
- erste öffentliche Version |
V0.53b 29.04.2007 H.Buss |
- der FAKTOR_I war versehentlich auf Null, dann liegt der MikroKopter nicht so hart in der Luft |
V0.53c 29.04.2007 H.Buss |
- es gib ein Menü, in dem die Werte der Kanäle nach Nick, Roll, Gas,... sortiert sind. |
Die angezeigten Werte waren nicht die Werte der Funke |
V0.54 01.05.2007 H.Buss |
- die Paramtersätze können jetzt vor dem Start ausgewählt werden |
Dazu wird beim Kalibrieren der Messwerte (Gashebel oben links) der Nick-Rollhebel abgefragt: |
2 3 4 |
1 x 5 |
- - - |
Bedeutet: Nick-Rollhebel Links Mitte = Setting:1 Links Oben = Setting:2 usw. |
- der Faktor_I für den Hauptregler ist hinzugekommen. Im Heading-Hold-Modus sollte er vergössert werden, was Stabilität bringt |
V0.55 14.05.2007 H.Buss |
- es können nun Servos an J3,J4,J5 mit den Kanälen 5-7 gesteuert werden |
V0.56 14.05.2007 H.Buss |
- es gab Probleme mit Funken, die mehr als 8 Kanäle haben, wenn mehrere Kanäle dann auf Null waren |
- Funken, die nicht bis +-120 aussteuern können, sollten jetzt auch gehen |
V0.57 24.05.2007 H.Buss |
- Der Höhenregler kann nun auch mittels Schalter bedient werden |
- Bug im Gier-Algorithmus behoben; Schnelles Gieren fürhrte dazu, dass der MK zu weit gedreht hat |
- Kompass-Einfluss dämpfen bei Neigung |
- Man kann zwischen Kompass FIX (Richtung beim Kalibrieren) und Variabel (einstellbar per Gier) wählen |
- Der Motortest vom Kopter-Tool geht jetzt |
- Man kann den Parametersätzen einen Namen geben |
- Das Kamerasetting ist unter Setting 2 defaultmässig integriert |
V0.58 30.05.2007 H.Buss |
- Der Höhenregler-Algorithmus wird nun umgangen, wenn der Höhenreglerschalter aus ist |
V0.60 17.08.2007 H.Buss |
- "Schwindel-Bug" behoben |
- Die Poti-Werte werden jetzt auf Unterlauf (<0) überprüft |
- Poti4 zugefügt |
- Es werden jetzt 8 Kanäle ausgewertet |
- Kamera-Servo (an J7) |
- Die Settings müssen überschrieben werden |