mirror of
https://github.com/mikecarper/MeshCore.git
synced 2026-09-02 02:18:19 +00:00
39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
Import("env")
|
|
|
|
import os
|
|
|
|
|
|
def parse_flash_size(value):
|
|
text = str(value).strip().upper()
|
|
multipliers = {"KB": 1024, "MB": 1024 * 1024}
|
|
for suffix, multiplier in multipliers.items():
|
|
if text.endswith(suffix):
|
|
return int(text[: -len(suffix)]) * multiplier
|
|
return int(text, 0)
|
|
|
|
|
|
if os.environ.get("MESHCORE_ESP32_FULL_BUILD") == "1":
|
|
board = env.BoardConfig()
|
|
flash_size = parse_flash_size(board.get("upload.flash_size", "4MB"))
|
|
|
|
if flash_size >= 16 * 1024 * 1024:
|
|
partitions = "default_16MB.csv"
|
|
elif flash_size >= 8 * 1024 * 1024:
|
|
partitions = "default_8MB.csv"
|
|
elif flash_size >= 4 * 1024 * 1024:
|
|
partitions = "variants/dual_ota_full_4MB.csv"
|
|
else:
|
|
partitions = None
|
|
|
|
if partitions:
|
|
board.update("build.partitions", partitions)
|
|
print(
|
|
"ESP32 FULL build: using %s for %s flash"
|
|
% (partitions, board.get("upload.flash_size", "4MB"))
|
|
)
|
|
else:
|
|
print(
|
|
"ESP32 FULL build: retaining target partition table for %s flash"
|
|
% board.get("upload.flash_size", "unknown")
|
|
)
|