From 87a171a865ca57d0ddd414b7772dab1b389f32fb Mon Sep 17 00:00:00 2001 From: Thibaut VIARD Date: Fri, 13 Nov 2015 16:36:58 +0100 Subject: [PATCH 1/4] Updating toolchain path according to IDE v1.6.6 Signed-off-by: Thibaut VIARD --- bootloaders/zero/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bootloaders/zero/Makefile b/bootloaders/zero/Makefile index eee929188..8996e2791 100644 --- a/bootloaders/zero/Makefile +++ b/bootloaders/zero/Makefile @@ -22,18 +22,18 @@ ifeq ($(OS),Windows_NT) # Are we using mingw/msys/msys2/cygwin? ifeq ($(TERM),xterm) # this is the path coming with night build -# T=$(shell cygpath -u $(LOCALAPPDATA)) + T=$(shell cygpath -u $(LOCALAPPDATA)) # this is the path till 1.6.5 r5 - T=$(shell cygpath -u $(APPDATA)) +# T=$(shell cygpath -u $(APPDATA)) MODULE_PATH?=$(T)/Arduino15/packages/arduino ARM_GCC_PATH?=$(MODULE_PATH)/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi- RM=rm SEP=/ else # this is the path coming with night build -# MODULE_PATH?=$(LOCALAPPDATA)/Arduino15/packages/arduino + MODULE_PATH?=$(LOCALAPPDATA)/Arduino15/packages/arduino # this is the path till 1.6.5 r5 - MODULE_PATH?=$(APPDATA)/Arduino15/packages/arduino +# MODULE_PATH?=$(APPDATA)/Arduino15/packages/arduino ARM_GCC_PATH?=$(MODULE_PATH)/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi- RM=rm SEP=\\ From edccbd17ffc6d3eda0e0cfbad6a4e41ee0edb139 Mon Sep 17 00:00:00 2001 From: Thibaut VIARD Date: Fri, 13 Nov 2015 16:39:11 +0100 Subject: [PATCH 2/4] Adding preliminary LED activity support Signed-off-by: Thibaut VIARD --- bootloaders/zero/board_driver_led.h | 8 +- bootloaders/zero/main.c | 8 + bootloaders/zero/sam_ba_monitor.c | 105 +++- bootloaders/zero/samd21_sam_ba.bin | Bin 5972 -> 7092 bytes bootloaders/zero/samd21_sam_ba.elf | Bin 647224 -> 651363 bytes bootloaders/zero/samd21_sam_ba.hex | 810 +++++++++++++++------------- 6 files changed, 533 insertions(+), 398 deletions(-) diff --git a/bootloaders/zero/board_driver_led.h b/bootloaders/zero/board_driver_led.h index 6f1fd7580..deafca637 100644 --- a/bootloaders/zero/board_driver_led.h +++ b/bootloaders/zero/board_driver_led.h @@ -29,13 +29,13 @@ inline void LED_off(void) { PORT->Group[BOARD_LED_PORT].OUTCLR.reg = (1<Group[BOARD_LED_PORT].OUTTGL.reg = (1<Group[BOARD_LEDRX_PORT].DIRSET.reg = (1<Group[BOARD_LEDRX_PORT].OUTSET.reg = (1<Group[BOARD_LEDRX_PORT].OUTCLR.reg = (1<Group[BOARD_LEDRX_PORT].OUTCLR.reg = (1<Group[BOARD_LEDRX_PORT].OUTSET.reg = (1<Group[BOARD_LEDRX_PORT].OUTTGL.reg = (1<Group[BOARD_LEDTX_PORT].DIRSET.reg = (1<Group[BOARD_LEDTX_PORT].OUTSET.reg = (1<Group[BOARD_LEDTX_PORT].OUTCLR.reg = (1<Group[BOARD_LEDTX_PORT].OUTCLR.reg = (1<Group[BOARD_LEDTX_PORT].OUTSET.reg = (1<Group[BOARD_LEDTX_PORT].OUTTGL.reg = (1<putdata(data, length); + LEDTX_off(); + + return result; +} + +/* + * Central SAM-BA monitor getdata function using the board LEDs + */ +static uint32_t sam_ba_getdata(t_monitor_if* pInterface, void const* data, uint32_t length) +{ + uint32_t result ; + + LEDRX_on(); + result=pInterface->getdata(data, length); + LEDRX_off(); + + return result; +} + +/* + * Central SAM-BA monitor putdata function using the board LEDs + */ +static uint32_t sam_ba_putdata_xmd(t_monitor_if* pInterface, void const* data, uint32_t length) +{ + uint32_t result ; + + LEDTX_on(); + result=pInterface->putdata_xmd(data, length); + LEDTX_off(); + + return result; +} + +/* + * Central SAM-BA monitor getdata function using the board LEDs + */ +static uint32_t sam_ba_getdata_xmd(t_monitor_if* pInterface, void const* data, uint32_t length) +{ + uint32_t result ; + + LEDRX_on(); + result=pInterface->getdata_xmd(data, length); + LEDRX_off(); + + return result; +} + /** - * \brief This function allows data rx by USART + * \brief This function allows data emission by USART * * \param *data Data pointer * \param length Length of the data @@ -141,10 +198,10 @@ void sam_ba_putdata_term(uint8_t* data, uint32_t length) buf[1] = 'x'; buf[length * 2 + 2] = '\n'; buf[length * 2 + 3] = '\r'; - ptr_monitor_if->putdata(buf, length * 2 + 4); + sam_ba_putdata(ptr_monitor_if, buf, length * 2 + 4); } else - ptr_monitor_if->putdata(data, length); + sam_ba_putdata(ptr_monitor_if, data, length); return; } @@ -187,12 +244,12 @@ static void put_uint32(uint32_t n) buff[7-i] = d > 9 ? 'A' + d - 10 : '0' + d; } - ptr_monitor_if->putdata(buff, 8); + sam_ba_putdata( ptr_monitor_if, buff, 8); } static void sam_ba_monitor_loop(void) { - length = ptr_monitor_if->getdata(data, SIZEBUFMAX); + length = sam_ba_getdata(ptr_monitor_if, data, SIZEBUFMAX); ptr = data; for (i = 0; i < length; i++, ptr++) @@ -203,7 +260,7 @@ static void sam_ba_monitor_loop(void) { if (b_terminal_mode) { - ptr_monitor_if->putdata("\n\r", 2); + sam_ba_putdata(ptr_monitor_if, "\n\r", 2); } if (command == 'S') { @@ -235,13 +292,13 @@ static void sam_ba_monitor_loop(void) ptr--; //Do we expect more data ? if(jgetdata_xmd(ptr_data, current_number-j); + sam_ba_getdata_xmd(ptr_monitor_if, ptr_data, current_number-j); __asm("nop"); } else if (command == 'R') { - ptr_monitor_if->putdata_xmd(ptr_data, current_number); + sam_ba_putdata_xmd(ptr_monitor_if, ptr_data, current_number); } else if (command == 'O') { @@ -282,35 +339,35 @@ static void sam_ba_monitor_loop(void) else if (command == 'T') { b_terminal_mode = 1; - ptr_monitor_if->putdata("\n\r", 2); + sam_ba_putdata(ptr_monitor_if, "\n\r", 2); } else if (command == 'N') { if (b_terminal_mode == 0) { - ptr_monitor_if->putdata("\n\r", 2); + sam_ba_putdata( ptr_monitor_if, "\n\r", 2); } b_terminal_mode = 0; } else if (command == 'V') { - ptr_monitor_if->putdata("v", 1); - ptr_monitor_if->putdata((uint8_t *) RomBOOT_Version, strlen(RomBOOT_Version)); - ptr_monitor_if->putdata(" ", 1); - ptr_monitor_if->putdata((uint8_t *) RomBOOT_ExtendedCapabilities, strlen(RomBOOT_ExtendedCapabilities)); - ptr_monitor_if->putdata(" ", 1); + sam_ba_putdata( ptr_monitor_if, "v", 1); + sam_ba_putdata( ptr_monitor_if, (uint8_t *) RomBOOT_Version, strlen(RomBOOT_Version)); + sam_ba_putdata( ptr_monitor_if, " ", 1); + sam_ba_putdata( ptr_monitor_if, (uint8_t *) RomBOOT_ExtendedCapabilities, strlen(RomBOOT_ExtendedCapabilities)); + sam_ba_putdata( ptr_monitor_if, " ", 1); ptr = (uint8_t*) &(__DATE__); i = 0; while (*ptr++ != '\0') i++; - ptr_monitor_if->putdata((uint8_t *) &(__DATE__), i); - ptr_monitor_if->putdata(" ", 1); + sam_ba_putdata( ptr_monitor_if, (uint8_t *) &(__DATE__), i); + sam_ba_putdata( ptr_monitor_if, " ", 1); i = 0; ptr = (uint8_t*) &(__TIME__); while (*ptr++ != '\0') i++; - ptr_monitor_if->putdata((uint8_t *) &(__TIME__), i); - ptr_monitor_if->putdata("\n\r", 2); + sam_ba_putdata( ptr_monitor_if, (uint8_t *) &(__TIME__), i); + sam_ba_putdata( ptr_monitor_if, "\n\r", 2); } else if (command == 'X') { @@ -334,7 +391,7 @@ static void sam_ba_monitor_loop(void) } // Notify command completed - ptr_monitor_if->putdata("X\n\r", 3); + sam_ba_putdata( ptr_monitor_if, "X\n\r", 3); } else if (command == 'Y') { @@ -393,7 +450,7 @@ static void sam_ba_monitor_loop(void) } // Notify command completed - ptr_monitor_if->putdata("Y\n\r", 3); + sam_ba_putdata( ptr_monitor_if, "Y\n\r", 3); } else if (command == 'Z') { @@ -412,9 +469,9 @@ static void sam_ba_monitor_loop(void) crc = serial_add_crc(*data++, crc); // Send response - ptr_monitor_if->putdata("Z", 1); + sam_ba_putdata( ptr_monitor_if, "Z", 1); put_uint32(crc); - ptr_monitor_if->putdata("#\n\r", 3); + sam_ba_putdata( ptr_monitor_if, "#\n\r", 3); } command = 'z'; @@ -422,7 +479,7 @@ static void sam_ba_monitor_loop(void) if (b_terminal_mode) { - ptr_monitor_if->putdata(">", 1); + sam_ba_putdata( ptr_monitor_if, ">", 1); } } else diff --git a/bootloaders/zero/samd21_sam_ba.bin b/bootloaders/zero/samd21_sam_ba.bin index d727d0707f3031f1eb86ed72e76749ef1a997fa7..6380bd3dd27429294f01f295fc0cedd1aebc9e43 100644 GIT binary patch literal 7092 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 VBZNi}`imCKCe#T3b2J`){|i2{+8zJ^ diff --git a/bootloaders/zero/samd21_sam_ba.elf b/bootloaders/zero/samd21_sam_ba.elf index edee94811dd8e982f615dc00e61274864060a76b..0b94057f13d1e384c7ada698f26f34211d1cadb1 100644 GIT binary patch delta 74881 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'#+c7Yi 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 fYVGM`Mqqm|rI~G!TdCgl?K7ZQxWZ3@#5e0!a diff --git a/bootloaders/zero/samd21_sam_ba.hex b/bootloaders/zero/samd21_sam_ba.hex index 1fde99e8a..10228547f 100644 --- a/bootloaders/zero/samd21_sam_ba.hex +++ b/bootloaders/zero/samd21_sam_ba.hex @@ -1,376 +1,446 @@ -:10000000FC7F0020E9050000D5050000D9050000AF +:10000000FC7F0020710600005D0600006106000014 :1000100000000000000000000000000000000000E0 -:10002000000000000000000000000000DD050000EE -:100030000000000000000000E1050000E5050000F0 +:100020000000000000000000000000006506000065 +:100030000000000000000000690600006D060000DE :1000400010B5064C2378002B07D1054B002B02D0AE :10005000044800E000BF0123237010BD58000020B9 -:1000600000000000F816000008B5084B002B03D074 +:1000600000000000581B000008B5084B002B03D00F :100070000748084900E000BF07480368002B03D089 :10008000064B002B00D0984708BDC046000000007A -:10009000F81600005C000020540000200000000062 -:1000A00010B5C3699C07FCD403680224A343036012 -:1000B000C46901231C42FBD1046823430360036825 -:1000C000DC07FCD4C46901231C42FBD1C469DC40B9 -:1000D0001C42F7D1084B1A430260C3695A07FCD48B -:1000E000C0239B0243608181C3699C07FCD40368E1 -:1000F00002221343036010BD04000040037EDA07B0 -:10010000FCD5018570470000027E01235107FBD515 -:10011000428B1A4207D1428BDA401A4203D1428BFA -:1001200092081A4202D0034B01221A70008DC0B20D -:100130007047C0467400002070B50368041C988B9B -:100140001A1C0821FF32084228D0988B174D014312 -:10015000802099839872112353704021144B917120 -:1001600050715E68C0202E40800506435E605E6967 -:100170003540284358610F4818600F4818615D6882 -:100180000E4828408025AD02284358605868800BEF -:100190008003586000235171237105E0137ADA0659 -:1001A00002D5201C00F0A0FA207970BDFFFFFF8F60 -:1001B0008C0100208C0000200C010020FF3F00F08B -:1001C000002303714371044B016083600B780222AA -:1001D00013430B707047C0463901000038B5364BE9 -:1001E0002021DA6901200A43DA61344B06241A78A7 -:1001F00002431A70324B0F22197891431970197803 -:10020000214319702F490C782043087019780A404F -:100210001A701A7860210A431A702B4B2B4A5A80A5 -:100220005A7852B2002AFBDB294B01211A780A4383 -:100230001A709A78D107FCD426480268510B1F2205 -:100240001140914200D1052111408C011D8D2249A0 -:100250002940214319850468A10C0A401F2A00D1B6 -:100260001D221C8D1F210A408C4322431A850268DF -:100270000721D20D0A408A4200D103220A40188D7C -:100280001103164A02400A431A8519787F220A4050 -:100290001A701A78042112480A431A7058621A898F -:1002A0000C218A431A811A8901218A431A8100216B -:1002B000802201F0B6F838BD0004004058440041E7 -:1002C0003C44004159440041000C004006400000FD -:1002D00000500041246080003FF8FFFFFF8FFFFFC8 -:1002E0008C010020F7B5141C234A5F0101971D1CE7 -:1002F000D319061C5869271C4000400F03301033E7 -:10030000C74006D00F1C8022596812060A435A6063 -:1003100009E02F1C7B1E9F41184BBF01FF18381CA2 -:10032000221C01F075F8019913480835421817612D -:10033000131C5269A104920B890C92030A435A615F -:1003400059690F4A02200A405A616B01F318D979A2 -:10035000032211400143D8799043021C0A43DA7109 -:100360005979802252420A435A716B01F318DB79A2 -:100370009A07FAD5201CFEBD8C0100200C0100203C -:10038000FF3F00F0F8B51E4E041C3378151C002BFF -:1003900012D11C4B1C4A1A645A6C920B92035A6479 -:1003A000586C1A4A02405A64A2235B00E25C402067 -:1003B0000243E254012333704827FF37E25D0123F3 -:1003C00013401AD00F4B5A6C9204920CAA4202D2DC -:1003D0005D6CAD04AD0C081C2A1C0B4901F018F82B -:1003E000E25D03231A4001210A43E15D99430B1C9E -:1003F0001343E3550023337000E01D1C281CF8BD97 -:10040000750000208C010020CC000020FF3F00F090 -:10041000FF30827930239A43131C2022002900D117 -:1004200010221343837170470C4BFF305A6902212D -:10043000920B92035A61027A03231A400A43017A0B -:1004400099430B1C13430372827980235B4213434D -:100450008371037A9A07FCD57047C0468C0100204F -:1004600080235B421943C9B28172704770B5A023E3 -:1004700003225B00C254134B134A5C6CC02114402E -:1004800089050C4346255C64FF35402444550F4DD7 -:1004900030261D6490256D0046555D6B154029433F -:1004A000922559636D0080214155094D1D63B0258A -:1004B0006D0044555C6F22405A67B2235B00C15403 -:1004C00070BDC0468C010020FFFFFF8FCC000020D4 -:1004D0004C01002030B5364A1E235168082099434C -:1004E00002231943516033498A6902438A613248C1 -:1004F000324A9082908A03439382D3689807FCD54E -:100500002F4B012018701878C40704D52C48407868 -:1005100040B20028F7DB01209860587840B20028EC -:10052000FBDB284C26484460587840B20028FBDBAF -:1005300082242348E4014480587840B20028FBDB41 -:10054000908C8024A0439084D068C506FCD51E4CB6 -:100550001A48C462D4681948E506FBD5848C1B4D43 -:100560002C438484D4681548E506FBD5848C022589 -:100570002C438484D0680406FCD51048C068450626 -:10058000F8D5D068C406FCD500229A605A7852B2D9 -:10059000002AFBDB0E480A4A50605A7852B2002A01 -:1005A000FBDB00230B724B728B72CB7230BDC046EB -:1005B00000400041000400400C060000000800401C -:1005C000000C004001050100B805FF7D040A000091 -:1005D000000703000EBEFEE70DBEFEE705BEFEE708 -:1005E00002BEFEE701BEFEE70E4A0F4838B5824262 -:1005F00004D10E4A0E4B93420ED10AE00D4C9442A8 -:10060000F7D00023D1188842F3D9E55804330D60A0 -:10061000F8E700F011F804E09342FAD2002102C397 -:10062000FAE7FEE7000000205800002098030020B1 -:1006300058000020FC16000010B5244B0022197849 -:1006400001231940224B0AD11868224A904201D155 -:10065000196014E01A60204A013A002AFCD11A609D -:100660001E4B1968181C4A1C09D0FF22134206D1E0 -:1006700081F3088893431A4A936043681847FFF749 -:1006800029FF62B600F0F2FC00F0C8F9041CA36870 -:10069000201C9847134B002801D001221A701A78A9 -:1006A000002A05D0002000F035FA00F091FAFCE7AE -:1006B0001B78002BEBD100F04DFD0028E7D0012086 -:1006C00000F028FA00F084FAFCE7C0463804004045 -:1006D000FC7F00203581730748E8010000200000FE -:1006E00000ED00E076000020F8B50468051C201C31 -:1006F000FF30037AB64A10210B430372B54F1378CB -:10070000B5493B705378B54E0B7093783380D178F0 -:10071000338809020B4333801179B14B1980517929 -:100720001F8809020F431F809779AE490F80D27945 -:100730000F8812023A430A8040224271A648A54F10 -:1007400002783878A84F12020243181CBA4200D12E -:1007500099E01EDC802149008A4200D158E107DC83 -:10076000812A6AD0822A6ED0802A00D050E164E0CB -:1007700081235B009A4200D1AFE000DA23E1C0237D -:100780009B009A4200D143E1984B9A4200D11AE172 -:100790003EE190231B019A4242D015DCD023DB00BE -:1007A0009A4222D088231B019A4242D0A023DB0028 -:1007B0009A4200D02CE1201CFFF736FE31882868D1 -:1007C00089B2FFF74DFE27E1894B9A4200D1FAE04A -:1007D00000DC1DE1874B9A4200D1E8E0864B9A424B -:1007E00000D015E133886B71EDE033881B0A012BD3 -:1007F00008D10B8812222868934201D80A8892B245 -:100800007E49DCE033881B0A022B00D000E10B8814 -:1008100043222868934201D80A8892B27849CEE0F0 -:100820003388201C2B71FFF7FFFD201CFFF71EFEF5 -:10083000F2E0291C01C90122C1E0724900230B80AA -:1008400028680222BCE06F4900220A8018885022E2 -:1008500010406D4A10701E880F2030401880188894 -:10086000032800D9D4E012781B8808335B01E41810 -:10087000A379002A01D09B0600E0DB06DB0F0B808A -:10088000286802229BE019887F2291435E4AC9B200 -:10089000117018880F21014019803188002900D07B -:1008A000B6E01988002900D1B2E01988032900D9DF -:1008B000AEE012781B8808335B01E318002A05D0EC -:1008C0005A7930218A4320210A4304E05A793021A1 -:1008D0008A43102002435A7175E002887F239A43AD -:1008E000494BD2B21A7001880F220A400280328826 -:1008F000002A00D08CE00288002A00D188E002881B -:10090000032A00D984E01B78002B27D00388083302 -:100910005B01E3189B79990655D50388302108338C -:100920005B01E3181A798A4320210A431A7103886C -:1009300008335B01E318DB795A0644D5038860214C -:1009400008335B01E318DA798A4340210A43DA71FC -:100950000388022208335B01E31826E0038808338A -:100960005B01E3189B79DF062DD50388302108331E -:100970005B01E3181A798A4310210A431A7103882C -:1009800008335B01E318DB7999061CD503886021E5 -:1009900008335B01E318DA798A4320210A43DA71CC -:1009A0000388012208335B01E3181A710BE00B88FE -:1009B00008222868934201D80A8892B2134900237A -:1009C000FFF790FC28E0201CFFF72EFD24E0C04636 -:1009D0008C0000208100002077000020780000209B -:1009E0007C0000207E0000200203000001030000C4 -:1009F00021200000A1210000212200004C14000051 -:100A0000000000207A000020800000204400002028 -:100A1000201C0121FFF7FCFCF8BDC04610B5054BBA -:100A2000054C2360FFF7DAFB201C2168FFF7C8FBA9 -:100A3000201C10BD005000410C02002007B5054BE2 -:100A40000122019001A91868131CFFF74BFC01203B -:100A50000EBDC0460C02002013B5054B6C46073492 -:100A60001868211C0122FFF78DFC207816BDC046B6 -:100A70000C02002010B5074C201CFFF75DFB031C87 -:100A80000020834205D022684823FF33D05C012335 -:100A9000184010BD0C02002010B5054A0C1C031CA8 -:100AA000191C10680123221CFFF71CFC201C10BD20 -:100AB0000C02002070B5084C061C201C0D1CFFF712 -:100AC0003BFB0023984205D02068311C2A1CFFF70D -:100AD00059FC031C181C70BD0C020020F8B50C4C0E -:100AE000051C201C0E1CFFF727FB0023271C341CB1 -:100AF00098420AD0002C07D0291C221C3868FFF726 -:100B000041FC241A2D18F5E7331C181CF8BDC0460B -:100B10000C020020012805D1054B064A1A60064B3D -:100B2000187004E0002802D1044A014B1A60704793 -:100B30007C0200208014000089000020CC140000FA -:100B400030B51A4B85B01B78002B29D0042901D170 -:100B5000026804E0022901D1028800E0027849001D -:100B600004A843180B3B5C1AA3420BD00F20104083 -:100B7000092802D83025284300E0373018701209C0 -:100B8000013BF1E701A830230370782343700A2268 -:100B900043189A700D22DA70054B04311B6801E08E -:100BA000034B1B68DB68984705B030BD8800002008 -:100BB0007C02002072B6EFF30883044A13600368D6 -:100BC00083F30888436818477047C04680020020B6 -:100BD000F0B58FB006A9CD4A0B1C31CA31C351CA3A -:100BE00051C360CA60C3CA4CCA48A3687A255B0374 -:100BF0005B0F9B005B58C8490360A26892B25343E5 -:100C00000A60C649C64A0B6000231360C54B1D70BD -:100C1000C54BC64D1B68281C1B6940219847C44B17 -:100C200000221860C34B1D60C34BC34DC04F1A60F8 -:100C3000286839688842EBD2BE4B1B681A78FF2AB5 -:100C400000D1F7E1232A00D0CEE1BC4E3378002B4F -:100C500005D0B54BBA481B680221DB689847B14BF9 -:100C60001B78532B38D13B682A6893421ED9B14870 -:100C700001322A609A1AB34B01681B680131016086 -:100C8000B14E9A4201D2326000E03360A44832682B -:100C90000068029000F0BCFB336829685A182A608B -:100CA000A44A1668F1181160A84A13702B68013B1A -:100CB0002B60A04B1A68013A1A60A44BA14A1B781A -:100CC00011688B4206D2984A954812680068C91A82 -:100CD00092699047C04676E1522B07D1904A924BD9 -:100CE00010681B68974A5B6911686BE14F2B05D14F -:100CF0008B4B944A1B6812681A7064E1482B05D12B -:100D0000874B904A1B6812681A805CE1572B05D10B -:100D1000834B8C4A1B6812681A6054E16F2B03D115 -:100D20007F4B0121186807E0682B08D17C4B854870 -:100D30001B6802211B880360FFF702FF43E1772B4A -:100D400006D1774B7F481B6804211B680360F3E7DB -:100D5000472B13D17B4B1868FFF72CFF7C4B1B688C -:100D600083F3088862B67B4B1B78002B00D12AE105 -:100D70006D4B06201B681B68984724E1542B04D157 -:100D800001233370684B1B685CE04E2B0BD133782A -:100D9000002B05D1644B6A481B680221DB68984729 -:100DA000002333700FE1562B50D15F4D01212B688A -:100DB0006948DB6898472B680321DB6867489847D8 -:100DC000674E2B68301CDB68012198472B680D218A -:100DD000DB68644898472B68301CDB680121984722 -:100DE000544F614B544E3B60002333603A1C311C1E -:100DF0001368581C10601B780393002B03D00B68FA -:100E000001330B60F4E72B683168DB68564898477C -:100E10002B685348DB68012198470398306053489A -:100E20003860444A1368591C11601A78424B002AF2 -:100E300003D01A6801321A60F3E72A681968D36888 -:100E400098472B68DB683E480221BBE03D4A582B9F -:100E500015D1304E314D366813682A68B10093427F -:100E600008D25808E06142482080207DC507FCD5A3 -:100E70005B18F4E72C4B3F481B68DB68A1E0592B5B -:100E800033D11268264B3C49002A02D11B680B6003 -:100E900026E00868196863688025AB4392086360A0 -:100EA000002A1DD0354B2380237DDE07FCD500238F -:100EB000184D2D680095AD08AB4202D3304D25800A -:100EC00006E09342FAD09D00465901334E51EFE7B8 -:100ED000257DEE07FCD59D0049194019D21ADFE7A0 -:100EE000114B28481B68DB686BE05A2B6BD10C4B0D -:100EF00017681D680026EF19BD4245D02878311CBF -:100F000000F04AF90135061CF6E7C04660140000FF -:100F100000400041340200202C0200202802002062 -:100F200078020020240200207C02002038020020E9 -:100F30001C02002020020020300200208800002037 -:100F4000C014000084020020880200201802002043 -:100F500080020020890000209C140000C5140000BD -:100F60009E140000E8140000A0140000AC1400005F -:100F700002A5FFFFB51400008400002044A5FFFF78 -:100F800004A5FFFFB91400002E4D2F482B68012146 -:100F9000DB68984707230F223240111C3609303195 -:100FA000092A00DD07311020C0186A468154013B30 -:100FB000F1D22B6804A8DB68082198472B682348E6 -:100FC000DB6803219847224D7A232B70214B0022A6 -:100FD0001A60214B1B7893422CD01A4B01211B68BD -:100FE0001E48DB68984725E0111C3039C8B2194B00 -:100FF000092804D81E683201114319601AE0111C37 -:101000004139052903D81868373A010106E0111C57 -:101010006139052904D81D68573A29010A4308E0B7 -:101020002C2A03D10E4A1E68166001E008490A7096 -:1010300000221A600B4B1A6801321A600A4B1A68B8 -:101040000132F2E57C020020BD140000BF14000054 -:10105000240200208402002088000020C314000025 -:1010600078020020300200202002002010B51C4B26 -:1010700001201A78022402431A701A4B0F221978A1 -:101080009143197019782143197017490C7820433E -:10109000087019780A401A701A7820210A431A70C9 -:1010A000124B04211A6A0A431A62114B114A5A80E0 -:1010B0005A7852B2002AFBDBC4220F480F49920330 -:1010C000FEF7EEFF0E4A002313700E4A13700E4A0D -:1010D00013700E4A13700E4A13700E4A137010BD2F -:1010E0004A440041354400414B4400410004004063 -:1010F000000C0040144000000008004204C500003D -:101100008C020020130300208D020020900200209A -:10111000140300201103002008B5C1B20248FEF7F5 -:10112000EDFF012008BDC04600080042024B187EBA -:101130004007C00F7047C0460008004208B5FFF7DF -:10114000F5FF0028FBD00248FEF7DEFF08BDC046D1 -:101150000008004208B5FFF7E9FF0023984205D0D8 -:10116000FFF7ECFF031C233B5A425341181C08BDF8 -:1011700070B5041C0D1C4618B44204D02078FFF74B -:10118000CBFF0134F8E7281C70BD10B5041CFFF735 -:10119000D5FF2070012010BD0B0A5840034B4000C2 -:1011A000C05A0902484080B27047C046F614000099 -:1011B000F7B50024051C0F1C261CBC4220D0FFF7ED -:1011C000BDFF114BC0B21B780190002B1AD1311C0E -:1011D000FFF7E2FF0D4B061C1A88002A04D10C4AC7 -:1011E00011782A1C002907D001996A1C2970802FC8 -:1011F00002D11988013919800134A4B2151CDCE729 -:10120000301C00E00120FEBD110300208E020020F2 -:1012100012030020F0B53E4E85B0002203900C1C56 -:1012200032703C4B914201D1012201E03A490C80DD -:101230001A707F231C4201D080349C43FFF77EFF4D -:101240003378C0B2002B07D000253570FFF776FF4A -:101250003378C0B2AB4236D1432803D0712853D083 -:101260001528EBD1012300930120FFF755FF0098CB -:10127000FFF752FF00998025C843C0B2FFF74CFF2B -:10128000039B00270293244A1388002B1DD1214978 -:1012900001930978002918D10198FFF73DFF391C07 -:1012A0000198FFF779FF013D071C002DEBD1000AE3 -:1012B000C0B2FFF731FFF8B2FFF72EFFFFF73EFF96 -:1012C0003378002B0AD035701FE00299013B097872 -:1012D0001380029B019101330293DDE7C0B206281F -:1012E00007D1009B03990133DBB280310093803C2E -:1012F0000391002CB8D10420FFF70EFFFFF71EFF6B -:10130000044B01251C7000E00025281C05B0F0BD31 -:1013100011030020120300208E020020F0B5384C8B -:1013200087B0002301902370994201D1012301E08D -:10133000344A1180344A642613704320FFF7ECFED0 -:10134000324FFFF7F3FE002803D1002F03D0013FF7 -:10135000F7E7002F03D1013E002EEED14DE001252D -:10136000FFF7ECFE2378002B38D1C0B202900128A1 -:1013700005D004283DD10620FFF7CEFE39E005AEAA -:101380000221301CFFF714FF01988021FFF710FFA6 -:1013900023780390002B18D1FFF7D0FE0702FFF748 -:1013A000CDFEBFB223783F18BFB2012B0DD0039BF7 -:1013B0009F4207D13378AB4204D1EB437278DBB262 -:1013C0009A4204D01820FFF7A7FE002303E006206E -:1013D000FFF7A2FE029B2278002A02D00026267088 -:1013E0000BE0012B05D1019A6B1C8032DDB201921A -:1013F000B6E7054A002313700126301C07B0F0BD84 -:10140000110300208E0200201203002000350C0082 -:1014100010B50023934203D0CC5CC4540133F9E7E8 -:1014200010BD031C8218934202D019700133FAE7F1 -:1014300070470000F8B5C046F8BC08BC9E4670472F -:10144000F8B5C046F8BC08BC9E46704712010002C1 -:101450000200004041234D00000200000001000096 -:101460000800000010000000200000004000000004 -:1014700080000000000100000002000000040000E5 -:10148000191100003D1100002D1100007111000024 -:101490008B110000151200001D13000076002000C3 -:1014A0004F637420313020323031350031353A35D8 -:1014B000373A343500580A0D00590A0D005A0023F6 -:1014C0000A0D003E00322E30000000003D0A0000F0 -:1014D000590A0000750A0000990A0000B50A0000C8 -:1014E000990A0000DD0A00005B41726475696E6F45 -:1014F0003A58595A5D000000211042206330844060 -:10150000A550C660E770088129914AA16BB18CC1D2 -:10151000ADD1CEE1EFF13112100273325222B55249 -:101520009442F772D662399318837BB35AA3BDD322 -:101530009CC3FFF3DEE36224433420040114E66419 -:10154000C774A44485546AA54BB528850995EEE572 -:10155000CFF5ACC58DD55336722611163006D77629 -:10156000F6669556B4465BB77AA719973887DFF7C2 -:10157000FEE79DD7BCC7C448E5588668A7784008F1 -:10158000611802282338CCC9EDD98EE9AFF9488912 -:1015900069990AA92BB9F55AD44AB77A966A711A89 -:1015A000500A333A122AFDDBDCCBBFFB9EEB799B62 -:1015B000588B3BBB1AABA66C877CE44CC55C222CD9 -:1015C000033C600C411CAEED8FFDECCDCDDD2AADB2 -:1015D0000BBD688D499D977EB66ED55EF44E133E69 -:1015E000322E511E700E9FFFBEEFDDDFFCCF1BBF02 -:1015F0003AAF599F788F8891A981CAB1EBA10CD1DC -:101600002DC14EF16FE18010A100C230E3200450E3 -:10161000254046706760B9839893FBA3DAB33DC356 -:101620001CD37FE35EF3B1029012F322D232354233 -:10163000145277625672EAB5CBA5A89589856EF5E6 -:101640004FE52CD50DC5E234C324A0148104667483 -:10165000476424540544DBA7FAB79987B8975FE736 -:101660007EF71DC73CD7D326F2369106B0165766D3 -:101670007676154634564CD96DC90EF92FE9C899BE -:10168000E9898AB9ABA94458654806782768C01823 -:10169000E1088238A3287DCB5CDB3FEB1EFBF98B96 -:1016A000D89BBBAB9ABB754A545A376A167AF10A73 -:1016B000D01AB32A923A2EFD0FED6CDD4DCDAABDA6 -:1016C0008BADE89DC98D267C076C645C454CA23CC3 -:1016D000832CE01CC10C1FEF3EFF5DCF7CDF9BAF76 -:1016E000BABFD98FF89F176E367E554E745E932E13 -:0C16F000B23ED10EF01E00000000000011 -:1016FC0009024300020100803209040000010202C9 -:10170C000000052400100104240200052406000139 -:10171C000524010001070583030800FF09040100EB -:10172C00020A0000000705810240000007050202C2 -:10173C004000000000C20100000008006900000029 -:08174C00410000000000000054 -:04000003000005E90B +:10009000581B00005C0000205400002000000000FD +:1000A00010B50124C3695B081C42FBD1036802241C +:1000B000A34303600124C3691C42FCD104680123EB +:1000C00023430360012403681C42FCD10124C3695B +:1000D0001C42FCD1C3695B081C42F8D10A4B1A438D +:1000E00002600122C3699B081A42FBD1C0239B0214 +:1000F000436081810122C3695B081A42FBD1026817 +:1001000002231343036010BD040000400122037E5C +:100110001A42FCD0018570470122037E9B081A42D7 +:10012000FBD0438BDA0705D4438B9A0702D4438B69 +:100130005A0702D50122024B1A70008DC0B27047D7 +:1001400074000020F8B5041C03689A8B11072FD5A2 +:10015000998B08220A439A8380229A721120802167 +:100160004900585440200621FF315854822149004B +:100170005A54144A5768144E3740C025AD052F43D2 +:10018000576057693E4035435561104D1560104D1D +:10019000156156680F4D35408026B60235435560CF +:1001A0005568AD0BAD03556058540023237106E02C +:1001B0000822FF329B5CDA0601D500F015FB20799E +:1001C000F8BDC0468C010020FFFFFF8F8C0000208F +:1001D0000C010020FF3F00F0016000230371437118 +:1001E000034B83600A78022313430B707047C046A9 +:1001F0004501000010B5394BD96920220A43DA6164 +:10020000374B5822995C0120014399543C22995C58 +:100210000F24A14399549C5C0621214399545921F0 +:100220005C5C20435854985C0F2101409954985CC1 +:100230006021014399542B4A2B4B5A801A1C537846 +:100240005BB2002BFBDB294B197801220A431A70A1 +:10025000191C01228B781A42FCD1254B1B689B0389 +:10026000DB0E1F2B00D10523204A9901108D214B55 +:1002700003400B4313851E4B1B685B02DB0E1F2BD9 +:1002800000D11D23194A118D1F2081430B43138573 +:10029000174B1A689201520F072A00D10322134B01 +:1002A0001103188D144A02400A431A851A787F21D7 +:1002B0000A401A70197804220A431A700F485862CB +:1002C0001A890C218A431A811A8901218A431A81C9 +:1002D0000021802201F0CFFA10BDC046000400408A +:1002E0000044004106400000000C00400050004166 +:1002F000246080003FF8FFFFFF8FFFFF8C0100208C +:10030000F0B5474680B4041C171C1D1C1E1C5B0165 +:10031000274AD31810335B685B005B0F033301225D +:100320009A40BA4208D86B01214AD31858698022F2 +:10033000120602435A610BE02A1C531E9A41920195 +:100340001C4BD2189046101C3A1C01F08BFA414607 +:100350006B01174AD218131C1161B904890C526938 +:10036000920B92030A435A615969134A0A405A612F +:100370002B1C08335B01E318DA7903210A400221C0 +:100380000A43D979032081430A43DA7159798022DB +:1003900052420A435A710836760103250221A319F5 +:1003A000DB792B401942FAD0381C04BC9046F0BDD2 +:1003B0008C0100200C010020FF3F00F038B5041C28 +:1003C000151C1F4B1B78002B13D11E4B1E4A1A64A1 +:1003D0005A6C920B92035A64586C1C4A02405A643D +:1003E000A2235B00E05C40220243E2540122144B52 +:1003F0001A704823FF33E35CDA071ED5114B5B6CA0 +:100400009B049B0CAB4203D20E4B5D6CAD04AD0C58 +:10041000081C0D492A1C01F025FA4823FF33E25C31 +:1004200003210A4001210A43E15C032081430A437E +:10043000E2540022024B1A7000E00025281C38BD4F +:10044000750000208C010020CC000020FF3F00F050 +:10045000002908D00623FF33C25C30218A432021C3 +:100460000A43C25407E00623FF33C25C30218A43AB +:1004700010210A43C254704710B5104B5A69920BB1 +:1004800092035A610823FF33C25C03210A40022110 +:100490000A43C15C0324A1430A43C2540623FF3329 +:1004A000C15C802252420A43C2540824FF34032113 +:1004B0000222035D0B401A42FBD010BD8C010020CC +:1004C00080235B421943C9B28172704770B5032221 +:1004D000A0235B00C254134B5C6C134A1440C02130 +:1004E00089050C435C6440244625FF3544550F4D77 +:1004F0001D64302690256D0046555D6B15402943DF +:100500005963802192256D004155094D1D63B02529 +:100510006D0044555C6F22405A67B2235B00C154A2 +:1005200070BDC0468C010020FFFFFF8FCC00002073 +:100530004C010020404B5A681E218A4302210A4385 +:100540005A603E4B996908220A439A613C4B3D4AE6 +:100550009A82998A02220A439A82191C0222CB6843 +:100560001A42FCD00122384B1A7001211A780A4233 +:1005700003D05A7852B2002AF8DB0122324B9A603B +:100580001A1C53785BB2002BFBDB304A2E4B5A60AF +:100590001A1C53785BB2002BFBDB8222D2012A4B60 +:1005A0005A801A1C53785BB2002BFBDB244B9A8CCD +:1005B00080218A439A84191C1022CB681A42FCD0ED +:1005C000234A1F4BDA62191C1022CB681A42FCD056 +:1005D0001B4B998C1F4A0A439A84191C1022CB6822 +:1005E0001A42FCD0164B998C02220A439A841A1C98 +:1005F00080214020D3681942FCD0D3681842F9D03A +:100600000F491022CB681A42FCD000220E4B9A6090 +:100610001A1C53785BB2002BFBDB0F4A0A4B5A6063 +:100620001A1C53785BB2002BFBDB044B00221A72BE +:100630005A729A72DA72704700400041000400401A +:10064000000800400C060000000C004001050100FD +:10065000B805FF7D040A0000000703000EBEFEE798 +:100660000DBEFEE705BEFEE702BEFEE701BEFEE7E9 +:1006700010B5184B184A9A4216D0131C174A9A42C2 +:1006800012D0144B144A9A420ED2154B1148033023 +:10069000C01A8008013080000023111C0F4AD45872 +:1006A000CC5004338342FAD10E4B0F4A9A420DD0FC +:1006B0000CD20E4B0B490331C91A8908013189004C +:1006C000043BC918002204C38B42FCD100F010F88F +:1006D000FEE7C04658000020000000205C1B000020 +:1006E000040000209C030020580000205C00002033 +:1006F00070B53823324AD35CDA0703D50022314B78 +:100700001A6012E02F4B1A682F4B9A4203D1002235 +:100710002C4B1A601DE02C4A2A4B1A602B4B013BD4 +:10072000002BFCD10022274B1A60294B1A68531C5E +:100730000FD0284B28490B60043BFF210B4208D106 +:1007400082F30888FF229343244A9360204B5B681E +:100750001847FFF7EFFE62B600F066FE00F070FA91 +:10076000041C1F4B802292029A609A610822882101 +:100770005A5098215A50802212059A609A61194E57 +:10078000351C201CA2689047002802D00123154A7E +:1007900013703378002B05D0002000F0E1FA00F050 +:1007A00057FBFCE72B78002BEBD100F0B1FE0028C3 +:1007B000E7D0012000F0D4FA00F04AFBFCE7C04685 +:1007C00000040040FC7F00203581730748E80100E9 +:1007D00000200000042000000C02002000ED00E0DA +:1007E0000044004176000020F8B5061C0468082388 +:1007F000FF33E15C10220A43E254AD4B1A78AD4D51 +:100800002A705A78AC490A709878AC4A10801788D8 +:10081000D8780002384310801879A94A10801788C8 +:1008200058790002384310809879A64A10801088C1 +:10083000DB791B0203431380402282235B00E254D6 +:100840000B782A781B0213439F4A934200D1E7E0BA +:1008500026DC80225200934200D11FE18022520008 +:10086000934209DC812B00D193E0822B00D198E0E8 +:10087000802B00D0D4E184E081225200934200D149 +:1008800036E181225200934200DA0CE1C02292004C +:10089000934200D1BBE08D4A934200D1BCE0BFE15E +:1008A0009022120193425BD09022120193420DDC00 +:1008B000D022D20093421CD088221201934259D0F8 +:1008C000A022D200934200D0AAE13FE0804A9342A6 +:1008D00000D18BE104DC7F4A934200D1DEE09FE14E +:1008E0007D4A934200D185E17C4A934200D190E158 +:1008F00096E1724B1B881B0A012B0ED13068714B9D +:100900001B889BB21222122B02D86E4B1A8892B20D +:1009100073490023FFF7F4FC86E1684B1B881B0A30 +:10092000022B0ED13068674B1B889BB24322432BAE +:1009300002D8644B1A8892B26A490023FFF7E0FCA0 +:1009400072E1201C0121FFF783FD6DE1201CFFF700 +:1009500093FD5A4B198889B23068FFF7B1FD63E106 +:10096000564B1B883371201CFFF786FD201CFFF7B8 +:10097000ADFD59E1311C01C901220023FFF7C0FC84 +:1009800052E1594900230B8030680222FFF7B8FC7E +:100990004AE1554900230B8030680222FFF7B0FC82 +:1009A00042E10022504B1A80454B198850221140D9 +:1009B0004E4A117019880F220A401A801B889BB278 +:1009C000032B1FD8494B1B78002B0AD03C4B1B88AC +:1009D00008335B01E418A2799206D20F424B1A80C9 +:1009E00009E0374B1B8808335B01E418A279D20673 +:1009F000D20F3D4B1A8030683B4902220023FFF79B +:100A00007FFC11E1201C0121FFF722FD0CE1201CDD +:100A10000121FFF71DFD07E1201CFFF72DFD03E17C +:100A2000274B19887F229143C9B2304A1170198827 +:100A30000F220A401A80214B1B889BB2002B28D121 +:100A40001F4B1B889BB2002B23D01D4B1B889BB2D6 +:100A5000032B1ED8254B1B78002B0BD0184B1B8863 +:100A600008335B01E3185A7930218A4320210A4375 +:100A70005A710AE0124B1B8808335B01E3185A795C +:100A800030218A4310210A435A71201CFFF7F4FCDD +:100A9000CAE0201C0121FFF7DBFCC5E0201C01217E +:100AA000FFF7D6FCC0E0201CFFF7E6FCBCE0C04628 +:100AB0008C000020810000207700002078000020BA +:100AC0007C0000207E0000200203000001030000E3 +:100AD00021200000010B0000A121000021220000C4 +:100AE000A0180000000000207A00002080000020F4 +:100AF0004E4B19887F229143C9B24D4A1170198813 +:100B00000F220A401A804B4B1B889BB2002B68D1E6 +:100B1000464B1B889BB2002B63D0444B1B889BB277 +:100B2000032B5ED8424B1B78002B2BD03F4B1B88EE +:100B300008335B01E3189B799A064ED53B4B1A8824 +:100B400008325201A218117930208143202001433C +:100B500011711B8808335B01E318DB795A063CD519 +:100B6000324B1A8808325201A218D079602188438A +:100B700040210143D1711B8808335B01E318022235 +:100B80001A712AE0294B1B8808335B01E3189B7913 +:100B9000DA0622D5254B1A8808325201A21811799B +:100BA000302081431020014311711B8808335B0101 +:100BB000E318DB799A0610D51C4B1A8808325201CB +:100BC000A218D0796021884320210143D1711B886C +:100BD00008335B01E31801221A71201CFFF74CFC5B +:100BE00022E0201C0121FFF733FC1DE0201CFFF751 +:100BF00043FC19E03068104B1B889BB20822082B7D +:100C000002D80D4B1A8892B20C490023FFF778FBEB +:100C10000AE0084B1B887371201CFFF72DFC03E0D2 +:100C2000201C0121FFF714FCF8BDC0467C00002009 +:100C300080000020780000207E000020440000207A +:100C400010B5054C054B2360FFF7D4FA201C216832 +:100C5000FFF7C2FA201C10BD100200200050004116 +:100C600000B583B00190054B186801A9012201234A +:100C7000FFF746FB012003B000BDC0461002002074 +:100C800010B582B0054B18686C460734211C012250 +:100C9000FFF794FB207802B010BDC0461002002080 +:100CA00008B50748FFF74EFA031C0020002B06D0BA +:100CB000034B1A684823FF33D05C0123184008BD5A +:100CC0001002002010B5031C0C1C044A1068191CEB +:100CD000221C0123FFF714FB201C10BD1002002072 +:100CE00038B5051C0C1C0748FFF72CFA0023002818 +:100CF00006D0044B1868291C221CFFF75FFB031C5D +:100D0000181C38BD10020020F8B5051C0F1C0C483B +:100D1000FFF718FA0023002810D0002F0BD03C1C3E +:100D2000074E3068291C221CFFF748FB241A2D1897 +:100D3000002CF6D101E03B1C00E03B1C181CF8BD68 +:100D40001002002038B5054C80252D05A561C3682B +:100D5000081C111C9847656138BDC046004400411D +:100D6000012806D1064A074B1A600122064B1A7069 +:100D700004E0002802D1054A024B1A607047C046C1 +:100D8000D418000080020020890000202C190000E7 +:100D9000F0B585B0021C8C46244B1B78002B33D059 +:100DA000042901D1036836E06346022B01D1038890 +:100DB00031E003786246560004AA90190B38002EE1 +:100DC0002ED10DE03D1C1D40092D02D815430570A4 +:100DD00001E0373505701B0901380134B442F1D305 +:100DE00001AB30221A7078225A70624601325200EA +:100DF0000A2199549E190D21F1700D49086802329B +:100E0000191CFFF79FFF0FE0094B1868111C624681 +:100E1000FFF798FF08E06246560004AA90190B38C5 +:100E200000240F273022CDE705B0F0BD8800002058 +:100E30008002002072B6EFF30883044A136003684F +:100E400083F30888436818477047C046840200202F +:100E5000F0B55F4656464D464446F0B48FB006A9FD +:100E6000CD4A0B1C31CA31C391CA91C3A0CAA0C3D9 +:100E7000CA4A93685B035B0F9B005B58C8490B60D1 +:100E8000926892B2C7490A605343C7490B60C74B87 +:100E900000221A607A22C64B1A70C6488246C6499A +:100EA0008B46082291460292C44D01350395574660 +:100EB0003B68029C584698214450C14C1B69201C39 +:100EC0004021984794234F465D46EF50BD4B186034 +:100ED000BD4B1C600022BD4B1A600028E7D0BA4E03 +:100EE00030680378FF2B00D153E2232B00D021E29E +:100EF000B74B1B78002B05D0AE4B1868B5490222C2 +:100F0000FFF720FFAA4B1B78532B44D1AD4B1B6836 +:100F1000AE4A1268934221D9AB48016801310160A1 +:100F20000132AA4802609A1AAB4B1868824202D278 +:100F3000AA4B1A6001E0A94B18609C4B1868A74C9B +:100F4000226800F08FFC2368A04A14681919116008 +:100F50009D4A1568E9181160A14A13709B4B1A68E5 +:100F6000013A1A60984B1A68013A1A609C4B1B7838 +:100F7000994A11688B420CD28E4A12688B480068DD +:100F80004D465F4698243D51C91A92699047942373 +:100F9000FD50C046BDE1522B0DD1864B1B68834AE4 +:100FA00010688D4A1168802424055F46BC615B6926 +:100FB00098477C61ADE14F2B05D17C4B1B68864A7D +:100FC00012681A70A5E1482B05D1784B1B68824A3C +:100FD00012681A809DE1572B05D1744B1B687E4A1D +:100FE00012681A6095E16F2B05D1704B18680121CA +:100FF000FFF7CEFE8DE1682B08D177486B4B1B685D +:101000001B8803600221FFF7C3FE82E1772B08D122 +:10101000664B1B681B68704803600421FFF7B8FE2D +:1010200077E1472B13D16C4B1868FFF703FF6D4B2B +:101030001B6883F3088862B66B4B1B78002B00D1CA +:1010400067E15C4B1B681B680620984761E1542BE5 +:1010500009D101225E4B1A70564B18685D49022275 +:10106000FFF770FE55E14E2B0DD1594B1B78002B2D +:1010700005D1504B186857490222FFF763FE002242 +:10108000534B1A7045E1562B58D14A4C20685749AA +:101090000122FFF757FE206855490322FFF752FE51 +:1010A000544D2068291C0122FFF74CFE206852494C +:1010B0000D22FFF747FE2068291C0122FFF742FEA0 +:1010C0000022424B1A60404B039C1C603B4D2B7826 +:1010D000002B00D16BE13D493B4A0B6801330B60AB +:1010E0001368581C10601B78002BF6D1314D374C1B +:1010F000286832492268FFF725FE28683D49012209 +:10110000FFF720FE002323603C4A2F4B1A605FE16B +:101110000B6801330B601368581C10601B78002BA0 +:10112000F6D1244C294B1A6820683549FFF70AFE8E +:10113000206828490222FFF705FEEAE0582B1FD15C +:10114000254B1868184B1B68984212D2134A2D4F32 +:10115000BC460121124D144C4308D36163461380F1 +:10116000137D1942FCD02F68BB00C0182368984239 +:10117000F2D3104B186824490322FFF7E3FDC8E0BF +:10118000592B00D08CE0144B1D68002D40D1074B2B +:101190001A681E4B1A607CE0B41800000040004141 +:1011A00038020020300200202C0200207C020020A7 +:1011B00028020020800200200044004100190000A5 +:1011C0003C020020200200202402002034020020E3 +:1011D00088000020F4180000880200208C02002003 +:1011E0001C0200208402002089000020F818000062 +:1011F000F0180000FC180000481900000D1900004C +:101200000C19000002A5FFFF18190000840000203F +:10121000AD08714B1C68714B1F68714B5A68802177 +:101220008A435A60002D34D0191C01206D4A904623 +:101230006D4B0B800B7D1842FCD06A4A1268032A62 +:1012400016D9002D16D0002200230097AC46251C8D +:10125000AF58009CA750013347463F68BC08A342E3 +:101260000AD204326345F3D1009F2C1C654606E088 +:10127000002304E0002302E0009F2C1C65465B4A2B +:101280000A800A7D1042FCD09A00BF18A418ED1AFB +:10129000CED1574B186857490322FFF753FD38E06A +:1012A0005A2B36D14D4B1F68534B1B68002B0CD06B +:1012B0003C1CFF180025291C207800F04DF9011C6A +:1012C0000134BC42F8D1051C00E00025484B1868E9 +:1012D0004A490122FFF736FD291C6B4617336D463C +:1012E0000F350F24221C0A400909101C3030092A2E +:1012F00000DD07301870013BAB42F3D13C4C206855 +:1013000004A94A46FFF71EFD20683D490322FFF766 +:1013100019FD7A223B4B1A700022374B1A603A4B68 +:101320001B78002B35D0324B186838490122FFF763 +:1013300009FD2EE01A1C303A092A06D82E4A303B05 +:10134000146821010B43136023E01A1C413A052A5B +:1013500006D8294A373B156829010B43136018E06A +:101360001A1C613A052A06D8234A573B17683901E7 +:101370000B4313600DE02C2B06D11F4B174A186846 +:10138000106000221A6004E01E4A137000221A4BFB +:101390001A601F4A1368013313601E4A1168013135 +:1013A00011601D4A1268934200D299E57FE5104D05 +:1013B000174C286819492268FFF7C4FC28681849A7 +:1013C0000122FFF7BFFC00232360164A114B1A606D +:1013D0000F49104A9CE6C046840000207C02002091 +:1013E000004000413802002044A5FFFF04A5FFFF94 +:1013F000800200201C190000880200202019000033 +:10140000241900002802002088000020281900006C +:1014100034020020240200202002002000190000D5 +:10142000FC1800000D19000010B51E4B4A22995CF3 +:101430000120014399543522995C0F24A14399540A +:101440009C5C0221214399544B215C5C20435854FD +:10145000985C0F2101409954985C202101439954D4 +:10146000114B196A04220A431A62104A104B5A801F +:101470001A1C53785BB2002BFBDB0E480E49C422CA +:101480009203FEF70DFE00230C4A13700C4A1370F2 +:101490000C4A13700C4A13700C4A13700C4A1370E8 +:1014A00010BDC0460044004100040040144000004C +:1014B000000C00400008004204C50000900200201B +:1014C0001A03002091020020940200201B03002038 +:1014D0001803002008B5C1B20248FEF717FE01202C +:1014E00008BDC04600080042024B187E4007C00FEE +:1014F0007047C0460008004208B5FFF7F5FF002816 +:10150000FBD00248FEF708FE08BDC04600080042B6 +:1015100008B5FFF7E9FF0023002805D0FFF7ECFF2F +:10152000031C233B5A425341181C08BD70B5041CD0 +:101530000E1E06D045182078FFF7CCFF0134AC42D0 +:10154000F9D1301C70BDC04610B5041CFFF7D4FFA4 +:101550002070012010BDC0460B0A5840400009020F +:10156000024BC05A484080B27047C046581900002C +:10157000F0B55F4656464D46E0B4061C8946002944 +:1015800028D00024002718498A46184A9346FFF7B6 +:10159000B3FFC5B251460B78002B1DD1281C391C56 +:1015A000FFF7DAFF071C5A461388002B03D1104BB4 +:1015B0001B78002B09D0731C35701E1C49468029EE +:1015C00003D10A490A88013A0A800134A4B24C4581 +:1015D000DDD103E0002002E0012000E0381C1CBC4B +:1015E00091469A46A346F0BD1803002092020020BF +:1015F00019030020F0B55F4656464D464446F0B408 +:1016000083B001908B4600224A4B1A70002903D107 +:101610000122494B1A700CE0484B19800022464BBE +:101620001A705A46520604D05B4680337F22934399 +:101630009B46404D2C1C0026FFF75EFF2B78002BAD +:101640000BD02670FFF758FFC0B22378002B05D0CF +:101650000022384B1A70002563E0C0B2432823D023 +:1016600071285DD01528E7D11EE00022314B1A7099 +:1016700057E0FF231840062809D1009B0133DBB255 +:10168000009380235B429B440199803101915A462B +:10169000002A10D10420FFF71DFFFFF72DFF0022C5 +:1016A000254B1A7001253CE001230093234988460D +:1016B0008946214B9A460120FFF70CFF0098FFF75F +:1016C00009FF0099C843C0B2FFF704FF019E8025BF +:1016D000002742461388002B04D151460A78002483 +:1016E000002A04D03478013B4A4613800136201C7E +:1016F000FFF7F0FE201C391CFFF72EFF071C013DF1 +:10170000002DE6D1000AC0B2FFF7E4FEF8B2FFF701 +:10171000E1FEFFF7F1FE074B1B78002BA9D0A4E7F1 +:101720000025281C03B03CBC90469946A246AB4617 +:10173000F0BDC046180300201903002092020020CB +:10174000F0B557464E46C0B483B0061C0022414B4C +:101750001A70002903D101223F4B1A7004E03F4B5D +:10176000198000223C4B1A7064253D4F4320FFF73F +:10177000B1FE3C1C00E0013CFFF7B6FE002802D1A0 +:10178000002CF8D101E0002C03D1013D002DEDD15A +:1017900059E001242F4D2F1CFFF7AEFE2A78002AB6 +:1017A00004D000222B4B1A7000254CE0FF2303408D +:1017B000012B02D0042B39D03BE001A80221FFF716 +:1017C000D7FE301C8021FFF7D3FE81463B78002BEB +:1017D00034D1FFF791FE000280B28246FFF78CFE03 +:1017E000504480B21B4A1378012B27D0814509D180 +:1017F00001AB1B78A34205D1E34301AA5278DBB2C7 +:101800009A4203D01820FFF765FE17E00620FFF785 +:1018100061FE104B1B78002B04D000220D4B1A7078 +:10182000002510E0631CDCB28036B5E70620FFF728 +:1018300051FE0022084B1A70012504E0054B1B786D +:10184000002BF6D0E9E7281C03B00CBC91469A4661 +:10185000F0BDC046180300201903002092020020AA +:1018600000350C0010B50023934203D0CC5CC45467 +:101870000133F9E710BD031C8218934202D019709E +:101880000133FAE770470000F8B5C046F8BC08BC61 +:101890009E467047F8B5C046F8BC08BC9E467047E7 +:1018A000120100020200004041234D00000200002E +:1018B00000010000080000001000000020000000EF +:1018C0004000000080000000000100000002000055 +:1018D00000040000D5140000F9140000E914000011 +:1018E0002D15000049150000F515000041170000F6 +:1018F000322E30000A0D00007600000020000000AB +:101900004F637420333020323031350031353A3076 +:10191000313A323200000000580A0D00590A0D0019 +:101920005A000000230A0D003E000000610C000078 +:10193000810C0000A10C0000C50C0000E10C0000AF +:10194000C50C0000090D00005B41726475696E6F83 +:101950003A58595A5D0000000000211042206330BF +:101960008440A550C660E770088129914AA16BB1F7 +:101970008CC1ADD1CEE1EFF131121002733252229F +:10198000B5529442F772D662399318837BB35AA347 +:10199000BDD39CC3FFF3DEE362244334200401146F +:1019A000E664C774A44485546AA54BB52885099597 +:1019B000EEE5CFF5ACC58DD553367226111630063F +:1019C000D776F6669556B4465BB77AA719973887E7 +:1019D000DFF7FEE79DD7BCC7C448E5588668A778FF +:1019E0004008611802282338CCC9EDD98EE9AFF937 +:1019F000488969990AA92BB9F55AD44AB77A966ADF +:101A0000711A500A333A122AFDDBDCCBBFFB9EEB86 +:101A1000799B588B3BBB1AABA66C877CE44CC55CAE +:101A2000222C033C600C411CAEED8FFDECCDCDDDD6 +:101A30002AAD0BBD688D499D977EB66ED55EF44E7E +:101A4000133E322E511E700E9FFFBEEFDDDFFCCF26 +:101A50001BBF3AAF599F788F8891A981CAB1EBA17A +:101A60000CD12DC14EF16FE18010A100C230E320F6 +:101A70000450254046706760B9839893FBA3DAB39E +:101A80003DC31CD37FE35EF3B1029012F322D23246 +:101A90003542145277625672EAB5CBA5A89589856E +:101AA0006EF54FE52CD50DC5E234C324A014810496 +:101AB0006674476424540544DBA7FAB79987B8973E +:101AC0005FE77EF71DC73CD7D326F2369106B016E6 +:101AD00057667676154634564CD96DC90EF92FE9FE +:101AE000C899E9898AB9ABA9445865480678276836 +:101AF000C018E1088238A3287DCB5CDB3FEB1EFBDE +:101B0000F98BD89BBBAB9ABB754A545A376A167A85 +:101B1000F10AD01AB32A923A2EFD0FED6CDD4DCDAD +:101B2000AABD8BADE89DC98D267C076C645C454CD5 +:101B3000A23C832CE01CC10C1FEF3EFF5DCF7CDF7D +:101B40009BAFBABFD98FF89F176E367E554E745E25 +:0C1B5000932EB23ED10EF01E00000000EB +:101B5C000902430002010080320904000001020264 +:101B6C0000000524001001042402000524060001D5 +:101B7C000524010001070583030800FF0904010087 +:101B8C00020A00000007058102400000070502025E +:101B9C004000000000C201000000080069000000C5 +:081BAC004100000000000000F0 +:040000030000067182 :00000001FF From b4270be7340aa0d1bdaddd55710ed08b4d942dfc Mon Sep 17 00:00:00 2001 From: Martino Facchin Date: Fri, 4 Dec 2015 12:56:28 +0100 Subject: [PATCH 3/4] [bl] add Leonardo-like led pulse --- bootloaders/zero/board_driver_led.h | 2 ++ bootloaders/zero/board_startup.c | 24 +++++++++++++++++++++--- bootloaders/zero/main.c | 4 ++-- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/bootloaders/zero/board_driver_led.h b/bootloaders/zero/board_driver_led.h index deafca637..a60a46b96 100644 --- a/bootloaders/zero/board_driver_led.h +++ b/bootloaders/zero/board_driver_led.h @@ -38,4 +38,6 @@ inline void LEDTX_on(void) { PORT->Group[BOARD_LEDTX_PORT].OUTCLR.reg = (1<Group[BOARD_LEDTX_PORT].OUTSET.reg = (1<Group[BOARD_LEDTX_PORT].OUTTGL.reg = (1< +#include "board_driver_led.h" struct ConstVectors { @@ -140,8 +141,25 @@ void PendSV_Handler(void) while (1); } +volatile uint8_t keepValue = 0; +volatile uint8_t targetValue = 20; +volatile int8_t direction = 1; + void SysTick_Handler(void) { - __BKPT(1); - while (1); -} + if (keepValue == 0) { + targetValue += direction; + LED_toggle(); + } + keepValue ++; + + if (targetValue > 240 || targetValue < 10) { + direction = -direction; + targetValue += direction; + } + + if (keepValue == targetValue) { + LED_toggle(); + } + //TC5->COUNT16.INTFLAG.bit.MC0 = 1; // Clear interrupt +} \ No newline at end of file diff --git a/bootloaders/zero/main.c b/bootloaders/zero/main.c index 8ee94f3bb..486051add 100644 --- a/bootloaders/zero/main.c +++ b/bootloaders/zero/main.c @@ -178,10 +178,10 @@ int main(void) #endif DEBUG_PIN_LOW; - + /* Initialize LEDs */ LED_init(); - LED_on(); + LED_configure(1000); LEDRX_init(); LEDRX_off(); LEDTX_init(); From 940c847b18002860a59a0d823df5476f6bf55240 Mon Sep 17 00:00:00 2001 From: Martino Facchin Date: Fri, 4 Dec 2015 12:58:01 +0100 Subject: [PATCH 4/4] [bl] update binaries --- bootloaders/zero/samd21_sam_ba.bin | Bin 7092 -> 6284 bytes bootloaders/zero/samd21_sam_ba.hex | 841 ++++++++++++++--------------- 2 files changed, 395 insertions(+), 446 deletions(-) mode change 100644 => 100755 bootloaders/zero/samd21_sam_ba.bin diff --git a/bootloaders/zero/samd21_sam_ba.bin b/bootloaders/zero/samd21_sam_ba.bin old mode 100644 new mode 100755 index 6380bd3dd27429294f01f295fc0cedd1aebc9e43..3fc2ed31b0b5e10c0fc6c24b4f936f10759116f7 GIT binary patch literal 6284 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