From 0c07e1a2170103137c7334916a959017bcfc95d6 Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 3 Aug 2018 07:52:23 +0200 Subject: [PATCH] Verze 1.0.4 s DualOptiboot a 9600Bd --- 1.0.4/boards.txt | 65 +++++ .../ATmegaBOOT_168_atmega328_pro_8MHz.hex | 124 ++++++++++ .../atmega/optiboot_atmega328_pro_8MHz.hex | 67 ++++++ .../atmega/optiboot_atmega328p_8MHz.hex | 67 ++++++ 1.0.4/platform.txt | 124 ++++++++++ 1.0.4/variants/rfs/pins_arduino.h | 223 ++++++++++++++++++ RFS-1.0.4.zip | Bin 0 -> 10467 bytes package_xPablo_index.json | 35 ++- 8 files changed, 702 insertions(+), 3 deletions(-) create mode 100644 1.0.4/boards.txt create mode 100644 1.0.4/bootloaders/atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex create mode 100644 1.0.4/bootloaders/atmega/optiboot_atmega328_pro_8MHz.hex create mode 100644 1.0.4/bootloaders/atmega/optiboot_atmega328p_8MHz.hex create mode 100644 1.0.4/platform.txt create mode 100644 1.0.4/variants/rfs/pins_arduino.h create mode 100644 RFS-1.0.4.zip diff --git a/1.0.4/boards.txt b/1.0.4/boards.txt new file mode 100644 index 0000000..ff55071 --- /dev/null +++ b/1.0.4/boards.txt @@ -0,0 +1,65 @@ +############################################################## + +RFS.name=EasyTherm RFS Rev.A (8 MHz internal clock) + +RFS.upload.protocol=arduino +RFS.upload.maximum_size=30720 +RFS.upload.speed=57600 + +RFS.bootloader.low_fuses=0xE2 +RFS.bootloader.high_fuses=0xDA +RFS.bootloader.extended_fuses=0x05 + +RFS.bootloader.file=atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex +RFS.bootloader.unlock_bits=0x3F +RFS.bootloader.lock_bits=0x0F + +RFS.build.mcu=atmega328p +RFS.build.f_cpu=8000000L +RFS.build.core=arduino:arduino +RFS.build.variant=arduino:standard + +RFS.bootloader.tool=arduino:avrdude +RFS.upload.tool=arduino:avrdude + +RFSO.name=EasyTherm RFS Rev.A (8MHz, DualOptiBoot, 9600Bd) + +RFSO.upload.protocol=arduino +RFSO.upload.maximum_size=30720 +RFSO.upload.speed=9600 + +RFSO.bootloader.low_fuses=0xD2 +RFSO.bootloader.high_fuses=0xD4 +RFSO.bootloader.extended_fuses=0xFE + +RFSO.bootloader.file=atmega/optiboot_atmega328_pro_8MHz.hex +RFSO.bootloader.unlock_bits=0x3F +RFSO.bootloader.lock_bits=0x0F + +RFSO.build.mcu=atmega328p +RFSO.build.f_cpu=8000000L +RFSO.build.core=arduino:arduino +RFSO.build.variant=arduino:standard + +RFSO.bootloader.tool=arduino:avrdude +RFSO.upload.tool=arduino:avrdude + +RFSU.name=EasyTherm RFS Rev.A (8 MHz internal clock, USBTinyISP) + +RFSU.upload.maximum_size=32768 +RFSU.upload.speed=57600 +RFSU.upload.tool=arduino:usbtinyisp + +RFSU.bootloader.low_fuses=0xE2 +RFSU.bootloader.high_fuses=0xDA +RFSU.bootloader.extended_fuses=0x01 +RFSU.bootloader.tool=arduino:avrdude + +RFSU.bootloader.file=atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex +RFSU.bootloader.unlock_bits=0x3F +RFSU.bootloader.lock_bits=0x0F + +RFSU.build.mcu=atmega328p +RFSU.build.f_cpu=8000000L +RFSU.build.core=arduino:arduino +RFSU.build.variant=arduino:standard diff --git a/1.0.4/bootloaders/atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex b/1.0.4/bootloaders/atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex new file mode 100644 index 0000000..84134c2 --- /dev/null +++ b/1.0.4/bootloaders/atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex @@ -0,0 +1,124 @@ +:107800000C94343C0C94513C0C94513C0C94513CE1 +:107810000C94513C0C94513C0C94513C0C94513CB4 +:107820000C94513C0C94513C0C94513C0C94513CA4 +:107830000C94513C0C94513C0C94513C0C94513C94 +:107840000C94513C0C94513C0C94513C0C94513C84 +:107850000C94513C0C94513C0C94513C0C94513C74 +:107860000C94513C0C94513C11241FBECFEFD8E036 +:10787000DEBFCDBF11E0A0E0B1E0EAE8FFE702C063 +:1078800005900D92A230B107D9F712E0A2E0B1E065 +:1078900001C01D92AD30B107E1F70E942D3D0C945F +:1078A000C33F0C94003C982F95959595959595958B +:1078B000905D8F708A307CF0282F295A8091C0000B +:1078C00085FFFCCF9093C6008091C00085FFFCCF60 +:1078D0002093C6000895282F205DF0CF982F809127 +:1078E000C00085FFFCCF9093C6000895EF92FF92F1 +:1078F0000F931F93EE24FF2487018091C00087FD22 +:1079000017C00894E11CF11C011D111D81E2E8164D +:1079100081EAF80687E0080780E0180770F3E09135 +:107920000401F091050109958091C00087FFE9CF1E +:107930008091C6001F910F91FF90EF9008950E94D3 +:10794000763C982F8091C00085FFFCCF9093C600B5 +:1079500091362CF490330CF09053892F089597555D +:10796000892F08951F930E949F3C182F0E949F3CCF +:107970001295107F810F1F9108951F93182F882350 +:1079800021F00E94763C1150E1F71F9108951F935A +:10799000182F0E94763C803249F0809103018F5F5E +:1079A000809303018530C1F01F9108958091C0003C +:1079B00085FFFCCF84E18093C6008091C00085FFE5 +:1079C000FCCF1093C6008091C00085FFFCCF80E102 +:1079D0008093C6001F910895E0910401F091050184 +:1079E00009951F9108950E94763C803241F0809164 +:1079F00003018F5F80930301853081F008958091AA +:107A0000C00085FFFCCF84E18093C6008091C00058 +:107A100085FFFCCF80E18093C6000895E0910401CA +:107A2000F09105010995089548EC50E08823A1F0F4 +:107A30002D9A28EE33E0FA013197F1F721503040CA +:107A4000D1F72D9828EE33E0FA013197F1F7215064 +:107A50003040D1F7815061F708953F924F925F9285 +:107A60006F927F928F929F92AF92BF92CF92DF924E +:107A7000EF92FF920F931F93CF93DF93000082E06A +:107A80008093C00080E18093C4001092C50088E11B +:107A90008093C10086E08093C2005098589A259A3E +:107AA00081E00E94143D24E1F22E9EE1E92E85E959 +:107AB000D82E0FE0C02E10E1B12EAA24A394B1E479 +:107AC0009B2EA6E58A2EF2E57F2EE0E26E2E79E46B +:107AD000572E63E5462E50E5352E0E94763C8033C6 +:107AE000B1F18133B9F1803409F46FC0813409F404 +:107AF00076C0823409F485C0853409F488C08035A5 +:107B000031F1823521F1813511F1853509F485C0D6 +:107B1000863509F48DC0843609F496C0843709F49B +:107B200003C1853709F472C1863709F466C08091B4 +:107B300003018F5F80930301853079F6E0910401A2 +:107B4000F091050109950E94763C803351F60E9420 +:107B5000F33CC3CF0E94763C803249F78091C0004D +:107B600085FFFCCFF092C6008091C00085FFFCCF5E +:107B70009092C6008091C00085FFFCCF8092C60025 +:107B80008091C00085FFFCCF7092C6008091C0003C +:107B900085FFFCCF6092C6008091C00085FFFCCFBE +:107BA0005092C6008091C00085FFFCCF4092C60075 +:107BB0008091C00085FFFCCF3092C6008091C0004C +:107BC00085FFFCCFB092C60088CF0E94763C8638F5 +:107BD00008F4BDCF0E94763C0E94F33C7ECF0E9409 +:107BE000763C803809F49CC0813809F40BC1823896 +:107BF00009F430C1883909F48FC080E00E94C73C85 +:107C00006CCF84E10E94BD3C0E94F33C66CF85E0CE +:107C10000E94BD3C0E94F33C60CF0E94763C809362 +:107C200006010E94763C809307010E94F33C55CFE9 +:107C30000E94763C803309F411C183E00E94BD3C70 +:107C400080E00E94C73C49CF0E94763C80930902A5 +:107C50000E94763C8093080280910C028E7F809374 +:107C60000C020E94763C853409F409C18091080217 +:107C700090910902892B89F000E010E00E94763C87 +:107C8000F801E85FFE4F80830F5F1F4F809108026D +:107C9000909109020817190788F30E94763C8032F8 +:107CA00009F045CF80910C0280FFF5C0609106017C +:107CB00070910701660F771F7093070160930601AB +:107CC000A0910802B09109021097C9F0E8E0F1E034 +:107CD0009B01AD014E0F5F1FF999FECF32BD21BD53 +:107CE000819180BDFA9AF99A2F5F3F4FE417F5070B +:107CF00099F76A0F7B1F70930701609306018091CB +:107D0000C00085FFFCCFF092C6008091C00085FFC7 +:107D1000FCCFB092C600E1CE83E00E94C73CDDCE2E +:107D200082E00E94C73CD9CE0E94763C8093090233 +:107D30000E94763C80930802809106019091070191 +:107D4000880F991F90930701809306010E94763C4B +:107D5000853409F49AC080910C028E7F80930C02C6 +:107D60000E94763C803209F0B8CE8091C00085FF39 +:107D7000FCCFF092C600A0910802B09109021097C2 +:107D8000C1F180910C02082F0170182F1695117007 +:107D9000E0910601F0910701AF014F5F5F4FBA011B +:107DA00020E030E00023B1F4112339F49491809164 +:107DB000C00085FFFCCF9093C6002F5F3F4FCB01E3 +:107DC0000196FA012A173B0780F4BC014F5F5F4F11 +:107DD000002351F3F999FECFF2BDE1BDF89A90B5B9 +:107DE0008091C00085FFFCCFE6CF709307016093C0 +:107DF00006018091C00085FDE5CE8091C00085FF21 +:107E0000F8CFE0CE81E00E94C73C67CE0E94763C6E +:107E1000803209F08CCE8091C00085FFFCCFF092BB +:107E2000C6008091C00085FFFCCFE092C600809123 +:107E3000C00085FFFCCFD092C6008091C00085FFB6 +:107E4000FCCFC092C6008091C00085FFFCCFB092ED +:107E5000C60043CE80E10E94C73C3FCE0E94763CE4 +:107E60000E94763C182F0E94763C112309F483C0AF +:107E7000113009F484C08FE00E94C73C2ECE80915F +:107E80000C02816080930C02F1CE80910C02816023 +:107E900080930C0265CF809107018823880F880B9F +:107EA0008A2180930B028091060190910701880F2F +:107EB000991F90930701809306018091080280FF2B +:107EC00009C08091080290910902019690930902DD +:107ED00080930802F894F999FECF1127E0910601EA +:107EE000F0910701C8E0D1E0809108029091090269 +:107EF000103091F40091570001700130D9F303E084 +:107F000000935700E8950091570001700130D9F3B4 +:107F100001E100935700E8950990199000915700EE +:107F200001700130D9F301E000935700E8951395F3 +:107F3000103498F011270091570001700130D9F3E7 +:107F400005E000935700E89500915700017001305B +:107F5000D9F301E100935700E8953296029709F0B2 +:107F6000C7CF103011F00296E5CF11248091C000E8 +:107F700085FFC5CEC8CE8EE10E94C73CAECD85E957 +:0A7F80000E94C73CAACDF894FFCF81 +:027F8A00800075 +:040000030000780081 +:00000001FF diff --git a/1.0.4/bootloaders/atmega/optiboot_atmega328_pro_8MHz.hex b/1.0.4/bootloaders/atmega/optiboot_atmega328_pro_8MHz.hex new file mode 100644 index 0000000..9e2c6e3 --- /dev/null +++ b/1.0.4/bootloaders/atmega/optiboot_atmega328_pro_8MHz.hex @@ -0,0 +1,67 @@ +:107C0000112404B714BE01FD07C003FD27D18CB5B4 +:107C10008F7A8CBD802FEAD185E08093810082E04D +:107C20008093C00088E18093C10086E08093C20009 +:107C300087E68093C4008EE0FBD0559A86E028E169 +:107C40003EEF91E0309385002093840096BBB09B7B +:107C5000FECF4D9AA8958150A9F7EE24FF24AA24BF +:107C6000A394B5E0CB2EA1E1BA2EF3E0DF2ED2D063 +:107C7000813461F4CFD0082FE1D0023829F10138E6 +:107C800011F485E001C083E0BDD07FC0823411F4DF +:107C900084E103C0853419F485E0D8D076C08535F9 +:107CA00079F4B8D0E82EFF24B5D0082F10E0102FBB +:107CB00000270E291F29000F111FC0D0780165C0B1 +:107CC000863521F484E0C2D080E0DECF843609F02E +:107CD00040C0A0D09FD0082F9DD080E0E81680E75C +:107CE000F80618F4F701D7BEE895C0E0D1E092D0CD +:107CF00089930C17E1F7F0E0EF16F0E7FF0618F0B4 +:107D0000F701D7BEE8959AD007B600FCFDCFA701D2 +:107D1000A0E0B1E02C9130E011968C91119790E0A9 +:107D2000982F8827822B932B1296FA010C01A7BE5D +:107D3000E89511244E5F5F4FF1E0A038BF0751F77F +:107D4000F701C7BEE89507B600FCFDCFB7BEE895C2 +:107D50001CC0843761F45ED05DD0082F5BD06ED03C +:107D6000F70185917F014ED00150D1F70EC08537C4 +:107D700039F464D08EE146D085E944D08FE084CFD9 +:107D8000813511F488E054D059D080E13BD06FCFD9 +:107D90008EBD0DB407FEFDCF8EB50895289885E001 +:107DA000F7DF80E0F5DF289A817008951F93182F80 +:107DB000662321F086E060E0F9DF289AEFDF882370 +:107DC000E9F72898812FE4DF1F910895EF92FF9241 +:107DD0000F931F937B018C0183E060E0E7DFC80114 +:107DE000AA27BB27D5DFBB27A12F902F8F2DD0DF50 +:107DF0008E2DCEDF80E0CCDF289A1F910F91FF906F +:107E0000EF900895982F8091C00085FFFCCF90934C +:107E1000C60008954D9A8091C00087FFFCCF8091E5 +:107E2000C00084FD01C0A8958091C6004D9A0895B8 +:107E3000E0E6F0E098E1908380830895EBDF803204 +:107E400019F088E0F5DFFFCF84E1DCCF1F93182F16 +:107E5000E1DF1150E9F7F2DF1F9108959F92AF9291 +:107E6000BF92CF92DF92EF92FF920F931F93CF9327 +:107E7000DF9380E0DDDF84B18D6284B9289A2A9A8D +:107E80008CB580658CBD28988FE982DF80E080DF2B +:107E9000289A81508E3F08F09DC081E061E086DF26 +:107EA00080E076DF289A60E070E080E090E08EDF8E +:107EB000863409F08FC061E070E080E090E086DFFA +:107EC0008C3409F087C062E070E080E090E07EDFF3 +:107ED000883509F07FC066E070E080E090E076DFF2 +:107EE0008A3309F077C069E070E080E090E06EDFEF +:107EF0008A3309F06FC067E070E080E090E066DFF1 +:107F0000082F68E070E080E090E060DF10E0F02E85 +:107F1000EE2490E0E82AF92AE0FC5CC04D9AC0E02B +:107F2000D0E0CC24DD249924939443E0A42E35E0C2 +:107F3000B32E30C02A96BE0180E090E047DF082FC4 +:107F400010E02196BE0180E090E02B973FDF90E0AB +:107F5000982F8827802B912BFE010C0197BEE89566 +:107F600011242296CE018F779070892B19F0CE15AF +:107F7000DF0581F4F601A7BEE89507B600FCFDCF4A +:107F8000F601B7BEE89507B600FCFDCF80E890E0AB +:107F9000C80ED91ECE15DF0508F4CCCF4D9881E16F +:107FA00087BFE895EAE0F0E0EE0EFF1EF1E0EF1685 +:107FB000F0E8FF0610F482E501C088ED61E0F6DE2E +:107FC00080E0E6DE80E0E4DE80E0E2DE289A88E021 +:107FD0002FDFFFCFDF91CF911F910F91FF90EF9097 +:107FE000DF90CF90BF90AF909F900895282E80E0B3 +:087FF0001FDFEE27FF270994B3 +:027FFE0000057C +:0400000300007C007D +:00000001FF diff --git a/1.0.4/bootloaders/atmega/optiboot_atmega328p_8MHz.hex b/1.0.4/bootloaders/atmega/optiboot_atmega328p_8MHz.hex new file mode 100644 index 0000000..58f396e --- /dev/null +++ b/1.0.4/bootloaders/atmega/optiboot_atmega328p_8MHz.hex @@ -0,0 +1,67 @@ +:107C00001F92CDB7DEB7112484B714BE81FD06C024 +:107C100083FF03C08983F4D08981E3D185E0809319 +:107C2000810082E08093C00088E18093C10096E0EB +:107C30009093C20090E19093C400809360008EE026 +:107C4000809360003B9A86E028E13EEF91E030931C +:107C500085002093840096BBB09BFECF339AA895F5 +:107C60008150A9F7612C712C08E128E0F22EEE2456 +:107C7000E39435E0D32E41E1C42E13E08BD181345F +:107C800069F488D1898394D189818238F9F0813867 +:107C900011F485E001C083E076D17BC0823411F419 +:107CA00084E103C0853419F485E08ED172C0853536 +:107CB00049F470D1B82E6ED16B2C712C782A660CD9 +:107CC000771C66C0863521F484E07ED180E0E4CF65 +:107CD000843609F03FC05ED15DD1982E5BD161142E +:107CE00080E7780618F4F30117BFE895A12CBB24B0 +:107CF000B39450D1F50181935F019E12FACF6114C4 +:107D0000F0E77F0618F0F30117BFE89551D107B6E9 +:107D100000FCFDCFA301A0E0B1E08C9112969D0183 +:107D200021503109F901208190E0922BFA010C01D8 +:107D3000E7BEE89511244E5F5F4FA038F1E0BF0722 +:107D400061F7F301D7BEE89507B600FCFDCFC7BECB +:107D5000E8951FC0843769F41DD11CD1B82E1AD103 +:107D600027D1F30185913F010ED1BA94B110F9CF1B +:107D700010C0853739F41CD18EE105D185E903D1D6 +:107D80008FE08ACF813521F400936000F09260008B +:107D90000FD180E1F8D072CF8EBD0DB407FEFDCFBC +:107DA0008EB50895289885E0F7DF80E0F5DF289A02 +:107DB00081700895CF93C82F662321F060E086E09C +:107DC000F9DF289AEFDF8111FDCF28988C2FCF9112 +:107DD000E3CFCF92DF92EF92FF926B017C0160E0E4 +:107DE00083E0E8DF8E2DD8DF8D2DD6DF8C2DD4DF1C +:107DF00080E0D2DF289AFF90EF90DF90CF90089537 +:107E00009F92AF92BF92CF92DF92EF92FF920F9329 +:107E10001F93CF93DF9388E18093600010926000FE +:107E200084B18D6284B9289A2A9A8CB580658CBDFC +:107E300028988FE9B1DF80E0AFDF289A81508E3F2C +:107E400008F095C061E081E0B5DF80E0A5DF289A09 +:107E500060E070E0CB01BDDF863409F088C061E0EE +:107E600070E080E090E0B5DF8C3409F080C062E023 +:107E700070E080E090E0ADDF883509F078C066E022 +:107E800070E080E090E0A5DF8A3309F070C069E01F +:107E900070E080E090E09DDF8A3309F068C067E021 +:107EA00070E080E090E095DFC82F68E070E080E04F +:107EB00090E08FDFD0E0DC2FCC27C82BC0FD57C06F +:107EC000339AC12CD12C00E010E0BB24B39483E0A2 +:107ED000A82E95E0992E0C171D0770F5B801665F66 +:107EE0007F4F80E090E075DFE82EF12CB801655FF0 +:107EF0007F4F80E090E06DDFF82AF8010701B7BE00 +:107F0000E89511240E5F1F4FC8018F779927892BA1 +:107F100019F00C171D07F9F6F601A7BEE89507B68C +:107F200000FCFDCFF60197BEE89507B600FCFDCF3B +:107F3000F0E8CF0ED11CCFCF339881E187BFE89511 +:107F40002A9661E0C130D04810F482E501C088ED86 +:107F500031DF80E021DF80E01FDF80E01DDF289A35 +:107F600088E18093600088E080936000FFCFDF911C +:107F7000CF911F910F91FF90EF90DF90CF90BF9026 +:107F8000AF909F9008959091C00095FFFCCF809393 +:107F9000C6000895339A8091C00087FFFCCF80917E +:107FA000C00084FD01C0A8958091C600339A089551 +:107FB000F1DF803239F088E18093600088E08093BF +:107FC0006000FFCF84E1DFCFCF93C82FE3DFC15044 +:107FD000E9F7CF91EDCFE0E6F0E098E19083808380 +:107FE0000895282EE0E6F0E088E180831082EE27F5 +:047FF000FF270994CA +:027FFE0000057C +:0400000300007C007D +:00000001FF diff --git a/1.0.4/platform.txt b/1.0.4/platform.txt new file mode 100644 index 0000000..47e6cf5 --- /dev/null +++ b/1.0.4/platform.txt @@ -0,0 +1,124 @@ + +# xPablo EasyTherm platform. +# ------------------------------ +# +# For more info: +# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification + +name=xPablo.cz AVR based boards +version=1.0.0 + +# Derived from Arduino AVR 1.6.11. + +# AVR compile variables +# --------------------- + +compiler.warning_flags=-w +compiler.warning_flags.none=-w +compiler.warning_flags.default= +compiler.warning_flags.more=-Wall +compiler.warning_flags.all=-Wall -Wextra + +# Default "compiler.path" is correct, change only if you want to override the initial value +compiler.path={runtime.tools.avr-gcc.path}/bin/ +compiler.c.cmd=avr-gcc +compiler.c.flags=-c -g -Os {compiler.warning_flags} -std=gnu11 -ffunction-sections -fdata-sections -MMD +compiler.c.elf.flags={compiler.warning_flags} -Os -Wl,--gc-sections +compiler.c.elf.cmd=avr-gcc +compiler.S.flags=-c -g -x assembler-with-cpp +compiler.cpp.cmd=avr-g++ +compiler.cpp.flags=-c -g -Os {compiler.warning_flags} -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD +compiler.ar.cmd=avr-ar +compiler.ar.flags=rcs +compiler.objcopy.cmd=avr-objcopy +compiler.objcopy.eep.flags=-O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 +compiler.elf2hex.flags=-O ihex -R .eeprom +compiler.elf2hex.cmd=avr-objcopy +compiler.ldflags= +compiler.size.cmd=avr-size + +# This can be overridden in boards.txt +build.extra_flags= + +# These can be overridden in platform.local.txt +compiler.c.extra_flags= +compiler.c.elf.extra_flags= +compiler.S.extra_flags= +compiler.cpp.extra_flags= +compiler.ar.extra_flags= +compiler.objcopy.eep.extra_flags= +compiler.elf2hex.extra_flags= + +# AVR compile patterns +# -------------------- + +## Compile c files +recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" + +## Compile c++ files +recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.cpp.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" + +## Compile S files +recipe.S.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.S.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.S.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" + +## Create archives +# archive_file_path is needed for backwards compatibility with IDE 1.6.5 or older, IDE 1.6.6 or newer overrides this value +archive_file_path={build.path}/{archive_file} +recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{archive_file_path}" "{object_file}" + +## Combine gc-sections, archives, and objects +recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mmcu={build.mcu} {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" {object_files} "{build.path}/{archive_file}" "-L{build.path}" -lm + +## Create output files (.eep and .hex) +recipe.objcopy.eep.pattern="{compiler.path}{compiler.objcopy.cmd}" {compiler.objcopy.eep.flags} {compiler.objcopy.eep.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.eep" +recipe.objcopy.hex.pattern="{compiler.path}{compiler.elf2hex.cmd}" {compiler.elf2hex.flags} {compiler.elf2hex.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.hex" + +## Save hex +recipe.output.tmp_file={build.project_name}.hex +recipe.output.save_file={build.project_name}.{build.variant}.hex + +## Compute size +recipe.size.pattern="{compiler.path}{compiler.size.cmd}" -A "{build.path}/{build.project_name}.elf" +recipe.size.regex=^(?:\.text|\.data|\.bootloader)\s+([0-9]+).* +recipe.size.regex.data=^(?:\.data|\.bss|\.noinit)\s+([0-9]+).* +recipe.size.regex.eeprom=^(?:\.eeprom)\s+([0-9]+).* + +## Preprocessor +preproc.includes.flags=-w -x c++ -M -MG -MP +recipe.preproc.includes="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} {preproc.includes.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.cpp.extra_flags} {build.extra_flags} {includes} "{source_file}" + +preproc.macros.flags=-w -x c++ -E -CC +recipe.preproc.macros="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} {preproc.macros.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.cpp.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{preprocessed_file_path}" + +# AVR Uploader/Programmers tools +# ------------------------------ + +tools.avrdude.path={runtime.tools.avrdude.path} +tools.avrdude.cmd.path={path}/bin/avrdude +tools.avrdude.config.path={path}/etc/avrdude.conf + +tools.avrdude.upload.params.verbose=-v +tools.avrdude.upload.params.quiet=-q -q +tools.avrdude.upload.params.noverify=-V +tools.avrdude.upload.pattern="{cmd.path}" "-C{config.path}" {upload.verbose} {upload.verify} -p{build.mcu} -c{upload.protocol} -P{serial.port} -b{upload.speed} -D "-Uflash:w:{build.path}/{build.project_name}.hex:i" + +tools.avrdude.program.params.verbose=-v +tools.avrdude.program.params.quiet=-q -q +tools.avrdude.program.params.noverify=-V +tools.avrdude.program.pattern="{cmd.path}" "-C{config.path}" {program.verbose} {program.verify} -p{build.mcu} -c{protocol} {program.extra_params} "-Uflash:w:{build.path}/{build.project_name}.hex:i" + +tools.avrdude.erase.params.verbose=-v +tools.avrdude.erase.params.quiet=-q -q +tools.avrdude.erase.pattern="{cmd.path}" "-C{config.path}" {erase.verbose} -p{build.mcu} -c{protocol} {program.extra_params} -e -Ulock:w:{bootloader.unlock_bits}:m -Uefuse:w:{bootloader.extended_fuses}:m -Uhfuse:w:{bootloader.high_fuses}:m -Ulfuse:w:{bootloader.low_fuses}:m + +tools.avrdude.bootloader.params.verbose=-v +tools.avrdude.bootloader.params.quiet=-q -q +tools.avrdude.bootloader.pattern="{cmd.path}" "-C{config.path}" {bootloader.verbose} -p{build.mcu} -c{protocol} {program.extra_params} "-Uflash:w:{runtime.platform.path}/bootloaders/{bootloader.file}:i" -Ulock:w:{bootloader.lock_bits}:m + +tools.avrdude_remote.upload.pattern=/usr/bin/run-avrdude /tmp/sketch.hex {upload.verbose} -p{build.mcu} + +# USB Default Flags +# Default blank usb manufacturer will be filled in at compile time +# - from numeric vendor ID, set to Unknown otherwise +build.usb_manufacturer="Unknown" +build.usb_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid} '-DUSB_MANUFACTURER={build.usb_manufacturer}' '-DUSB_PRODUCT={build.usb_product}' diff --git a/1.0.4/variants/rfs/pins_arduino.h b/1.0.4/variants/rfs/pins_arduino.h new file mode 100644 index 0000000..e312475 --- /dev/null +++ b/1.0.4/variants/rfs/pins_arduino.h @@ -0,0 +1,223 @@ +/* + pins_arduino.h - Pin definition functions for Arduino + Part of Arduino - http://www.arduino.cc/ + + Copyright (c) 2007 David A. Mellis + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General + Public License along with this library; if not, write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, + Boston, MA 02111-1307 USA + + $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ +*/ + +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include + +#define NUM_DIGITAL_PINS 20 +#define NUM_ANALOG_INPUTS 6 +#define analogInputToDigitalPin(p) ((p < 6) ? (p) + 14 : -1) + +#if defined(__AVR_ATmega8__) + #define digitalPinHasPWM(p) ((p) == 9 || (p) == 10 || (p) == 11) +#else + #define digitalPinHasPWM(p) ((p) == 3 || (p) == 5 || (p) == 6 || (p) == 9 || (p) == 10 || (p) == 11) +#endif + +static const uint8_t SS = 10; +static const uint8_t MOSI = 11; +static const uint8_t MISO = 12; +static const uint8_t SCK = 13; + +static const uint8_t SDA = 18; +static const uint8_t SCL = 19; +#define LED_BUILTIN 8 + +static const uint8_t A0 = 14; +static const uint8_t A1 = 15; +static const uint8_t A2 = 16; +static const uint8_t A3 = 17; +static const uint8_t A4 = 18; +static const uint8_t A5 = 19; +static const uint8_t A6 = 20; +static const uint8_t A7 = 21; + +#define digitalPinToPCICR(p) (((p) >= 0 && (p) <= 21) ? (&PCICR) : ((uint8_t *)0)) +#define digitalPinToPCICRbit(p) (((p) <= 7) ? 2 : (((p) <= 13) ? 0 : 1)) +#define digitalPinToPCMSK(p) (((p) <= 7) ? (&PCMSK2) : (((p) <= 13) ? (&PCMSK0) : (((p) <= 21) ? (&PCMSK1) : ((uint8_t *)0)))) +#define digitalPinToPCMSKbit(p) (((p) <= 7) ? (p) : (((p) <= 13) ? ((p) - 8) : ((p) - 14))) + +#define digitalPinToInterrupt(p) ((p) == 2 ? 0 : ((p) == 3 ? 1 : NOT_AN_INTERRUPT)) + +#ifdef ARDUINO_MAIN + +// On the Arduino board, digital pins are also used +// for the analog output (software PWM). Analog input +// pins are a separate set. + +// ATMEL ATMEGA8 & 168 / ARDUINO +// +// +-\/-+ +// PC6 1| |28 PC5 (AI 5) +// (D 0) PD0 2| |27 PC4 (AI 4) +// (D 1) PD1 3| |26 PC3 (AI 3) +// (D 2) PD2 4| |25 PC2 (AI 2) +// PWM+ (D 3) PD3 5| |24 PC1 (AI 1) +// (D 4) PD4 6| |23 PC0 (AI 0) +// VCC 7| |22 GND +// GND 8| |21 AREF +// PB6 9| |20 AVCC +// PB7 10| |19 PB5 (D 13) +// PWM+ (D 5) PD5 11| |18 PB4 (D 12) +// PWM+ (D 6) PD6 12| |17 PB3 (D 11) PWM +// (D 7) PD7 13| |16 PB2 (D 10) PWM +// (D 8) PB0 14| |15 PB1 (D 9) PWM +// +----+ +// +// (PWM+ indicates the additional PWM pins on the ATmega168.) + +// these arrays map port names (e.g. port B) to the +// appropriate addresses for various functions (e.g. reading +// and writing) +const uint16_t PROGMEM port_to_mode_PGM[] = { + NOT_A_PORT, + NOT_A_PORT, + (uint16_t) &DDRB, + (uint16_t) &DDRC, + (uint16_t) &DDRD, +}; + +const uint16_t PROGMEM port_to_output_PGM[] = { + NOT_A_PORT, + NOT_A_PORT, + (uint16_t) &PORTB, + (uint16_t) &PORTC, + (uint16_t) &PORTD, +}; + +const uint16_t PROGMEM port_to_input_PGM[] = { + NOT_A_PORT, + NOT_A_PORT, + (uint16_t) &PINB, + (uint16_t) &PINC, + (uint16_t) &PIND, +}; + +const uint8_t PROGMEM digital_pin_to_port_PGM[] = { + PD, /* 0 */ + PD, + PD, + PD, + PD, + PD, + PD, + PD, + PB, /* 8 */ + PB, + PB, + PB, + PB, + PB, + PC, /* 14 */ + PC, + PC, + PC, + PC, + PC, +}; + +const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = { + _BV(0), /* 0, port D */ + _BV(1), + _BV(2), + _BV(3), + _BV(4), + _BV(5), + _BV(6), + _BV(7), + _BV(0), /* 8, port B */ + _BV(1), + _BV(2), + _BV(3), + _BV(4), + _BV(5), + _BV(0), /* 14, port C */ + _BV(1), + _BV(2), + _BV(3), + _BV(4), + _BV(5), +}; + +const uint8_t PROGMEM digital_pin_to_timer_PGM[] = { + NOT_ON_TIMER, /* 0 - port D */ + NOT_ON_TIMER, + NOT_ON_TIMER, + // on the ATmega168, digital pin 3 has hardware pwm +#if defined(__AVR_ATmega8__) + NOT_ON_TIMER, +#else + TIMER2B, +#endif + NOT_ON_TIMER, + // on the ATmega168, digital pins 5 and 6 have hardware pwm +#if defined(__AVR_ATmega8__) + NOT_ON_TIMER, + NOT_ON_TIMER, +#else + TIMER0B, + TIMER0A, +#endif + NOT_ON_TIMER, + NOT_ON_TIMER, /* 8 - port B */ + TIMER1A, + TIMER1B, +#if defined(__AVR_ATmega8__) + TIMER2, +#else + TIMER2A, +#endif + NOT_ON_TIMER, + NOT_ON_TIMER, + NOT_ON_TIMER, + NOT_ON_TIMER, /* 14 - port C */ + NOT_ON_TIMER, + NOT_ON_TIMER, + NOT_ON_TIMER, + NOT_ON_TIMER, +}; + +#endif + +// These serial port names are intended to allow libraries and architecture-neutral +// sketches to automatically default to the correct port name for a particular type +// of use. For example, a GPS module would normally connect to SERIAL_PORT_HARDWARE_OPEN, +// the first hardware serial port whose RX/TX pins are not dedicated to another use. +// +// SERIAL_PORT_MONITOR Port which normally prints to the Arduino Serial Monitor +// +// SERIAL_PORT_USBVIRTUAL Port which is USB virtual serial +// +// SERIAL_PORT_LINUXBRIDGE Port which connects to a Linux system via Bridge library +// +// SERIAL_PORT_HARDWARE Hardware serial port, physical RX & TX pins. +// +// SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX +// pins are NOT connected to anything by default. +#define SERIAL_PORT_MONITOR Serial +#define SERIAL_PORT_HARDWARE Serial + +#endif diff --git a/RFS-1.0.4.zip b/RFS-1.0.4.zip new file mode 100644 index 0000000000000000000000000000000000000000..d6b2879a1aa250b6aa00e64390631ac49c42c90d GIT binary patch literal 10467 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 literal 0 HcmV?d00001 diff --git a/package_xPablo_index.json b/package_xPablo_index.json index 331908d..61cc6aa 100644 --- a/package_xPablo_index.json +++ b/package_xPablo_index.json @@ -17,12 +17,41 @@ "help": { "online": "http://xpablo.cz" }, - "url": "http://xpablo.cz/boards/RFS-1.0.3.zip", + "url": "http://git.xpablo.cz/xPablo.cz/Arduino_Platform_Boards/src/branch/master/RFS-1.0.3.zip", "archiveFileName": "RFS-1.0.3.zip", "size": "8849", "boards": [ - {"name": "EasyTherm RFS Rev.A (8 MHz internal clock)"}, - {"name": "EasyTherm RFS Rev.A (8 MHz internal clock, USBTinyISP)"} + {"name": "EasyTherm RFS Rev.A (8MHz internal clock)"}, + {"name": "EasyTherm RFS Rev.A (8MHz internal clock, USBTinyISP)"} + ], + "toolsDependencies": [ + { + "packager": "arduino", + "name": "avr-gcc", + "version": "4.8.1-arduino5" + }, + { + "packager": "arduino", + "name": "avrdude", + "version": "6.0.1-arduino5" + } + ] + }, + { + "name": "xPablo EasyTherm boards", + "architecture": "avr", + "version": "1.0.4", + "category": "Contributed", + "help": { + "online": "http://xpablo.cz" + }, + "url": "http://git.xpablo.cz/xPablo.cz/Arduino_Platform_Boards/src/branch/master/RFS-1.0.4.zip", + "archiveFileName": "RFS-1.0.4.zip", + "size": "10467", + "boards": [ + {"name": "EasyTherm RFS Rev.A (8MHz internal clock)"}, + {"name": "EasyTherm RFS Rev.A (8MHz, DualOptiboot, 9600Bd)"}, + {"name": "EasyTherm RFS Rev.A (8MHz internal clock, USBTinyISP)"} ], "toolsDependencies": [ {