forked from platformio/platformio-core
Merge branch 'release/v0.9.1'
This commit is contained in:
15
HISTORY.rst
15
HISTORY.rst
@ -1,6 +1,21 @@
|
||||
Release History
|
||||
===============
|
||||
|
||||
0.9.1 (2014-12-05)
|
||||
------------------
|
||||
|
||||
* Ask user to install platform (when it hasn't been installed yet) within
|
||||
`platformio run <http://docs.platformio.ikravets.com/en/latest/userguide/cmd_run.html>`_
|
||||
and `platformio show <http://docs.platformio.ikravets.com/en/latest/userguide/cmd_show.html>`_ commands
|
||||
* Improved main `documentation <http://docs.platformio.ikravets.com>`_
|
||||
* Fixed "*OSError: [Errno 2] No such file or directory*" within
|
||||
`platformio run <http://docs.platformio.ikravets.com/en/latest/userguide/cmd_run.html>`_
|
||||
command when PlatformIO isn't installed properly
|
||||
* Fixed example for `Eclipse IDE with Tiva board <https://github.com/ivankravets/platformio/tree/develop/examples/ide-eclipse>`_
|
||||
(`issue #32 <https://github.com/ivankravets/platformio/issues/32>`_)
|
||||
* Upgraded `Eclipse Project Examples <https://github.com/ivankravets/platformio/tree/develop/examples/ide-eclipse>`_
|
||||
to latest *Luna* and *PlatformIO* releases
|
||||
|
||||
0.9.0 (2014-12-01)
|
||||
------------------
|
||||
|
||||
|
BIN
docs/_static/ide-platformio-eclipse.png
vendored
BIN
docs/_static/ide-platformio-eclipse.png
vendored
Binary file not shown.
Before Width: | Height: | Size: 695 KiB After Width: | Height: | Size: 265 KiB |
@ -19,6 +19,7 @@ Eclipse
|
||||
:target: http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio
|
||||
|
||||
* `Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO <http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio>`_
|
||||
* `More examples (TI MSP430, TI TIVA and etc) <https://github.com/ivankravets/platformio/tree/develop/examples/ide-eclipse>`_
|
||||
|
||||
Energia IDE
|
||||
-----------
|
||||
|
@ -50,7 +50,9 @@ Example:
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/shirriff/Arduino-IRremote.git"
|
||||
}
|
||||
},
|
||||
"frameworks": "arduino",
|
||||
"platforms": "atmelavr"
|
||||
}
|
||||
|
||||
Under CVS (SVN/GIT)
|
||||
@ -83,7 +85,9 @@ Example:
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://code.google.com/p/xbee-arduino/"
|
||||
}
|
||||
},
|
||||
"frameworks": "arduino",
|
||||
"platforms": "atmelavr"
|
||||
}
|
||||
|
||||
Self-hosted
|
||||
@ -114,7 +118,9 @@ of **required** fields in the :ref:`library_config` will look like:
|
||||
},
|
||||
"version": "2.2",
|
||||
"downloadUrl": "http://www.pjrc.com/teensy/arduino_libraries/OneWire.zip",
|
||||
"include": "OneWire"
|
||||
"include": "OneWire",
|
||||
"frameworks": "arduino",
|
||||
"platforms": "atmelavr"
|
||||
}
|
||||
|
||||
|
||||
|
@ -30,7 +30,7 @@ Packages
|
||||
- uploader
|
||||
- `AVRDUDE <http://www.nongnu.org/avrdude/>`_
|
||||
* - ``framework-arduinoavr``
|
||||
-
|
||||
- framework
|
||||
- See below in :ref:`atmelavr_frameworks`
|
||||
|
||||
|
||||
|
@ -3,9 +3,9 @@
|
||||
Platforms & Embedded Boards
|
||||
===========================
|
||||
|
||||
*PlatformIO* has pre-built different development platforms for popular OS (Mac,
|
||||
Linux 32/64/ARM and Windows). Each of them include compiler, debugger, uploader
|
||||
(for embedded) and many other useful tools.
|
||||
*PlatformIO* has pre-built different development platforms for popular OS
|
||||
(*Mac OS X, Linux (+ARMv6) and Windows*). Each of them include compiler,
|
||||
debugger, uploader (for embedded) and many other useful tools.
|
||||
|
||||
Also it has pre-configured settings for most popular **Embedded Platform
|
||||
Boards**. You have no need to specify in :ref:`projectconf` type or frequency of
|
||||
|
@ -27,7 +27,7 @@ Packages
|
||||
- uploader
|
||||
- `MSPDebug <http://mspdebug.sourceforge.net>`_
|
||||
* - ``framework-energiamsp430``
|
||||
-
|
||||
- framework
|
||||
- See below in :ref:`timsp430_frameworks`
|
||||
|
||||
|
||||
|
@ -28,7 +28,7 @@ Packages
|
||||
- uploader
|
||||
- `Flash Programmer <http://www.ti.com/tool/lmflashprogrammer>`_
|
||||
* - ``framework-energiativa``
|
||||
-
|
||||
- framework
|
||||
- See below in :ref:`titiva_frameworks`
|
||||
|
||||
.. note::
|
||||
|
@ -113,6 +113,9 @@ This option is used by "uploader" tool to send firmware to the board via
|
||||
* ``/dev/ttyUSB0`` - Unix-based OS
|
||||
* ``COM3`` - Windows OS
|
||||
|
||||
If ``upload_port`` isn't specified, then *PlatformIO* will try to detect
|
||||
``upload_port`` automatically.
|
||||
|
||||
To print all available serial ports use :ref:`cmd_serialports` command.
|
||||
|
||||
|
||||
@ -142,6 +145,8 @@ When no targets are defined, *PlatformIO* will build only sources by default.
|
||||
(``targets = upload``).
|
||||
|
||||
|
||||
.. _projectconf_build_flags:
|
||||
|
||||
``build_flags``
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
@ -232,6 +237,8 @@ For more detailed information about available flags/options go to:
|
||||
This is option ``srcbuild_flags`` has the same behaviour like ``build_flags``
|
||||
but will be applied only for project source code from ``src`` directory.
|
||||
|
||||
.. _projectconf_examples:
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
|
@ -13,7 +13,7 @@ Print all available development platforms for installing
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ platformio search all
|
||||
$ platformio search
|
||||
[ ... ]
|
||||
|
||||
|
||||
@ -33,16 +33,22 @@ Initialize new PlatformIO based project
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ cd /path/to/empty/directory
|
||||
$ platformio init
|
||||
Project has been initialized!
|
||||
Please put your source code to `src` directory, external libraries to `lib`
|
||||
and setup environments in `platformio.ini` file.
|
||||
Then process project with `platformio run` command.
|
||||
The current working directory *** will be used for the new project.
|
||||
You can specify another project directory via
|
||||
`platformio init -d %PATH_TO_THE_PROJECT_DIR%` command.
|
||||
|
||||
The next files/directories will be created in ***
|
||||
`platformio.ini` - Project Configuration File
|
||||
`src` - a source directory. Put your source code here
|
||||
`lib` - a directory for the project specific libraries
|
||||
Do you want to continue? [y/N]: y
|
||||
Project has been successfully initialized!
|
||||
Now you can process it with `platformio run` command.
|
||||
|
||||
|
||||
Setup environments in ``platformio.ini``. For more examples go to
|
||||
:ref:`projectconf`
|
||||
:ref:`Project Configuration File <projectconf_examples>`
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
|
@ -45,7 +45,7 @@ Examples
|
||||
$ platformio init
|
||||
The current working directory *** will be used for the new project.
|
||||
You can specify another project directory via
|
||||
`platformio init -d %PATH_TO_PROJECT_DIR%` command.
|
||||
`platformio init -d %PATH_TO_THE_PROJECT_DIR%` command.
|
||||
|
||||
The next files/directories will be created in ***
|
||||
platformio.ini - Project Configuration File
|
||||
|
@ -23,7 +23,7 @@ There are several predefined aliases for packages, such as:
|
||||
|
||||
* ``toolchain``
|
||||
* ``uploader``
|
||||
|
||||
* ``framework``
|
||||
|
||||
Options
|
||||
-------
|
||||
|
@ -5,7 +5,7 @@ The detailed information and steps are described in this article:
|
||||
`Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO <http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio>`_.
|
||||
|
||||
|
||||
.. image:: http://www.ikravets.com/wp-content/uploads/2014/06/eclipse_build_arduino_pro5v-1024x822.png
|
||||
.. image:: http://www.ikravets.com/wp-content/uploads/2014/06/eclipse_platformio_build_arduino_uno.png
|
||||
:width: 850px
|
||||
:target: http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio
|
||||
|
||||
|
@ -1,7 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?fileVersion 4.0.0?>
|
||||
|
||||
<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||
<cconfiguration id="0.910961921">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.910961921" moduleId="org.eclipse.cdt.core.settings" name="Default">
|
||||
@ -13,41 +11,46 @@
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="0.910961921" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
|
||||
<folderInfo id="0.910961921." name="/" resourcePath="">
|
||||
<toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.952979152" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
|
||||
<targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.952979152.52310970" name=""/>
|
||||
<builder id="org.eclipse.cdt.build.core.settings.default.builder.1519453406" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
|
||||
<targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.eclipse.cdt.build.core.prefbase.toolchain.952979152.52310970" name=""/>
|
||||
<builder cleanBuildTarget="run --target clean" command="platformio" id="org.eclipse.cdt.build.core.settings.default.builder.1519453406" incrementalBuildTarget="run" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.libs.1409095472" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.1624502120" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.239157887" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/atmelavr/tools/toolchain/avr/include""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/atmelavr/frameworks/arduino/cores/arduino""/>
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.239157887" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/packages/toolchain-atmelavr/avr/include""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/packages/framework-arduinoavr/cores/arduino""/>
|
||||
</option>
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.symbols.922107295" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.symbols.922107295" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="__AVR_ATmega168__"/>
|
||||
</option>
|
||||
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.149990277" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
|
||||
</tool>
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.54121539" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1096940598" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1096940598" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/atmelavr/tools/toolchain/avr/include""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/atmelavr/frameworks/arduino/cores/arduino""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/packages/toolchain-atmelavr/avr/include""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/packages/framework-arduinoavr/cores/arduino""/>
|
||||
</option>
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.symbols.1198905600" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.symbols.1198905600" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="__AVR_ATmega168__"/>
|
||||
</option>
|
||||
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.762536863" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
|
||||
</tool>
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.1310559623" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.41298875" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.41298875" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/atmelavr/tools/toolchain/avr/include""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/atmelavr/frameworks/arduino/cores/arduino""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/packages/toolchain-atmelavr/avr/include""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/packages/framework-arduinoavr/cores/arduino""/>
|
||||
</option>
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.symbols.884639970" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.symbols.884639970" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="__AVR_ATmega168__"/>
|
||||
</option>
|
||||
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.549319812" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
|
||||
@ -74,4 +77,5 @@
|
||||
<resource resourceType="PROJECT" workspacePath="/arduino_pro5"/>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
|
||||
</cproject>
|
||||
|
@ -1,5 +0,0 @@
|
||||
all:
|
||||
platformio run -t upload
|
||||
|
||||
clean:
|
||||
platformio run -t clean
|
@ -4,5 +4,4 @@
|
||||
[env:arduino_pro5v]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
board = pro16MHzatmega168
|
||||
upload_port = /dev/tty.SLAB_USBtoUART
|
||||
board = pro16MHzatmega168
|
@ -1,7 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?fileVersion 4.0.0?>
|
||||
|
||||
<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||
<cconfiguration id="0.1706826288">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.1706826288" moduleId="org.eclipse.cdt.core.settings" name="Default">
|
||||
@ -13,18 +11,19 @@
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="0.1706826288" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
|
||||
<folderInfo id="0.1706826288." name="/" resourcePath="">
|
||||
<toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.944229927" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
|
||||
<targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.944229927.1146791472" name=""/>
|
||||
<builder id="org.eclipse.cdt.build.core.settings.default.builder.81097189" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
|
||||
<targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.eclipse.cdt.build.core.prefbase.toolchain.944229927.1146791472" name=""/>
|
||||
<builder cleanBuildTarget="run --target clean" command="platformio" id="org.eclipse.cdt.build.core.settings.default.builder.81097189" incrementalBuildTarget="run" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.libs.615700392" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.509191184" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1976688999" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/atmelavr/tools/toolchain/avr/include""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/packages/toolchain-atmelavr/avr/include""/>
|
||||
</option>
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.symbols.1146079252" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="__AVR_ATmega168__"/>
|
||||
@ -34,6 +33,7 @@
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.524184308" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1379816017" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/atmelavr/tools/toolchain/avr/include""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/packages/toolchain-atmelavr/avr/include""/>
|
||||
</option>
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.symbols.1180078676" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="__AVR_ATmega168__"/>
|
||||
@ -43,6 +43,7 @@
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.746817635" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.905883681" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/atmelavr/tools/toolchain/avr/include""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/packages/toolchain-atmelavr/avr/include""/>
|
||||
</option>
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.symbols.1589314232" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="__AVR_ATmega168__"/>
|
||||
|
@ -1,5 +0,0 @@
|
||||
all:
|
||||
platformio run -t upload
|
||||
|
||||
clean:
|
||||
platformio run -t clean
|
@ -6,7 +6,9 @@ platform = atmelavr
|
||||
board_mcu = atmega168
|
||||
board_f_cpu = 16000000L
|
||||
|
||||
upload_port = /dev/tty.SLAB_USBtoUART
|
||||
# Allow autodetection for upload port or uncomment line below
|
||||
# upload_port = /dev/ttyUSB0
|
||||
# upload_port = COM3
|
||||
|
||||
upload_protocol = arduino
|
||||
upload_speed = 19200
|
||||
upload_speed = 19200
|
||||
|
@ -1,7 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?fileVersion 4.0.0?>
|
||||
|
||||
<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||
<cconfiguration id="0.1778616297">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.1778616297" moduleId="org.eclipse.cdt.core.settings" name="Default">
|
||||
@ -13,30 +11,36 @@
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="0.1778616297" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
|
||||
<folderInfo id="0.1778616297." name="/" resourcePath="">
|
||||
<toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.576447412" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
|
||||
<targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.576447412.203226592" name=""/>
|
||||
<builder id="org.eclipse.cdt.build.core.settings.default.builder.592280532" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
|
||||
<targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.eclipse.cdt.build.core.prefbase.toolchain.576447412.203226592" name=""/>
|
||||
<builder cleanBuildTarget="run --target clean" command="platformio" id="org.eclipse.cdt.build.core.settings.default.builder.592280532" incrementalBuildTarget="run" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.libs.251286138" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.1824859462" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.2021826184" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/timsp430/tools/toolchain/msp430/include""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/packages/toolchain-timsp430/msp430/include""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/packages/framework-energiamsp430/cores/msp430""/>
|
||||
</option>
|
||||
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1509314343" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
|
||||
</tool>
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.1251065831" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1876118829" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/timsp430/tools/toolchain/msp430/include""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/packages/toolchain-timsp430/msp430/include""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/packages/framework-energiamsp430/cores/msp430""/>
|
||||
</option>
|
||||
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.518683230" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
|
||||
</tool>
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.847615484" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1922525168" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/timsp430/tools/toolchain/msp430/include""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/packages/toolchain-timsp430/msp430/include""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/packages/framework-energiamsp430/cores/msp430""/>
|
||||
</option>
|
||||
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.68822385" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
|
||||
</tool>
|
||||
@ -57,5 +61,9 @@
|
||||
</scannerConfigBuildInfo>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||
<storageModule moduleId="refreshScope"/>
|
||||
<storageModule moduleId="refreshScope" versionNumber="2">
|
||||
<configuration configurationName="Default">
|
||||
<resource resourceType="PROJECT" workspacePath="/tilaunchpad_msp430g2"/>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
</cproject>
|
||||
|
@ -1,5 +0,0 @@
|
||||
all:
|
||||
platformio run -t upload
|
||||
|
||||
clean:
|
||||
platformio run -t clean
|
@ -1,7 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?fileVersion 4.0.0?>
|
||||
|
||||
<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||
<cconfiguration id="0.18931736">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.18931736" moduleId="org.eclipse.cdt.core.settings" name="Default">
|
||||
@ -13,33 +11,34 @@
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="0.18931736" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
|
||||
<folderInfo id="0.18931736." name="/" resourcePath="">
|
||||
<toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.946409409" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
|
||||
<targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.946409409.264614082" name=""/>
|
||||
<builder id="org.eclipse.cdt.build.core.settings.default.builder.2099118713" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
|
||||
<targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.eclipse.cdt.build.core.prefbase.toolchain.946409409.264614082" name=""/>
|
||||
<builder cleanBuildTarget="run --target clean" command="platformio" id="org.eclipse.cdt.build.core.settings.default.builder.2099118713" incrementalBuildTarget="run" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.libs.1860044306" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.490604788" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1186638432" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/titiva/frameworks/energia/cores/lm4f""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/titiva/tools/toolchain/arm-none-eabi/include""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/packages/framework-energiativa/cores/lm4f""/>
|
||||
</option>
|
||||
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1338936035" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
|
||||
</tool>
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.1620533967" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1007143336" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/titiva/frameworks/energia/cores/lm4f""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/titiva/tools/toolchain/arm-none-eabi/include""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/packages/framework-energiativa/cores/lm4f""/>
|
||||
</option>
|
||||
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.2051673558" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
|
||||
</tool>
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.549164281" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
|
||||
<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.454536693" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/titiva/frameworks/energia/cores/lm4f""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/titiva/tools/toolchain/arm-none-eabi/include""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include""/>
|
||||
<listOptionValue builtIn="false" value=""${HOME}/.platformio/packages/framework-energiativa/cores/lm4f""/>
|
||||
</option>
|
||||
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1468046922" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
|
||||
</tool>
|
||||
|
@ -1,5 +0,0 @@
|
||||
all:
|
||||
platformio run -t upload
|
||||
|
||||
clean:
|
||||
platformio run -t clean
|
@ -3,9 +3,9 @@
|
||||
* See LICENSE for details.
|
||||
*/
|
||||
|
||||
#define false 0
|
||||
#define true 1
|
||||
typedef int bool;
|
||||
#define false 0
|
||||
#define true 1
|
||||
typedef int bool;
|
||||
|
||||
#include <stdint.h>
|
||||
#include "inc/hw_memmap.h"
|
||||
@ -16,27 +16,21 @@ typedef int bool;
|
||||
#define LED_BLUE GPIO_PIN_2
|
||||
#define LED_GREEN GPIO_PIN_3
|
||||
|
||||
int main(void)
|
||||
{
|
||||
|
||||
void setup() {
|
||||
SysCtlClockSet(
|
||||
SYSCTL_SYSDIV_4|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN);
|
||||
SYSCTL_SYSDIV_4|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN);
|
||||
|
||||
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
|
||||
GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, LED_RED|LED_BLUE|LED_GREEN);
|
||||
|
||||
while (1)
|
||||
{
|
||||
GPIOPinWrite(GPIO_PORTF_BASE, LED_RED|LED_BLUE|LED_GREEN, LED_RED);
|
||||
SysCtlDelay(3000000);
|
||||
GPIOPinWrite(GPIO_PORTF_BASE, LED_RED|LED_BLUE|LED_GREEN, LED_BLUE);
|
||||
SysCtlDelay(3000000);
|
||||
GPIOPinWrite(GPIO_PORTF_BASE, LED_RED|LED_BLUE|LED_GREEN, LED_GREEN);
|
||||
SysCtlDelay(3000000);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// hook for Energia main.cpp where these methods are defined
|
||||
void setup() {}
|
||||
void loop() {}
|
||||
|
||||
void loop() {
|
||||
GPIOPinWrite(GPIO_PORTF_BASE, LED_RED|LED_BLUE|LED_GREEN, LED_RED);
|
||||
SysCtlDelay(3000000);
|
||||
GPIOPinWrite(GPIO_PORTF_BASE, LED_RED|LED_BLUE|LED_GREEN, LED_BLUE);
|
||||
SysCtlDelay(3000000);
|
||||
GPIOPinWrite(GPIO_PORTF_BASE, LED_RED|LED_BLUE|LED_GREEN, LED_GREEN);
|
||||
SysCtlDelay(3000000);
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Copyright (C) Ivan Kravets <me@ikravets.com>
|
||||
# See LICENSE for details.
|
||||
|
||||
VERSION = (0, 9, 0)
|
||||
VERSION = (0, 9, 1)
|
||||
__version__ = ".".join([str(s) for s in VERSION])
|
||||
|
||||
__title__ = "platformio"
|
||||
|
@ -29,7 +29,7 @@ def cli(project_dir):
|
||||
click.secho(
|
||||
"will be used for the new project.\n"
|
||||
"You can specify another project directory via\n"
|
||||
"`platformio init -d %PATH_TO_PROJECT_DIR%` command.\n",
|
||||
"`platformio init -d %PATH_TO_THE_PROJECT_DIR%` command.\n",
|
||||
fg="yellow"
|
||||
)
|
||||
|
||||
|
@ -1,20 +1,20 @@
|
||||
# Copyright (C) Ivan Kravets <me@ikravets.com>
|
||||
# See LICENSE for details.
|
||||
|
||||
from click import argument, command, option, secho
|
||||
import click
|
||||
|
||||
from platformio.platforms.base import PlatformFactory
|
||||
|
||||
|
||||
@command("install", short_help="Install new platforms")
|
||||
@argument("platforms", nargs=-1)
|
||||
@option("--with-package", multiple=True, metavar="<package>")
|
||||
@option("--without-package", multiple=True, metavar="<package>")
|
||||
@option("--skip-default-package", is_flag=True)
|
||||
@click.command("install", short_help="Install new platforms")
|
||||
@click.argument("platforms", nargs=-1)
|
||||
@click.option("--with-package", multiple=True, metavar="<package>")
|
||||
@click.option("--without-package", multiple=True, metavar="<package>")
|
||||
@click.option("--skip-default-package", is_flag=True)
|
||||
def cli(platforms, with_package, without_package, skip_default_package):
|
||||
|
||||
for platform in platforms:
|
||||
p = PlatformFactory().newPlatform(platform)
|
||||
p = PlatformFactory.newPlatform(platform)
|
||||
if p.install(with_package, without_package, skip_default_package):
|
||||
secho("The platform '%s' has been successfully installed!" %
|
||||
platform, fg="green")
|
||||
click.secho("The platform '%s' has been successfully installed!" %
|
||||
platform, fg="green")
|
||||
|
@ -1,12 +1,12 @@
|
||||
# Copyright (C) Ivan Kravets <me@ikravets.com>
|
||||
# See LICENSE for details.
|
||||
|
||||
from click import command, echo, style
|
||||
import click
|
||||
|
||||
from platformio.platforms.base import PlatformFactory
|
||||
|
||||
|
||||
@command("list", short_help="List installed platforms")
|
||||
@click.command("list", short_help="List installed platforms")
|
||||
def cli():
|
||||
|
||||
installed_platforms = PlatformFactory.get_platforms(
|
||||
@ -14,8 +14,8 @@ def cli():
|
||||
installed_platforms.sort()
|
||||
|
||||
for platform in installed_platforms:
|
||||
p = PlatformFactory().newPlatform(platform)
|
||||
echo("{name:<20} with packages: {pkgs}".format(
|
||||
name=style(p.get_name(), fg="cyan"),
|
||||
p = PlatformFactory.newPlatform(platform)
|
||||
click.echo("{name:<20} with packages: {pkgs}".format(
|
||||
name=click.style(p.get_name(), fg="cyan"),
|
||||
pkgs=", ".join(p.get_installed_packages())
|
||||
))
|
||||
|
@ -1,66 +1,80 @@
|
||||
# Copyright (C) Ivan Kravets <me@ikravets.com>
|
||||
# See LICENSE for details.
|
||||
|
||||
from click import command, echo, option, secho, style
|
||||
import click
|
||||
|
||||
from platformio import telemetry
|
||||
from platformio.exception import (InvalidEnvName, ProjectEnvsNotAvaialable,
|
||||
UndefinedEnvPlatform, UnknownEnvNames)
|
||||
from platformio import exception, telemetry
|
||||
from platformio.commands.install import cli as cmd_install
|
||||
from platformio.platforms.base import PlatformFactory
|
||||
from platformio.util import get_project_config
|
||||
|
||||
|
||||
@command("run", short_help="Process project environments")
|
||||
@option("--environment", "-e", multiple=True, metavar="<environment>")
|
||||
@option("--target", "-t", multiple=True, metavar="<target>")
|
||||
@option("--upload-port", metavar="<upload port>")
|
||||
def cli(environment, target, upload_port):
|
||||
@click.command("run", short_help="Process project environments")
|
||||
@click.option("--environment", "-e", multiple=True, metavar="<environment>")
|
||||
@click.option("--target", "-t", multiple=True, metavar="<target>")
|
||||
@click.option("--upload-port", metavar="<upload port>")
|
||||
@click.pass_context
|
||||
def cli(ctx, environment, target, upload_port):
|
||||
|
||||
config = get_project_config()
|
||||
|
||||
if not config.sections():
|
||||
raise ProjectEnvsNotAvaialable()
|
||||
raise exception.ProjectEnvsNotAvailable()
|
||||
|
||||
unknown = set(environment) - set([s[4:] for s in config.sections()])
|
||||
if unknown:
|
||||
raise UnknownEnvNames(", ".join(unknown))
|
||||
raise exception.UnknownEnvNames(", ".join(unknown))
|
||||
|
||||
for section in config.sections():
|
||||
# skip main configuration section
|
||||
if section == "platformio":
|
||||
continue
|
||||
elif section[:4] != "env:":
|
||||
raise InvalidEnvName(section)
|
||||
raise exception.InvalidEnvName(section)
|
||||
|
||||
envname = section[4:]
|
||||
if environment and envname not in environment:
|
||||
# echo("Skipped %s environment" % style(envname, fg="yellow"))
|
||||
continue
|
||||
|
||||
echo("Processing %s environment:" % style(envname, fg="cyan"))
|
||||
click.echo("Processing %s environment:" %
|
||||
click.style(envname, fg="cyan"))
|
||||
|
||||
variables = ["PIOENV=" + envname]
|
||||
if upload_port:
|
||||
variables.append("UPLOAD_PORT=%s" % upload_port)
|
||||
options = {}
|
||||
for k, v in config.items(section):
|
||||
k = k.upper()
|
||||
if k == "TARGETS" or (k == "UPLOAD_PORT" and upload_port):
|
||||
continue
|
||||
variables.append("%s=%s" % (k.upper(), v))
|
||||
options[k] = v
|
||||
process_environment(ctx, envname, options, target, upload_port)
|
||||
|
||||
envtargets = []
|
||||
if target:
|
||||
envtargets = [t for t in target]
|
||||
elif config.has_option(section, "targets"):
|
||||
envtargets = config.get(section, "targets").split()
|
||||
|
||||
if not config.has_option(section, "platform"):
|
||||
raise UndefinedEnvPlatform(envname)
|
||||
def process_environment(ctx, name, options, targets, upload_port):
|
||||
variables = ["PIOENV=" + name]
|
||||
if upload_port:
|
||||
variables.append("UPLOAD_PORT=%s" % upload_port)
|
||||
for k, v in options.items():
|
||||
k = k.upper()
|
||||
if k == "TARGETS" or (k == "UPLOAD_PORT" and upload_port):
|
||||
continue
|
||||
variables.append("%s=%s" % (k.upper(), v))
|
||||
|
||||
telemetry.on_run_environment(config.items(section), envtargets)
|
||||
envtargets = []
|
||||
if targets:
|
||||
envtargets = [t for t in targets]
|
||||
elif "targets" in options:
|
||||
envtargets = options['targets'].split()
|
||||
|
||||
p = PlatformFactory().newPlatform(config.get(section, "platform"))
|
||||
result = p.run(variables, envtargets)
|
||||
secho(result['out'], fg="green")
|
||||
secho(result['err'],
|
||||
fg="red" if "Error" in result['err'] else "yellow")
|
||||
if "platform" not in options:
|
||||
raise exception.UndefinedEnvPlatform(name)
|
||||
platform = options['platform']
|
||||
|
||||
telemetry.on_run_environment(options, envtargets)
|
||||
|
||||
if (platform not in PlatformFactory.get_platforms(installed=True) and
|
||||
click.confirm("The platform '%s' has not been installed yet. "
|
||||
"Would you like to install it now?" % platform)):
|
||||
ctx.invoke(cmd_install, platforms=[platform])
|
||||
|
||||
p = PlatformFactory.newPlatform(platform)
|
||||
result = p.run(variables, envtargets)
|
||||
click.secho(result['out'], fg="green")
|
||||
click.secho(result['err'],
|
||||
fg="red" if "Error" in result['err'] else "yellow")
|
||||
|
@ -1,16 +1,16 @@
|
||||
# Copyright (C) Ivan Kravets <me@ikravets.com>
|
||||
# See LICENSE for details.
|
||||
|
||||
from click import argument, command, echo, style
|
||||
import click
|
||||
|
||||
from platformio.platforms.base import PlatformFactory
|
||||
|
||||
|
||||
@command("search", short_help="Search for development platforms")
|
||||
@argument("query", required=False)
|
||||
@click.command("search", short_help="Search for development platforms")
|
||||
@click.argument("query", required=False)
|
||||
def cli(query):
|
||||
for platform in PlatformFactory.get_platforms().keys():
|
||||
p = PlatformFactory().newPlatform(platform)
|
||||
p = PlatformFactory.newPlatform(platform)
|
||||
name = p.get_name()
|
||||
shinfo = p.get_short_info()
|
||||
|
||||
@ -21,5 +21,5 @@ def cli(query):
|
||||
if query and query.lower() not in search_data.lower():
|
||||
continue
|
||||
|
||||
echo("{name:<20} - {info}".format(name=style(name, fg="cyan"),
|
||||
info=shinfo))
|
||||
click.echo("{name:<20} - {info}".format(
|
||||
name=click.style(name, fg="cyan"), info=shinfo))
|
||||
|
@ -3,13 +3,13 @@
|
||||
|
||||
import sys
|
||||
|
||||
from click import Choice, echo, group, option, secho
|
||||
import click
|
||||
from serial.tools import miniterm
|
||||
|
||||
from platformio.util import get_serialports
|
||||
|
||||
|
||||
@group(short_help="List or Monitor Serial ports")
|
||||
@click.group(short_help="List or Monitor Serial ports")
|
||||
def cli():
|
||||
pass
|
||||
|
||||
@ -18,48 +18,49 @@ def cli():
|
||||
def serialports_list():
|
||||
|
||||
for item in get_serialports():
|
||||
secho(item['port'], fg="cyan")
|
||||
echo("----------")
|
||||
echo("Hardware ID: %s" % item['hwid'])
|
||||
echo("Description: %s" % item['description'])
|
||||
echo("")
|
||||
click.secho(item['port'], fg="cyan")
|
||||
click.echo("----------")
|
||||
click.echo("Hardware ID: %s" % item['hwid'])
|
||||
click.echo("Description: %s" % item['description'])
|
||||
click.echo("")
|
||||
|
||||
|
||||
@cli.command("monitor", short_help="Monitor Serial port")
|
||||
@option("--port", "-p", help="Port, a number or a device name")
|
||||
@option("--baud", "-b", type=int, default=9600,
|
||||
help="Set baud rate, default=9600")
|
||||
@option("--parity", default="N", type=Choice(["N", "E", "O", "S", "M"]),
|
||||
help="Set parity, default=N")
|
||||
@option("--rtscts", is_flag=True,
|
||||
help="Enable RTS/CTS flow control, default=Off")
|
||||
@option("--xonxoff", is_flag=True,
|
||||
help="Enable software flow control, default=Off")
|
||||
@option("--rts", default="0", type=Choice(["0", "1"]),
|
||||
help="Set initial RTS line state, default=0")
|
||||
@option("--dtr", default="0", type=Choice(["0", "1"]),
|
||||
help="Set initial DTR line state, default=0")
|
||||
@option("--echo", is_flag=True,
|
||||
help="Enable local echo, default=Off")
|
||||
@option("--cr", is_flag=True,
|
||||
help="Do not send CR+LF, send CR only, default=Off")
|
||||
@option("--lf", is_flag=True,
|
||||
help="Do not send CR+LF, send LF only, default=Off")
|
||||
@option("--debug", "-d", count=True,
|
||||
help="""Debug received data (escape non-printable chars)
|
||||
@click.option("--port", "-p", help="Port, a number or a device name")
|
||||
@click.option("--baud", "-b", type=int, default=9600,
|
||||
help="Set baud rate, default=9600")
|
||||
@click.option("--parity", default="N",
|
||||
type=click.Choice(["N", "E", "O", "S", "M"]),
|
||||
help="Set parity, default=N")
|
||||
@click.option("--rtscts", is_flag=True,
|
||||
help="Enable RTS/CTS flow control, default=Off")
|
||||
@click.option("--xonxoff", is_flag=True,
|
||||
help="Enable software flow control, default=Off")
|
||||
@click.option("--rts", default="0", type=click.Choice(["0", "1"]),
|
||||
help="Set initial RTS line state, default=0")
|
||||
@click.option("--dtr", default="0", type=click.Choice(["0", "1"]),
|
||||
help="Set initial DTR line state, default=0")
|
||||
@click.option("--echo", is_flag=True,
|
||||
help="Enable local echo, default=Off")
|
||||
@click.option("--cr", is_flag=True,
|
||||
help="Do not send CR+LF, send CR only, default=Off")
|
||||
@click.option("--lf", is_flag=True,
|
||||
help="Do not send CR+LF, send LF only, default=Off")
|
||||
@click.option("--debug", "-d", count=True,
|
||||
help="""Debug received data (escape non-printable chars)
|
||||
# --debug can be given multiple times:
|
||||
# 0: just print what is received
|
||||
# 1: escape non-printable characters, do newlines as unusual
|
||||
# 2: escape non-printable characters, newlines too
|
||||
# 3: hex dump everything""")
|
||||
@option("--exit-char", type=int, default=0x1d,
|
||||
help="ASCII code of special character that is used to exit the "
|
||||
"application, default=0x1d")
|
||||
@option("--menu-char", type=int, default=0x14,
|
||||
help="ASCII code of special character that is used to control "
|
||||
"miniterm (menu), default=0x14")
|
||||
@option("--quiet", is_flag=True,
|
||||
help="Diagnostics: suppress non-error messages, default=Off")
|
||||
@click.option("--exit-char", type=int, default=0x1d,
|
||||
help="ASCII code of special character that is used to exit the "
|
||||
"application, default=0x1d")
|
||||
@click.option("--menu-char", type=int, default=0x14,
|
||||
help="ASCII code of special character that is used to control "
|
||||
"miniterm (menu), default=0x14")
|
||||
@click.option("--quiet", is_flag=True,
|
||||
help="Diagnostics: suppress non-error messages, default=Off")
|
||||
def serialports_monitor(**_):
|
||||
sys.argv = sys.argv[3:]
|
||||
try:
|
||||
|
@ -3,35 +3,41 @@
|
||||
|
||||
from datetime import datetime
|
||||
|
||||
from click import argument, command, echo, style
|
||||
import click
|
||||
|
||||
from platformio.commands.install import cli as cmd_install
|
||||
from platformio.exception import PlatformNotInstalledYet
|
||||
from platformio.pkgmanager import PackageManager
|
||||
from platformio.platforms.base import PlatformFactory
|
||||
|
||||
|
||||
@command("show", short_help="Show details about installed platforms")
|
||||
@argument("platform")
|
||||
def cli(platform):
|
||||
@click.command("show", short_help="Show details about installed platforms")
|
||||
@click.argument("platform")
|
||||
@click.pass_context
|
||||
def cli(ctx, platform):
|
||||
|
||||
installed_platforms = PlatformFactory.get_platforms(
|
||||
installed=True).keys()
|
||||
|
||||
if platform not in installed_platforms:
|
||||
raise PlatformNotInstalledYet(platform)
|
||||
if click.confirm("The platform '%s' has not been installed yet. "
|
||||
"Would you like to install it now?" % platform):
|
||||
ctx.invoke(cmd_install, platforms=[platform])
|
||||
else:
|
||||
raise PlatformNotInstalledYet(platform)
|
||||
|
||||
p = PlatformFactory().newPlatform(platform)
|
||||
echo("{name:<20} - {info}".format(name=style(p.get_name(), fg="cyan"),
|
||||
info=p.get_short_info()))
|
||||
p = PlatformFactory.newPlatform(platform)
|
||||
click.echo("{name:<20} - {info}".format(
|
||||
name=click.style(p.get_name(), fg="cyan"), info=p.get_short_info()))
|
||||
|
||||
installed_packages = PackageManager.get_installed()
|
||||
for name in p.get_installed_packages():
|
||||
data = installed_packages[name]
|
||||
pkgalias = p.get_pkg_alias(name)
|
||||
echo("----------")
|
||||
echo("Package: %s" % style(name, fg="yellow"))
|
||||
click.echo("----------")
|
||||
click.echo("Package: %s" % click.style(name, fg="yellow"))
|
||||
if pkgalias:
|
||||
echo("Alias: %s" % pkgalias)
|
||||
echo("Version: %d" % int(data['version']))
|
||||
echo("Installed: %s" % datetime.fromtimestamp(
|
||||
click.echo("Alias: %s" % pkgalias)
|
||||
click.echo("Version: %d" % int(data['version']))
|
||||
click.echo("Installed: %s" % datetime.fromtimestamp(
|
||||
data['time']).strftime("%Y-%m-%d %H:%M:%S"))
|
||||
|
@ -1,17 +1,17 @@
|
||||
# Copyright (C) Ivan Kravets <me@ikravets.com>
|
||||
# See LICENSE for details.
|
||||
|
||||
from click import argument, command, secho
|
||||
import click
|
||||
|
||||
from platformio.platforms.base import PlatformFactory
|
||||
|
||||
|
||||
@command("uninstall", short_help="Uninstall platforms")
|
||||
@argument("platforms", nargs=-1)
|
||||
@click.command("uninstall", short_help="Uninstall platforms")
|
||||
@click.argument("platforms", nargs=-1)
|
||||
def cli(platforms):
|
||||
|
||||
for platform in platforms:
|
||||
p = PlatformFactory().newPlatform(platform)
|
||||
p = PlatformFactory.newPlatform(platform)
|
||||
if p.uninstall():
|
||||
secho("The platform '%s' has been successfully "
|
||||
"uninstalled!" % platform, fg="green")
|
||||
click.secho("The platform '%s' has been successfully "
|
||||
"uninstalled!" % platform, fg="green")
|
||||
|
@ -1,12 +1,12 @@
|
||||
# Copyright (C) Ivan Kravets <me@ikravets.com>
|
||||
# See LICENSE for details.
|
||||
|
||||
from click import command, echo, style
|
||||
import click
|
||||
|
||||
from platformio.platforms.base import PlatformFactory
|
||||
|
||||
|
||||
@command("update", short_help="Update installed platforms")
|
||||
@click.command("update", short_help="Update installed platforms")
|
||||
def cli():
|
||||
|
||||
installed_platforms = PlatformFactory.get_platforms(
|
||||
@ -14,7 +14,7 @@ def cli():
|
||||
installed_platforms.sort()
|
||||
|
||||
for platform in installed_platforms:
|
||||
echo("\nPlatform %s" % style(platform, fg="cyan"))
|
||||
echo("--------")
|
||||
p = PlatformFactory().newPlatform(platform)
|
||||
click.echo("\nPlatform %s" % click.style(platform, fg="cyan"))
|
||||
click.echo("--------")
|
||||
p = PlatformFactory.newPlatform(platform)
|
||||
p.update()
|
||||
|
@ -1,15 +1,16 @@
|
||||
# Copyright (C) Ivan Kravets <me@ikravets.com>
|
||||
# See LICENSE for details.
|
||||
|
||||
from click import command, secho
|
||||
from requests import get
|
||||
import click
|
||||
import requests
|
||||
|
||||
from platformio import __version__
|
||||
from platformio.exception import GetLatestVersionError
|
||||
from platformio.util import exec_command
|
||||
|
||||
|
||||
@command("upgrade", short_help="Upgrade PlatformIO to the latest version")
|
||||
@click.command("upgrade",
|
||||
short_help="Upgrade PlatformIO to the latest version")
|
||||
def cli():
|
||||
try:
|
||||
last = get_latest_version()
|
||||
@ -17,14 +18,17 @@ def cli():
|
||||
raise GetLatestVersionError()
|
||||
|
||||
if __version__ == last:
|
||||
return secho("You're up-to-date!\nPlatformIO %s is currently the "
|
||||
"newest version available." % __version__, fg="green")
|
||||
return click.secho(
|
||||
"You're up-to-date!\nPlatformIO %s is currently the "
|
||||
"newest version available." % __version__, fg="green"
|
||||
)
|
||||
else:
|
||||
result = exec_command(["pip", "install", "--upgrade", "platformio"])
|
||||
secho(result['out'], fg="green")
|
||||
secho(result['err'], fg="red")
|
||||
click.secho(result['out'], fg="green")
|
||||
click.secho(result['err'], fg="red")
|
||||
|
||||
|
||||
def get_latest_version():
|
||||
pkgdata = get("https://pypi.python.org/pypi/platformio/json").json()
|
||||
pkgdata = requests.get(
|
||||
"https://pypi.python.org/pypi/platformio/json").json()
|
||||
return pkgdata['info']['version']
|
||||
|
@ -26,7 +26,8 @@ class PlatformNotInstalledYet(PlatformioException):
|
||||
|
||||
class UnknownCLICommand(PlatformioException):
|
||||
|
||||
MESSAGE = "Unknown command '%s'"
|
||||
MESSAGE = ("Unknown command '%s'. Please use `platformio --help`"
|
||||
" to see all available commands")
|
||||
|
||||
|
||||
class UnknownPackage(PlatformioException):
|
||||
@ -63,7 +64,7 @@ class FDSHASumMismatch(PlatformioException):
|
||||
|
||||
class NotPlatformProject(PlatformioException):
|
||||
|
||||
MESSAGE = "Not a PlatformIO project. Use `platformio init` command"
|
||||
MESSAGE = "Not a PlatformIO project (%s). Use `platformio init` command"
|
||||
|
||||
|
||||
class UndefinedEnvPlatform(PlatformioException):
|
||||
@ -82,7 +83,7 @@ class ProjectInitialized(PlatformioException):
|
||||
"Process it with `platformio run` command")
|
||||
|
||||
|
||||
class ProjectEnvsNotAvaialable(PlatformioException):
|
||||
class ProjectEnvsNotAvailable(PlatformioException):
|
||||
|
||||
MESSAGE = "Please setup environments in `platformio.ini` file."
|
||||
|
||||
@ -144,3 +145,12 @@ class InvalidSettingValue(PlatformioException):
|
||||
class UpgraderFailed(PlatformioException):
|
||||
|
||||
MESSAGE = "An error occurred while upgrading PlatformIO"
|
||||
|
||||
|
||||
class SConsNotInstalled(PlatformioException):
|
||||
|
||||
MESSAGE = (
|
||||
"The PlatformIO and `scons` aren't installed properly. "
|
||||
"Please use official installation manual: "
|
||||
"http://docs.platformio.ikravets.com/en/latest/installation.html"
|
||||
)
|
||||
|
@ -10,8 +10,8 @@ from time import time
|
||||
import click
|
||||
|
||||
from platformio import __version__, app, telemetry
|
||||
from platformio.commands.install import cli as cli_install
|
||||
from platformio.commands.lib import lib_update as cli_libraries_update
|
||||
from platformio.commands.install import cli as cmd_install
|
||||
from platformio.commands.lib import lib_update as cmd_libraries_update
|
||||
from platformio.commands.update import cli as cli_platforms_update
|
||||
from platformio.commands.upgrade import get_latest_version
|
||||
from platformio.exception import UpgraderFailed
|
||||
@ -75,7 +75,7 @@ class Upgrader(object):
|
||||
remove(join(get_home_dir(), fname))
|
||||
|
||||
if prev_platforms:
|
||||
ctx.invoke(cli_install, platforms=prev_platforms)
|
||||
ctx.invoke(cmd_install, platforms=prev_platforms)
|
||||
|
||||
return True
|
||||
|
||||
@ -156,7 +156,7 @@ def check_internal_updates(ctx, what):
|
||||
outdated_items = []
|
||||
if what == "platforms":
|
||||
for platform in PlatformFactory.get_platforms(installed=True).keys():
|
||||
p = PlatformFactory().newPlatform(platform)
|
||||
p = PlatformFactory.newPlatform(platform)
|
||||
if p.is_outdated():
|
||||
outdated_items.append(platform)
|
||||
elif what == "libraries":
|
||||
@ -180,7 +180,7 @@ def check_internal_updates(ctx, what):
|
||||
if what == "platforms":
|
||||
ctx.invoke(cli_platforms_update)
|
||||
elif what == "libraries":
|
||||
ctx.invoke(cli_libraries_update)
|
||||
ctx.invoke(cmd_libraries_update)
|
||||
click.echo()
|
||||
|
||||
telemetry.on_event(category="Auto", action="Update",
|
||||
|
@ -6,13 +6,11 @@ from os.path import isdir, join
|
||||
from shutil import rmtree
|
||||
from time import time
|
||||
|
||||
from click import echo, secho, style
|
||||
import click
|
||||
|
||||
from platformio import telemetry
|
||||
from platformio import exception, telemetry
|
||||
from platformio.app import get_state_item, set_state_item
|
||||
from platformio.downloader import FileDownloader
|
||||
from platformio.exception import (InvalidPackageVersion, NonSystemPackage,
|
||||
UnknownPackage)
|
||||
from platformio.unpacker import FileUnpacker
|
||||
from platformio.util import get_api_result, get_home_dir, get_systype
|
||||
|
||||
@ -62,28 +60,28 @@ class PackageManager(object):
|
||||
def get_info(self, name, version=None):
|
||||
manifest = self.get_manifest()
|
||||
if name not in manifest:
|
||||
raise UnknownPackage(name)
|
||||
raise exception.UnknownPackage(name)
|
||||
|
||||
# check system platform
|
||||
systype = get_systype()
|
||||
builds = ([b for b in manifest[name] if b['system'] == "all" or systype
|
||||
in b['system']])
|
||||
if not builds:
|
||||
raise NonSystemPackage(name, systype)
|
||||
raise exception.NonSystemPackage(name, systype)
|
||||
|
||||
if version:
|
||||
for b in builds:
|
||||
if b['version'] == version:
|
||||
return b
|
||||
raise InvalidPackageVersion(name, version)
|
||||
raise exception.InvalidPackageVersion(name, version)
|
||||
else:
|
||||
return sorted(builds, key=lambda s: s['version'])[-1]
|
||||
|
||||
def install(self, name):
|
||||
echo("Installing %s package:" % style(name, fg="cyan"))
|
||||
click.echo("Installing %s package:" % click.style(name, fg="cyan"))
|
||||
|
||||
if self.is_installed(name):
|
||||
secho("Already installed", fg="yellow")
|
||||
click.secho("Already installed", fg="yellow")
|
||||
return False
|
||||
|
||||
info = self.get_info(name)
|
||||
@ -101,36 +99,36 @@ class PackageManager(object):
|
||||
category="PackageManager", action="Install", label=name)
|
||||
|
||||
def uninstall(self, name):
|
||||
echo("Uninstalling %s package: \t" % style(name, fg="cyan"),
|
||||
nl=False)
|
||||
click.echo("Uninstalling %s package: \t" %
|
||||
click.style(name, fg="cyan"), nl=False)
|
||||
|
||||
if not self.is_installed(name):
|
||||
secho("Not installed", fg="yellow")
|
||||
click.secho("Not installed", fg="yellow")
|
||||
return False
|
||||
|
||||
rmtree(join(self._package_dir, name))
|
||||
self._unregister(name)
|
||||
echo("[%s]" % style("OK", fg="green"))
|
||||
click.echo("[%s]" % click.style("OK", fg="green"))
|
||||
|
||||
# report usage
|
||||
telemetry.on_event(
|
||||
category="PackageManager", action="Uninstall", label=name)
|
||||
|
||||
def update(self, name):
|
||||
echo("Updating %s package:" % style(name, fg="yellow"))
|
||||
click.echo("Updating %s package:" % click.style(name, fg="yellow"))
|
||||
|
||||
installed = self.get_installed()
|
||||
current_version = installed[name]['version']
|
||||
latest_version = self.get_info(name)['version']
|
||||
|
||||
echo("Versions: Current=%d, Latest=%d \t " % (
|
||||
current_version, latest_version), nl=False)
|
||||
click.echo("Versions: Current=%d, Latest=%d \t " %
|
||||
(current_version, latest_version), nl=False)
|
||||
|
||||
if current_version == latest_version:
|
||||
echo("[%s]" % (style("Up-to-date", fg="green")))
|
||||
click.echo("[%s]" % (click.style("Up-to-date", fg="green")))
|
||||
return True
|
||||
else:
|
||||
echo("[%s]" % (style("Out-of-date", fg="red")))
|
||||
click.echo("[%s]" % (click.style("Out-of-date", fg="red")))
|
||||
|
||||
self.uninstall(name)
|
||||
self.install(name)
|
||||
|
@ -5,9 +5,8 @@ from imp import load_source
|
||||
from os import listdir
|
||||
from os.path import isdir, isfile, join
|
||||
|
||||
from platformio import exception
|
||||
from platformio.app import get_state_item, set_state_item
|
||||
from platformio.exception import (BuildScriptNotFound, PlatformNotInstalledYet,
|
||||
UnknownPackage, UnknownPlatform)
|
||||
from platformio.pkgmanager import PackageManager
|
||||
from platformio.util import exec_command, get_home_dir, get_source_dir
|
||||
|
||||
@ -25,7 +24,7 @@ class PlatformFactory(object):
|
||||
module = load_source(
|
||||
"platformio.platforms.%s" % name, path)
|
||||
except ImportError:
|
||||
raise UnknownPlatform(name)
|
||||
raise exception.UnknownPlatform(name)
|
||||
return module
|
||||
|
||||
@classmethod
|
||||
@ -47,7 +46,7 @@ class PlatformFactory(object):
|
||||
)
|
||||
if isplatform:
|
||||
platforms[name] = path
|
||||
except UnknownPlatform:
|
||||
except exception.UnknownPlatform:
|
||||
pass
|
||||
|
||||
if not installed:
|
||||
@ -63,7 +62,7 @@ class PlatformFactory(object):
|
||||
def newPlatform(cls, name):
|
||||
platforms = cls.get_platforms()
|
||||
if name not in platforms:
|
||||
raise UnknownPlatform(name)
|
||||
raise exception.UnknownPlatform(name)
|
||||
|
||||
_instance = getattr(
|
||||
cls.load_module(name, platforms[name]),
|
||||
@ -123,7 +122,7 @@ class BasePlatform(object):
|
||||
upkgs = with_packages | without_packages
|
||||
ppkgs = set(self.get_packages().keys())
|
||||
if not upkgs.issubset(ppkgs):
|
||||
raise UnknownPackage(", ".join(upkgs - ppkgs))
|
||||
raise exception.UnknownPackage(", ".join(upkgs - ppkgs))
|
||||
|
||||
requirements = []
|
||||
for name, opts in self.get_packages().items():
|
||||
@ -151,13 +150,13 @@ class BasePlatform(object):
|
||||
installed=True).keys()
|
||||
|
||||
if platform not in installed_platforms:
|
||||
raise PlatformNotInstalledYet(platform)
|
||||
raise exception.PlatformNotInstalledYet(platform)
|
||||
|
||||
deppkgs = set()
|
||||
for item in installed_platforms:
|
||||
if item == platform:
|
||||
continue
|
||||
p = PlatformFactory().newPlatform(item)
|
||||
p = PlatformFactory.newPlatform(item)
|
||||
deppkgs = deppkgs.union(set(p.get_packages().keys()))
|
||||
|
||||
pm = PackageManager()
|
||||
@ -191,7 +190,7 @@ class BasePlatform(object):
|
||||
installed_packages = PackageManager.get_installed()
|
||||
|
||||
if self.get_name() not in installed_platforms:
|
||||
raise PlatformNotInstalledYet(self.get_name())
|
||||
raise exception.PlatformNotInstalledYet(self.get_name())
|
||||
|
||||
if "clean" in targets:
|
||||
targets.remove("clean")
|
||||
@ -205,20 +204,23 @@ class BasePlatform(object):
|
||||
continue
|
||||
_, path = v.split("=", 2)
|
||||
if not isfile(path):
|
||||
raise BuildScriptNotFound(path)
|
||||
raise exception.BuildScriptNotFound(path)
|
||||
|
||||
# append aliases of installed packages
|
||||
# append aliases of the installed packages
|
||||
for name, options in self.get_packages().items():
|
||||
if name not in installed_packages:
|
||||
continue
|
||||
variables.append(
|
||||
"PIOPACKAGE_%s=%s" % (options['alias'].upper(), name))
|
||||
|
||||
result = exec_command([
|
||||
"scons",
|
||||
"-Q",
|
||||
"-f", join(get_source_dir(), "builder", "main.py")
|
||||
] + variables + targets)
|
||||
try:
|
||||
result = exec_command([
|
||||
"scons",
|
||||
"-Q",
|
||||
"-f", join(get_source_dir(), "builder", "main.py")
|
||||
] + variables + targets)
|
||||
except OSError:
|
||||
raise exception.SConsNotInstalled()
|
||||
|
||||
return self.after_run(result)
|
||||
|
||||
|
@ -101,7 +101,7 @@ class MeasurementProtocol(TelemetryBase):
|
||||
if not args:
|
||||
return
|
||||
|
||||
if args[0] in ("lib", "settings"):
|
||||
if args[0] in ("lib", "serialports", "settings"):
|
||||
cmd_path = args[:2]
|
||||
else:
|
||||
cmd_path = args[:1]
|
||||
@ -135,9 +135,9 @@ def on_command(ctx): # pylint: disable=W0613
|
||||
|
||||
|
||||
def on_run_environment(options, targets):
|
||||
opts = ["%s=%s" % (opt, value) for opt, value in sorted(options)]
|
||||
opts = ["%s=%s" % (opt, value) for opt, value in sorted(options.items())]
|
||||
targets = [t.title() for t in targets or ["run"]]
|
||||
on_event("Env", " ".join(targets), " ".join(opts))
|
||||
on_event("Env", " ".join(targets), "&".join(opts))
|
||||
|
||||
|
||||
def on_event(category, action, label=None, value=None, screen_name=None):
|
||||
|
@ -22,8 +22,6 @@ except ImportError:
|
||||
|
||||
|
||||
def get_systype():
|
||||
if system() == "Windows":
|
||||
return "windows"
|
||||
data = uname()
|
||||
return ("%s_%s" % (data[0], data[4])).lower()
|
||||
|
||||
@ -79,7 +77,7 @@ def get_pioenvs_dir():
|
||||
def get_project_config():
|
||||
path = join(get_project_dir(), "platformio.ini")
|
||||
if not isfile(path):
|
||||
raise NotPlatformProject()
|
||||
raise NotPlatformProject(get_project_dir())
|
||||
cp = ConfigParser()
|
||||
cp.read(path)
|
||||
return cp
|
||||
@ -128,8 +126,7 @@ def get_api_result(path, params=None, data=None):
|
||||
if path == "/packages":
|
||||
r = requests.get(
|
||||
"https://sourceforge.net/projects/platformio-storage/files/"
|
||||
"packages/manifest.json/download",
|
||||
params=params, headers=headers)
|
||||
"packages/manifest.json", params=params, headers=headers)
|
||||
elif data:
|
||||
r = requests.post(__apiurl__ + path, params=params, data=data,
|
||||
headers=headers)
|
||||
|
Reference in New Issue
Block a user