Skip to content

Commit bed305a

Browse files
committed
Added auto-generation for 'build.board' value in boards.txt.
See arduino#1305.
1 parent fe44fbf commit bed305a

File tree

5 files changed

+143
-127
lines changed

5 files changed

+143
-127
lines changed

app/src/processing/app/debug/TargetBoard.java

+15
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package processing.app.debug;
22

3+
import static processing.app.I18n._;
4+
import static processing.app.I18n.format;
5+
36
import java.util.LinkedHashMap;
47
import java.util.Map;
58
import java.util.Set;
@@ -28,6 +31,18 @@ public TargetBoard(String _id, PreferencesMap _prefs, TargetPlatform parent) {
2831
PreferencesMap menus = prefs.firstLevelMap().get("menu");
2932
if (menus != null)
3033
menuOptions = menus.firstLevelMap();
34+
35+
// Auto generate build.board if not set
36+
if (!prefs.containsKey("build.board")) {
37+
String board = containerPlatform.getId() + "_" + id;
38+
board = board.toUpperCase();
39+
prefs.put("build.board", board);
40+
System.out
41+
.println(format(
42+
_("Board {0}:{1}:{2} doesn''t define a ''build.board'' preference. Auto-set to: {3}"),
43+
containerPlatform.getContainerPackage().getId(),
44+
containerPlatform.getId(), id, board));
45+
}
3146
}
3247

