From 59963a182dca413ae6df7fd7594186b34acea98b Mon Sep 17 00:00:00 2001 From: mfoo Date: Thu, 21 Sep 2023 11:55:49 +0200 Subject: [PATCH 1/4] Target: add Speedybee F405 Wing --- Tools/AP_Bootloader/board_types.txt | 1 + Tools/bootloaders/SpeedyBeeF405WING_bl.bin | Bin 0 -> 14312 bytes Tools/bootloaders/SpeedyBeeF405WING_bl.elf | Bin 0 -> 367996 bytes Tools/bootloaders/SpeedyBeeF405WING_bl.hex | 897 ++++++++++++++++++ .../hwdef/SpeedyBeeF405WING/defaults.parm | 9 + .../hwdef/SpeedyBeeF405WING/hwdef-bl.dat | 37 + .../hwdef/SpeedyBeeF405WING/hwdef.dat | 224 +++++ 7 files changed, 1168 insertions(+) create mode 100755 Tools/bootloaders/SpeedyBeeF405WING_bl.bin create mode 100755 Tools/bootloaders/SpeedyBeeF405WING_bl.elf create mode 100644 Tools/bootloaders/SpeedyBeeF405WING_bl.hex create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/SpeedyBeeF405WING/defaults.parm create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/SpeedyBeeF405WING/hwdef-bl.dat create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/SpeedyBeeF405WING/hwdef.dat diff --git a/Tools/AP_Bootloader/board_types.txt b/Tools/AP_Bootloader/board_types.txt index 1416ef0a15..9f40a72741 100644 --- a/Tools/AP_Bootloader/board_types.txt +++ b/Tools/AP_Bootloader/board_types.txt @@ -192,3 +192,4 @@ AP_HW_NeutronRC_H7_BT 2000 # OpenDroneID enabled boards. Use 10000 + the base board ID AP_HW_CubeOrange_ODID 10140 AP_HW_Pixhawk6_ODID 10053 +AP_HW_SpeedyBeeF405WING 1106 diff --git a/Tools/bootloaders/SpeedyBeeF405WING_bl.bin b/Tools/bootloaders/SpeedyBeeF405WING_bl.bin new file mode 100755 index 0000000000000000000000000000000000000000..342e1162e4a85a3d1d906a25ea5e1f7cf0484db7 GIT binary patch literal 14312 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

cCJIoQ+eToL05yhr6QRlG@kpm! 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

