diff --git a/HISTORY.rst b/HISTORY.rst index 57080ffb..54f6cf8c 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -1,6 +1,28 @@ Release History =============== +1.2.0 (2015-03-??) +------------------ + +* Initial support of `mbed `__ + framework (only core SDK) +* Added `freescalekinetis `_ + development platform with Freescale Kinetis Freedom boards +* Added `nordicnrf51 `_ + development platform with supported boards from *JKSoft, Nordic, RedBearLab, + Switch Science* +* Added `nxplpc `_ + development platform with supported boards from *CQ Publishing, Embedded + Artists, NGX Technologies, NXP, Outrageous Circuits, SeeedStudio, + Solder Splash Labs, Switch Science, u-blox* +* Added support for *ST Nucleo* boards to + `ststm32 `__ + development platform +* Created new `Frameworks `__ + page in documentation +* Renamed ``stm32`` development platform to + `ststm32 `__ + 1.1.0 (2015-03-05) ------------------ @@ -31,7 +53,7 @@ Release History * Added `atmelsam `_ development platform with supported boards: *Arduino Due and Digistump DigiX* (`issue #71 `_) -* Added `stm32 `_ +* Added `ststm32 `__ development platform with supported boards: *Discovery kit for STM32L151/152, STM32F303xx, STM32F407/417 lines* and `libOpenCM3 Framework `_ (`issue #73 `_) diff --git a/docs/index.rst b/docs/index.rst index 8f734c06..5cadf2bc 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -58,7 +58,7 @@ Contents installation projectconf envvars - platforms/index + Platforms & Boards frameworks/index librarymanager/index userguide/index diff --git a/examples/mbed/mbed-blink/platformio.ini b/examples/mbed/mbed-blink/platformio.ini index bbef0cbe..f1f25ccb 100644 --- a/examples/mbed/mbed-blink/platformio.ini +++ b/examples/mbed/mbed-blink/platformio.ini @@ -31,13 +31,13 @@ framework = mbed board = nrf51_mkit # Freescale FRDM Platform -[env:frdm_k64f] +[env:frdm_kl25z] platform = freescalekinetis framework = mbed -board = frdm_k64f +board = frdm_kl25z # ST STM32 Platform [env:nucleo_f401re] platform = ststm32 framework = mbed -board = nucleo_f401re \ No newline at end of file +board = nucleo_f401re diff --git a/platformio/__init__.py b/platformio/__init__.py index cd24c147..96f3e969 100644 --- a/platformio/__init__.py +++ b/platformio/__init__.py @@ -1,7 +1,7 @@ # Copyright (C) Ivan Kravets # See LICENSE for details. -VERSION = (1, 2, "0.dev0") +VERSION = (1, 2, "0.dev1") __version__ = ".".join([str(s) for s in VERSION]) __title__ = "platformio" diff --git a/platformio/builder/scripts/freescalekinetis.py b/platformio/builder/scripts/freescalekinetis.py index bb5f7048..c80d7134 100644 --- a/platformio/builder/scripts/freescalekinetis.py +++ b/platformio/builder/scripts/freescalekinetis.py @@ -6,19 +6,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"))) @@ -49,7 +40,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) # diff --git a/platformio/builder/scripts/nordicnrf51.py b/platformio/builder/scripts/nordicnrf51.py index 1460b81d..15e67cc2 100644 --- a/platformio/builder/scripts/nordicnrf51.py +++ b/platformio/builder/scripts/nordicnrf51.py @@ -6,19 +6,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"))) @@ -49,7 +40,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) # diff --git a/platformio/builder/scripts/ststm32.py b/platformio/builder/scripts/ststm32.py index 9bc2f4c8..f10e4255 100644 --- a/platformio/builder/scripts/ststm32.py +++ b/platformio/builder/scripts/ststm32.py @@ -6,19 +6,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"))) @@ -73,7 +64,8 @@ AlwaysBuild(target_size) # if "mbed" in env.subst("$FRAMEWORK"): - upload = env.Alias(["upload", "uploadlazy"], target_firm, UploadToDisk) + upload = env.Alias(["upload", "uploadlazy"], + target_firm, env.UploadToDisk) else: upload = env.Alias(["upload", "uploadlazy"], target_firm, "$UPLOADCMD") AlwaysBuild(upload) diff --git a/platformio/builder/tools/pioupload.py b/platformio/builder/tools/pioupload.py index 512615b6..975a7c76 100644 --- a/platformio/builder/tools/pioupload.py +++ b/platformio/builder/tools/pioupload.py @@ -2,6 +2,8 @@ # See LICENSE for details. import platform +from os.path import join +from shutil import copyfile from time import sleep from SCons.Script import Exit @@ -56,10 +58,12 @@ def AutodetectUploadPort(env): return if env.subst("$FRAMEWORK") == "mbed": + msdlabels = ("mbed", "nucleo", "frdm") for item in get_logicaldisks(): - if not item['name'] or "mbed" != item['name'].lower(): + if (not item['name'] or + not any([l in item['name'].lower() for l in msdlabels])): continue - print "Auto-detected UPLOAD_PORT: %s" % item['disk'] + print "Auto-detected UPLOAD_PORT/DISK: %s" % item['disk'] env.Replace(UPLOAD_PORT=item['disk']) break else: @@ -76,6 +80,14 @@ def AutodetectUploadPort(env): "For the some development platforms it can be USB flash drive\n") +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.") + + def exists(_): return True @@ -85,4 +97,5 @@ def generate(env): env.AddMethod(TouchSerialPort) env.AddMethod(WaitForNewSerialPort) env.AddMethod(AutodetectUploadPort) + env.AddMethod(UploadToDisk) return env