|
15 | 15 | # pylint: disable=redefined-outer-name |
16 | 16 |
|
17 | 17 | import re |
| 18 | +import socket |
18 | 19 | from os.path import join |
19 | 20 |
|
20 | 21 |
|
@@ -183,6 +184,12 @@ def _update_max_upload_size(env): |
183 | 184 | SIZECHECKCMD="$SIZETOOL -A -d $SOURCES", |
184 | 185 | SIZEPRINTCMD='$SIZETOOL -B -d $SOURCES', |
185 | 186 |
|
| 187 | + ERASEFLAGS=[ |
| 188 | + "-cp", "$UPLOAD_PORT", |
| 189 | + "-cd", "$UPLOAD_RESETMETHOD" |
| 190 | + ], |
| 191 | + ERASECMD='esptool $ERASEFLAGS -ce', |
| 192 | + |
186 | 193 | PROGSUFFIX=".elf" |
187 | 194 | ) |
188 | 195 |
|
@@ -261,9 +268,10 @@ def _update_max_upload_size(env): |
261 | 268 | # Handle uploading via OTA |
262 | 269 | ota_port = None |
263 | 270 | if env.get("UPLOAD_PORT"): |
264 | | - ota_port = re.match( |
265 | | - r"\"?((([0-9]{1,3}\.){3}[0-9]{1,3})|[^\\/]+\.[^\\/]+)\"?$", |
266 | | - env.get("UPLOAD_PORT")) |
| 271 | + try: |
| 272 | + ota_port = socket.gethostbyname(env.get("UPLOAD_PORT")) |
| 273 | + except socket.error: |
| 274 | + pass |
267 | 275 | if ota_port: |
268 | 276 | env.Replace(UPLOADCMD="$UPLOADOTACMD") |
269 | 277 |
|
@@ -374,6 +382,17 @@ def _update_max_upload_size(env): |
374 | 382 | env.VerboseAction("$UPLOADCMD", "Uploading $SOURCE")]) |
375 | 383 | env.AlwaysBuild(target_upload) |
376 | 384 |
|
| 385 | +# |
| 386 | +# Target: Erase Flash |
| 387 | +# |
| 388 | + |
| 389 | +AlwaysBuild( |
| 390 | + env.Alias("erase", None, [ |
| 391 | + env.VerboseAction(env.AutodetectUploadPort, |
| 392 | + "Looking for serial port..."), |
| 393 | + env.VerboseAction("$ERASECMD", "Ready for erasing") |
| 394 | + ])) |
| 395 | + |
377 | 396 |
|
378 | 397 | # |
379 | 398 | # Default targets |
|
0 commit comments