sX3hMq|T1`aT+r@Xy(9+maf8dqnes! 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 z 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 literal 0 HcmV?d00001 diff --git a/Tools/bootloaders/SpeedyBeeF405WING_bl.hex b/Tools/bootloaders/SpeedyBeeF405WING_bl.hex new file mode 100644 index 0000000000..ae47f49033 --- /dev/null +++ b/Tools/bootloaders/SpeedyBeeF405WING_bl.hex @@ -0,0 +1,897 @@ +:020000040800F2 +:1000000000060020E10100089D0E00081D0E0008FA +:10001000750E00081D0E0008490E0008E3010008D7 +:10002000E3010008E3010008E30100087121000872 +:10003000E3010008E3010008E3010008E301000810 +:10004000E3010008E3010008E3010008E301000800 +:10005000E3010008E30100083932000865320008B6 +:1000600091320008BD320008E9320008E3010008BF +:10007000E3010008E3010008E3010008E3010008D0 +:10008000E3010008E3010008E3010008E3010008C0 +:10009000E3010008E3010008E3010008153300084C +:1000A000E3010008E3010008E3010008E3010008A0 +:1000B000AD300008E3010008E3010008E301000897 +:1000C000E3010008E3010008E3010008E301000880 +:1000D000E3010008E3010008E3010008E301000870 +:1000E0007D330008E3010008E3010008E301000894 +:1000F000E3010008E3010008E3010008E301000850 +:10010000E3010008E3010008E3010008E30100083F +:10011000E3010008E3010008E3010008E30100082F +:10012000E3010008E3010008E3010008E30100081F +:10013000E3010008E3010008E3010008E30100080F +:10014000E3010008E3010008E3010008A928000812 +:10015000E3010008E3010008E3010008E3010008EF +:10016000E3010008E3010008E3010008E3010008DF +:10017000E3010008E3010008E3010008E3010008CF +:10018000E3010008E3010008E3010008E3010008BF +:10019000E3010008E3010008E3010008E3010008AF +:1001A000E3010008E3010008E3010008E30100089F +:1001B000E3010008E3010008E3010008E30100088F +:1001C000E3010008E3010008E3010008E30100087F +:1001D000E3010008E3010008E3010008E30100086F +:1001E00002E000F000F8FEE772B63A4880F30888B3 +:1001F000394880F3098839484EF60851CEF200019B +:10020000086040F20000CCF200004EF63471CEF2ED +:1002100000010860BFF34F8FBFF36F8F40F2000003 +:10022000C0F2F0004EF68851CEF200010860BFF334 +:100230004F8FBFF36F8F4FF00000E1EE100A4EF6C4 +:100240003C71CEF200010860062080F31488BFF3F1 +:100250006F8F02F00DF801F0E9FF02F08BFE4FF016 +:1002600055301F491B4A91423CBF41F8040BFAE745 +:100270001C49194A91423CBF41F8040BFAE71A495C +:100280001A4A1B4B9A423EBF51F8040B42F8040B2A +:10029000F8E700201749184A91423CBF41F8040B87 +:1002A000FAE701F0C7FF02F0B9FE144C144DAC425E +:1002B00003DA54F8041B8847F9E700F041F8114CC1 +:1002C000114DAC4203DA54F8041B8847F9E701F0FA +:1002D000AFBF000000060020002200200000000840 +:1002E0000000002000060020A8370008002200209F +:1002F0004022002040220020A82D0020E00100081C +:10030000E0010008E0010008E00100082DE9F04FDD +:100310002DED108AC1F80CD0C3689D46BDEC108A43 +:10032000BDE8F08F002383F311882846A047002002 +:1003300001F02AFBFEE701F0A5FA00DFFEE700006E +:1003400038B501F0E5FE054601F008FF0446D8B9CE +:100350000F4B9D421AD001339D4218BF044641F213 +:10036000883504BF01240025002001F0DBFE0CB11C +:1003700000F076F800F028FD00F0A2FB284600F01F +:10038000C3F800F06DF8F9E70025EDE70546EBE767 +:10039000010007B008B500F065FBA0F1200358424A +:1003A000584108BD07B541F21203022101A8ADF87A +:1003B000043000F075FB03B05DF804FB38B5202372 +:1003C00083F311881748C3680BB101F063FB164A29 +:1003D000144800234FF47A7101F020FB002383F3CB +:1003E0001188124C236813B12368013B23606368B2 +:1003F00013B16368013B63600D4D2B7833B96368BB +:100400007BB9022000F052FC322363602B78032B6F +:1004100007D163682BB9022000F048FC4FF47A73CF +:10042000636038BD40220020BD0300085C2300202B +:1004300054220020084B187003280CD8DFE800F085 +:1004400008050208022000F021BC022000F00EBCCA +:10045000024B00225A607047542200205C23002087 +:10046000244B254A10B51C461968013140D004338D +:100470009342F9D16268214B9A4239D9204B9B684B +:1004800003F1006303F580339A4231D2002000F07B +:1004900031FB0220FFF7CEFF1A4B1A6C00221A64C0 +:1004A000196E1A66196E596C5A64596E5A665A6EEC +:1004B0005A6942F080025A615A6922F080025A61F8 +:1004C0005A691A6942F000521A611A6922F0005200 +:1004D0001A611B6972B64FF0E0232021C3F8084D62 +:1004E000D4E9003281F311889D4683F308881047D0 +:1004F00010BD00BF0000010820000108FFFF000838 +:1005000000220020003802402DE9F04F93B0A94BA3 +:1005100000902022FF210AA89D6800F0FFFBA64A58 +:100520001378A3B9A5480121C3601170202383F378 +:100530001188C3680BB101F0ADFAA14A9F480023AE +:100540004FF47A7101F06AFA002383F31188009B5B +:1005500013B19C4B009A1A609B4A009C1378032BA2 +:100560001EBF00231370974A4FF0000A18BF536054 +:10057000D3465646D146012000F088FB24B1914B6A +:100580001B68002B00F00F82002000F06BFA039034 +:10059000039B002BF2DB012000F068FB039B213B57 +:1005A000162BE8D801A252F823F000BF0906000874 +:1005B00031060008C5060008770500087705000821 +:1005C000770500084D0700081B09000835080008DA +:1005D00097080008BF080008E5080008770500082C +:1005E000F70800087705000869090008A90600084F +:1005F00077050008AD09000815060008A9060008DF +:1006000077050008970800080220FFF7C3FE0028BE +:1006100040F0F381009B0221BAF1000F08BF1C4695 +:1006200005A841F21233ADF8143000F039FAA2E710 +:100630004FF47A7000F016FA071EEBDB0220FFF78A +:10064000A9FE0028E6D0013F052F00F2D881DFE89F +:1006500007F0030A0D10133605230593042105A89E +:1006600000F01EFA17E053480421F9E75748042127 +:10067000F6E757480421F3E74FF01C08404600F026 +:100680003BFA08F104080590042105A800F008FAD7 +:10069000B8F12C0FF2D1012000FA07F747EA0B0B53 +:1006A0005FFA8BFB4FF0000900F084FB26B10BF0E2 +:1006B0000B030B2B08BF0024FFF774FE5BE74548D4 +:1006C0000421CDE7002EA5D00BF00B030B2BA1D1FD +:1006D0000220FFF75FFE074600289BD0012000F0B4 +:1006E00009FA0220FFF7A6FE00265FFA86F84046C8 +:1006F00000F010FA044688B1404600F01BFA0136BB +:100700000028F2D1BA46044641F21213022105A88C +:10071000ADF814303E4600F0C3F92CE70120FFF796 +:1007200089FE2546234B9B68AB4207D9284600F03B +:10073000E3F9013040F066810435F3E7224B0025F0 +:100740001D70204BBA465D603E46ADE7002E3FF47B +:1007500061AF0BF00B030B2B7FF45CAF0220FFF7B4 +:1007600069FE322000F07EF9B0F10008FFF652AFCA +:1007700018F003077FF44EAF0E4A926808EB0503AA +:1007800093423FF647AFB8F5807F3FF743AF124B38 +:100790000193B84522DD4FF47A7000F063F90390BD +:1007A000039A002AFFF636AF019B039A03F8012B48 +:1007B0000137EDE7002200205823002040220020CE +:1007C000BD0300085C2300205422002004220020E6 +:1007D000082200200C22002058220020C820FFF709 +:1007E000D9FD074600283FF415AF1F2D11D8C5F1DC +:1007F000200242450AAB25F0030028BF4246834948 +:100800000192184400F064FA019A8048FF2100F038 +:1008100085FA4FEAA8037D490193C8F38702284669 +:1008200000F084FA064600283FF46EAF019B05EB0A +:10083000830539E70220FFF7ADFD00283FF4EAAE5B +:1008400000F0A2F900283FF4E5AE0027B846704B4F +:100850009B68BB4218D91F2F11D80A9B01330ED0B9 +:1008600027F0030312AA134453F8203C0593404693 +:10087000042205A900F014FB04378046E7E7384658 +:1008800000F03AF90590F2E7CDF81480042105A8AC +:1008900000F006F908E70023642104A8049300F09F +:1008A000F5F800287FF4B6AE0220FFF773FD0028AC +:1008B0003FF4B0AE049800F04FF90590E6E700234E +:1008C000642104A8049300F0E1F800287FF4A2AEAC +:1008D0000220FFF75FFD00283FF49CAE049800F073 +:1008E0004BF9EAE70220FFF755FD00283FF492AEEE +:1008F00000F05AF9E1E70220FFF74CFD00283FF431 +:1009000089AE05A9142000F055F90421074604908A +:1009100004A800F0C5F83946B9E7322000F0A2F883 +:10092000071EFFF677AEBB077FF474AE384A9268B5 +:1009300007EB090393423FF66DAE0220FFF72AFD55 +:1009400000283FF467AE27F003074F44B9453FF452 +:10095000ABAE484600F0D0F80421059005A800F0A1 +:100960009FF809F10409F1E74FF47A70FFF712FDDF +:1009700000283FF44FAE00F007F9002844D00A9B4E +:1009800001330BD008220AA9002000F0CFF900287B +:100990003AD02022FF210AA800F0C0F9FFF702FD9B +:1009A0001C4800F0F7FF13B0BDE8F08F002E3FF4B5 +:1009B00031AE0BF00B030B2B7FF42CAE0023642124 +:1009C00005A8059300F062F8074600287FF422AEE0 +:1009D0000220FFF7DFFC804600283FF41BAEFFF744 +:1009E000E1FC41F2883000F0D5FF059800F014FAE0 +:1009F000464600F0DFF93C46BDE5064654E64FF0BA +:100A0000000907E6BA467FE637467DE65822002011 +:100A100000220020A086010070B50F4B1B78013327 +:100A2000DBB2012B0C4611D80C4D29684FF47A73B8 +:100A30000E6AA2FB0332014622462846B047844292 +:100A400004D1074B00221A70012070BD4FF4FA70D8 +:100A500000F0A0FF0020F8E7102200205025002021 +:100A60009023002007B50023024601210DF1070065 +:100A70008DF80730FFF7D0FF20B19DF8070003B0D5 +:100A80005DF804FB4FF0FF30F9E700000A4608B5B7 +:100A90000421FFF7C1FF80F00100C0B2404208BD51 +:100AA00030B4054C2368DD69044B0A46AC46014668 +:100AB000204630BC604700BF50250020A0860100C2 +:100AC00070B501F017FA094E094D308000242868EE +:100AD0003388834208D901F007FA2B6804440133B4 +:100AE000B4F5803F2B60F2D370BD00BF922300208D +:100AF0006423002001F0C0BA00F1006000F58030EE +:100B00000068704700F10060920000F5803001F04D +:100B10003FBA0000054B1A68054B1B889B1A83429D +:100B200002D9104401F0E0B900207047642300208E +:100B30009223002038B5074D04462868204401F070 +:100B4000DBF928B928682044BDE8384001F0ECB949 +:100B500038BD00BF6423002010F003030AD1B0F5B4 +:100B6000047F05D200F10050A0F51040D0F8003805 +:100B7000184670470023FBE700F10050A0F5104035 +:100B8000D0F8100A70470000064991F8243033B1BC +:100B90000023086A81F824300822FFF7B3BF012040 +:100BA000704700BF68230020014B1868704700BFE2 +:100BB000002004E070B52A4B1B68C3F30B02044607 +:100BC0001B0C62B140F21340824230D040F2194017 +:100BD00082422ED040F2214082422CD10322214D6C +:100BE0000C2000FB0252556842F20102934224D0CD +:100BF000B3F5805F23D041F20102934221D041F24C +:100C0000030293421FD041F20702934214BF3F23D5 +:100C10003123013C0C44013D0A46A24215D215F98C +:100C2000016F501C9EB100F8016C0246F5E70122ED +:100C3000D5E70222D3E70C4DD6E73323E9E741237A +:100C4000E7E75A23E5E75923E3E7104605E02C25BB +:100C50008442157001D9901C5370401A70BD00BFBA +:100C6000002004E0A83400087C340008022804D1E5 +:100C7000054B4FF080429A6170470128FCD1024B2E +:100C80004FF00052F7E700BF00000240022804D1F5 +:100C9000054B4FF480429A6170470128FCD1024B0A +:100CA0004FF40052F7E700BF00000240022805D1D0 +:100CB000064A536983F48043536170470128FCD18D +:100CC000024A536983F40053F6E700BF0000024074 +:100CD00010B50023934203D0CC5CC4540133F9E730 +:100CE00010BD000010B5013810F9013F3BB191F97A +:100CF00000409C4203D11AB10131013AF4E71AB124 +:100D000091F90020981A10BD1046FCE703460246F0 +:100D1000D01A12F9011B0029FAD170470244034688 +:100D2000934202D003F8011BFAE770472DE9F8431C +:100D30001F4D144695F824200746884652BBDFF81D +:100D400070909CB395F824302BB92022FF2148469F +:100D50002F62FFF7E3FF95F82400C0F10802A242DA +:100D600028BF2246D6B24146920005EB8000FFF72D +:100D7000AFFF95F82430A41B1E44F6B2082E17448A +:100D80009044E4B285F82460DBD1FFF7FDFE002833 +:100D9000D7D108E02B6A03EB82038342CFD0FFF761 +:100DA000F3FE0028CBD10020BDE8F8830120FBE74B +:100DB00068230020024B1A78024B1A70704700BF5C +:100DC000902300201022002010B50F4C0F4800F097 +:100DD000F7F821460D4800F01FF924680C48626DB1 +:100DE000D2F8043843F00203C2F8043800F0D2FD10 +:100DF0000849204600F016FA626DD2F8043823F054 +:100E00000203C2F8043810BD9C35000850250020AC +:100E100040420F00A43500087047000000B59BB0A9 +:100E2000EFF3098168226846FFF752FFEFF305836D +:100E3000044B9A6BDA6A9A6A9A6A9A6A9A6A9A6A06 +:100E40009B6AFEE700ED00E000B59BB0EFF309817F +:100E500068226846FFF73CFFEFF30583044B9A6B6B +:100E60009A6A9A6A9A6A9A6A9A6A9B6AFEE700BFC5 +:100E700000ED00E000B59BB0EFF309816822684601 +:100E8000FFF726FFEFF30583034B5A6B9A6A9A6AC2 +:100E90009A6A9A6A9B6AFEE700ED00E0FEE70000AE +:100EA00030B5094D0A4491420DD011F8013B58402C +:100EB000082340F30004013B2C4013F0FF0384EAB5 +:100EC0005000F6D1EFE730BD2083B8ED02684368EB +:100ED0001143016003B118477047000013B5446B1C +:100EE000D4F894341A681178042915D1217C022988 +:100EF00012D11979128901238B4013420CD101A917 +:100F000004F14C0001F03CFFD4F89444019B21799A +:100F10000246206800F0CEF902B010BD143001F096 +:100F2000BFBE00004FF0FF33143001F0B9BE000027 +:100F30004C3001F091BF00004FF0FF334C3001F016 +:100F40008BBF0000143001F08DBE00004FF0FF3168 +:100F5000143001F087BE00004C3001F05DBF00008E +:100F60004FF0FF324C3001F057BF000000207047B7 +:100F700010B5D0F894341A6811780429044617D1B2 +:100F8000017C022914D15979528901238B401342E3 +:100F90000ED1143001F020FE024648B1D4F894443A +:100FA0004FF4807361792068BDE8104000F070B99B +:100FB00010BD0000406BFFF7DBBF00007047000072 +:100FC0007FB5124B036000234360C0E90233012563 +:100FD00002260F4B057404460290019300F184022F +:100FE000294600964FF48073143001F0D1FD094B6F +:100FF0000294CDE9006304F523724FF4807329460F +:1010000004F14C0001F098FE04B070BDD834000823 +:10101000B50F0008DD0E00080B68202282F311884E +:101020000A7903EB820290614A79093243F822007F +:101030008A7912B103EB8203986102230374C0F82A +:101040009414002383F311887047000038B5037FA0 +:10105000044613B190F85430ABB9201D012502218C +:10106000FFF734FF04F1140025776FF0010100F061 +:10107000B9FC84F8545004F14C006FF00101BDE854 +:10108000384000F0AFBC38BD10B501210446043033 +:10109000FFF71CFF0023237784F8543010BD0000B5 +:1010A00038B504460025143001F08AFD04F14C00E7 +:1010B000257701F059FE201D84F854500121FFF7D7 +:1010C00005FF2046BDE83840FFF752BF90F8443096 +:1010D00003F06003202B07D190F84520212A4FF020 +:1010E000000303D81F2A06D800207047222AFBD10C +:1010F000C0E90E3303E0034A82630722C26303643C +:10110000012070471122002037B5D0F894341A68B6 +:101110001178042904461AD1017C022917D11979C2 +:10112000128901238B40134211D100F14C0528464E +:1011300001F0DAFE58B101A9284601F021FED4F8E9 +:101140009444019B21790246206800F0B3F803B073 +:1011500030BD0000F0B500EB810385B09E69044608 +:101160000D46FEB1202383F3118804EB8507301D63 +:101170000821FFF7ABFEFB685B691B6806F14C00BA +:101180001BB1019001F00AFE019803A901F0F8FDDE +:10119000024648B1039B2946204600F08BF8002305 +:1011A00083F3118805B0F0BDFB685A691268002A04 +:1011B000F5D01B8A013B1340F1D104F14402EAE768 +:1011C000093138B550F82140DCB1202383F3118870 +:1011D000D4F894241368527903EB8203DB689B698B +:1011E0005D6845B104216018FFF770FE294604F1DF +:1011F000140001F0FBFC2046FFF7BAFE002383F346 +:10120000118838BD7047000001F0A8B801230370B1 +:101210000023C0E90133C36183620362C362436296 +:101220000363704738B50446202383F311880025F3 +:10123000C0E90355C0E90555416001F09FF802235C +:10124000237085F3118838BD70B500EB8103054626 +:101250005069DA600E46144618B110220021FFF7DB +:101260005DFDA06918B110220021FFF757FD31463E +:101270002846BDE8704001F04BB90000826802F0DA +:10128000011282600022C0E90422826101F0CCB91F +:10129000F0B400EB81044789E4680125A4698D401E +:1012A0003D43458123600023A2606360F0BC01F0F0 +:1012B000E7B90000F0B400EB81040789E468012578 +:1012C00064698D403D43058123600023A260636013 +:1012D000F0BC01F061BA000070B50223002504469D +:1012E0000370C0E90255C0E90455C564856180F802 +:1012F000345001F0A9F863681B6823B129462046E1 +:10130000BDE87040184770BD037880F85030052361 +:10131000037043681B6810B504460BB1042198475D +:101320000023A36010BD000090F8502043680270B5 +:101330001B680BB1052118477047000070B590F885 +:101340003430044613B1002380F8343004F14402F1 +:10135000204601F08BF963689B68B3B994F8443078 +:1013600013F0600535D00021204601F0DDFB00219F +:10137000204601F0CFFB63681B6813B106212046AD +:101380009847062384F8343070BD204698470028DB +:10139000E4D0B4F84A30E26B9A4288BFE36394F930 +:1013A0004430E56B002B4FF0200380F20381002DC9 +:1013B00000F0F280092284F8342083F311880021A0 +:1013C000D4E90E232046FFF775FF002383F311882D +:1013D000DAE794F8452003F07F0343EA022340F262 +:1013E0000232934200F0C58021D8B3F5807F48D007 +:1013F0000DD8012B3FD0022B00F09380002BB2D1EF +:1014000004F14C02A2630222E2632364C1E7B3F554 +:10141000817F00F09B80B3F5407FA4D194F84630E3 +:10142000012BA0D1B4F84C3043F0020332E0B3F505 +:10143000006F4DD017D8B3F5A06F31D0A3F5C063BE +:10144000012B90D8636894F846205E6894F84710A2 +:10145000B4F848302046B047002884D04368A363DE +:101460000368E3631AE0B3F5106F36D040F602422A +:1014700093427FF478AF5C4BA3630223E3630023C2 +:10148000C3E794F84630012B7FF46DAFB4F84C30CD +:1014900023F00203C4E90E55A4F84C30256478E724 +:1014A000B4F84430B3F5A06F0ED194F8463084F808 +:1014B0004E30204601F020F863681B6813B101210B +:1014C00020469847032323700023C4E90E339CE78A +:1014D00004F14F03A3630123C3E72378042B10D146 +:1014E000202383F311882046FFF7C8FE85F3118877 +:1014F0000321636884F84F5021701B680BB12046AC +:10150000984794F84630002BDED084F84F300423FF +:10151000237063681B68002BD6D0022120469847B1 +:10152000D2E794F848301D0603F00F0120460AD593 +:1015300001F08EF8012804D002287FF414AF2B4B61 +:101540009AE72B4B98E701F075F8F3E794F84630EB +:10155000002B7FF408AF94F8483013F00F01B3D09C +:101560001A06204602D501F0F3FAADE701F0E6FADB +:10157000AAE794F84630002B7FF4F5AE94F8483093 +:1015800013F00F01A0D01B06204602D501F0CCFAC3 +:101590009AE701F0BFFA97E7142284F8342083F326 +:1015A00011882B462A4629462046FFF771FE85F30F +:1015B0001188E9E65DB1152284F8342083F311889F +:1015C0000021D4E90E232046FFF762FEFDE60B2240 +:1015D00084F8342083F311882B462A462946204676 +:1015E000FFF768FEE3E700BF083500080035000894 +:1015F0000435000838B590F834300446002B3ED04E +:10160000063BDAB20F2A34D80F2B32D8DFE803F0CA +:1016100037313108223231313131313131313737DF +:10162000C56BB0F84A309D4214D2C3681B8AB5FB23 +:10163000F3F203FB12556DB9202383F311882B4677 +:101640002A462946FFF736FE85F311880A2384F8D7 +:1016500034300EE0142384F83430202383F31188CF +:1016600000231A4619462046FFF712FE002383F393 +:10167000118838BD036C03B198470023E7E70021C8 +:10168000204601F051FA0021204601F043FA636838 +:101690001B6813B10621204698470623D7E70000B0 +:1016A00010B590F83430142B044629D017D8062BE7 +:1016B00005D001D81BB110BD093B022BFBD800217E +:1016C000204601F031FA0021204601F023FA636838 +:1016D0001B6813B1062120469847062319E0152BF5 +:1016E000E9D10B2380F83430202383F311880023C1 +:1016F0001A461946FFF7DEFD002383F31188DAE767 +:10170000C3689B695B68002BD5D1036C03B1984714 +:10171000002384F83430CEE7024B0022C3E90033C3 +:101720009A60704794230020002303748268054B5D +:101730001B6899689142FBD25A680360426010604E +:10174000586070479423002008B5202383F3118844 +:10175000037C032B05D0042B0DD02BB983F3118808 +:1017600008BD436900221A604FF0FF334361FFF761 +:10177000DBFF0023F2E7D0E9003213605A60F3E7A1 +:10178000002303748268054B1B6899689142FBD85B +:101790005A680360426010605860704794230020CC +:1017A000054B19690874186802681A60536018615B +:1017B00001230374FEF7AABD9423002030B54B1C0F +:1017C0000B4D87B0044610D02B690A4A01A800F0DF +:1017D00025F92046FFF7E4FF049B13B101A800F0B0 +:1017E00059F92B69586907B030BDFFF7D9FFF8E701 +:1017F000942300204917000838B50C4D41612B692E +:1018000081689A689142044603D8BDE83840FFF7E2 +:101810008BBF1846FFF7B4FF01232C6101462374E8 +:101820002046BDE83840FEF771BD00BF942300207C +:10183000044B1A681B6990689B68984294BF00200B +:10184000012070479423002010B5084C23682069BC +:101850001A6822605460012223611A74FFF790FF16 +:1018600001462069BDE81040FEF750BD94230020DA +:1018700008B5FFF7DDFF18B1BDE80840FFF7E4BF8A +:1018800008BD0000FFF7E0BFFEE7000010B50C4CFC +:10189000FFF742FF00F0B4F80A498022204600F02A +:1018A0003BF8012344F8180C037400F071FC00238A +:1018B00083F3118862B60448BDE8104000F04CB8CC +:1018C000BC2300200C3500081C35000800F01CB9B2 +:1018D000EFF3118020B9EFF30583202282F3118802 +:1018E0007047000010B530B9EFF30584C4F3080465 +:1018F00014B180F3118810BDFFF7BAFF84F311888B +:10190000F9E70000034A516853685B1A9842FBD814 +:10191000704700BF001000E0826002220282704720 +:101920008368A3F17C0243F80C2C026943F83C2C39 +:10193000426943F8382C074A43F81C2CC26843F824 +:10194000102C022203F8082C002203F8072CA3F124 +:10195000180070472503000810B5202383F3118871 +:10196000FFF7DEFF00210446FFF746FF002383F365 +:101970001188204610BD0000024B1B6958610F20E2 +:10198000FFF70EBF94230020202383F31188FFF775 +:10199000F3BF000008B50146202383F31188082017 +:1019A000FFF70CFF002383F3118808BD49B1064BF4 +:1019B00042681B6918605A60136043600420FFF797 +:1019C000FDBE4FF0FF30704794230020036898421B +:1019D00006D01A680260506059611846FFF7A4BE2D +:1019E0007047000038B504460D462068844200D197 +:1019F00038BD036823605C604561FFF795FEF4E73E +:101A0000054B03F11402C3E905224FF0FF31002218 +:101A1000C3E90712704700BF9423002070B51C4E25 +:101A2000C0E9032305460C4601F090FA334653F80B +:101A3000142F9A420DD13062C5E901242A600A2C84 +:101A40002CBF00190A30C6E90555BDE8704001F009 +:101A50006BBA316A431AE31838BF1C469368A34235 +:101A600002D9081901F06EFA73699A6894420CD889 +:101A70005A68AC602B606A6015609A685D60121BE2 +:101A80009A604FF0FF33F36170BD1B68A41AECE756 +:101A90009423002038B51B4C636998420DD0D0E9DF +:101AA000003213605A6000228168C2609A680A445A +:101AB0009A604FF0FF33E36138BD2246036842F875 +:101AC000143F002193425A60C16003D1BDE8384001 +:101AD00001F032BA9A688168256A0A449A6001F076 +:101AE00035FA63699A68411B8A42E5D9AB181D1A19 +:101AF000092D206A98BF01F10A02BDE83840104460 +:101B000001F020BA942300202DE9F041184C002761 +:101B100004F11406656901F019FA236AAA68C11A6A +:101B20008A4215D813442362D5E9003213605A6003 +:101B30006369D5F80C80EF60B34201D101F0FCF984 +:101B400087F311882869C047202383F31188E1E7D0 +:101B50006169B14209D013441B1ABDE8F0410A2B58 +:101B60002CBFC0180A3001F0EDB9BDE8F08100BF0C +:101B70009423002000207047FEE70000704700001B +:101B80004FF0FF307047000002290CD0032904D029 +:101B90000129074818BF00207047032A05D80548C7 +:101BA00000EBC2007047044870470020704700BF38 +:101BB0000036000820220020B435000870B59AB025 +:101BC0000546084601A9144600F0C2F801A8FFF72F +:101BD0009DF8431C5B00C5E90034002223700323F9 +:101BE0006370C6B201AB02341046D1B28E4204F12A +:101BF000020401D81AB070BD13F8011B04F8021CCE +:101C000004F8010C0132F0E708B5202383F31188B2 +:101C10000348FFF779FA002383F3118808BD00BF5A +:101C20005025002090F8443003F01F02012A07D10C +:101C300090F845200B2A03D10023C0E90E3315E0AC +:101C400003F06003202B08D1B0F848302BB990F88E +:101C50004520212A03D81F2A04D8FFF737BA222AA1 +:101C6000EBD0FAE7034A82630722C26303640120D0 +:101C7000704700BF1822002007B5052917D8DFE8F4 +:101C800001F0191603191920202383F31188104A33 +:101C900001900121FFF7D8FA01980E4A0221FFF7BF +:101CA000D3FA0D48FFF7FCF9002383F3118803B042 +:101CB0005DF804FB202383F311880748FFF7C6F97A +:101CC000F2E7202383F311880348FFF7DDF9EBE700 +:101CD00054350008783500085025002038B50C4DE3 +:101CE0000C4C0D492A4604F10800FFF767FF05F187 +:101CF000CA0204F110000949FFF760FF05F5CA7236 +:101D000004F118000649BDE83840FFF757BF00BF8F +:101D1000182A002020220020343500083E35000813 +:101D20004935000870B5044608460D46FEF7EEFF3B +:101D3000C6B22046013403780BB9184670BD32464E +:101D40002946FEF7CFFF0028F3D10120F6E7000077 +:101D50002DE9F04705460C46FEF7D8FF2B49C6B2E1 +:101D60002846FFF7DFFF08B10A36F6B228492846B1 +:101D7000FFF7D8FF08B11036F6B2632E0BD8DFF8A4 +:101D80008C80DFF88C90234FDFF894A02E7846B932 +:101D90002670BDE8F08729462046BDE8F04701F0EF +:101DA00065BB252E2ED1072241462846FEF79AFF15 +:101DB00070B9194B224603F1100153F8040B42F895 +:101DC000040B8B42F9D11B78137007351134DDE712 +:101DD000082249462846FEF785FF98B90F4BA21CFA +:101DE000197809090232C95D02F8041C13F8011BB5 +:101DF00001F00F015345C95D02F8031CF0D11834FE +:101E00000835C3E704F8016B0135BFE72036000849 +:101E1000493500083A36000828360008107AFF1FB6 +:101E20001C7AFF1FBFF34F8F024AD368DB03FCD439 +:101E3000704700BF003C024008B5094B1B7873B9DE +:101E4000FFF7F0FF074B1A69002ABFBF064A5A6026 +:101E500002F188325A601A6822F480621A6008BD62 +:101E6000762C0020003C02402301674508B50B4B4F +:101E70001B7893B9FFF7D6FF094B1A6942F000426D +:101E80001A611A6842F480521A601A6822F4805269 +:101E90001A601A6842F480621A6008BD762C00202D +:101EA000003C02400B28F0B516D80C4C0C492378A6 +:101EB0007BB90C4D0E460C234FF0006255F8047BA5 +:101EC00046F8042B013B13F0FF033A44F6D10123FB +:101ED000237051F82000F0BD0020FCE7A82C002062 +:101EE000782C00204C360008014B53F82000704736 +:101EF0004C3600080C2070470B2810B5044601D959 +:101F0000002010BDFFF7CEFF064B53F824301844D5 +:101F1000C21A0BB90120F4E712680132F0D1043B78 +:101F2000F6E700BF4C3600080B2838B5044628D821 +:101F3000FFF7CEFCFFF776FFFFF77EFF124AF32391 +:101F4000D360E300DBB243F4007343F00203136198 +:101F5000136943F48033136105462046FFF762FF9F +:101F6000FFF7A0FF094B53F8241000F0E9F82846CA +:101F7000FFF77CFFFFF7B6FC2046BDE83840FFF7CF +:101F8000BBBF002038BD00BF003C02404C360008FB +:101F900012F001032DE9F04105460E4614464BD1DF +:101FA0008218B2F1016F61D8314B1B6813F0010345 +:101FB0005CD0304FFFF78CFCFFF73EFFF323FB6054 +:101FC000FFF730FF314640F20128032C18D824F0E7 +:101FD0000104284E0C446D1A40F20118A1423369E5 +:101FE00005EB01072AD123F001033361FFF73EFF20 +:101FF000FFF778FC0120BDE8F081043C0435E4E7FC +:10200000AB07E4D13B6923F440733B613B6943EA8E +:1020100008033B6151F8046B2E60BFF34F8FFFF74D +:1020200001FF2B689E42E8D03B6923F001033B612E +:10203000FFF71CFFFFF756FC0020DCE723F440739A +:102040003361336943EA080333610B883B80BFF394 +:102050004F8FFFF7E7FE3F8831F8023BBFB2BB422C +:10206000BCD0336923F001033361E1E71846C2E7CE +:1020700000380240003C0240084908B50B7828B1FE +:102080001BB9FFF7D9FE01230B7008BD002BFCD054 +:10209000BDE808400870FFF7E9BE00BF762C0020BD +:1020A00010B50244064BD2B2904200D110BD441C80 +:1020B00000B253F8200041F8040BE0B2F4E700BF8F +:1020C000502800400F4B30B51C6F240407D41C6F00 +:1020D00044F400741C671C6F44F400441C670A4CF1 +:1020E000236843F4807323600244084BD2B29042C9 +:1020F00000D130BD441C00B251F8045B43F82050BD +:10210000E0B2F4E700380240007000405028004080 +:1021100007B5012201A90020FFF7C2FF019803B013 +:102120005DF804FB13B50446FFF7F2FFA04205D0AB +:10213000012201A900200194FFF7C4FF02B010BDE5 +:1021400070470000034B1A681AB9034AD2F8742882 +:102150001A607047AC2C00200030024008B5FFF731 +:10216000F1FF024B1868C0F3407008BDAC2C002092 +:10217000EFF3098305494A6B22F001024A63683391 +:1021800083F30988002383F31188704700EF00E090 +:10219000202080F3118862B60C4B0D4AD96821F4D7 +:1021A000E0610904090C0A43DA60D3F8FC2009490C +:1021B00042F08072C3F8FC200A6842F001020A6013 +:1021C0001022DA7783F82200704700BF00ED00E0AC +:1021D0000003FA05001000E010B5202383F31188F6 +:1021E0000E4B5B6813F4006314D0F1EE103AEFF37A +:1021F0000984683C4FF08073E361094BDB6B236615 +:1022000084F30988FFF714FB10B1064BA36110BDDE +:10221000054BFBE783F31188F9E700BF00ED00E011 +:1022200000EF00E0370300083A03000870470000A1 +:10223000FEE700000A4B0B480B4A90420BD30B4BB6 +:10224000DA1C121AC11E22F003028B4238BF002290 +:102250000021FEF763BD53F8041B40F8041BECE7B4 +:10226000E8370008A82D0020A82D0020A82D002068 +:102270007047000070B5D0E915439E6800224FF00A +:10228000FF3504EB42135101D3F800090028BEBF0B +:10229000D3F8000940F08040C3F80009D3F8000BE0 +:1022A0000028BEBFD3F8000B40F08040C3F8000BFD +:1022B000013263189642C3F80859C3F8085BE0D2AC +:1022C0004FF00113C4F81C3870BD00001D4B03EB28 +:1022D00080022DE9F043D2F80CC05D6DDCF81420CB +:1022E000461CD2F800E005EB063605EB40185168B5 +:1022F00071450AD3D5F83438012202FA00F023EAF6 +:102300000000C5F83408BDE8F083BCF81040AEEB1F +:102310000103A34228BF2346D8F81849A4B2B3EB5F +:10232000840FF0D89468A4F1040959F8047F376049 +:10233000A4EB09071F44042FF7D81C440B449460F6 +:102340005360D4E7B02C0020890141F020010161E5 +:1023500003699B06FCD41220FFF7D4BA10B5054CD4 +:102360002046FEF753FF4FF0A0436365024BA36581 +:1023700010BD00BFB02C0020A036000870B5037857 +:10238000012B054650D12A4B446D98421BD1294B55 +:102390005A6B42F080025A635A6D42F080025A65CD +:1023A0005A6D5A6942F080025A615A6922F08002DD +:1023B0005A610E2143205B6900F0D4FB1E4BE360A1 +:1023C0001E4BC4F800380023C4F8003EC02323602D +:1023D0006E6D4FF40413A3633369002BFCDA012301 +:1023E00033610C20FFF78EFA3369DB07FCD412202F +:1023F000FFF788FA3369002BFCDA0026A66028462E +:10240000FFF738FF6B68C4F81068DB68C4F814681D +:10241000C4F81C684BB90A4BA3614FF0FF336361EA +:10242000A36843F00103A36070BD064BF4E700BF4F +:10243000B02C00200038024040140040030020026D +:10244000003C30C0083C30C0F8B5446D0546002162 +:102450002046FFF779FFA96D00234FF001128F6826 +:10246000C4F834384FF00066C4F81C284FF0FF3031 +:1024700004EB431201339F42C2F80069C2F8006BBB +:10248000C2F80809C2F8080BF2D20B686A6DEB6556 +:10249000636210231361166916F01006FBD1122037 +:1024A000FFF730FAD4F8003823F4FE63C4F800389C +:1024B000A36943F4402343F01003A3610923C4F844 +:1024C0001038C4F814380A4BEB604FF0C043C4F81E +:1024D000103B084BC4F8003BC4F81069C4F800393D +:1024E000EB6D03F1100243F48013EA65A362F8BDBB +:1024F0007C36000840800010426D90F84E10D2F8F3 +:10250000003823F4FE6343EA0113C2F80038704731 +:102510002DE9F84300EB8103456DDA68166806F093 +:102520000306731E022B05EB41130C4680460FFA7F +:1025300081F94FEA41104FF00001C3F8101B4FF032 +:10254000010104F1100398BFB60401FA03F3916985 +:102550008EBF334E06F1805606F5004600293AD06C +:10256000578A04F15801490137436F50D5F81C18B8 +:102570000B43C5F81C382B180021C3F810195369F8 +:102580000127611EA7409BB3138A928B9B08012AE7 +:1025900088BF5343D8F85C20981842EA034301F1FE +:1025A000400205EB8202C8F85C00214653602846D1 +:1025B000FFF7CAFE08EB8900C3681B8A43EA84530D +:1025C000483464011E432E51D5F81C381F43C5F80A +:1025D0001C78BDE8F88305EB4917D7F8001B21F4F8 +:1025E0000041C7F8001BD5F81C1821EA0303C0E717 +:1025F00004F13F0305EB83030A4A5A60284621464B +:10260000FFF7A2FE05EB4910D0F8003923F4004390 +:10261000C0F80039D5F81C3823EA0707D7E700BF10 +:102620000080001000040002826D1268C265FFF78E +:1026300021BE00005831436D49015B5813F400403E +:1026400004D013F4001F0CBF0220012070470000CB +:102650004831436D49015B5813F4004004D013F432 +:10266000001F0CBF022001207047000000EB810119 +:10267000CB68196A0B6813604B68536070470000A1 +:1026800000EB810330B5DD68AA691368D36019B91E +:10269000402B84BF402313606B8A1468426D1C4436 +:1026A000013CB4FBF3F46343033323F0030302EB75 +:1026B000411043EAC44343F0C043C0F8103B2B68C9 +:1026C00003F00303012B09B20ED1D2F8083802EB54 +:1026D000411013F4807FD0F8003B14BF43F08053C7 +:1026E00043F00053C0F8003B02EB4112D2F8003B2C +:1026F00043F00443C2F8003B30BD00002DE9F04137 +:10270000244D6E6D06EB40130446D3F8087BC3F8E6 +:10271000087B38070AD5D6F81438190706D505EB13 +:1027200084032146DB6828465B689847FA071FD573 +:10273000D6F81438DB071BD505EB8403D968CCB970 +:102740008B69488A5A68B2FBF0F600FB16228AB9F8 +:102750001868DA6890420DD2121AC3E900242023C7 +:1027600083F311880B482146FFF78AFF84F3118811 +:10277000BDE8F081012303FA04F26B8923EA020326 +:102780006B81CB68002BF3D021460248BDE8F041B5 +:10279000184700BFB02C002000EB810370B5DD6846 +:1027A000436D6C692668E6604A0156BB1A444FF4D3 +:1027B0000020C2F810092A6802F00302012A0AB2B6 +:1027C0000ED1D3F8080803EB421410F4807FD4F83C +:1027D000000914BF40F0805040F00050C4F80009D8 +:1027E00003EB4212D2F8000940F00440C2F800099D +:1027F000D3F83408012202FA01F10143C3F8341876 +:1028000070BD19B9402E84BF4020206020682E8AF8 +:102810008419013CB4FBF6F440EAC44040F0005097 +:102820001A44C6E7F8B504461E48456D05EB441347 +:10283000D3F80869C3F80869F10717D5D5F8103837 +:10284000DA0713D500EB8403D9684B691F68DA688F +:10285000974218D2D21B00271A605F60202383F3AF +:1028600011882146FFF798FF87F31188330617D5A3 +:10287000D5F834280123A340134211D02046BDE8E7 +:10288000F840FFF723BD012303FA04F2038923EA8A +:10289000020303818B68002BE8D021469847E5E7C7 +:1028A000F8BD00BFB02C00202DE9F74F984C666DA5 +:1028B0007569B3691D4015F48058756107D02046CD +:1028C000FEF70AFD03B0BDE8F04FFFF785BC002D11 +:1028D00012DAD6F8003E8E489F071EBFD6F8003E9B +:1028E00023F00303C6F8003ED6F8043823F00103B2 +:1028F000C6F80438FEF718FD280505D58448FFF70B +:10290000B9FC8348FEF700FDA9040CD5D6F80838B9 +:1029100013F0060FF36823F470530CBF43F4105305 +:1029200043F4A053F3602A0704D56368DB680BB156 +:1029300077489847EB0274D4AF0227D5D4F8549067 +:10294000DFF8CCB100274FF0010A09EB4712D2F8AB +:10295000003B03F44023B3F5802F11D1D2F8003BA4 +:10296000002B0DDA62890AFA07F322EA0303638176 +:1029700004EB8703DB68DB6813B139465846984798 +:10298000A36D01379B68FFB29F42DED9E80617D5D9 +:10299000676D3A6AC2F30A1002F00F0302F4F012F4 +:1029A000B2F5802F00F08880B2F5402F08D104EBFB +:1029B00083030022DB681B6A07F5805790426DD1C4 +:1029C0002903D6F8184813D5E20302D50020FFF7F3 +:1029D00095FEA30302D50120FFF790FE670302D501 +:1029E0000220FFF78BFE260302D50320FFF786FEA9 +:1029F0006D037FF567AFE00702D50020FFF712FFF8 +:102A0000A10702D50120FFF70DFF620702D50220C2 +:102A1000FFF708FF23077FF555AF0320FFF702FFFD +:102A200050E7636DDFF8E8B0019300274FF0010A2B +:102A3000A36D9B685FFA87F999453FF67DAF019BCF +:102A400003EB4913D3F8002902F44022B2F5802F9A +:102A500022D1D3F80029002A1EDAD3F8002942F047 +:102A60009042C3F80029D3F80029002AFBDB606DEF +:102A70004946FFF769FC22890AFA09F322EA0303AF +:102A8000238104EB8903DB689B6813B149465846F0 +:102A900098474846FFF71AFC0137C9E7910708BF76 +:102AA000D7F80080072A98BF03F8018B02F10102D2 +:102AB00098BF4FEA182881E7023304EB830207F539 +:102AC00080575268D2F818C0DCF80820DCE9001CF6 +:102AD000A1EB0C0C002188420AD104EB830463684B +:102AE0009B699A6802449A605A6802445A6067E790 +:102AF00011F0030F08BFD7F800808C4588BF02F89B +:102B0000018B01F1010188BF4FEA1828E3E700BFFC +:102B1000B02C0020436D03EB4111D1F8003B43F48E +:102B20000013C1F8003B7047436D03EB4111D1F82E +:102B3000003943F40013C1F800397047436D03EBCB +:102B40004111D1F8003B23F40013C1F8003B70475A +:102B5000436D03EB4111D1F8003923F40013C1F8A0 +:102B60000039704700F1604303F561430901C9B2C0 +:102B700083F80013012200F01F039A4043099B00D1 +:102B800003F1604303F56143C3F880211A60704785 +:102B900030B5039C0172043304FB0325C0E90653DE +:102BA000049B03630021059BC160C0E90000C0E9EC +:102BB0000422C0E90842C0E90A11436330BD0000A5 +:102BC000416A0022C0E90411C0E90A22C2606FF024 +:102BD0000101FEF707BF0000D0E90432934201D1A2 +:102BE000C2680AB9181D7047002070470369196050 +:102BF000C2680132C260C2691344826903619342B0 +:102C000024BF436A03610021FEF7E0BE38B50446E5 +:102C10000D46E3683BB16269131D1268A362134459 +:102C2000E362002007E0237A33B929462046FEF705 +:102C3000BDFE0028EDDA38BD6FF00100FBE70000B3 +:102C4000C368C269013BC36043691344826943613D +:102C5000934224BF436A436100238362036B03B141 +:102C60001847704770B52023044683F31188866A9D +:102C70003EB9FFF7CBFF054618B186F31188284609 +:102C800070BDA36AE26A13F8015BA362934202D3A8 +:102C90002046FFF7D5FF002383F31188EFE70000FC +:102CA0002DE9F84F04460E46174698464FF0200986 +:102CB00089F311880025AA46D4F828B0BBF1000F8B +:102CC00009D141462046FFF7A1FF20B18BF31188BF +:102CD0002846BDE8F88FD4E90A12A7EB050B521A73 +:102CE000934528BF9346BBF1400F1BD9334601F1F2 +:102CF000400251F8040B43F8040B9142F9D1A36A46 +:102D000040334036A3624035D4E90A239A4202D3C5 +:102D10002046FFF795FF8AF31188BD42D8D289F388 +:102D20001188C9E730465A46FDF7D2FFA36A5B44D3 +:102D30005E44A3625D44E7E710B5029C0172043370 +:102D400004FB0321C0E906130023C0E90A33039BF7 +:102D50000363049BC460C0E90000C0E90422C0E929 +:102D60000842436310BD0000026AC260426AC0E9C3 +:102D700004220022C0E90A226FF00101FEF732BEF0 +:102D8000D0E904239A4201D1C26822B9184650F80A +:102D9000043B0B607047002070470000C368C269A5 +:102DA0000133C3604369134482694361934224BF82 +:102DB000436A43610021FEF709BE000038B50446AE +:102DC0000D46E3683BB123691A1DA262E269134410 +:102DD000E362002007E0237A33B929462046FEF754 +:102DE000E5FD0028EDDA38BD6FF00100FBE70000DB +:102DF00003691960C268013AC260C26913448269FA +:102E00000361934224BF436A036100238362036B1F +:102E100003B118477047000070B520230D460446E3 +:102E2000114683F31188866A2EB9FFF7C7FF10B1E8 +:102E300086F3118870BDA36A1D70A36AE26A01332C +:102E40009342A36204D3E16920460439FFF7D0FF1F +:102E5000002080F31188EDE72DE9F84F04460D4678 +:102E6000904699464FF0200A8AF311880026B3460F +:102E7000A76A4FB949462046FFF7A0FF20B187F364 +:102E800011883046BDE8F88FD4E90A073A1AA8EB52 +:102E90000607974228BF1746402F1BD905F140036C +:102EA00055F8042B40F8042B9D42F9D1A36A403316 +:102EB000A3624036D4E90A239A4204D3E16920464A +:102EC0000439FFF795FF8BF311884645D9D28AF371 +:102ED0001188CDE729463A46FDF7FAFEA36A3B443E +:102EE0003D44A3623E44E5E7D0E904239A4217D16A +:102EF000C3689BB1836A8BB1043B9B1A0ED01360ED +:102F0000C368013BC360C3691A44836902619A4282 +:102F100024BF436A0361002383620123184670477C +:102F20000023FBE700F088B84FF08043002258638D +:102F30001A610222DA6070474FF080430022DA60A3 +:102F4000704700004FF08043586370474FF0804354 +:102F5000586A70474B6843608B688360CB68C36076 +:102F60000B6943614B6903628B6943620B680360C1 +:102F70007047000008B5264B26481A6940F2FF1139 +:102F80000A431A611A6922F4FF7222F001021A61DF +:102F90001A691A6B0A431A631A6D0A431A651E4AA4 +:102FA0001B6D1146FFF7D6FF02F11C0100F5806092 +:102FB000FFF7D0FF02F1380100F58060FFF7CAFF8C +:102FC00002F1540100F58060FFF7C4FF02F17001C7 +:102FD00000F58060FFF7BEFF02F18C0100F5806014 +:102FE000FFF7B8FF02F1A80100F58060FFF7B2FF1C +:102FF00002F1C40100F58060FFF7ACFF02F1E001CF +:1030000000F58060FFF7A6FFBDE8084000F09AB821 +:103010000038024000000240AC36000808B500F05D +:1030200007FAFEF733FCFFF78DF8BDE80840FEF71E +:1030300055BE000070470000104B1A6C42F00102B0 +:103040001A641A6E42F001021A660D4A1B6E9368EA +:1030500043F0010393604FF0804353229A624FF094 +:10306000FF32DA6200229A615A63DA605A60012202 +:103070005A6108211A601C20FFF774BD0038024015 +:10308000002004E04FF0804208B51169D3680B407E +:10309000D9B2C9439B07116107D5202383F3118857 +:1030A000FEF714FC002383F3118808BD08B5FFF771 +:1030B000E9FFBDE80840FFF78FB800001F4B1A6911 +:1030C0006FEAC2526FEAD2521A611A69C2F3080259 +:1030D0001A614FF0FF301A695A69586100215A6924 +:1030E00059615A691A6A62F080521A621A6A02F0C9 +:1030F00080521A621A6A5A6A58625A6A59625A6A3D +:103100001A6C42F080521A641A6E42F080521A66AB +:103110001A6E0B4A106840F480701060186F00F44B +:103120004070B0F5007F1EBF4FF4803018671967FC +:10313000536823F40073536000F05AB9003802401A +:1031400000700040334B4FF080521A64324A4FF403 +:10315000404111601A6842F001021A601A68910732 +:10316000FCD59A6822F003029A602A4B9A6812F002 +:103170000C02FBD1196801F0F90119609A601A6814 +:1031800042F480321A601A689203FCD55A6F42F0FA +:1031900001025A671F4B5A6F9007FCD51F4A5A60AD +:1031A0001A6842F080721A601B4A53685904FCD5B1 +:1031B000184B1A689201FCD5194A9A60194B1A6883 +:1031C000194B9A42194B21D1194A1168194A914257 +:1031D0001CD140F205121A60144A136803F00F0361 +:1031E000052BFAD10B4B9A6842F002029A609A685A +:1031F00002F00C02082AFAD15A6C42F480425A6456 +:103200005A6E42F480425A665B6E704740F2057215 +:10321000E1E700BF0038024000700040085440075A +:1032200000948838002004E011640020003C024033 +:1032300000ED00E041C20F41084A08B5516913682A +:103240000B4003F00103536123B1054A13680BB12E +:1032500050689847BDE80840FEF7BEBF003C0140FB +:10326000282D0020084A08B5516913680B4003F067 +:103270000203536123B1054A93680BB1D0689847A4 +:10328000BDE80840FEF7A8BF003C0140282D002003 +:10329000084A08B5516913680B4003F004035361F1 +:1032A00023B1054A13690BB150699847BDE808403E +:1032B000FEF792BF003C0140282D0020084A08B5C7 +:1032C000516913680B4003F00803536123B1054AA9 +:1032D00093690BB1D0699847BDE80840FEF77CBF01 +:1032E000003C0140282D0020084A08B551691368A8 +:1032F0000B4003F01003536123B1054A136A0BB16D +:10330000506A9847BDE80840FEF766BF003C0140A0 +:10331000282D0020174B10B55A691C68144004F47E +:1033200078725A61A30604D5134A936A0BB1D06A26 +:103330009847600604D5104A136B0BB1506B984741 +:10334000210604D50C4A936B0BB1D06B9847E2056C +:1033500004D5094A136C0BB1506C9847A30504D5EA +:10336000054A936C0BB1D06C9847BDE81040FEF74E +:1033700033BF00BF003C0140282D00201A4B10B580 +:103380005A691C68144004F47C425A61620504D5F1 +:10339000164A136D0BB1506D9847230504D5134A97 +:1033A000936D0BB1D06D9847E00404D50F4A136EAE +:1033B0000BB1506E9847A10404D50C4A936E0BB123 +:1033C000D06E9847620404D5084A136F0BB1506F52 +:1033D0009847230404D5054A936F0BB1D06F9847E3 +:1033E000BDE81040FEF7F8BE003C0140282D00204B +:1033F000062108B50846FFF7B5FB06210720FFF7B1 +:10340000B1FB06210820FFF7ADFB06210920FFF7DD +:10341000A9FB06210A20FFF7A5FB06211720FFF7CD +:10342000A1FBBDE8084006212820FFF79BBB000058 +:1034300008B5FFF743FE00F00BF8FDF7E5FEFDF7DA +:10344000BDFDFFF7F7FDBDE80840FFF76BBD0000CD +:103450000023054A19460133102BC2E9001102F17D +:103460000802F8D1704700BF282D0020034611F84C +:10347000012B03F8012B002AF9D1704753544D3327 +:1034800032463F3F3F00000053544D333246343004 +:10349000780053544D3332463432780053544D3310 +:1034A0003246343436585800000000007C3400089E +:1034B0003F00000013040000883400083F000000B3 +:1034C00019040000923400083F00000021040000AD +:1034D0009C3400083F00000000000000390F000885 +:1034E000250F0008610F00084D0F0008590F000854 +:1034F000450F0008310F00081D0F00086D0F000870 +:103500000000000001000000000000006D61696E15 +:103510000000000069646C650000000014350008BC +:10352000D823002050250020010000008918000841 +:10353000000000004172647550696C6F7400254290 +:103540004F415244252D424C002553455249414C90 +:1035500025000000020000000000000055110008D6 +:10356000C111000840004000E8290020F82900208F +:103570000200000000000000030000000000000046 +:10358000051200080000000010000000082A0020BA +:10359000000000000100000000000000B02C00202E +:1035A00001010200791C0008891B0008251C000885 +:1035B000091C000843000000BC3500080902430054 +:1035C000020100C0320904000001020201000524CA +:1035D0000010010524010001042402020524060054 +:1035E00001070582030800FF09040100020A000028 +:1035F00000070501024000000705810240000000AD +:1036000012000000083600081201100102000040FC +:1036100009124157000201020301000004030904DA +:1036200025424F41524425005370656564794265D7 +:10363000654634303557494E4700303132333435E2 +:1036400036373839414243444546000000400000C7 +:1036500000400000004000000040000000000100A9 +:103660000000020000000200000002000000020052 +:103670000000020000000200000002000000000044 +:103680003D130008F5150008A11600084000400091 +:10369000102D0020102D002001000000202D002002 +:1036A00080000000400100000300000000018016BF +:1036B00000000000AAAAAAAA00010000FF9F0000C3 +:1036C0000000000000A00A0000000001000000004F +:1036D000AAAAAAAA00000001FFFF00000000000043 +:1036E000000000000000001000000000AAAAAAAA22 +:1036F00000000010FFFF00000000000000000000BC +:103700000000000000000000AAAAAAAA0000000011 +:10371000FFFF0000000000000000000000000000AB +:1037200000000000AAAAAAAA00000000FFFF0000F3 +:103730000000000000000000000000000000000089 +:10374000AAAAAAAA00000000FFFF000000000000D3 +:10375000000000000000000000000000AAAAAAAAC1 +:1037600000000000FFFF000000000000000000005B +:1037700000000000000000000A000000000000003F +:103780000300000000000000000000000000000036 +:103790000000000000000000000000000000000029 +:1037A00000000000000000005204000000000000C3 +:1037B00000000F0000000000FF009600000000085D +:1037C0000096000000000800040000001C360008FD +:1037D00000000000000000000000000000000000E9 +:0837E0000000000000000000E1 +:00000001FF diff --git a/libraries/AP_HAL_ChibiOS/hwdef/SpeedyBeeF405WING/defaults.parm b/libraries/AP_HAL_ChibiOS/hwdef/SpeedyBeeF405WING/defaults.parm new file mode 100644 index 0000000000..fe1e4e7096 --- /dev/null +++ b/libraries/AP_HAL_ChibiOS/hwdef/SpeedyBeeF405WING/defaults.parm @@ -0,0 +1,9 @@ +# WS2812 LED +NTF_LED_LEN,4 +NTF_LED_TYPES 257 +SERVO12_FUNCTION,120 + +#Serial Port defaults +SERIAL1_PROTOCOL 23 +SERIAL4_PROTOCOL -1 +SERIAL6_PROTOCOL 2 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/SpeedyBeeF405WING/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/SpeedyBeeF405WING/hwdef-bl.dat new file mode 100644 index 0000000000..84d03b16a6 --- /dev/null +++ b/libraries/AP_HAL_ChibiOS/hwdef/SpeedyBeeF405WING/hwdef-bl.dat @@ -0,0 +1,37 @@ +# hw definition file for processing by chibios_pins.py +# for speedybeef4 bootloader + +# MCU class and specific type +MCU STM32F4xx STM32F405xx + +# board ID for firmware load +APJ_BOARD_ID 1106 + +# crystal frequency +OSCILLATOR_HZ 8000000 + +FLASH_SIZE_KB 1024 + +# bootloader is installed at zero offset +FLASH_RESERVE_START_KB 0 + +# the location where the bootloader will put the firmware +FLASH_BOOTLOADER_LOAD_KB 64 + +# LEDs +PA14 LED_BOOTLOADER OUTPUT LOW GPIO(0) +PA13 LED_ACTIVITY OUTPUT LOW GPIO(1) +define HAL_LED_ON 0 + +# order of UARTs +SERIAL_ORDER OTG1 + +PA11 OTG_FS_DM OTG1 +PA12 OTG_FS_DP OTG1 + +DEFAULTGPIO OUTPUT LOW PULLDOWN + +# Add CS pins to ensure they are high in bootloader +PA4 MPU_CS CS +PB12 OSD_CS CS +PC14 SDCARD_CS CS diff --git a/libraries/AP_HAL_ChibiOS/hwdef/SpeedyBeeF405WING/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/SpeedyBeeF405WING/hwdef.dat new file mode 100644 index 0000000000..a89bce7bab --- /dev/null +++ b/libraries/AP_HAL_ChibiOS/hwdef/SpeedyBeeF405WING/hwdef.dat @@ -0,0 +1,224 @@ +# hw definition file for SpeedyBee F4 WING hardware +# tested on the Speedybee F405 WING board +# + +# MCU class and specific type +MCU STM32F4xx STM32F405xx + +# board ID for firmware load +APJ_BOARD_ID 1106 + +# crystal frequency +OSCILLATOR_HZ 8000000 + +define STM32_ST_USE_TIMER 5 +define CH_CFG_ST_RESOLUTION 32 + +# reserve 16k for bootloader, 16k for OSD and 32k for flash storage +FLASH_RESERVE_START_KB 64 +FLASH_SIZE_KB 1024 + +define HAL_STORAGE_SIZE 15360 +STORAGE_FLASH_PAGE 1 + +# only one I2C bus +I2C_ORDER I2C1 + +# order of UARTs (and USB) +SERIAL_ORDER OTG1 USART1 USART2 USART3 UART4 UART5 USART6 + +# LEDs +PA13 LED_GREEN OUTPUT LOW GPIO(0) +PA14 LED_BLUE OUTPUT LOW GPIO(1) + +define HAL_GPIO_A_LED_PIN 0 +define HAL_GPIO_B_LED_PIN 1 + +# buzzer +PC15 BUZZER OUTPUT GPIO(80) LOW +define HAL_BUZZER_PIN 80 +define HAL_BUZZER_ON 1 +define HAL_BUZZER_OFF 0 + +# spi1 bus for IMU +PA5 SPI1_SCK SPI1 +PA6 SPI1_MISO SPI1 +PA7 SPI1_MOSI SPI1 +PA4 MPU_CS CS + +# spi2 for OSD +PB13 SPI2_SCK SPI2 +PC2 SPI2_MISO SPI2 +PC3 SPI2_MOSI SPI2 +PB12 OSD_CS CS + +# spi3 for sdcard +PB3 SPI3_SCK SPI3 +PB4 SPI3_MISO SPI3 +PB5 SPI3_MOSI SPI3 +PC14 SDCARD_CS CS + +# only one I2C bus in normal config +PB8 I2C1_SCL I2C1 +PB9 I2C1_SDA I2C1 + +# analog pins +PC0 BATT_VOLTAGE_SENS ADC1 SCALE(1) +PC1 BATT_CURRENT_SENS ADC1 SCALE(1) +PC4 RSSI_ADC_PIN ADC1 SCALE(1) + +PC5 PRESSURE_SENS ADC1 SCALE(1) +define HAL_DEFAULT_AIRSPEED_PIN 15 + +# define default battery setup +define HAL_BATT_MONITOR_DEFAULT 4 +define HAL_BATT_VOLT_PIN 10 +define HAL_BATT_CURR_PIN 11 +define HAL_BATT_VOLT_SCALE 11.05 # matched to PDB board +define HAL_BATT_CURR_SCALE 50 # matched to PDB board + +# analog rssi pin +define BOARD_RSSI_ANA_PIN 14 + +# USART1 (ELRS) +PA9 USART1_TX USART1 +PA10 USART1_RX USART1 + + +# USART2 (RCIN with inverter) + +PA3 TIM9_CH2 TIM9 RCININT PULLDOWN LOW + +# alternative with PA3 as USART2_RX +PA2 USART2_TX USART2 NODMA +PA3 USART2_RX USART2 NODMA ALT(1) + +# USART3 (GPS) +PC10 USART3_TX USART3 +PC11 USART3_RX USART3 NODMA + +# UART4 serial4 +PA0 UART4_TX UART4 +PA1 UART4_RX UART4 NODMA + +# USART5 (DJI / VTX) +PC12 UART5_TX UART5 +PD2 UART5_RX UART5 NODMA + +# UART6 (onboard Telemetry) +PC6 USART6_TX USART6 +PC7 USART6_RX USART6 +define HAL_SERIAL6_BAUD 115 + +# USB +PA11 OTG_FS_DM OTG1 +PA12 OTG_FS_DP OTG1 + +# PWM out pins. Note that channel order follows the ArduPilot motor +# order conventions +PB7 TIM4_CH2 TIM4 PWM(1) GPIO(50) +PB6 TIM4_CH1 TIM4 PWM(2) GPIO(51) +PB0 TIM3_CH3 TIM3 PWM(3) GPIO(52) +PB1 TIM3_CH4 TIM3 PWM(4) GPIO(53) +PC8 TIM8_CH3 TIM8 PWM(5) GPIO(54) +PC9 TIM8_CH4 TIM8 PWM(6) GPIO(55) +PB14 TIM8_CH2N TIM8 PWM(7) GPIO(56) + +PA15 TIM2_CH1 TIM2 PWM(8) GPIO(57) +PB10 TIM2_CH3 TIM2 PWM(9) GPIO(58) +PB11 TIM2_CH4 TIM2 PWM(10) GPIO(59) + +PB15 TIM1_CH3N TIM1 PWM(11) GPIO(60) +PA8 TIM1_CH1 TIM1 PWM(12) GPIO(61)# LED + +# one IMU +IMU Invensensev3 SPI:icm42605 ROTATION_ROLL_180_YAW_270 +define HAL_DEFAULT_INS_FAST_SAMPLE 1 + +# one baro +BARO SPL06 I2C:0:0x76 +define AP_BARO_BACKEND_DEFAULT_ENABLED 0 +define AP_BARO_SPL06_ENABLED 1 + +# no built-in compass, but probe the i2c bus for all possible +# external compass types +define ALLOW_ARM_NO_COMPASS +define HAL_PROBE_EXTERNAL_I2C_COMPASSES +define HAL_I2C_INTERNAL_MASK 0 +define HAL_COMPASS_AUTO_ROT_DEFAULT 2 + +# ICM42688P on SPI1 +SPIDEV icm42605 SPI1 DEVID1 MPU_CS MODE3 2*MHZ 8*MHZ + +# OSD on SPI2 +SPIDEV osd SPI2 DEVID2 OSD_CS MODE0 10*MHZ 10*MHZ + +# SD Card on SPI3 +SPIDEV sdcard SPI3 DEVID3 SDCARD_CS MODE0 400*KHZ 25*MHZ + +# filesystem setup on sdcard +define HAL_OS_FATFS_IO 1 +define HAL_BOARD_LOG_DIRECTORY "/APM/LOGS" +define HAL_BOARD_TERRAIN_DIRECTORY "/APM/TERRAIN" + +# setup for OSD +define OSD_ENABLED 1 +define HAL_OSD_TYPE_DEFAULT 1 +ROMFS_WILDCARD libraries/AP_OSD/fonts/font0.bin + +define STM32_PWM_USE_ADVANCED TRUE + +# reduce max size of embedded params for apj_tool.py +define AP_PARAM_MAX_EMBEDDED_PARAM 1024 +define HAL_WITH_DSP FALSE + +# save some flash + +# disable SMBUS and fuel battery monitors to save flash +define AP_BATTMON_SMBUS_ENABLE 0 +define AP_BATTMON_FUEL_ENABLE 0 +define AP_BATTMON_SYNTHETIC_CURRENT_ENABLED 0 +define HAL_BATTMON_INA2XX_ENABLED 0 + +# disable parachute and sprayer to save flash +define HAL_PARACHUTE_ENABLED 0 +define HAL_SPRAYER_ENABLED 0 +define AP_GRIPPER_ENABLED 0 +define HAL_GENERATOR_ENABLED 0 +define AP_ICENGINE_ENABLED 0 +#define LANDING_GEAR_ENABLED 0 +define WINCH_ENABLED 0 +define HAL_ADSB_ENABLED 0 + +define AC_OAPATHPLANNER_ENABLED 0 +define PRECISION_LANDING 0 +#define HAL_BARO_WIND_COMP_ENABLED 0 +define AP_OPTICALFLOW_ENABLED 0 + + +# Disable un-needed hardware drivers +define HAL_WITH_ESC_TELEM 0 +define AP_FETTEC_ONEWIRE_ENABLED 0 + +define AP_VOLZ_ENABLED 0 +define AP_ROBOTISSERVO_ENABLE 0 +define HAL_PICCOLO_CAN_ENABLE 0 +define HAL_TORQEEDO_ENABLED 0 +define HAL_RUNCAM_ENABLED 0 +define HAL_HOTT_TELEM_ENABLED 0 +define HAL_NMEA_OUTPUT_ENABLED 0 +define HAL_BUTTON_ENABLED 0 +define AP_NOTIFY_OREOLED_ENABLED 0 + +#only support MS4525 ANALOG ASP5033 driver +define AP_AIRSPEED_BACKEND_DEFAULT_ENABLED 0 +define AP_AIRSPEED_MS4525_ENABLED 1 +define AP_AIRSPEED_ANALOG_ENABLED 1 +define AP_AIRSPEED_ASP5033_ENABLED 1 + +#only support UBLOX and NMEA GPS driver +define AP_GPS_BACKEND_DEFAULT_ENABLED 0 +define AP_GPS_UBLOX_ENABLED 1 +define AP_GPS_NMEA_ENABLED 1 + +define AP_TRAMP_ENABLED 1 From b6342f618f421612839a4f654d3d4a8dd4cd8d3c Mon Sep 17 00:00:00 2001 From: mfoo Date: Thu, 21 Sep 2023 11:55:31 +0200 Subject: [PATCH 2/4] AP_OSD: add wide sidebars support --- libraries/AP_OSD/AP_OSD.cpp | 2 +- libraries/AP_OSD/AP_OSD.h | 1 + libraries/AP_OSD/AP_OSD_Screen.cpp | 8 ++++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/libraries/AP_OSD/AP_OSD.cpp b/libraries/AP_OSD/AP_OSD.cpp index 8a953b8623..7e1a3d2aed 100644 --- a/libraries/AP_OSD/AP_OSD.cpp +++ b/libraries/AP_OSD/AP_OSD.cpp @@ -90,7 +90,7 @@ const AP_Param::GroupInfo AP_OSD::var_info[] = { // @Param: _OPTIONS // @DisplayName: OSD Options // @Description: This sets options that change the display - // @Bitmask: 0:UseDecimalPack, 1:InvertedWindPointer, 2:InvertedAHRoll, 3:Convert feet to miles at 5280ft instead of 10000ft, 4:DisableCrosshair, 19:Right justify TUNED_PN element, 20:Prefix LQ with RF Mode, 21:One decimal attitude, 22:One decimal throttle, 23:Shorten Pluscode + // @Bitmask: 0:UseDecimalPack, 1:InvertedWindPointer, 2:InvertedAHRoll, 3:Convert feet to miles at 5280ft instead of 10000ft, 4:DisableCrosshair, 17:wide Sidebar, 18:Two decimal vertical speed, 19:Right justify TUNED_PN element, 20:Prefix LQ with RF Mode, 21:One decimal attitude, 22:One decimal throttle, 23:Shorten Pluscode // @User: Standard AP_GROUPINFO("_OPTIONS", 8, AP_OSD, options, OPTION_DECIMAL_PACK | OPTION_ONE_DECIMAL_ATTITUDE | OPTION_RF_MODE_ALONG_WITH_LQ | OPTION_RIGHT_JUSTIFY_TUNED_PN ), diff --git a/libraries/AP_OSD/AP_OSD.h b/libraries/AP_OSD/AP_OSD.h index 5d0cc34f9f..11fe4fa77e 100644 --- a/libraries/AP_OSD/AP_OSD.h +++ b/libraries/AP_OSD/AP_OSD.h @@ -631,6 +631,7 @@ class AP_OSD OPTION_INVERTED_AH_ROLL = 1U<<2, OPTION_IMPERIAL_MILES = 1U<<3, OPTION_DISABLE_CROSSHAIR = 1U<<4, + OPTION_WIDE_SIDEBAR = 1U<<17, OPTION_TWO_DECIMALS_VERTICAL_SPEED = 1U<<18, OPTION_RIGHT_JUSTIFY_TUNED_PN = 1U<<19, OPTION_RF_MODE_ALONG_WITH_LQ = 1U<<20, diff --git a/libraries/AP_OSD/AP_OSD_Screen.cpp b/libraries/AP_OSD/AP_OSD_Screen.cpp index 2fe5ac5363..6e20d8a574 100644 --- a/libraries/AP_OSD/AP_OSD_Screen.cpp +++ b/libraries/AP_OSD/AP_OSD_Screen.cpp @@ -2489,12 +2489,16 @@ void AP_OSD_Screen::draw_sidebars(uint8_t x, uint8_t y) // render the altitude ladder // similar formula to above, but accounts for negative altitudes int alt_symbol_index = fmodf(fmodf(scaled_alt, alt_interval) + alt_interval, alt_interval) / alt_interval * total_sectors; + uint8_t sidebar_width = 16; + if(check_option(AP_OSD::OPTION_WIDE_SIDEBAR)){ + sidebar_width=30; + } for (int i = 0; i < 7; i++){ if (i == 3) { // the middle section of the ladder with the currrent altitude - backend->write(x+16, y+i, false, "%c%d%c", SYMBOL(SYM_SIDEBAR_L_ARROW), (int) scaled_alt, u_icon(ALTITUDE)); + backend->write(x+sidebar_width, y+i, false, "%c%d%c", SYMBOL(SYM_SIDEBAR_L_ARROW), (int) scaled_alt, u_icon(ALTITUDE)); } else { - backend->write(x+16, y+i, false, "%c", SYMBOL(sidebar_sectors[alt_symbol_index])); + backend->write(x+sidebar_width, y+i, false, "%c", SYMBOL(sidebar_sectors[alt_symbol_index])); } alt_symbol_index = (alt_symbol_index + 12) % 18; } From 74507cff63d31b7b8ded20504370ba641ee81ed1 Mon Sep 17 00:00:00 2001 From: Michel Pastor Date: Sun, 31 Dec 2023 17:36:53 +0100 Subject: [PATCH 3/4] AP_OSD: backport upsream update/fix DisplayPort BF MSP symbols --- libraries/AP_OSD/AP_OSD.cpp | 2 +- libraries/AP_OSD/AP_OSD.h | 4 +++ libraries/AP_OSD/AP_OSD_MSP_DisplayPort.h | 30 +++++++++++------------ libraries/AP_OSD/AP_OSD_Screen.cpp | 15 ++++++++++-- 4 files changed, 33 insertions(+), 18 deletions(-) diff --git a/libraries/AP_OSD/AP_OSD.cpp b/libraries/AP_OSD/AP_OSD.cpp index 7e1a3d2aed..c2fdb7bbb1 100644 --- a/libraries/AP_OSD/AP_OSD.cpp +++ b/libraries/AP_OSD/AP_OSD.cpp @@ -90,7 +90,7 @@ const AP_Param::GroupInfo AP_OSD::var_info[] = { // @Param: _OPTIONS // @DisplayName: OSD Options // @Description: This sets options that change the display - // @Bitmask: 0:UseDecimalPack, 1:InvertedWindPointer, 2:InvertedAHRoll, 3:Convert feet to miles at 5280ft instead of 10000ft, 4:DisableCrosshair, 17:wide Sidebar, 18:Two decimal vertical speed, 19:Right justify TUNED_PN element, 20:Prefix LQ with RF Mode, 21:One decimal attitude, 22:One decimal throttle, 23:Shorten Pluscode + // @Bitmask: 0:UseDecimalPack, 1:InvertedWindArrow, 2:InvertedAHRoll, 3:Convert feet to miles at 5280ft instead of 10000ft, 4:DisableCrosshair, 5:TranslateArrows, 17:wide Sidebar, 18:Two decimal vertical speed, 19:Right justify TUNED_PN element, 20:Prefix LQ with RF Mode, 21:One decimal attitude, 22:One decimal throttle, 23:Shorten Pluscode // @User: Standard AP_GROUPINFO("_OPTIONS", 8, AP_OSD, options, OPTION_DECIMAL_PACK | OPTION_ONE_DECIMAL_ATTITUDE | OPTION_RF_MODE_ALONG_WITH_LQ | OPTION_RIGHT_JUSTIFY_TUNED_PN ), diff --git a/libraries/AP_OSD/AP_OSD.h b/libraries/AP_OSD/AP_OSD.h index 11fe4fa77e..3fe7977173 100644 --- a/libraries/AP_OSD/AP_OSD.h +++ b/libraries/AP_OSD/AP_OSD.h @@ -314,11 +314,14 @@ class AP_OSD_Screen : public AP_OSD_AbstractScreen #if HAL_PLUSCODE_ENABLE void draw_pluscode(uint8_t x, uint8_t y); #endif + //helper functions void draw_speed(uint8_t x, uint8_t y, bool available, float magnitude = 0, bool blink = false); void draw_speed_with_arrow(uint8_t x, uint8_t y, float angle_rad, float magnitude, bool blink = false); void draw_distance(uint8_t x, uint8_t y, float distance, bool can_only_be_positive = true, bool available = true); void draw_temperature(uint8_t x, uint8_t y, bool available, float value = 0, bool blink = false); + char get_arrow_font_index (int32_t angle_cd); + #if HAL_WITH_ESC_TELEM void draw_highest_esc_temp(uint8_t x, uint8_t y); void draw_rpm(uint8_t x, uint8_t y, float rpm); // helper @@ -631,6 +634,7 @@ class AP_OSD OPTION_INVERTED_AH_ROLL = 1U<<2, OPTION_IMPERIAL_MILES = 1U<<3, OPTION_DISABLE_CROSSHAIR = 1U<<4, + OPTION_BF_ARROWS = 1U<<5, OPTION_WIDE_SIDEBAR = 1U<<17, OPTION_TWO_DECIMALS_VERTICAL_SPEED = 1U<<18, OPTION_RIGHT_JUSTIFY_TUNED_PN = 1U<<19, diff --git a/libraries/AP_OSD/AP_OSD_MSP_DisplayPort.h b/libraries/AP_OSD/AP_OSD_MSP_DisplayPort.h index 7ac7904dbe..27b72e9475 100644 --- a/libraries/AP_OSD/AP_OSD_MSP_DisplayPort.h +++ b/libraries/AP_OSD/AP_OSD_MSP_DisplayPort.h @@ -56,13 +56,13 @@ class AP_OSD_MSP_DisplayPort : public AP_OSD_Backend static const uint8_t SYM_FS = 0x99; static const uint8_t SYM_KMH = 0x9E; static const uint8_t SYM_MPH = 0x9D; - static const uint8_t SYM_DEGR = 0x1D; + static const uint8_t SYM_DEGR = 0x08; static const uint8_t SYM_PCNT = 0x25; static const uint8_t SYM_RPM = 0x12; static const uint8_t SYM_ASPD = 0x41; - static const uint8_t SYM_GSPD = 0x70; - static const uint8_t SYM_WSPD = 0x1B; - static const uint8_t SYM_VSPD = 0x7F; + static const uint8_t SYM_GSPD = 0x47; + static const uint8_t SYM_WSPD = 0x57; + static const uint8_t SYM_VSPD = 0x5E; static const uint8_t SYM_WPNO = 0x23; static const uint8_t SYM_WPDIR = 0xE6; static const uint8_t SYM_WPDST = 0xE7; @@ -71,10 +71,10 @@ class AP_OSD_MSP_DisplayPort : public AP_OSD_Backend static const uint8_t SYM_SAT_L = 0x1E; static const uint8_t SYM_SAT_R = 0x1F; - static const uint8_t SYM_HDOP_L = 0x11; - static const uint8_t SYM_HDOP_R = 0x08; + static const uint8_t SYM_HDOP_L = 0x48; + static const uint8_t SYM_HDOP_R = 0x44; - static const uint8_t SYM_HOME = 0x05; + static const uint8_t SYM_HOME = 0x11; static const uint8_t SYM_WIND = 0x57; static const uint8_t SYM_ARROW_START = 0x60; @@ -103,30 +103,30 @@ class AP_OSD_MSP_DisplayPort : public AP_OSD_Backend static const uint8_t SYM_DEGREES_C = 0x0E; static const uint8_t SYM_DEGREES_F = 0x0D; - static const uint8_t SYM_GPS_LAT = 0x68; - static const uint8_t SYM_GPS_LONG = 0x6C; - static const uint8_t SYM_ARMED = 0x08; - static const uint8_t SYM_DISARMED = 0x08; + static const uint8_t SYM_GPS_LAT = 0x89; + static const uint8_t SYM_GPS_LONG = 0x98; + static const uint8_t SYM_ARMED = 0x00; + static const uint8_t SYM_DISARMED = 0x2A; static const uint8_t SYM_ROLL0 = 0x2D; static const uint8_t SYM_ROLLR = 0x64; static const uint8_t SYM_ROLLL = 0x6C; static const uint8_t SYM_PTCH0 = 0x7C; static const uint8_t SYM_PTCHUP = 0x68; static const uint8_t SYM_PTCHDWN = 0x60; - static const uint8_t SYM_XERR = 0xEE; + static const uint8_t SYM_XERR = 0x21; static const uint8_t SYM_KN = 0xF0; static const uint8_t SYM_NM = 0xF1; - static const uint8_t SYM_DIST = 0x22; + static const uint8_t SYM_DIST = 0x04; static const uint8_t SYM_FLY = 0x9C; static const uint8_t SYM_EFF = 0xF2; static const uint8_t SYM_AH = 0xF3; static const uint8_t SYM_MW = 0xF4; static const uint8_t SYM_CLK = 0x08; static const uint8_t SYM_KILO = 0x4B; - static const uint8_t SYM_TERALT = 0xEF; + static const uint8_t SYM_TERALT = 0x7F; static const uint8_t SYM_FENCE_ENABLED = 0xF5; static const uint8_t SYM_FENCE_DISABLED = 0xF6; - static const uint8_t SYM_RNGFD = 0x72; + static const uint8_t SYM_RNGFD = 0x7F; static const uint8_t SYM_LQ = 0xF8; static constexpr uint8_t symbols[AP_OSD_NUM_SYMBOLS] { diff --git a/libraries/AP_OSD/AP_OSD_Screen.cpp b/libraries/AP_OSD/AP_OSD_Screen.cpp index 6e20d8a574..2fa53242e1 100644 --- a/libraries/AP_OSD/AP_OSD_Screen.cpp +++ b/libraries/AP_OSD/AP_OSD_Screen.cpp @@ -2202,11 +2202,22 @@ void AP_OSD_Screen::draw_speed(uint8_t x, uint8_t y, bool available, float magni backend->write(x+spaces, y, blink, fmt, magnitude_scaled, u_icon(SPEED)); } +char AP_OSD_Screen::get_arrow_font_index(int32_t angle_cd) +{ + uint32_t interval = 36000 / SYMBOL(SYM_ARROW_COUNT); + angle_cd = wrap_360_cd(angle_cd); + // if using BF font table must translate arrows + if (check_option(AP_OSD::OPTION_BF_ARROWS)) { + angle_cd = angle_cd > 18000? 54000 - angle_cd : 18000- angle_cd; + } + return SYMBOL(SYM_ARROW_START) + ((angle_cd + interval / 2) / interval) % SYMBOL(SYM_ARROW_COUNT); +} + // draw a arrow at the given angle, and print the given magnitude void AP_OSD_Screen::draw_speed_with_arrow(uint8_t x, uint8_t y, float angle_rad, float magnitude, bool blink) { - static const int32_t arrow_interval = 36000 / SYMBOL(SYM_ARROW_COUNT); - char arrow = SYMBOL(SYM_ARROW_START) + ((int32_t(angle_rad*DEGX100) + arrow_interval / 2) / arrow_interval) % SYMBOL(SYM_ARROW_COUNT); + int32_t angle_cd = angle_rad * DEGX100; + char arrow = get_arrow_font_index(angle_cd); backend->write(x, y, false, "%c", arrow); draw_speed(x+1, y, true, magnitude, blink); } From 5338bd49df5384223d0330fc050435f274ad3cda Mon Sep 17 00:00:00 2001 From: mfoo Date: Sat, 30 Dec 2023 10:16:58 +0100 Subject: [PATCH 4/4] AP_OSD: fix arrow for home distance and waypoint for DJI O3 --- libraries/AP_OSD/AP_OSD_Screen.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/libraries/AP_OSD/AP_OSD_Screen.cpp b/libraries/AP_OSD/AP_OSD_Screen.cpp index 2fa53242e1..fcfc198528 100644 --- a/libraries/AP_OSD/AP_OSD_Screen.cpp +++ b/libraries/AP_OSD/AP_OSD_Screen.cpp @@ -2376,13 +2376,12 @@ void AP_OSD_Screen::draw_home(uint8_t x, uint8_t y) if (home_is_set) { // const Location &home_loc = ahrs.get_home(); float distance = home_loc.get_distance(loc); - int32_t angle = wrap_360_cd(loc.get_bearing_to(home_loc) - yaw_sensor); - int32_t interval = 36000 / SYMBOL(SYM_ARROW_COUNT); + int32_t angle_cd = loc.get_bearing_to(home_loc) - yaw_sensor; if (distance < 2.0f) { //avoid fast rotating arrow at small distances - angle = 0; + angle_cd = 0; } - char arrow = SYMBOL(SYM_ARROW_START) + ((angle + interval / 2) / interval) % SYMBOL(SYM_ARROW_COUNT); + char arrow = get_arrow_font_index(angle_cd); backend->write(x, y, false, "%c%c", SYMBOL(SYM_HOME), arrow); draw_distance(x+2, y, distance, true); } else { @@ -2948,13 +2947,13 @@ void AP_OSD_Screen::draw_waypoint(uint8_t x, uint8_t y) WITH_SEMAPHORE(ahrs.get_semaphore()); yaw_sensor = ahrs.yaw_sensor; } - int32_t angle = wrap_360_cd(osd->nav_info.wp_bearing - yaw_sensor); - int32_t interval = 36000 / SYMBOL(SYM_ARROW_COUNT); + + int32_t angle_cd = osd->nav_info.wp_bearing - yaw_sensor; if (osd->nav_info.wp_distance < 2.0f) { //avoid fast rotating arrow at small distances - angle = 0; + angle_cd = 0; } - char arrow = SYMBOL(SYM_ARROW_START) + ((angle + interval / 2) / interval) % SYMBOL(SYM_ARROW_COUNT); + char arrow = get_arrow_font_index(angle_cd); backend->write(x,y, false, "%c%2u%c",SYMBOL(SYM_WPNO), osd->nav_info.wp_number, arrow); draw_distance(x+4, y, osd->nav_info.wp_distance, true); }