Skip to content

Commit 23542cf

Browse files
committed
Use esptool.py for "upload" and"erase" targets
1 parent ec1a8a1 commit 23542cf

File tree

2 files changed

+34
-18
lines changed

2 files changed

+34
-18
lines changed

builder/main.py

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -153,10 +153,12 @@ def _update_max_upload_size(env):
153153
SIZEPRINTCMD='$SIZETOOL -B -d $SOURCES',
154154

155155
ERASEFLAGS=[
156-
"-cp", "$UPLOAD_PORT",
157-
"-cd", "$UPLOAD_RESETMETHOD"
156+
"--chip", "esp8266",
157+
"--port", '"$UPLOAD_PORT"'
158158
],
159-
ERASECMD='esptool $ERASEFLAGS -ce',
159+
ERASETOOL=join(
160+
platform.get_package_dir("tool-esptoolpy") or "", "esptool.py"),
161+
ERASECMD='"$PYTHONEXE" "$ERASETOOL" $ERASEFLAGS erase_flash',
160162

161163
PROGSUFFIX=".elf"
162164
)
@@ -311,24 +313,34 @@ def _update_max_upload_size(env):
311313

312314
elif upload_protocol == "esptool":
313315
env.Replace(
314-
UPLOADER="esptool",
316+
UPLOADER=join(
317+
platform.get_package_dir("tool-esptoolpy") or "", "esptool.py"),
315318
UPLOADERFLAGS=[
316-
"-cd", "$UPLOAD_RESETMETHOD",
317-
"-cb", "$UPLOAD_SPEED",
318-
"-cp", '"$UPLOAD_PORT"'
319+
"--chip", "esp8266",
320+
"--port", '"$UPLOAD_PORT"',
321+
"--baud", "$UPLOAD_SPEED",
322+
"write_flash"
319323
],
320-
UPLOADCMD='$UPLOADER $UPLOADERFLAGS -cf $SOURCE',
324+
UPLOADCMD='"$PYTHONEXE" "$UPLOADER" $UPLOADERFLAGS 0 $SOURCE'
321325
)
322-
if env.subst("$PIOFRAMEWORK") not in ("arduino", "simba"): # SDK
323-
for image in env.get("FLASH_EXTRA_IMAGES", []):
324-
env.Append(
325-
UPLOADERFLAGS=["-ca", image[0], "-cf", env.subst(image[1])])
326-
env.Replace(UPLOADCMD="$UPLOADER $UPLOADERFLAGS")
327-
elif "uploadfs" in COMMAND_LINE_TARGETS:
328-
env.Append(UPLOADERFLAGS=["-ca", "${hex(SPIFFS_START)}"])
326+
for image in env.get("FLASH_EXTRA_IMAGES", []):
327+
env.Append(UPLOADERFLAGS=[image[0], env.subst(image[1])])
328+
329+
if "uploadfs" in COMMAND_LINE_TARGETS:
330+
env.Replace(
331+
UPLOADERFLAGS=[
332+
"--chip", "esp8266",
333+
"--port", '"$UPLOAD_PORT"',
334+
"--baud", "$UPLOAD_SPEED",
335+
"write_flash",
336+
"$SPIFFS_START"
337+
],
338+
UPLOADCMD='"$PYTHONEXE" "$UPLOADER" $UPLOADERFLAGS $SOURCE',
339+
)
340+
329341
upload_actions = [
330-
env.VerboseAction(
331-
env.AutodetectUploadPort, "Looking for upload port..."),
342+
env.VerboseAction(env.AutodetectUploadPort,
343+
"Looking for upload port..."),
332344
env.VerboseAction("$UPLOADCMD", "Uploading $SOURCE")
333345
]
334346

@@ -349,7 +361,7 @@ def _update_max_upload_size(env):
349361
env.Alias("erase", None, [
350362
env.VerboseAction(env.AutodetectUploadPort,
351363
"Looking for serial port..."),
352-
env.VerboseAction("$ERASECMD", "Ready for erasing")
364+
env.VerboseAction("$ERASECMD", "Erasing...")
353365
]))
354366

355367

platform.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,10 @@
6767
"type": "uploader",
6868
"version": "<2"
6969
},
70+
"tool-esptoolpy": {
71+
"type": "uploader",
72+
"version": "~1.20600.0"
73+
},
7074
"tool-espotapy": {
7175
"type": "uploader",
7276
"optional": true,

0 commit comments

Comments
 (0)