Skip to content

Commit 7a9220e

Browse files
Merge branch 'master' into pio-take-2
2 parents 4806bda + 2df33de commit 7a9220e

File tree

1 file changed

+25
-9
lines changed

1 file changed

+25
-9
lines changed

tools/platformio-build.py

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,10 @@
2424

2525
# Extends: https://github.com/platformio/platform-espressif8266/blob/develop/builder/main.py
2626

27-
import os
28-
import subprocess
29-
3027
from os.path import isdir, join
3128

32-
from SCons import Builder, Util
33-
from SCons.Script import DefaultEnvironment
29+
from SCons import Util
30+
from SCons.Script import Builder, DefaultEnvironment
3431

3532

3633
def scons_patched_match_splitext(path, suffixes=None):
@@ -132,7 +129,26 @@ def scons_patched_match_splitext(path, suffixes=None):
132129

133130
LIBSOURCE_DIRS=[
134131
join(FRAMEWORK_DIR, "libraries")
135-
]
132+
],
133+
134+
BUILDERS=dict(
135+
ElfToBin=Builder(
136+
action=env.VerboseAction(" ".join([
137+
'"$PYTHONEXE"',
138+
'"%s"' % env.subst(join(FRAMEWORK_DIR, "tools", "elf2bin.py")),
139+
"--eboot", '"%s"' % env.subst(join(
140+
FRAMEWORK_DIR, "bootloaders", "eboot", "eboot.elf")),
141+
"--app", '"%s"' % "$SOURCE",
142+
"--flash_mode", "$BOARD_FLASH_MODE",
143+
"--flash_freq", "${__get_board_f_flash(__env__)}",
144+
"--flash_size", "${__get_flash_size(__env__)}",
145+
"--path", '"%s"' % env.subst(join(
146+
platform.get_package_dir("toolchain-xtensa"), "bin")),
147+
"--out", '"$TARGET"'
148+
]), "Building $TARGET"),
149+
suffix=".bin"
150+
)
151+
)
136152
)
137153

138154
# copy CCFLAGS to ASFLAGS (-x assembler-with-cpp mode)
@@ -146,18 +162,18 @@ def scons_patched_match_splitext(path, suffixes=None):
146162
if "PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3" in flatten_cppdefines:
147163
env.Append(
148164
CPPDEFINES=[("NONOSDK3V0", 1)],
149-
LIBPATH=[join(FRAMEWORK_DIR, "tools", "sdk", "lib", "NONOSDK3V0"),]
165+
LIBPATH=[join(FRAMEWORK_DIR, "tools", "sdk", "lib", "NONOSDK3V0")]
150166
)
151167
elif "PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x" in flatten_cppdefines:
152168
env.Append(
153169
CPPDEFINES=[("NONOSDK22x", 1)],
154-
LIBPATH=[join(FRAMEWORK_DIR, "tools", "sdk", "lib", "NONOSDK22x"),]
170+
LIBPATH=[join(FRAMEWORK_DIR, "tools", "sdk", "lib", "NONOSDK22x")]
155171
)
156172
# PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x (default)
157173
else:
158174
env.Append(
159175
CPPDEFINES=[("NONOSDK221", 1)],
160-
LIBPATH=[join(FRAMEWORK_DIR, "tools", "sdk", "lib", "NONOSDK221"),]
176+
LIBPATH=[join(FRAMEWORK_DIR, "tools", "sdk", "lib", "NONOSDK221")]
161177
)
162178

163179
#

0 commit comments

Comments
 (0)