Fix warning in lock fuses

This commit is contained in:
Pavel Brychta 2018-09-02 12:40:36 +02:00
parent b78a70c9cb
commit 4b53af48c5
6 changed files with 670 additions and 0 deletions

65
1.0.5/boards.txt Normal file
View File

@ -0,0 +1,65 @@
##############################################################
RFS.name=ETCP RFS Rev.A (8MHz 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=0xCF
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=ETCP RFS Rev.A (8MHz, DualOptiBoot, 9600Bd)
RFSO.upload.protocol=arduino
RFSO.upload.maximum_size=31744
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=0xCF
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=ETCP RFS Rev.A (8MHz 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=0xCF
RFSU.build.mcu=atmega328p
RFSU.build.f_cpu=8000000L
RFSU.build.core=arduino:arduino
RFSU.build.variant=arduino:standard

View File

@ -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

View File

@ -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

View File

@ -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

124
1.0.5/platform.txt Normal file
View File

@ -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}'

View File

@ -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 <avr/pgmspace.h>
#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