3348
/**

hardware/arduino/avr/boards.txt

+90-89
Original file line numberDiff line numberDiff line change
@@ -20,52 +20,52 @@ uno.bootloader.file=optiboot/optiboot_atmega328.hex
2020

2121
uno.build.mcu=atmega328p
2222
uno.build.f_cpu=16000000L
23-
uno.build.board=ARDUINO_UNO
23+
uno.build.board=AVR_UNO
2424
uno.build.core=arduino
2525
uno.build.variant=standard
2626

2727
##############################################################
2828

29-
atmega328diecimila.name=Arduino Duemilanove or Diecimila
29+
duemilanove.name=Arduino Duemilanove or Diecimila
3030

31-
atmega328diecimila.upload.tool=avrdude
32-
atmega328diecimila.upload.protocol=arduino
31+
duemilanove.upload.tool=avrdude
32+
duemilanove.upload.protocol=arduino
3333

34-
atmega328diecimila.bootloader.tool=avrdude
35-
atmega328diecimila.bootloader.low_fuses=0xFF
36-
atmega328diecimila.bootloader.unlock_bits=0x3F
37-
atmega328diecimila.bootloader.lock_bits=0x0F
34+
duemilanove.bootloader.tool=avrdude
35+
duemilanove.bootloader.low_fuses=0xFF
36+
duemilanove.bootloader.unlock_bits=0x3F
37+
duemilanove.bootloader.lock_bits=0x0F
3838

39-
atmega328diecimila.build.f_cpu=16000000L
40-
atmega328diecimila.build.board=ARDUINO_DUEMILANOVE
41-
atmega328diecimila.build.core=arduino
42-
atmega328diecimila.build.variant=standard
39+
duemilanove.build.f_cpu=16000000L
40+
duemilanove.build.board=AVR_DUEMILANOVE
41+
duemilanove.build.core=arduino
42+
duemilanove.build.variant=standard
4343

4444
## Arduino Duemilanove or Diecimila w/ ATmega328
4545
## ---------------------------------------------
46-
atmega328diecimila.menu.cpu.atmega328=ATmega328
46+
duemilanove.menu.cpu.atmega328=ATmega328
4747

48-
atmega328diecimila.menu.cpu.atmega328.upload.maximum_size=30720
49-
atmega328diecimila.menu.cpu.atmega328.upload.speed=57600
48+
duemilanove.menu.cpu.atmega328.upload.maximum_size=30720
49+
duemilanove.menu.cpu.atmega328.upload.speed=57600
5050

51-
atmega328diecimila.menu.cpu.atmega328.bootloader.high_fuses=0xDA
52-
atmega328diecimila.menu.cpu.atmega328.bootloader.extended_fuses=0x05
53-
atmega328diecimila.menu.cpu.atmega328.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex
51+
duemilanove.menu.cpu.atmega328.bootloader.high_fuses=0xDA
52+
duemilanove.menu.cpu.atmega328.bootloader.extended_fuses=0x05
53+
duemilanove.menu.cpu.atmega328.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex
5454

55-
atmega328diecimila.menu.cpu.atmega328.build.mcu=atmega328p
55+
duemilanove.menu.cpu.atmega328.build.mcu=atmega328p
5656

5757
## Arduino Duemilanove or Diecimila w/ ATmega168
5858
## ---------------------------------------------
59-
atmega328diecimila.menu.cpu.atmega168=ATmega168
59+
duemilanove.menu.cpu.atmega168=ATmega168
6060

61-
atmega328diecimila.menu.cpu.atmega168.upload.maximum_size=14336
62-
atmega328diecimila.menu.cpu.atmega168.upload.speed=19200
61+
duemilanove.menu.cpu.atmega168.upload.maximum_size=14336
62+
duemilanove.menu.cpu.atmega168.upload.speed=19200
6363

64-
atmega328diecimila.menu.cpu.atmega168.bootloader.high_fuses=0xdd
65-
atmega328diecimila.menu.cpu.atmega168.bootloader.extended_fuses=0x00
66-
atmega328diecimila.menu.cpu.atmega168.bootloader.file=atmega/ATmegaBOOT_168_diecimila.hex
64+
duemilanove.menu.cpu.atmega168.bootloader.high_fuses=0xdd
65+
duemilanove.menu.cpu.atmega168.bootloader.extended_fuses=0x00
66+
duemilanove.menu.cpu.atmega168.bootloader.file=atmega/ATmegaBOOT_168_diecimila.hex
6767

68-
atmega328diecimila.menu.cpu.atmega168.build.mcu=atmega168
68+
duemilanove.menu.cpu.atmega168.build.mcu=atmega168
6969

7070
##############################################################
7171

@@ -79,7 +79,7 @@ nano.bootloader.unlock_bits=0x3F
7979
nano.bootloader.lock_bits=0x0F
8080

8181
nano.build.f_cpu=16000000L
82-
nano.build.board=ARDUINO_NANO
82+
nano.build.board=AVR_NANO
8383
nano.build.core=arduino
8484
nano.build.variant=eightanaloginputs
8585

@@ -131,7 +131,7 @@ mega2560.bootloader.lock_bits=0x0F
131131

132132
mega2560.build.mcu=atmega2560
133133
mega2560.build.f_cpu=16000000L
134-
mega2560.build.board=ARDUINO_MEGA2560
134+
mega2560.build.board=AVR_MEGA2560
135135
mega2560.build.core=arduino
136136
mega2560.build.variant=mega
137137

@@ -155,7 +155,7 @@ mega.bootloader.lock_bits=0x0F
155155

156156
mega.build.mcu=atmega1280
157157
mega.build.f_cpu=16000000L
158-
mega.build.board=ARDUINO_MEGA
158+
mega.build.board=AVR_MEGA
159159
mega.build.core=arduino
160160
mega.build.variant=mega
161161

@@ -182,7 +182,7 @@ leonardo.build.mcu=atmega32u4
182182
leonardo.build.f_cpu=16000000L
183183
leonardo.build.vid=0x2341
184184
leonardo.build.pid=0x8036
185-
leonardo.build.board=ARDUINO_LEONARDO
185+
leonardo.build.board=AVR_LEONARDO
186186
leonardo.build.core=arduino
187187
leonardo.build.variant=leonardo
188188
leonardo.build.extra_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid}
@@ -210,7 +210,7 @@ micro.build.mcu=atmega32u4
210210
micro.build.f_cpu=16000000L
211211
micro.build.vid=0x2341
212212
micro.build.pid=0x8037
213-
micro.build.board=ARDUINO_MICRO
213+
micro.build.board=AVR_MICRO
214214
micro.build.core=arduino
215215
micro.build.variant=micro
216216
micro.build.extra_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid}
@@ -238,7 +238,7 @@ esplora.build.mcu=atmega32u4
238238
esplora.build.f_cpu=16000000L
239239
esplora.build.vid=0x2341
240240
esplora.build.pid=0x803c
241-
esplora.build.board=ARDUINO_ESPLORA
241+
esplora.build.board=AVR_ESPLORA
242242
esplora.build.core=arduino
243243
esplora.build.variant=leonardo
244244
esplora.build.extra_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid}
@@ -256,7 +256,7 @@ mini.bootloader.unlock_bits=0x3F
256256
mini.bootloader.lock_bits=0x0F
257257

258258
mini.build.f_cpu=16000000L
259-
mini.build.board=ARDUINO_MINI
259+
mini.build.board=AVR_MINI
260260
mini.build.core=arduino
261261
mini.build.variant=eightanaloginputs
262262

@@ -306,7 +306,7 @@ ethernet.bootloader.lock_bits=0x0F
306306
ethernet.build.variant=standard
307307
ethernet.build.mcu=atmega328p
308308
ethernet.build.f_cpu=16000000L
309-
ethernet.build.board=ARDUINO_ETHERNET
309+
ethernet.build.board=AVR_ETHERNET
310310
ethernet.build.core=arduino
311311

312312
##############################################################
@@ -328,7 +328,7 @@ fio.bootloader.lock_bits=0x0F
328328

329329
fio.build.mcu=atmega328p
330330
fio.build.f_cpu=8000000L
331-
fio.build.board=ARDUINO_FIO
331+
fio.build.board=AVR_FIO
332332
fio.build.core=arduino
333333
fio.build.variant=eightanaloginputs
334334

@@ -347,7 +347,7 @@ bt.bootloader.unlock_bits=0x3F
347347
bt.bootloader.lock_bits=0x0F
348348

349349
bt.build.f_cpu=16000000L
350-
bt.build.board=ARDUINO_BT
350+
bt.build.board=AVR_BT
351351
bt.build.core=arduino
352352
bt.build.variant=eightanaloginputs
353353

@@ -375,32 +375,32 @@ bt.menu.cpu.atmega168.build.mcu=atmega168
375375

376376
##############################################################
377377

378-
LilyPadUSB.name=LilyPad Arduino USB
379-
380-
LilyPadUSB.upload.tool=avrdude
381-
LilyPadUSB.upload.protocol=avr109
382-
LilyPadUSB.upload.maximum_size=28672
383-
LilyPadUSB.upload.speed=57600
384-
LilyPadUSB.upload.disable_flushing=true
385-
LilyPadUSB.upload.use_1200bps_touch=true
386-
LilyPadUSB.upload.wait_for_upload_port=true
387-
388-
LilyPadUSB.bootloader.tool=avrdude
389-
LilyPadUSB.bootloader.low_fuses=0xff
390-
LilyPadUSB.bootloader.high_fuses=0xd8
391-
LilyPadUSB.bootloader.extended_fuses=0xce
392-
LilyPadUSB.bootloader.file=caterina-LilyPadUSB/Caterina-LilyPadUSB.hex
393-
LilyPadUSB.bootloader.unlock_bits=0x3F
394-
LilyPadUSB.bootloader.lock_bits=0x2F
395-
396-
LilyPadUSB.build.mcu=atmega32u4
397-
LilyPadUSB.build.f_cpu=8000000L
398-
LilyPadUSB.build.vid=0x1B4F
399-
LilyPadUSB.build.pid=0x9208
400-
LilyPadUSB.build.board=ARDUINO_LILYPAD_USB
401-
LilyPadUSB.build.core=arduino
402-
LilyPadUSB.build.variant=leonardo
403-
LilyPadUSB.build.extra_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid}
378+
lilypad_usb.name=LilyPad Arduino USB
379+
380+
lilypad_usb.upload.tool=avrdude
381+
lilypad_usb.upload.protocol=avr109
382+
lilypad_usb.upload.maximum_size=28672
383+
lilypad_usb.upload.speed=57600
384+
lilypad_usb.upload.disable_flushing=true
385+
lilypad_usb.upload.use_1200bps_touch=true
386+
lilypad_usb.upload.wait_for_upload_port=true
387+
388+
lilypad_usb.bootloader.tool=avrdude
389+
lilypad_usb.bootloader.low_fuses=0xff
390+
lilypad_usb.bootloader.high_fuses=0xd8
391+
lilypad_usb.bootloader.extended_fuses=0xce
392+
lilypad_usb.bootloader.file=caterina-LilyPadUSB/Caterina-LilyPadUSB.hex
393+
lilypad_usb.bootloader.unlock_bits=0x3F
394+
lilypad_usb.bootloader.lock_bits=0x2F
395+
396+
lilypad_usb.build.mcu=atmega32u4
397+
lilypad_usb.build.f_cpu=8000000L
398+
lilypad_usb.build.vid=0x1B4F
399+
lilypad_usb.build.pid=0x9208
400+
lilypad_usb.build.board=AVR_LILYPAD_USB
401+
lilypad_usb.build.core=arduino
402+
lilypad_usb.build.variant=leonardo
403+
lilypad_usb.build.extra_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid}
404404

405405
##############################################################
406406

@@ -414,7 +414,7 @@ lilypad.bootloader.unlock_bits=0x3F
414414
lilypad.bootloader.lock_bits=0x0F
415415

416416
lilypad.build.f_cpu=8000000L
417-
lilypad.build.board=ARDUINO_LILYPAD
417+
lilypad.build.board=AVR_LILYPAD
418418
lilypad.build.core=arduino
419419
lilypad.build.variant=standard
420420

@@ -457,7 +457,7 @@ pro.bootloader.tool=avrdude
457457
pro.bootloader.unlock_bits=0x3F
458458
pro.bootloader.lock_bits=0x0F
459459

460-
pro.build.board=ARDUINO_PRO
460+
pro.build.board=AVR_PRO
461461
pro.build.core=arduino
462462
pro.build.variant=standard
463463

@@ -523,43 +523,44 @@ pro.menu.cpu.8MHzatmega168.build.f_cpu=8000000L
523523

524524
##############################################################
525525

526-
atmegang.name=Arduino NG or older
526+
ng.name=Arduino NG or older
527527

528-
atmegang.upload.tool=avrdude
529-
atmegang.upload.protocol=arduino
530-
atmegang.upload.speed=19200
528+
ng.upload.tool=avrdude
529+
ng.upload.protocol=arduino
530+
ng.upload.speed=19200
531531

532-
atmegang.bootloader.tool=avrdude
533-
atmegang.bootloader.unlock_bits=0x3F
534-
atmegang.bootloader.lock_bits=0x0F
532+
ng.bootloader.tool=avrdude
533+
ng.bootloader.unlock_bits=0x3F
534+
ng.bootloader.lock_bits=0x0F
535535

536-
atmegang.build.mcu=atmegang
537-
atmegang.build.f_cpu=16000000L
538-
atmegang.build.board=ARDUINO_NG
539-
atmegang.build.core=arduino
540-
atmegang.build.variant=standard
536+
ng.build.mcu=atmegang
537+
ng.build.f_cpu=16000000L
538+
ng.build.board=AVR_NG
539+
ng.build.core=arduino
540+
ng.build.variant=standard
541541

542542
## Arduino NG or older w/ ATmega168
543543
## --------------------------------
544-
atmegang.menu.cpu.atmega168=ATmega168
544+
ng.menu.cpu.atmega168=ATmega168
545545

546-
atmegang.menu.cpu.atmega168.upload.maximum_size=14336
546+
ng.menu.cpu.atmega168.upload.maximum_size=14336
547547

548-
atmegang.menu.cpu.atmega168.bootloader.low_fuses=0xff
549-
atmegang.menu.cpu.atmega168.bootloader.high_fuses=0xdd
550-
atmegang.menu.cpu.atmega168.bootloader.extended_fuses=0x00
551-
atmegang.menu.cpu.atmega168.bootloader.file=atmega/ATmegaBOOT_168_ng.hex
548+
ng.menu.cpu.atmega168.bootloader.low_fuses=0xff
549+
ng.menu.cpu.atmega168.bootloader.high_fuses=0xdd
550+
ng.menu.cpu.atmega168.bootloader.extended_fuses=0x00
551+
ng.menu.cpu.atmega168.bootloader.file=atmega/ATmegaBOOT_168_ng.hex
552552

553-
atmegang.menu.cpu.atmega168.build.mcu=atmega168
553+
ng.menu.cpu.atmega168.build.mcu=atmega168
554554

555555
## Arduino NG or older w/ ATmega8
556556
## ------------------------------
557-
atmegang.menu.cpu.atmega8=ATmega8
557+
ng.menu.cpu.atmega8=ATmega8
558558

559-
atmegang.menu.cpu.atmega8.upload.maximum_size=7168
559+
ng.menu.cpu.atmega8.upload.maximum_size=7168
560560

561-
atmegang.menu.cpu.atmega8.bootloader.low_fuses=0xdf
562-
atmegang.menu.cpu.atmega8.bootloader.high_fuses=0xca
563-
atmegang.menu.cpu.atmega8.bootloader.file=atmega8/ATmegaBOOT-prod-firmware-2009-11-07.hex
561+
ng.menu.cpu.atmega8.bootloader.low_fuses=0xdf
562+
ng.menu.cpu.atmega8.bootloader.high_fuses=0xca
563+
ng.menu.cpu.atmega8.bootloader.file=atmega8/ATmegaBOOT-prod-firmware-2009-11-07.hex
564+
565+
ng.menu.cpu.atmega8.build.mcu=atmega8
564566

565-
atmegang.menu.cpu.atmega8.build.mcu=atmega8

hardware/arduino/avr/platform.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@ build.extra_flags=
2727
# --------------------
2828

2929
## Compile c files
30-
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -D{software}={runtime.ide.version} -D{build.board} -DARDUINO_ARCH_{build.arch} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
30+
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -D{software}={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
3131

3232
## Compile c++ files
33-
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -D{software}={runtime.ide.version} -D{build.board} -DARDUINO_ARCH_{build.arch} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
33+
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -D{software}={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
3434

3535
## Create archives
3636
recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} "{build.path}/{archive_file}" "{object_file}"

0 commit comments

Comments
 (0)