From bf5c5dae8b437b267f0bd806dd829095e447dbeb Mon Sep 17 00:00:00 2001 From: pavl_g Date: Wed, 16 Nov 2022 20:02:44 +0200 Subject: [PATCH 1/2] Setup-Script: added canonical directory and naming enhances --- avr-home.sh | 15 +++++++++++++++ common-variables.sh | 37 +++++++++++++++++++++++++++++++++++++ launch-sandbox-setup.sh | 14 ++++++++++++-- setup-sanbox.sh | 7 +++++++ 4 files changed, 71 insertions(+), 2 deletions(-) create mode 100755 avr-home.sh create mode 100755 common-variables.sh diff --git a/avr-home.sh b/avr-home.sh new file mode 100755 index 0000000..b0c2302 --- /dev/null +++ b/avr-home.sh @@ -0,0 +1,15 @@ +#** +#* Ccoffee Build tool, manual build, alpha-v1. +#* +#* @author pavl_g. +#*# +#!/bin/sh + +# store the value of the working directory +tmp=`pwd` +# get back to the root project to find the toolchain +cd ../.. +project_root=`pwd` +avr_home=$project_root'/avr8-gnu-toolchain-linux_x86_64' +# get back to the working directory +cd $tmp diff --git a/common-variables.sh b/common-variables.sh new file mode 100755 index 0000000..e7854b7 --- /dev/null +++ b/common-variables.sh @@ -0,0 +1,37 @@ +#** +#* Ccoffee Build tool, manual build, alpha-v1. +#* +#* @author pavl_g. +#*# +#!/bin/sh + +# Bash colors using ANSI +# favored the 24-bit (3 colors * 8-bit for each one<255>) color system +# Colors +# process failure color +RED_C='\033[38;2;255;50;50m' +# success color +GREEN_C='\e[38;2;0;180;0m' +# extra +WHITE_C='\e[38;2;255;255;255m' +# Java color +ORANGE_C='\e[38;2;250;155;0m' +# C alternative color +DARK_GREY_C='\e[1;30m' +# kotlin color +VIOLET_C='\e[38;2;217;80;223m' +# groovy color +CYAN_C='\e[38;2;0;155;255m' +# C++ color +MAGNETA_C='\e[38;2;170;150;150m' +# Scala color +BRIGHT_RED_C='\e[38;2;200;120;120m' +# Highlights +RED_H='\033[1;41m' +GREEN_H='\033[1;42m' +WHITE_H='\e[1;47m' +# Flashes +RED_C_F='\033[1;5;41m' +GREEN_C_F='\033[1;5;42m' +WHITE_C_F='\e[1;5;47m' +RESET_Cs='\033[0;0m' diff --git a/launch-sandbox-setup.sh b/launch-sandbox-setup.sh index c6611cc..120386a 100755 --- a/launch-sandbox-setup.sh +++ b/launch-sandbox-setup.sh @@ -1,5 +1,15 @@ -source setup-sanbox.sh -source CommonVariables.sh +#** +#* Ccoffee Build tool, manual build, alpha-v1. +#* +#* @author pavl_g. +#*# +#!/bin/sh + +canonical_link=`readlink -f ${0}` +sandbox_dir=`dirname $canonical_link` + +source "${sandbox_dir}/setup-sanbox.sh" +source "${$sandbox_dir}/common-variables.sh" confirmDownload diff --git a/setup-sanbox.sh b/setup-sanbox.sh index 5c6801f..6ccfe0e 100755 --- a/setup-sanbox.sh +++ b/setup-sanbox.sh @@ -1,4 +1,11 @@ +#** +#* Ccoffee Build tool, manual build, alpha-v1. +#* +#* @author pavl_g. +#*# +#!/bin/sh + # setup variables avrgcc_compressed='avr-gcc.tar.gz' From 7b368aa8211a98e5eb6ca4e370b583b0202b1790 Mon Sep 17 00:00:00 2001 From: pavl_g Date: Tue, 13 Dec 2022 05:51:46 +0200 Subject: [PATCH 2/2] AvrDataTypes: build-script enhances --- AvrDataTypes/build/build.sh | 14 +- AvrDataTypes/build/compile.sh | 38 +++- AvrDataTypes/build/readPort.sh | 40 +++- AvrDataTypes/build/upload.sh | 20 +- AvrDataTypes/build/variables.sh | 17 +- AvrDataTypes/main/lib/SerialCounter.c | 2 +- AvrDataTypes/output/hello-avr-types.elf | Bin 0 -> 11864 bytes AvrDataTypes/output/hello-avr-types.elf.hex | 208 ++++++++++++++++++++ AvrDataTypes/output/libAvrDataTypes | Bin 11380 -> 0 bytes AvrDataTypes/output/libAvrDataTypes.hex | 201 ------------------- 10 files changed, 309 insertions(+), 231 deletions(-) create mode 100755 AvrDataTypes/output/hello-avr-types.elf create mode 100644 AvrDataTypes/output/hello-avr-types.elf.hex delete mode 100755 AvrDataTypes/output/libAvrDataTypes delete mode 100644 AvrDataTypes/output/libAvrDataTypes.hex diff --git a/AvrDataTypes/build/build.sh b/AvrDataTypes/build/build.sh index fae2af6..818d621 100755 --- a/AvrDataTypes/build/build.sh +++ b/AvrDataTypes/build/build.sh @@ -1,6 +1,16 @@ +#** +#* Ccoffee Build tool, manual build, alpha-v1. +#* +#* @author pavl_g. +#*# +#!/bin/sh + +canonical_link=`readlink -f ${0}` +build_dir=`dirname $canonical_link` + echo "Ccoffee Script starts" echo "---------------------------------------------" -source compile.sh -source upload.sh +source "${build_dir}/compile.sh" +source "${build_dir}/upload.sh" echo "---------------------------------------------" echo "Ccoffee Script finishes" diff --git a/AvrDataTypes/build/compile.sh b/AvrDataTypes/build/compile.sh index 6755ada..1afe99b 100755 --- a/AvrDataTypes/build/compile.sh +++ b/AvrDataTypes/build/compile.sh @@ -1,20 +1,34 @@ -source variables.sh -export LC_ALL=C +#** +#* Ccoffee Build tool, manual build, alpha-v1. +#* +#* @author pavl_g. +#*# +#!/bin/sh + +# export all locales as "en_US.UTF-8" for the gcc compiler +export LC_ALL="en_US.UTF-8" + +canonical_link=`readlink -f ${0}` +build_dir=`dirname $canonical_link` + +source "${build_dir}/variables.sh" + function compile() { # attrs : dir to compile & sharedLib name - nativeSources=`find ${project}'/main' -name '*.c' -o -name '*.cxx' -o -name '*.cpp' -o -name '*.h' -o -name '*.c++'` + native_sources=`find ${project}'/main' -name '*.c' -o -name '*.cxx' -o -name '*.cpp' -o -name '*.h' -o -name '*.c++'` - sudo ${AVR_HOME}'/bin/avr-g++' \ - -mmcu=${CHIP} ${nativeSources} \ + sudo ${avr_home}'/bin/avr-g++' \ + -mmcu=${CHIP} ${native_sources} \ -O2 \ - -I${AVR_HOME}'/avr/include' \ + -I${avr_home}'/avr/include' \ -I${project}'/main/include' \ -o ${output} + return $? } function convertToHex() { - ${AVR_HOME}'/bin/avr-objcopy' -O ihex ${output} ${output}'.hex' + ${avr_home}'/bin/avr-objcopy' -O ihex ${output} ${output}'.hex' return $? } @@ -22,7 +36,9 @@ echo -e "${WHITE_C} --MajorTask@Compile : Compiling the project" echo -e ${RESET_Cs} -if [[ ! `compile` -eq 0 ]]; then +compile + +if [[ ! $? -eq 0 ]]; then echo -e "${RED_C} --MajorTask@Compile : Failed compiling sources, exits with errno500." exit 500 else @@ -31,10 +47,14 @@ fi echo -e ${RESET_Cs} echo -e "${WHITE_C} --MajorTask@Hexing : Creating Hex file" -if [[ ! `convertToHex` -eq 0 ]]; then + +convertToHex + +if [[ ! $? -eq 0 ]]; then echo -e "${RED_C} --MajorTask@Hexing : Failed to create hex file, exits with errno600." exit 600 else echo -e "${GREEN_C} --MajorTask@Hexing : Hex file created successfully." fi + echo -e ${RESET_Cs} diff --git a/AvrDataTypes/build/readPort.sh b/AvrDataTypes/build/readPort.sh index 6bcf697..dfe3099 100755 --- a/AvrDataTypes/build/readPort.sh +++ b/AvrDataTypes/build/readPort.sh @@ -1,18 +1,44 @@ -PORT='/dev/ttyUSB0' -BAUD_RATE='57600' +#** +#* Ccoffee Build tool, manual build, alpha-v1. +#* +#* @author pavl_g. +#*# +#!/bin/sh -echo "\n" +canonical_link=`readlink -f ${0}` +build_dir=`dirname $canonical_link` -echo "Started reading PORT [$PORT] to terminate hold [CTRL+A+D]\n" +source "${build_dir}/variables.sh" -adjustBaudRate() { +function prepare() { + sudo apt-get install screen +} + +function adjustBaudRate() { stty -F $1 $2 } -readPort() { - screen "$1" "$BAUD_RATE" +function holdStill() { + for ((i = 0; i < 4; i++)) + do + sleep 2 + printf "....." + done + printf "\n" +} + +function readPort() { + screen -R "READ-PORT" -U "$1" "$BAUD_RATE" } +printf "Preparing the [screen] util\n" + +prepare + adjustBaudRate "$PORT" "$BAUD_RATE" +printf "Started reading PORT [$PORT] to terminate hold [CTRL+A+D]\n" + +holdStill + readPort "$PORT" diff --git a/AvrDataTypes/build/upload.sh b/AvrDataTypes/build/upload.sh index f0dcc32..6aaa663 100755 --- a/AvrDataTypes/build/upload.sh +++ b/AvrDataTypes/build/upload.sh @@ -1,4 +1,14 @@ -source variables.sh +#** +#* Ccoffee Build tool, manual build, alpha-v1. +#* +#* @author pavl_g. +#*# +#!/bin/sh + +canonical_link=`readlink -f ${0}` +build_dir=`dirname $canonical_link` + +source "${build_dir}/variables.sh" function prepare() { sudo stty -F ${PORT} ${BAUD_RATE} @@ -8,12 +18,18 @@ function upload() { sudo avrdude -c ${PROGRAMMER} -b${BAUD_RATE} -P${PORT} -p${CHIP_ALIAS} -F -U flash:w:${output}'.hex' return $? } + prepare + echo -e "${WHITE_C} --MajorTask@UploadingCode : Uploading Hex file" -if [[ ! `upload` -eq 0 ]]; then + +upload + +if [[ ! $? -eq 0 ]]; then echo -e "${RED_C} --MajorTask@UploadingCode : Failed to upload hex file, exits with errno700." exit 700 else echo -e "${GREEN_C} --MajorTask@UploadingCode : Task finished." fi + echo -e ${RESET_Cs} diff --git a/AvrDataTypes/build/variables.sh b/AvrDataTypes/build/variables.sh index 0282c41..5fe891f 100644 --- a/AvrDataTypes/build/variables.sh +++ b/AvrDataTypes/build/variables.sh @@ -3,18 +3,17 @@ #* #* @author pavl_g. #*# +#!/bin/sh +canonical_link=`readlink -f ${0}` +build_dir=`dirname $canonical_link` -# define work directory -# 1) print the current working directory to a string value -pwd=`pwd` # cut the working directory from its end by a one '/' delimiter -project="${pwd%/*}" +project="${build_dir%/*}" # cut the working directory from its end by a one '/' delimiter again rootProject="${project%/*}" -# pass the value of the dire -clibName=('libAvrDataTypes') +object_file=('hello-avr-types.elf') # AVR-DUDE properties BAUD_RATE='57600' PORT='/dev/ttyUSB0' @@ -22,6 +21,6 @@ CHIP='atmega328p' CHIP_ALIAS='m328' PROGRAMMER='arduino' # Common Variables contain colors -source ${rootProject}'/CommonVariables.sh' -source ${rootProject}'/AVR__HOME.sh' -output=${project}'/output/'${clibName} +source ${rootProject}'/common-variables.sh' +source ${rootProject}'/avr-home.sh' +output=${project}'/output/'${object_file} diff --git a/AvrDataTypes/main/lib/SerialCounter.c b/AvrDataTypes/main/lib/SerialCounter.c index 02b5b26..9609418 100644 --- a/AvrDataTypes/main/lib/SerialCounter.c +++ b/AvrDataTypes/main/lib/SerialCounter.c @@ -3,7 +3,7 @@ void SerialCounter::Counter::start(volatile uint8_t& PORT) { volatile uint8_t CLK = 0x00; - while(HIGH) { + while (HIGH) { _delay_ms(DELAY/2); PORT = HIGH << (++CLK % UINT8_MAX); _delay_ms(DELAY/2); diff --git a/AvrDataTypes/output/hello-avr-types.elf b/AvrDataTypes/output/hello-avr-types.elf new file mode 100755 index 0000000000000000000000000000000000000000..c752531aa4ed3b456c8cad499aa18dea91de5343 GIT binary patch literal 11864 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 literal 0 HcmV?d00001 diff --git a/AvrDataTypes/output/hello-avr-types.elf.hex b/AvrDataTypes/output/hello-avr-types.elf.hex new file mode 100644 index 0000000..eb81b7d --- /dev/null +++ b/AvrDataTypes/output/hello-avr-types.elf.hex @@ -0,0 +1,208 @@ +:100000000C9434000C9451000C9451000C94510049 +:100010000C9451000C9451000C9451000C9451001C +:100020000C9451000C9451000C9451000C9451000C +:100030000C9451000C9451000C9451000C945100FC +:100040000C9451000C9451000C9451000C945100EC +:100050000C9451000C9451000C9451000C945100DC +:100060000C9451000C94510011241FBECFEFD8E026 +:10007000DEBFCDBF12E0A0E0B1E0E2E3FBE002C0F2 +:1000800005900D92A03BB107D9F722E0A0EBB2E0BA +:1000900001C01D92A83BB207E1F70E9486010C94B3 +:1000A00097050C94000088E08093C10086E8809357 +:1000B000C20080E190E09093C5008093C400089551 +:1000C0009091C00095FFFCCF8093C60008950F93D8 +:1000D0001F93CF93DF93082F162F623039F06A30C9 +:1000E00081F1DF91CF911F910F91089569E070E048 +:1000F00081E090E00E94F103EC01412F50E0BE014D +:10010000802F90E00E945405DE01FE010190002046 +:10011000E9F73197EC1BFD0BCD018C1B9D0B8E1766 +:100120009F0740F49D918091C00085FFFCCF909384 +:10013000C600EBCFCE01DF91CF911F910F910C94B0 +:10014000A90462E070E081E090E00E94F103EC011C +:10015000D4CFCF93DF93DC01EC01FD0101900020AF +:10016000E9F73197EA1BFB0BCE018A1B9B0B8E171D +:100170009F0740F489919091C00095FFFCCF809338 +:10018000C600EBCFDF91CF9108950E9467008EE00B +:1001900091E00C94A9000E94A9008EE091E00C94DB +:1001A000A900AF92BF92CF92DF92EF92FF920F938E +:1001B0001F93CF93DF938C01C62FE42E62E070E093 +:1001C00081E090E00E94F1036C01D8010D900020C5 +:1001D000E9F711975D01A01AB10A30E020E0F0E0E4 +:1001E000E0E06C2F70E0F12C12C0261737076CF09E +:1001F000E216F3067CF0E601CE0FDF1FA801420FE6 +:10020000531FDA019C91988331962F5F3F4F2A1537 +:100210003B0558F3C601DF91CF911F910F91FF90DD +:10022000EF90DF90CF90BF90AF90089588E090E07E +:100230000895EF92FF920F931F93CF93DF93EB01FB +:100240007A01890162E070E081E090E00E94F103B0 +:10025000F701408121E030E001C0220F4A95EAF722 +:10026000FC012083F8014081388141110BC02095A9 +:1002700023232883DF91CF911F910F91FF90EF905F +:100280000C94A904232B2883DF91CF911F910F9108 +:10029000FF90EF900C94A904FB012081FA013081BA +:1002A00081E090E001C0880F3A95EAF78223089533 +:1002B000CF93DF931F92CDB7DEB78B011982EFEF9B +:1002C000F0E021E030E04FEF52E587E04150504050 +:1002D0008040E1F700C0000089818F5F898390E052 +:1002E000BF010E94C903D90102C0AA0FBB1F8A9592 +:1002F000E2F7CD01D8018C93BFEF42E557E0B15052 +:1003000040405040E1F700C00000DDCFCF93DF93C5 +:10031000CDB7DEB72A970FB6F894DEBF0FBECDBFBC +:1003200088E08093C10086E88093C20080E190E07D +:100330009093C5008093C4001A868CEC898781E174 +:1003400091E00E94A9008EE091E00E94A9008985B9 +:1003500062E00E9467008EE091E00E94A9008A8519 +:100360008A8585B1888782E291E00E94A9008EE0AB +:1003700091E00E94A90085B162E00E9467008EE0D2 +:1003800091E00E94A90080E285B981E491E00E9499 +:10039000A9008EE091E00E94A90085B162E00E9470 +:1003A00067008EE091E00E94A90061E070E081E0CA +:1003B00090E00E94F1038C01F12CE12C0FC0198216 +:1003C000A7014A5F5E4F9E012F5F3F4F65E270E0DD +:1003D000C8010E9419018FEFE81AF80AC8010E94AB +:1003E0001601E816F90658F38FE591E00E94A9007E +:1003F0008EE091E00E94A90085B162E00E94670052 +:100400008EE091E00E94A9008DE791E00E94A90092 +:100410008EE091E00E94A90088B162E00E9467002E +:100420008EE091E00E94A900F12CE12CDD24D39410 +:100430000FC0D982A7014A5F5E4F9E012F5F3F4FD9 +:1004400068E270E0C8010E9419018FEFE81AF80A0B +:10045000C8010E941601E816F90658F38EE891E0EB +:100460000E94A9008EE091E00E94A90088B162E09C +:100470000E9467008EE091E00E94A9008DEA91E061 +:100480000E94A9008EE091E00E94A90085E0898386 +:10049000AE014F5F5F4F65E270E0C8010E944C0102 +:1004A00062E00E9467008EE091E00E94A90086B59C +:1004B00090E09E838D831F828F818F5F8F832A853B +:1004C000082E000C990B02C0880F991F2A95E2F79D +:1004D000092E000CAA0BBB0B89839A83AB83BC83C8 +:1004E0008F818F5F8F832985082E000C990B02C0A6 +:1004F000880F991F2A95E2F7092E000CAA0BBB0B57 +:1005000089839A83AB83BC8389819A81AB81BC81C7 +:1005100062E00E9467008EE091E00E94A90062E024 +:1005200083EC0E9467008EE091E00E94A90062E0E7 +:1005300080E00E9467008EE091E00E94A90062E0E6 +:1005400083EC0E9467008EE091E00E94A90062E0C7 +:100550008FEF0E9467008EE091E00E94A90062E0A8 +:100560008CE30E9467008EE091E00E94A90062E0A7 +:100570008CE30E9467008EE091E00E94A90089EB65 +:1005800091E00E94A9008EE091E00E94A90062E043 +:1005900085E00E9467008EE091E00E94A9008FEC48 +:1005A00091E00E94A9008EE091E00E94A90062E023 +:1005B00082E00E9467008EE091E00E94A90088EE30 +:1005C00091E00E94A9008EE091E00E94A9008DEECA +:1005D00091E00E94A9008EE091E00E94A90081EFC5 +:1005E00091E00E94A9008EE091E00E94A90089E0BC +:1005F000E5E0F2E0ACEEB1E001900D928A95E1F712 +:1006000088EE91E00E94A9008EE091E00E94A9008E +:1006100088EE91E00E94A9048DEE91E00E94A90469 +:1006200085E092E00E94A9048EE092E00E94A90079 +:100630008EE091E00E94A9006AE081E00E946700DC +:100640008EE091E00E94A90083E292E00E94A9005E +:100650008EE091E00E94A9006AE084E00E946700B9 +:100660008EE091E00E94A9006AE082E00E946700AB +:100670008EE091E00E94A9008DE392E00E94A90023 +:100680008EE091E00E94A90083E490E00E94320590 +:100690006AE00E9467008EE091E00E94A90083E476 +:1006A00090E00E9436056AE00E9467008EE091E0CB +:1006B0000E94A90083E490E00E9445056AE00E9440 +:1006C00067008EE091E00E94A9006AE083E40E9446 +:1006D00067008EE091E00E94A90080E290E00E9415 +:1006E0003D056AE00E9467008EE091E00E94A9004B +:1006F00084E592E00E94A9008EE091E00E94A900AA +:10070000E091B002F091B1026AE080810E9467003E +:100710008EE091E00E94A900E091B002F091B10258 +:1007200081E090E09183808383E090E093838283F3 +:1007300084E090E0958384836AE081E00E94670012 +:100740008EE091E00E94A900E091B002F091B10228 +:10075000CF0102969093B1028093B0026AE0828149 +:100760000E9467008EE091E00E94A90089E692E075 +:100770000E94A9008EE091E00E94A90062E070E072 +:1007800081E090E00E94F10365E270E00E94580170 +:10079000FFCF97FB072E16F4009407D077FD09D002 +:1007A0000E94DD0307FC05D03EF4909581959F4F94 +:1007B0000895709561957F4F0895AA1BBB1B51E169 +:1007C00007C0AA1FBB1FA617B70710F0A61BB70BC1 +:1007D000881F991F5A95A9F780959095BC01CD0166 +:1007E00008950F931F93CF93DF93869F8001879F78 +:1007F000100D969F100D1124C8010E940D04EC01EC +:10080000009729F0A80170E060E00E944D05CE013C +:10081000DF91CF911F910F9108950F931F93CF9365 +:10082000DF938230910510F482E090E0E091B6020F +:10083000F091B70230E020E0B0E0A0E0309799F40A +:100840002115310509F44AC0281B390B2430310524 +:10085000D8F58A819B816115710589F1FB0193832C +:100860008283FE0111C040815181028113814817AA +:100870005907E0F04817590799F4109761F012965C +:100880000C93129713961C933296CF01DF91CF9160 +:100890001F910F9108950093B6021093B702F4CF01 +:1008A0002115310551F04217530738F0A901DB013A +:1008B0009A01BD01DF01F801C1CFEF01F9CF90939B +:1008C000B7028093B602CDCFFE01E20FF31F8193F2 +:1008D00091932250310939832883D7CF2091B402D4 +:1008E0003091B502232B41F4209102013091030194 +:1008F0003093B5022093B4022091000130910101A0 +:100900002115310541F42DB73EB7409104015091B6 +:100910000501241B350BE091B402F091B502E217FA +:10092000F307A0F42E1B3F0B2817390778F0AC0112 +:100930004E5F5F4F2417350748F04E0F5F1F5093EF +:10094000B5024093B402819391939FCFF0E0E0E031 +:100950009CCFCF93DF930097E9F0FC01329713828D +:100960001282A091B602B091B702ED0130E020E012 +:100970001097A1F420813181820F931F2091B4023E +:100980003091B5022817390709F061C0F093B5021C +:10099000E093B402DF91CF910895EA01CE17DF070B +:1009A000E8F54A815B819E0141155105B1F7E901E6 +:1009B000FB83EA8349915991C40FD51FEC17FD07BA +:1009C00061F4808191810296840F951FE9019983DA +:1009D0008883828193819B838A83F0E0E0E0129692 +:1009E0008D919C9113970097B9F52D913C9111979A +:1009F000CD010296820F931F2091B4023091B5026F +:100A00002817390739F6309751F51092B70210922E +:100A1000B602B093B502A093B402BCCFD383C28315 +:100A200040815181840F951FC817D90761F44E5F2B +:100A30005F4F88819981480F591F518340838A8174 +:100A40009B81938382832115310509F0B0CFF09308 +:100A5000B702E093B6029ECFFD01DC01C0CF138246 +:100A60001282D7CF85FD0C948405806291110C947D +:100A7000840581568A51D8F7089591110C94840504 +:100A8000803211F08930D1F7089591110895815481 +:100A90008A5108F4805E855A0895DC0101C06D9387 +:100AA00041505040E0F708954532510520F442305E +:100AB00010F00C945F05FB011082CB010895BB2759 +:100AC0004A3031F4992322F4BDE2909581959F4FED +:100AD0000C946B05BB27FB015527AA27880F991F8C +:100AE000AA1FA41710F0A41B83955051B9F7A05D5D +:100AF000AA3308F0A95DA193009779F7B111B193DA +:100B00001192CB010C948705992788270895DC0161 +:100B1000FC01672F71917723E1F7329704C07C9134 +:100B20006D9370836291AE17BF07C8F30895F89470 +:020B3000FFCFF5 +:100B32000000B802200000010203040506070A0DA6 +:100B420000496D6167696E65727920504F52545940 +:100B52003A00504F525442206265666F72652073AC +:100B6200657474696E67204C45442050494E353A8D +:100B720000504F525442206166746572207365744E +:100B820074696E67204C45442050494E353A0050F6 +:100B92004F525442207475726E656420616C6C20F1 +:100BA2004C45447320746F204C4F573A00504F52BB +:100BB200544320696E697469616C6C793A00504FD4 +:100BC200525443207475726E656420616C6C204CC3 +:100BD20045447320746F20484947483A00504F52A9 +:100BE2005442205042353A200054657374204269C1 +:100BF2006E617279204164646974696F6E3A00545F +:100C02006573742042696E617279205375627472E1 +:100C1200616374696F6E3A004A61636B0031323509 +:100C2200005465737420537472696E6720636F6E2B +:100C32006361743A002052696368617264005465AA +:100C4200737420537472696E6720636F6D70617282 +:100C5200653A004D656D2073697A6520562E532ED4 +:100C620020537472696E67206C656E3A0043686146 +:100C720072616368746572206F7065726174696F06 +:100C82006E733A00506F696E746572206F70657290 +:100C92006174696F6E733A20005465737420586DE5 +:100CA2006173204C45447320737461727465642CC3 +:100CB20020636F6E6E65637420504F5254422070F1 +:100CC200696E7320746F204C45447320616E6420FA +:100CD20073656520746865206D616769633A000019 +:00000001FF diff --git a/AvrDataTypes/output/libAvrDataTypes b/AvrDataTypes/output/libAvrDataTypes deleted file mode 100755 index 091c57aaec0ce1000472cf6da43848237890da4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11380 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