Skip to content

Commit e03f2d4

Browse files
committed
led menu for generic boards
1 parent 70d48e3 commit e03f2d4

File tree

3 files changed

+45
-8
lines changed

3 files changed

+45
-8
lines changed

platform.txt

+5-3
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ build.lwip_lib=-llwip_gcc
2121
build.lwip_include=lwip/include
2222
build.lwip_flags=-DLWIP_OPEN_SRC
2323

24+
build.led=
25+
2426
compiler.path={runtime.tools.xtensa-lx106-elf-gcc.path}/bin/
2527
compiler.sdk.path={runtime.platform.path}/tools/sdk
2628
compiler.libc.path={runtime.platform.path}/tools/sdk/libc/xtensa-lx106-elf
@@ -72,13 +74,13 @@ recipe.hooks.core.prebuild.1.pattern=bash -c "mkdir -p {build.path}/core && echo
7274
recipe.hooks.core.prebuild.1.pattern.windows=
7375

7476
## Compile c files
75-
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.c.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
77+
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.c.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {build.led} {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
7678

7779
## Compile c++ files
78-
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpreprocessor.flags} {compiler.cpp.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {compiler.cpp.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
80+
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpreprocessor.flags} {compiler.cpp.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {build.led} {compiler.cpp.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
7981

8082
## Compile S files
81-
recipe.S.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.S.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
83+
recipe.S.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.S.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {build.led} {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
8284

8385
## Create archives
8486
recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/arduino.ar" "{object_file}"

tools/boards.txt.py

+35-3
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
'flashfreq_menu',
6262
'flashmode_menu',
6363
'512K', '1M', '2M', '4M', '8M', '16M',
64+
'led',
6465
],
6566
}),
6667
( 'esp8285', {
@@ -74,6 +75,7 @@
7475
'flashmode_dout',
7576
'flashfreq_40',
7677
'1M',
78+
'led',
7779
],
7880
}),
7981
( 'espduino', {
@@ -399,7 +401,6 @@
399401
macros = {
400402
'defaults': collections.OrderedDict([
401403
( '.upload.tool', 'esptool' ),
402-
( '.upload.speed', '115200' ),
403404
( '.upload.maximum_data_size', '81920' ),
404405
( '.upload.wait_for_upload_port', 'true' ),
405406
( '.serial.disableDTR', 'true' ),
@@ -552,10 +553,12 @@
552553

553554
}
554555

555-
################################################################
556556
################################################################
557557
# defs
558558

559+
################################################################
560+
# debug options
561+
559562
# https://rosettacode.org/wiki/Combinations#Python
560563
def comb (m, lst):
561564
if m == 0: return [[]]
@@ -613,6 +616,9 @@ def all_debug ():
613616
]))
614617
return { 'debug_menu': debugmenu }
615618

619+
################################################################
620+
# flash size
621+
616622
def flash_size (display, optname, ld, desc, max_upload_size, spiffs_start = 0, spiffs_size = 0, spiffs_blocksize = 0):
617623
menu = '.menu.FlashSize.' + optname
618624
menub = menu + '.build.'
@@ -658,6 +664,24 @@ def all_flash_size ():
658664
}
659665

660666
################################################################
667+
# builtin led
668+
669+
def led (default,max):
670+
led = collections.OrderedDict([
671+
('.menu.led.' + str(default), str(default)),
672+
('.menu.led.' + str(default) + '.build.led', '-DUSERLED=' + str(default)),
673+
]);
674+
for i in range(0,max):
675+
if not i == default:
676+
led.update(
677+
collections.OrderedDict([
678+
('.menu.led.' + str(i), str(i)),
679+
('.menu.led.' + str(i) + '.build.led', '-DUSERLED=' + str(i)),
680+
]))
681+
return { 'led': led }
682+
683+
################################################################
684+
# help / usage
661685

662686
def usage (name,ret):
663687
print ""
@@ -667,6 +691,7 @@ def usage (name,ret):
667691
print ""
668692
print " -h, --help"
669693
print " --lwip - preferred default lwIP version (default %d)" % lwip
694+
print " --led - preferred default builtin led for generic boards (default %d)" % led_default
670695
print " --board b - board to modify:"
671696
print " --speed s - change default serial speed"
672697
print ""
@@ -694,9 +719,11 @@ def usage (name,ret):
694719

695720
lwip = 2
696721
default_speed = '115'
722+
led_default = 2
723+
led_max = 16
697724

698725
try:
699-
opts, args = getopt.getopt(sys.argv[1:], "h", ["help", "lwip=", "speed=", "board="])
726+
opts, args = getopt.getopt(sys.argv[1:], "h", ["help", "lwip=", "led=", "speed=", "board="])
700727
except getopt.GetoptError as err:
701728
print str(err) # will print something like "option -a not recognized"
702729
usage(sys.argv[0], 1)
@@ -711,6 +738,9 @@ def usage (name,ret):
711738

712739
elif o in ("--lwip"):
713740
lwip = a
741+
742+
elif o in ("--led"):
743+
led_default = int(a)
714744

715745
elif o in ("--board"):
716746
if not a in boards:
@@ -732,6 +762,7 @@ def usage (name,ret):
732762

733763
macros.update(all_flash_size())
734764
macros.update(all_debug())
765+
macros.update(led(led_default, led_max))
735766

736767
print '#'
737768
print '# this file is script-generated and is likely to be overwritten by ' + sys.argv[0]
@@ -749,6 +780,7 @@ def usage (name,ret):
749780
print 'menu.Debug=Debug port'
750781
print 'menu.DebugLevel=Debug Level'
751782
print 'menu.LwIPVariant=lwIP Variant'
783+
print 'menu.led=Builtin Led'
752784
print ''
753785

754786
for id in boards:

variants/generic/pins_arduino.h

+5-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,10 @@
3434
static const uint8_t SDA = PIN_WIRE_SDA;
3535
static const uint8_t SCL = PIN_WIRE_SCL;
3636

37-
static const uint8_t BUILTIN_LED = 1;
38-
static const uint8_t LED_BUILTIN = 1;
37+
#ifndef USERLED
38+
#define USERLED 1
39+
#endif
40+
static const uint8_t BUILTIN_LED = USERLED;
41+
static const uint8_t LED_BUILTIN = USERLED;
3942

4043
#endif /* Pins_Arduino_h */

0 commit comments

Comments
 (0)