From 4247f448a80ba373cd30ca84dc38a9dbaffba680 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Wed, 26 Oct 2016 21:07:43 +0300 Subject: [PATCH] Add docs for PIO Account --- docs/installation.rst | 4 +- docs/projectconf.rst | 195 ++++++++++++------------ docs/userguide/account/cmd_forgot.rst | 42 +++++ docs/userguide/account/cmd_login.rst | 46 ++++++ docs/userguide/account/cmd_logout.rst | 30 ++++ docs/userguide/account/cmd_password.rst | 30 ++++ docs/userguide/account/cmd_register.rst | 41 +++++ docs/userguide/account/index.rst | 37 +++++ docs/userguide/index.rst | 1 + 9 files changed, 329 insertions(+), 97 deletions(-) create mode 100644 docs/userguide/account/cmd_forgot.rst create mode 100644 docs/userguide/account/cmd_login.rst create mode 100644 docs/userguide/account/cmd_logout.rst create mode 100644 docs/userguide/account/cmd_password.rst create mode 100644 docs/userguide/account/cmd_register.rst create mode 100644 docs/userguide/account/index.rst diff --git a/docs/installation.rst b/docs/installation.rst index 22717b4b..d0c92fde 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -30,7 +30,7 @@ System requirements :Operating System: Mac OS X, Linux (+ARM) or Windows :Python Interpreter: - Python 2.6 or 2.7. Python 2.7 is recommended + Python 2.7 is required. PlatformIO **does not** support Python 3. .. attention:: **Windows Users**: Please `Download the latest Python 2.7.x @@ -141,7 +141,7 @@ Mac OS X Homebrew Packages Manager (`brew `_) as follows: Full Guide ~~~~~~~~~~ -1. Check a ``python`` version (only 2.6-2.7 is supported): +1. Check a ``python`` version (only Python 2.7 is supported): .. code-block:: bash diff --git a/docs/projectconf.rst b/docs/projectconf.rst index 880ad68a..23565183 100644 --- a/docs/projectconf.rst +++ b/docs/projectconf.rst @@ -579,101 +579,6 @@ exclude ``.git`` and ``svn`` repository folders, ``example`` ... folder. This option can be set by global environment variable :envvar:`PLATFORMIO_SRC_FILTER`. -.. _projectconf_extra_script: - -``extra_script`` -^^^^^^^^^^^^^^^^ - -.. contents:: - :local: - -Allows to launch extra script using `SCons `_ software -construction tool. For more details please follow to "Construction Environments" -section of -`SCons documentation `_. - -This option can be set by global environment variable -:envvar:`PLATFORMIO_EXTRA_SCRIPT`. - -Take a look at the multiple snippets/answers for the user questions: - - - `#462 Split C/C++ build flags `_ - - `#365 Extra configuration for ESP8266 uploader `_ - - `#351 Specific reset method for ESP8266 `_ - - `#247 Specific options for avrdude `_. - -Custom Uploader -''''''''''''''' - -Example, specify own upload command for :ref:`platform_atmelavr`: - -``platformio.ini``: - -.. code-block:: ini - - [env:env_custom_uploader] - platform = atmelavr - extra_script = /path/to/extra_script.py - custom_option = hello - -``extra_script.py``: - -.. code-block:: python - - Import('env') - from base64 import b64decode - - env.Replace(UPLOADHEXCMD='"$UPLOADER" ' + b64decode(ARGUMENTS.get("CUSTOM_OPTION")) + ' --uploader --flags') - - # uncomment line below to see environment variables - # print env.Dump() - # print ARGUMENTS - -Before/Pre and After/Post actions -''''''''''''''''''''''''''''''''' - -PlatformIO Build System has rich API that allows to attach different pre-/post -actions (hooks) using ``env.AddPreAction(target, callback)`` function. A first -argument ``target`` can be a name of target that is passed using -:option:`platformio run --target` command or path to file which PlatformIO -processes (ELF, HEX, BIN, etc.). For example, to call function before HEX file -will be created, need to use as a ``$BUILD_DIR/firmware.hex`` target value. - -The example below demonstrates how to call different functions -when :option:`platformio run --target` is called with ``upload`` value. -`extra_script.py` file is located on the same level as ``platformio.ini``. - -``platformio.ini``: - -.. code-block:: ini - - [env:pre_and_post_hooks] - extra_script = extra_script.py - -``extra_script.py``: - -.. code-block:: python - - Import("env") - - def before_upload(source, target, env): - print "before_upload" - # do some actions - - - def after_upload(source, target, env): - print "after_upload" - # do some actions - - print "Current build targets", map(str, BUILD_TARGETS) - - # env.AddPreAction("$BUILD_DIR/firmware.elf", callback...) - # env.AddPostAction("$BUILD_DIR/firmware.hex", callback...) - - env.AddPreAction("upload", before_upload) - env.AddPostAction("upload", after_upload) - - .. _projectconf_targets: ``targets`` @@ -941,6 +846,106 @@ ignore some tests using :option:`platformio test --ignore` command. [env:myenv] test_ignore = footest, bartest_*, test[13] + +Advanced options +~~~~~~~~~~~~~~~~ + +.. _projectconf_extra_script: + +``extra_script`` +^^^^^^^^^^^^^^^^ + +.. contents:: + :local: + +Allows to launch extra script using `SCons `_ software +construction tool. For more details please follow to "Construction Environments" +section of +`SCons documentation `_. + +This option can be set by global environment variable +:envvar:`PLATFORMIO_EXTRA_SCRIPT`. + +Take a look at the multiple snippets/answers for the user questions: + + - `#462 Split C/C++ build flags `_ + - `#365 Extra configuration for ESP8266 uploader `_ + - `#351 Specific reset method for ESP8266 `_ + - `#247 Specific options for avrdude `_. + +Custom Uploader +''''''''''''''' + +Example, specify own upload command for :ref:`platform_atmelavr`: + +``platformio.ini``: + +.. code-block:: ini + + [env:env_custom_uploader] + platform = atmelavr + extra_script = /path/to/extra_script.py + custom_option = hello + +``extra_script.py``: + +.. code-block:: python + + Import('env') + from base64 import b64decode + + env.Replace(UPLOADHEXCMD='"$UPLOADER" ' + b64decode(ARGUMENTS.get("CUSTOM_OPTION")) + ' --uploader --flags') + + # uncomment line below to see environment variables + # print env.Dump() + # print ARGUMENTS + +Before/Pre and After/Post actions +''''''''''''''''''''''''''''''''' + +PlatformIO Build System has rich API that allows to attach different pre-/post +actions (hooks) using ``env.AddPreAction(target, callback)`` function. A first +argument ``target`` can be a name of target that is passed using +:option:`platformio run --target` command or path to file which PlatformIO +processes (ELF, HEX, BIN, etc.). For example, to call function before HEX file +will be created, need to use as a ``$BUILD_DIR/firmware.hex`` target value. + +The example below demonstrates how to call different functions +when :option:`platformio run --target` is called with ``upload`` value. +`extra_script.py` file is located on the same level as ``platformio.ini``. + +``platformio.ini``: + +.. code-block:: ini + + [env:pre_and_post_hooks] + extra_script = extra_script.py + +``extra_script.py``: + +.. code-block:: python + + Import("env") + + def before_upload(source, target, env): + print "before_upload" + # do some actions + + + def after_upload(source, target, env): + print "after_upload" + # do some actions + + print "Current build targets", map(str, BUILD_TARGETS) + + # env.AddPreAction("$BUILD_DIR/firmware.elf", callback...) + # env.AddPostAction("$BUILD_DIR/firmware.hex", callback...) + + env.AddPreAction("upload", before_upload) + env.AddPostAction("upload", after_upload) + + + ----------- .. _projectconf_examples: diff --git a/docs/userguide/account/cmd_forgot.rst b/docs/userguide/account/cmd_forgot.rst new file mode 100644 index 00000000..239aa96f --- /dev/null +++ b/docs/userguide/account/cmd_forgot.rst @@ -0,0 +1,42 @@ +.. Copyright 2014-present PlatformIO + 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. + +.. _cmd_account_forgot: + +platformio account forgot +========================= + +.. contents:: + +Usage +----- + +.. code-block:: bash + + platformio account forgot [OPTIONS] + + +Description +----------- + +Allows you to reset password for :ref:`userguide_account` using E-Mail that +was specified for registration. + +Options +~~~~~~~ + +.. program:: platformio account forgot + +.. option:: + --username, -u + +User name (E-Mail). You can omit this option and enter E-Mail in Forgot +Wizard later. diff --git a/docs/userguide/account/cmd_login.rst b/docs/userguide/account/cmd_login.rst new file mode 100644 index 00000000..e4e0dfaa --- /dev/null +++ b/docs/userguide/account/cmd_login.rst @@ -0,0 +1,46 @@ +.. Copyright 2014-present PlatformIO + 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. + +.. _cmd_account_login: + +platformio account login +========================= + +.. contents:: + +Usage +----- + +.. code-block:: bash + + platformio account login [OPTIONS] + + +Description +----------- + +Log in to :ref:`userguide_account`. + +Options +~~~~~~~ + +.. program:: platformio account login + +.. option:: + --username, -u + +User name (E-Mail). You can omit this option and enter E-Mail in Login Wizard +later. + +.. option:: + --password, -p + +You can omit this option and enter securely password in Login Wizard later. diff --git a/docs/userguide/account/cmd_logout.rst b/docs/userguide/account/cmd_logout.rst new file mode 100644 index 00000000..61535714 --- /dev/null +++ b/docs/userguide/account/cmd_logout.rst @@ -0,0 +1,30 @@ +.. Copyright 2014-present PlatformIO + 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. + +.. _cmd_account_logout: + +platformio account logout +========================= + +.. contents:: + +Usage +----- + +.. code-block:: bash + + platformio account logout + + +Description +----------- + +Log out of :ref:`userguide_account`. diff --git a/docs/userguide/account/cmd_password.rst b/docs/userguide/account/cmd_password.rst new file mode 100644 index 00000000..1d391206 --- /dev/null +++ b/docs/userguide/account/cmd_password.rst @@ -0,0 +1,30 @@ +.. Copyright 2014-present PlatformIO + 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. + +.. _cmd_account_password: + +platformio account password +=========================== + +.. contents:: + +Usage +----- + +.. code-block:: bash + + platformio account password + + +Description +----------- + +Change password for :ref:`userguide_account`. diff --git a/docs/userguide/account/cmd_register.rst b/docs/userguide/account/cmd_register.rst new file mode 100644 index 00000000..4d6f7032 --- /dev/null +++ b/docs/userguide/account/cmd_register.rst @@ -0,0 +1,41 @@ +.. Copyright 2014-present PlatformIO + 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. + +.. _cmd_account_register: + +platformio account register +=========================== + +.. contents:: + +Usage +----- + +.. code-block:: bash + + platformio account register [OPTIONS] + + +Description +----------- + +Log in to :ref:`userguide_account`. + +Options +~~~~~~~ + +.. program:: platformio account register + +.. option:: + --username, -u + +User name (E-Mail). You can omit this option and enter E-Mail in Register +Wizard later. diff --git a/docs/userguide/account/index.rst b/docs/userguide/account/index.rst new file mode 100644 index 00000000..11c9030f --- /dev/null +++ b/docs/userguide/account/index.rst @@ -0,0 +1,37 @@ +.. Copyright 2014-present PlatformIO + 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. + +.. _userguide_account: + +PIO Account +=========== + +Having **PIO Account** allows you to use extra professional features from +`PlatformIO Plus `__: + +* :ref:`unit_testing` + +To print all available commands and options use: + +.. code-block:: bash + + platformio account --help + platformio account COMMAND --help + + +.. toctree:: + :maxdepth: 2 + + cmd_forgot + cmd_login + cmd_logout + cmd_password + cmd_register diff --git a/docs/userguide/index.rst b/docs/userguide/index.rst index 2a3b0f2a..26efd488 100644 --- a/docs/userguide/index.rst +++ b/docs/userguide/index.rst @@ -58,6 +58,7 @@ Commands .. toctree:: :maxdepth: 2 + platformio account cmd_boards cmd_ci cmd_device