mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-29 17:47:14 +02:00
Merge branch 'develop' of https://github.com/ivankravets/platformio into feature/pyserial-3.0
This commit is contained in:
@ -4,6 +4,12 @@ Release History
|
||||
PlatformIO 2.0
|
||||
--------------
|
||||
|
||||
2.3.4 (2015-10-??)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Added support for ubIQio Ardhat board
|
||||
(`pull #302 <https://github.com/platformio/platformio/pull/302>`_)
|
||||
|
||||
2.3.3 (2015-10-02)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
@ -31,12 +31,13 @@ PlatformIO
|
||||
|
||||
`Home & Demo <http://platformio.org>`_ |
|
||||
`Project Examples <https://github.com/platformio/platformio/tree/develop/examples>`_ |
|
||||
`Code <https://github.com/platformio/platformio>`_ |
|
||||
`Source Code <https://github.com/platformio>`_ |
|
||||
`Documentation <http://docs.platformio.org>`_ ||
|
||||
`Blog <http://www.ikravets.com/category/computer-life/platformio>`_ |
|
||||
`Reddit <http://www.reddit.com/r/platformio/>`_ |
|
||||
`Twitter <https://twitter.com/PlatformIO_Org>`_ |
|
||||
`Hackaday <https://hackaday.io/project/7980-platformio>`_ |
|
||||
`Facebook <https://www.facebook.com/platformio>`_ |
|
||||
`Twitter <https://twitter.com/PlatformIO_Org>`_
|
||||
`Reddit <http://www.reddit.com/r/platformio/>`_
|
||||
|
||||
.. image:: https://raw.githubusercontent.com/platformio/platformio/develop/docs/_static/platformio-logo.png
|
||||
:target: http://platformio.org
|
||||
|
22
docs/faq.rst
22
docs/faq.rst
@ -24,13 +24,14 @@ between team members, regardless of operating system they prefer to work with.
|
||||
Beyond that, PlatformIO can be run not only on commonly used desktops/laptops
|
||||
but also on the servers without X Window System. While PlatformIO itself is a
|
||||
console application, it can be used in combination with one's favorite
|
||||
:ref:`ide` or text editor such as :ref:`ide_arduino`, :ref:`ide_eclipse`,
|
||||
:ref:`ide_visualstudio`, :ref:`ide_vim`, :ref:`ide_sublimetext`, etc.
|
||||
:ref:`ide` or text editor such as :ref:`ide_arduino`, :ref:`ide_atom`,
|
||||
:ref:`ide_clion`, :ref:`ide_eclipse`, :ref:`ide_qtcreator`,
|
||||
:ref:`ide_sublimetext`, :ref:`ide_vim`, :ref:`ide_visualstudio`, etc.
|
||||
|
||||
Alright, so PlatformIO can run on different operating systems. But more
|
||||
importantly, from development perspective at least, is a list of supported
|
||||
boards and MCUs. To keep things short: PlatformIO supports over 100
|
||||
:ref:`Embedded Boards <platforms>` and all major
|
||||
boards and MCUs. To keep things short: PlatformIO supports over 150+
|
||||
`Embedded Boards <http://platformio.org/#!/boards>`_ and all major
|
||||
:ref:`Development Platforms <platforms>`.
|
||||
|
||||
PlatformIO allows users to:
|
||||
@ -55,6 +56,19 @@ the project developed using PlatformIO is as follows:
|
||||
* Users develop code and PlatformIO makes sure that it is compiled, prepared
|
||||
and uploaded to all the boards of interest.
|
||||
|
||||
Commands completion in Terminal
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Bash completion
|
||||
'''''''''''''''
|
||||
|
||||
Bash completion support will complete subcommands and parameters. To enable
|
||||
Bash completion for `platformio` subcommands you need to put into your `.bashrc`:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
eval "$(_PLATFORMIO_COMPLETE=source platformio)"
|
||||
|
||||
.. _faq_troubleshooting:
|
||||
|
||||
Troubleshooting
|
||||
|
@ -476,7 +476,7 @@ Espressif
|
||||
* - ``esp01``
|
||||
- `Espressif ESP8266 board <https://nurdspace.nl/ESP8266>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 40 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
|
||||
@ -976,3 +976,23 @@ Wicked Device
|
||||
- 16 MHz
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
ubIQio
|
||||
~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``ardhat``
|
||||
- `ubIQio Ardhat <http://ardhat.com>`_
|
||||
- ATMEGA328P
|
||||
- 16 MHz
|
||||
- 32 Kb
|
||||
- 2 Kb
|
||||
|
@ -18,9 +18,10 @@ libOpenCM3, etc.*
|
||||
* `Source Code <https://github.com/platformio/platformio>`_ |
|
||||
`Issues <https://github.com/platformio/platformio/issues>`_
|
||||
* `Blog <http://www.ikravets.com/category/computer-life/platformio>`_ |
|
||||
`Reddit <http://www.reddit.com/r/platformio/>`_ |
|
||||
`Twitter <https://twitter.com/PlatformIO_Org>`_ |
|
||||
`Hackaday <https://hackaday.io/project/7980-platformio>`_ |
|
||||
`Facebook <https://www.facebook.com/platformio>`_ |
|
||||
`Twitter <https://twitter.com/PlatformIO_Org>`_
|
||||
`Reddit <http://www.reddit.com/r/platformio/>`_
|
||||
|
||||
You have **no need** to install any *IDE* or compile any tool chains. *PlatformIO*
|
||||
has pre-built different development platforms and pre-configured settings for
|
||||
|
@ -872,3 +872,23 @@ Wicked Device
|
||||
- 16 MHz
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
ubIQio
|
||||
~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``ardhat``
|
||||
- `ubIQio Ardhat <http://ardhat.com>`_
|
||||
- ATMEGA328P
|
||||
- 16 MHz
|
||||
- 32 Kb
|
||||
- 2 Kb
|
||||
|
@ -77,6 +77,6 @@ Espressif
|
||||
* - ``esp01``
|
||||
- `Espressif ESP8266 board <https://nurdspace.nl/ESP8266>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 40 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Copyright (C) Ivan Kravets <me@ikravets.com>
|
||||
# See LICENSE for details.
|
||||
|
||||
VERSION = (2, 3, 3)
|
||||
VERSION = (2, 3, "4.dev1")
|
||||
__version__ = ".".join([str(s) for s in VERSION])
|
||||
|
||||
__title__ = "platformio"
|
||||
|
@ -1,4 +1,26 @@
|
||||
{
|
||||
"ardhat": {
|
||||
"build": {
|
||||
"core": "arduino",
|
||||
"extra_flags": "-DARDUINO_ARCH_AVR -DAVR_ARDHAT",
|
||||
"f_cpu": "16000000L",
|
||||
"mcu": "atmega328p",
|
||||
"variant": "standard"
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "ubIQio Ardhat",
|
||||
"platform": "atmelavr",
|
||||
"upload": {
|
||||
"maximum_ram_size": 2048,
|
||||
"maximum_size": 32256,
|
||||
"protocol": "arduino",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://ardhat.com",
|
||||
"vendor": "ubIQio"
|
||||
},
|
||||
|
||||
"raspduino": {
|
||||
"build": {
|
||||
"core": "arduino",
|
||||
|
@ -36,13 +36,19 @@ def cli(ctx, environment, target, upload_port, # pylint: disable=R0913,R0914
|
||||
if not config.sections():
|
||||
raise exception.ProjectEnvsNotAvailable()
|
||||
|
||||
unknown = set(environment) - set([s[4:] for s in config.sections()])
|
||||
known = set([s[4:] for s in config.sections()
|
||||
if s.startswith("env:")])
|
||||
unknown = set(environment) - known
|
||||
if unknown:
|
||||
raise exception.UnknownEnvNames(", ".join(unknown))
|
||||
raise exception.UnknownEnvNames(
|
||||
", ".join(unknown), ", ".join(known))
|
||||
|
||||
# clean obsolete .pioenvs dir
|
||||
if not disable_auto_clean:
|
||||
_clean_pioenvs_dir()
|
||||
try:
|
||||
_clean_pioenvs_dir(util.get_pioenvs_dir())
|
||||
except Exception:
|
||||
raise exception.CleanPioenvsDirError(util.get_pioenvs_dir())
|
||||
|
||||
results = []
|
||||
for section in config.sections():
|
||||
@ -221,8 +227,7 @@ def _autoinstall_libs(ctx, libids_list):
|
||||
ctx.invoke(cmd_lib_install, libid=not_intalled_libs)
|
||||
|
||||
|
||||
def _clean_pioenvs_dir():
|
||||
pioenvs_dir = util.get_pioenvs_dir()
|
||||
def _clean_pioenvs_dir(pioenvs_dir):
|
||||
structhash_file = join(pioenvs_dir, "structure.hash")
|
||||
proj_hash = calculate_project_hash()
|
||||
|
||||
|
@ -33,14 +33,14 @@ class UnknownPlatform(PlatformioException):
|
||||
|
||||
class PlatformNotInstalledYet(PlatformioException):
|
||||
|
||||
MESSAGE = ("The platform '%s' has not been installed yet. "
|
||||
"Use `platformio platforms install` command")
|
||||
MESSAGE = "The platform '%s' has not been installed yet. "\
|
||||
"Use `platformio platforms install` command"
|
||||
|
||||
|
||||
class UnknownCLICommand(PlatformioException):
|
||||
|
||||
MESSAGE = ("Unknown command '%s'. Please use `platformio --help`"
|
||||
" to see all available commands")
|
||||
MESSAGE = "Unknown command '%s'. Please use `platformio --help`"\
|
||||
" to see all available commands"
|
||||
|
||||
|
||||
class UnknownBoard(PlatformioException):
|
||||
@ -75,14 +75,14 @@ class FDUnrecognizedStatusCode(PlatformioException):
|
||||
|
||||
class FDSizeMismatch(PlatformioException):
|
||||
|
||||
MESSAGE = ("The size (%d bytes) of downloaded file '%s' "
|
||||
"is not equal to remote size (%d bytes)")
|
||||
MESSAGE = "The size (%d bytes) of downloaded file '%s' "\
|
||||
"is not equal to remote size (%d bytes)"
|
||||
|
||||
|
||||
class FDSHASumMismatch(PlatformioException):
|
||||
|
||||
MESSAGE = ("The 'sha1' sum '%s' of downloaded file '%s' "
|
||||
"is not equal to remote '%s'")
|
||||
MESSAGE = "The 'sha1' sum '%s' of downloaded file '%s' "\
|
||||
"is not equal to remote '%s'"
|
||||
|
||||
|
||||
class NotPlatformProject(PlatformioException):
|
||||
@ -104,17 +104,23 @@ class UnsupportedArchiveType(PlatformioException):
|
||||
|
||||
class ProjectEnvsNotAvailable(PlatformioException):
|
||||
|
||||
MESSAGE = "Please setup environments in `platformio.ini` file."
|
||||
MESSAGE = "Please setup environments in `platformio.ini` file"
|
||||
|
||||
|
||||
class InvalidEnvName(PlatformioException):
|
||||
|
||||
MESSAGE = "Invalid environment '%s'. The name must start " "with 'env:'."
|
||||
MESSAGE = "Invalid environment '%s'. The name must start with 'env:'"
|
||||
|
||||
|
||||
class UnknownEnvNames(PlatformioException):
|
||||
|
||||
MESSAGE = "Unknown environment names '%s'."
|
||||
MESSAGE = "Unknown environment names '%s'. Valid names are '%s'"
|
||||
|
||||
|
||||
class CleanPioenvsDirError(PlatformioException):
|
||||
|
||||
MESSAGE = "Can not remove temporary directory `%s`. "\
|
||||
"Please remove it manually"
|
||||
|
||||
|
||||
class GetSerialPortsError(PlatformioException):
|
||||
@ -124,7 +130,7 @@ class GetSerialPortsError(PlatformioException):
|
||||
|
||||
class GetLatestVersionError(PlatformioException):
|
||||
|
||||
MESSAGE = "Can't retrieve the latest PlatformIO version"
|
||||
MESSAGE = "Can not retrieve the latest PlatformIO version"
|
||||
|
||||
|
||||
class APIRequestError(PlatformioException):
|
||||
@ -173,36 +179,28 @@ class UpgraderFailed(PlatformioException):
|
||||
|
||||
class CIBuildEnvsEmpty(PlatformioException):
|
||||
|
||||
MESSAGE = (
|
||||
"Can't find PlatformIO build environments.\nPlease specify `--board` "
|
||||
"or path to `platformio.ini` with predefined environments using "
|
||||
"`--project-conf` option"
|
||||
)
|
||||
MESSAGE = "Can't find PlatformIO build environments.\n"\
|
||||
"Please specify `--board` or path to `platformio.ini` with "\
|
||||
"predefined environments using `--project-conf` option"
|
||||
|
||||
|
||||
class SConsNotInstalled(PlatformioException):
|
||||
|
||||
MESSAGE = (
|
||||
"The PlatformIO and `scons` aren't installed properly. "
|
||||
"More details in FAQ/Troubleshooting section: "
|
||||
MESSAGE = "The PlatformIO and `scons` aren't installed properly. "\
|
||||
"More details in FAQ/Troubleshooting section: "\
|
||||
"http://docs.platformio.org/en/latest/faq.html"
|
||||
)
|
||||
|
||||
|
||||
class PlatformioUpgradeError(PlatformioException):
|
||||
|
||||
MESSAGE = (
|
||||
"%s \n\n"
|
||||
"1. Please report this issue here: "
|
||||
"https://github.com/platformio/platformio/issues \n"
|
||||
"2. Try different installation/upgrading steps: "
|
||||
MESSAGE = "%s \n\n"\
|
||||
"1. Please report this issue here: "\
|
||||
"https://github.com/platformio/platformio/issues \n"\
|
||||
"2. Try different installation/upgrading steps: "\
|
||||
"http://docs.platformio.org/en/latest/installation.html"
|
||||
)
|
||||
|
||||
|
||||
class CygwinEnvDetected(PlatformioException):
|
||||
|
||||
MESSAGE = (
|
||||
"PlatformIO does not work within Cygwin environment. "
|
||||
MESSAGE = "PlatformIO does not work within Cygwin environment. "\
|
||||
"Use native Terminal instead."
|
||||
)
|
||||
|
@ -184,10 +184,12 @@ def check_platformio_upgrade():
|
||||
click.echo("")
|
||||
click.echo("*" * terminal_width)
|
||||
click.secho("There is a new version %s of PlatformIO available.\n"
|
||||
"Please upgrade it via " % latest_version,
|
||||
"Please upgrade it via `" % latest_version,
|
||||
fg="yellow", nl=False)
|
||||
click.secho("platformio upgrade", fg="cyan", nl=False)
|
||||
click.secho(" command.\nChanges: ", fg="yellow", nl=False)
|
||||
click.secho("` or `", fg="yellow", nl=False)
|
||||
click.secho("pip install -U platformio", fg="cyan", nl=False)
|
||||
click.secho("` command.\nChanges: ", fg="yellow", nl=False)
|
||||
click.secho("http://docs.platformio.org/en/latest/history.html",
|
||||
fg="cyan")
|
||||
click.echo("*" * terminal_width)
|
||||
|
@ -3,5 +3,5 @@ click==5.1
|
||||
colorama==0.3.3
|
||||
lockfile==0.10.2
|
||||
pyserial==2.7
|
||||
requests==2.7.0
|
||||
requests==2.8.0
|
||||
scons==2.3.6
|
||||
|
Reference in New Issue
Block a user