Skip to content

Commit bd5dcc2

Browse files
authored
Tasmota/one platform (#32)
* ULP CI test Linux * new ulp examples * use `toolchain-riscv32-esp` for riscv ulp projects * rm example `SPIFFS` * rm `mbcwb` support * One Tasmota Platformio Platform
1 parent 20246a3 commit bd5dcc2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+466
-1074
lines changed

.github/workflows/examples.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ jobs:
1212
- "examples/arduino-ble5-advertising"
1313
- "examples/arduino-blink"
1414
- "examples/arduino-rmt-blink"
15-
- "examples/arduino-briki-internal-libs"
1615
- "examples/arduino-usb-keyboard"
1716
- "examples/arduino-wifiscan"
1817
- "examples/espidf-arduino-blink"
@@ -27,9 +26,8 @@ jobs:
2726
- "examples/espidf-peripherals-uart"
2827
- "examples/espidf-peripherals-usb"
2928
- "examples/espidf-storage-sdcard"
30-
- "examples/espidf-storage-spiffs"
31-
- "examples/espidf-ulp-adc"
32-
- "examples/espidf-ulp-pulse"
29+
- "examples/espidf-ulp"
30+
- "examples/espidf-ulp-riscv"
3331
runs-on: ${{ matrix.os }}
3432
steps:
3533
- uses: actions/checkout@v3

builder/frameworks/arduino.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,28 @@
2828

2929
env = DefaultEnvironment()
3030
board = env.BoardConfig()
31-
build_core = board.get("build.core", "").lower()
31+
extra_flags = board.get("build.extra_flags", "")
32+
extra_flags = [element.replace("-D", " ") for element in extra_flags]
33+
extra_flags = ''.join(extra_flags)
34+
build_flags = env.GetProjectOption("build_flags")
35+
build_flags = [element.replace("-D", " ") for element in build_flags]
36+
build_flags = ''.join(build_flags)
3237

3338
SConscript("_embed_files.py", exports="env")
3439

35-
if build_core == "mbcwb":
40+
if ("CORE32SOLO1" in extra_flags or "FRAMEWORK_ARDUINO_SOLO1" in build_flags) and ("arduino" in env.subst("$PIOFRAMEWORK") and "espidf" not in env.subst("$PIOFRAMEWORK")):
3641
SConscript(
3742
join(DefaultEnvironment().PioPlatform().get_package_dir(
38-
"framework-arduino-mbcwb"), "tools", "platformio-esp-build.py"))
43+
"framework-arduino-solo1"), "tools", "platformio-build.py"))
44+
env["INTEGRATION_EXTRA_DATA"].update({"application_offset": env.subst("$ESP32_APP_OFFSET")})
45+
46+
elif "arduino" in env.subst("$PIOFRAMEWORK") and "FRAMEWORK_ARDUINO_ITEAD" in build_flags and "espidf" not in env.subst("$PIOFRAMEWORK"):
47+
SConscript(
48+
join(DefaultEnvironment().PioPlatform().get_package_dir(
49+
"framework-arduino-ITEAD"), "tools", "platformio-build.py"))
50+
env["INTEGRATION_EXTRA_DATA"].update({"application_offset": env.subst("$ESP32_APP_OFFSET")})
3951

40-
elif "espidf" not in env.subst("$PIOFRAMEWORK"):
52+
elif "arduino" in env.subst("$PIOFRAMEWORK") and "CORE32SOLO1" not in extra_flags and "FRAMEWORK_ARDUINO_ITEAD" not in build_flags and "espidf" not in env.subst("$PIOFRAMEWORK"):
4153
SConscript(
4254
join(DefaultEnvironment().PioPlatform().get_package_dir(
4355
"framework-arduinoespressif32"), "tools", "platformio-build.py"))

builder/frameworks/espidf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -222,9 +222,9 @@ def populate_idf_env_vars(idf_env):
222222
os.path.dirname(env.subst("$PYTHONEXE")),
223223
]
224224

