diff --git a/HISTORY.rst b/HISTORY.rst index adf0527c..d9ae5b10 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -15,8 +15,22 @@ PlatformIO 3.0 PlatformIO 2.0 -------------- -2.9.5 (2016-06-??) -~~~~~~~~~~~~~~~~~~ +2.10.2 (2016-06-??) +~~~~~~~~~~~~~~~~~~~ + +* Added support for ST Nucleo L031K6 board to ARM mbed framework +* Fixed issue with ARM mbed framework with ``-u _printf_float`` and + ``-u _scanf_float`` when parsing ``$LINKFLAGS`` +* Fixed issue with ARM mbed framework and extra includes for the custom boards, + such as Seeeduino Arch Pro + +2.10.1 (2016-06-13) +~~~~~~~~~~~~~~~~~~~ + +* Re-submit a package to PyPI + +2.10.0 (2016-06-13) +~~~~~~~~~~~~~~~~~~~ * Added support for `emonPi `__, the OpenEnergyMonitor system @@ -26,8 +40,11 @@ PlatformIO 2.0 (`issue #683 `_) * Added support for `Arduboy DevKit `__, the game system the size of a credit card +* Updated ARM mbed framework package to v121 * Check program size before uploading to the board (`issue #689 `_) +* Improved firmware uploading to Arduino Leonardo based boards + (`issue #691 `_) * Fixed issue with ``-L relative/path`` when parsing ``build_flags`` (`issue #688 `_) diff --git a/docs/demo.rst b/docs/demo.rst index be6e42ad..ed55b719 100644 --- a/docs/demo.rst +++ b/docs/demo.rst @@ -19,7 +19,7 @@ Demo & Projects Project Examples ---------------- -Preconfigured demo projects are located in `PlatformIO GitHub `_ repository. +Pre-configured demo projects are located in `PlatformIO GitHub `_ repository. "Blink Project" --------------- diff --git a/docs/index.rst b/docs/index.rst index f839bbd8..ce0d088c 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -19,7 +19,7 @@ integration. Arduino and MBED compatible. Ready for Cloud compiling.** C/C++ Intelligent Code Completion and Smart Code Linter for the super-fast coding. Multi-projects workflow with Multiple Panes. Themes Support with dark and light colors. Built-in Terminal with PlatformIO CLI tool and support for the powerful Serial Port Monitor. - All advanced instruments without leaving your favourite development environment. + All advanced instruments without leaving your favorite development environment. * **Development Platforms** - Embedded and Desktop development platforms with pre-built toolchains, debuggers, uploaders and frameworks which work under popular host OS: Mac, Windows, Linux (+ARM) @@ -110,8 +110,7 @@ Contents platforms/index platforms/embedded_boards frameworks/index - platforms/creating_platform - platforms/creating_board + platforms/custom_platform_and_board .. toctree:: :caption: Library Manager diff --git a/docs/platforms/creating_board.rst b/docs/platforms/creating_board.rst index afe0fa78..df3ab04a 100644 --- a/docs/platforms/creating_board.rst +++ b/docs/platforms/creating_board.rst @@ -11,8 +11,8 @@ .. _board_creating: -Custom Board -============ +Custom Embedded Board +===================== *PlatformIO* has pre-built settings for the most popular embedded boards. This list is available: diff --git a/docs/platforms/creating_platform.rst b/docs/platforms/creating_platform.rst index 316316bb..a286d633 100644 --- a/docs/platforms/creating_platform.rst +++ b/docs/platforms/creating_platform.rst @@ -11,8 +11,8 @@ .. _platform_creating: -Custom Platform -=============== +Custom Development Platform +=========================== *PlatformIO* was developed like a tool that may build the same source code for the different development platforms via single command :ref:`cmd_run` diff --git a/docs/platforms/custom_platform_and_board.rst b/docs/platforms/custom_platform_and_board.rst new file mode 100644 index 00000000..7db1381c --- /dev/null +++ b/docs/platforms/custom_platform_and_board.rst @@ -0,0 +1,19 @@ +.. Copyright 2014-present Ivan Kravets + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +Custom Platform & Board +======================= + +.. toctree:: + :maxdepth: 2 + + creating_platform + creating_board diff --git a/docs/projectconf.rst b/docs/projectconf.rst index 13c1b3ca..34685842 100644 --- a/docs/projectconf.rst +++ b/docs/projectconf.rst @@ -398,7 +398,7 @@ For more detailed information about available flags/options go to: ``src_build_flags`` ^^^^^^^^^^^^^^^^^^^ -An option ``src_build_flags`` has the same behaviour like ``build_flags`` +An option ``src_build_flags`` has the same behavior like ``build_flags`` but will be applied only for the project source code from :ref:`projectconf_pio_src_dir` directory. @@ -610,7 +610,7 @@ Example: ``lib_dfcyclic`` ^^^^^^^^^^^^^^^^ -Control cyclic (recursive) behaviour for ``Library Dependency Finder (LDF)``. +Control cyclic (recursive) behavior for ``Library Dependency Finder (LDF)``. By default, this option is turned OFF (``lib_dfcyclic=False``) and means that ``LDF`` will find only libraries which are included in source files from the project :ref:`projectconf_pio_src_dir`. diff --git a/docs/quickstart.rst b/docs/quickstart.rst index 77877d28..3b2d0c24 100644 --- a/docs/quickstart.rst +++ b/docs/quickstart.rst @@ -1,4 +1,4 @@ -.. Copyright 2014-2016 Ivan Kravets +.. Copyright 2014-present Ivan Kravets Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at @@ -30,7 +30,7 @@ PlatformIO CLI provides special :ref:`cmd_init` command for configuring your pro It allows to initialize new empty project or update existing with the new data. What is more, :ref:`cmd_init` can be used for :ref:`ide`. It means that you will -be able to import pre-generated PlatformIO project using favourite IDE and +be able to import pre-generated PlatformIO project using favorite IDE and extend it with the professional instruments for IoT development. This tutorial is based on the next popular embedded boards and development diff --git a/docs/userguide/cmd_ci.rst b/docs/userguide/cmd_ci.rst index be11b0bc..d97d3b96 100644 --- a/docs/userguide/cmd_ci.rst +++ b/docs/userguide/cmd_ci.rst @@ -1,4 +1,4 @@ -.. Copyright 2014-2016 Ivan Kravets +.. Copyright 2014-present Ivan Kravets Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at @@ -29,7 +29,7 @@ Description :ref:`cmd_ci` command is conceived of as "hot key" for building project with arbitrary source code structure. In a nutshell, using ``SRC`` and -:option:`platformio ci --lib` contents PlatformIO initialises via +:option:`platformio ci --lib` contents PlatformIO initializes via :ref:`cmd_init` new project in :option:`platformio ci --build-dir` with the build environments (using :option:`platformio ci --board` or :option:`platformio ci --project-conf`) and processes them via :ref:`cmd_run` diff --git a/docs/userguide/cmd_init.rst b/docs/userguide/cmd_init.rst index 45ef6f30..716ed155 100644 --- a/docs/userguide/cmd_init.rst +++ b/docs/userguide/cmd_init.rst @@ -1,4 +1,4 @@ -.. Copyright 2014-2016 Ivan Kravets +.. Copyright 2014-present Ivan Kravets Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at @@ -47,7 +47,7 @@ Options .. option:: -d, --project-dir -A path to the directory where *PlatformIO* will initialise new project. +A path to the directory where *PlatformIO* will initialize new project. .. option:: -b, --board diff --git a/platformio/builder/tools/pioupload.py b/platformio/builder/tools/pioupload.py index 5613fff9..e22a724f 100644 --- a/platformio/builder/tools/pioupload.py +++ b/platformio/builder/tools/pioupload.py @@ -54,6 +54,7 @@ def WaitForNewSerialPort(env, before): prev_port = env.subst("$UPLOAD_PORT") new_port = None elapsed = 0 + sleep(1) while elapsed < 5 and new_port is None: now = util.get_serialports() for p in now: diff --git a/platformio/builder/tools/platformio.py b/platformio/builder/tools/platformio.py index 68faa9c9..f43a0dc8 100644 --- a/platformio/builder/tools/platformio.py +++ b/platformio/builder/tools/platformio.py @@ -35,6 +35,11 @@ SRC_DEFAULT_FILTER = " ".join([ def BuildProgram(env): + env.Append( + CPPDEFINES=["PLATFORMIO={0:02d}{1:02d}{2:02d}".format( + *pioversion_to_intstr())], + ) + # fix ASM handling under non-casitive OS if not case_sensitive_suffixes(".s", ".S"): env.Replace( @@ -77,8 +82,6 @@ def BuildProgram(env): env.ProcessFlags([env.get("SRC_BUILD_FLAGS", None)]) env.Append( - CPPDEFINES=["PLATFORMIO={0:02d}{1:02d}{2:02d}".format( - *pioversion_to_intstr())], CPPPATH=["$PROJECTSRC_DIR"], LIBS=deplibs, LIBPATH=["$BUILD_DIR"]