Improve checking for the program size before uploading // Issue #689
This commit is contained in:
@@ -142,25 +142,23 @@ AlwaysBuild(target_size)
|
||||
#
|
||||
|
||||
upload = env.Alias(["upload", "uploadlazy"], target_firm,
|
||||
[env.CheckUploadSize, BeforeUpload, "$UPLOADHEXCMD"])
|
||||
[BeforeUpload, "$UPLOADHEXCMD"])
|
||||
AlwaysBuild(upload)
|
||||
|
||||
#
|
||||
# Target: Upload EEPROM data (from EEMEM directive)
|
||||
#
|
||||
|
||||
uploadeep = env.Alias(
|
||||
"uploadeep",
|
||||
env.ElfToEep(join("$BUILD_DIR", "firmware"), target_elf),
|
||||
[BeforeUpload, "$UPLOADEEPCMD"])
|
||||
uploadeep = env.Alias("uploadeep",
|
||||
env.ElfToEep(join("$BUILD_DIR", "firmware"), target_elf),
|
||||
[BeforeUpload, "$UPLOADEEPCMD"])
|
||||
AlwaysBuild(uploadeep)
|
||||
|
||||
#
|
||||
# Target: Upload firmware using external programmer
|
||||
#
|
||||
|
||||
program = env.Alias("program", target_firm,
|
||||
[env.CheckUploadSize, BeforeUpload, "$PROGRAMHEXCMD"])
|
||||
program = env.Alias("program", target_firm, [BeforeUpload, "$PROGRAMHEXCMD"])
|
||||
AlwaysBuild(program)
|
||||
|
||||
#
|
||||
|
||||
@@ -25,8 +25,6 @@ from platformio.util import get_serialports
|
||||
|
||||
|
||||
def BeforeUpload(target, source, env): # pylint: disable=W0613,W0621
|
||||
env.AutodetectUploadPort()
|
||||
|
||||
board_type = env.subst("$BOARD")
|
||||
if "zero" not in board_type:
|
||||
env.Append(
|
||||
@@ -177,8 +175,9 @@ if env.subst("$BOARD") == "zero":
|
||||
upload = env.Alias(["upload", "uploadlazy"], target_firm,
|
||||
[env.CheckUploadSize, "$UPLOADCMD"])
|
||||
else:
|
||||
upload = env.Alias(["upload", "uploadlazy"], target_firm,
|
||||
[env.CheckUploadSize, BeforeUpload, "$UPLOADCMD"])
|
||||
upload = env.Alias(
|
||||
["upload", "uploadlazy"], target_firm,
|
||||
[env.AutodetectUploadPort, BeforeUpload, "$UPLOADCMD"])
|
||||
|
||||
AlwaysBuild(upload)
|
||||
|
||||
|
||||
@@ -346,7 +346,7 @@ AlwaysBuild(target_size)
|
||||
|
||||
target_upload = env.Alias(
|
||||
["upload", "uploadlazy", "uploadfs"], target_firm,
|
||||
[lambda target, source, env: env.AutodetectUploadPort(), "$UPLOADCMD"])
|
||||
[env.AutodetectUploadPort, "$UPLOADCMD"])
|
||||
env.AlwaysBuild(target_upload)
|
||||
|
||||
|
||||
|
||||
@@ -21,20 +21,6 @@ from os.path import join
|
||||
from SCons.Script import (COMMAND_LINE_TARGETS, AlwaysBuild, Builder, Default,
|
||||
DefaultEnvironment)
|
||||
|
||||
|
||||
def BeforeUpload(target, source, env): # pylint: disable=W0613,W0621
|
||||
|
||||
if "program" in COMMAND_LINE_TARGETS:
|
||||
return
|
||||
|
||||
env.AutodetectUploadPort()
|
||||
env.Prepend(UPLOADERFLAGS=['"$UPLOAD_PORT"'])
|
||||
|
||||
if env.get("BOARD_OPTIONS", {}).get("upload", {}).get(
|
||||
"use_1200bps_touch", False):
|
||||
env.TouchSerialPort("$UPLOAD_PORT", 1200)
|
||||
|
||||
|
||||
env = DefaultEnvironment()
|
||||
|
||||
env.Replace(
|
||||
@@ -112,6 +98,9 @@ env.Replace(
|
||||
SIZEPRINTCMD='"$SIZETOOL" -B -d $SOURCES',
|
||||
|
||||
UPLOADER=join("$PIOPACKAGES_DIR", "tool-arduino101load", "arduino101load"),
|
||||
UPLOADERFLAGS=[
|
||||
'"$UPLOAD_PORT"'
|
||||
],
|
||||
DFUUTIL=join("$PIOPACKAGES_DIR", "tool-arduino101load", "dfu-util"),
|
||||
UPLOADCMD='"$UPLOADER" "$DFUUTIL" $SOURCES $UPLOADERFLAGS verbose',
|
||||
|
||||
@@ -189,8 +178,8 @@ AlwaysBuild(target_size)
|
||||
# Target: Upload firmware
|
||||
#
|
||||
|
||||
upload = env.Alias(
|
||||
["upload", "uploadlazy"], target_firm, [BeforeUpload, "$UPLOADCMD"])
|
||||
upload = env.Alias(["upload", "uploadlazy"], target_firm,
|
||||
[env.AutodetectUploadPort, "$UPLOADCMD"])
|
||||
AlwaysBuild(upload)
|
||||
|
||||
#
|
||||
|
||||
@@ -21,12 +21,6 @@ from os.path import join
|
||||
from SCons.Script import (COMMAND_LINE_TARGETS, AlwaysBuild, Builder, Default,
|
||||
DefaultEnvironment)
|
||||
|
||||
|
||||
def BeforeUpload(target, source, env): # pylint: disable=W0613,W0621
|
||||
|
||||
env.AutodetectUploadPort()
|
||||
env.Prepend(UPLOADERFLAGS=["-d", '"$UPLOAD_PORT"'])
|
||||
|
||||
env = DefaultEnvironment()
|
||||
|
||||
env.Replace(
|
||||
@@ -86,7 +80,8 @@ env.Replace(
|
||||
|
||||
UPLOADER=join("$PIOPACKAGES_DIR", "tool-pic32prog", "pic32prog"),
|
||||
UPLOADERFLAGS=[
|
||||
"-b", "$UPLOAD_SPEED"
|
||||
"-b", "$UPLOAD_SPEED",
|
||||
"-d", '"$UPLOAD_PORT"'
|
||||
],
|
||||
UPLOADCMD='"$UPLOADER" $UPLOADERFLAGS $SOURCES',
|
||||
|
||||
@@ -179,8 +174,8 @@ AlwaysBuild(target_size)
|
||||
# Target: Upload firmware
|
||||
#
|
||||
|
||||
upload = env.Alias(
|
||||
["upload", "uploadlazy"], target_firm, [BeforeUpload, "$UPLOADCMD"])
|
||||
upload = env.Alias(["upload", "uploadlazy"], target_firm,
|
||||
[env.AutodetectUploadPort, "$UPLOADCMD"])
|
||||
AlwaysBuild(upload)
|
||||
|
||||
#
|
||||
|
||||
@@ -63,9 +63,8 @@ AlwaysBuild(target_size)
|
||||
#
|
||||
|
||||
if env.subst("$BOARD") == "rfduino":
|
||||
upload = env.Alias(
|
||||
["upload", "uploadlazy"], target_firm,
|
||||
[lambda target, source, env: env.AutodetectUploadPort(), "$UPLOADCMD"])
|
||||
upload = env.Alias(["upload", "uploadlazy"], target_firm,
|
||||
[env.AutodetectUploadPort, "$UPLOADCMD"])
|
||||
else:
|
||||
upload = env.Alias(["upload", "uploadlazy"], target_firm, env.UploadToDisk)
|
||||
AlwaysBuild(upload)
|
||||
|
||||
@@ -17,19 +17,10 @@
|
||||
"""
|
||||
|
||||
from os.path import join
|
||||
from shutil import copyfile
|
||||
|
||||
from SCons.Script import (COMMAND_LINE_TARGETS, AlwaysBuild, Default,
|
||||
DefaultEnvironment, SConscript)
|
||||
|
||||
|
||||
def UploadToDisk(target, source, env): # pylint: disable=W0613,W0621
|
||||
env.AutodetectUploadPort()
|
||||
copyfile(join(env.subst("$BUILD_DIR"), "firmware.bin"),
|
||||
join(env.subst("$UPLOAD_PORT"), "firmware.bin"))
|
||||
print("Firmware has been successfully uploaded.\n"
|
||||
"Please restart your board.")
|
||||
|
||||
env = DefaultEnvironment()
|
||||
|
||||
SConscript(env.subst(join("$PIOBUILDER_DIR", "scripts", "basearm.py")))
|
||||
@@ -60,7 +51,7 @@ AlwaysBuild(target_size)
|
||||
# Target: Upload by default .bin file
|
||||
#
|
||||
|
||||
upload = env.Alias(["upload", "uploadlazy"], target_firm, UploadToDisk)
|
||||
upload = env.Alias(["upload", "uploadlazy"], target_firm, env.UploadToDisk)
|
||||
AlwaysBuild(upload)
|
||||
|
||||
#
|
||||
|
||||
@@ -100,8 +100,7 @@ AlwaysBuild(target_size)
|
||||
#
|
||||
|
||||
if "mbed" in env.subst("$FRAMEWORK") and not env.subst("$UPLOAD_PROTOCOL"):
|
||||
upload = env.Alias(["upload", "uploadlazy"],
|
||||
target_firm, env.UploadToDisk)
|
||||
upload = env.Alias(["upload", "uploadlazy"], target_firm, env.UploadToDisk)
|
||||
else:
|
||||
upload = env.Alias(["upload", "uploadlazy"], target_firm, "$UPLOADCMD")
|
||||
AlwaysBuild(upload)
|
||||
|
||||
Reference in New Issue
Block a user