From 9f7bfe33840d3d447f56f8bb7608b7dec6cb1fd9 Mon Sep 17 00:00:00 2001 From: Jorge Aparicio Date: Tue, 14 Jul 2020 19:29:47 +0200 Subject: [PATCH] add no-USB variants of the Dongle programs these are for the case where USB functionality fails and compromises the radio functionality --- boards/dongle/README.md | 4 +- boards/dongle/loopback-nousb.rs | 35 +++ boards/dongle/loopback-nousb11.hex | 259 ++++++++++++++++++ boards/dongle/loopback-nousb16.hex | 259 ++++++++++++++++++ boards/dongle/loopback-nousb21.hex | 259 ++++++++++++++++++ boards/dongle/loopback-nousb26.hex | 259 ++++++++++++++++++ boards/dongle/puzzle-nousb.rs | 78 ++++++ boards/dongle/puzzle-nousb11.hex | 301 +++++++++++++++++++++ boards/dongle/puzzle-nousb16.hex | 301 +++++++++++++++++++++ boards/dongle/puzzle-nousb21.hex | 301 +++++++++++++++++++++ boards/dongle/puzzle-nousb26.hex | 301 +++++++++++++++++++++ embedded-workshop-book/src/dongle.md | 42 ++- embedded-workshop-book/src/radio-puzzle.md | 3 +- 13 files changed, 2391 insertions(+), 11 deletions(-) create mode 100644 boards/dongle/loopback-nousb.rs create mode 100644 boards/dongle/loopback-nousb11.hex create mode 100644 boards/dongle/loopback-nousb16.hex create mode 100644 boards/dongle/loopback-nousb21.hex create mode 100644 boards/dongle/loopback-nousb26.hex create mode 100644 boards/dongle/puzzle-nousb.rs create mode 100644 boards/dongle/puzzle-nousb11.hex create mode 100644 boards/dongle/puzzle-nousb16.hex create mode 100644 boards/dongle/puzzle-nousb21.hex create mode 100644 boards/dongle/puzzle-nousb26.hex diff --git a/boards/dongle/README.md b/boards/dongle/README.md index 4bd46ed..71cf305 100644 --- a/boards/dongle/README.md +++ b/boards/dongle/README.md @@ -4,9 +4,7 @@ Pre-made applications for the nRF52840 Dongle. These applications will be used in the beginner workshop. -## Getting familiar with the hardware - -> TODO review for accessibility +## Hardware ### LEDs diff --git a/boards/dongle/loopback-nousb.rs b/boards/dongle/loopback-nousb.rs new file mode 100644 index 0000000..2283049 --- /dev/null +++ b/boards/dongle/loopback-nousb.rs @@ -0,0 +1,35 @@ +#![deny(unused_must_use)] +#![no_main] +#![no_std] + +use hal::{radio::{self, Channel}, led}; +use panic_abort as _; + +#[no_mangle] +fn main() -> ! { + let (mut rtx, mut rrx) = radio::claim(Channel::_21); // <- change this + let led = led::Green; + + let task = async { + let mut packet = radio::Packet::new().await; + let mut on = true; + + loop { + let crcres = rrx.read(&mut packet).await; + // togle LED on each new packet + if on { + led.on(); + } else { + led.off(); + } + on = !on; + + if crcres.is_ok() { + packet.reverse(); + rtx.write(&packet).await.ok(); + } + } + }; + + executor::run!(task) +} diff --git a/boards/dongle/loopback-nousb11.hex b/boards/dongle/loopback-nousb11.hex new file mode 100644 index 0000000..69cc2d1 --- /dev/null +++ b/boards/dongle/loopback-nousb11.hex @@ -0,0 +1,259 @@ +:1010000000C003207D160000C51D0000C51D0000A6 +:10101000C51D0000C51D0000C51D0000000000002A +:10102000000000000000000000000000C51D0000DE +:10103000C51D000000000000C51D0000C51D00000A +:101040002517000029170000C51D00004D190000DC +:10105000C51D0000C51D0000C51D0000C51D000008 +:10106000C51D0000C51D0000C51D00007D19000044 +:10107000C51D0000C51D0000C51D0000C51D0000E8 +:10108000C51D0000C51D0000C51D0000C51D0000D8 +:10109000C51D0000C51D0000C51D0000C51D0000C8 +:1010A000C51D0000C51D0000C51D0000C51D0000B8 +:1010B000C51D0000C51D000000000000000000006C +:1010C000C51D0000C51D0000C51D0000C51D000098 +:1010D000C51D0000C51D0000C51D0000C51D000088 +:1010E000C51D0000C51D0000C51D0000000000005A +:1010F00000000000C51D000000000000C51D00002C +:041100000B010000DF +:1011040080B56F46017839B1032902D141780129AC +:1011140004D100F0A7FAFEDE002141700649012245 +:101124000978C9B2002908BF032202704270B1FADB +:1011340081F0400980BD00BF06F0032080B56F46F2 +:1011440098B0DFF8E4A40120DAE84F1F002940F04A +:101154005982CAE8410F0029F6D1C448052116ACCA +:101164004FF0000801264FF0030BC0F8FC1007A84D +:1011740000F12601029100F12501019100F1200105 +:10118400049100F12C01069100F1280100F10C09F1 +:10119400059100F1240100208DF830800994CDE9F7 +:1011A40007440391C0B2DFE810F006000302030213 +:1011B40022003B0009008DF834801DE09DF84400B6 +:1011C400DFE810F0AC00F701F601B20007005500AB +:1011D4004F009DF84C00810700F0B080032840F0D8 +:1011E400E8819DF84D00012840F0AA80E1E19DF8D6 +:1011F4003400012800F0DD81DAF8040060B10168F0 +:101204005AE8012F824204D14AE80112002AF3D19C +:1012140018E0BFF32F8FEFE703208DF8340040E18F +:101224009DF84000DFE810F03800C501C4013C001F +:10123400060016009DF84C00810723D0032800F017 +:101244003E81B6E10221C1708DF831600A908DF8BB +:1012540034601BE09DF8540088B1032800F06781D6 +:10126400A7E19DF84800012840F0EF80A1E19DF836 +:10127400500048B1032840F09C81139D74E0DDE9DF +:10128400110152E1119819E1129D6CE08DF8408032 +:10129400CDF8389007980D90ADF844800E980F90D3 +:1012A4000598FFF72DFF10B18DF840B005E04FF41D +:1012B4008070ADF841000120FAE00021022082B2E2 +:1012C400022A01D10420ECE0ADF82C004023ADF853 +:1012D4002E109DF83110D84A002914BF53601360B2 +:1012E400000481F001018DF83110CFD10A9911F871 +:1012F400030F821E51FA82F0D2B2013152083AB180 +:101304000B78013A057801F8015B00F80139F6E73A +:101314008DF84480CDF8389009980D90DDE90D01E1 +:101324000F90ADF8488010910698FFF7E9FE08B1D8 +:101334000320B3E0CDF84C800F9812908DF84D80C7 +:101344009AF803000121C0B2022808BF0321022831 +:101354008DF84C108DF84D1001D104209EE0039DB2 +:101364008DF8508012951395002100208DF8586057 +:10137400012905D0625C013106FA02F21043F7E755 +:1013840008B1B14908609AF8010000F0030001288F +:101394007CD0A0BB02208AF8010000F0FFFCCDE95C +:1013A40016012046022100F055FBA849204600F012 +:1013B4007DFB28689E4900680330C1F8F8009D4809 +:1013C40001464FF48040C1F80003D1F8F80140F41D +:1013D4008010C1F8F8019AF80200C0B201280ED1B9 +:1013E40094488AF802B0466000F0D8FCCDE91601B2 +:1013F4002046022100F02EFB2046954944E000F0EF +:101404005BFCC5B2A5B3012D40D0022D40F0D480C1 +:1014140088484FF000618AF80360C0F8FC12466205 +:1014240000F0BCFCCDE916012046022100F012FBBD +:101434008849204600F03AFB20468DF8586000F0B9 +:10144400ABFB8DF850608DF848809AF80300C0B269 +:1014540001284FF0010008BF03208DF8480001D196 +:1014640006201BE08DF8446010E700BF0C14004018 +:1014740000F01CFC00F092FCCDE91601204602218C +:1014840000F0E8FA7449204600F010FB20468DF87D +:10149400586000F081FB8DF850B005208DF84400B1 +:1014A40005208DF8300000F093FC9DF8300079E6BB +:1014B40000064AD004988DF84C80119012909AF846 +:1014C4000100C0B210B102286AD098E000F0F4FB29 +:1014D4005FFA80FBBBF1000F54D0BBF1010F5FD06A +:1014E400BBF1020F40F07780129851490068006800 +:1014F4000330C1F8F8004F488AF80260066000F033 +:101504004DFCCDE916012046022100F0A3FA4B4917 +:10151400204600F0CBFA01994FF0030B02988DF8A6 +:101524004C608DF8548012911190CDE913019AF812 +:10153400020000F00300DFE800F06202111E052043 +:101544008DF840008DF854B0B7E6394801688DF83D +:1015540040609DF8410080F00100B0E68AF8028006 +:10156400139880F800803348D0F8F803149900F0F9 +:101574000100087001E08AF802808DF854609DF83B +:10158400420095E700F092FB00F008FCCDE916015B +:101594002046022100F05EFA2949204600F086FA2E +:1015A40004204FF0030B8DF840008DF84CB084E616 +:1015B400FEDE00F057F8FEDE00F0F0FB16ACCDE9DD +:1015C40016010021204600F045FA2449204600F087 +:1015D4006DFA28460DE000F0E1FB16ACCDE91601EA +:1015E4000021204600F036FA1649204600F05EFA43 +:1015F4005846214600F07CFB00F0B6FBFEDE00F00E +:1016040073FAFEDEBFF32F8F00F0C8FB07ACCDE901 +:1016140007010021204600F01DFA0449204600F08D +:1016240045FA00F0CEFBFEDE08F003200D000000BA +:101634000C14004008100040080500500F00000082 +:101644000E0000001000000080E100E01100000026 +:101654001200000014000000130000001500000038 +:1016640000F0B0BB80B56F4600F001F8FEDE80B537 +:101674006F4600F08DFBFEDE80B56F461B481D4AA9 +:10168400016841F0807101601948002141600168DE +:1016940011400131016018480121C0F810150160A2 +:1016A40016488160016016481649091A21F00301A1 +:1016B40000F032FC14481549091A21F003021449B8 +:1016C40000F08AFB00F080FB12484FF48A51124C60 +:1016D400124D01600161AC4202D201CC8047FAE7AD +:1016E400FFF7BEFFFFF72AFDFEDE00BFFCED00E0C2 +:1016F400001000E0FEFFFF000800004000B00040C2 +:1017040000F0032010F0032010F0032010F0032059 +:10171400FC1F000008050050F01F0000FC1F000023 +:1017240000F0F6B9F0B503AF2DE9C00B00F036FBBD +:101734006C46CDE900012046042100F08BF979497B +:10174400204600F0B3F9784A906B000605D00020DB +:101754009063D2F80402400406D41068000607D04F +:101764004FF0040810461BE091464FF002081AE0BF +:10177400104650F8481F090602D04FF000080FE049 +:10178400104650F80C1F090602D04FF0010807E07C +:10179400104650F86C1F090600F0C0804FF0030893 +:1017A40091460021016000F0F9FA6E460446CDE945 +:1017B40000010D463046032100F04CF95B493046E8 +:1017C40000F074F928880C22411C6FF31F30225456 +:1017D40030462980564900F069F9DFE808F00372C1 +:1017E4002B482100DDE9000100250A88531C6FF312 +:1017F4001F3285540B8000F0D1FA6C46CDE900010C +:101804002046022100F026F94E49204600F04EF908 +:101814004FF000600421C9F808024648457061E0B1 +:10182400DDE9000104240A88531C6FF31F32845439 +:101834000B8070E0DDE9000102240A883D4D531C51 +:101844006FF31F3284540B806878000666D100F071 +:10185400A5FA6C46CDE900012046022100F0FAF811 +:101864003649204600F022F90120687053E0DDE992 +:101874000012032013885C1C6FF31F33C8542D49D6 +:1018840014804A78D2B2022A48D14FF48042C9F86F +:101894000422D9F8002122F48012C9F800214FF063 +:1018A4000062C9F8082200224A70C87000F076FA73 +:1018B4006C46CDE900012046022100F0CBF81E4918 +:1018C40026E0DDE9000101240A88531C6FF31F326E +:1018D400845418480B804178C9B2012904D00229E4 +:1018E4001CD10221C17016E08178C9B2012915D139 +:1018F4000021C9F86C1041700221817000F04EFA89 +:101904006C46CDE900012046022100F0A3F80C4901 +:10191400204600F0CBF8BDE80C0BF0BD00F0E4F875 +:10192400FEDE00BF020000000011004003000000C2 +:101934000800000008F00320070000000500000074 +:101944000600000004000000DCB504AF00F026FA35 +:101954006C46CDE900012046042100F07BF80449DF +:10196400204600F0A3F8034800210160DCBD00BF5D +:101974000100000018310040DCB504AF2F480168B5 +:10198400C90741D1C16BC90722D000212F4CC163C3 +:101994002D490A88931C013204EA03332C4C23603A +:1019A4000A8091B20C22B1FBF2F202EB4202A1EBEB +:1019B400820103290CD8DFE801F00207020721495C +:1019C4004FF480724A6003E01E494FF480720A604B +:1019D400016CC9071FBF002101644FF40031C0F836 +:1019E4000412416CC9071FBF002141644FF48021D8 +:1019F400C0F80412816CC9071FBF002181644FF431 +:101A04000021C0F80412DCBD00F0C8F96C46CDE931 +:101A140000012046002100F01DF80949204600F08D +:101A240045F808484FF480510160402101604FF4AB +:101A34008071416000F0C5F9FEDE00BF04B10040D2 +:101A4400000000000805005000F0032000F0FF0033 +:101A540040B50040F0B503AF4DF804BD124A12681A +:101A6400D0E90034258892096E1C6FF31F3559554F +:101A740000232680D0E900100488661C42F080050B +:101A84006FF31F34B3EBD21F08BF02F07F05B3EB33 +:101A9400D21F0D554FEAD21534462A460680ECD1A2 +:101AA4005DF804BBF0BD00BF041000E0F0B503AF67 +:101AB4004DF804BD8AB27F2A0AD3D0E9003441F03C +:101AC400800125886E1C6FF31F355955D109268076 +:101AD400D0E9002003885C1C6FF31F33D1540480C9 +:101AE4005DF804BBF0BDD4D4E0B502AF00F056F904 +:101AF4006C46CDE9000120460021FFF7ABFF034906 +:101B04002046FFF7D3FF00F05CF9FEDE0900000079 +:101B1400DCB504AF00F042F96C46CDE90001204683 +:101B24000421FFF797FF0D492046FFF7BFFF0C483C +:101B34000168090611D00021016000F02FF96C46FC +:101B4400CDE9000120460221FFF784FF0549204624 +:101B5400FFF7ACFF044801210170DCBD0A0000005E +:101B6400000100400B00000006F0032007484FF47A +:101B7400803101604FF48051C0F83C124FF4807101 +:101B840003480160034800F007B800BF04B30040F5 +:101B94000C05005000110000D0B502AF0022012353 +:101BA4000021012A05D0845C013203FA04F42143A4 +:101BB400F7E709B101480160D0BD00BF00E100E0D2 +:101BC400F0B503AF4DF804BD1E4C1F4D264604F579 +:101BD400C670864212D06868014655E8010F8842F3 +:101BE40004D145E80162002AF6D102E0BFF32F8F49 +:101BF400F2E746F8841B00F0E9F8E8E713480F2100 +:101C04000123416008210160114981608121C16083 +:101C140010490A6863F302020A6040F202214FF499 +:101C2400822281620C49C162002101630B49425046 +:101C34000B490C4A42500C485DF804BBBDE8F04027 +:101C4400FFF7AABF00C0032008F003200C150040D2 +:101C5400080000066C16004021100100F4FCFFFF90 +:101C6400F8FDFFFF0940040801110000BCB504AFF2 +:101C74004FF080400125056000F090F86C46CDE9F6 +:101C8400000120460221FFF7E5FE05492046FFF743 +:101C94000DFF044805600448BDE8BC40FFF77CBF65 +:101CA4000C0000000403004002110000014801215F +:101CB4000160704704100040BCB504AF0A480468D2 +:101CC40000F06CF86D46CDE9000128460321FFF7CA +:101CD400C1FE06492846FFF7E9FE2046294600F0E2 +:101CE40007F8204602B0B0BD5015004017000000B0 +:101CF400F0B503AF4DF804BD0C460546D1E900012B +:101D04000C260A88531C6FF31F32865420460B801E +:101D14001449FFF7CBFE05F00F010820DFE801F0BE +:101D2400070D0F091521212121110B131600002085 +:101D34000CE003200AE0062008E0012006E002206F +:101D440004E0052002E0072000E00420D4E90012AA +:101D540013885C1C6FF31F33C85414805DF804BBF4 +:101D6400F0BDFEDE16000000E0B502AF00F016F88C +:101D74006C46CDE9000120460021FFF76BFE0349C4 +:101D84002046FFF793FE00F01CF8FEDE180000006A +:101D940080B56F4600F015F8FEDED4D40649054838 +:101DA4000968C9B20029054918BF00F5805018BF59 +:101DB4000231704700D0032004ED00E002F003205C +:101DC400FFBEAABE62B6704772B6704740BF704786 +:101DD40020BF704700F0A3B8042A38BFFFF7FABF4A +:101DE400B0B502AFA2F1040C012303EB9C0313F082 +:101DF40003030ED08E4604465EF8045B012B44F8C0 +:101E0400045B1FD1634620467146BCF10C0F04D21B +:101E140012E01346BCF10C0F0ED30D68103B0560A5 +:101E2400032B4D6845608D688560CD6801F1100114 +:101E3400C56000F11000F0D802F00302BDE8B04024 +:101E4400FFF7C8BF4D68022B456007D1A2F1080314 +:101E540008310830BCF10C0FDFD2EDE78B680C3190 +:101E64008360A2F10C030C30BCF10C0FD5D2E3E774 +:101E74000B4611461A4600F08FB81346D2B2042915 +:101E840038BFFFF7F5BFD0B502AFA1F1040E42EAA7 +:101E94000363012443EA024304EB9E0443EA02235E +:101EA40014F0030410D08446012C4CF8043B10D1E8 +:101EB40074466046BEF10C0F1ED201F00301BDE86A +:101EC400D0406046FFF7D4BF0C46BEF10C0F13D2CE +:101ED400F3E7022C436007D10830A1F108048446DB +:101EE400BEF10C0F08D2E8E783600C30A1F10C04BA +:101EF4008446BEF10C0FE0D3C0E90033103CC0E9C6 +:101F040002331030032CF7D8844601F00301BDE8F6 +:101F1400D0406046FFF7ACBF0022FFF7AEBFF0B57C +:101F240003AF4DF8048DA2B3531E02F0030C032B30 +:101F340014D20022BCF1000F2BD08B5CBCF1010F3A +:101F4400835426D0531CBCF1020FCE5CC65420D05F +:101F54000232895C81545DF8048BF0BDACEB020E57 +:101F640001F10108441C6FF0030208EB0206A518F6 +:101F74000432F378EB7033792B7173796B71B37925 +:101F8400AB710EEB02030433EFD10432BCF1000F4A +:101F9400D3D15DF8048BF0BDD0B502AF12B3531E9C +:101FA40002F0030C032B01D200220FE0ACEB020E73 +:101FB400421C6FF00303D4180433A17161712171C1 +:101FC400E1700EEB03040434F5D11A1DBCF1000FCB +:101FD4001ABF8154BCF1010FD0BD0244BCF1020F01 +:0A1FE400517000D1D0BD9170D0BD46 +:0C1FF000711C0000C51B0000711B0000EC +:040000030000167D66 +:00000001FF diff --git a/boards/dongle/loopback-nousb16.hex b/boards/dongle/loopback-nousb16.hex new file mode 100644 index 0000000..a7595e7 --- /dev/null +++ b/boards/dongle/loopback-nousb16.hex @@ -0,0 +1,259 @@ +:1010000000C003207D160000C51D0000C51D0000A6 +:10101000C51D0000C51D0000C51D0000000000002A +:10102000000000000000000000000000C51D0000DE +:10103000C51D000000000000C51D0000C51D00000A +:101040002517000029170000C51D00004D190000DC +:10105000C51D0000C51D0000C51D0000C51D000008 +:10106000C51D0000C51D0000C51D00007D19000044 +:10107000C51D0000C51D0000C51D0000C51D0000E8 +:10108000C51D0000C51D0000C51D0000C51D0000D8 +:10109000C51D0000C51D0000C51D0000C51D0000C8 +:1010A000C51D0000C51D0000C51D0000C51D0000B8 +:1010B000C51D0000C51D000000000000000000006C +:1010C000C51D0000C51D0000C51D0000C51D000098 +:1010D000C51D0000C51D0000C51D0000C51D000088 +:1010E000C51D0000C51D0000C51D0000000000005A +:1010F00000000000C51D000000000000C51D00002C +:041100000B010000DF +:1011040080B56F46017839B1032902D141780129AC +:1011140004D100F0A7FAFEDE002141700649012245 +:101124000978C9B2002908BF032202704270B1FADB +:1011340081F0400980BD00BF06F0032080B56F46F2 +:1011440098B0DFF8E4A40120DAE84F1F002940F04A +:101154005982CAE8410F0029F6D1C4491E2016ACB1 +:101164004FF0000801264FF0030BC1F8FC0007A85C +:1011740000F12601029100F12501019100F1200105 +:10118400049100F12C01069100F1280100F10C09F1 +:10119400059100F1240100208DF830800994CDE9F7 +:1011A40007440391C0B2DFE810F006000302030213 +:1011B40022003B0009008DF834801DE09DF84400B6 +:1011C400DFE810F0AC00F701F601B20007005500AB +:1011D4004F009DF84C00810700F0B080032840F0D8 +:1011E400E8819DF84D00012840F0AA80E1E19DF8D6 +:1011F4003400012800F0DD81DAF8040060B10168F0 +:101204005AE8012F824204D14AE80112002AF3D19C +:1012140018E0BFF32F8FEFE703208DF8340040E18F +:101224009DF84000DFE810F03800C501C4013C001F +:10123400060016009DF84C00810723D0032800F017 +:101244003E81B6E10221C1708DF831600A908DF8BB +:1012540034601BE09DF8540088B1032800F06781D6 +:10126400A7E19DF84800012840F0EF80A1E19DF836 +:10127400500048B1032840F09C81139D74E0DDE9DF +:10128400110152E1119819E1129D6CE08DF8408032 +:10129400CDF8389007980D90ADF844800E980F90D3 +:1012A4000598FFF72DFF10B18DF840B005E04FF41D +:1012B4008070ADF841000120FAE00021022082B2E2 +:1012C400022A01D10420ECE0ADF82C004023ADF853 +:1012D4002E109DF83110D84A002914BF53601360B2 +:1012E400000481F001018DF83110CFD10A9911F871 +:1012F400030F821E51FA82F0D2B2013152083AB180 +:101304000B78013A057801F8015B00F80139F6E73A +:101314008DF84480CDF8389009980D90DDE90D01E1 +:101324000F90ADF8488010910698FFF7E9FE08B1D8 +:101334000320B3E0CDF84C800F9812908DF84D80C7 +:101344009AF803000121C0B2022808BF0321022831 +:101354008DF84C108DF84D1001D104209EE0039DB2 +:101364008DF8508012951395002100208DF8586057 +:10137400012905D0625C013106FA02F21043F7E755 +:1013840008B1B14908609AF8010000F0030001288F +:101394007CD0A0BB02208AF8010000F0FFFCCDE95C +:1013A40016012046022100F055FBA849204600F012 +:1013B4007DFB28689E4900680330C1F8F8009D4809 +:1013C40001464FF48040C1F80003D1F8F80140F41D +:1013D4008010C1F8F8019AF80200C0B201280ED1B9 +:1013E40094488AF802B0466000F0D8FCCDE91601B2 +:1013F4002046022100F02EFB2046954944E000F0EF +:101404005BFCC5B2A5B3012D40D0022D40F0D480C1 +:1014140088484FF000618AF80360C0F8FC12466205 +:1014240000F0BCFCCDE916012046022100F012FBBD +:101434008849204600F03AFB20468DF8586000F0B9 +:10144400ABFB8DF850608DF848809AF80300C0B269 +:1014540001284FF0010008BF03208DF8480001D196 +:1014640006201BE08DF8446010E700BF0C14004018 +:1014740000F01CFC00F092FCCDE91601204602218C +:1014840000F0E8FA7449204600F010FB20468DF87D +:10149400586000F081FB8DF850B005208DF84400B1 +:1014A40005208DF8300000F093FC9DF8300079E6BB +:1014B40000064AD004988DF84C80119012909AF846 +:1014C4000100C0B210B102286AD098E000F0F4FB29 +:1014D4005FFA80FBBBF1000F54D0BBF1010F5FD06A +:1014E400BBF1020F40F07780129851490068006800 +:1014F4000330C1F8F8004F488AF80260066000F033 +:101504004DFCCDE916012046022100F0A3FA4B4917 +:10151400204600F0CBFA01994FF0030B02988DF8A6 +:101524004C608DF8548012911190CDE913019AF812 +:10153400020000F00300DFE800F06202111E052043 +:101544008DF840008DF854B0B7E6394801688DF83D +:1015540040609DF8410080F00100B0E68AF8028006 +:10156400139880F800803348D0F8F803149900F0F9 +:101574000100087001E08AF802808DF854609DF83B +:10158400420095E700F092FB00F008FCCDE916015B +:101594002046022100F05EFA2949204600F086FA2E +:1015A40004204FF0030B8DF840008DF84CB084E616 +:1015B400FEDE00F057F8FEDE00F0F0FB16ACCDE9DD +:1015C40016010021204600F045FA2449204600F087 +:1015D4006DFA28460DE000F0E1FB16ACCDE91601EA +:1015E4000021204600F036FA1649204600F05EFA43 +:1015F4005846214600F07CFB00F0B6FBFEDE00F00E +:1016040073FAFEDEBFF32F8F00F0C8FB07ACCDE901 +:1016140007010021204600F01DFA0449204600F08D +:1016240045FA00F0CEFBFEDE08F003200D000000BA +:101634000C14004008100040080500500F00000082 +:101644000E0000001000000080E100E01100000026 +:101654001200000014000000130000001500000038 +:1016640000F0B0BB80B56F4600F001F8FEDE80B537 +:101674006F4600F08DFBFEDE80B56F461B481D4AA9 +:10168400016841F0807101601948002141600168DE +:1016940011400131016018480121C0F810150160A2 +:1016A40016488160016016481649091A21F00301A1 +:1016B40000F032FC14481549091A21F003021449B8 +:1016C40000F08AFB00F080FB12484FF48A51124C60 +:1016D400124D01600161AC4202D201CC8047FAE7AD +:1016E400FFF7BEFFFFF72AFDFEDE00BFFCED00E0C2 +:1016F400001000E0FEFFFF000800004000B00040C2 +:1017040000F0032010F0032010F0032010F0032059 +:10171400FC1F000008050050F01F0000FC1F000023 +:1017240000F0F6B9F0B503AF2DE9C00B00F036FBBD +:101734006C46CDE900012046042100F08BF979497B +:10174400204600F0B3F9784A906B000605D00020DB +:101754009063D2F80402400406D41068000607D04F +:101764004FF0040810461BE091464FF002081AE0BF +:10177400104650F8481F090602D04FF000080FE049 +:10178400104650F80C1F090602D04FF0010807E07C +:10179400104650F86C1F090600F0C0804FF0030893 +:1017A40091460021016000F0F9FA6E460446CDE945 +:1017B40000010D463046032100F04CF95B493046E8 +:1017C40000F074F928880C22411C6FF31F30225456 +:1017D40030462980564900F069F9DFE808F00372C1 +:1017E4002B482100DDE9000100250A88531C6FF312 +:1017F4001F3285540B8000F0D1FA6C46CDE900010C +:101804002046022100F026F94E49204600F04EF908 +:101814004FF000600421C9F808024648457061E0B1 +:10182400DDE9000104240A88531C6FF31F32845439 +:101834000B8070E0DDE9000102240A883D4D531C51 +:101844006FF31F3284540B806878000666D100F071 +:10185400A5FA6C46CDE900012046022100F0FAF811 +:101864003649204600F022F90120687053E0DDE992 +:101874000012032013885C1C6FF31F33C8542D49D6 +:1018840014804A78D2B2022A48D14FF48042C9F86F +:101894000422D9F8002122F48012C9F800214FF063 +:1018A4000062C9F8082200224A70C87000F076FA73 +:1018B4006C46CDE900012046022100F0CBF81E4918 +:1018C40026E0DDE9000101240A88531C6FF31F326E +:1018D400845418480B804178C9B2012904D00229E4 +:1018E4001CD10221C17016E08178C9B2012915D139 +:1018F4000021C9F86C1041700221817000F04EFA89 +:101904006C46CDE900012046022100F0A3F80C4901 +:10191400204600F0CBF8BDE80C0BF0BD00F0E4F875 +:10192400FEDE00BF020000000011004003000000C2 +:101934000800000008F00320070000000500000074 +:101944000600000004000000DCB504AF00F026FA35 +:101954006C46CDE900012046042100F07BF80449DF +:10196400204600F0A3F8034800210160DCBD00BF5D +:101974000100000018310040DCB504AF2F480168B5 +:10198400C90741D1C16BC90722D000212F4CC163C3 +:101994002D490A88931C013204EA03332C4C23603A +:1019A4000A8091B20C22B1FBF2F202EB4202A1EBEB +:1019B400820103290CD8DFE801F00207020721495C +:1019C4004FF480724A6003E01E494FF480720A604B +:1019D400016CC9071FBF002101644FF40031C0F836 +:1019E4000412416CC9071FBF002141644FF48021D8 +:1019F400C0F80412816CC9071FBF002181644FF431 +:101A04000021C0F80412DCBD00F0C8F96C46CDE931 +:101A140000012046002100F01DF80949204600F08D +:101A240045F808484FF480510160402101604FF4AB +:101A34008071416000F0C5F9FEDE00BF04B10040D2 +:101A4400000000000805005000F0032000F0FF0033 +:101A540040B50040F0B503AF4DF804BD124A12681A +:101A6400D0E90034258892096E1C6FF31F3559554F +:101A740000232680D0E900100488661C42F080050B +:101A84006FF31F34B3EBD21F08BF02F07F05B3EB33 +:101A9400D21F0D554FEAD21534462A460680ECD1A2 +:101AA4005DF804BBF0BD00BF041000E0F0B503AF67 +:101AB4004DF804BD8AB27F2A0AD3D0E9003441F03C +:101AC400800125886E1C6FF31F355955D109268076 +:101AD400D0E9002003885C1C6FF31F33D1540480C9 +:101AE4005DF804BBF0BDD4D4E0B502AF00F056F904 +:101AF4006C46CDE9000120460021FFF7ABFF034906 +:101B04002046FFF7D3FF00F05CF9FEDE0900000079 +:101B1400DCB504AF00F042F96C46CDE90001204683 +:101B24000421FFF797FF0D492046FFF7BFFF0C483C +:101B34000168090611D00021016000F02FF96C46FC +:101B4400CDE9000120460221FFF784FF0549204624 +:101B5400FFF7ACFF044801210170DCBD0A0000005E +:101B6400000100400B00000006F0032007484FF47A +:101B7400803101604FF48051C0F83C124FF4807101 +:101B840003480160034800F007B800BF04B30040F5 +:101B94000C05005000110000D0B502AF0022012353 +:101BA4000021012A05D0845C013203FA04F42143A4 +:101BB400F7E709B101480160D0BD00BF00E100E0D2 +:101BC400F0B503AF4DF804BD1E4C1F4D264604F579 +:101BD400C670864212D06868014655E8010F8842F3 +:101BE40004D145E80162002AF6D102E0BFF32F8F49 +:101BF400F2E746F8841B00F0E9F8E8E713480F2100 +:101C04000123416008210160114981608121C16083 +:101C140010490A6863F302020A6040F202214FF499 +:101C2400822281620C49C162002101630B49425046 +:101C34000B490C4A42500C485DF804BBBDE8F04027 +:101C4400FFF7AABF00C0032008F003200C150040D2 +:101C5400080000066C16004021100100F4FCFFFF90 +:101C6400F8FDFFFF0940040801110000BCB504AFF2 +:101C74004FF080400125056000F090F86C46CDE9F6 +:101C8400000120460221FFF7E5FE05492046FFF743 +:101C94000DFF044805600448BDE8BC40FFF77CBF65 +:101CA4000C0000000403004002110000014801215F +:101CB4000160704704100040BCB504AF0A480468D2 +:101CC40000F06CF86D46CDE9000128460321FFF7CA +:101CD400C1FE06492846FFF7E9FE2046294600F0E2 +:101CE40007F8204602B0B0BD5015004017000000B0 +:101CF400F0B503AF4DF804BD0C460546D1E900012B +:101D04000C260A88531C6FF31F32865420460B801E +:101D14001449FFF7CBFE05F00F010820DFE801F0BE +:101D2400070D0F091521212121110B131600002085 +:101D34000CE003200AE0062008E0012006E002206F +:101D440004E0052002E0072000E00420D4E90012AA +:101D540013885C1C6FF31F33C85414805DF804BBF4 +:101D6400F0BDFEDE16000000E0B502AF00F016F88C +:101D74006C46CDE9000120460021FFF76BFE0349C4 +:101D84002046FFF793FE00F01CF8FEDE180000006A +:101D940080B56F4600F015F8FEDED4D40649054838 +:101DA4000968C9B20029054918BF00F5805018BF59 +:101DB4000231704700D0032004ED00E002F003205C +:101DC400FFBEAABE62B6704772B6704740BF704786 +:101DD40020BF704700F0A3B8042A38BFFFF7FABF4A +:101DE400B0B502AFA2F1040C012303EB9C0313F082 +:101DF40003030ED08E4604465EF8045B012B44F8C0 +:101E0400045B1FD1634620467146BCF10C0F04D21B +:101E140012E01346BCF10C0F0ED30D68103B0560A5 +:101E2400032B4D6845608D688560CD6801F1100114 +:101E3400C56000F11000F0D802F00302BDE8B04024 +:101E4400FFF7C8BF4D68022B456007D1A2F1080314 +:101E540008310830BCF10C0FDFD2EDE78B680C3190 +:101E64008360A2F10C030C30BCF10C0FD5D2E3E774 +:101E74000B4611461A4600F08FB81346D2B2042915 +:101E840038BFFFF7F5BFD0B502AFA1F1040E42EAA7 +:101E94000363012443EA024304EB9E0443EA02235E +:101EA40014F0030410D08446012C4CF8043B10D1E8 +:101EB40074466046BEF10C0F1ED201F00301BDE86A +:101EC400D0406046FFF7D4BF0C46BEF10C0F13D2CE +:101ED400F3E7022C436007D10830A1F108048446DB +:101EE400BEF10C0F08D2E8E783600C30A1F10C04BA +:101EF4008446BEF10C0FE0D3C0E90033103CC0E9C6 +:101F040002331030032CF7D8844601F00301BDE8F6 +:101F1400D0406046FFF7ACBF0022FFF7AEBFF0B57C +:101F240003AF4DF8048DA2B3531E02F0030C032B30 +:101F340014D20022BCF1000F2BD08B5CBCF1010F3A +:101F4400835426D0531CBCF1020FCE5CC65420D05F +:101F54000232895C81545DF8048BF0BDACEB020E57 +:101F640001F10108441C6FF0030208EB0206A518F6 +:101F74000432F378EB7033792B7173796B71B37925 +:101F8400AB710EEB02030433EFD10432BCF1000F4A +:101F9400D3D15DF8048BF0BDD0B502AF12B3531E9C +:101FA40002F0030C032B01D200220FE0ACEB020E73 +:101FB400421C6FF00303D4180433A17161712171C1 +:101FC400E1700EEB03040434F5D11A1DBCF1000FCB +:101FD4001ABF8154BCF1010FD0BD0244BCF1020F01 +:0A1FE400517000D1D0BD9170D0BD46 +:0C1FF000711C0000C51B0000711B0000EC +:040000030000167D66 +:00000001FF diff --git a/boards/dongle/loopback-nousb21.hex b/boards/dongle/loopback-nousb21.hex new file mode 100644 index 0000000..a3e1fb5 --- /dev/null +++ b/boards/dongle/loopback-nousb21.hex @@ -0,0 +1,259 @@ +:1010000000C003207D160000C51D0000C51D0000A6 +:10101000C51D0000C51D0000C51D0000000000002A +:10102000000000000000000000000000C51D0000DE +:10103000C51D000000000000C51D0000C51D00000A +:101040002517000029170000C51D00004D190000DC +:10105000C51D0000C51D0000C51D0000C51D000008 +:10106000C51D0000C51D0000C51D00007D19000044 +:10107000C51D0000C51D0000C51D0000C51D0000E8 +:10108000C51D0000C51D0000C51D0000C51D0000D8 +:10109000C51D0000C51D0000C51D0000C51D0000C8 +:1010A000C51D0000C51D0000C51D0000C51D0000B8 +:1010B000C51D0000C51D000000000000000000006C +:1010C000C51D0000C51D0000C51D0000C51D000098 +:1010D000C51D0000C51D0000C51D0000C51D000088 +:1010E000C51D0000C51D0000C51D0000000000005A +:1010F00000000000C51D000000000000C51D00002C +:041100000B010000DF +:1011040080B56F46017839B1032902D141780129AC +:1011140004D100F0A7FAFEDE002141700649012245 +:101124000978C9B2002908BF032202704270B1FADB +:1011340081F0400980BD00BF06F0032080B56F46F2 +:1011440098B0DFF8E4A40120DAE84F1F002940F04A +:101154005982CAE8410F0029F6D1C449372016AC98 +:101164004FF0000801264FF0030BC1F8FC0007A85C +:1011740000F12601029100F12501019100F1200105 +:10118400049100F12C01069100F1280100F10C09F1 +:10119400059100F1240100208DF830800994CDE9F7 +:1011A40007440391C0B2DFE810F006000302030213 +:1011B40022003B0009008DF834801DE09DF84400B6 +:1011C400DFE810F0AC00F701F601B20007005500AB +:1011D4004F009DF84C00810700F0B080032840F0D8 +:1011E400E8819DF84D00012840F0AA80E1E19DF8D6 +:1011F4003400012800F0DD81DAF8040060B10168F0 +:101204005AE8012F824204D14AE80112002AF3D19C +:1012140018E0BFF32F8FEFE703208DF8340040E18F +:101224009DF84000DFE810F03800C501C4013C001F +:10123400060016009DF84C00810723D0032800F017 +:101244003E81B6E10221C1708DF831600A908DF8BB +:1012540034601BE09DF8540088B1032800F06781D6 +:10126400A7E19DF84800012840F0EF80A1E19DF836 +:10127400500048B1032840F09C81139D74E0DDE9DF +:10128400110152E1119819E1129D6CE08DF8408032 +:10129400CDF8389007980D90ADF844800E980F90D3 +:1012A4000598FFF72DFF10B18DF840B005E04FF41D +:1012B4008070ADF841000120FAE00021022082B2E2 +:1012C400022A01D10420ECE0ADF82C004023ADF853 +:1012D4002E109DF83110D84A002914BF53601360B2 +:1012E400000481F001018DF83110CFD10A9911F871 +:1012F400030F821E51FA82F0D2B2013152083AB180 +:101304000B78013A057801F8015B00F80139F6E73A +:101314008DF84480CDF8389009980D90DDE90D01E1 +:101324000F90ADF8488010910698FFF7E9FE08B1D8 +:101334000320B3E0CDF84C800F9812908DF84D80C7 +:101344009AF803000121C0B2022808BF0321022831 +:101354008DF84C108DF84D1001D104209EE0039DB2 +:101364008DF8508012951395002100208DF8586057 +:10137400012905D0625C013106FA02F21043F7E755 +:1013840008B1B14908609AF8010000F0030001288F +:101394007CD0A0BB02208AF8010000F0FFFCCDE95C +:1013A40016012046022100F055FBA849204600F012 +:1013B4007DFB28689E4900680330C1F8F8009D4809 +:1013C40001464FF48040C1F80003D1F8F80140F41D +:1013D4008010C1F8F8019AF80200C0B201280ED1B9 +:1013E40094488AF802B0466000F0D8FCCDE91601B2 +:1013F4002046022100F02EFB2046954944E000F0EF +:101404005BFCC5B2A5B3012D40D0022D40F0D480C1 +:1014140088484FF000618AF80360C0F8FC12466205 +:1014240000F0BCFCCDE916012046022100F012FBBD +:101434008849204600F03AFB20468DF8586000F0B9 +:10144400ABFB8DF850608DF848809AF80300C0B269 +:1014540001284FF0010008BF03208DF8480001D196 +:1014640006201BE08DF8446010E700BF0C14004018 +:1014740000F01CFC00F092FCCDE91601204602218C +:1014840000F0E8FA7449204600F010FB20468DF87D +:10149400586000F081FB8DF850B005208DF84400B1 +:1014A40005208DF8300000F093FC9DF8300079E6BB +:1014B40000064AD004988DF84C80119012909AF846 +:1014C4000100C0B210B102286AD098E000F0F4FB29 +:1014D4005FFA80FBBBF1000F54D0BBF1010F5FD06A +:1014E400BBF1020F40F07780129851490068006800 +:1014F4000330C1F8F8004F488AF80260066000F033 +:101504004DFCCDE916012046022100F0A3FA4B4917 +:10151400204600F0CBFA01994FF0030B02988DF8A6 +:101524004C608DF8548012911190CDE913019AF812 +:10153400020000F00300DFE800F06202111E052043 +:101544008DF840008DF854B0B7E6394801688DF83D +:1015540040609DF8410080F00100B0E68AF8028006 +:10156400139880F800803348D0F8F803149900F0F9 +:101574000100087001E08AF802808DF854609DF83B +:10158400420095E700F092FB00F008FCCDE916015B +:101594002046022100F05EFA2949204600F086FA2E +:1015A40004204FF0030B8DF840008DF84CB084E616 +:1015B400FEDE00F057F8FEDE00F0F0FB16ACCDE9DD +:1015C40016010021204600F045FA2449204600F087 +:1015D4006DFA28460DE000F0E1FB16ACCDE91601EA +:1015E4000021204600F036FA1649204600F05EFA43 +:1015F4005846214600F07CFB00F0B6FBFEDE00F00E +:1016040073FAFEDEBFF32F8F00F0C8FB07ACCDE901 +:1016140007010021204600F01DFA0449204600F08D +:1016240045FA00F0CEFBFEDE08F003200D000000BA +:101634000C14004008100040080500500F00000082 +:101644000E0000001000000080E100E01100000026 +:101654001200000014000000130000001500000038 +:1016640000F0B0BB80B56F4600F001F8FEDE80B537 +:101674006F4600F08DFBFEDE80B56F461B481D4AA9 +:10168400016841F0807101601948002141600168DE +:1016940011400131016018480121C0F810150160A2 +:1016A40016488160016016481649091A21F00301A1 +:1016B40000F032FC14481549091A21F003021449B8 +:1016C40000F08AFB00F080FB12484FF48A51124C60 +:1016D400124D01600161AC4202D201CC8047FAE7AD +:1016E400FFF7BEFFFFF72AFDFEDE00BFFCED00E0C2 +:1016F400001000E0FEFFFF000800004000B00040C2 +:1017040000F0032010F0032010F0032010F0032059 +:10171400FC1F000008050050F01F0000FC1F000023 +:1017240000F0F6B9F0B503AF2DE9C00B00F036FBBD +:101734006C46CDE900012046042100F08BF979497B +:10174400204600F0B3F9784A906B000605D00020DB +:101754009063D2F80402400406D41068000607D04F +:101764004FF0040810461BE091464FF002081AE0BF +:10177400104650F8481F090602D04FF000080FE049 +:10178400104650F80C1F090602D04FF0010807E07C +:10179400104650F86C1F090600F0C0804FF0030893 +:1017A40091460021016000F0F9FA6E460446CDE945 +:1017B40000010D463046032100F04CF95B493046E8 +:1017C40000F074F928880C22411C6FF31F30225456 +:1017D40030462980564900F069F9DFE808F00372C1 +:1017E4002B482100DDE9000100250A88531C6FF312 +:1017F4001F3285540B8000F0D1FA6C46CDE900010C +:101804002046022100F026F94E49204600F04EF908 +:101814004FF000600421C9F808024648457061E0B1 +:10182400DDE9000104240A88531C6FF31F32845439 +:101834000B8070E0DDE9000102240A883D4D531C51 +:101844006FF31F3284540B806878000666D100F071 +:10185400A5FA6C46CDE900012046022100F0FAF811 +:101864003649204600F022F90120687053E0DDE992 +:101874000012032013885C1C6FF31F33C8542D49D6 +:1018840014804A78D2B2022A48D14FF48042C9F86F +:101894000422D9F8002122F48012C9F800214FF063 +:1018A4000062C9F8082200224A70C87000F076FA73 +:1018B4006C46CDE900012046022100F0CBF81E4918 +:1018C40026E0DDE9000101240A88531C6FF31F326E +:1018D400845418480B804178C9B2012904D00229E4 +:1018E4001CD10221C17016E08178C9B2012915D139 +:1018F4000021C9F86C1041700221817000F04EFA89 +:101904006C46CDE900012046022100F0A3F80C4901 +:10191400204600F0CBF8BDE80C0BF0BD00F0E4F875 +:10192400FEDE00BF020000000011004003000000C2 +:101934000800000008F00320070000000500000074 +:101944000600000004000000DCB504AF00F026FA35 +:101954006C46CDE900012046042100F07BF80449DF +:10196400204600F0A3F8034800210160DCBD00BF5D +:101974000100000018310040DCB504AF2F480168B5 +:10198400C90741D1C16BC90722D000212F4CC163C3 +:101994002D490A88931C013204EA03332C4C23603A +:1019A4000A8091B20C22B1FBF2F202EB4202A1EBEB +:1019B400820103290CD8DFE801F00207020721495C +:1019C4004FF480724A6003E01E494FF480720A604B +:1019D400016CC9071FBF002101644FF40031C0F836 +:1019E4000412416CC9071FBF002141644FF48021D8 +:1019F400C0F80412816CC9071FBF002181644FF431 +:101A04000021C0F80412DCBD00F0C8F96C46CDE931 +:101A140000012046002100F01DF80949204600F08D +:101A240045F808484FF480510160402101604FF4AB +:101A34008071416000F0C5F9FEDE00BF04B10040D2 +:101A4400000000000805005000F0032000F0FF0033 +:101A540040B50040F0B503AF4DF804BD124A12681A +:101A6400D0E90034258892096E1C6FF31F3559554F +:101A740000232680D0E900100488661C42F080050B +:101A84006FF31F34B3EBD21F08BF02F07F05B3EB33 +:101A9400D21F0D554FEAD21534462A460680ECD1A2 +:101AA4005DF804BBF0BD00BF041000E0F0B503AF67 +:101AB4004DF804BD8AB27F2A0AD3D0E9003441F03C +:101AC400800125886E1C6FF31F355955D109268076 +:101AD400D0E9002003885C1C6FF31F33D1540480C9 +:101AE4005DF804BBF0BDD4D4E0B502AF00F056F904 +:101AF4006C46CDE9000120460021FFF7ABFF034906 +:101B04002046FFF7D3FF00F05CF9FEDE0900000079 +:101B1400DCB504AF00F042F96C46CDE90001204683 +:101B24000421FFF797FF0D492046FFF7BFFF0C483C +:101B34000168090611D00021016000F02FF96C46FC +:101B4400CDE9000120460221FFF784FF0549204624 +:101B5400FFF7ACFF044801210170DCBD0A0000005E +:101B6400000100400B00000006F0032007484FF47A +:101B7400803101604FF48051C0F83C124FF4807101 +:101B840003480160034800F007B800BF04B30040F5 +:101B94000C05005000110000D0B502AF0022012353 +:101BA4000021012A05D0845C013203FA04F42143A4 +:101BB400F7E709B101480160D0BD00BF00E100E0D2 +:101BC400F0B503AF4DF804BD1E4C1F4D264604F579 +:101BD400C670864212D06868014655E8010F8842F3 +:101BE40004D145E80162002AF6D102E0BFF32F8F49 +:101BF400F2E746F8841B00F0E9F8E8E713480F2100 +:101C04000123416008210160114981608121C16083 +:101C140010490A6863F302020A6040F202214FF499 +:101C2400822281620C49C162002101630B49425046 +:101C34000B490C4A42500C485DF804BBBDE8F04027 +:101C4400FFF7AABF00C0032008F003200C150040D2 +:101C5400080000066C16004021100100F4FCFFFF90 +:101C6400F8FDFFFF0940040801110000BCB504AFF2 +:101C74004FF080400125056000F090F86C46CDE9F6 +:101C8400000120460221FFF7E5FE05492046FFF743 +:101C94000DFF044805600448BDE8BC40FFF77CBF65 +:101CA4000C0000000403004002110000014801215F +:101CB4000160704704100040BCB504AF0A480468D2 +:101CC40000F06CF86D46CDE9000128460321FFF7CA +:101CD400C1FE06492846FFF7E9FE2046294600F0E2 +:101CE40007F8204602B0B0BD5015004017000000B0 +:101CF400F0B503AF4DF804BD0C460546D1E900012B +:101D04000C260A88531C6FF31F32865420460B801E +:101D14001449FFF7CBFE05F00F010820DFE801F0BE +:101D2400070D0F091521212121110B131600002085 +:101D34000CE003200AE0062008E0012006E002206F +:101D440004E0052002E0072000E00420D4E90012AA +:101D540013885C1C6FF31F33C85414805DF804BBF4 +:101D6400F0BDFEDE16000000E0B502AF00F016F88C +:101D74006C46CDE9000120460021FFF76BFE0349C4 +:101D84002046FFF793FE00F01CF8FEDE180000006A +:101D940080B56F4600F015F8FEDED4D40649054838 +:101DA4000968C9B20029054918BF00F5805018BF59 +:101DB4000231704700D0032004ED00E002F003205C +:101DC400FFBEAABE62B6704772B6704740BF704786 +:101DD40020BF704700F0A3B8042A38BFFFF7FABF4A +:101DE400B0B502AFA2F1040C012303EB9C0313F082 +:101DF40003030ED08E4604465EF8045B012B44F8C0 +:101E0400045B1FD1634620467146BCF10C0F04D21B +:101E140012E01346BCF10C0F0ED30D68103B0560A5 +:101E2400032B4D6845608D688560CD6801F1100114 +:101E3400C56000F11000F0D802F00302BDE8B04024 +:101E4400FFF7C8BF4D68022B456007D1A2F1080314 +:101E540008310830BCF10C0FDFD2EDE78B680C3190 +:101E64008360A2F10C030C30BCF10C0FD5D2E3E774 +:101E74000B4611461A4600F08FB81346D2B2042915 +:101E840038BFFFF7F5BFD0B502AFA1F1040E42EAA7 +:101E94000363012443EA024304EB9E0443EA02235E +:101EA40014F0030410D08446012C4CF8043B10D1E8 +:101EB40074466046BEF10C0F1ED201F00301BDE86A +:101EC400D0406046FFF7D4BF0C46BEF10C0F13D2CE +:101ED400F3E7022C436007D10830A1F108048446DB +:101EE400BEF10C0F08D2E8E783600C30A1F10C04BA +:101EF4008446BEF10C0FE0D3C0E90033103CC0E9C6 +:101F040002331030032CF7D8844601F00301BDE8F6 +:101F1400D0406046FFF7ACBF0022FFF7AEBFF0B57C +:101F240003AF4DF8048DA2B3531E02F0030C032B30 +:101F340014D20022BCF1000F2BD08B5CBCF1010F3A +:101F4400835426D0531CBCF1020FCE5CC65420D05F +:101F54000232895C81545DF8048BF0BDACEB020E57 +:101F640001F10108441C6FF0030208EB0206A518F6 +:101F74000432F378EB7033792B7173796B71B37925 +:101F8400AB710EEB02030433EFD10432BCF1000F4A +:101F9400D3D15DF8048BF0BDD0B502AF12B3531E9C +:101FA40002F0030C032B01D200220FE0ACEB020E73 +:101FB400421C6FF00303D4180433A17161712171C1 +:101FC400E1700EEB03040434F5D11A1DBCF1000FCB +:101FD4001ABF8154BCF1010FD0BD0244BCF1020F01 +:0A1FE400517000D1D0BD9170D0BD46 +:0C1FF000711C0000C51B0000711B0000EC +:040000030000167D66 +:00000001FF diff --git a/boards/dongle/loopback-nousb26.hex b/boards/dongle/loopback-nousb26.hex new file mode 100644 index 0000000..a262869 --- /dev/null +++ b/boards/dongle/loopback-nousb26.hex @@ -0,0 +1,259 @@ +:1010000000C003207D160000C51D0000C51D0000A6 +:10101000C51D0000C51D0000C51D0000000000002A +:10102000000000000000000000000000C51D0000DE +:10103000C51D000000000000C51D0000C51D00000A +:101040002517000029170000C51D00004D190000DC +:10105000C51D0000C51D0000C51D0000C51D000008 +:10106000C51D0000C51D0000C51D00007D19000044 +:10107000C51D0000C51D0000C51D0000C51D0000E8 +:10108000C51D0000C51D0000C51D0000C51D0000D8 +:10109000C51D0000C51D0000C51D0000C51D0000C8 +:1010A000C51D0000C51D0000C51D0000C51D0000B8 +:1010B000C51D0000C51D000000000000000000006C +:1010C000C51D0000C51D0000C51D0000C51D000098 +:1010D000C51D0000C51D0000C51D0000C51D000088 +:1010E000C51D0000C51D0000C51D0000000000005A +:1010F00000000000C51D000000000000C51D00002C +:041100000B010000DF +:1011040080B56F46017839B1032902D141780129AC +:1011140004D100F0A7FAFEDE002141700649012245 +:101124000978C9B2002908BF032202704270B1FADB +:1011340081F0400980BD00BF06F0032080B56F46F2 +:1011440098B0DFF8E4A40120DAE84F1F002940F04A +:101154005982CAE8410F0029F6D1C449502016AC7F +:101164004FF0000801264FF0030BC1F8FC0007A85C +:1011740000F12601029100F12501019100F1200105 +:10118400049100F12C01069100F1280100F10C09F1 +:10119400059100F1240100208DF830800994CDE9F7 +:1011A40007440391C0B2DFE810F006000302030213 +:1011B40022003B0009008DF834801DE09DF84400B6 +:1011C400DFE810F0AC00F701F601B20007005500AB +:1011D4004F009DF84C00810700F0B080032840F0D8 +:1011E400E8819DF84D00012840F0AA80E1E19DF8D6 +:1011F4003400012800F0DD81DAF8040060B10168F0 +:101204005AE8012F824204D14AE80112002AF3D19C +:1012140018E0BFF32F8FEFE703208DF8340040E18F +:101224009DF84000DFE810F03800C501C4013C001F +:10123400060016009DF84C00810723D0032800F017 +:101244003E81B6E10221C1708DF831600A908DF8BB +:1012540034601BE09DF8540088B1032800F06781D6 +:10126400A7E19DF84800012840F0EF80A1E19DF836 +:10127400500048B1032840F09C81139D74E0DDE9DF +:10128400110152E1119819E1129D6CE08DF8408032 +:10129400CDF8389007980D90ADF844800E980F90D3 +:1012A4000598FFF72DFF10B18DF840B005E04FF41D +:1012B4008070ADF841000120FAE00021022082B2E2 +:1012C400022A01D10420ECE0ADF82C004023ADF853 +:1012D4002E109DF83110D84A002914BF53601360B2 +:1012E400000481F001018DF83110CFD10A9911F871 +:1012F400030F821E51FA82F0D2B2013152083AB180 +:101304000B78013A057801F8015B00F80139F6E73A +:101314008DF84480CDF8389009980D90DDE90D01E1 +:101324000F90ADF8488010910698FFF7E9FE08B1D8 +:101334000320B3E0CDF84C800F9812908DF84D80C7 +:101344009AF803000121C0B2022808BF0321022831 +:101354008DF84C108DF84D1001D104209EE0039DB2 +:101364008DF8508012951395002100208DF8586057 +:10137400012905D0625C013106FA02F21043F7E755 +:1013840008B1B14908609AF8010000F0030001288F +:101394007CD0A0BB02208AF8010000F0FFFCCDE95C +:1013A40016012046022100F055FBA849204600F012 +:1013B4007DFB28689E4900680330C1F8F8009D4809 +:1013C40001464FF48040C1F80003D1F8F80140F41D +:1013D4008010C1F8F8019AF80200C0B201280ED1B9 +:1013E40094488AF802B0466000F0D8FCCDE91601B2 +:1013F4002046022100F02EFB2046954944E000F0EF +:101404005BFCC5B2A5B3012D40D0022D40F0D480C1 +:1014140088484FF000618AF80360C0F8FC12466205 +:1014240000F0BCFCCDE916012046022100F012FBBD +:101434008849204600F03AFB20468DF8586000F0B9 +:10144400ABFB8DF850608DF848809AF80300C0B269 +:1014540001284FF0010008BF03208DF8480001D196 +:1014640006201BE08DF8446010E700BF0C14004018 +:1014740000F01CFC00F092FCCDE91601204602218C +:1014840000F0E8FA7449204600F010FB20468DF87D +:10149400586000F081FB8DF850B005208DF84400B1 +:1014A40005208DF8300000F093FC9DF8300079E6BB +:1014B40000064AD004988DF84C80119012909AF846 +:1014C4000100C0B210B102286AD098E000F0F4FB29 +:1014D4005FFA80FBBBF1000F54D0BBF1010F5FD06A +:1014E400BBF1020F40F07780129851490068006800 +:1014F4000330C1F8F8004F488AF80260066000F033 +:101504004DFCCDE916012046022100F0A3FA4B4917 +:10151400204600F0CBFA01994FF0030B02988DF8A6 +:101524004C608DF8548012911190CDE913019AF812 +:10153400020000F00300DFE800F06202111E052043 +:101544008DF840008DF854B0B7E6394801688DF83D +:1015540040609DF8410080F00100B0E68AF8028006 +:10156400139880F800803348D0F8F803149900F0F9 +:101574000100087001E08AF802808DF854609DF83B +:10158400420095E700F092FB00F008FCCDE916015B +:101594002046022100F05EFA2949204600F086FA2E +:1015A40004204FF0030B8DF840008DF84CB084E616 +:1015B400FEDE00F057F8FEDE00F0F0FB16ACCDE9DD +:1015C40016010021204600F045FA2449204600F087 +:1015D4006DFA28460DE000F0E1FB16ACCDE91601EA +:1015E4000021204600F036FA1649204600F05EFA43 +:1015F4005846214600F07CFB00F0B6FBFEDE00F00E +:1016040073FAFEDEBFF32F8F00F0C8FB07ACCDE901 +:1016140007010021204600F01DFA0449204600F08D +:1016240045FA00F0CEFBFEDE08F003200D000000BA +:101634000C14004008100040080500500F00000082 +:101644000E0000001000000080E100E01100000026 +:101654001200000014000000130000001500000038 +:1016640000F0B0BB80B56F4600F001F8FEDE80B537 +:101674006F4600F08DFBFEDE80B56F461B481D4AA9 +:10168400016841F0807101601948002141600168DE +:1016940011400131016018480121C0F810150160A2 +:1016A40016488160016016481649091A21F00301A1 +:1016B40000F032FC14481549091A21F003021449B8 +:1016C40000F08AFB00F080FB12484FF48A51124C60 +:1016D400124D01600161AC4202D201CC8047FAE7AD +:1016E400FFF7BEFFFFF72AFDFEDE00BFFCED00E0C2 +:1016F400001000E0FEFFFF000800004000B00040C2 +:1017040000F0032010F0032010F0032010F0032059 +:10171400FC1F000008050050F01F0000FC1F000023 +:1017240000F0F6B9F0B503AF2DE9C00B00F036FBBD +:101734006C46CDE900012046042100F08BF979497B +:10174400204600F0B3F9784A906B000605D00020DB +:101754009063D2F80402400406D41068000607D04F +:101764004FF0040810461BE091464FF002081AE0BF +:10177400104650F8481F090602D04FF000080FE049 +:10178400104650F80C1F090602D04FF0010807E07C +:10179400104650F86C1F090600F0C0804FF0030893 +:1017A40091460021016000F0F9FA6E460446CDE945 +:1017B40000010D463046032100F04CF95B493046E8 +:1017C40000F074F928880C22411C6FF31F30225456 +:1017D40030462980564900F069F9DFE808F00372C1 +:1017E4002B482100DDE9000100250A88531C6FF312 +:1017F4001F3285540B8000F0D1FA6C46CDE900010C +:101804002046022100F026F94E49204600F04EF908 +:101814004FF000600421C9F808024648457061E0B1 +:10182400DDE9000104240A88531C6FF31F32845439 +:101834000B8070E0DDE9000102240A883D4D531C51 +:101844006FF31F3284540B806878000666D100F071 +:10185400A5FA6C46CDE900012046022100F0FAF811 +:101864003649204600F022F90120687053E0DDE992 +:101874000012032013885C1C6FF31F33C8542D49D6 +:1018840014804A78D2B2022A48D14FF48042C9F86F +:101894000422D9F8002122F48012C9F800214FF063 +:1018A4000062C9F8082200224A70C87000F076FA73 +:1018B4006C46CDE900012046022100F0CBF81E4918 +:1018C40026E0DDE9000101240A88531C6FF31F326E +:1018D400845418480B804178C9B2012904D00229E4 +:1018E4001CD10221C17016E08178C9B2012915D139 +:1018F4000021C9F86C1041700221817000F04EFA89 +:101904006C46CDE900012046022100F0A3F80C4901 +:10191400204600F0CBF8BDE80C0BF0BD00F0E4F875 +:10192400FEDE00BF020000000011004003000000C2 +:101934000800000008F00320070000000500000074 +:101944000600000004000000DCB504AF00F026FA35 +:101954006C46CDE900012046042100F07BF80449DF +:10196400204600F0A3F8034800210160DCBD00BF5D +:101974000100000018310040DCB504AF2F480168B5 +:10198400C90741D1C16BC90722D000212F4CC163C3 +:101994002D490A88931C013204EA03332C4C23603A +:1019A4000A8091B20C22B1FBF2F202EB4202A1EBEB +:1019B400820103290CD8DFE801F00207020721495C +:1019C4004FF480724A6003E01E494FF480720A604B +:1019D400016CC9071FBF002101644FF40031C0F836 +:1019E4000412416CC9071FBF002141644FF48021D8 +:1019F400C0F80412816CC9071FBF002181644FF431 +:101A04000021C0F80412DCBD00F0C8F96C46CDE931 +:101A140000012046002100F01DF80949204600F08D +:101A240045F808484FF480510160402101604FF4AB +:101A34008071416000F0C5F9FEDE00BF04B10040D2 +:101A4400000000000805005000F0032000F0FF0033 +:101A540040B50040F0B503AF4DF804BD124A12681A +:101A6400D0E90034258892096E1C6FF31F3559554F +:101A740000232680D0E900100488661C42F080050B +:101A84006FF31F34B3EBD21F08BF02F07F05B3EB33 +:101A9400D21F0D554FEAD21534462A460680ECD1A2 +:101AA4005DF804BBF0BD00BF041000E0F0B503AF67 +:101AB4004DF804BD8AB27F2A0AD3D0E9003441F03C +:101AC400800125886E1C6FF31F355955D109268076 +:101AD400D0E9002003885C1C6FF31F33D1540480C9 +:101AE4005DF804BBF0BDD4D4E0B502AF00F056F904 +:101AF4006C46CDE9000120460021FFF7ABFF034906 +:101B04002046FFF7D3FF00F05CF9FEDE0900000079 +:101B1400DCB504AF00F042F96C46CDE90001204683 +:101B24000421FFF797FF0D492046FFF7BFFF0C483C +:101B34000168090611D00021016000F02FF96C46FC +:101B4400CDE9000120460221FFF784FF0549204624 +:101B5400FFF7ACFF044801210170DCBD0A0000005E +:101B6400000100400B00000006F0032007484FF47A +:101B7400803101604FF48051C0F83C124FF4807101 +:101B840003480160034800F007B800BF04B30040F5 +:101B94000C05005000110000D0B502AF0022012353 +:101BA4000021012A05D0845C013203FA04F42143A4 +:101BB400F7E709B101480160D0BD00BF00E100E0D2 +:101BC400F0B503AF4DF804BD1E4C1F4D264604F579 +:101BD400C670864212D06868014655E8010F8842F3 +:101BE40004D145E80162002AF6D102E0BFF32F8F49 +:101BF400F2E746F8841B00F0E9F8E8E713480F2100 +:101C04000123416008210160114981608121C16083 +:101C140010490A6863F302020A6040F202214FF499 +:101C2400822281620C49C162002101630B49425046 +:101C34000B490C4A42500C485DF804BBBDE8F04027 +:101C4400FFF7AABF00C0032008F003200C150040D2 +:101C5400080000066C16004021100100F4FCFFFF90 +:101C6400F8FDFFFF0940040801110000BCB504AFF2 +:101C74004FF080400125056000F090F86C46CDE9F6 +:101C8400000120460221FFF7E5FE05492046FFF743 +:101C94000DFF044805600448BDE8BC40FFF77CBF65 +:101CA4000C0000000403004002110000014801215F +:101CB4000160704704100040BCB504AF0A480468D2 +:101CC40000F06CF86D46CDE9000128460321FFF7CA +:101CD400C1FE06492846FFF7E9FE2046294600F0E2 +:101CE40007F8204602B0B0BD5015004017000000B0 +:101CF400F0B503AF4DF804BD0C460546D1E900012B +:101D04000C260A88531C6FF31F32865420460B801E +:101D14001449FFF7CBFE05F00F010820DFE801F0BE +:101D2400070D0F091521212121110B131600002085 +:101D34000CE003200AE0062008E0012006E002206F +:101D440004E0052002E0072000E00420D4E90012AA +:101D540013885C1C6FF31F33C85414805DF804BBF4 +:101D6400F0BDFEDE16000000E0B502AF00F016F88C +:101D74006C46CDE9000120460021FFF76BFE0349C4 +:101D84002046FFF793FE00F01CF8FEDE180000006A +:101D940080B56F4600F015F8FEDED4D40649054838 +:101DA4000968C9B20029054918BF00F5805018BF59 +:101DB4000231704700D0032004ED00E002F003205C +:101DC400FFBEAABE62B6704772B6704740BF704786 +:101DD40020BF704700F0A3B8042A38BFFFF7FABF4A +:101DE400B0B502AFA2F1040C012303EB9C0313F082 +:101DF40003030ED08E4604465EF8045B012B44F8C0 +:101E0400045B1FD1634620467146BCF10C0F04D21B +:101E140012E01346BCF10C0F0ED30D68103B0560A5 +:101E2400032B4D6845608D688560CD6801F1100114 +:101E3400C56000F11000F0D802F00302BDE8B04024 +:101E4400FFF7C8BF4D68022B456007D1A2F1080314 +:101E540008310830BCF10C0FDFD2EDE78B680C3190 +:101E64008360A2F10C030C30BCF10C0FD5D2E3E774 +:101E74000B4611461A4600F08FB81346D2B2042915 +:101E840038BFFFF7F5BFD0B502AFA1F1040E42EAA7 +:101E94000363012443EA024304EB9E0443EA02235E +:101EA40014F0030410D08446012C4CF8043B10D1E8 +:101EB40074466046BEF10C0F1ED201F00301BDE86A +:101EC400D0406046FFF7D4BF0C46BEF10C0F13D2CE +:101ED400F3E7022C436007D10830A1F108048446DB +:101EE400BEF10C0F08D2E8E783600C30A1F10C04BA +:101EF4008446BEF10C0FE0D3C0E90033103CC0E9C6 +:101F040002331030032CF7D8844601F00301BDE8F6 +:101F1400D0406046FFF7ACBF0022FFF7AEBFF0B57C +:101F240003AF4DF8048DA2B3531E02F0030C032B30 +:101F340014D20022BCF1000F2BD08B5CBCF1010F3A +:101F4400835426D0531CBCF1020FCE5CC65420D05F +:101F54000232895C81545DF8048BF0BDACEB020E57 +:101F640001F10108441C6FF0030208EB0206A518F6 +:101F74000432F378EB7033792B7173796B71B37925 +:101F8400AB710EEB02030433EFD10432BCF1000F4A +:101F9400D3D15DF8048BF0BDD0B502AF12B3531E9C +:101FA40002F0030C032B01D200220FE0ACEB020E73 +:101FB400421C6FF00303D4180433A17161712171C1 +:101FC400E1700EEB03040434F5D11A1DBCF1000FCB +:101FD4001ABF8154BCF1010FD0BD0244BCF1020F01 +:0A1FE400517000D1D0BD9170D0BD46 +:0C1FF000711C0000C51B0000711B0000EC +:040000030000167D66 +:00000001FF diff --git a/boards/dongle/puzzle-nousb.rs b/boards/dongle/puzzle-nousb.rs new file mode 100644 index 0000000..440b507 --- /dev/null +++ b/boards/dongle/puzzle-nousb.rs @@ -0,0 +1,78 @@ +#![deny(unused_must_use)] +#![no_main] +#![no_std] + +use hal::{ + led, + radio::{self, Channel, Packet}, +}; +use heapless::{consts, LinearMap}; +use panic_abort as _; + +static FROM: &[u8] = &[ + // +]; + +static TO: &[u8] = &[ + // +]; + +// store the secret rather than the plaintext -- otherwise `strings $elf` will reveal the answer +static SECRET: &[u8] = b""; + +#[no_mangle] +fn main() -> ! { + let (mut rtx, mut rrx) = radio::claim(Channel::_26); + let led = led::Green; + + let mut dict = LinearMap::<_, _, consts::U128>::new(); + for (&from, &to) in FROM.iter().zip(TO.iter()) { + dict.insert(from, to).ok(); + } + + let task = async { + let mut packet = Packet::new().await; + let mut on = true; + + loop { + let crcres = rrx.read(&mut packet).await; + // toggle LED on each new packet + if on { + led.on(); + } else { + led.off(); + } + on = !on; + + if crcres.is_ok() { + if packet.is_empty() { + packet.copy_from_slice(SECRET); + } else if packet.len() == 1 { + let p = packet[0]; + let c = dict.get(&p).unwrap_or(&p); + packet.copy_from_slice(&[*c]); + } else { + // encrypt + for slot in packet.iter_mut() { + if let Some(c) = dict.get(slot) { + *slot = *c; + } + } + + let matches = &packet[..] == SECRET; + packet.copy_from_slice(if matches { + led::Blue.on(); + b"correct" + } else { + led::Blue.off(); + b"incorrect" + }); + } + + rtx.write(&packet).await.ok(); + } + } + }; + + executor::run!(task) +} diff --git a/boards/dongle/puzzle-nousb11.hex b/boards/dongle/puzzle-nousb11.hex new file mode 100644 index 0000000..ffe55b9 --- /dev/null +++ b/boards/dongle/puzzle-nousb11.hex @@ -0,0 +1,301 @@ +:1010000000C00320B5180000FD1F0000FD1F0000F8 +:10101000FD1F0000FD1F0000FD1F0000000000007C +:10102000000000000000000000000000FD1F0000A4 +:10103000FD1F000000000000FD1F0000FD1F00005C +:101040005D19000061190000FD1F0000851B0000F4 +:10105000FD1F0000FD1F0000FD1F0000FD1F000020 +:10106000FD1F0000FD1F0000FD1F0000B51B00005C +:10107000FD1F0000FD1F0000FD1F0000FD1F000000 +:10108000FD1F0000FD1F0000FD1F0000FD1F0000F0 +:10109000FD1F0000FD1F0000FD1F0000FD1F0000E0 +:1010A000FD1F0000FD1F0000FD1F0000FD1F0000D0 +:1010B000FD1F0000FD1F00000000000000000000F8 +:1010C000FD1F0000FD1F0000FD1F0000FD1F0000B0 +:1010D000FD1F0000FD1F0000FD1F0000FD1F0000A0 +:1010E000FD1F0000FD1F0000FD1F000000000000AC +:1010F00000000000FD1F000000000000FD1F0000B8 +:10110000525B5D4D446657777E636A21313A3B649A +:1011100073622E347156424A5C3C7B2225292A4C4C +:10112000494758362327375E4041515F6972793EFF +:101130007C28657D596F356E7024763F336C383D61 +:10114000264E5A482B672F453020756168743253FC +:101150007A2C552D50784B544F4643606B6D394770 +:101160005C75783322576E53516C2C7348204F6A4C +:1011700049313F723D2F215468715D246F746B7B40 +:101180005B2D3B25645E61632A2339267D36504200 +:1011900052585A692755655F402E4A663556416D4B +:1011A000293C767037774D384460624B434C3A287F +:1011B0007C32453E2B464E7A3059347E67790000AA +:1011C0004E4B62657E6A4422277D445F627D4326E2 +:1011D00051265F624326653744266544434B584495 +:1011E0007A2B264F262858445B3527496235446EB2 +:1011F000277D7E6A4B275F2C636F72726563740074 +:0C120000696E636F72726563740B01000D +:10120C0004C8C9B252003AB110F8023B023A8B4200 +:10121C00F9D1411E023801E00020002100B9002163 +:10122C000846704780B56F46017839B1032902D161 +:10123C004178012904D100F02DFBFEDE0021417024 +:10124C00064901220978C9B2002908BF032202709D +:10125C004270B1FA81F0400980BD00BF06F0032056 +:10126C0080B56F46DAB0DFF8DC850120D8E84F1F77 +:10127C00002940F0D482C8E8410F0029F6D1C749B3 +:10128C000DF11C0CDFF8C8E50520DFF8C8950CF152 +:10129C00040AC1F8FC00002107915F2920D0079EA9 +:1012AC0052461EF8015019F80100013173003BB190 +:1012BC0012F8024B023B8442F9D1531E023A01E070 +:1012CC00002200230AB11D70E7E77F2EE5D80AF84B +:1012DC0016000AEB46004570079801300790DCE7D2 +:1012EC0048A8AE4C00F12A01019100F129010091AE +:1012FC0000F12401039100F13001059100F12C0162 +:10130C00049100F1280110300DF5B07B00260690F9 +:10131C004FF0010A4FF0030900208DF83861CDE938 +:10132C004ACBCDE948BB0291C0B2DFE810F0060011 +:10133C004E024E0222003B0009008DF83C611DE07C +:10134C009DF84C01DFE810F0F70042024102FD006D +:10135C00070055004F009DF85401810700F0FA80FA +:10136C00032840F033829DF85501012840F0F480A9 +:10137C002CE29DF83C01012800F02882D8F80400EA +:10138C0060B1016858E8012F824204D148E801128B +:10139C00002AF3D118E0BFF32F8FEFE703208DF86D +:1013AC003C018EE19DF84801DFE810F03800100296 +:1013BC000F023C00060016009DF85401810723D053 +:1013CC00032800F08C8101E20221C1708DF839A153 +:1013DC004C908DF83CA11BE09DF85C0188B1032872 +:1013EC0000F0B481F2E19DF85001012840F04081F9 +:1013FC00ECE19DF8580148B1032840F0E781559D78 +:10140C00BEE0DDE953019FE1539867E1549DB6E0DE +:10141C0006988DF84861509048984F90ADF84C6103 +:10142C00509851900498FFF7FDFE10B18DF848913B +:10143C0005E04FF48070ADF84901012048E100212E +:10144C00022082B2022A01D104203AE1ADF8340123 +:10145C004023ADF836119DF83911514A002914BFBB +:10146C0053601360000481F001018DF83911CFD164 +:10147C004C98C17803290BD0022919D13A21382272 +:10148C00C1704C98DFF8E413043000F058FE4CE0C7 +:10149C0001794A988DF86011FFF7B2FE002808BF59 +:1014AC0058464C99007881F803904C9908713CE0AF +:1014BC00061D881EC5B25DB134464A9814F8011B4E +:1014CC00FFF79EFE08B100783070013D2646F2E72A +:1014DC004C9CE0783A280AD1DFF89013201D884202 +:1014EC0012D0DFF88813382200F0F2FD60B1DB482F +:1014FC004FF48051092201600B20E0704C98DC49BC +:10150C00043000F01CFE0EE0D4484FF480514160D2 +:10151C000920E070D7484C9A01460068D1F80310B6 +:10152C00C2F807105060C94C002606988DF84C6123 +:10153C0050904B984F90DDE94F015190ADF85061B0 +:10154C0052910598FFF76EFE08B10320B6E0559650 +:10155C00519854908DF8556198F803000121C0B250 +:10156C00022808BF032102288DF854118DF855115B +:10157C0001D10420A2E0029D8DF858615495559537 +:10158C00002100208DF860A101290BD01BF801204F +:10159C0001310AFA02F21043F6E700BF0C140040C6 +:1015AC000805005008B1B449086098F8010000F033 +:1015BC00030001287AD0A0BB022088F8010000F0BB +:1015CC0005FDCDE958015846022100F05BFBAB4903 +:1015DC00584600F083FB286800680330C4F8F80014 +:1015EC009D4801464FF48040C1F80003D1F8F80142 +:1015FC0040F48010C1F8F80198F80200C0B201283C +:10160C000FD1954888F80290C0F804A000F0DEFCD9 +:10161C00CDE958015846022100F034FB5846984950 +:10162C0042E000F061FCC5B295B3012D3ED0022D15 +:10163C0040F0CF8088484FF0006188F803A0C0F8D4 +:10164C00FC12C0F824A000F0C1FCCDE958015846AA +:10165C00022100F017FB8B49584600F03FFB58461F +:10166C008DF860A100F0B0FB8DF858A18DF8506199 +:10167C0098F80300C0B201284FF0010008BF032006 +:10168C008DF8500101D1062018E08DF84CA1BFE671 +:10169C0000F024FC00F09AFCCDE9580158460221D8 +:1016AC0000F0F0FA7849584600F018FB58468DF8CF +:1016BC0060A100F089FB8DF8589105208DF84C0144 +:1016CC0005208DF8380100F09BFC9DF838012BE6C5 +:1016DC00000649D003988DF854615390549098F8B3 +:1016EC000100C0B210B1022867D095E000F0FCFBFD +:1016FC005FFA80F9B9F1000F51D0B9F1010F5CD04C +:10170C00B9F1020F74D15498006800680330C4F822 +:10171C00F800514888F802A0C0F800A000F056FC70 +:10172C00CDE958015846022100F0ACFA4C49584614 +:10173C0000F0D4FA00994FF0030901988DF854A1E8 +:10174C008DF85C6154915390CDE9550198F80200E5 +:10175C0000F00300DFE800F06002101C05208DF89B +:10176C0048018DF85C916AE621688DF848A19DF8D6 +:10177C00490180F0010064E688F802605598067013 +:10178C003548D0F8F803569900F00100087001E0D4 +:10179C0088F802608DF85CA19DF84A0198E700F08A +:1017AC009DFB00F013FCCDE958015846022100F0D6 +:1017BC0069FA2C49584600F091FA04204FF00309BD +:1017CC008DF848018DF8549139E6FEDE00F062F890 +:1017DC00FEDE00F0FBFB58ACCDE9580100212046A1 +:1017EC0000F050FA2949204600F078FA28460DE01E +:1017FC0000F0ECFB58ACCDE958010021204600F07C +:10180C0041FA1949204600F069FA4846214600F091 +:10181C0087FB00F0C1FBFEDE00F07EFAFEDEBFF3BC +:10182C002F8F00F0D3FB07ACCDE907010021204638 +:10183C0000F028FA0449204600F050FA00F0D9FBD9 +:10184C00FEDE00BF08F003200D0000000C14004069 +:10185C005F11000000110000081000400805005046 +:10186C000F0000000E00000010000000C01100006E +:10187C0000120000F811000080E100E011000000EF +:10188C0012000000140000001300000015000000FE +:10189C0000F0B0BB80B56F4600F001F8FEDE80B5FD +:1018AC006F4600F08DFBFEDE80B56F461B481D4A6F +:1018BC00016841F0807101601948002141600168A4 +:1018CC0011400131016018480121C0F81015016068 +:1018DC0016488160016016481649091A21F0030167 +:1018EC0000F0CFFC14481549091A21F003021449E1 +:1018FC0000F027FC00F080FB12484FF48A51124C88 +:10190C00124D01600161AC4202D201CC8047FAE772 +:10191C00FFF7BEFFFFF7A4FCFEDE00BFFCED00E00E +:10192C00001000E0FEFFFF000800004000B0004087 +:10193C0000F0032010F0032010F0032010F003201F +:10194C00A02200000805005094220000A0220000F4 +:10195C0000F0F6B9F0B503AF2DE9C00B00F036FB83 +:10196C006C46CDE900012046042100F08BF9794941 +:10197C00204600F0B3F9784A906B000605D00020A1 +:10198C009063D2F80402400406D41068000607D015 +:10199C004FF0040810461BE091464FF002081AE085 +:1019AC00104650F8481F090602D04FF000080FE00F +:1019BC00104650F80C1F090602D04FF0010807E042 +:1019CC00104650F86C1F090600F0C0804FF0030859 +:1019DC0091460021016000F0F9FA6E460446CDE90B +:1019EC0000010D463046032100F04CF95B493046AE +:1019FC0000F074F928880C22411C6FF31F3022541C +:101A0C0030462980564900F069F9DFE808F0037286 +:101A1C002B482100DDE9000100250A88531C6FF3D7 +:101A2C001F3285540B8000F0D1FA6C46CDE90001D1 +:101A3C002046022100F026F94E49204600F04EF9CE +:101A4C004FF000600421C9F808024648457061E077 +:101A5C00DDE9000104240A88531C6FF31F328454FF +:101A6C000B8070E0DDE9000102240A883D4D531C17 +:101A7C006FF31F3284540B806878000666D100F037 +:101A8C00A5FA6C46CDE900012046022100F0FAF8D7 +:101A9C003649204600F022F90120687053E0DDE958 +:101AAC000012032013885C1C6FF31F33C8542D499C +:101ABC0014804A78D2B2022A48D14FF48042C9F835 +:101ACC000422D9F8002122F48012C9F800214FF029 +:101ADC000062C9F8082200224A70C87000F076FA39 +:101AEC006C46CDE900012046022100F0CBF81E49DE +:101AFC0026E0DDE9000101240A88531C6FF31F3234 +:101B0C00845418480B804178C9B2012904D00229A9 +:101B1C001CD10221C17016E08178C9B2012915D1FE +:101B2C000021C9F86C1041700221817000F04EFA4E +:101B3C006C46CDE900012046022100F0A3F80C49C7 +:101B4C00204600F0CBF8BDE80C0BF0BD00F0E4F83B +:101B5C00FEDE00BF02000000001100400300000088 +:101B6C000800000008F0032007000000050000003A +:101B7C000600000004000000DCB504AF00F026FAFB +:101B8C006C46CDE900012046042100F07BF80449A5 +:101B9C00204600F0A3F8034800210160DCBD00BF23 +:101BAC000100000018310040DCB504AF2F4801687B +:101BBC00C90741D1C16BC90722D000212F4CC16389 +:101BCC002D490A88931C013204EA03332C4C236000 +:101BDC000A8091B20C22B1FBF2F202EB4202A1EBB1 +:101BEC00820103290CD8DFE801F002070207214922 +:101BFC004FF480724A6003E01E494FF480720A6011 +:101C0C00016CC9071FBF002101644FF40031C0F8FB +:101C1C000412416CC9071FBF002141644FF480219D +:101C2C00C0F80412816CC9071FBF002181644FF4F6 +:101C3C000021C0F80412DCBD00F0C8F96C46CDE9F7 +:101C4C0000012046002100F01DF80949204600F053 +:101C5C0045F808484FF480510160402101604FF471 +:101C6C008071416000F0C5F9FEDE00BF04B1004098 +:101C7C00000000000805005000F0032000F0FF00F9 +:101C8C0040B50040F0B503AF4DF804BD124A1268E0 +:101C9C00D0E90034258892096E1C6FF31F35595515 +:101CAC0000232680D0E900100488661C42F08005D1 +:101CBC006FF31F34B3EBD21F08BF02F07F05B3EBF9 +:101CCC00D21F0D554FEAD21534462A460680ECD168 +:101CDC005DF804BBF0BD00BF041000E0F0B503AF2D +:101CEC004DF804BD8AB27F2A0AD3D0E9003441F002 +:101CFC00800125886E1C6FF31F355955D10926803C +:101D0C00D0E9002003885C1C6FF31F33D15404808E +:101D1C005DF804BBF0BDD4D4E0B502AF00F056F9C9 +:101D2C006C46CDE9000120460021FFF7ABFF0349CB +:101D3C002046FFF7D3FF00F05CF9FEDE090000003F +:101D4C00DCB504AF00F042F96C46CDE90001204649 +:101D5C000421FFF797FF0D492046FFF7BFFF0C4802 +:101D6C000168090611D00021016000F02FF96C46C2 +:101D7C00CDE9000120460221FFF784FF05492046EA +:101D8C00FFF7ACFF044801210170DCBD0A00000024 +:101D9C00000100400B00000006F0032007484FF440 +:101DAC00803101604FF48051C0F83C124FF48071C7 +:101DBC0003480160034800F007B800BF04B30040BB +:101DCC000C05005009120000D0B502AF002201230F +:101DDC000021012A05D0845C013203FA04F421436A +:101DEC00F7E709B101480160D0BD00BF00E100E098 +:101DFC00F0B503AF4DF804BD1E4C1F4D264604F53F +:101E0C00C670864212D06868014655E8010F8842B8 +:101E1C0004D145E80162002AF6D102E0BFF32F8F0E +:101E2C00F2E746F8841B00F0E9F8E8E713480F21C5 +:101E3C000123416008210160114981608121C16049 +:101E4C0010490A6863F302020A6040F202214FF45F +:101E5C00822281620C49C162002101630B4942500C +:101E6C000B490C4A42500C485DF804BBBDE8F040ED +:101E7C00FFF7AABF00C0032008F003200C15004098 +:101E8C00080000066C16004021100100F4FCFFFF56 +:101E9C00F8FDFFFF094004080A120000BCB504AFAE +:101EAC004FF080400125056000F090F86C46CDE9BC +:101EBC00000120460221FFF7E5FE05492046FFF709 +:101ECC000DFF044805600448BDE8BC40FFF77CBF2B +:101EDC000C000000040300400B120000014801211B +:101EEC000160704704100040BCB504AF0A48046898 +:101EFC0000F06CF86D46CDE9000128460321FFF790 +:101F0C00C1FE06492846FFF7E9FE2046294600F0A7 +:101F1C0007F8204602B0B0BD501500401700000075 +:101F2C00F0B503AF4DF804BD0C460546D1E90001F0 +:101F3C000C260A88531C6FF31F32865420460B80E4 +:101F4C001449FFF7CBFE05F00F010820DFE801F084 +:101F5C00070D0F091521212121110B13160000204B +:101F6C000CE003200AE0062008E0012006E0022035 +:101F7C0004E0052002E0072000E00420D4E9001270 +:101F8C0013885C1C6FF31F33C85414805DF804BBBA +:101F9C00F0BDFEDE16000000E0B502AF00F016F852 +:101FAC006C46CDE9000120460021FFF76BFE03498A +:101FBC002046FFF793FE00F01CF8FEDE1800000030 +:101FCC0080B56F4600F015F8FEDED4D406490548FE +:101FDC000968C9B20029054918BF00F5805018BF1F +:101FEC000231704700D0032004ED00E002F0032022 +:101FFC00FFBEAABE62B6704772B6704740BF70474C +:10200C0020BF7047F0B503AF4DF8048DA2B3531E3B +:10201C0002F0030C032B14D20022BCF1000F2BD0C6 +:10202C008B5CBCF1010F835426D0531CBCF1020F06 +:10203C00CE5CC65420D00232895C81545DF8048B8E +:10204C00F0BDACEB020E01F10108441C6FF0030271 +:10205C0008EB0206A5180432F378EB7033792B7178 +:10206C0073796B71B379AB710EEB02030433EFD15F +:10207C000432BCF1000FD3D15DF8048BF0BDD0B5A8 +:10208C0002AF12B3531E02F0030C032B01D2002239 +:10209C000FE0ACEB020E421C6FF00303D4180433B8 +:1020AC00A17161712171E1700EEB03040434F5D15F +:1020BC001A1DBCF1000F1ABF8154BCF1010FD0BD29 +:1020CC000244BCF1020F517000D1D0BD9170D0BD53 +:1020DC00F0B503AF2DE9000B4AB3A2F1010EC2F12A +:1020EC00000C0023CC5CC55CA54224D19E451ED0BF +:1020FC0001EB030800EB030998F8014099F8015033 +:10210C00A54218D10CEB0306B41C10D098F8024071 +:10211C0099F80250A5420ED1F41C08D098F803404F +:10212C0099F80350A54206D104339A42DAD1002023 +:10213C00BDE8000BF0BD281BBDE8000BF0BDFFF7A0 +:10214C0061BF042A38BFFFF7FABFB0B502AFA2F1E6 +:10215C00040C012303EB9C0313F003030ED08E46F7 +:10216C0004465EF8045B012B44F8045B1FD1634604 +:10217C0020467146BCF10C0F04D212E01346BCF1A0 +:10218C000C0F0ED30D68103B0560032B4D6845609A +:10219C008D688560CD6801F11001C56000F11000FB +:1021AC00F0D802F00302BDE8B040FFF7C8BF4D689D +:1021BC00022B456007D1A2F1080308310830BCF1AD +:1021CC000C0FDFD2EDE78B680C318360A2F10C03AE +:1021DC000C30BCF10C0FD5D2E3E70B4611461A4676 +:1021EC00FFF74DBF1346D2B2042938BFFFF7F5BF36 +:1021FC00D0B502AFA1F1040E42EA0363012443EA15 +:10220C00024304EB9E0443EA022314F0030410D0AF +:10221C008446012C4CF8043B10D174466046BEF148 +:10222C000C0F1ED201F00301BDE8D0406046FFF751 +:10223C00D4BF0C46BEF10C0F13D2F3E7022C436053 +:10224C0007D10830A1F108048446BEF10C0F08D266 +:10225C00E8E783600C30A1F10C048446BEF10C0F4E +:10226C00E0D3C0E90033103CC0E902331030032C3A +:10227C00F7D8844601F00301BDE8D0406046FFF773 +:08228C00ACBF0022FFF7AEBF5A +:0C229400A91E0000FD1D0000A91D000097 +:04000003000018B52C +:00000001FF diff --git a/boards/dongle/puzzle-nousb16.hex b/boards/dongle/puzzle-nousb16.hex new file mode 100644 index 0000000..bb63f06 --- /dev/null +++ b/boards/dongle/puzzle-nousb16.hex @@ -0,0 +1,301 @@ +:1010000000C00320B5180000FD1F0000FD1F0000F8 +:10101000FD1F0000FD1F0000FD1F0000000000007C +:10102000000000000000000000000000FD1F0000A4 +:10103000FD1F000000000000FD1F0000FD1F00005C +:101040005D19000061190000FD1F0000851B0000F4 +:10105000FD1F0000FD1F0000FD1F0000FD1F000020 +:10106000FD1F0000FD1F0000FD1F0000B51B00005C +:10107000FD1F0000FD1F0000FD1F0000FD1F000000 +:10108000FD1F0000FD1F0000FD1F0000FD1F0000F0 +:10109000FD1F0000FD1F0000FD1F0000FD1F0000E0 +:1010A000FD1F0000FD1F0000FD1F0000FD1F0000D0 +:1010B000FD1F0000FD1F00000000000000000000F8 +:1010C000FD1F0000FD1F0000FD1F0000FD1F0000B0 +:1010D000FD1F0000FD1F0000FD1F0000FD1F0000A0 +:1010E000FD1F0000FD1F0000FD1F000000000000AC +:1010F00000000000FD1F000000000000FD1F0000B8 +:10110000525B5D4D446657777E636A21313A3B649A +:1011100073622E347156424A5C3C7B2225292A4C4C +:10112000494758362327375E4041515F6972793EFF +:101130007C28657D596F356E7024763F336C383D61 +:10114000264E5A482B672F453020756168743253FC +:101150007A2C552D50784B544F4643606B6D394770 +:101160005C75783322576E53516C2C7348204F6A4C +:1011700049313F723D2F215468715D246F746B7B40 +:101180005B2D3B25645E61632A2339267D36504200 +:1011900052585A692755655F402E4A663556416D4B +:1011A000293C767037774D384460624B434C3A287F +:1011B0007C32453E2B464E7A3059347E67790000AA +:1011C0004E4B62657E6A4422277D445F627D4326E2 +:1011D00051265F624326653744266544434B584495 +:1011E0007A2B264F262858445B3527496235446EB2 +:1011F000277D7E6A4B275F2C636F72726563740074 +:0C120000696E636F72726563740B01000D +:10120C0004C8C9B252003AB110F8023B023A8B4200 +:10121C00F9D1411E023801E00020002100B9002163 +:10122C000846704780B56F46017839B1032902D161 +:10123C004178012904D100F02DFBFEDE0021417024 +:10124C00064901220978C9B2002908BF032202709D +:10125C004270B1FA81F0400980BD00BF06F0032056 +:10126C0080B56F46DAB0DFF8DC850120D8E84F1F77 +:10127C00002940F0D482C8E8410F0029F6D1C749B3 +:10128C000DF11C0CDFF8C8E51E20DFF8C8950CF139 +:10129C00040AC1F8FC00002107915F2920D0079EA9 +:1012AC0052461EF8015019F80100013173003BB190 +:1012BC0012F8024B023B8442F9D1531E023A01E070 +:1012CC00002200230AB11D70E7E77F2EE5D80AF84B +:1012DC0016000AEB46004570079801300790DCE7D2 +:1012EC0048A8AE4C00F12A01019100F129010091AE +:1012FC0000F12401039100F13001059100F12C0162 +:10130C00049100F1280110300DF5B07B00260690F9 +:10131C004FF0010A4FF0030900208DF83861CDE938 +:10132C004ACBCDE948BB0291C0B2DFE810F0060011 +:10133C004E024E0222003B0009008DF83C611DE07C +:10134C009DF84C01DFE810F0F70042024102FD006D +:10135C00070055004F009DF85401810700F0FA80FA +:10136C00032840F033829DF85501012840F0F480A9 +:10137C002CE29DF83C01012800F02882D8F80400EA +:10138C0060B1016858E8012F824204D148E801128B +:10139C00002AF3D118E0BFF32F8FEFE703208DF86D +:1013AC003C018EE19DF84801DFE810F03800100296 +:1013BC000F023C00060016009DF85401810723D053 +:1013CC00032800F08C8101E20221C1708DF839A153 +:1013DC004C908DF83CA11BE09DF85C0188B1032872 +:1013EC0000F0B481F2E19DF85001012840F04081F9 +:1013FC00ECE19DF8580148B1032840F0E781559D78 +:10140C00BEE0DDE953019FE1539867E1549DB6E0DE +:10141C0006988DF84861509048984F90ADF84C6103 +:10142C00509851900498FFF7FDFE10B18DF848913B +:10143C0005E04FF48070ADF84901012048E100212E +:10144C00022082B2022A01D104203AE1ADF8340123 +:10145C004023ADF836119DF83911514A002914BFBB +:10146C0053601360000481F001018DF83911CFD164 +:10147C004C98C17803290BD0022919D13A21382272 +:10148C00C1704C98DFF8E413043000F058FE4CE0C7 +:10149C0001794A988DF86011FFF7B2FE002808BF59 +:1014AC0058464C99007881F803904C9908713CE0AF +:1014BC00061D881EC5B25DB134464A9814F8011B4E +:1014CC00FFF79EFE08B100783070013D2646F2E72A +:1014DC004C9CE0783A280AD1DFF89013201D884202 +:1014EC0012D0DFF88813382200F0F2FD60B1DB482F +:1014FC004FF48051092201600B20E0704C98DC49BC +:10150C00043000F01CFE0EE0D4484FF480514160D2 +:10151C000920E070D7484C9A01460068D1F80310B6 +:10152C00C2F807105060C94C002606988DF84C6123 +:10153C0050904B984F90DDE94F015190ADF85061B0 +:10154C0052910598FFF76EFE08B10320B6E0559650 +:10155C00519854908DF8556198F803000121C0B250 +:10156C00022808BF032102288DF854118DF855115B +:10157C0001D10420A2E0029D8DF858615495559537 +:10158C00002100208DF860A101290BD01BF801204F +:10159C0001310AFA02F21043F6E700BF0C140040C6 +:1015AC000805005008B1B449086098F8010000F033 +:1015BC00030001287AD0A0BB022088F8010000F0BB +:1015CC0005FDCDE958015846022100F05BFBAB4903 +:1015DC00584600F083FB286800680330C4F8F80014 +:1015EC009D4801464FF48040C1F80003D1F8F80142 +:1015FC0040F48010C1F8F80198F80200C0B201283C +:10160C000FD1954888F80290C0F804A000F0DEFCD9 +:10161C00CDE958015846022100F034FB5846984950 +:10162C0042E000F061FCC5B295B3012D3ED0022D15 +:10163C0040F0CF8088484FF0006188F803A0C0F8D4 +:10164C00FC12C0F824A000F0C1FCCDE958015846AA +:10165C00022100F017FB8B49584600F03FFB58461F +:10166C008DF860A100F0B0FB8DF858A18DF8506199 +:10167C0098F80300C0B201284FF0010008BF032006 +:10168C008DF8500101D1062018E08DF84CA1BFE671 +:10169C0000F024FC00F09AFCCDE9580158460221D8 +:1016AC0000F0F0FA7849584600F018FB58468DF8CF +:1016BC0060A100F089FB8DF8589105208DF84C0144 +:1016CC0005208DF8380100F09BFC9DF838012BE6C5 +:1016DC00000649D003988DF854615390549098F8B3 +:1016EC000100C0B210B1022867D095E000F0FCFBFD +:1016FC005FFA80F9B9F1000F51D0B9F1010F5CD04C +:10170C00B9F1020F74D15498006800680330C4F822 +:10171C00F800514888F802A0C0F800A000F056FC70 +:10172C00CDE958015846022100F0ACFA4C49584614 +:10173C0000F0D4FA00994FF0030901988DF854A1E8 +:10174C008DF85C6154915390CDE9550198F80200E5 +:10175C0000F00300DFE800F06002101C05208DF89B +:10176C0048018DF85C916AE621688DF848A19DF8D6 +:10177C00490180F0010064E688F802605598067013 +:10178C003548D0F8F803569900F00100087001E0D4 +:10179C0088F802608DF85CA19DF84A0198E700F08A +:1017AC009DFB00F013FCCDE958015846022100F0D6 +:1017BC0069FA2C49584600F091FA04204FF00309BD +:1017CC008DF848018DF8549139E6FEDE00F062F890 +:1017DC00FEDE00F0FBFB58ACCDE9580100212046A1 +:1017EC0000F050FA2949204600F078FA28460DE01E +:1017FC0000F0ECFB58ACCDE958010021204600F07C +:10180C0041FA1949204600F069FA4846214600F091 +:10181C0087FB00F0C1FBFEDE00F07EFAFEDEBFF3BC +:10182C002F8F00F0D3FB07ACCDE907010021204638 +:10183C0000F028FA0449204600F050FA00F0D9FBD9 +:10184C00FEDE00BF08F003200D0000000C14004069 +:10185C005F11000000110000081000400805005046 +:10186C000F0000000E00000010000000C01100006E +:10187C0000120000F811000080E100E011000000EF +:10188C0012000000140000001300000015000000FE +:10189C0000F0B0BB80B56F4600F001F8FEDE80B5FD +:1018AC006F4600F08DFBFEDE80B56F461B481D4A6F +:1018BC00016841F0807101601948002141600168A4 +:1018CC0011400131016018480121C0F81015016068 +:1018DC0016488160016016481649091A21F0030167 +:1018EC0000F0CFFC14481549091A21F003021449E1 +:1018FC0000F027FC00F080FB12484FF48A51124C88 +:10190C00124D01600161AC4202D201CC8047FAE772 +:10191C00FFF7BEFFFFF7A4FCFEDE00BFFCED00E00E +:10192C00001000E0FEFFFF000800004000B0004087 +:10193C0000F0032010F0032010F0032010F003201F +:10194C00A02200000805005094220000A0220000F4 +:10195C0000F0F6B9F0B503AF2DE9C00B00F036FB83 +:10196C006C46CDE900012046042100F08BF9794941 +:10197C00204600F0B3F9784A906B000605D00020A1 +:10198C009063D2F80402400406D41068000607D015 +:10199C004FF0040810461BE091464FF002081AE085 +:1019AC00104650F8481F090602D04FF000080FE00F +:1019BC00104650F80C1F090602D04FF0010807E042 +:1019CC00104650F86C1F090600F0C0804FF0030859 +:1019DC0091460021016000F0F9FA6E460446CDE90B +:1019EC0000010D463046032100F04CF95B493046AE +:1019FC0000F074F928880C22411C6FF31F3022541C +:101A0C0030462980564900F069F9DFE808F0037286 +:101A1C002B482100DDE9000100250A88531C6FF3D7 +:101A2C001F3285540B8000F0D1FA6C46CDE90001D1 +:101A3C002046022100F026F94E49204600F04EF9CE +:101A4C004FF000600421C9F808024648457061E077 +:101A5C00DDE9000104240A88531C6FF31F328454FF +:101A6C000B8070E0DDE9000102240A883D4D531C17 +:101A7C006FF31F3284540B806878000666D100F037 +:101A8C00A5FA6C46CDE900012046022100F0FAF8D7 +:101A9C003649204600F022F90120687053E0DDE958 +:101AAC000012032013885C1C6FF31F33C8542D499C +:101ABC0014804A78D2B2022A48D14FF48042C9F835 +:101ACC000422D9F8002122F48012C9F800214FF029 +:101ADC000062C9F8082200224A70C87000F076FA39 +:101AEC006C46CDE900012046022100F0CBF81E49DE +:101AFC0026E0DDE9000101240A88531C6FF31F3234 +:101B0C00845418480B804178C9B2012904D00229A9 +:101B1C001CD10221C17016E08178C9B2012915D1FE +:101B2C000021C9F86C1041700221817000F04EFA4E +:101B3C006C46CDE900012046022100F0A3F80C49C7 +:101B4C00204600F0CBF8BDE80C0BF0BD00F0E4F83B +:101B5C00FEDE00BF02000000001100400300000088 +:101B6C000800000008F0032007000000050000003A +:101B7C000600000004000000DCB504AF00F026FAFB +:101B8C006C46CDE900012046042100F07BF80449A5 +:101B9C00204600F0A3F8034800210160DCBD00BF23 +:101BAC000100000018310040DCB504AF2F4801687B +:101BBC00C90741D1C16BC90722D000212F4CC16389 +:101BCC002D490A88931C013204EA03332C4C236000 +:101BDC000A8091B20C22B1FBF2F202EB4202A1EBB1 +:101BEC00820103290CD8DFE801F002070207214922 +:101BFC004FF480724A6003E01E494FF480720A6011 +:101C0C00016CC9071FBF002101644FF40031C0F8FB +:101C1C000412416CC9071FBF002141644FF480219D +:101C2C00C0F80412816CC9071FBF002181644FF4F6 +:101C3C000021C0F80412DCBD00F0C8F96C46CDE9F7 +:101C4C0000012046002100F01DF80949204600F053 +:101C5C0045F808484FF480510160402101604FF471 +:101C6C008071416000F0C5F9FEDE00BF04B1004098 +:101C7C00000000000805005000F0032000F0FF00F9 +:101C8C0040B50040F0B503AF4DF804BD124A1268E0 +:101C9C00D0E90034258892096E1C6FF31F35595515 +:101CAC0000232680D0E900100488661C42F08005D1 +:101CBC006FF31F34B3EBD21F08BF02F07F05B3EBF9 +:101CCC00D21F0D554FEAD21534462A460680ECD168 +:101CDC005DF804BBF0BD00BF041000E0F0B503AF2D +:101CEC004DF804BD8AB27F2A0AD3D0E9003441F002 +:101CFC00800125886E1C6FF31F355955D10926803C +:101D0C00D0E9002003885C1C6FF31F33D15404808E +:101D1C005DF804BBF0BDD4D4E0B502AF00F056F9C9 +:101D2C006C46CDE9000120460021FFF7ABFF0349CB +:101D3C002046FFF7D3FF00F05CF9FEDE090000003F +:101D4C00DCB504AF00F042F96C46CDE90001204649 +:101D5C000421FFF797FF0D492046FFF7BFFF0C4802 +:101D6C000168090611D00021016000F02FF96C46C2 +:101D7C00CDE9000120460221FFF784FF05492046EA +:101D8C00FFF7ACFF044801210170DCBD0A00000024 +:101D9C00000100400B00000006F0032007484FF440 +:101DAC00803101604FF48051C0F83C124FF48071C7 +:101DBC0003480160034800F007B800BF04B30040BB +:101DCC000C05005009120000D0B502AF002201230F +:101DDC000021012A05D0845C013203FA04F421436A +:101DEC00F7E709B101480160D0BD00BF00E100E098 +:101DFC00F0B503AF4DF804BD1E4C1F4D264604F53F +:101E0C00C670864212D06868014655E8010F8842B8 +:101E1C0004D145E80162002AF6D102E0BFF32F8F0E +:101E2C00F2E746F8841B00F0E9F8E8E713480F21C5 +:101E3C000123416008210160114981608121C16049 +:101E4C0010490A6863F302020A6040F202214FF45F +:101E5C00822281620C49C162002101630B4942500C +:101E6C000B490C4A42500C485DF804BBBDE8F040ED +:101E7C00FFF7AABF00C0032008F003200C15004098 +:101E8C00080000066C16004021100100F4FCFFFF56 +:101E9C00F8FDFFFF094004080A120000BCB504AFAE +:101EAC004FF080400125056000F090F86C46CDE9BC +:101EBC00000120460221FFF7E5FE05492046FFF709 +:101ECC000DFF044805600448BDE8BC40FFF77CBF2B +:101EDC000C000000040300400B120000014801211B +:101EEC000160704704100040BCB504AF0A48046898 +:101EFC0000F06CF86D46CDE9000128460321FFF790 +:101F0C00C1FE06492846FFF7E9FE2046294600F0A7 +:101F1C0007F8204602B0B0BD501500401700000075 +:101F2C00F0B503AF4DF804BD0C460546D1E90001F0 +:101F3C000C260A88531C6FF31F32865420460B80E4 +:101F4C001449FFF7CBFE05F00F010820DFE801F084 +:101F5C00070D0F091521212121110B13160000204B +:101F6C000CE003200AE0062008E0012006E0022035 +:101F7C0004E0052002E0072000E00420D4E9001270 +:101F8C0013885C1C6FF31F33C85414805DF804BBBA +:101F9C00F0BDFEDE16000000E0B502AF00F016F852 +:101FAC006C46CDE9000120460021FFF76BFE03498A +:101FBC002046FFF793FE00F01CF8FEDE1800000030 +:101FCC0080B56F4600F015F8FEDED4D406490548FE +:101FDC000968C9B20029054918BF00F5805018BF1F +:101FEC000231704700D0032004ED00E002F0032022 +:101FFC00FFBEAABE62B6704772B6704740BF70474C +:10200C0020BF7047F0B503AF4DF8048DA2B3531E3B +:10201C0002F0030C032B14D20022BCF1000F2BD0C6 +:10202C008B5CBCF1010F835426D0531CBCF1020F06 +:10203C00CE5CC65420D00232895C81545DF8048B8E +:10204C00F0BDACEB020E01F10108441C6FF0030271 +:10205C0008EB0206A5180432F378EB7033792B7178 +:10206C0073796B71B379AB710EEB02030433EFD15F +:10207C000432BCF1000FD3D15DF8048BF0BDD0B5A8 +:10208C0002AF12B3531E02F0030C032B01D2002239 +:10209C000FE0ACEB020E421C6FF00303D4180433B8 +:1020AC00A17161712171E1700EEB03040434F5D15F +:1020BC001A1DBCF1000F1ABF8154BCF1010FD0BD29 +:1020CC000244BCF1020F517000D1D0BD9170D0BD53 +:1020DC00F0B503AF2DE9000B4AB3A2F1010EC2F12A +:1020EC00000C0023CC5CC55CA54224D19E451ED0BF +:1020FC0001EB030800EB030998F8014099F8015033 +:10210C00A54218D10CEB0306B41C10D098F8024071 +:10211C0099F80250A5420ED1F41C08D098F803404F +:10212C0099F80350A54206D104339A42DAD1002023 +:10213C00BDE8000BF0BD281BBDE8000BF0BDFFF7A0 +:10214C0061BF042A38BFFFF7FABFB0B502AFA2F1E6 +:10215C00040C012303EB9C0313F003030ED08E46F7 +:10216C0004465EF8045B012B44F8045B1FD1634604 +:10217C0020467146BCF10C0F04D212E01346BCF1A0 +:10218C000C0F0ED30D68103B0560032B4D6845609A +:10219C008D688560CD6801F11001C56000F11000FB +:1021AC00F0D802F00302BDE8B040FFF7C8BF4D689D +:1021BC00022B456007D1A2F1080308310830BCF1AD +:1021CC000C0FDFD2EDE78B680C318360A2F10C03AE +:1021DC000C30BCF10C0FD5D2E3E70B4611461A4676 +:1021EC00FFF74DBF1346D2B2042938BFFFF7F5BF36 +:1021FC00D0B502AFA1F1040E42EA0363012443EA15 +:10220C00024304EB9E0443EA022314F0030410D0AF +:10221C008446012C4CF8043B10D174466046BEF148 +:10222C000C0F1ED201F00301BDE8D0406046FFF751 +:10223C00D4BF0C46BEF10C0F13D2F3E7022C436053 +:10224C0007D10830A1F108048446BEF10C0F08D266 +:10225C00E8E783600C30A1F10C048446BEF10C0F4E +:10226C00E0D3C0E90033103CC0E902331030032C3A +:10227C00F7D8844601F00301BDE8D0406046FFF773 +:08228C00ACBF0022FFF7AEBF5A +:0C229400A91E0000FD1D0000A91D000097 +:04000003000018B52C +:00000001FF diff --git a/boards/dongle/puzzle-nousb21.hex b/boards/dongle/puzzle-nousb21.hex new file mode 100644 index 0000000..c60d4c3 --- /dev/null +++ b/boards/dongle/puzzle-nousb21.hex @@ -0,0 +1,301 @@ +:1010000000C00320B5180000FD1F0000FD1F0000F8 +:10101000FD1F0000FD1F0000FD1F0000000000007C +:10102000000000000000000000000000FD1F0000A4 +:10103000FD1F000000000000FD1F0000FD1F00005C +:101040005D19000061190000FD1F0000851B0000F4 +:10105000FD1F0000FD1F0000FD1F0000FD1F000020 +:10106000FD1F0000FD1F0000FD1F0000B51B00005C +:10107000FD1F0000FD1F0000FD1F0000FD1F000000 +:10108000FD1F0000FD1F0000FD1F0000FD1F0000F0 +:10109000FD1F0000FD1F0000FD1F0000FD1F0000E0 +:1010A000FD1F0000FD1F0000FD1F0000FD1F0000D0 +:1010B000FD1F0000FD1F00000000000000000000F8 +:1010C000FD1F0000FD1F0000FD1F0000FD1F0000B0 +:1010D000FD1F0000FD1F0000FD1F0000FD1F0000A0 +:1010E000FD1F0000FD1F0000FD1F000000000000AC +:1010F00000000000FD1F000000000000FD1F0000B8 +:10110000525B5D4D446657777E636A21313A3B649A +:1011100073622E347156424A5C3C7B2225292A4C4C +:10112000494758362327375E4041515F6972793EFF +:101130007C28657D596F356E7024763F336C383D61 +:10114000264E5A482B672F453020756168743253FC +:101150007A2C552D50784B544F4643606B6D394770 +:101160005C75783322576E53516C2C7348204F6A4C +:1011700049313F723D2F215468715D246F746B7B40 +:101180005B2D3B25645E61632A2339267D36504200 +:1011900052585A692755655F402E4A663556416D4B +:1011A000293C767037774D384460624B434C3A287F +:1011B0007C32453E2B464E7A3059347E67790000AA +:1011C0004E4B62657E6A4422277D445F627D4326E2 +:1011D00051265F624326653744266544434B584495 +:1011E0007A2B264F262858445B3527496235446EB2 +:1011F000277D7E6A4B275F2C636F72726563740074 +:0C120000696E636F72726563740B01000D +:10120C0004C8C9B252003AB110F8023B023A8B4200 +:10121C00F9D1411E023801E00020002100B9002163 +:10122C000846704780B56F46017839B1032902D161 +:10123C004178012904D100F02DFBFEDE0021417024 +:10124C00064901220978C9B2002908BF032202709D +:10125C004270B1FA81F0400980BD00BF06F0032056 +:10126C0080B56F46DAB0DFF8DC850120D8E84F1F77 +:10127C00002940F0D482C8E8410F0029F6D1C749B3 +:10128C000DF11C0CDFF8C8E53720DFF8C8950CF120 +:10129C00040AC1F8FC00002107915F2920D0079EA9 +:1012AC0052461EF8015019F80100013173003BB190 +:1012BC0012F8024B023B8442F9D1531E023A01E070 +:1012CC00002200230AB11D70E7E77F2EE5D80AF84B +:1012DC0016000AEB46004570079801300790DCE7D2 +:1012EC0048A8AE4C00F12A01019100F129010091AE +:1012FC0000F12401039100F13001059100F12C0162 +:10130C00049100F1280110300DF5B07B00260690F9 +:10131C004FF0010A4FF0030900208DF83861CDE938 +:10132C004ACBCDE948BB0291C0B2DFE810F0060011 +:10133C004E024E0222003B0009008DF83C611DE07C +:10134C009DF84C01DFE810F0F70042024102FD006D +:10135C00070055004F009DF85401810700F0FA80FA +:10136C00032840F033829DF85501012840F0F480A9 +:10137C002CE29DF83C01012800F02882D8F80400EA +:10138C0060B1016858E8012F824204D148E801128B +:10139C00002AF3D118E0BFF32F8FEFE703208DF86D +:1013AC003C018EE19DF84801DFE810F03800100296 +:1013BC000F023C00060016009DF85401810723D053 +:1013CC00032800F08C8101E20221C1708DF839A153 +:1013DC004C908DF83CA11BE09DF85C0188B1032872 +:1013EC0000F0B481F2E19DF85001012840F04081F9 +:1013FC00ECE19DF8580148B1032840F0E781559D78 +:10140C00BEE0DDE953019FE1539867E1549DB6E0DE +:10141C0006988DF84861509048984F90ADF84C6103 +:10142C00509851900498FFF7FDFE10B18DF848913B +:10143C0005E04FF48070ADF84901012048E100212E +:10144C00022082B2022A01D104203AE1ADF8340123 +:10145C004023ADF836119DF83911514A002914BFBB +:10146C0053601360000481F001018DF83911CFD164 +:10147C004C98C17803290BD0022919D13A21382272 +:10148C00C1704C98DFF8E413043000F058FE4CE0C7 +:10149C0001794A988DF86011FFF7B2FE002808BF59 +:1014AC0058464C99007881F803904C9908713CE0AF +:1014BC00061D881EC5B25DB134464A9814F8011B4E +:1014CC00FFF79EFE08B100783070013D2646F2E72A +:1014DC004C9CE0783A280AD1DFF89013201D884202 +:1014EC0012D0DFF88813382200F0F2FD60B1DB482F +:1014FC004FF48051092201600B20E0704C98DC49BC +:10150C00043000F01CFE0EE0D4484FF480514160D2 +:10151C000920E070D7484C9A01460068D1F80310B6 +:10152C00C2F807105060C94C002606988DF84C6123 +:10153C0050904B984F90DDE94F015190ADF85061B0 +:10154C0052910598FFF76EFE08B10320B6E0559650 +:10155C00519854908DF8556198F803000121C0B250 +:10156C00022808BF032102288DF854118DF855115B +:10157C0001D10420A2E0029D8DF858615495559537 +:10158C00002100208DF860A101290BD01BF801204F +:10159C0001310AFA02F21043F6E700BF0C140040C6 +:1015AC000805005008B1B449086098F8010000F033 +:1015BC00030001287AD0A0BB022088F8010000F0BB +:1015CC0005FDCDE958015846022100F05BFBAB4903 +:1015DC00584600F083FB286800680330C4F8F80014 +:1015EC009D4801464FF48040C1F80003D1F8F80142 +:1015FC0040F48010C1F8F80198F80200C0B201283C +:10160C000FD1954888F80290C0F804A000F0DEFCD9 +:10161C00CDE958015846022100F034FB5846984950 +:10162C0042E000F061FCC5B295B3012D3ED0022D15 +:10163C0040F0CF8088484FF0006188F803A0C0F8D4 +:10164C00FC12C0F824A000F0C1FCCDE958015846AA +:10165C00022100F017FB8B49584600F03FFB58461F +:10166C008DF860A100F0B0FB8DF858A18DF8506199 +:10167C0098F80300C0B201284FF0010008BF032006 +:10168C008DF8500101D1062018E08DF84CA1BFE671 +:10169C0000F024FC00F09AFCCDE9580158460221D8 +:1016AC0000F0F0FA7849584600F018FB58468DF8CF +:1016BC0060A100F089FB8DF8589105208DF84C0144 +:1016CC0005208DF8380100F09BFC9DF838012BE6C5 +:1016DC00000649D003988DF854615390549098F8B3 +:1016EC000100C0B210B1022867D095E000F0FCFBFD +:1016FC005FFA80F9B9F1000F51D0B9F1010F5CD04C +:10170C00B9F1020F74D15498006800680330C4F822 +:10171C00F800514888F802A0C0F800A000F056FC70 +:10172C00CDE958015846022100F0ACFA4C49584614 +:10173C0000F0D4FA00994FF0030901988DF854A1E8 +:10174C008DF85C6154915390CDE9550198F80200E5 +:10175C0000F00300DFE800F06002101C05208DF89B +:10176C0048018DF85C916AE621688DF848A19DF8D6 +:10177C00490180F0010064E688F802605598067013 +:10178C003548D0F8F803569900F00100087001E0D4 +:10179C0088F802608DF85CA19DF84A0198E700F08A +:1017AC009DFB00F013FCCDE958015846022100F0D6 +:1017BC0069FA2C49584600F091FA04204FF00309BD +:1017CC008DF848018DF8549139E6FEDE00F062F890 +:1017DC00FEDE00F0FBFB58ACCDE9580100212046A1 +:1017EC0000F050FA2949204600F078FA28460DE01E +:1017FC0000F0ECFB58ACCDE958010021204600F07C +:10180C0041FA1949204600F069FA4846214600F091 +:10181C0087FB00F0C1FBFEDE00F07EFAFEDEBFF3BC +:10182C002F8F00F0D3FB07ACCDE907010021204638 +:10183C0000F028FA0449204600F050FA00F0D9FBD9 +:10184C00FEDE00BF08F003200D0000000C14004069 +:10185C005F11000000110000081000400805005046 +:10186C000F0000000E00000010000000C01100006E +:10187C0000120000F811000080E100E011000000EF +:10188C0012000000140000001300000015000000FE +:10189C0000F0B0BB80B56F4600F001F8FEDE80B5FD +:1018AC006F4600F08DFBFEDE80B56F461B481D4A6F +:1018BC00016841F0807101601948002141600168A4 +:1018CC0011400131016018480121C0F81015016068 +:1018DC0016488160016016481649091A21F0030167 +:1018EC0000F0CFFC14481549091A21F003021449E1 +:1018FC0000F027FC00F080FB12484FF48A51124C88 +:10190C00124D01600161AC4202D201CC8047FAE772 +:10191C00FFF7BEFFFFF7A4FCFEDE00BFFCED00E00E +:10192C00001000E0FEFFFF000800004000B0004087 +:10193C0000F0032010F0032010F0032010F003201F +:10194C00A02200000805005094220000A0220000F4 +:10195C0000F0F6B9F0B503AF2DE9C00B00F036FB83 +:10196C006C46CDE900012046042100F08BF9794941 +:10197C00204600F0B3F9784A906B000605D00020A1 +:10198C009063D2F80402400406D41068000607D015 +:10199C004FF0040810461BE091464FF002081AE085 +:1019AC00104650F8481F090602D04FF000080FE00F +:1019BC00104650F80C1F090602D04FF0010807E042 +:1019CC00104650F86C1F090600F0C0804FF0030859 +:1019DC0091460021016000F0F9FA6E460446CDE90B +:1019EC0000010D463046032100F04CF95B493046AE +:1019FC0000F074F928880C22411C6FF31F3022541C +:101A0C0030462980564900F069F9DFE808F0037286 +:101A1C002B482100DDE9000100250A88531C6FF3D7 +:101A2C001F3285540B8000F0D1FA6C46CDE90001D1 +:101A3C002046022100F026F94E49204600F04EF9CE +:101A4C004FF000600421C9F808024648457061E077 +:101A5C00DDE9000104240A88531C6FF31F328454FF +:101A6C000B8070E0DDE9000102240A883D4D531C17 +:101A7C006FF31F3284540B806878000666D100F037 +:101A8C00A5FA6C46CDE900012046022100F0FAF8D7 +:101A9C003649204600F022F90120687053E0DDE958 +:101AAC000012032013885C1C6FF31F33C8542D499C +:101ABC0014804A78D2B2022A48D14FF48042C9F835 +:101ACC000422D9F8002122F48012C9F800214FF029 +:101ADC000062C9F8082200224A70C87000F076FA39 +:101AEC006C46CDE900012046022100F0CBF81E49DE +:101AFC0026E0DDE9000101240A88531C6FF31F3234 +:101B0C00845418480B804178C9B2012904D00229A9 +:101B1C001CD10221C17016E08178C9B2012915D1FE +:101B2C000021C9F86C1041700221817000F04EFA4E +:101B3C006C46CDE900012046022100F0A3F80C49C7 +:101B4C00204600F0CBF8BDE80C0BF0BD00F0E4F83B +:101B5C00FEDE00BF02000000001100400300000088 +:101B6C000800000008F0032007000000050000003A +:101B7C000600000004000000DCB504AF00F026FAFB +:101B8C006C46CDE900012046042100F07BF80449A5 +:101B9C00204600F0A3F8034800210160DCBD00BF23 +:101BAC000100000018310040DCB504AF2F4801687B +:101BBC00C90741D1C16BC90722D000212F4CC16389 +:101BCC002D490A88931C013204EA03332C4C236000 +:101BDC000A8091B20C22B1FBF2F202EB4202A1EBB1 +:101BEC00820103290CD8DFE801F002070207214922 +:101BFC004FF480724A6003E01E494FF480720A6011 +:101C0C00016CC9071FBF002101644FF40031C0F8FB +:101C1C000412416CC9071FBF002141644FF480219D +:101C2C00C0F80412816CC9071FBF002181644FF4F6 +:101C3C000021C0F80412DCBD00F0C8F96C46CDE9F7 +:101C4C0000012046002100F01DF80949204600F053 +:101C5C0045F808484FF480510160402101604FF471 +:101C6C008071416000F0C5F9FEDE00BF04B1004098 +:101C7C00000000000805005000F0032000F0FF00F9 +:101C8C0040B50040F0B503AF4DF804BD124A1268E0 +:101C9C00D0E90034258892096E1C6FF31F35595515 +:101CAC0000232680D0E900100488661C42F08005D1 +:101CBC006FF31F34B3EBD21F08BF02F07F05B3EBF9 +:101CCC00D21F0D554FEAD21534462A460680ECD168 +:101CDC005DF804BBF0BD00BF041000E0F0B503AF2D +:101CEC004DF804BD8AB27F2A0AD3D0E9003441F002 +:101CFC00800125886E1C6FF31F355955D10926803C +:101D0C00D0E9002003885C1C6FF31F33D15404808E +:101D1C005DF804BBF0BDD4D4E0B502AF00F056F9C9 +:101D2C006C46CDE9000120460021FFF7ABFF0349CB +:101D3C002046FFF7D3FF00F05CF9FEDE090000003F +:101D4C00DCB504AF00F042F96C46CDE90001204649 +:101D5C000421FFF797FF0D492046FFF7BFFF0C4802 +:101D6C000168090611D00021016000F02FF96C46C2 +:101D7C00CDE9000120460221FFF784FF05492046EA +:101D8C00FFF7ACFF044801210170DCBD0A00000024 +:101D9C00000100400B00000006F0032007484FF440 +:101DAC00803101604FF48051C0F83C124FF48071C7 +:101DBC0003480160034800F007B800BF04B30040BB +:101DCC000C05005009120000D0B502AF002201230F +:101DDC000021012A05D0845C013203FA04F421436A +:101DEC00F7E709B101480160D0BD00BF00E100E098 +:101DFC00F0B503AF4DF804BD1E4C1F4D264604F53F +:101E0C00C670864212D06868014655E8010F8842B8 +:101E1C0004D145E80162002AF6D102E0BFF32F8F0E +:101E2C00F2E746F8841B00F0E9F8E8E713480F21C5 +:101E3C000123416008210160114981608121C16049 +:101E4C0010490A6863F302020A6040F202214FF45F +:101E5C00822281620C49C162002101630B4942500C +:101E6C000B490C4A42500C485DF804BBBDE8F040ED +:101E7C00FFF7AABF00C0032008F003200C15004098 +:101E8C00080000066C16004021100100F4FCFFFF56 +:101E9C00F8FDFFFF094004080A120000BCB504AFAE +:101EAC004FF080400125056000F090F86C46CDE9BC +:101EBC00000120460221FFF7E5FE05492046FFF709 +:101ECC000DFF044805600448BDE8BC40FFF77CBF2B +:101EDC000C000000040300400B120000014801211B +:101EEC000160704704100040BCB504AF0A48046898 +:101EFC0000F06CF86D46CDE9000128460321FFF790 +:101F0C00C1FE06492846FFF7E9FE2046294600F0A7 +:101F1C0007F8204602B0B0BD501500401700000075 +:101F2C00F0B503AF4DF804BD0C460546D1E90001F0 +:101F3C000C260A88531C6FF31F32865420460B80E4 +:101F4C001449FFF7CBFE05F00F010820DFE801F084 +:101F5C00070D0F091521212121110B13160000204B +:101F6C000CE003200AE0062008E0012006E0022035 +:101F7C0004E0052002E0072000E00420D4E9001270 +:101F8C0013885C1C6FF31F33C85414805DF804BBBA +:101F9C00F0BDFEDE16000000E0B502AF00F016F852 +:101FAC006C46CDE9000120460021FFF76BFE03498A +:101FBC002046FFF793FE00F01CF8FEDE1800000030 +:101FCC0080B56F4600F015F8FEDED4D406490548FE +:101FDC000968C9B20029054918BF00F5805018BF1F +:101FEC000231704700D0032004ED00E002F0032022 +:101FFC00FFBEAABE62B6704772B6704740BF70474C +:10200C0020BF7047F0B503AF4DF8048DA2B3531E3B +:10201C0002F0030C032B14D20022BCF1000F2BD0C6 +:10202C008B5CBCF1010F835426D0531CBCF1020F06 +:10203C00CE5CC65420D00232895C81545DF8048B8E +:10204C00F0BDACEB020E01F10108441C6FF0030271 +:10205C0008EB0206A5180432F378EB7033792B7178 +:10206C0073796B71B379AB710EEB02030433EFD15F +:10207C000432BCF1000FD3D15DF8048BF0BDD0B5A8 +:10208C0002AF12B3531E02F0030C032B01D2002239 +:10209C000FE0ACEB020E421C6FF00303D4180433B8 +:1020AC00A17161712171E1700EEB03040434F5D15F +:1020BC001A1DBCF1000F1ABF8154BCF1010FD0BD29 +:1020CC000244BCF1020F517000D1D0BD9170D0BD53 +:1020DC00F0B503AF2DE9000B4AB3A2F1010EC2F12A +:1020EC00000C0023CC5CC55CA54224D19E451ED0BF +:1020FC0001EB030800EB030998F8014099F8015033 +:10210C00A54218D10CEB0306B41C10D098F8024071 +:10211C0099F80250A5420ED1F41C08D098F803404F +:10212C0099F80350A54206D104339A42DAD1002023 +:10213C00BDE8000BF0BD281BBDE8000BF0BDFFF7A0 +:10214C0061BF042A38BFFFF7FABFB0B502AFA2F1E6 +:10215C00040C012303EB9C0313F003030ED08E46F7 +:10216C0004465EF8045B012B44F8045B1FD1634604 +:10217C0020467146BCF10C0F04D212E01346BCF1A0 +:10218C000C0F0ED30D68103B0560032B4D6845609A +:10219C008D688560CD6801F11001C56000F11000FB +:1021AC00F0D802F00302BDE8B040FFF7C8BF4D689D +:1021BC00022B456007D1A2F1080308310830BCF1AD +:1021CC000C0FDFD2EDE78B680C318360A2F10C03AE +:1021DC000C30BCF10C0FD5D2E3E70B4611461A4676 +:1021EC00FFF74DBF1346D2B2042938BFFFF7F5BF36 +:1021FC00D0B502AFA1F1040E42EA0363012443EA15 +:10220C00024304EB9E0443EA022314F0030410D0AF +:10221C008446012C4CF8043B10D174466046BEF148 +:10222C000C0F1ED201F00301BDE8D0406046FFF751 +:10223C00D4BF0C46BEF10C0F13D2F3E7022C436053 +:10224C0007D10830A1F108048446BEF10C0F08D266 +:10225C00E8E783600C30A1F10C048446BEF10C0F4E +:10226C00E0D3C0E90033103CC0E902331030032C3A +:10227C00F7D8844601F00301BDE8D0406046FFF773 +:08228C00ACBF0022FFF7AEBF5A +:0C229400A91E0000FD1D0000A91D000097 +:04000003000018B52C +:00000001FF diff --git a/boards/dongle/puzzle-nousb26.hex b/boards/dongle/puzzle-nousb26.hex new file mode 100644 index 0000000..f416f31 --- /dev/null +++ b/boards/dongle/puzzle-nousb26.hex @@ -0,0 +1,301 @@ +:1010000000C00320B5180000FD1F0000FD1F0000F8 +:10101000FD1F0000FD1F0000FD1F0000000000007C +:10102000000000000000000000000000FD1F0000A4 +:10103000FD1F000000000000FD1F0000FD1F00005C +:101040005D19000061190000FD1F0000851B0000F4 +:10105000FD1F0000FD1F0000FD1F0000FD1F000020 +:10106000FD1F0000FD1F0000FD1F0000B51B00005C +:10107000FD1F0000FD1F0000FD1F0000FD1F000000 +:10108000FD1F0000FD1F0000FD1F0000FD1F0000F0 +:10109000FD1F0000FD1F0000FD1F0000FD1F0000E0 +:1010A000FD1F0000FD1F0000FD1F0000FD1F0000D0 +:1010B000FD1F0000FD1F00000000000000000000F8 +:1010C000FD1F0000FD1F0000FD1F0000FD1F0000B0 +:1010D000FD1F0000FD1F0000FD1F0000FD1F0000A0 +:1010E000FD1F0000FD1F0000FD1F000000000000AC +:1010F00000000000FD1F000000000000FD1F0000B8 +:10110000525B5D4D446657777E636A21313A3B649A +:1011100073622E347156424A5C3C7B2225292A4C4C +:10112000494758362327375E4041515F6972793EFF +:101130007C28657D596F356E7024763F336C383D61 +:10114000264E5A482B672F453020756168743253FC +:101150007A2C552D50784B544F4643606B6D394770 +:101160005C75783322576E53516C2C7348204F6A4C +:1011700049313F723D2F215468715D246F746B7B40 +:101180005B2D3B25645E61632A2339267D36504200 +:1011900052585A692755655F402E4A663556416D4B +:1011A000293C767037774D384460624B434C3A287F +:1011B0007C32453E2B464E7A3059347E67790000AA +:1011C0004E4B62657E6A4422277D445F627D4326E2 +:1011D00051265F624326653744266544434B584495 +:1011E0007A2B264F262858445B3527496235446EB2 +:1011F000277D7E6A4B275F2C636F72726563740074 +:0C120000696E636F72726563740B01000D +:10120C0004C8C9B252003AB110F8023B023A8B4200 +:10121C00F9D1411E023801E00020002100B9002163 +:10122C000846704780B56F46017839B1032902D161 +:10123C004178012904D100F02DFBFEDE0021417024 +:10124C00064901220978C9B2002908BF032202709D +:10125C004270B1FA81F0400980BD00BF06F0032056 +:10126C0080B56F46DAB0DFF8DC850120D8E84F1F77 +:10127C00002940F0D482C8E8410F0029F6D1C749B3 +:10128C000DF11C0CDFF8C8E55020DFF8C8950CF107 +:10129C00040AC1F8FC00002107915F2920D0079EA9 +:1012AC0052461EF8015019F80100013173003BB190 +:1012BC0012F8024B023B8442F9D1531E023A01E070 +:1012CC00002200230AB11D70E7E77F2EE5D80AF84B +:1012DC0016000AEB46004570079801300790DCE7D2 +:1012EC0048A8AE4C00F12A01019100F129010091AE +:1012FC0000F12401039100F13001059100F12C0162 +:10130C00049100F1280110300DF5B07B00260690F9 +:10131C004FF0010A4FF0030900208DF83861CDE938 +:10132C004ACBCDE948BB0291C0B2DFE810F0060011 +:10133C004E024E0222003B0009008DF83C611DE07C +:10134C009DF84C01DFE810F0F70042024102FD006D +:10135C00070055004F009DF85401810700F0FA80FA +:10136C00032840F033829DF85501012840F0F480A9 +:10137C002CE29DF83C01012800F02882D8F80400EA +:10138C0060B1016858E8012F824204D148E801128B +:10139C00002AF3D118E0BFF32F8FEFE703208DF86D +:1013AC003C018EE19DF84801DFE810F03800100296 +:1013BC000F023C00060016009DF85401810723D053 +:1013CC00032800F08C8101E20221C1708DF839A153 +:1013DC004C908DF83CA11BE09DF85C0188B1032872 +:1013EC0000F0B481F2E19DF85001012840F04081F9 +:1013FC00ECE19DF8580148B1032840F0E781559D78 +:10140C00BEE0DDE953019FE1539867E1549DB6E0DE +:10141C0006988DF84861509048984F90ADF84C6103 +:10142C00509851900498FFF7FDFE10B18DF848913B +:10143C0005E04FF48070ADF84901012048E100212E +:10144C00022082B2022A01D104203AE1ADF8340123 +:10145C004023ADF836119DF83911514A002914BFBB +:10146C0053601360000481F001018DF83911CFD164 +:10147C004C98C17803290BD0022919D13A21382272 +:10148C00C1704C98DFF8E413043000F058FE4CE0C7 +:10149C0001794A988DF86011FFF7B2FE002808BF59 +:1014AC0058464C99007881F803904C9908713CE0AF +:1014BC00061D881EC5B25DB134464A9814F8011B4E +:1014CC00FFF79EFE08B100783070013D2646F2E72A +:1014DC004C9CE0783A280AD1DFF89013201D884202 +:1014EC0012D0DFF88813382200F0F2FD60B1DB482F +:1014FC004FF48051092201600B20E0704C98DC49BC +:10150C00043000F01CFE0EE0D4484FF480514160D2 +:10151C000920E070D7484C9A01460068D1F80310B6 +:10152C00C2F807105060C94C002606988DF84C6123 +:10153C0050904B984F90DDE94F015190ADF85061B0 +:10154C0052910598FFF76EFE08B10320B6E0559650 +:10155C00519854908DF8556198F803000121C0B250 +:10156C00022808BF032102288DF854118DF855115B +:10157C0001D10420A2E0029D8DF858615495559537 +:10158C00002100208DF860A101290BD01BF801204F +:10159C0001310AFA02F21043F6E700BF0C140040C6 +:1015AC000805005008B1B449086098F8010000F033 +:1015BC00030001287AD0A0BB022088F8010000F0BB +:1015CC0005FDCDE958015846022100F05BFBAB4903 +:1015DC00584600F083FB286800680330C4F8F80014 +:1015EC009D4801464FF48040C1F80003D1F8F80142 +:1015FC0040F48010C1F8F80198F80200C0B201283C +:10160C000FD1954888F80290C0F804A000F0DEFCD9 +:10161C00CDE958015846022100F034FB5846984950 +:10162C0042E000F061FCC5B295B3012D3ED0022D15 +:10163C0040F0CF8088484FF0006188F803A0C0F8D4 +:10164C00FC12C0F824A000F0C1FCCDE958015846AA +:10165C00022100F017FB8B49584600F03FFB58461F +:10166C008DF860A100F0B0FB8DF858A18DF8506199 +:10167C0098F80300C0B201284FF0010008BF032006 +:10168C008DF8500101D1062018E08DF84CA1BFE671 +:10169C0000F024FC00F09AFCCDE9580158460221D8 +:1016AC0000F0F0FA7849584600F018FB58468DF8CF +:1016BC0060A100F089FB8DF8589105208DF84C0144 +:1016CC0005208DF8380100F09BFC9DF838012BE6C5 +:1016DC00000649D003988DF854615390549098F8B3 +:1016EC000100C0B210B1022867D095E000F0FCFBFD +:1016FC005FFA80F9B9F1000F51D0B9F1010F5CD04C +:10170C00B9F1020F74D15498006800680330C4F822 +:10171C00F800514888F802A0C0F800A000F056FC70 +:10172C00CDE958015846022100F0ACFA4C49584614 +:10173C0000F0D4FA00994FF0030901988DF854A1E8 +:10174C008DF85C6154915390CDE9550198F80200E5 +:10175C0000F00300DFE800F06002101C05208DF89B +:10176C0048018DF85C916AE621688DF848A19DF8D6 +:10177C00490180F0010064E688F802605598067013 +:10178C003548D0F8F803569900F00100087001E0D4 +:10179C0088F802608DF85CA19DF84A0198E700F08A +:1017AC009DFB00F013FCCDE958015846022100F0D6 +:1017BC0069FA2C49584600F091FA04204FF00309BD +:1017CC008DF848018DF8549139E6FEDE00F062F890 +:1017DC00FEDE00F0FBFB58ACCDE9580100212046A1 +:1017EC0000F050FA2949204600F078FA28460DE01E +:1017FC0000F0ECFB58ACCDE958010021204600F07C +:10180C0041FA1949204600F069FA4846214600F091 +:10181C0087FB00F0C1FBFEDE00F07EFAFEDEBFF3BC +:10182C002F8F00F0D3FB07ACCDE907010021204638 +:10183C0000F028FA0449204600F050FA00F0D9FBD9 +:10184C00FEDE00BF08F003200D0000000C14004069 +:10185C005F11000000110000081000400805005046 +:10186C000F0000000E00000010000000C01100006E +:10187C0000120000F811000080E100E011000000EF +:10188C0012000000140000001300000015000000FE +:10189C0000F0B0BB80B56F4600F001F8FEDE80B5FD +:1018AC006F4600F08DFBFEDE80B56F461B481D4A6F +:1018BC00016841F0807101601948002141600168A4 +:1018CC0011400131016018480121C0F81015016068 +:1018DC0016488160016016481649091A21F0030167 +:1018EC0000F0CFFC14481549091A21F003021449E1 +:1018FC0000F027FC00F080FB12484FF48A51124C88 +:10190C00124D01600161AC4202D201CC8047FAE772 +:10191C00FFF7BEFFFFF7A4FCFEDE00BFFCED00E00E +:10192C00001000E0FEFFFF000800004000B0004087 +:10193C0000F0032010F0032010F0032010F003201F +:10194C00A02200000805005094220000A0220000F4 +:10195C0000F0F6B9F0B503AF2DE9C00B00F036FB83 +:10196C006C46CDE900012046042100F08BF9794941 +:10197C00204600F0B3F9784A906B000605D00020A1 +:10198C009063D2F80402400406D41068000607D015 +:10199C004FF0040810461BE091464FF002081AE085 +:1019AC00104650F8481F090602D04FF000080FE00F +:1019BC00104650F80C1F090602D04FF0010807E042 +:1019CC00104650F86C1F090600F0C0804FF0030859 +:1019DC0091460021016000F0F9FA6E460446CDE90B +:1019EC0000010D463046032100F04CF95B493046AE +:1019FC0000F074F928880C22411C6FF31F3022541C +:101A0C0030462980564900F069F9DFE808F0037286 +:101A1C002B482100DDE9000100250A88531C6FF3D7 +:101A2C001F3285540B8000F0D1FA6C46CDE90001D1 +:101A3C002046022100F026F94E49204600F04EF9CE +:101A4C004FF000600421C9F808024648457061E077 +:101A5C00DDE9000104240A88531C6FF31F328454FF +:101A6C000B8070E0DDE9000102240A883D4D531C17 +:101A7C006FF31F3284540B806878000666D100F037 +:101A8C00A5FA6C46CDE900012046022100F0FAF8D7 +:101A9C003649204600F022F90120687053E0DDE958 +:101AAC000012032013885C1C6FF31F33C8542D499C +:101ABC0014804A78D2B2022A48D14FF48042C9F835 +:101ACC000422D9F8002122F48012C9F800214FF029 +:101ADC000062C9F8082200224A70C87000F076FA39 +:101AEC006C46CDE900012046022100F0CBF81E49DE +:101AFC0026E0DDE9000101240A88531C6FF31F3234 +:101B0C00845418480B804178C9B2012904D00229A9 +:101B1C001CD10221C17016E08178C9B2012915D1FE +:101B2C000021C9F86C1041700221817000F04EFA4E +:101B3C006C46CDE900012046022100F0A3F80C49C7 +:101B4C00204600F0CBF8BDE80C0BF0BD00F0E4F83B +:101B5C00FEDE00BF02000000001100400300000088 +:101B6C000800000008F0032007000000050000003A +:101B7C000600000004000000DCB504AF00F026FAFB +:101B8C006C46CDE900012046042100F07BF80449A5 +:101B9C00204600F0A3F8034800210160DCBD00BF23 +:101BAC000100000018310040DCB504AF2F4801687B +:101BBC00C90741D1C16BC90722D000212F4CC16389 +:101BCC002D490A88931C013204EA03332C4C236000 +:101BDC000A8091B20C22B1FBF2F202EB4202A1EBB1 +:101BEC00820103290CD8DFE801F002070207214922 +:101BFC004FF480724A6003E01E494FF480720A6011 +:101C0C00016CC9071FBF002101644FF40031C0F8FB +:101C1C000412416CC9071FBF002141644FF480219D +:101C2C00C0F80412816CC9071FBF002181644FF4F6 +:101C3C000021C0F80412DCBD00F0C8F96C46CDE9F7 +:101C4C0000012046002100F01DF80949204600F053 +:101C5C0045F808484FF480510160402101604FF471 +:101C6C008071416000F0C5F9FEDE00BF04B1004098 +:101C7C00000000000805005000F0032000F0FF00F9 +:101C8C0040B50040F0B503AF4DF804BD124A1268E0 +:101C9C00D0E90034258892096E1C6FF31F35595515 +:101CAC0000232680D0E900100488661C42F08005D1 +:101CBC006FF31F34B3EBD21F08BF02F07F05B3EBF9 +:101CCC00D21F0D554FEAD21534462A460680ECD168 +:101CDC005DF804BBF0BD00BF041000E0F0B503AF2D +:101CEC004DF804BD8AB27F2A0AD3D0E9003441F002 +:101CFC00800125886E1C6FF31F355955D10926803C +:101D0C00D0E9002003885C1C6FF31F33D15404808E +:101D1C005DF804BBF0BDD4D4E0B502AF00F056F9C9 +:101D2C006C46CDE9000120460021FFF7ABFF0349CB +:101D3C002046FFF7D3FF00F05CF9FEDE090000003F +:101D4C00DCB504AF00F042F96C46CDE90001204649 +:101D5C000421FFF797FF0D492046FFF7BFFF0C4802 +:101D6C000168090611D00021016000F02FF96C46C2 +:101D7C00CDE9000120460221FFF784FF05492046EA +:101D8C00FFF7ACFF044801210170DCBD0A00000024 +:101D9C00000100400B00000006F0032007484FF440 +:101DAC00803101604FF48051C0F83C124FF48071C7 +:101DBC0003480160034800F007B800BF04B30040BB +:101DCC000C05005009120000D0B502AF002201230F +:101DDC000021012A05D0845C013203FA04F421436A +:101DEC00F7E709B101480160D0BD00BF00E100E098 +:101DFC00F0B503AF4DF804BD1E4C1F4D264604F53F +:101E0C00C670864212D06868014655E8010F8842B8 +:101E1C0004D145E80162002AF6D102E0BFF32F8F0E +:101E2C00F2E746F8841B00F0E9F8E8E713480F21C5 +:101E3C000123416008210160114981608121C16049 +:101E4C0010490A6863F302020A6040F202214FF45F +:101E5C00822281620C49C162002101630B4942500C +:101E6C000B490C4A42500C485DF804BBBDE8F040ED +:101E7C00FFF7AABF00C0032008F003200C15004098 +:101E8C00080000066C16004021100100F4FCFFFF56 +:101E9C00F8FDFFFF094004080A120000BCB504AFAE +:101EAC004FF080400125056000F090F86C46CDE9BC +:101EBC00000120460221FFF7E5FE05492046FFF709 +:101ECC000DFF044805600448BDE8BC40FFF77CBF2B +:101EDC000C000000040300400B120000014801211B +:101EEC000160704704100040BCB504AF0A48046898 +:101EFC0000F06CF86D46CDE9000128460321FFF790 +:101F0C00C1FE06492846FFF7E9FE2046294600F0A7 +:101F1C0007F8204602B0B0BD501500401700000075 +:101F2C00F0B503AF4DF804BD0C460546D1E90001F0 +:101F3C000C260A88531C6FF31F32865420460B80E4 +:101F4C001449FFF7CBFE05F00F010820DFE801F084 +:101F5C00070D0F091521212121110B13160000204B +:101F6C000CE003200AE0062008E0012006E0022035 +:101F7C0004E0052002E0072000E00420D4E9001270 +:101F8C0013885C1C6FF31F33C85414805DF804BBBA +:101F9C00F0BDFEDE16000000E0B502AF00F016F852 +:101FAC006C46CDE9000120460021FFF76BFE03498A +:101FBC002046FFF793FE00F01CF8FEDE1800000030 +:101FCC0080B56F4600F015F8FEDED4D406490548FE +:101FDC000968C9B20029054918BF00F5805018BF1F +:101FEC000231704700D0032004ED00E002F0032022 +:101FFC00FFBEAABE62B6704772B6704740BF70474C +:10200C0020BF7047F0B503AF4DF8048DA2B3531E3B +:10201C0002F0030C032B14D20022BCF1000F2BD0C6 +:10202C008B5CBCF1010F835426D0531CBCF1020F06 +:10203C00CE5CC65420D00232895C81545DF8048B8E +:10204C00F0BDACEB020E01F10108441C6FF0030271 +:10205C0008EB0206A5180432F378EB7033792B7178 +:10206C0073796B71B379AB710EEB02030433EFD15F +:10207C000432BCF1000FD3D15DF8048BF0BDD0B5A8 +:10208C0002AF12B3531E02F0030C032B01D2002239 +:10209C000FE0ACEB020E421C6FF00303D4180433B8 +:1020AC00A17161712171E1700EEB03040434F5D15F +:1020BC001A1DBCF1000F1ABF8154BCF1010FD0BD29 +:1020CC000244BCF1020F517000D1D0BD9170D0BD53 +:1020DC00F0B503AF2DE9000B4AB3A2F1010EC2F12A +:1020EC00000C0023CC5CC55CA54224D19E451ED0BF +:1020FC0001EB030800EB030998F8014099F8015033 +:10210C00A54218D10CEB0306B41C10D098F8024071 +:10211C0099F80250A5420ED1F41C08D098F803404F +:10212C0099F80350A54206D104339A42DAD1002023 +:10213C00BDE8000BF0BD281BBDE8000BF0BDFFF7A0 +:10214C0061BF042A38BFFFF7FABFB0B502AFA2F1E6 +:10215C00040C012303EB9C0313F003030ED08E46F7 +:10216C0004465EF8045B012B44F8045B1FD1634604 +:10217C0020467146BCF10C0F04D212E01346BCF1A0 +:10218C000C0F0ED30D68103B0560032B4D6845609A +:10219C008D688560CD6801F11001C56000F11000FB +:1021AC00F0D802F00302BDE8B040FFF7C8BF4D689D +:1021BC00022B456007D1A2F1080308310830BCF1AD +:1021CC000C0FDFD2EDE78B680C318360A2F10C03AE +:1021DC000C30BCF10C0FD5D2E3E70B4611461A4676 +:1021EC00FFF74DBF1346D2B2042938BFFFF7F5BF36 +:1021FC00D0B502AFA1F1040E42EA0363012443EA15 +:10220C00024304EB9E0443EA022314F0030410D0AF +:10221C008446012C4CF8043B10D174466046BEF148 +:10222C000C0F1ED201F00301BDE8D0406046FFF751 +:10223C00D4BF0C46BEF10C0F13D2F3E7022C436053 +:10224C0007D10830A1F108048446BEF10C0F08D266 +:10225C00E8E783600C30A1F10C048446BEF10C0F4E +:10226C00E0D3C0E90033103CC0E902331030032C3A +:10227C00F7D8844601F00301BDE8D0406046FFF773 +:08228C00ACBF0022FFF7AEBF5A +:0C229400A91E0000FD1D0000A91D000097 +:04000003000018B52C +:00000001FF diff --git a/embedded-workshop-book/src/dongle.md b/embedded-workshop-book/src/dongle.md index b79ea2a..b3cfaf1 100644 --- a/embedded-workshop-book/src/dongle.md +++ b/embedded-workshop-book/src/dongle.md @@ -5,7 +5,7 @@ Next, we'll look into the radio API exposed by the `dk` HAL. But before that we' From this section on, we'll use the nRF52840 Dongle in addition to the nRF52840 DK. We'll run some pre-compiled programs on the Dongle and write programs for the DK that will interact with the Dongle over a radio link. **💬 How to find the buttons on the Dongle:** - Put the Dongle in front of you, so that the side with the parts mounted on faces up. Rotate it, so that the narrower part of the board, the surface USB connector, faces away from you. + Put the Dongle in front of you, so that the side with the parts mounted on faces up. Rotate it, so that the narrower part of the board, the surface USB connector, faces away from you. The Dongle has two buttons. They are next to each other in the lower left corner of the Dongle. The reset button (RESET) is mounted sideways, it's square shaped button faces you. Further away from you is the round-ish user button (SW1), which faces up. ✅ Install the `dongle-flash` tool by running the following command from the `tools/dongle-flash` directory. @@ -18,11 +18,11 @@ The Dongle does not contain an on-board debugger, like the DK, so we cannot use When put in bootloader mode the Dongle will run a bootloader program instead of the last application that was flashed into it. This bootloader program will make the Dongle show up as a USB CDC ACM device (AKA Serial over USB device) that accepts new application images over this interface. We'll use the `nrfutil` tool to communicate with the bootloader-mode Dongle and flash new images into it. -✅ Connect the Dongle to your computer. Put the Dongle in bootloader mode by pressing its *reset* button. - +✅ Connect the Dongle to your computer. Put the Dongle in bootloader mode by pressing its *reset* button. + When the Dongle is in bootloader mode its red LED will oscillate in intensity. The Dongle will also appear as a USB CDC ACM device with vendor ID `0x1915` and product ID `0x521f`. -You can also use the tool `usb-list`, a minimal cross-platform version of the `lsusb` tool, to check out the status of the Dongle. +You can also use the tool `usb-list`, a minimal cross-platform version of the `lsusb` tool, to check out the status of the Dongle. ✅ Run `cargo run` from `tools/usb-list` to list all USB devices; the Dongle will be highlighted in the output, along with a note if in bootloader mode. @@ -53,7 +53,7 @@ Device programmed. After the device has been programmed it will automatically reset and start running the new application. -The `loopback` application will *blink* the red LED in a heartbeat fashion: two fast blinks (LED on then off) followed by two periods of silence (LED off). The application will also make the Dongle enumerate itself as a CDC ACM device. +The `loopback` application will *blink* the red LED in a heartbeat fashion: two fast blinks (LED on then off) followed by two periods of silence (LED off). The application will also make the Dongle enumerate itself as a CDC ACM device. ✅ Run `usb-list` tool from the `tools/usb-list` directory to see the newly enumerated Dongle in the output: @@ -62,7 +62,7 @@ $ cargo run Bus 001 Device 020: ID 2020:0309 <- nRF52840 Dongle (loopback.hex) ``` -The `loopback` app will log messages over the USB interface. To display these messages on the host we have provided a cross-platform tool: `serial-term`. +The `loopback` app will log messages over the USB interface. To display these messages on the host we have provided a cross-platform tool: `serial-term`. ✅ Install it by running the following command from the `tools/serial-term` directory. @@ -79,7 +79,35 @@ deviceid=588c06af0877c8f2 channel=20 TxPower=+8dBm app=loopback.hex This line is printed by the `loopback` app on boot. It contains the device ID of the dongle, a 64-bit unique identifier (so everyone will see a different number); the radio channel that the device will use to communicate; and the transmission power of the radio in dBm. -At this point you should *not* get more output from `serial-term`. +## USB issues + +If you don't get any output from `serial-term` it could just have been that first line got lost when re-enumerating the device from bootloader mode to the loopback application. Run these *two* commands: + +``` console +$ change-channel 20 +requested channel change to channel 20 + +$ change-channel 20 +requested channel change to channel 20 +``` + +You should get *two* lines of output in `serial-term` + +``` console +$ serial-term +now listening on channel 20 +now listening on channel 20 +``` + +If that's the case you are good to go. + +If you only get one line of output then your OS may be losing some serial data -- we have seen this behavior on some macOS machines. You will still be able to work through the exercises but will miss log data every now and then. + +If you don't get *any* output from `serial-term` and/or the `change-channel` command fails then the Dongle's USB functionality is not working correctly. In this case you should use the `loopback-nousb*` programs. These have no USB functionality but you will be able to use them to do the exercises. There are four `.hex` files available. You can pick any of them but commit the number in the file name to memory; this is the radio channel the Dongle will listen to. + +## Interference + +At this point you should *not* get more output from `serial-term`. ❗If you get "received N bytes" lines in output like this: diff --git a/embedded-workshop-book/src/radio-puzzle.md b/embedded-workshop-book/src/radio-puzzle.md index a7da67a..fdca101 100644 --- a/embedded-workshop-book/src/radio-puzzle.md +++ b/embedded-workshop-book/src/radio-puzzle.md @@ -2,6 +2,8 @@ For this section you'll need to flash the `puzzle.hex` program on the Dongle. Follow the instructions from the "nRF52840 Dongle" section but flash the `puzzle.hex` program instead of the `loopback.hex` one -- don't forget to put the Dongle in bootloader mode before invoking `dongle-flash`. +> Note: If you experienced USB issues with `loopback.hex` you use the `puzzle-nousb*.hex` variants. + Like in the previous sections the Dongle will listen for radio packets -- this time over *channel 25* -- while also logging messages over a USB/serial interface. Open the `beginner/apps` folder in VS Code; then open the `src/bin/radio-puzzle.rs` file. @@ -76,4 +78,3 @@ For your reference, we have provided a complete solution in the `src/bin/radio-p If you solved the puzzle using a `Vec` buffer you can try solving it without the buffer as a stretch goal. You may find the [slice methods][slice] that let you mutate its data useful. A solution that does not use the `Vec` buffer can be found in the `radio-puzzle-solution-2` file. [slice]: https://doc.rust-lang.org/std/primitive.slice.html#methods -