225-
if mcu not in ("esp32c3", "esp32s3"):
225+
if mcu not in ("esp32c3"):
226226
additional_packages.append(
227-
os.path.join(platform.get_package_dir("toolchain-%sulp" % mcu), "bin"),
227+
os.path.join(platform.get_package_dir("toolchain-esp32ulp"), "bin"),
228228
)
229229

230230
if "windows" in get_systype():

builder/frameworks/ulp.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,21 @@
3434
def prepare_ulp_env_vars(env):
3535
ulp_env.PrependENVPath("IDF_PATH", FRAMEWORK_DIR)
3636

37+
mcu = "32"
38+
if "esp32s2" in idf_variant:
39+
mcu = "32s2"
40+
elif "esp32s3" in idf_variant:
41+
mcu = "32s3"
42+
3743
additional_packages = [
3844
os.path.join(
3945
platform.get_package_dir(
40-
"toolchain-xtensa-esp%s"
41-
% ("32s2" if idf_variant == "esp32s2" else "32")
46+
"toolchain-xtensa-esp%s" % mcu
4247
),
4348
"bin",
4449
),
4550
os.path.join(
46-
platform.get_package_dir("toolchain-%sulp" % idf_variant),
51+
platform.get_package_dir("toolchain-esp32ulp"),
4752
"bin",
4853
),
4954
platform.get_package_dir("tool-ninja"),
@@ -92,8 +97,8 @@ def generate_ulp_config(target_config):
9297
"components",
9398
"ulp",
9499
"cmake",
95-
"toolchain-%s-ulp%s.cmake"
96-
% (idf_variant, "-riscv" if riscv_ulp_enabled else ""),
100+
"toolchain-%sulp%s.cmake"
101+
% ("" if riscv_ulp_enabled else idf_variant + "-", "-riscv" if riscv_ulp_enabled else ""),
97102
),
98103
'-DULP_S_SOURCES="%s"' % ";".join(ulp_sources),
99104
"-DULP_APP_NAME=ulp_main",

builder/main.py

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -409,33 +409,6 @@ def __fetch_fs_size(target, source, env):
409409
]
410410

411411

412-
elif upload_protocol == "mbctool":
413-
env.Replace(
414-
UPLOADER=join(
415-
platform.get_package_dir("tool-mbctool") or "", "bin", "mbctool"),
416-
UPLOADERFLAGS=[
417-
"--device", "esp",
418-
"--speed", "$UPLOAD_SPEED",
419-
"--port", '"$UPLOAD_PORT"',
420-
"--upload",
421-
"0x1000", join(
422-
platform.get_package_dir("framework-arduino-mbcwb"),
423-
"tools", "sdk", "bin", "bootloader_qio_80m.bin"),
424-
"0x8000", join("$BUILD_DIR", "partitions.bin"),
425-
"0xe000", join(
426-
platform.get_package_dir("framework-arduino-mbcwb"),
427-
"tools", "partitions", "boot_app0.bin"),
428-
"0x10000", join("$BUILD_DIR", "${PROGNAME}.bin"),
429-
],
430-
UPLOADCMD='"$UPLOADER" $UPLOADERFLAGS'
431-
)
432-
upload_actions = [
433-
env.VerboseAction(env.AutodetectUploadPort,
434-
"Looking for upload port..."),
435-
env.VerboseAction("$UPLOADCMD", "Uploading $SOURCE")
436-
]
437-
438-
439412
elif upload_protocol in debug_tools:
440413
openocd_args = ["-d%d" % (2 if int(ARGUMENTS.get("PIOVERBOSE", 0)) else 1)]
441414
openocd_args.extend(

examples/arduino-briki-internal-libs/.gitignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

examples/arduino-briki-internal-libs/README.md

Lines changed: 0 additions & 27 deletions
This file was deleted.

examples/arduino-briki-internal-libs/include/README

Lines changed: 0 additions & 39 deletions
This file was deleted.

examples/arduino-briki-internal-libs/lib/README

Lines changed: 0 additions & 46 deletions
This file was deleted.

examples/arduino-briki-internal-libs/platformio.ini

Lines changed: 0 additions & 18 deletions
This file was deleted.

0 commit comments

Comments
 (0)