diff --git a/appveyor.yml b/.appveyor.yml similarity index 100% rename from appveyor.yml rename to .appveyor.yml diff --git a/.gitmodules b/.gitmodules index 72eb56f5..6dac16ad 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,7 @@ [submodule "examples"] path = examples url = https://github.com/platformio/platformio-examples.git +[submodule "docs"] + path = docs + url = https://github.com/platformio/platformio-docs.git + branch = develop diff --git a/.travis.yml b/.travis.yml index cd1df106..4acf44fb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,8 +22,8 @@ install: - git submodule update --init --recursive - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sudo pip install -U tox; else pip install -U tox; fi - # temporary hook to fix issue with gcc-pic32 - - if [[ "$TOX_ENV" == "py27" ]] && [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install -qq lib32z1 lib32ncurses5 lib32bz2-1.0; fi + # ChipKIT issue: install 32-bit support for GCC PIC32 + - if [[ "$TOX_ENV" == "py27" ]] && [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install libc6-i386; fi script: - tox -e $TOX_ENV diff --git a/HISTORY.rst b/HISTORY.rst index 7fd48653..93aa775e 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -4,13 +4,158 @@ Release Notes PlatformIO 3.0 -------------- +3.2.0 (2016-12-07) +~~~~~~~~~~~~~~~~~~ + +* `PIO Remote™ `__. + **Your devices are always with you!** + + + Over-The-Air (OTA) Device Manager + + OTA Serial Port Monitor + + OTA Firmware Updates + + Continuous Deployment + + Continuous Delivery + +* Integration with `Cloud IDEs `__ + + + Cloud9 + + Codeanywhere + + Eclipse Che + +* `PIO Account `__ + and `PLATFORMIO_AUTH_TOKEN `__ + environment variable for CI systems + (`issue #808 `_, + `issue #467 `_) +* Inject system environment variables to configuration settings in + `Project Configuration File "platformio.ini" `__ + (`issue #792 `_) +* Custom boards per project with ``boards_dir`` option in + `Project Configuration File "platformio.ini" `__ + (`issue #515 `_) +* Unix shell-style wildcards for `upload_port `_ + (`issue #839 `_) +* Refactored `Library Dependency Finder (LDF) `__ + C/C++ Preprocessor for conditional syntax (``#ifdef``, ``#if``, ``#else``, + ``#elif``, ``#define``, etc.) + (`issue #837 `_) +* Added new `LDF Modes `__: + ``chain+`` and ``deep+`` and set ``chain+`` as default +* Added global ``lib_extra_dirs`` option to ``[platformio]`` section for + `Project Configuration File "platformio.ini" `__ + (`issue #842 `_) +* Enabled caching by default for API requests and Library Manager (see `enable_cache `__ setting) +* Native integration with VIM/Neovim using `neomake-platformio `__ plugin +* Changed a default exit combination for Device Monitor from ``Ctrl+]`` to ``Ctrl+C`` +* Improved detecting of ARM mbed media disk for uploading +* Improved Project Generator for CLion IDE when source folder contains nested items +* Improved handling of library dependencies specified in ``library.json`` manifest + (`issue #814 `_) +* Improved `Library Dependency Finder (LDF) `__ + for circular dependencies +* Show vendor version of a package for `platformio platform show `__ command + (`issue #838 `_) +* Fixed unable to include SSH user in ``lib_deps`` repository url + (`issue #830 `_) +* Fixed merging of ".gitignore" files when re-initialize project + (`issue #848 `_) +* Fixed issue with ``PATH`` auto-configuring for upload tools +* Fixed ``99-platformio-udev.rules`` checker for Linux OS + +------- + +* Development platform `Atmel AVR `__ + + + Added support for SODAQ AVR boards + (`issue #796 `__) + + Added support for Pololu A-Star boards + (`issue #804 `__) + + Added support for Altair board + (`issue #15 `__) + + Added support for ATmega328PB MCUs + + Updated Atmel AVR toolchain to GCC 4.9.2 + + Updated Arduino Core for LightBlue Bean/LightBlue Bean+ boards + + Handle "micronucleus" tool base on upload protocol + (`issue #18 `__) + + Fixed programming of ATtiny boards when "micronucleus" uploader is used + (`issue #13 `__) + +* Development platform `Atmel SAM `__ + + + Added support for SODAQ SAMD boards + (`issue #796 `__) + + Updated ARM mbed OS to 5.1.4/rev126 + + Fixed issue with uploading to Arduino Zero on programming USB port + (`issue #805 `__) + +* Development platform `Espressif 32 `__ + + * Initial support for Espressif IDF and Arduino for ESP32 + +* Development platform `Espressif 8266 `__ + + + Added support for ESPrectro board + + Additional target "buildfs" to accompany "uploadfs" + (`issue #6 `__) + +* Development platform `Freescale Kinetis `__ + + + Updated ARM mbed OS to 5.1.4/rev126 + +* Development platform `Microchip PIC32 `__ + + + Add support for MikroElektronika Clicker 2 board + + Updated ChipKIT Core to v1.3.1 + + Updated Microchip PIC32 GCC-based toolchain and "pic32prog" tool + +* Development platform `Nordic nRF51 `__ + + + Added BBC micro:bit B(S130) board + (`issue #3 `__) + + Updated ARM mbed OS to 5.1.4/rev126 + + Fixed “undefined reference to `_sbrk’” error for RFDuino + (`issue #1 `__) + +* Development platform `NXP LPC `__ + + + Updated ARM mbed OS to 5.1.4/rev126 + +* Development platform `Silicon Labs EFM32 `__ + + + Updated ARM mbed OS to 5.1.4/rev126 + +* Development platform `ST STM32 `__ + + + Added support for Maple Mini Original and Maple Mini Bootloader 2.0 + (`issue #22 `__) + + Added support for new boards: ST 32F769IDISCOVERY + + Updated ARM mbed OS to 5.1.4/rev126 + + Use ``serial`` protocol by default for STM32Duino-based boards + (`issue #14 `__) + + Fixed linker error "undefined reference to _sbrk" for STM32Duino + (`issue #10 `__) + +* Development platform `Teensy `__ + + + Updated Arduino Framework for Teensy to v131 + + Updated ARM mbed OS to 5.1.4/rev126 + + Added support for Teensy Audio feature (``build_flags = -D USB_AUDIO``) + +* Development platform `TI MSP430 `__ + + + Upgrade development platform with the latest GCC toolchains and Energia + framework + (`issue #1 `__, + `issue #2 `__, + `issue #3 `__) + 3.1.0 (2016-09-19) ~~~~~~~~~~~~~~~~~~ * New! Dynamic variables/templates for `Project Configuration File "platformio.ini" `__ - (`issue #705 `_) + (`issue #705 `_) * Summary about processed environments - (`issue #777 `_) + (`issue #777 `_) * Implemented LocalCache system for API and improved a work in off-line mode * Improved Project Generator when custom ``--project-option`` is passed to `platformio init `__ @@ -18,9 +163,9 @@ PlatformIO 3.0 * Deprecated ``lib_force`` option, please use `lib_deps `__ instead * Return valid exit code from ``plaformio test`` command * Fixed Project Generator for CLion IDE using Windows OS - (`issue #785 `_) + (`issue #785 `_) * Fixed SSL Server-Name-Indication for Python < 2.7.9 - (`issue #774 `_) + (`issue #774 `_) ------- @@ -68,7 +213,7 @@ PlatformIO 3.0 ~~~~~~~~~~~~~~~~~~ * Disabled temporary SSL for PlatformIO services - (`issue #772 `_) + (`issue #772 `_) 3.0.0 (2016-09-07) ~~~~~~~~~~~~~~~~~~ @@ -76,8 +221,8 @@ PlatformIO 3.0 * `PlatformIO Plus `__ + Local and Embedded `Unit Testing `__ - (`issue #408 `_, - `issue #519 `_) + (`issue #408 `_, + `issue #519 `_) * Decentralized Development Platforms @@ -87,27 +232,27 @@ PlatformIO 3.0 development platforms and dependent packages + Custom package repositories + External embedded board configuration files, isolated build scripts - (`issue #479 `_) + (`issue #479 `_) + Embedded Board compatibility with more than one development platform - (`issue #456 `_) + (`issue #456 `_) * Library Manager 3.0 + Project dependencies per build environment using `lib_deps `__ option - (`issue #413 `_) + (`issue #413 `_) + `Semantic Versioning `__ for library commands and dependencies - (`issue #410 `_) + (`issue #410 `_) + Multiple library storages: Project's Local, PlatformIO's Global or Custom - (`issue #475 `_) + (`issue #475 `_) + Install library by name - (`issue #414 `_) + (`issue #414 `_) + Depend on a library using VCS URL (GitHub, Git, ARM mbed code registry, Hg, SVN) - (`issue #498 `_) + (`issue #498 `_) + Strict search for library dependencies - (`issue #588 `_) + (`issue #588 `_) + Allowed ``library.json`` to specify sources other than PlatformIO's Repository - (`issue #461 `_) + (`issue #461 `_) + Search libraries by headers/includes with ``platformio lib search --header`` option * New Intelligent Library Build System @@ -115,20 +260,20 @@ PlatformIO 3.0 + `Library Dependency Finder `__ that interprets C/C++ Preprocessor conditional macros with deep search behavior + Check library compatibility with project environment before building - (`issue #415 `_) + (`issue #415 `_) + Control Library Dependency Finder for compatibility using `lib_compat_mode `__ option + Custom library storages/directories with `lib_extra_dirs `__ option - (`issue #537 `_) + (`issue #537 `_) + Handle extra build flags, source filters and build script from `library.json `__ - (`issue #289 `_) + (`issue #289 `_) + Allowed to disable library archiving (``*.ar``) - (`issue #719 `_) + (`issue #719 `_) + Show detailed build information about dependent libraries - (`issue #617 `_) + (`issue #617 `_) + Support for the 3rd party manifests (Arduino IDE "library.properties" and ARM mbed "module.json") @@ -136,21 +281,21 @@ PlatformIO 3.0 * Switched to SSL PlatformIO API * Renamed ``platformio serialports`` command to ``platformio device`` * Build System: Attach custom Before/Pre and After/Post actions for targets - (`issue #542 `_) + (`issue #542 `_) * Allowed passing custom project configuration options to ``platformio ci`` and ``platformio init`` commands using ``-O, --project-option``. * Print human-readable information when processing environments without ``-v, --verbose`` option - (`issue #721 `_) + (`issue #721 `_) * Improved INO to CPP converter - (`issue #659 `_, - `issue #765 `_) + (`issue #659 `_, + `issue #765 `_) * Added ``license`` field to `library.json `__ - (`issue #522 `_) + (`issue #522 `_) * Warn about unknown options in project configuration file ``platformio.ini`` - (`issue #740 `_) + (`issue #740 `_) * Fixed wrong line number for INO file when ``#warning`` directive is used - (`issue #742 `_) + (`issue #742 `_) * Stopped supporting Python 2.6 ------ @@ -163,7 +308,7 @@ PlatformIO 3.0 * Development platform `Nordic nRF51 `__ + Added support for BBC micro:bit board - (`issue #709 `_) + (`issue #709 `_) * Development platform `ST STM32 `__ @@ -183,32 +328,32 @@ PlatformIO 2.0 ~~~~~~~~~~~~~~~~~~~ * Improved support for `Microchip PIC32 `__ development platform and ChipKIT boards - (`issue #438 `_) + (`issue #438 `_) * Added support for Pinoccio Scout board - (`issue #52 `_) + (`issue #52 `_) * Added support for `Teensy USB Features `__ (HID, SERIAL_HID, DISK, DISK_SDFLASH, MIDI, etc.) - (`issue #722 `_) + (`issue #722 `_) * Switched to built-in GCC LwIP library for Espressif development platform * Added support for local ``--echo`` for Serial Port Monitor - (`issue #733 `_) + (`issue #733 `_) * Updated ``udev`` rules for the new STM32F407DISCOVERY boards - (`issue #731 `_) + (`issue #731 `_) * Implemented firmware merging with base firmware for Nordic nRF51 development platform - (`issue #500 `_, - `issue #533 `_) + (`issue #500 `_, + `issue #533 `_) * Fixed Project Generator for ESP8266 and ARM mbed based projects (resolves incorrect linter errors) * Fixed broken LD Script for Element14 chipKIT Pi board - (`issue #725 `_) + (`issue #725 `_) * Fixed firmware uploading to Atmel SAMD21-XPRO board using ARM mbed framework - (`issue #732 `_) + (`issue #732 `_) 2.11.1 (2016-07-12) ~~~~~~~~~~~~~~~~~~~ * Added support for Arduino M0, M0 Pro and Tian boards - (`issue #472 `_) + (`issue #472 `_) * Added support for Microchip chipKIT Lenny board * Updated Microchip PIC32 Arduino framework to v1.2.1 * Documented `uploading of EEPROM data `__ @@ -216,7 +361,7 @@ PlatformIO 2.0 * Added ``Rebuild C/C++ Project Index`` target to CLion and Eclipse IDEs * Improved project generator for `CLion IDE `__ * Added ``udev`` rules for OpenOCD CMSIS-DAP adapters - (`issue #718 `_) + (`issue #718 `_) * Auto-remove project cache when PlatformIO is upgraded * Keep user changes for ``.gitignore`` file when re-generate/update project data * Ignore ``[platformio]`` section from custom project configuration file when @@ -224,28 +369,28 @@ PlatformIO 2.0 command is used * Fixed missed ``--boot`` flag for the firmware uploader for ATSAM3X8E Cortex-M3 MCU based boards (Arduino Due, etc) - (`issue #710 `_) + (`issue #710 `_) * Fixed missing trailing ``\`` for the source files list when generate project for `Qt Creator IDE `__ - (`issue #711 `_) + (`issue #711 `_) * Split source files to ``HEADERS`` and ``SOURCES`` when generate project for `Qt Creator IDE `__ - (`issue #713 `_) + (`issue #713 `_) 2.11.0 (2016-06-28) ~~~~~~~~~~~~~~~~~~~ * New ESP8266-based boards: Generic ESP8285 Module, Phoenix 1.0 & 2.0, WifInfo * Added support for Arduino M0 Pro board - (`issue #472 `_) + (`issue #472 `_) * Added support for Arduino MKR1000 board - (`issue #620 `_) + (`issue #620 `_) * Added support for Adafruit Feather M0, SparkFun SAMD21 and SparkFun SAMD21 Mini Breakout boards - (`issue #520 `_) + (`issue #520 `_) * Updated Arduino ESP8266 core for Espressif platform to 2.3.0 * Better removing unnecessary flags using ``build_unflags`` option - (`issue #698 `_) + (`issue #698 `_) * Fixed issue with ``platformio init --ide`` command for Python 2.6 2.10.3 (2016-06-15) @@ -259,7 +404,7 @@ PlatformIO 2.0 * Added support for ST Nucleo L031K6 board to ARM mbed framework * Process ``build_unflags`` option for ARM mbed framework * Updated Intel ARC32 Arduino framework to v1.0.6 - (`issue #695 `_) + (`issue #695 `_) * Improved a check of program size before uploading to the board * Fixed issue with ARM mbed framework ``-u _printf_float`` and ``-u _scanf_float`` when parsing ``$LINKFLAGS`` @@ -276,19 +421,19 @@ PlatformIO 2.0 * Added support for `emonPi `__, the OpenEnergyMonitor system - (`issue #687 `_) + (`issue #687 `_) * Added support for `SPL `__ framework for STM32F0 boards - (`issue #683 `_) + (`issue #683 `_) * Added support for `Arduboy DevKit `__, the game system the size of a credit card * Updated ARM mbed framework package to v121 * Check program size before uploading to the board - (`issue #689 `_) + (`issue #689 `_) * Improved firmware uploading to Arduino Leonardo based boards - (`issue #691 `_) + (`issue #691 `_) * Fixed issue with ``-L relative/path`` when parsing ``build_flags`` - (`issue #688 `_) + (`issue #688 `_) 2.9.4 (2016-06-04) ~~~~~~~~~~~~~~~~~~ @@ -300,166 +445,166 @@ PlatformIO 2.0 * Added support for `Arduboy `__, the game system the size of a credit card -* Updated `99-platformio-udev.rules `__ for Linux OS +* Updated `99-platformio-udev.rules `__ for Linux OS * Refactored firmware uploading to the embedded boards with SAM-BA bootloader 2.9.2 (2016-06-02) ~~~~~~~~~~~~~~~~~~ * Simplified `Continuous Integration with AppVeyor `__ - (`issue #671 `_) + (`issue #671 `_) * Automatically add source directory to ``CPPPATH`` of Build System * Added support for Silicon Labs SLSTK3401A (Pearl Gecko) and MultiTech mDot F411 ARM mbed based boards * Added support for MightyCore ATmega8535 board - (`issue #585 `_) + (`issue #585 `_) * Added ``stlink`` as the default uploader for STM32 Discovery boards - (`issue #665 `_) + (`issue #665 `_) * Use HTTP mirror for Package Manager in a case with SSL errors - (`issue #645 `_) + (`issue #645 `_) * Improved firmware uploading to Arduino Leonardo/Due based boards * Fixed bug with ``env_default`` when ``pio run -e`` is used * Fixed issue with ``src_filter`` option for Windows OS - (`issue #652 `_) + (`issue #652 `_) * Fixed configuration data for TI LaunchPads based on msp430fr4133 and msp430fr6989 MCUs - (`issue #676 `_) + (`issue #676 `_) * Fixed issue with ARM mbed framework and multiple definition errors on FRDM-KL46Z board - (`issue #641 `_) + (`issue #641 `_) * Fixed issue with ARM mbed framework when abstract class breaks compile for LPC1768 - (`issue #666 `_) + (`issue #666 `_) 2.9.1 (2016-04-30) ~~~~~~~~~~~~~~~~~~ * Handle prototype pointers while converting ``*.ino`` to ``.cpp`` - (`issue #639 `_) + (`issue #639 `_) 2.9.0 (2016-04-28) ~~~~~~~~~~~~~~~~~~ * Project generator for `CodeBlocks IDE `__ - (`issue #600 `_) + (`issue #600 `_) * New `Lattice iCE40 FPGA `__ development platform with support for Lattice iCEstick FPGA Evaluation Kit and BQ IceZUM Alhambra FPGA - (`issue #480 `_) + (`issue #480 `_) * New `Intel ARC 32-bit `_ development platform with support for Arduino/Genuino 101 board - (`issue #535 `_) + (`issue #535 `_) * New `Microchip PIC32 `__ development platform with support for 20+ different PIC32 based boards - (`issue #438 `_) + (`issue #438 `_) * New RTOS and build Framework named `Simba `__ - (`issue #412 `_) + (`issue #412 `_) * New boards for `ARM mbed `__ framework: ST Nucleo F410RB, ST Nucleo L073RZ and BBC micro:bit * Added support for Arduino.Org boards: Arduino Leonardo ETH, Arduino Yun Mini, Arduino Industrial 101 and Linino One - (`issue #472 `_) + (`issue #472 `_) * Added support for Generic ATTiny boards: ATTiny13, ATTiny24, ATTiny25, ATTiny45 and ATTiny85 - (`issue #636 `_) + (`issue #636 `_) * Added support for MightyCore boards: ATmega1284, ATmega644, ATmega324, ATmega164, ATmega32, ATmega16 and ATmega8535 - (`issue #585 `_) + (`issue #585 `_) * Added support for `TI MSP430 `__ boards: TI LaunchPad w/ msp430fr4133 and TI LaunchPad w/ msp430fr6989 * Updated Arduino core for Espressif platform to 2.2.0 - (`issue #627 `_) + (`issue #627 `_) * Updated native SDK for ESP8266 to 1.5 - (`issue #366 `_) + (`issue #366 `_) * PlatformIO Library Registry in JSON format! Implemented ``--json-output`` and ``--page`` options for `platformio lib search `__ command - (`issue #604 `_) + (`issue #604 `_) * Allowed to specify default environments `env_default `__ which should be processed by default with ``platformio run`` command - (`issue #576 `_) + (`issue #576 `_) * Allowed to unflag(remove) base/initial flags using `build_unflags `__ option - (`issue #559 `_) + (`issue #559 `_) * Allowed multiple VID/PID pairs when detecting serial ports - (`issue #632 `_) + (`issue #632 `_) * Automatically add ``-DUSB_MANUFACTURER`` with vendor's name - (`issue #631 `_) + (`issue #631 `_) * Automatically reboot Teensy board after upload when Teensy Loader GUI is used - (`issue #609 `_) + (`issue #609 `_) * Refactored source code converter from ``*.ino`` to ``*.cpp`` - (`issue #610 `_) + (`issue #610 `_) * Forced ``-std=gnu++11`` for Atmel SAM development platform - (`issue #601 `_) + (`issue #601 `_) * Don't check OS type for ARM mbed-enabled boards and ST STM32 development platform before uploading to disk - (`issue #596 `_) + (`issue #596 `_) * Fixed broken compilation for Atmel SAMD based boards except Arduino Due - (`issue #598 `_) + (`issue #598 `_) * Fixed firmware uploading using serial port with spaces in the path * Fixed cache system when project's root directory is used as ``src_dir`` - (`issue #635 `_) + (`issue #635 `_) 2.8.6 (2016-03-22) ~~~~~~~~~~~~~~~~~~ * Launched `PlatformIO Community Forums `_ - (`issue #530 `_) + (`issue #530 `_) * Added support for ARM mbed-enabled board Seed Arch Max (STM32F407VET6) - (`issue #572 `_) + (`issue #572 `_) * Improved DNS lookup for PlatformIO API * Updated Arduino Wiring-based framework to the latest version for Atmel AVR/SAM development platforms * Updated "Teensy Loader CLI" and fixed uploading of large .hex files - (`issue #568 `_) + (`issue #568 `_) * Updated the support for Sanguino Boards - (`issue #586 `_) + (`issue #586 `_) * Better handling of used boards when re-initialize/update project * Improved support for non-Unicode user profiles for Windows OS * Disabled progress bar for download operations when prompts are disabled * Fixed multiple definition errors for ST STM32 development platform and ARM mbed framework - (`issue #571 `_) + (`issue #571 `_) * Fixed invalid board parameters (reset method and baudrate) for a few ESP8266 based boards * Fixed "KeyError: 'content-length'" in PlatformIO Download Manager - (`issue #591 `_) + (`issue #591 `_) 2.8.5 (2016-03-07) ~~~~~~~~~~~~~~~~~~ * Project generator for `NetBeans IDE `__ - (`issue #541 `_) + (`issue #541 `_) * Created package for Homebrew Mac OS X Package Manager: ``brew install platformio`` - (`issue #395 `_) + (`issue #395 `_) * Updated Arduino core for Espressif platform to 2.1.0 - (`issue #544 `_) + (`issue #544 `_) * Added support for the ESP8266 ESP-07 board to `Espressif `__ - (`issue #527 `_) + (`issue #527 `_) * Improved handling of String-based ``CPPDEFINES`` passed to extra ``build_flags`` - (`issue #526 `_) + (`issue #526 `_) * Generate appropriate project for CLion IDE and CVS - (`issue #523 `_) + (`issue #523 `_) * Use ``src_dir`` directory from `Project Configuration File platformio.ini `__ when initializing project otherwise create base ``src`` directory - (`issue #536 `_) + (`issue #536 `_) * Fixed issue with incorrect handling of user's build flags where the base flags were passed after user's flags to GCC compiler - (`issue #528 `_) + (`issue #528 `_) * Fixed issue with Project Generator when optional build flags were passed using system environment variables: `PLATFORMIO_BUILD_FLAGS `__ or `PLATFORMIO_BUILD_SRC_FLAGS `__ * Fixed invalid detecting of compiler type - (`issue #550 `_) + (`issue #550 `_) * Fixed issue with updating package which was deleted manually by user - (`issue #555 `_) + (`issue #555 `_) * Fixed incorrect parsing of GCC ``-include`` flag - (`issue #552 `_) + (`issue #552 `_) 2.8.4 (2016-02-17) ~~~~~~~~~~~~~~~~~~ @@ -471,22 +616,22 @@ PlatformIO 2.0 * Added ``board_f_flash`` option to `Project Configuration File platformio.ini `__ which allows to specify `custom flash chip frequency `_ for Espressif development platform - (`issue #501 `_) + (`issue #501 `_) * Added ``board_flash_mode`` option to `Project Configuration File platformio.ini `__ which allows to specify `custom flash chip mode `_ for Espressif development platform * Handle new environment variables `PLATFORMIO_UPLOAD_PORT `_ and `PLATFORMIO_UPLOAD_FLAGS `_ - (`issue #518 `_) + (`issue #518 `_) * Fixed issue with ``CPPDEFINES`` which contain space and break PlatformIO IDE Linter (`IDE issue #34 `_) * Fixed unable to link C++ standard library to Espressif platform build - (`issue #503 `_) + (`issue #503 `_) * Fixed issue with pointer (``char* myfunc()``) while converting from ``*.ino`` to ``*.cpp`` - (`issue #506 `_) + (`issue #506 `_) 2.8.3 (2016-02-02) ~~~~~~~~~~~~~~~~~~ @@ -495,13 +640,13 @@ PlatformIO 2.0 * Fixed issue with removing temporary file while converting ``*.ino`` to ``*.cpp`` * Fixed missing dependency (mbed framework) for Atmel SAM development platform - (`issue #487 `_) + (`issue #487 `_) 2.8.2 (2016-01-29) ~~~~~~~~~~~~~~~~~~ * Corrected RAM size for NXP LPC1768 based boards - (`issue #484 `_) + (`issue #484 `_) * Exclude only ``test`` and ``tests`` folders from build process * Reverted ``-Wl,-whole-archive`` hook for ST STM32 and mbed @@ -515,20 +660,20 @@ PlatformIO 2.0 * `PlatformIO IDE `_ for Atom - (`issue #470 `_) + (`issue #470 `_) * Added ``pio`` command line alias for ``platformio`` command - (`issue #447 `_) + (`issue #447 `_) * Added SPL-Framework support for Nucleo F401RE board - (`issue #453 `_) + (`issue #453 `_) * Added ``upload_resetmethod`` option to `Project Configuration File platformio.ini `__ which allows to specify `custom upload reset method `_ for Espressif development platform - (`issue #444 `_) + (`issue #444 `_) * Allowed to force output of color ANSI-codes or to disable progress bar even if the output is a ``pipe`` (not a ``tty``) using `Environment variables `__ - (`issue #465 `_) + (`issue #465 `_) * Set 1Mb SPIFFS for Espressif boards by default - (`issue #458 `_) + (`issue #458 `_) * Exclude ``test*`` folder by default from build process * Generate project for IDEs with information about installed libraries * Fixed builder for mbed framework and ST STM32 platform @@ -538,23 +683,23 @@ PlatformIO 2.0 ~~~~~~~~~~~~~~~~~~ * Initial support for Arduino Zero board - (`issue #356 `_) + (`issue #356 `_) * Added support for completions to Atom text editor using ``.clang_complete`` * Generate default targets for `supported IDE `__ (CLion, Eclipse IDE, Emacs, Sublime Text, VIM): Build, Clean, Upload, Upload SPIFFS image, Upload using Programmer, Update installed platforms and libraries - (`issue #427 `_) + (`issue #427 `_) * Updated Teensy Arduino Framework to 1.27 - (`issue #434 `_) + (`issue #434 `_) * Fixed uploading of EEPROM data using ``uploadeep`` target for Atmel AVR development platform * Fixed project generator for CLion IDE - (`issue #422 `_) + (`issue #422 `_) * Fixed package ``shasum`` validation on Mac OS X 10.11.2 - (`issue #429 `_) + (`issue #429 `_) * Fixed CMakeLists.txt ``add_executable`` has only one source file - (`issue #421 `_) + (`issue #421 `_) 2.7.0 (2015-12-30) ~~~~~~~~~~~~~~~~~~ @@ -565,27 +710,27 @@ PlatformIO 2.0 installed in your system. Significantly simplified installation process of PlatformIO. ``pip install platformio`` rocks! * Implemented uploading files to file system of ESP8266 SPIFFS (including OTA) - (`issue #382 `_) + (`issue #382 `_) * Added support for the new Adafruit boards Bluefruit Micro and Feather - (`issue #403 `_) + (`issue #403 `_) * Added support for RFDuino - (`issue #319 `_) + (`issue #319 `_) * Project generator for `Emacs `__ text editor - (`pull #404 `_) + (`pull #404 `_) * Updated Arduino framework for Atmel AVR development platform to 1.6.7 * Documented `firmware uploading for Atmel AVR development platform using Programmers `_: AVR ISP, AVRISP mkII, USBtinyISP, USBasp, Parallel Programmer and Arduino as ISP * Fixed issue with current Python interpreter for Python-based tools - (`issue #417 `_) + (`issue #417 `_) 2.6.3 (2015-12-21) ~~~~~~~~~~~~~~~~~~ * Restored support for Espressif ESP8266 ESP-01 1MB board (ready for OTA) * Fixed invalid ROM size for ESP8266-based boards - (`issue #396 `_) + (`issue #396 `_) 2.6.2 (2015-12-21) ~~~~~~~~~~~~~~~~~~ @@ -593,7 +738,7 @@ PlatformIO 2.0 * Removed ``SCons`` from requirements list. PlatformIO will try to install it automatically, otherwise users need to install it manually * Fixed ``ChunkedEncodingError`` when SF connection is broken - (`issue #356 `_) + (`issue #356 `_) 2.6.1 (2015-12-18) ~~~~~~~~~~~~~~~~~~ @@ -606,36 +751,36 @@ PlatformIO 2.0 * Created public `platformio-pkg-ldscripts `_ repository for LD scripts. Moved common configuration for ESP8266 MCU to ``esp8266.flash.common.ld`` - (`issue #379 `_) + (`issue #379 `_) * Improved documentation for `Espressif `__ development platform: OTA update, custom Flash Size, Upload Speed and CPU frequency * Fixed reset method for Espressif NodeMCU (ESP-12E Module) - (`issue #380 `_) + (`issue #380 `_) * Fixed issue with code builder when build path contains spaces - (`issue #387 `_) + (`issue #387 `_) * Fixed project generator for Eclipse IDE and "duplicate path entries found in project path" - (`issue #383 `_) + (`issue #383 `_) 2.6.0 (2015-12-15) ~~~~~~~~~~~~~~~~~~ * Install only required packages depending on build environment - (`issue #308 `_) + (`issue #308 `_) * Added support for Raspberry Pi `WiringPi `__ framework - (`issue #372 `_) + (`issue #372 `_) * Implemented Over The Air (OTA) upgrades for `Espressif `__ development platform. - (`issue #365 `_) + (`issue #365 `_) * Updated `CMSIS framework `__ and added CMSIS support for Nucleo F401RE board - (`issue #373 `_) + (`issue #373 `_) * Added support for Espressif ESP8266 ESP-01-1MB board (ready for OTA) * Handle ``upload_flags`` option in `platformio.ini `__ - (`issue #368 `_) + (`issue #368 `_) * Improved PlatformIO installation on the Mac OS X El Capitan 2.5.0 (2015-12-08) @@ -644,10 +789,10 @@ PlatformIO 2.0 * Improved code builder for parallel builds (up to 4 times faster than before) * Generate `.travis.yml `__ CI and `.gitignore` files for embedded projects by default - (`issue #354 `_) + (`issue #354 `_) * Removed prompt with "auto-uploading" from `platformio init `__ command and added ``--enable-auto-uploading`` option - (`issue #352 `_) + (`issue #352 `_) * Fixed incorrect behaviour of `platformio serialports monitor `__ in pair with PySerial 3.0 @@ -663,78 +808,78 @@ PlatformIO 2.0 Atmel SAMD21-XPRO, ST 32F469IDISCOVERY, ST 32L476GDISCOVERY, ST Nucleo F031K6, ST Nucleo F042K6, ST Nucleo F303K8 and ST Nucleo L476RG * Updated Arduino core for Espressif platform to 2.0.0 - (`issue #345 `_) + (`issue #345 `_) * Added to FAQ explanation of `Can not compile a library that compiles without issue with Arduino IDE `_ - (`issue #331 `_) + (`issue #331 `_) * Fixed ESP-12E flash size - (`pull #333 `_) + (`pull #333 `_) * Fixed configuration for LowPowerLab MoteinoMEGA board - (`issue #335 `_) + (`issue #335 `_) * Fixed "LockFailed: failed to create appstate.json.lock" error for Windows * Fixed relative include path for preprocessor using ``build_flags`` - (`issue #271 `_) + (`issue #271 `_) 2.3.5 (2015-11-18) ~~~~~~~~~~~~~~~~~~ * Added support of `libOpenCM3 `_ framework for Nucleo F103RB board - (`issue #309 `_) + (`issue #309 `_) * Added support for Espressif ESP8266 ESP-12E board (NodeMCU) - (`issue #310 `_) + (`issue #310 `_) * Added support for pySerial 3.0 - (`issue #307 `_) + (`issue #307 `_) * Updated Arduino AVR/SAM frameworks to 1.6.6 - (`issue #321 `_) + (`issue #321 `_) * Upload firmware using external programmer via `platformio run --target program `__ target - (`issue #311 `_) + (`issue #311 `_) * Fixed handling of upload port when ``board`` option is not specified in `platformio.ini `__ - (`issue #313 `_) + (`issue #313 `_) * Fixed firmware uploading for `nordicrf51 `__ development platform - (`issue #316 `_) + (`issue #316 `_) * Fixed installation on Mac OS X El Capitan - (`issue #312 `_) + (`issue #312 `_) * Fixed project generator for CLion IDE under Windows OS with invalid path to executable - (`issue #326 `_) + (`issue #326 `_) * Fixed empty list with serial ports on Mac OS X - (`isge #294 `_) + (`isge #294 `_) * Fixed compilation error ``TWI_Disable not declared`` for Arduino Due board - (`issue #329 `_) + (`issue #329 `_) 2.3.4 (2015-10-13) ~~~~~~~~~~~~~~~~~~ * Full support of `CLion IDE `_ including code auto-completion - (`issue #132 `_) + (`issue #132 `_) * PlatformIO `command completion in Terminal `_ for ``bash`` and ``zsh`` * Added support for ubIQio Ardhat board - (`pull #302 `_) + (`pull #302 `_) * Install SCons automatically and avoid ``error: option --single-version-externally-managed not recognized`` - (`issue #279 `_) + (`issue #279 `_) * Use Teensy CLI Loader for upload of .hex files on Mac OS X - (`issue #306 `_) + (`issue #306 `_) * Fixed missing `framework-mbed `_ package for `teensy `_ platform - (`issue #305 `_) + (`issue #305 `_) 2.3.3 (2015-10-02) ~~~~~~~~~~~~~~~~~~ * Added support for LightBlue Bean board - (`pull #292 `_) + (`pull #292 `_) * Added support for ST Nucleo F446RE board - (`pull #293 `_) + (`pull #293 `_) * Fixed broken lock file for "appstate" storage - (`issue #288 `_) + (`issue #288 `_) * Fixed ESP8266 compile errors about RAM size when adding 1 library - (`issue #296 `_) + (`issue #296 `_) 2.3.2 (2015-09-10) ~~~~~~~~~~~~~~~~~~ @@ -744,19 +889,19 @@ PlatformIO 2.0 ``readme.txt`` which will be automatically generated using `platformio init `__ command - (`issue #273 `_) + (`issue #273 `_) * Found solution for "pip/scons error: option --single-version-externally-managed not recognized" when install PlatformIO using ``pip`` package manager - (`issue #279 `_) + (`issue #279 `_) * Fixed firmware uploading to Arduino Leonardo board using Mac OS - (`issue #287 `_) + (`issue #287 `_) * Fixed `SConsNotInstalled` error for Linux Debian-based distributives 2.3.1 (2015-09-06) ~~~~~~~~~~~~~~~~~~ * Fixed critical issue when `platformio init --ide `__ command hangs PlatformIO - (`issue #283 `_) + (`issue #283 `_) 2.3.0 (2015-09-05) ~~~~~~~~~~~~~~~~~~ @@ -768,12 +913,12 @@ PlatformIO 2.0 `linux_x86_64 `__, `windows_x86 `__ development platforms - (`issue #263 `_) + (`issue #263 `_) * Added `PlatformIO Demo `_ page to documentation * Simplified `installation `__ process of PlatformIO - (`issue #274 `_) + (`issue #274 `_) * Significantly improved `Project Generator `__ which allows to integrate with `the most popular IDE `__ * Added short ``-h`` help option for PlatformIO and sub-commands @@ -781,61 +926,61 @@ PlatformIO 2.0 framework * Updated ``tool-teensy`` package for `Teensy `__ platform - (`issue #268 `_) + (`issue #268 `_) * Added FAQ answer when `Program "platformio" not found in PATH `_ - (`issue #272 `_) + (`issue #272 `_) * Generate "readme.txt" for project "lib" directory - (`issue #273 `_) + (`issue #273 `_) * Use toolchain's includes pattern ``include*`` for Project Generator - (`issue #277 `_) + (`issue #277 `_) * Added support for Adafruit Gemma board to `atmelavr `__ platform - (`pull #256 `_) + (`pull #256 `_) * Fixed includes list for Windows OS when generating project for `Eclipse IDE `__ - (`issue #270 `_) + (`issue #270 `_) * Fixed ``AttributeError: 'module' object has no attribute 'packages'`` - (`issue #252 `_) + (`issue #252 `_) 2.2.2 (2015-07-30) ~~~~~~~~~~~~~~~~~~ * Integration with `Atom IDE `__ * Support for off-line/unpublished/private libraries - (`issue #260 `_) + (`issue #260 `_) * Disable project auto-clean while building/uploading firmware using `platformio run --disable-auto-clean `_ option - (`issue #255 `_) + (`issue #255 `_) * Show internal errors from "Miniterm" using `platformio serialports monitor `__ command - (`issue #257 `_) + (`issue #257 `_) * Fixed `platformio serialports monitor --help `__ information with HEX char for hotkeys - (`issue #253 `_) + (`issue #253 `_) * Handle "OSError: [Errno 13] Permission denied" for PlatformIO installer script - (`issue #254 `_) + (`issue #254 `_) 2.2.1 (2015-07-17) ~~~~~~~~~~~~~~~~~~ * Project generator for `CLion IDE `__ - (`issue #132 `_) + (`issue #132 `_) * Updated ``tool-bossac`` package to 1.5 version for `atmelsam `__ platform - (`issue #251 `_) + (`issue #251 `_) * Updated ``sdk-esp8266`` package for `espressif `__ platform * Fixed incorrect arguments handling for `platformio serialports monitor `_ command - (`issue #248 `_) + (`issue #248 `_) 2.2.0 (2015-07-01) ~~~~~~~~~~~~~~~~~~ * Allowed to exclude/include source files from build process using `src_filter `__ - (`issue #240 `_) + (`issue #240 `_) * Launch own extra script before firmware building/uploading processes - (`issue #239 `_) + (`issue #239 `_) * Specify own path to the linker script (ld) using `build_flags `__ option - (`issue #233 `_) + (`issue #233 `_) * Specify library compatibility with the all platforms/frameworks using ``*`` symbol in `library.json `__ @@ -845,15 +990,15 @@ PlatformIO 2.0 `Framework Arduino (AVR, SAM, Espressif and Teensy cores `__, `Framework mbed `__, `Espressif ESP8266 SDK `__ - (`issue #246 `_) + (`issue #246 `_) * Fixed ``stk500v2_command(): command failed`` - (`issue #238 `_) + (`issue #238 `_) * Fixed IDE project generator when board is specified - (`issue #242 `_) + (`issue #242 `_) * Fixed relative path for includes when generating project for IDE - (`issue #243 `_) + (`issue #243 `_) * Fixed ESP8266 native SDK exception - (`issue #245 `_) + (`issue #245 `_) 2.1.2 (2015-06-21) ~~~~~~~~~~~~~~~~~~ @@ -864,29 +1009,29 @@ PlatformIO 2.0 ~~~~~~~~~~~~~~~~~~ * Automatically detect upload port using VID:PID board settings - (`issue #231 `_) + (`issue #231 `_) * Improved detection of build changes * Avoided ``LibInstallDependencyError`` when more than 1 library is found - (`issue #229 `_) + (`issue #229 `_) 2.1.0 (2015-06-03) ~~~~~~~~~~~~~~~~~~ * Added Silicon Labs EFM32 `siliconlabsefm32 `_ development platform - (`issue #226 `_) + (`issue #226 `_) * Integrate PlatformIO with `Circle CI `_ and `Shippable CI `_ * Described in documentation how to `create/register own board `_ for PlatformIO * Disabled "nano.specs" for ARM-based platforms - (`issue #219 `_) + (`issue #219 `_) * Fixed "ConnectionError" when PlatformIO SF Storage is off-line * Fixed resolving of C/C++ std libs by Eclipse IDE - (`issue #220 `_) + (`issue #220 `_) * Fixed firmware uploading using USB programmer (USBasp) for `atmelavr `_ platform - (`issue #221 `_) + (`issue #221 `_) 2.0.2 (2015-05-27) ~~~~~~~~~~~~~~~~~~ @@ -901,18 +1046,18 @@ PlatformIO 2.0 * Pass to API requests information about Continuous Integration system. This information will be used by PlatformIO-API. * Use ``include`` directories from toolchain when initialising project for IDE - (`issue #210 `_) + (`issue #210 `_) * Added support for new WildFire boards from `Wicked Device `_ to `atmelavr `__ platform * Updated `Arduino Framework `__ to - 1.6.4 version (`issue #212 `_) + 1.6.4 version (`issue #212 `_) * Handle Atmel AVR Symbols when initialising project for IDE - (`issue #216 `_) + (`issue #216 `_) * Fixed bug with converting ``*.ino`` to ``*.cpp`` * Fixed failing with ``platformio init --ide eclipse`` without boards - (`issue #217 `_) + (`issue #217 `_) 2.0.0 (2015-05-22) ~~~~~~~~~~~~~~~~~~ @@ -921,46 +1066,46 @@ PlatformIO 2.0 * PlatformIO as `Continuous Integration `_ (CI) tool for embedded projects - (`issue #108 `_) + (`issue #108 `_) * Initialise PlatformIO project for the specified IDE - (`issue #151 `_) + (`issue #151 `_) * PlatformIO CLI 2.0: "platform" related commands have been moved to ``platformio platforms`` subcommand - (`issue #158 `_) + (`issue #158 `_) * Created `PlatformIO gitter.im `_ room - (`issue #174 `_) + (`issue #174 `_) * Global ``-f, --force`` option which will force to accept any confirmation prompts - (`issue #152 `_) + (`issue #152 `_) * Run project with `platformio run --project-dir `_ option without changing the current working directory - (`issue #192 `_) + (`issue #192 `_) * Control verbosity of `platformio run `_ command via ``-v/--verbose`` option * Add library dependencies for build environment using `lib_install `_ option in ``platformio.ini`` - (`issue #134 `_) + (`issue #134 `_) * Specify libraries which are compatible with build environment using `lib_use `_ option in ``platformio.ini`` - (`issue #148 `_) + (`issue #148 `_) * Add more boards to PlatformIO project with `platformio init --board `__ command - (`issue #167 `_) + (`issue #167 `_) * Choose which library to update - (`issue #168 `_) + (`issue #168 `_) * Specify `platformio init --env-prefix `__ when initialise/update project - (`issue #182 `_) + (`issue #182 `_) * Added new Armstrap boards - (`issue #204 `_) + (`issue #204 `_) * Updated SDK for `espressif `__ development platform to v1.1 - (`issue #179 `_) + (`issue #179 `_) * Disabled automatic updates by default for platforms, packages and libraries - (`issue #171 `_) + (`issue #171 `_) * Fixed bug with creating copies of source files - (`issue #177 `_) + (`issue #177 `_) PlatformIO 1.0 -------------- @@ -970,23 +1115,23 @@ PlatformIO 1.0 * Added support of `Framework mbed `_ for Teensy 3.1 - (`issue #183 `_) + (`issue #183 `_) * Added GDB as alternative uploader to `ststm32 `__ platform - (`issue #175 `_) + (`issue #175 `_) * Added `examples `__ with preconfigured IDE projects - (`issue #154 `_) + (`issue #154 `_) * Fixed firmware uploading under Linux OS for Arduino Leonardo board - (`issue #178 `_) + (`issue #178 `_) * Fixed invalid "mbed" firmware for Nucleo F411RE - (`issue #185 `_) + (`issue #185 `_) * Fixed parsing of includes for PlatformIO Library Dependency Finder - (`issue #189 `_) + (`issue #189 `_) * Fixed handling symbolic links within source code directory - (`issue #190 `_) + (`issue #190 `_) * Fixed cancelling any previous definition of name, either built in or provided with a ``-D`` option - (`issue #191 `_) + (`issue #191 `_) 1.4.0 (2015-04-11) ~~~~~~~~~~~~~~~~~~ @@ -994,7 +1139,7 @@ PlatformIO 1.0 * Added `espressif `_ development platform with ESP01 board * Integrated PlatformIO with AppVeyor Windows based Continuous Integration system - (`issue #149 `_) + (`issue #149 `_) * Added support for Teensy LC board to `teensy `__ platform @@ -1003,13 +1148,13 @@ PlatformIO 1.0 `atmelavr `__ platform * Upgraded `Arduino Framework `__ to - 1.6.3 version (`issue #156 `_) + 1.6.3 version (`issue #156 `_) * Upgraded `Energia Framework `__ to - 0101E0015 version (`issue #146 `_) + 0101E0015 version (`issue #146 `_) * Upgraded `Arduino Framework with Teensy Core `_ to 1.22 version - (`issue #162 `_, - `issue #170 `_) + (`issue #162 `_, + `issue #170 `_) * Fixed exceptions with PlatformIO auto-updates when Internet connection isn't active @@ -1019,19 +1164,19 @@ PlatformIO 1.0 * Moved PlatformIO source code and repositories from `Ivan Kravets `_ account to `PlatformIO Organisation `_ - (`issue #138 `_) + (`issue #138 `_) * Added support for new Arduino based boards by *SparkFun, RepRap, Sanguino* to `atmelavr `__ platform - (`issue #127 `_, - `issue #131 `_) + (`issue #127 `_, + `issue #131 `_) * Added integration instructions for `Visual Studio `_ and `Sublime Text `_ IDEs * Improved handling of multi-file ``*.ino/pde`` sketches - (`issue #130 `_) + (`issue #130 `_) * Fixed wrong insertion of function prototypes converting ``*.ino/pde`` - (`issue #137 `_, - `issue #140 `_) + (`issue #137 `_, + `issue #140 `_) @@ -1054,10 +1199,10 @@ PlatformIO 1.0 development platform * Created new `Frameworks `__ page in documentation and added to `PlatformIO Web Site `_ - (`issue #115 `_) + (`issue #115 `_) * Introduced online `Embedded Boards Explorer `_ * Automatically append define ``-DPLATFORMIO=%version%`` to - builder (`issue #105 `_) + builder (`issue #105 `_) * Renamed ``stm32`` development platform to `ststm32 `__ * Renamed ``opencm3`` framework to @@ -1065,13 +1210,13 @@ PlatformIO 1.0 * Fixed uploading for `atmelsam `__ development platform * Fixed re-arranging the ``*.ino/pde`` files when converting to ``*.cpp`` - (`issue #100 `_) + (`issue #100 `_) 1.1.0 (2015-03-05) ~~~~~~~~~~~~~~~~~~ * Implemented ``PLATFORMIO_*`` environment variables - (`issue #102 `_) + (`issue #102 `_) * Added support for *SainSmart* boards to `atmelsam `__ development platform @@ -1079,11 +1224,11 @@ PlatformIO 1.0 `Project Configuration `__ option named `envs_dir `__ * Disabled "prompts" automatically for *Continuous Integration* systems - (`issue #103 `_) + (`issue #103 `_) * Fixed firmware uploading for `atmelavr `__ boards which work within ``usbtiny`` protocol -* Fixed uploading for *Digispark* board (`issue #106 `_) +* Fixed uploading for *Digispark* board (`issue #106 `_) 1.0.1 (2015-02-27) ~~~~~~~~~~~~~~~~~~ @@ -1096,14 +1241,14 @@ PlatformIO 1.0 `BeagleBone `_ and `CubieBoard `_ * Added `atmelsam `__ development platform with supported boards: *Arduino Due and Digistump DigiX* - (`issue #71 `_) + (`issue #71 `_) * Added `ststm32 `__ development platform with supported boards: *Discovery kit for STM32L151/152, STM32F303xx, STM32F407/417 lines* and `libOpenCM3 Framework `_ - (`issue #73 `_) + (`issue #73 `_) * Added `teensy `_ development platform with supported boards: *Teensy 2.x & 3.x* - (`issue #72 `_) + (`issue #72 `_) * Added new *Arduino* boards to `atmelavr `__ platform: *Arduino NG, Arduino BT, Arduino Esplora, Arduino Ethernet, @@ -1111,46 +1256,46 @@ PlatformIO 1.0 * Added support for *Adafruit* boards to `atmelavr `__ platform: *Adafruit Flora and Adafruit Trinkets* - (`issue #65 `_) + (`issue #65 `_) * Added support for *Digispark* boards to `atmelavr `__ platform: *Digispark USB Development Board and Digispark Pro* - (`issue #47 `_) -* Covered code with tests (`issue #2 `_) + (`issue #47 `_) +* Covered code with tests (`issue #2 `_) * Refactored *Library Dependency Finder* (issues - `#48 `_, - `#50 `_, - `#55 `_) + `#48 `_, + `#50 `_, + `#55 `_) * Added `src_dir `__ option to ``[platformio]`` section of `platformio.ini `__ which allows to redefine location to project's source directory - (`issue #83 `_) + (`issue #83 `_) * Added ``--json-output`` option to `platformio boards `__ and `platformio search `__ commands which allows to return the output in `JSON `_ format - (`issue #42 `_) + (`issue #42 `_) * Allowed to ignore some libs from *Library Dependency Finder* via `lib_ignore `_ option * Improved `platformio run `__ command: asynchronous output for build process, timing and detailed information about environment configuration - (`issue #74 `_) + (`issue #74 `_) * Output compiled size and static memory usage with `platformio run `__ - command (`issue #59 `_) + command (`issue #59 `_) * Updated `framework-arduino` AVR & SAM to 1.6 stable version * Fixed an issue with the libraries that are git repositories - (`issue #49 `_) + (`issue #49 `_) * Fixed handling of assembly files - (`issue #58 `_) + (`issue #58 `_) * Fixed compiling error if space is in user's folder - (`issue #56 `_) + (`issue #56 `_) * Fixed `AttributeError: 'module' object has no attribute 'disable_warnings'` when a version of `requests` package is less then 2.4.0 * Fixed bug with invalid process's "return code" when PlatformIO has internal - error (`issue #81 `_) + error (`issue #81 `_) * Several bug fixes, increased stability and performance improvements PlatformIO 0.0 @@ -1160,10 +1305,10 @@ PlatformIO 0.0 ~~~~~~~~~~~~~~~~~~~ * Fixed an issue with ``--json-output`` - (`issue #42 `_) + (`issue #42 `_) * Fixed an exception during `platformio upgrade `__ - under Windows OS (`issue #45 `_) + under Windows OS (`issue #45 `_) 0.10.1 (2015-01-02) ~~~~~~~~~~~~~~~~~~~ @@ -1173,7 +1318,7 @@ PlatformIO 0.0 `platformio serialports list `__ and `platformio lib list `__ commands which allows to return the output in `JSON `_ format - (`issue #42 `_) + (`issue #42 `_) * Fixed missing auto-uploading by default after `platformio init `__ command @@ -1183,30 +1328,30 @@ PlatformIO 0.0 **Happy New Year!** * Implemented `platformio boards `_ - command (`issue #11 `_) + command (`issue #11 `_) * Added support of *Engduino* boards for `atmelavr `__ - platform (`issue #38 `_) + platform (`issue #38 `_) * Added ``--board`` option to `platformio init `__ command which allows to initialise project with the specified embedded boards - (`issue #21 `_) + (`issue #21 `_) * Added `example with uploading firmware `_ via USB programmer (USBasp) for `atmelavr `_ - *MCUs* (`issue #35 `_) + *MCUs* (`issue #35 `_) * Automatic detection of port on `platformio serialports monitor `_ - (`issue #37 `_) -* Allowed auto-installation of platforms when prompts are disabled (`issue #43 `_) -* Fixed urllib3's *SSL* warning under Python <= 2.7.2 (`issue #39 `_) -* Fixed bug with *Arduino USB* boards (`issue #40 `_) + (`issue #37 `_) +* Allowed auto-installation of platforms when prompts are disabled (`issue #43 `_) +* Fixed urllib3's *SSL* warning under Python <= 2.7.2 (`issue #39 `_) +* Fixed bug with *Arduino USB* boards (`issue #40 `_) 0.9.2 (2014-12-10) ~~~~~~~~~~~~~~~~~~ -* Replaced "dark blue" by "cyan" colour for the texts (`issue #33 `_) +* Replaced "dark blue" by "cyan" colour for the texts (`issue #33 `_) * Added new setting ``enable_prompts`` and allowed to disable all *PlatformIO* prompts (useful for cloud compilers) - (`issue #34 `_) -* Fixed compilation bug on *Windows* with installed *MSVC* (`issue #18 `_) + (`issue #34 `_) +* Fixed compilation bug on *Windows* with installed *MSVC* (`issue #18 `_) 0.9.1 (2014-12-05) ~~~~~~~~~~~~~~~~~~ @@ -1219,7 +1364,7 @@ PlatformIO 0.0 `platformio run `__ command when PlatformIO isn't installed properly * Fixed example for `Eclipse IDE with Tiva board `_ - (`issue #32 `_) + (`issue #32 `_) * Upgraded `Eclipse Project Examples `_ to latest *Luna* and *PlatformIO* releases @@ -1229,7 +1374,7 @@ PlatformIO 0.0 * Implemented `platformio settings `_ command * Improved `platformio init `_ command. Added new option ``--project-dir`` where you can specify another path to - directory where new project will be initialized (`issue #31 `_) + directory where new project will be initialized (`issue #31 `_) * Added *Migration Manager* which simplifies process with upgrading to a major release * Added *Telemetry Service* which should help us make *PlatformIO* better @@ -1237,9 +1382,9 @@ PlatformIO 0.0 ``.platformio`` states. * Refactored *Package Manager* * Download Manager: fixed SHA1 verification within *Cygwin Environment* - (`issue #26 `_) + (`issue #26 `_) * Fixed bug with code builder and built-in Arduino libraries - (`issue #28 `_) + (`issue #28 `_) 0.8.0 (2014-10-19) ~~~~~~~~~~~~~~~~~~ @@ -1248,7 +1393,7 @@ PlatformIO 0.0 with the new fields: `frameworks `_, `platforms `_ and `dependencies `_ - (`issue #17 `_) + (`issue #17 `_) * Switched logic from "Library Name" to "Library Registry ID" for all `platformio lib `_ commands (install, uninstall, update and etc.) @@ -1262,8 +1407,8 @@ PlatformIO 0.0 ~~~~~~~~~~~~~~~~~~ * Fixed bug with order for includes in conversation from INO/PDE to CPP -* Automatic detection of port on upload (`issue #15 `_) -* Fixed lib update crashing when no libs are installed (`issue #19 `_) +* Automatic detection of port on upload (`issue #15 `_) +* Fixed lib update crashing when no libs are installed (`issue #19 `_) 0.7.0 (2014-09-24) @@ -1271,14 +1416,14 @@ PlatformIO 0.0 * Implemented new `[platformio] `_ section for Configuration File with `home_dir `_ - option (`issue #14 `_) -* Implemented *Library Manager* (`issue #6 `_) + option (`issue #14 `_) +* Implemented *Library Manager* (`issue #6 `_) 0.6.0 (2014-08-09) ~~~~~~~~~~~~~~~~~~ -* Implemented `platformio serialports monitor `_ (`issue #10 `_) -* Fixed an issue ``ImportError: No module named platformio.util`` (`issue #9 `_) +* Implemented `platformio serialports monitor `_ (`issue #10 `_) +* Fixed an issue ``ImportError: No module named platformio.util`` (`issue #9 `_) * Fixed bug with auto-conversation from Arduino \*.ino to \*.cpp 0.5.0 (2014-08-04) @@ -1287,12 +1432,12 @@ PlatformIO 0.0 * Improved nested lookups for libraries * Disabled default warning flag "-Wall" * Added auto-conversation from \*.ino to valid \*.cpp for Arduino/Energia - frameworks (`issue #7 `_) + frameworks (`issue #7 `_) * Added `Arduino example `_ with external library (*Adafruit CC3000*) * Implemented `platformio upgrade `_ command and "auto-check" for the latest - version (`issue #8 `_) + version (`issue #8 `_) * Fixed an issue with "auto-reset" for *Raspduino* board * Fixed a bug with nested libs building @@ -1327,15 +1472,15 @@ PlatformIO 0.0 * Allowed to pass multiple "SomePlatform" to install/uninstall commands * Added "IDE Integration" section to README with Eclipse project examples -* Created auto installer script for *PlatformIO* (`issue #3 `_) +* Created auto installer script for *PlatformIO* (`issue #3 `_) * Added "Super-Quick" way to Installation section (README) -* Implemented "build_flags" option for environments (`issue #4 `_) +* Implemented "build_flags" option for environments (`issue #4 `_) 0.2.0 (2014-06-15) ~~~~~~~~~~~~~~~~~~ -* Resolved `issue #1 "Build referred libraries" `_ +* Resolved `issue #1 "Build referred libraries" `_ * Renamed project's "libs" directory to "lib" * Added `arduino-internal-library `_ example * Changed to beta status diff --git a/README.rst b/README.rst index a5e512d5..07adc48b 100644 --- a/README.rst +++ b/README.rst @@ -1,14 +1,12 @@ PlatformIO ========== -.. image:: https://travis-ci.org/platformio/platformio.svg?branch=develop - :target: https://travis-ci.org/platformio/platformio +.. image:: https://travis-ci.org/platformio/platformio-core.svg?branch=develop + :target: https://travis-ci.org/platformio/platformio-core :alt: Travis.CI Build Status -.. image:: https://ci.appveyor.com/api/projects/status/dku0h2rutfj0ctls/branch/develop?svg=true - :target: https://ci.appveyor.com/project/ivankravets/platformio +.. image:: https://ci.appveyor.com/api/projects/status/unnpw0n3c5k14btn/branch/develop?svg=true + :target: https://ci.appveyor.com/project/ivankravets/platformio-core :alt: AppVeyor.CI Build Status -.. image:: https://codecov.io/gh/platformio/platformio/branch/develop/graph/badge.svg - :target: https://codecov.io/gh/platformio/platformio .. image:: https://requires.io/github/platformio/platformio/requirements.svg?branch=develop :target: https://requires.io/github/platformio/platformio/requirements/?branch=develop :alt: Requirements Status @@ -31,15 +29,15 @@ PlatformIO `Project Examples `_ | `Docs `_ | `Donate `_ | -`Contact Us `_ +`Contact Us `_ **Social:** `Twitter `_ | `Facebook `_ | `Hackaday `_ | `Bintray `_ | -`Community `_ | +`Community `_ -.. image:: https://raw.githubusercontent.com/platformio/platformio/develop/docs/_static/platformio-logo.png +.. image:: http://docs.platformio.org/en/stable/_static/platformio-logo.png :target: http://platformio.org `PlatformIO `_ is an open source ecosystem for IoT @@ -49,7 +47,7 @@ IDE integration. Arduino, ESP8266 and ARM mbed compatible * **PlatformIO IDE** - The next-generation integrated development environment for IoT. C/C++ Intelligent Code Completion and Smart Code Linter for the super-fast coding. Multi-projects workflow with Multiple Panes. Themes Support with dark and light colors. - Built-in Terminal with PlatformIO CLI tool and support for the powerful Serial Port Monitor. + Built-in Terminal with PlatformIO Core tool and support for the powerful Serial Port Monitor. All advanced instruments without leaving your favourite development environment. * **Development Platforms** - Embedded and Desktop development platforms with pre-built toolchains, debuggers, uploaders and frameworks which work under @@ -66,7 +64,7 @@ IDE integration. Arduino, ESP8266 and ARM mbed compatible Microchip PIC32, Nordic nRF51, NXP LPC, Silicon Labs EFM32, ST STM32, TI MSP430 & Tiva, Teensy, Arduino, mbed, libOpenCM3, etc.* -.. image:: https://raw.githubusercontent.com/platformio/platformio/develop/docs/_static/platformio-demo-wiring.gif +.. image:: http://docs.platformio.org/en/stable/_static/platformio-demo-wiring.gif :target: http://platformio.org * `PlatformIO Plus and professional solutions `_ diff --git a/docs b/docs new file mode 160000 index 00000000..3c9020db --- /dev/null +++ b/docs @@ -0,0 +1 @@ +Subproject commit 3c9020db7047e77d70ba12dee115c7edc4cc2025 diff --git a/docs/Makefile b/docs/Makefile deleted file mode 100644 index f5ea2385..00000000 --- a/docs/Makefile +++ /dev/null @@ -1,177 +0,0 @@ -# Makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -PAPER = -BUILDDIR = _build - -# User-friendly check for sphinx-build -ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) -$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) -endif - -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . -# the i18n builder cannot share the environment and doctrees with the others -I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . - -.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext - -help: - @echo "Please use \`make ' where is one of" - @echo " html to make standalone HTML files" - @echo " dirhtml to make HTML files named index.html in directories" - @echo " singlehtml to make a single large HTML file" - @echo " pickle to make pickle files" - @echo " json to make JSON files" - @echo " htmlhelp to make HTML files and a HTML help project" - @echo " qthelp to make HTML files and a qthelp project" - @echo " devhelp to make HTML files and a Devhelp project" - @echo " epub to make an epub" - @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" - @echo " latexpdf to make LaTeX files and run them through pdflatex" - @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" - @echo " text to make text files" - @echo " man to make manual pages" - @echo " texinfo to make Texinfo files" - @echo " info to make Texinfo files and run them through makeinfo" - @echo " gettext to make PO message catalogs" - @echo " changes to make an overview of all changed/added/deprecated items" - @echo " xml to make Docutils-native XML files" - @echo " pseudoxml to make pseudoxml-XML files for display purposes" - @echo " linkcheck to check all external links for integrity" - @echo " doctest to run all doctests embedded in the documentation (if enabled)" - -clean: - rm -rf $(BUILDDIR)/* - -html: - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." - -dirhtml: - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." - -singlehtml: - $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml - @echo - @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." - -pickle: - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle - @echo - @echo "Build finished; now you can process the pickle files." - -json: - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json - @echo - @echo "Build finished; now you can process the JSON files." - -htmlhelp: - $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp - @echo - @echo "Build finished; now you can run HTML Help Workshop with the" \ - ".hhp project file in $(BUILDDIR)/htmlhelp." - -qthelp: - $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp - @echo - @echo "Build finished; now you can run "qcollectiongenerator" with the" \ - ".qhcp project file in $(BUILDDIR)/qthelp, like this:" - @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/PlatformIO.qhcp" - @echo "To view the help file:" - @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/PlatformIO.qhc" - -devhelp: - $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp - @echo - @echo "Build finished." - @echo "To view the help file:" - @echo "# mkdir -p $$HOME/.local/share/devhelp/PlatformIO" - @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/PlatformIO" - @echo "# devhelp" - -epub: - $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub - @echo - @echo "Build finished. The epub file is in $(BUILDDIR)/epub." - -latex: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo - @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." - @echo "Run \`make' in that directory to run these through (pdf)latex" \ - "(use \`make latexpdf' here to do that automatically)." - -latexpdf: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through pdflatex..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -latexpdfja: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through platex and dvipdfmx..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -text: - $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text - @echo - @echo "Build finished. The text files are in $(BUILDDIR)/text." - -man: - $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man - @echo - @echo "Build finished. The manual pages are in $(BUILDDIR)/man." - -texinfo: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo - @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." - @echo "Run \`make' in that directory to run these through makeinfo" \ - "(use \`make info' here to do that automatically)." - -info: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo "Running Texinfo files through makeinfo..." - make -C $(BUILDDIR)/texinfo info - @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." - -gettext: - $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale - @echo - @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." - -changes: - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes - @echo - @echo "The overview file is in $(BUILDDIR)/changes." - -linkcheck: - $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck - @echo - @echo "Link check complete; look for any errors in the above output " \ - "or in $(BUILDDIR)/linkcheck/output.txt." - -doctest: - $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest - @echo "Testing of doctests in the sources finished, look at the " \ - "results in $(BUILDDIR)/doctest/output.txt." - -xml: - $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml - @echo - @echo "Build finished. The XML files are in $(BUILDDIR)/xml." - -pseudoxml: - $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml - @echo - @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." diff --git a/docs/_static/ci-travis-logo.png b/docs/_static/ci-travis-logo.png deleted file mode 100644 index 7a684634..00000000 Binary files a/docs/_static/ci-travis-logo.png and /dev/null differ diff --git a/docs/_static/clang-installer-add-path.png b/docs/_static/clang-installer-add-path.png deleted file mode 100644 index 8d5d9da6..00000000 Binary files a/docs/_static/clang-installer-add-path.png and /dev/null differ diff --git a/docs/_static/droneci-platformio-integration-1.png b/docs/_static/droneci-platformio-integration-1.png deleted file mode 100644 index 303e30f6..00000000 Binary files a/docs/_static/droneci-platformio-integration-1.png and /dev/null differ diff --git a/docs/_static/droneci-platformio-integration-2.png b/docs/_static/droneci-platformio-integration-2.png deleted file mode 100644 index 9b76e479..00000000 Binary files a/docs/_static/droneci-platformio-integration-2.png and /dev/null differ diff --git a/docs/_static/extra.css b/docs/_static/extra.css deleted file mode 100644 index 83ae2147..00000000 --- a/docs/_static/extra.css +++ /dev/null @@ -1,330 +0,0 @@ -/** - * 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. - */ - -header, -nav { - display: block; -} - -#pionav { - display: none; -} - -.container { - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} - -@media (min-width: 992px) { - #pionav { - display: block !important; - } - body { - padding-top: 50px; - } - .wy-nav-side { - top: 50px; - } - - .container { - width: 970px; - } -} -@media (min-width: 1200px) { - .container { - width: 1150px; - } -} -.container-fluid { - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} - -.container:before, -.container:after, -.container-fluid:before, -.container-fluid:after, -.nav:before, -.nav:after, -.navbar:before, -.navbar:after, -.navbar-header:before, -.navbar-header:after { - display: table; - content: " "; -} -.container:after, -.container-fluid:after, -.nav:after, -.navbar:after, -.navbar-header:after { - clear: both; -} - -.nav { - padding-left: 0; - margin-bottom: 0; - list-style: none; -} -.nav > li { - position: relative; - display: block; -} -.nav > li > a { - position: relative; - display: block; - padding: 10px 15px; - font-size: 14px; -} -.nav > li > a:hover, -.nav > li > a:focus { - text-decoration: none; - background-color: #eee; -} -.nav > li > a > img { - max-width: none; -} -.nav > li > a > i { - margin-right: 5px; -} - -.navbar { - position: relative; - min-height: 50px; - margin-bottom: 20px; - border: 1px solid transparent; -} -@media (min-width: 768px) { - .navbar { - border-radius: 4px; - } -} -@media (min-width: 768px) { - .navbar-header { - float: left; - } -} - -@media (min-width: 768px) { - .navbar-fixed-top { - padding-right: 0; - padding-left: 0; - } -} -.navbar-fixed-top { - max-height: 340px; -} -.container > .navbar-header, -.container-fluid > .navbar-header { - margin-right: -15px; - margin-left: -15px; -} -@media (min-width: 768px) { - .container > .navbar-header, - .container-fluid > .navbar-header { - margin-right: 0; - margin-left: 0; - } -} - -.navbar-fixed-top { - position: fixed; - right: 0; - left: 0; - z-index: 1030; -} -@media (min-width: 768px) { - .navbar-fixed-top { - border-radius: 0; - } -} -.navbar-fixed-top { - top: 0; - border-width: 0 0 1px; -} -.navbar-fixed-bottom { - bottom: 0; - margin-bottom: 0; - border-width: 1px 0 0; -} -.navbar-brand { - float: left; - height: 50px; - padding: 15px 15px; - font-size: 18px; - line-height: 20px; -} -.navbar-brand:hover, -.navbar-brand:focus { - text-decoration: none; -} -.navbar-brand > img { - display: block; -} -@media (min-width: 768px) { - .navbar > .container .navbar-brand, - .navbar > .container-fluid .navbar-brand { - margin-left: -15px; - } -} - -.navbar-nav { - margin: 7.5px -15px; -} -.navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; - line-height: 20px; -} -@media (min-width: 768px) { - .navbar-nav { - float: left; - margin: 0; - } - .navbar-nav > li { - float: left; - } - .navbar-nav > li > a { - padding-top: 15px; - padding-bottom: 15px; - } -} - -@media (min-width: 768px) { - .navbar-left { - float: left !important; - } - .navbar-right { - float: right !important; - margin-right: -15px; - } - .navbar-right ~ .navbar-right { - margin-right: 0; - } -} - -.navbar-inverse { - background-color: #222; - border-color: #080808; -} -.navbar-inverse .navbar-brand { - color: #9d9d9d; -} -.navbar-inverse .navbar-brand:hover, -.navbar-inverse .navbar-brand:focus { - color: #fff; - background-color: transparent; -} -.navbar-inverse .navbar-text { - color: #9d9d9d; -} -.navbar-inverse .navbar-nav > li > a { - color: #9d9d9d; -} -.navbar-inverse .navbar-nav > li > a:hover, -.navbar-inverse .navbar-nav > li > a:focus { - color: #fff; - background-color: transparent; -} -.navbar-inverse .navbar-nav > .active > a, -.navbar-inverse .navbar-nav > .active > a:hover, -.navbar-inverse .navbar-nav > .active > a:focus { - color: #fff; - background-color: #080808; -} - -.navbar-header .navbar-brand { - color: #e0e0e0; -} - -/* Misc */ - -.wy-side-scroll .wy-side-nav-search .icon, -.wy-side-scroll .wy-side-nav-search .version { - display: none; - visibility: none; -} - -@media (min-width: 768px) { - .wy-side-scroll { - padding-bottom: 50px; - } -} - -.navbar-header .navbar-brand { - color: #e0e0e0; - background: url("../_static/platformio-logo-xs.png") no-repeat; - background-position: 5px 0; - padding-left: 50px; - font-weight: 500; -} - -.navbar .github-corner { - display: none; -} - -.navbar .github-corner svg { - fill: #fff; - color: #080808; - position: absolute; - top: -1px; - right: 0; - border: 0; - width: 50px; - height: 50px; - transform: scale(1, 1); -} - -@media screen and (min-width: 992px) { - .navbar .github-corner { - display: block; - } -} - -.navbar-inverse .navbar-nav > li.nav-pioplus > a, -.navbar-inverse .navbar-nav > li.nav-pioplus > a:visited -{ - color: #ff6600; -} - -.navbar-inverse .navbar-nav > li.nav-pioplus > a:hover { - color: #ff9900; -} - -.top-banner { - display: block; - padding: 10px 20px; - font-weight: bold; - font-size: 14px; - color: #fff; - text-align: center; - background-color: #0275d8; -} - -.top-banner:hover { - color: #fff; - text-decoration: none; - background-color: #025ebb; -} - -.top-banner:visited { - color: #fff; - text-decoration: none; -} diff --git a/docs/_static/favicon.ico b/docs/_static/favicon.ico deleted file mode 100644 index 2dd9609c..00000000 Binary files a/docs/_static/favicon.ico and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-install.png b/docs/_static/ide-atom-platformio-install.png deleted file mode 100644 index 16e51a23..00000000 Binary files a/docs/_static/ide-atom-platformio-install.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-menu-item.png b/docs/_static/ide-atom-platformio-menu-item.png deleted file mode 100644 index 81bf7846..00000000 Binary files a/docs/_static/ide-atom-platformio-menu-item.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-1.png b/docs/_static/ide-atom-platformio-quick-start-1.png deleted file mode 100644 index 4a021ab9..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-1.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-10.png b/docs/_static/ide-atom-platformio-quick-start-10.png deleted file mode 100644 index df1e70a6..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-10.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-11.png b/docs/_static/ide-atom-platformio-quick-start-11.png deleted file mode 100644 index 42a5bc84..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-11.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-12.png b/docs/_static/ide-atom-platformio-quick-start-12.png deleted file mode 100644 index 726372ef..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-12.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-13.png b/docs/_static/ide-atom-platformio-quick-start-13.png deleted file mode 100644 index 8a23df15..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-13.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-14.png b/docs/_static/ide-atom-platformio-quick-start-14.png deleted file mode 100644 index 902d1f42..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-14.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-2.png b/docs/_static/ide-atom-platformio-quick-start-2.png deleted file mode 100644 index 0251bcf9..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-2.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-3.png b/docs/_static/ide-atom-platformio-quick-start-3.png deleted file mode 100644 index 9a9ceb31..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-3.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-4.png b/docs/_static/ide-atom-platformio-quick-start-4.png deleted file mode 100644 index a5a43411..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-4.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-5.png b/docs/_static/ide-atom-platformio-quick-start-5.png deleted file mode 100644 index 80d62571..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-5.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-6.png b/docs/_static/ide-atom-platformio-quick-start-6.png deleted file mode 100644 index 68bfa56a..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-6.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-7.png b/docs/_static/ide-atom-platformio-quick-start-7.png deleted file mode 100644 index 5305394c..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-7.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-8.png b/docs/_static/ide-atom-platformio-quick-start-8.png deleted file mode 100644 index c38ed575..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-8.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-9.png b/docs/_static/ide-atom-platformio-quick-start-9.png deleted file mode 100644 index 82247515..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-9.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-toolbar.png b/docs/_static/ide-atom-platformio-toolbar.png deleted file mode 100644 index a625a98c..00000000 Binary files a/docs/_static/ide-atom-platformio-toolbar.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio.png b/docs/_static/ide-atom-platformio.png deleted file mode 100644 index f133855c..00000000 Binary files a/docs/_static/ide-atom-platformio.png and /dev/null differ diff --git a/docs/_static/ide-eclipse-virtualiot.jpg b/docs/_static/ide-eclipse-virtualiot.jpg deleted file mode 100644 index 1c6ee0fa..00000000 Binary files a/docs/_static/ide-eclipse-virtualiot.jpg and /dev/null differ diff --git a/docs/_static/ide-platformio-atom-1.gif b/docs/_static/ide-platformio-atom-1.gif deleted file mode 100644 index 3ee6c899..00000000 Binary files a/docs/_static/ide-platformio-atom-1.gif and /dev/null differ diff --git a/docs/_static/ide-platformio-atom-2.gif b/docs/_static/ide-platformio-atom-2.gif deleted file mode 100644 index 2a367374..00000000 Binary files a/docs/_static/ide-platformio-atom-2.gif and /dev/null differ diff --git a/docs/_static/ide-platformio-clion.png b/docs/_static/ide-platformio-clion.png deleted file mode 100644 index ee67894b..00000000 Binary files a/docs/_static/ide-platformio-clion.png and /dev/null differ diff --git a/docs/_static/ide-platformio-codeblocks.png b/docs/_static/ide-platformio-codeblocks.png deleted file mode 100644 index 5608633c..00000000 Binary files a/docs/_static/ide-platformio-codeblocks.png and /dev/null differ diff --git a/docs/_static/ide-platformio-eclipse.png b/docs/_static/ide-platformio-eclipse.png deleted file mode 100644 index 604ddb3d..00000000 Binary files a/docs/_static/ide-platformio-eclipse.png and /dev/null differ diff --git a/docs/_static/ide-platformio-emacs.png b/docs/_static/ide-platformio-emacs.png deleted file mode 100644 index a1780a6b..00000000 Binary files a/docs/_static/ide-platformio-emacs.png and /dev/null differ diff --git a/docs/_static/ide-platformio-netbeans.png b/docs/_static/ide-platformio-netbeans.png deleted file mode 100644 index 310b85cb..00000000 Binary files a/docs/_static/ide-platformio-netbeans.png and /dev/null differ diff --git a/docs/_static/ide-platformio-qtcreator-1.png b/docs/_static/ide-platformio-qtcreator-1.png deleted file mode 100644 index 1972daf8..00000000 Binary files a/docs/_static/ide-platformio-qtcreator-1.png and /dev/null differ diff --git a/docs/_static/ide-platformio-qtcreator-2.png b/docs/_static/ide-platformio-qtcreator-2.png deleted file mode 100644 index 759b02ee..00000000 Binary files a/docs/_static/ide-platformio-qtcreator-2.png and /dev/null differ diff --git a/docs/_static/ide-platformio-qtcreator-3.png b/docs/_static/ide-platformio-qtcreator-3.png deleted file mode 100644 index b341e505..00000000 Binary files a/docs/_static/ide-platformio-qtcreator-3.png and /dev/null differ diff --git a/docs/_static/ide-platformio-qtcreator-4.png b/docs/_static/ide-platformio-qtcreator-4.png deleted file mode 100644 index e2c5517b..00000000 Binary files a/docs/_static/ide-platformio-qtcreator-4.png and /dev/null differ diff --git a/docs/_static/ide-platformio-qtcreator-5.png b/docs/_static/ide-platformio-qtcreator-5.png deleted file mode 100644 index 5e5cbea1..00000000 Binary files a/docs/_static/ide-platformio-qtcreator-5.png and /dev/null differ diff --git a/docs/_static/ide-platformio-qtcreator-6.png b/docs/_static/ide-platformio-qtcreator-6.png deleted file mode 100644 index c24c5526..00000000 Binary files a/docs/_static/ide-platformio-qtcreator-6.png and /dev/null differ diff --git a/docs/_static/ide-platformio-qtcreator-7.png b/docs/_static/ide-platformio-qtcreator-7.png deleted file mode 100644 index cdaf1f6f..00000000 Binary files a/docs/_static/ide-platformio-qtcreator-7.png and /dev/null differ diff --git a/docs/_static/ide-platformio-vim.png b/docs/_static/ide-platformio-vim.png deleted file mode 100644 index 8020b277..00000000 Binary files a/docs/_static/ide-platformio-vim.png and /dev/null differ diff --git a/docs/_static/ide-sublime-text-deviot.gif b/docs/_static/ide-sublime-text-deviot.gif deleted file mode 100644 index 1006c529..00000000 Binary files a/docs/_static/ide-sublime-text-deviot.gif and /dev/null differ diff --git a/docs/_static/ide-sublime-text-platformio-newproject-1.png b/docs/_static/ide-sublime-text-platformio-newproject-1.png deleted file mode 100644 index 6432124e..00000000 Binary files a/docs/_static/ide-sublime-text-platformio-newproject-1.png and /dev/null differ diff --git a/docs/_static/ide-sublime-text-platformio-newproject-2.png b/docs/_static/ide-sublime-text-platformio-newproject-2.png deleted file mode 100644 index 45188c04..00000000 Binary files a/docs/_static/ide-sublime-text-platformio-newproject-2.png and /dev/null differ diff --git a/docs/_static/ide-sublime-text-platformio-newproject-3.png b/docs/_static/ide-sublime-text-platformio-newproject-3.png deleted file mode 100644 index 6f980c0f..00000000 Binary files a/docs/_static/ide-sublime-text-platformio-newproject-3.png and /dev/null differ diff --git a/docs/_static/ide-sublime-text-platformio-newproject-4.png b/docs/_static/ide-sublime-text-platformio-newproject-4.png deleted file mode 100644 index aaee5561..00000000 Binary files a/docs/_static/ide-sublime-text-platformio-newproject-4.png and /dev/null differ diff --git a/docs/_static/ide-sublime-text-platformio-newproject-5.png b/docs/_static/ide-sublime-text-platformio-newproject-5.png deleted file mode 100644 index 8cffe145..00000000 Binary files a/docs/_static/ide-sublime-text-platformio-newproject-5.png and /dev/null differ diff --git a/docs/_static/ide-vs-platformio-newproject-2-1.png b/docs/_static/ide-vs-platformio-newproject-2-1.png deleted file mode 100644 index de85d851..00000000 Binary files a/docs/_static/ide-vs-platformio-newproject-2-1.png and /dev/null differ diff --git a/docs/_static/ide-vs-platformio-newproject-2.png b/docs/_static/ide-vs-platformio-newproject-2.png deleted file mode 100644 index cb0bc810..00000000 Binary files a/docs/_static/ide-vs-platformio-newproject-2.png and /dev/null differ diff --git a/docs/_static/ide-vs-platformio-newproject-3.png b/docs/_static/ide-vs-platformio-newproject-3.png deleted file mode 100644 index 763f8e05..00000000 Binary files a/docs/_static/ide-vs-platformio-newproject-3.png and /dev/null differ diff --git a/docs/_static/ide-vs-platformio-newproject-4.png b/docs/_static/ide-vs-platformio-newproject-4.png deleted file mode 100644 index 78ebc601..00000000 Binary files a/docs/_static/ide-vs-platformio-newproject-4.png and /dev/null differ diff --git a/docs/_static/ide-vs-platformio-newproject-5.png b/docs/_static/ide-vs-platformio-newproject-5.png deleted file mode 100644 index bcae88e1..00000000 Binary files a/docs/_static/ide-vs-platformio-newproject-5.png and /dev/null differ diff --git a/docs/_static/ide-vs-platformio-newproject-6.png b/docs/_static/ide-vs-platformio-newproject-6.png deleted file mode 100644 index 07a4d80a..00000000 Binary files a/docs/_static/ide-vs-platformio-newproject-6.png and /dev/null differ diff --git a/docs/_static/ide-vs-platformio-newproject-7.png b/docs/_static/ide-vs-platformio-newproject-7.png deleted file mode 100644 index e5112405..00000000 Binary files a/docs/_static/ide-vs-platformio-newproject-7.png and /dev/null differ diff --git a/docs/_static/ide-vs-platformio-newproject-8.png b/docs/_static/ide-vs-platformio-newproject-8.png deleted file mode 100644 index f3cb9e46..00000000 Binary files a/docs/_static/ide-vs-platformio-newproject-8.png and /dev/null differ diff --git a/docs/_static/ide-vs-platformio-newproject-9.png b/docs/_static/ide-vs-platformio-newproject-9.png deleted file mode 100644 index f6978e90..00000000 Binary files a/docs/_static/ide-vs-platformio-newproject-9.png and /dev/null differ diff --git a/docs/_static/ide-vs-platformio-newproject.png b/docs/_static/ide-vs-platformio-newproject.png deleted file mode 100644 index a7279a54..00000000 Binary files a/docs/_static/ide-vs-platformio-newproject.png and /dev/null differ diff --git a/docs/_static/pioplus-unit-testing-demo.png b/docs/_static/pioplus-unit-testing-demo.png deleted file mode 100644 index d34dad14..00000000 Binary files a/docs/_static/pioplus-unit-testing-demo.png and /dev/null differ diff --git a/docs/_static/platformio-demo-lib.gif b/docs/_static/platformio-demo-lib.gif deleted file mode 100644 index 238df416..00000000 Binary files a/docs/_static/platformio-demo-lib.gif and /dev/null differ diff --git a/docs/_static/platformio-demo-ota-esp8266.jpg b/docs/_static/platformio-demo-ota-esp8266.jpg deleted file mode 100644 index 4cbd7da7..00000000 Binary files a/docs/_static/platformio-demo-ota-esp8266.jpg and /dev/null differ diff --git a/docs/_static/platformio-demo-platforms.gif b/docs/_static/platformio-demo-platforms.gif deleted file mode 100644 index 3e68a73b..00000000 Binary files a/docs/_static/platformio-demo-platforms.gif and /dev/null differ diff --git a/docs/_static/platformio-demo-wiring.gif b/docs/_static/platformio-demo-wiring.gif deleted file mode 100644 index a89550bc..00000000 Binary files a/docs/_static/platformio-demo-wiring.gif and /dev/null differ diff --git a/docs/_static/platformio-logo-xs.png b/docs/_static/platformio-logo-xs.png deleted file mode 100644 index 9ac1f099..00000000 Binary files a/docs/_static/platformio-logo-xs.png and /dev/null differ diff --git a/docs/_static/platformio-logo.png b/docs/_static/platformio-logo.png deleted file mode 100644 index a8b025d5..00000000 Binary files a/docs/_static/platformio-logo.png and /dev/null differ diff --git a/docs/_static/python-installer-add-path.png b/docs/_static/python-installer-add-path.png deleted file mode 100644 index 43388c2c..00000000 Binary files a/docs/_static/python-installer-add-path.png and /dev/null differ diff --git a/docs/_templates/footer.html b/docs/_templates/footer.html deleted file mode 100644 index 6ac869f3..00000000 --- a/docs/_templates/footer.html +++ /dev/null @@ -1,63 +0,0 @@ -{% extends "!footer.html" %} - -{% block extrafooter %} - - - -{{ super() }} -{% endblock %} diff --git a/docs/articles.rst b/docs/articles.rst deleted file mode 100644 index 89a2318e..00000000 --- a/docs/articles.rst +++ /dev/null @@ -1,117 +0,0 @@ -.. 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. - -.. _articles: - -Articles about us -================= - -.. note:: - If you've written article about PlatformIO and would like it listed on - this page, `please edit this page `_. - -Here are recent articles/reviews about PlatformIO: - -2016 -^^^^ - -* Sep 12, 2016 - **Pedro Minatel** - `OTA – Como programar o ESP8266 pelo WiFi no platformIO (OTA programming for ESP8266 via Wi-Fi using PlatformIO, Portuguese) `_ -* Sep 2, 2016 - **Tinkerman** `ESP8266: Optimizing files for SPIFFS with Gulp `_ -* Aug 28, 2016 - **Tom Parker** `Using the BBC micro:bit with PlatformIO `_ -* Aug 24, 2016 - **Primal Cortex** `Cloud based continuous integration and delivery for IOT using PlatformIO `_ -* Aug 18, 2016 - **Primal Cortex** - `Installing PlatformIO on Arch Linux `_ -* Jul 26, 2016 - **Embedded Systems Laboratory** - `แนะนำการใช้งาน PlatformIO IDE สำหรับบอร์ด Arduino และ ESP8266 (Get started with PlatformIO IDE for Arduino board and ESP8266, Thai) `_ -* Jul 15, 2016 - **Jaime** - `ESP8266 Mobile Rick Roll Captive Portal `_ -* Jul 5, 2016 - **Ivan Kravets, Ph.D.** - `Explore the new development instruments for Arduino with PlatformIO ecosystem `_ -* Jul 5, 2016 - **Belinda** - `Monte Bianco Arduino Developer Summit `_ -* Jul 1, 2016 - **Tam Hanna** - `Mikrocontroller-Gipfel in den Alpen: Arduino Developer Summit, Tag eins (Microcontroller peaks in the Alps: Arduino Developer Summit, Day One, German) `_ -* Jun 14, 2016 - **Glyn Hudson** - `OpenEnergyMonitor Part 2/3: Firmware Continuous Test & Build `_ -* Jun 13, 2016 - **Daniel Eichhorn** - `New Weather Station Demo on Github `_ -* Jun 12, 2016 - **Glyn Hudson** - `OpenEnergyMonitor Part 1/3: PlatformIO open-source embedded development ecosystem `_ -* Jun 12, 2016 - **Uli Wolf** - `Nutzung von PlatformIO im Atom Editor zur Entwicklung von Arduino Code (Use PlatformIO and Atom Editor to develop Arduino code, German) `_ -* Jun 3, 2016 - **Daniel Eichhorn** - `ESP8266: Continuous Delivery Pipeline – Push To Production `_ -* May 30, 2016 - **Ron Moerman** - `IoT Development with PlatformIO `_ -* May 29, 2016 - **Chris Synan** - `Reverse Engineer RF Remote Controller for IoT! `_ -* May 26, 2016 - **Charlie Key** - `7 Best Developer Tools To Build Your NEXT Internet of Things Application `_ -* May 22, 2016 - **Pedro Minatel** - `Estação meteorológica com ESP8266 (Weather station with ESP8266, Portuguese) `_ -* May 16, 2016 - **Pedro Minatel** - `Controle remoto WiFi com ESP8266 (WiFi remote control using ESP8266, Portuguese) `_ -* May 11, 2016 - **Jo Vandeginste** - `Using PlatformIO to compile for Jeelabs' Jeenode Micro `_ -* May 08, 2016 - **Radoslaw Bob** - `Touch controlled buzzer (Nodemcu ESP8266) `_ -* May 06, 2016 - **Jean Roux** - `The IoT building blocks I use for my home-automation projects `_ -* May 05, 2016 - **Ivan Kravets, Ph.D. / Eclipse Virtual IoT Meetup** - `PlatformIO: a cross-platform IoT solution to build them all! `_ -* May 01, 2016 - **Pedro Minatel** - `PlatformIO – Uma alternativa ao Arduino IDE (PlatformIO - An alternative to the Arduino IDE, Portuguese) `_ -* Apr 23, 2016 - **Al Williams** - `Hackaday: Atomic Arduino (and Other) Development `_ -* Apr 16, 2016 - **Sathittham Sangthong** - `[PlatformIO] มาลองเล่น PlatformIO แทน Arduino IDE กัน (Let's play together with PlatformIO IDE [alternative to Arduino IDE], Thai) `_ -* Apr 15, 2016 - **Daniel Eichhorn** - `ESP8266: Offline Debugging with the Platformio Environment `_ -* Apr 11, 2016 - **Matjaz Trcek** - `Top 5 Arduino integrated development environments `_ -* Apr 06, 2016 - **Aleks** - `PlatformIO ausprobiert (Tried PlatformIO, German) `_ -* Apr 02, 2016 - **Diego Pinto** - `Você tem coragem de abandonar a IDE do Arduino? PlatformIO + Atom (Do you dare to leave the Arduino IDE? PlatformIO + Atom, Portuguese) `_ -* Mar 30, 2016 - **Brandon Cannaday** - `Getting Started with PlatformIO and ESP8266 NodeMcu `_ -* Mar 29, 2016 - **Pablo Peñalve** - `PlatformIO + Geany + Raspberry PI, Spanish `_ -* Mar 24, 2016 - **NAzT** - `PlatformIO และการปรับแต่ง เพื่อใช้สำหรับพัฒนา Arduino Library (PlatformIO and advanced development for Arduino Library, Thai) `_ -* Mar 16, 2016 - **Jakub Skořepa** - `Instalace PlatformIO (PlatformIO IDE Installation, Czech) `_ -* Mar 12, 2016 - **Peter Marks** - `PlatformIO, the Arduino IDE for programmers `_ -* Mar 12, 2016 - **Richard Arthurs** - `Getting Started With PlatformIO `_ -* Mar 07, 2016 - **Joran Jessurun** - `Nieuwe wereld met PlatformIO (New world with PlatformIO, Dutch) `_ -* Mar 05, 2016 - **brichacek.net** - `PlatformIO – otevřený ekosystém pro vývoj IoT (PlatformIO – an open source ecosystem for IoT development, Czech) `_ -* Mar 04, 2016 - **Ricardo Vega** - `Programa tu Arduino desde Atom (Program your Arduino from Atom, Spanish) `_ -* Feb 28, 2016 - **Alex Bloggt** - `PlatformIO vorgestellt (Introduction to PlatformIO IDE, German) `_ -* Feb 25, 2016 - **NutDIY** - `PlatformIO Blink On Nodemcu Dev Kit V1.0 (Thai) `_ -* Feb 23, 2016 - **Ptarmigan Labs** - `ESP8266 Over The Air updating – what are the options? `_ -* Feb 22, 2016 - **Grzegorz Hołdys** - `How to Integrate PlatformIO with Netbeans `_ -* Feb 19, 2016 - **Embedds** - `Develop easier with PlatformIO ecosystem `_ -* Feb 13, 2016 - **Robert Cudmore** - `Programming an arduino with PlatformIO `_ -* Jan 24, 2016 - **Sergey Prilukin** - `How to use IntelliJ IDEA to develop and upload software for micro controllers like Arduino `_ -* Jan 16, 2016 - **Dani Eichhorn** - `ESP8266 Arduino IDE Alternative: PlatformIO `_ -* Jan 11, 2016 - **David Mills, Ph.D.** - `STM NUCLEOF401RE TIMER IO `_ -* Jan 05, 2016 - **Julien Rodrigues** - `Internet Of Things: The IDE scandal `_ - -2015 -^^^^ - -* Dec 22, 2015 - **Jan Penninkhof** - `Over-the-Air ESP8266 programming using PlatformIO `_ -* Dec 15, 2015 - **stastaka** - `PlatformIOでカスタムボードを使う (Use a custom board for PlatformIO, Japanese) `_ -* Dec 08, 2015 - **Piotr Król** - `Using PlatformIO with TI MSP430 LunchPads `_ -* Dec 01, 2015 - **Michał Seroczyński** - `Push Notification from Arduino Yún with motion sensor `_ -* Dec 01, 2015 - **JetBrains CLion Blog** - `C++ Annotated: Fall 2015. Arduino Support in CLion using PlatformIO `_ -* Dec 01, 2015 - **Tateno Yuichi** - `ESP8266 を CUI で開発する (Develop a ESP8266 in CUI, Japanese) `_ -* Nov 29, 2015 - **Keith Hughes** - `Using PlatformIO for Embedded Projects `_ -* Nov 22, 2015 - **Michał Seroczyński** - `Using PlatformIO to get started with Arduino in CLion IDE `_ -* Nov 09, 2015 - **ÁLvaro García Gómez** - `Programar con Arduino "The good way" (Programming with Arduino "The good way", Spanish) `_ -* Nov 06, 2015 - **nocd5** - `PlatformIOでmbedをオフラインビルドしSTM32 Nucleoボードでmrubyを使う (Use mruby in the offline build for STM32 Nucleo board with mbed and PlatformIO, Japanese) `_ -* Oct 21, 2015 - **Vittorio Zaccaria** - `Using a cheap STM32 Nucleo to teach remote sensor monitoring `_ -* Oct 18, 2015 - **Nico Coetzee** - `First Arduino I2C Experience with PlatformIO `_ -* Oct 10, 2015 - **Floyd Hilton** - `Programming Arduino with Atom `_ -* Oct 01, 2015 - **Mistan** - `Compile and Upload Arduino Sketch with PlatformIO for Raspberry Pi Running Arch Linux `_ -* Sep 30, 2015 - **Jay Wiggins** - `PlatformIO Investigation `_ -* Sep 01, 2015 - **Thomas P. Weldon, Ph.D.** - `Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation `_ -* Aug 08, 2015 - **Josh Glendenning** - `Armstrap Eagle and PlatformIO `_ -* Aug 01, 2015 - **Russell Davis** - `PlatformIO on the Raspberry Pi `_ -* Jul 25, 2015 - **DinoTools** - `Erste Schritte mit PlatformIO (Getting Started with PlatformIO, German) `_ -* Jul 20, 2015 - **Eli Fatsi** - `Arduino Development in Atom Editor `_ -* Jul 14, 2015 - **ElbinarIO** - `Programar para Arduino y otros microcontroladores desde la linea de comandos (Program Arguino and other microcontrollers from the command line, Spanish) `_ -* Jul 11, 2015 - **TrojanC** - `Learning Arduino GitHub Repository `_ -* Jul 07, 2015 - **Sho Hashimoto** - `PlatformIOでArduino開発する(Arduino development in PlatformIO, Japanese) `_ -* Jun 02, 2015 - **Alejandro Guirao Rodríguez** - `Discovering PlatformIO: The RaspberryPi / Arduino combo kit is a winner option when prototyping an IoT-style project `_ -* May 17, 2015 - **S.S** - `コマンドラインでArduino開発 : vim + platformio (Arduino development at the command line: VIM + PlatformIO, Japanese) `_ -* May 11, 2015 - **IT Hare** - `From Web Developer to Embedded One: Interview with Ivan Kravets, The Guy Behind PlatformIO. Part II `_ -* May 4, 2015 - **IT Hare** - `From Web Developer to Embedded One: Interview with Ivan Kravets, The Guy Behind PlatformIO. Part I `_ -* Apr 17, 2015 - **Michael Ball** - `PlatformIO - A Cross-Platform Code Builder and Missing Library Manager `_ -* Mar 23, 2015 - **Atmel** - `Cross-board and cross-vendor embedded development with PlatformIO `_ -* Mar 22, 2015 - **Mark VandeWettering** - `Discovered a new tool for embedded development: PlatformIO `_ -* Feb 25, 2015 - **Hendrik Putzek** - `Use your favourite IDE together with Arduino `_ - -2014 -^^^^ - -* Oct 7, 2014 - **Ivan Kravets, Ph.D.** - `Integration of PlatformIO library manager to Arduino and Energia IDEs `_ -* Jun 20, 2014 - **Ivan Kravets, Ph.D.** - `Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO `_ -* Jun 17, 2014 - **Ivan Kravets, Ph.D.** - `How was PlatformIO born or why I love Python World `_ diff --git a/docs/ci/appveyor.rst b/docs/ci/appveyor.rst deleted file mode 100644 index 5a018b29..00000000 --- a/docs/ci/appveyor.rst +++ /dev/null @@ -1,87 +0,0 @@ -.. 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. - -.. _ci_appveyor: - -AppVeyor -======== - -`AppVeyor `_ is an open-source hosted, -distributed continuous integration service used to build and test projects -hosted at `GitHub `_ on Windows family -systems. - -AppVeyor is configured by adding a file named ``appveyor.yml``, which is a -`YAML `_ format text file, to the root -directory of the GitHub repository. - -AppVeyor automatically detects when a commit has been made and pushed to a -GitHub repository that is using AppVeyor, and each time this happens, it will -try to build the project using :ref:`cmd_ci` command. This includes commits to -all branches, not just to the master branch. AppVeyor will also build and run -pull requests. When that process has completed, it will notify a developer in -the way it has been configured to do so — for example, by sending an email -containing the build results (showing success or failure), or by posting a -message on an IRC channel. It can be configured to build project on a range of -different :ref:`platforms`. - -.. contents:: - -Integration ------------ - -Put ``appveyor.yml`` to the root directory of the GitHub repository. - -.. code-block:: yaml - - build: off - environment: - - matrix: - - PLATFORMIO_CI_SRC: "path\\to\\source\\file.c" - - PLATFORMIO_CI_SRC: "path\\to\\source\\file.ino" - - PLATFORMIO_CI_SRC: "path\\to\\source\\directory" - - install: - - cmd: git submodule update --init --recursive - - cmd: SET PATH=%PATH%;C:\Python27\Scripts - - cmd: pip install -U platformio - - test_script: - - cmd: platformio ci --board= --board= --board= - - -For more details as for PlatformIO build process please look into :ref:`cmd_ci` -command. - -Examples --------- - -1. Integration for `USB_Host_Shield_2.0 `_ - project. The ``appveyor.yml`` configuration file: - -.. code-block:: yaml - - build: off - environment: - - matrix: - - PLATFORMIO_CI_SRC: "examples\\Bluetooth\\PS3SPP\\PS3SPP.ino" - - PLATFORMIO_CI_SRC: "examples\\pl2303\\pl2303_gps\\pl2303_gps.ino" - - install: - - cmd: git submodule update --init --recursive - - cmd: SET PATH=%PATH%;C:\Python27\Scripts - - cmd: pip install -U platformio - - cmd: git clone https://github.com/xxxajk/spi4teensy3.git C:\spi4teensy - - test_script: - - cmd: platformio ci --lib="." --lib="C:\\spi4teensy" --board=uno --board=teensy31 --board=due diff --git a/docs/ci/circleci.rst b/docs/ci/circleci.rst deleted file mode 100644 index da331230..00000000 --- a/docs/ci/circleci.rst +++ /dev/null @@ -1,205 +0,0 @@ -.. 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. - -.. _ci_circleci: - -Circle CI -========= - -`Circle CI `_ is a hosted cloud -platform that provides hosted continuous integration, deployment, and testing -to `GitHub `_ repositories. - -Circle CI is configured by adding a file named ``circle.yml``, which is a -`YAML `_ format text file, to the root -directory of the GitHub repository. - -Circle CI automatically detects when a commit has been made and pushed to a -GitHub repository that is using Circle CI, and each time this happens, it will -try to build the project using :ref:`cmd_ci` command. This includes commits to -all branches, not just to the master branch. Circle CI will also build and run -pull requests. When that process has completed, it will notify a developer in -the way it has been configured to do so — for example, by sending an email -containing the build results (showing success or failure), or by posting a -message on an IRC channel. It can be configured to build project on a range of -different :ref:`platforms`. - -.. contents:: - -Integration ------------ - -Please make sure to read Circle CI `Getting Started `_ -guide first. - -.. code-block:: yaml - - dependencies: - pre: - # Install the latest stable PlatformIO - - sudo pip install -U platformio - - test: - override: - - platformio ci path/to/test/file.c --board= --board= --board= - - platformio ci examples/file.ino --board= --board= --board= - - platformio ci path/to/test/directory --board= --board= --board= - - -For more details as for PlatformIO build process please look into :ref:`cmd_ci`. - -Project as a library -~~~~~~~~~~~~~~~~~~~~ - -When project is written as a library (where own examples or testing code use -it), please use ``--lib="."`` option for :ref:`cmd_ci` command - -.. code-block:: yaml - - script: - - platformio ci --lib="." --board= --board= --board= - -Library dependecies -~~~~~~~~~~~~~~~~~~~ - -There 2 options to test source code with dependent libraries: - -Install dependent library using :ref:`librarymanager` -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. code-block:: yaml - - dependencies: - pre: - # Install the latest stable PlatformIO - - sudo pip install -U platformio - - # OneWire Library with ID=1 http://platformio.org/lib/show/1/OneWire - - platformio lib -g install 1 - - test: - override: - - platformio ci path/to/test/file.c --board= --board= --board= - -Manually download dependent library and include in build process via ``--lib`` option -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. code-block:: yaml - - dependencies: - pre: - # Install the latest stable PlatformIO - - sudo pip install -U platformio - - # download library to the temporary directory - - wget https://github.com/PaulStoffregen/OneWire/archive/master.zip -O /tmp/onewire_source.zip - - unzip /tmp/onewire_source.zip -d /tmp/ - - test: - override: - - platformio ci path/to/test/file.c --lib="/tmp/OneWire-master" --board= --board= --board= - -Custom Build Flags -~~~~~~~~~~~~~~~~~~ - -PlatformIO allows to specify own build flags using :envvar:`PLATFORMIO_BUILD_FLAGS` environment - -.. code-block:: yaml - - machine: - environment: - PLATFORMIO_BUILD_FLAGS: -D SPECIFIC_MACROS -I/extra/inc - - -For the more details, please follow to -:ref:`available build flags/options `. - - -Advanced configuration -~~~~~~~~~~~~~~~~~~~~~~ - -PlatformIO allows to configure multiple build environments for the single -source code using :ref:`projectconf`. - -Instead of ``--board`` option, please use :option:`platformio ci --project-conf` - -.. code-block:: yaml - - test: - override: - - platformio ci path/to/test/file.c --project-conf=/path/to/platoformio.ini - -Examples --------- - -1. Custom build flags - -.. code-block:: yaml - - dependencies: - cache_directories: - - "~/.platformio" - - pre: - - sudo pip install -U platformio - - # pre-install PlatformIO development platforms, they will be cached - - platformio platform install atmelavr atmelsam teensy - - # - # Libraries from PlatformIO Library Registry: - # - # http://platformio.org/lib/show/416/TinyGPS - # http://platformio.org/lib/show/417/SPI4Teensy3 - - platformio lib -g install 416 417 - - test: - override: - - platformio ci examples/acm/acm_terminal --board=uno --board=teensy31 --board=due --lib="." - - platformio ci examples/adk/adk_barcode --board=uno --board=teensy31 --board=due --lib="." - - platformio ci examples/adk/ArduinoBlinkLED --board=uno --board=teensy31 --board=due --lib="." - - platformio ci examples/adk/demokit_20 --board=uno --board=teensy31 --board=due --lib="." - # ... - - platformio ci examples/Xbox/XBOXUSB --board=uno --board=teensy31 --board=due --lib="." - -* Configuration file: https://github.com/ivankravets/USB_Host_Shield_2.0/blob/master/circle.yml -* Build History: https://circleci.com/gh/ivankravets/USB_Host_Shield_2.0/tree/master - -2. Dependency on external libraries - -.. code-block:: yaml - - dependencies: - pre: - # Install the latest stable PlatformIO - - sudo pip install -U platformio - - # download dependent libraries - - wget https://github.com/jcw/jeelib/archive/master.zip -O /tmp/jeelib.zip - - unzip /tmp/jeelib.zip -d /tmp - - - wget https://github.com/Rodot/Gamebuino/archive/master.zip -O /tmp/gamebuino.zip - - unzip /tmp/gamebuino.zip -d /tmp - - test: - override: - - platformio ci examples/backSoon/backSoon.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560 - - platformio ci examples/etherNode/etherNode.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560 - - platformio ci examples/getDHCPandDNS/getDHCPandDNS.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560 - - platformio ci examples/getStaticIP/getStaticIP.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560 - # ... - - platformio ci examples/twitter/twitter.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560 - - platformio ci examples/udpClientSendOnly/udpClientSendOnly.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560 - - platformio ci examples/udpListener/udpListener.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560 - - platformio ci examples/webClient/webClient.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560 - -* Configuration file: hhttps://github.com/ivankravets/ethercard/blob/master/circle.yaml -* Build History: https://circleci.com/gh/ivankravets/ethercard/tree/master diff --git a/docs/ci/drone.rst b/docs/ci/drone.rst deleted file mode 100644 index c0537d8e..00000000 --- a/docs/ci/drone.rst +++ /dev/null @@ -1,83 +0,0 @@ -.. 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. - -.. _ci_drone: - -Drone -===== - -`Drone `_ is a hosted continuous integration service. -It enables you to conveniently set up projects to automatically build, test, -and deploy as you make changes to your code to -`GitHub `_ and -`BitBucket `_ repositories. - -Drone is configured by modifying settings in your project control panel. - -Drone automatically detects when a commit has been made and pushed to a -GitHub repository that is using Drone, and each time this happens, it will -try to build the project using :ref:`cmd_ci` command. This includes commits to -all branches, not just to the master branch. Drone will also build and run -pull requests. When that process has completed, it will notify a developer in -the way it has been configured to do so — for example, by sending an email -containing the build results (showing success or failure). It can be -configured to build project on a range of different :ref:`platforms`. - -.. contents:: - -Integration ------------ - -Please fill all fields for your project in the Drone control panel: - -`Environment Variables`: - -.. code-block:: bash - - PLATFORMIO_CI_SRC=path/to/source/file.c - PLATFORMIO_CI_SRC=path/to/source/file.ino - PLATFORMIO_CI_SRC=path/to/source/directory - -`Commands`: - -.. code-block:: bash - - pip install -U platformio - platformio ci --board= --board= --board= - -.. image:: ../_static/droneci-platformio-integration-1.png - -For more details as for PlatformIO build process please look into :ref:`cmd_ci` -command. - -Examples --------- - -1. Integration for `USB_Host_Shield_2.0 `_ - project. The ``circle.yml`` configuration file: - -`Environment Variables`: - -.. code-block:: bash - - PLATFORMIO_CI_SRC=examples/Bluetooth/PS3SPP/PS3SPP.ino - PLATFORMIO_CI_SRC=examples/pl2303/pl2303_gps/pl2303_gps.ino - -`Commands`: - -.. code-block:: bash - - pip install -U platformio - wget https://github.com/xxxajk/spi4teensy3/archive/master.zip -O /tmp/spi4teensy3.zip - unzip /tmp/spi4teensy3.zip -d /tmp - platformio ci --lib="." --lib="/tmp/spi4teensy3-master" --board=uno --board=teensy31 --board=due - -.. image:: ../_static/droneci-platformio-integration-2.png diff --git a/docs/ci/index.rst b/docs/ci/index.rst deleted file mode 100644 index 931f5147..00000000 --- a/docs/ci/index.rst +++ /dev/null @@ -1,35 +0,0 @@ -.. 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. - -.. _ci: - -Continuous Integration -====================== - -`Continuous Integration (CI, wiki) `_ -is the practice, in software engineering, of merging all developer working -copies with a shared mainline several times a day. - -:ref:`cmd_ci` command is intended to be used in combination with the build -servers and the popular -`Continuous Integration Software `_. - -By integrating regularly, you can detect errors quickly, and locate them more -easily. - -.. toctree:: - :maxdepth: 2 - - appveyor - circleci - drone - shippable - travis diff --git a/docs/ci/shippable.rst b/docs/ci/shippable.rst deleted file mode 100644 index 63daa960..00000000 --- a/docs/ci/shippable.rst +++ /dev/null @@ -1,89 +0,0 @@ -.. 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. - -.. _ci_shippable: - -Shippable -========= - -`Shippable `_ is a hosted cloud -platform that provides hosted continuous integration, deployment, and testing -to `GitHub `_ and -`BitBucket `_ repositories. -Shippable's continuous integration service is built using Docker. - -Shippable is configured by adding a file named ``shippable.yml``, which is a -`YAML `_ format text file, to the root -directory of the GitHub repository or you can use your Travis CI configuration -file ``.travis.yml``. - -Shippable automatically detects when a commit has been made and pushed to a -GitHub repository that is using Shippable, and each time this happens, it will -try to build the project using :ref:`cmd_ci` command. This includes commits to -all branches, not just to the master branch. Shippable will also build and run -pull requests. When that process has completed, it will notify a developer in -the way it has been configured to do so — for example, by sending an email -containing the build results (showing success or failure), or by posting a -message on an IRC channel. It can be configured to build project on a range of -different :ref:`platforms`. - -.. contents:: - -Integration ------------ - -Please put ``shippable.yml`` or ``.travis.yml`` to the root directory of the -GitHub repository. - -.. code-block:: yaml - - language: python - python: - - "2.7" - - env: - - PLATFORMIO_CI_SRC=path/to/source/file.c - - PLATFORMIO_CI_SRC=path/to/source/file.ino - - PLATFORMIO_CI_SRC=path/to/source/directory - - install: - - pip install -U platformio - - script: - - platformio ci --board= --board= --board= - - -For more details as for PlatformIO build process please look into :ref:`cmd_ci` -command. - -Examples --------- - -1. Integration for `USB_Host_Shield_2.0 `_ - project. The ``shippable.yml`` or ``.travis.yml`` configuration file: - -.. code-block:: yaml - - language: python - python: - - "2.7" - - env: - - PLATFORMIO_CI_SRC=examples/Bluetooth/PS3SPP/PS3SPP.ino - - PLATFORMIO_CI_SRC=examples/pl2303/pl2303_gps/pl2303_gps.ino - - install: - - pip install -U platformio - - wget https://github.com/xxxajk/spi4teensy3/archive/master.zip -O /tmp/spi4teensy3.zip - - unzip /tmp/spi4teensy3.zip -d /tmp - - script: - - platformio ci --lib="." --lib="/tmp/spi4teensy3-master" --board=uno --board=teensy31 --board=due diff --git a/docs/ci/travis.rst b/docs/ci/travis.rst deleted file mode 100644 index a690e5a0..00000000 --- a/docs/ci/travis.rst +++ /dev/null @@ -1,269 +0,0 @@ -.. 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. - -.. _ci_travis: - -Travis CI -========= - -.. image:: ../_static/ci-travis-logo.png - :target: https://docs.travis-ci.com/user/integration/platformio/ - - -**Travis CI** `officially supports `_ -**PlatformIO for Embedded Builds.** - -`Travis CI `_ is an open-source hosted, -distributed continuous integration service used to build and test projects -hosted at `GitHub `_. - -Travis CI is configured by adding a file named ``.travis.yml``, which is a -`YAML `_ format text file, to the root -directory of the GitHub repository. - -Travis CI automatically detects when a commit has been made and pushed to a -GitHub repository that is using Travis CI, and each time this happens, it will -try to build the project using :ref:`cmd_ci` command. This includes commits to -all branches, not just to the master branch. Travis CI will also build and run -pull requests. When that process has completed, it will notify a developer in -the way it has been configured to do so — for example, by sending an email -containing the build results (showing success or failure), or by posting a -message on an IRC channel. It can be configured to build project on a range of -different :ref:`platforms`. - -.. contents:: - -Integration ------------ - -Please make sure to read Travis CI `Getting Started `_ -and `general build configuration `_ -guides first. - -PlatformIO is written in Python and is recommended to be run within -`Travis CI Python isolated environment `_: - -.. code-block:: yaml - - language: python - python: - - "2.7" - - # Cache PlatformIO packages using Travis CI container-based infrastructure - sudo: false - cache: - directories: - - "~/.platformio" - - env: - - PLATFORMIO_CI_SRC=path/to/test/file.c - - PLATFORMIO_CI_SRC=examples/file.ino - - PLATFORMIO_CI_SRC=path/to/test/directory - - install: - - pip install -U platformio - - script: - - platformio ci --board= --board= --board= - -Then perform steps 1, 2 and 4 from http://docs.travis-ci.com/user/getting-started/ - -For more details as for PlatformIO build process please look into :ref:`cmd_ci`. - -Project as a library -~~~~~~~~~~~~~~~~~~~~ - -When project is written as a library (where own examples or testing code use -it), please use ``--lib="."`` option for :ref:`cmd_ci` command - -.. code-block:: yaml - - script: - - platformio ci --lib="." --board= --board= --board= - -Library dependencies -~~~~~~~~~~~~~~~~~~~~ - -There 2 options to test source code with dependent libraries: - -Install dependent library using :ref:`librarymanager` -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. code-block:: yaml - - install: - - pip install -U platformio - - # - # Libraries from PlatformIO Library Registry: - # - # http://platformio.org/lib/show/1/OneWire - - platformio lib -g install 1 - -Manually download dependent library and include in build process via ``--lib`` option -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. code-block:: yaml - - install: - - pip install -U platformio - - # download library to the temporary directory - - wget https://github.com/PaulStoffregen/OneWire/archive/master.zip -O /tmp/onewire_source.zip - - unzip /tmp/onewire_source.zip -d /tmp/ - - script: - - platformio ci --lib="/tmp/OneWire-master" --board= --board= --board= - -Custom Build Flags -~~~~~~~~~~~~~~~~~~ - -PlatformIO allows to specify own build flags using :envvar:`PLATFORMIO_BUILD_FLAGS` environment - -.. code-block:: yaml - - env: - - PLATFORMIO_CI_SRC=path/to/test/file.c PLATFORMIO_BUILD_FLAGS="-D SPECIFIC_MACROS_PER_TEST_ENV -I/extra/inc" - - PLATFORMIO_CI_SRC=examples/file.ino - - PLATFORMIO_CI_SRC=path/to/test/directory - - install: - - pip install -U platformio - - export PLATFORMIO_BUILD_FLAGS="-D GLOBAL_MACROS_FOR_ALL_TEST_ENV" - - -For the more details, please follow to -:ref:`available build flags/options `. - - -Advanced configuration -~~~~~~~~~~~~~~~~~~~~~~ - -PlatformIO allows to configure multiple build environments for the single -source code using :ref:`projectconf`. - -Instead of ``--board`` option, please use :option:`platformio ci --project-conf` - -.. code-block:: yaml - - script: - - platformio ci --project-conf=/path/to/platoformio.ini - -Examples --------- - -1. Custom build flags - -.. code-block:: yaml - - language: python - python: - - "2.7" - - # Cache PlatformIO packages using Travis CI container-based infrastructure - sudo: false - cache: - directories: - - "~/.platformio" - - env: - - PLATFORMIO_CI_SRC=examples/acm/acm_terminal - - PLATFORMIO_CI_SRC=examples/Bluetooth/WiiIRCamera PLATFORMIO_BUILD_FLAGS="-DWIICAMERA" - - PLATFORMIO_CI_SRC=examples/ftdi/USBFTDILoopback - - PLATFORMIO_CI_SRC=examples/Xbox/XBOXUSB - # - ... - - install: - - pip install -U platformio - - # - # Libraries from PlatformIO Library Registry: - # - # http://platformio.org/lib/show/416/TinyGPS - # http://platformio.org/lib/show/417/SPI4Teensy3 - - platformio lib -g install 416 417 - - script: - - platformio ci --board=uno --board=teensy31 --board=due --lib="." - -* Configuration file: https://github.com/felis/USB_Host_Shield_2.0/blob/master/.travis.yml -* Build History: https://travis-ci.org/felis/USB_Host_Shield_2.0 - -2. Dependency on external libraries - -.. code-block:: yaml - - language: python - python: - - "2.7" - - # Cache PlatformIO packages using Travis CI container-based infrastructure - sudo: false - cache: - directories: - - "~/.platformio" - - env: - - PLATFORMIO_CI_SRC=examples/backSoon/backSoon.ino - - PLATFORMIO_CI_SRC=examples/etherNode/etherNode.ino - # - - - install: - - pip install -U platformio - - - wget https://github.com/jcw/jeelib/archive/master.zip -O /tmp/jeelib.zip - - unzip /tmp/jeelib.zip -d /tmp - - - wget https://github.com/Rodot/Gamebuino/archive/master.zip -O /tmp/gamebuino.zip - - unzip /tmp/gamebuino.zip -d /tmp - - script: - - platformio ci --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560 - -* Configuration file: https://github.com/jcw/ethercard/blob/master/.travis.yml -* Build History: https://travis-ci.org/jcw/ethercard - -3. Dynamic testing of the boards - -.. code-block:: yaml - - language: python - python: - - "2.7" - - # Cache PlatformIO packages using Travis CI container-based infrastructure - sudo: false - cache: - directories: - - "~/.platformio" - - env: - - PLATFORMIO_CI_SRC=examples/TimeArduinoDue PLATFORMIO_CI_EXTRA_ARGS="--board=due" - - PLATFORMIO_CI_SRC=examples/TimeGPS - - PLATFORMIO_CI_SRC=examples/TimeNTP - - PLATFORMIO_CI_SRC=examples/TimeTeensy3 PLATFORMIO_CI_EXTRA_ARGS="--board=teensy31" - # - ... - - install: - - pip install -U platformio - - rm -rf ./linux - - # - # Libraries from PlatformIO Library Registry: - # - # http://platformio.org/lib/show/416/TinyGPS - - platformio lib -g install 416 421 422 - - script: - - platformio ci --lib="." --board=uno --board=teensy20pp $PLATFORMIO_CI_EXTRA_ARGS - -* Configuration file: https://github.com/ivankravets/Time/blob/master/.travis.yml -* Build History: https://travis-ci.org/ivankravets/Time diff --git a/docs/conf.py b/docs/conf.py deleted file mode 100644 index 5f9474e6..00000000 --- a/docs/conf.py +++ /dev/null @@ -1,278 +0,0 @@ -# -*- coding: utf-8 -*- -# -# PlatformIO documentation build configuration file, created by -# sphinx-quickstart on Sun Aug 3 19:13:49 2014. -# -# This file is execfile()d with the current directory set to its -# containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -import os -import sys - - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -sys.path.insert(0, os.path.abspath(os.pardir)) - -# -- General configuration ------------------------------------------------ - -# If your documentation needs a minimal Sphinx version, state it here. -#needs_sphinx = '1.0' - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = [] - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# The suffix of source filenames. -source_suffix = '.rst' - -# The encoding of source files. -#source_encoding = 'utf-8-sig' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = u'PlatformIO' -copyright = u'2014-present, PlatformIO' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -import platformio -# The short X.Y version. -version = '.'.join(map(str, platformio.VERSION[0:2])) -# The full version, including alpha/beta/rc tags. -release = platformio.__version__ - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -#language = None - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -exclude_patterns = ['_build', '**/*_extra.rst'] - -# The reST default role (used for this markup: `text`) to use for all -# documents. -#default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -#add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' - -# A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] - -# If true, keep warnings as "system message" paragraphs in the built documents. -#keep_warnings = False - - -# -- Options for HTML output ---------------------------------------------- - -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -html_theme = 'default' - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -#html_theme_options = {} - -# Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -#html_title = None - -# A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -#html_logo = '_static/platformio-logo.png' - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -html_favicon = '_static/favicon.ico' - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] - -# Add any extra paths that contain custom files (such as robots.txt or -# .htaccess) here, relative to this directory. These files are copied -# directly to the root of the documentation. -#html_extra_path = [] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - -# If false, no module index is generated. -#html_domain_indices = True - -# If false, no index is generated. -#html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True - -# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True - -# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -#html_use_opensearch = '' - -# This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None - -# Output file base name for HTML help builder. -htmlhelp_basename = 'PlatformIOdoc' - - -# -- Options for LaTeX output --------------------------------------------- - -latex_elements = { - # The paper size ('letterpaper' or 'a4paper'). - #'papersize': 'letterpaper', - - # The font size ('10pt', '11pt' or '12pt'). - #'pointsize': '10pt', - - # Additional stuff for the LaTeX preamble. - #'preamble': '', -} - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, -# author, documentclass [howto, manual, or own class]). -latex_documents = [ - ('index', 'PlatformIO.tex', u'PlatformIO Documentation', - u'PlatformIO', 'manual'), -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -#latex_use_parts = False - -# If true, show page references after internal links. -#latex_show_pagerefs = False - -# If true, show URL addresses after external links. -#latex_show_urls = False - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# If false, no module index is generated. -#latex_domain_indices = True - - -# -- Options for manual page output --------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - ('index', 'platformio', u'PlatformIO Documentation', - [u'PlatformIO'], 1) -] - -# If true, show URL addresses after external links. -#man_show_urls = False - - -# -- Options for Texinfo output ------------------------------------------- - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - ('index', 'PlatformIO', u'PlatformIO Documentation', - u'PlatformIO', 'PlatformIO', 'One line description of project.', - 'Miscellaneous'), -] - -# Documents to append as an appendix to all manuals. -#texinfo_appendices = [] - -# If false, no module index is generated. -#texinfo_domain_indices = True - -# How to display URL addresses: 'footnote', 'no', or 'inline'. -#texinfo_show_urls = 'footnote' - -# If true, do not generate a @detailmenu in the "Top" node's menu. -#texinfo_no_detailmenu = False - - -# Example configuration for intersphinx: refer to the Python standard library. -#intersphinx_mapping = {'http://docs.python.org/': None} - -# Read the Docs Sphinx Theme patch -# on_rtd is whether we are on readthedocs.org, -# this line of code grabbed from docs.readthedocs.org -on_rtd = os.environ.get('READTHEDOCS', None) == 'True' -if not on_rtd: # only import and set the theme if we're building docs locally - import sphinx_rtd_theme - html_theme = 'sphinx_rtd_theme' - html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] - -# A timeout value, in seconds, for the linkcheck builder -# http://sphinx-doc.org/config.html#confval-linkcheck_timeout -linkcheck_timeout = 10 -linkcheck_anchors = False diff --git a/docs/demo.rst b/docs/demo.rst deleted file mode 100644 index fe828233..00000000 --- a/docs/demo.rst +++ /dev/null @@ -1,78 +0,0 @@ -.. 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. - -.. _demo: - -Demo & Projects -=============== - -.. contents:: - -Project Examples ----------------- - -Pre-configured demo projects are located in `PlatformIO GitHub `_ repository. - -"Blink Project" ---------------- - -.. image:: _static/platformio-demo-wiring.gif - -Used in demo -~~~~~~~~~~~~ - -1. Source code of `Wiring Blink Example `_ -2. :ref:`cmd_run` command -3. :ref:`platformio run -t upload ` command. - -Platform Manager ----------------- - -.. image:: _static/platformio-demo-platforms.gif - -Used in demo -~~~~~~~~~~~~ - -1. :ref:`userguide_platform` -2. :ref:`cmd_platform_list` command -3. :ref:`platformio platform search avr ` command -4. :ref:`platformio platform show teensy ` command -5. :ref:`cmd_platform_update` command. - -Library Manager ---------------- - -.. image:: _static/platformio-demo-lib.gif - -Used in demo -~~~~~~~~~~~~ - -1. :ref:`cmd_lib` -2. :ref:`platformio lib search 1-wire ` command -3. :ref:`platformio lib install 54 ` command -4. :ref:`platformio lib search -f mbed ` command -5. :ref:`platformio lib search -k rf ` command -6. :ref:`platformio lib search radiohead ` command -7. :ref:`platformio lib install 124 --version "1.40" ` command -8. :ref:`platformio lib show 124 ` command -9. :ref:`cmd_lib_update` command. - -Over-the-Air update for ESP8266 -------------------------------- - -.. image:: _static/platformio-demo-ota-esp8266.jpg - :target: https://www.youtube.com/watch?v=lXchL3hpDO4 - -Used in demo -~~~~~~~~~~~~ - -1. :ref:`cmd_run` command -2. :ref:`platformio run -t upload ` command. diff --git a/docs/envvars.rst b/docs/envvars.rst deleted file mode 100644 index b66813ee..00000000 --- a/docs/envvars.rst +++ /dev/null @@ -1,168 +0,0 @@ -.. 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. - -.. _envvars: - -Environment variables -===================== - -`Environment variables `_ -are a set of dynamic named values that can affect the way running processes -will behave on a computer. - -*PlatformIO* handles variables which start with ``PLATFORMIO_`` prefix. They -have the **HIGHEST PRIORITY**. - -.. contents:: - -General -------- - -PlatformIO uses *General* environment variables for the common -operations/commands. - -.. envvar:: CI - -PlatformIO handles ``CI`` variable which is setup by -`Continuous Integration `_ -(Travis, Circle and etc.) systems. -PlatformIO uses it to disable prompts and progress bars. In other words, -``CI=true`` automatically setup :envvar:`PLATFORMIO_DISABLE_PROGRESSBAR` to -``true``. - -.. envvar:: PLATFORMIO_FORCE_COLOR - -Force to output color ANSI-codes even if the output is a ``pipe`` (not a ``tty``). -The possible values are ``true`` and ``false``. Default is ``PLATFORMIO_FORCE_COLOR=false``. - -.. envvar:: PLATFORMIO_DISABLE_PROGRESSBAR - -Disable progress bar for package/library downloader and uploader. This is -useful when calling PlatformIO from subprocess and output is a ``pipe`` (not a ``tty``). -The possible values are ``true`` and ``false``. Default is ``PLATFORMIO_DISABLE_PROGRESSBAR=false``. - -.. envvar:: PLATFORMIO_HOME_DIR - -Allows to override :ref:`projectconf` option :ref:`projectconf_pio_home_dir`. - -.. envvar:: PLATFORMIO_LIB_DIR - -Allows to override :ref:`projectconf` option :ref:`projectconf_pio_lib_dir`. - -.. envvar:: PLATFORMIO_LIBDEPS_DIR - -Allows to override :ref:`projectconf` option :ref:`projectconf_pio_libdeps_dir`. - -.. envvar:: PLATFORMIO_SRC_DIR - -Allows to override :ref:`projectconf` option :ref:`projectconf_pio_src_dir`. - -.. envvar:: PLATFORMIO_ENVS_DIR - -Allows to override :ref:`projectconf` option :ref:`projectconf_pio_envs_dir`. - -.. envvar:: PLATFORMIO_DATA_DIR - -Allows to override :ref:`projectconf` option :ref:`projectconf_pio_data_dir`. - -.. envvar:: PLATFORMIO_TEST_DIR - -Allows to override :ref:`projectconf` option :ref:`projectconf_pio_test_dir`. - - -Building --------- - -.. envvar:: PLATFORMIO_BUILD_FLAGS - -Allows to set :ref:`projectconf` option :ref:`projectconf_build_flags`. - -Examples: - -.. code-block:: bash - - # Unix: - export PLATFORMIO_BUILD_FLAGS=-DFOO - export PLATFORMIO_BUILD_FLAGS="-DFOO -DBAR=1 -DFLOAT_VALUE=1.23457e+07" - export PLATFORMIO_BUILD_FLAGS="'-DWIFI_PASS=\"My password\"' '-DWIFI_SSID=\"My ssid name\"'" - - # Windows: - SET PLATFORMIO_BUILD_FLAGS=-DFOO - SET PLATFORMIO_BUILD_FLAGS=-DFOO -DBAR=1 -DFLOAT_VALUE=1.23457e+07 - SET PLATFORMIO_BUILD_FLAGS='-DWIFI_PASS="My password"' '-DWIFI_SSID="My ssid name"' - -.. envvar:: PLATFORMIO_SRC_BUILD_FLAGS - -Allows to set :ref:`projectconf` option :ref:`projectconf_src_build_flags`. - -.. envvar:: PLATFORMIO_SRC_FILTER - -Allows to set :ref:`projectconf` option :ref:`projectconf_src_filter`. - -.. envvar:: PLATFORMIO_EXTRA_SCRIPT - -Allows to set :ref:`projectconf` option :ref:`projectconf_extra_script`. - -.. envvar:: PLATFORMIO_LIB_EXTRA_DIRS - -Allows to set :ref:`projectconf` option :ref:`projectconf_lib_extra_dirs`. - - -Uploading ---------- - -.. envvar:: PLATFORMIO_UPLOAD_PORT - -Allows to set :ref:`projectconf` option :ref:`projectconf_upload_port`. - -.. envvar:: PLATFORMIO_UPLOAD_FLAGS - -Allows to set :ref:`projectconf` option :ref:`projectconf_upload_flags`. - - -Settings --------- - -Allows to override PlatformIO settings. You can manage them via -:ref:`cmd_settings` command. - -.. envvar:: PLATFORMIO_SETTING_AUTO_UPDATE_LIBRARIES - -Allows to override setting :ref:`setting_auto_update_libraries`. - -.. envvar:: PLATFORMIO_SETTING_AUTO_UPDATE_PLATFORMS - -Allows to override setting :ref:`setting_auto_update_platforms`. - -.. envvar:: PLATFORMIO_SETTING_CHECK_LIBRARIES_INTERVAL - -Allows to override setting :ref:`setting_check_libraries_interval`. - -.. envvar:: PLATFORMIO_SETTING_CHECK_PLATFORMIO_INTERVAL - -Allows to override setting :ref:`setting_check_platformio_interval`. - -.. envvar:: PLATFORMIO_SETTING_CHECK_PLATFORMS_INTERVAL - -Allows to override setting :ref:`setting_check_platforms_interval`. - -.. envvar:: PLATFORMIO_SETTING_ENABLE_TELEMETRY - -Allows to override setting :ref:`setting_enable_telemetry`. - -.. envvar:: PLATFORMIO_SETTING_FORCE_VERBOSE - -Allows to override setting :ref:`setting_force_verbose`. - - -.. envvar:: PLATFORMIO_SETTING_ENABLE_SSL - -Allows to override setting :ref:`setting_enable_ssl`. diff --git a/docs/faq.rst b/docs/faq.rst deleted file mode 100644 index 8e054883..00000000 --- a/docs/faq.rst +++ /dev/null @@ -1,164 +0,0 @@ -.. 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. - -.. _faq: - -Frequently Asked Questions -========================== - -.. note:: - We have a big database with `Frequently Asked Questions in our Community Forums `_. - Please have a look at it. - -.. contents:: - -General -------- - -What is PlatformIO? -~~~~~~~~~~~~~~~~~~~ - -Please refer to :ref:`what_is_pio` - -What is ``.pioenvs`` directory -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Please refer to :ref:`projectconf_pio_envs_dir`. - -Command 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)" - eval "$(_PLATFORMIO_COMPLETE=source pio)" - -ZSH completion -'''''''''''''' - -To enable ``zsh`` completion please run these commands: - -.. code-block:: bash - - autoload bashcompinit && bashcompinit - eval "$(_PLATFORMIO_COMPLETE=source platformio)" - eval "$(_PLATFORMIO_COMPLETE=source pio)" - -.. note:: - - For permanent command completion you need to place commands above to - ``~/.bashrc`` or ``~/.zshrc`` file. - -PlatformIO IDE --------------- - -Please refer to :ref:`PlatformIO IDE Frequently Asked Questions `. - -Before/Pre and After/Post build actions ---------------------------------------- - -PlatformIO Build System has rich API that allows to attach different pre-/post -actions (hooks). See features of :ref:`projectconf_extra_script` option for -:ref:`projectconf`. - -.. _faq_troubleshooting: - -Troubleshooting ---------------- - -Installation -~~~~~~~~~~~~ - -[Errno 1] Operation not permitted -''''''''''''''''''''''''''''''''' - -Answered in `issue #295 `_. - -Windows AttributeError: 'module' object has no attribute 'packages' -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -Answered in `issue #252 `_. - -.. _faq_troubleshooting_pionotfoundinpath: - -Program "platformio" not found in PATH -'''''''''''''''''''''''''''''''''''''' - -Where is ``platformio`` binary installed? Run this command in Terminal - -.. code-block:: bash - - # for Unix - which platformio - echo $PATH - Windows OS - where platformio - echo %PATH% - -For example, ``which platformio`` is equal to ``/usr/local/bin/platformio``, -then `PATH (wiki) `_ -should contain ``/usr/local/bin`` directory. - -**Unix Users**: You can make "symlinks" from ``platformio`` program to the -``bin`` directory which is included in ``$PATH``. For example, -see `issue #272 `_. - -Windows UnicodeDecodeError: 'ascii' codec can't decode byte -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -Answered in `issue #143 `_. - -PlatformIO: command not found || An error "pkg_resources.DistributionNotFound" -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -Please upgrade *SetupTools* package: - -.. code-block:: bash - - [sudo] pip uninstall setuptools - [sudo] pip install setuptools - - # Then re-install PlatformIO - [sudo] pip uninstall platformio - [sudo] pip install platformio - -Miscellaneous -~~~~~~~~~~~~~ - -Serial does not work with panStampAVR board -''''''''''''''''''''''''''''''''''''''''''' - -Answered in `issue #144 `_. - -Building -~~~~~~~~ - -ARM toolchain: cc1plus: error while loading shared libraries -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -See related answers for -`error while loading shared libraries `_. - -Archlinux: libncurses.so.5: cannot open shared object file -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -Answered in `issue #291 `_. - -Monitoring a serial port breaks upload -'''''''''''''''''''''''''''''''''''''' - -Answered in `issue #384 `_. diff --git a/docs/frameworks/arduino.rst b/docs/frameworks/arduino.rst deleted file mode 100644 index 3f48a7c4..00000000 --- a/docs/frameworks/arduino.rst +++ /dev/null @@ -1,2038 +0,0 @@ -.. 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. - -.. _framework_arduino: - -Framework ``arduino`` -===================== -Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Platforms ---------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`platform_atmelavr` - - Atmel AVR 8- and 32-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industrys most code-efficient architecture for C and assembly programming. - - * - :ref:`platform_atmelsam` - - Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix. - - * - :ref:`platform_espressif8266` - - Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications. - - * - :ref:`platform_intel_arc32` - - ARC embedded processors are a family of 32-bit CPUs that are widely used in SoC devices for storage, home, mobile, automotive, and Internet of Things applications. - - * - :ref:`platform_microchippic32` - - Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs! - - * - :ref:`platform_nordicnrf51` - - The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell. - - * - :ref:`platform_ststm32` - - The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development. - - * - :ref:`platform_teensy` - - Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port. - - * - :ref:`platform_timsp430` - - MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by horizontal. - -4DSystems -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``picadillo_35t`` - - `4DSystems PICadillo 35T `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - -Adafruit -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``adafruit_feather_m0_usb`` - - `Adafruit Feather M0 `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``bluefruitmicro`` - - `Adafruit Bluefruit Micro `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``feather32u4`` - - `Adafruit Feather `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``flora8`` - - `Adafruit Flora `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``gemma`` - - `Adafruit Gemma `_ - - ATTINY85 - - 8 MHz - - 8 Kb - - 0.5 Kb - - * - ``huzzah`` - - `Adafruit HUZZAH ESP8266 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``metro`` - - `Adafruit Metro `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``protrinket3`` - - `Adafruit Pro Trinket 3V/12MHz (USB) `_ - - ATMEGA328P - - 12 MHz - - 32 Kb - - 2 Kb - - * - ``protrinket3ftdi`` - - `Adafruit Pro Trinket 3V/12MHz (FTDI) `_ - - ATMEGA328P - - 12 MHz - - 32 Kb - - 2 Kb - - * - ``protrinket5`` - - `Adafruit Pro Trinket 5V/16MHz (USB) `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``protrinket5ftdi`` - - `Adafruit Pro Trinket 5V/16MHz (USB) `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``trinket3`` - - `Adafruit Trinket 3V/8MHz `_ - - ATTINY85 - - 8 MHz - - 8 Kb - - 0.5 Kb - - * - ``trinket5`` - - `Adafruit Trinket 5V/16MHz `_ - - ATTINY85 - - 16 MHz - - 8 Kb - - 0.5 Kb - -Arduboy -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``arduboy`` - - `Arduboy `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``arduboy_devkit`` - - `Arduboy DevKit `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - -Arduino -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``LilyPadUSB`` - - `Arduino LilyPad USB `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``atmegangatmega168`` - - `Arduino NG or older ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``atmegangatmega8`` - - `Arduino NG or older ATmega8 `_ - - ATMEGA8 - - 16 MHz - - 8 Kb - - 1 Kb - - * - ``btatmega168`` - - `Arduino BT ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``btatmega328`` - - `Arduino BT ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``chiwawa`` - - `Arduino Industrial 101 `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``diecimilaatmega168`` - - `Arduino Duemilanove or Diecimila ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``diecimilaatmega328`` - - `Arduino Duemilanove or Diecimila ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``due`` - - `Arduino Due (Programming Port) `_ - - SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - - * - ``dueUSB`` - - `Arduino Due (USB Native Port) `_ - - SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - - * - ``esplora`` - - `Arduino Esplora `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``ethernet`` - - `Arduino Ethernet `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``fio`` - - `Arduino Fio `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``leonardo`` - - `Arduino Leonardo `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``leonardoeth`` - - `Arduino Leonardo ETH `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``lilypadatmega168`` - - `Arduino LilyPad ATmega168 `_ - - ATMEGA168 - - 8 MHz - - 16 Kb - - 1 Kb - - * - ``lilypadatmega328`` - - `Arduino LilyPad ATmega328 `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``megaADK`` - - `Arduino Mega ADK `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - - * - ``megaatmega1280`` - - `Arduino Mega or Mega 2560 ATmega1280 `_ - - ATMEGA1280 - - 16 MHz - - 128 Kb - - 8 Kb - - * - ``megaatmega2560`` - - `Arduino Mega or Mega 2560 ATmega2560 (Mega 2560) `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - - * - ``micro`` - - `Arduino Micro `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``miniatmega168`` - - `Arduino Mini ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``miniatmega328`` - - `Arduino Mini ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``mkr1000USB`` - - `Arduino MKR1000 `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``mzeroUSB`` - - `Arduino M0 `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``mzeropro`` - - `Arduino M0 Pro (Programming Port) `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``mzeroproUSB`` - - `Arduino M0 Pro (Native USB Port) `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``nanoatmega168`` - - `Arduino Nano ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``nanoatmega328`` - - `Arduino Nano ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``pro16MHzatmega168`` - - `Arduino Pro or Pro Mini ATmega168 (5V, 16 MHz) `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``pro16MHzatmega328`` - - `Arduino Pro or Pro Mini ATmega328 (5V, 16 MHz) `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``pro8MHzatmega168`` - - `Arduino Pro or Pro Mini ATmega168 (3.3V, 8 MHz) `_ - - ATMEGA168 - - 8 MHz - - 16 Kb - - 1 Kb - - * - ``pro8MHzatmega328`` - - `Arduino Pro or Pro Mini ATmega328 (3.3V, 8 MHz) `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``robotControl`` - - `Arduino Robot Control `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``robotMotor`` - - `Arduino Robot Motor `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``tian`` - - `Arduino Tian `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``uno`` - - `Arduino Uno `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``yun`` - - `Arduino Yun `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``yunmini`` - - `Arduino Yun Mini `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``zero`` - - `Arduino Zero (Programming Port) `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``zeroUSB`` - - `Arduino Zero (USB Native Port) `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - -BQ -~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``zumbt328`` - - `BQ ZUM BT-328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -BitWizard -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``raspduino`` - - `BitWizard Raspduino `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -Digilent -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``cerebot32mx4`` - - `Digilent Cerebot 32MX4 `_ - - 32MX460F512L - - 80 MHz - - 512 Kb - - 32 Kb - - * - ``cerebot32mx7`` - - `Digilent Cerebot 32MX7 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``chipkit_cmod`` - - `Digilent chipKIT Cmod `_ - - 32MX150F128D - - 40 MHz - - 128 Kb - - 32 Kb - - * - ``chipkit_dp32`` - - `Digilent chipKIT DP32 `_ - - 32MX250F128B - - 40 MHz - - 128 Kb - - 32 Kb - - * - ``chipkit_mx3`` - - `Digilent chipKIT MX3 `_ - - 32MX320F128H - - 80 MHz - - 128 Kb - - 16 Kb - - * - ``chipkit_pro_mx4`` - - `Digilent chipKIT Pro MX4 `_ - - 32MX460F512L - - 80 MHz - - 512 Kb - - 32 Kb - - * - ``chipkit_pro_mx7`` - - `Digilent chipKIT Pro MX7 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``chipkit_uc32`` - - `Digilent chipKIT uC32 `_ - - 32MX340F512H - - 80 MHz - - 512 Kb - - 32 Kb - - * - ``chipkit_wf32`` - - `Digilent chipKIT WF32 `_ - - 32MX695F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``chipkit_wifire`` - - `Digilent chipKIT WiFire `_ - - 32MZ2048ECG100 - - 200 MHz - - 2048 Kb - - 512 Kb - - * - ``mega_pic32`` - - `Digilent chipKIT MAX32 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``openscope`` - - `Digilent OpenScope `_ - - 32MZ2048EFG124 - - 200 MHz - - 2048 Kb - - 512 Kb - - * - ``uno_pic32`` - - `Digilent chipKIT UNO32 `_ - - 32MX320F128H - - 80 MHz - - 128 Kb - - 16 Kb - -Digistump -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``digispark-pro`` - - `Digistump Digispark Pro (Default 16 MHz) `_ - - ATTINY167 - - 16 MHz - - 16 Kb - - 0.5 Kb - - * - ``digispark-pro32`` - - `Digistump Digispark Pro (16 MHz) (32 byte buffer) `_ - - ATTINY167 - - 16 MHz - - 16 Kb - - 0.5 Kb - - * - ``digispark-pro64`` - - `Digistump Digispark Pro (16 MHz) (64 byte buffer) `_ - - ATTINY167 - - 16 MHz - - 16 Kb - - 0.5 Kb - - * - ``digispark-tiny`` - - `Digistump Digispark (Default - 16 MHz) `_ - - ATTINY85 - - 16 MHz - - 8 Kb - - 0.5 Kb - - * - ``digix`` - - `Digistump DigiX `_ - - AT91SAM3X8E - - 84 MHz - - 512 Kb - - 28 Kb - -Doit -~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espduino`` - - `ESPDuino (ESP-13 Module) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -ESPert -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espresso_lite_v1`` - - `ESPresso Lite 1.0 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``espresso_lite_v2`` - - `ESPresso Lite 2.0 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -ESPino -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espino`` - - `ESPino `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -Engduino -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``engduinov1`` - - `Engduino 1 `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``engduinov2`` - - `Engduino 2 `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``engduinov3`` - - `Engduino 3 `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - -Espressif -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``esp01`` - - `Espressif Generic ESP8266 ESP-01 512k `_ - - ESP8266 - - 80 MHz - - 512 Kb - - 80 Kb - - * - ``esp01_1m`` - - `Espressif Generic ESP8266 ESP-01 1M `_ - - ESP8266 - - 80 MHz - - 1024 Kb - - 80 Kb - - * - ``esp07`` - - `Espressif Generic ESP8266 ESP-07 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``esp12e`` - - `Espressif ESP8266 ESP-12E `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``esp8285`` - - `Generic ESP8285 Module `_ - - ESP8266 - - 80 MHz - - 448 Kb - - 80 Kb - - * - ``esp_wroom_02`` - - `ESP-WROOM-02 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``phoenix_v1`` - - `Phoenix 1.0 `_ - - ESP8266 - - 80 MHz - - 1024 Kb - - 80 Kb - - * - ``phoenix_v2`` - - `Phoenix 2.0 `_ - - ESP8266 - - 80 MHz - - 1024 Kb - - 80 Kb - - * - ``wifinfo`` - - `WifInfo `_ - - ESP8266 - - 80 MHz - - 448 Kb - - 80 Kb - -Fubarino -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``fubarino_mini`` - - `Fubarino Mini `_ - - 32MX250F128D - - 48 MHz - - 128 Kb - - 32 Kb - - * - ``fubarino_sd`` - - `Fubarino SD (1.5) `_ - - 32MX795F512H - - 80 MHz - - 512 Kb - - 128 Kb - -Generic -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``bluepill_f103c8`` - - `BluePill F103C8 `_ - - STM32F103C8T6 - - 72 MHz - - 64 Kb - - 20 Kb - - * - ``genericSTM32F103C8`` - - `STM32F103C8 (20k RAM. 64k Flash) `_ - - STM32F103C8 - - 72 MHz - - 64 Kb - - 20 Kb - - * - ``genericSTM32F103CB`` - - `STM32F103CB (20k RAM. 128k Flash) `_ - - STM32F103CB - - 72 MHz - - 128 Kb - - 20 Kb - - * - ``genericSTM32F103R8`` - - `STM32F103R8 (20k RAM. 64 Flash) `_ - - STM32F103R8 - - 72 MHz - - 64 Kb - - 20 Kb - - * - ``genericSTM32F103RB`` - - `STM32F103RB (20k RAM. 128k Flash) `_ - - STM32F103RB - - 72 MHz - - 128 Kb - - 20 Kb - - * - ``genericSTM32F103RC`` - - `STM32F103RC (48k RAM. 256k Flash) `_ - - STM32F103RC - - 72 MHz - - 256 Kb - - 48 Kb - - * - ``genericSTM32F103RE`` - - `STM32F103RE (64k RAM. 512k Flash) `_ - - STM32F103RE - - 72 MHz - - 512 Kb - - 64 Kb - -Generic ATTiny -~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``attiny13`` - - `Generic ATTiny13 `_ - - ATTINY13 - - 9 MHz - - 1 Kb - - 0.0625 Kb - - * - ``attiny24`` - - `Generic ATTiny24 `_ - - ATTINY24 - - 8 MHz - - 2 Kb - - 0.125 Kb - - * - ``attiny25`` - - `Generic ATTiny25 `_ - - ATTINY25 - - 8 MHz - - 2 Kb - - 0.125 Kb - - * - ``attiny44`` - - `Generic ATTiny44 `_ - - ATTINY44 - - 8 MHz - - 4 Kb - - 0.25 Kb - - * - ``attiny45`` - - `Generic ATTiny45 `_ - - ATTINY45 - - 8 MHz - - 4 Kb - - 0.25 Kb - - * - ``attiny84`` - - `Generic ATTiny84 `_ - - ATTINY84 - - 8 MHz - - 8 Kb - - 0.5 Kb - - * - ``attiny85`` - - `Generic ATTiny85 `_ - - ATTINY85 - - 8 MHz - - 8 Kb - - 0.5 Kb - -Intel -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``genuino101`` - - `Arduino/Genuino 101 `_ - - ARCV2EM - - 32 MHz - - 192 Kb - - 80 Kb - -LightUp -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lightup`` - - `LightUp `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - -Linino -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``one`` - - `Linino One `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - -LowPowerLab -~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``moteino`` - - `LowPowerLab Moteino `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``moteinomega`` - - `LowPowerLab MoteinoMEGA `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - -Mcudude -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``mightycore1284`` - - `MightyCore ATmega1284 `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``mightycore16`` - - `MightyCore ATmega16 `_ - - ATMEGA16 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``mightycore164`` - - `MightyCore ATmega164 `_ - - ATMEGA164P - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``mightycore32`` - - `MightyCore ATmega32 `_ - - ATMEGA32 - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``mightycore324`` - - `MightyCore ATmega324 `_ - - ATMEGA324P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``mightycore644`` - - `MightyCore ATmega644 `_ - - ATMEGA644P - - 16 MHz - - 64 Kb - - 4 Kb - - * - ``mightycore8535`` - - `MightyCore ATmega8535 `_ - - ATMEGA16 - - 16 MHz - - 8 Kb - - 0.5 Kb - -Microduino -~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``1284p16m`` - - `Microduino Core+ (ATmega1284P@16M,5V) `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``1284p8m`` - - `Microduino Core+ (ATmega1284P@8M,3.3V) `_ - - ATMEGA1284P - - 8 MHz - - 128 Kb - - 16 Kb - - * - ``168pa16m`` - - `Microduino Core (Atmega168PA@16M,5V) `_ - - ATMEGA168P - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``168pa8m`` - - `Microduino Core (Atmega168PA@8M,3.3V) `_ - - ATMEGA168P - - 8 MHz - - 16 Kb - - 1 Kb - - * - ``328p16m`` - - `Microduino Core (Atmega328P@16M,5V) `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``328p8m`` - - `Microduino Core (Atmega328P@8M,3.3V) `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``32u416m`` - - `Microduino Core USB (ATmega32U4@16M,5V) `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``644pa16m`` - - `Microduino Core+ (Atmega644PA@16M,5V) `_ - - ATMEGA644P - - 16 MHz - - 64 Kb - - 4 Kb - - * - ``644pa8m`` - - `Microduino Core+ (Atmega644PA@8M,3.3V) `_ - - ATMEGA644P - - 8 MHz - - 64 Kb - - 4 Kb - -NodeMCU -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``nodemcu`` - - `NodeMCU 0.9 (ESP-12 Module) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``nodemcuv2`` - - `NodeMCU 1.0 (ESP-12E Module) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -Olimex -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``maple`` - - `Olimexino STM32 `_ - - STM32F103RB_MAPLE - - 72 MHz - - 128 Kb - - 16.6015625 Kb - - * - ``modwifi`` - - `Olimex MOD-WIFI-ESP8266(-DEV) `_ - - ESP8266 - - 80 MHz - - 2048 Kb - - 80 Kb - - * - ``pinguino32`` - - `Olimex PIC32-PINGUINO `_ - - 32MX440F256H - - 80 MHz - - 256 Kb - - 32 Kb - -OpenBCI -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``openbci`` - - `OpenBCI 32bit `_ - - 32MX250F128B - - 40 MHz - - 128 Kb - - 32 Kb - -OpenEnergyMonitor -~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``emonpi`` - - `OpenEnergyMonitor emonPi `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -PONTECH -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``quick240_usb`` - - `PONTECH quicK240 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``usbono_pic32`` - - `PONTECH UAV100 `_ - - 32MX440F512H - - 80 MHz - - 512 Kb - - 32 Kb - -PanStamp -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``panStampAVR`` - - `PanStamp AVR `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``panStampNRG`` - - `PanStamp NRG 1.1 `_ - - CC430F5137 - - 12 MHz - - 32 Kb - - 4 Kb - -Pinoccio -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``pinoccio`` - - `Pinoccio Scout `_ - - ATMEGA256RFR2 - - 16 MHz - - 256 Kb - - 32 Kb - -Punch Through -~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lightblue-bean`` - - `LightBlue Bean `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - -Quirkbot -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``quirkbot`` - - `Quirkbot `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - -RFduino -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``rfduino`` - - `RFduino `_ - - NRF51822 - - 16 MHz - - 128 Kb - - 8 Kb - -RedBearLab -~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``blend`` - - `RedBearLab Blend `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``blendmicro16`` - - `RedBearLab Blend Micro 3.3V/16MHz (overclock) `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``blendmicro8`` - - `RedBearLab Blend Micro 3.3V/8MHz `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - -RepRap -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``reprap_rambo`` - - `RepRap RAMBo `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - -SainSmart -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sainSmartDue`` - - `SainSmart Due (Programming Port) `_ - - AT91SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - - * - ``sainSmartDueUSB`` - - `SainSmart Due (USB Native Port) `_ - - AT91SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - -Sanguino -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sanguino_atmega1284_8m`` - - `Sanguino ATmega1284p (8MHz) `_ - - ATMEGA1284P - - 8 MHz - - 128 Kb - - 16 Kb - - * - ``sanguino_atmega1284p`` - - `Sanguino ATmega1284p (16MHz) `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``sanguino_atmega644`` - - `Sanguino ATmega644 or ATmega644A (16 MHz) `_ - - ATMEGA644 - - 16 MHz - - 64 Kb - - 4 Kb - - * - ``sanguino_atmega644_8m`` - - `Sanguino ATmega644 or ATmega644A (8 MHz) `_ - - ATMEGA644 - - 8 MHz - - 64 Kb - - 4 Kb - - * - ``sanguino_atmega644p`` - - `Sanguino ATmega644P or ATmega644PA (16 MHz) `_ - - ATMEGA644P - - 16 MHz - - 64 Kb - - 4 Kb - - * - ``sanguino_atmega644p_8m`` - - `Sanguino ATmega644P or ATmega644PA (8 MHz) `_ - - ATMEGA644P - - 8 MHz - - 64 Kb - - 4 Kb - -SeeedStudio -~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``cui32stem`` - - `SeeedStudio CUI32stem `_ - - 32MX795F512H - - 80 MHz - - 512 Kb - - 128 Kb - -SparkFun -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sparkfunBlynk`` - - `SparkFun Blynk Board `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``sparkfun_digitalsandbox`` - - `SparkFun Digital Sandbox `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``sparkfun_fiov3`` - - `SparkFun Fio V3 3.3V/8MHz `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``sparkfun_makeymakey`` - - `SparkFun Makey Makey `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``sparkfun_megamini`` - - `SparkFun Mega Pro Mini 3.3V `_ - - ATMEGA2560 - - 8 MHz - - 256 Kb - - 8 Kb - - * - ``sparkfun_megapro16MHz`` - - `SparkFun Mega Pro 5V/16MHz `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - - * - ``sparkfun_megapro8MHz`` - - `SparkFun Mega Pro 3.3V/8MHz `_ - - ATMEGA2560 - - 8 MHz - - 256 Kb - - 8 Kb - - * - ``sparkfun_promicro16`` - - `SparkFun Pro Micro 5V/16MHz `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``sparkfun_promicro8`` - - `SparkFun Pro Micro 3.3V/8MHz `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``sparkfun_redboard`` - - `SparkFun RedBoard `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``sparkfun_samd21_dev_usb`` - - `SparkFun SAMD21 Dev Breakout `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``sparkfun_samd21_mini_usb`` - - `SparkFun SAMD21 Mini Breakout `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``thing`` - - `SparkFun ESP8266 Thing `_ - - ESP8266 - - 80 MHz - - 512 Kb - - 80 Kb - - * - ``thingdev`` - - `SparkFun ESP8266 Thing Dev `_ - - ESP8266 - - 80 MHz - - 512 Kb - - 80 Kb - - * - ``uview`` - - `SparkFun MicroView `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -SweetPea -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``esp210`` - - `SweetPea ESP-210 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -Teensy -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``teensy20`` - - `Teensy 2.0 `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``teensy20pp`` - - `Teensy++ 2.0 `_ - - AT90USB1286 - - 16 MHz - - 128 Kb - - 8 Kb - - * - ``teensy30`` - - `Teensy 3.0 `_ - - MK20DX128 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``teensy31`` - - `Teensy 3.1 / 3.2 `_ - - MK20DX256 - - 72 MHz - - 256 Kb - - 64 Kb - - * - ``teensy35`` - - `Teensy 3.5 `_ - - MK64FX512 - - 120 MHz - - 512 Kb - - 192 Kb - - * - ``teensy36`` - - `Teensy 3.6 `_ - - MK66FX1M0 - - 180 MHz - - 1024 Kb - - 256 Kb - - * - ``teensylc`` - - `Teensy LC `_ - - MKL26Z64 - - 48 MHz - - 64 Kb - - 8 Kb - -ThaiEasyElec -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espinotee`` - - `ThaiEasyElec ESPino `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -TinyCircuits -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``tinyduino`` - - `TinyCircuits TinyDuino Processor Board `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``tinylily`` - - `TinyCircuits TinyLily Mini Processor `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - -UBW32 -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``ubw32_mx460`` - - `UBW32 MX460 `_ - - 32MX460F512L - - 80 MHz - - 512 Kb - - 32 Kb - - * - ``ubw32_mx795`` - - `UBW32 MX795 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - -WeMos -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``d1`` - - `WeMos D1(Retired) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``d1_mini`` - - `WeMos D1 R2 & mini `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -Wicked Device -~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``wildfirev2`` - - `Wicked Device WildFire V2 `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``wildfirev3`` - - `Wicked Device WildFire V3 `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - -chipKIT -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lenny`` - - `chipKIT Lenny `_ - - 32MX270F256D - - 40 MHz - - 128 Kb - - 32 Kb - -element14 -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``chipkit_pi`` - - `Element14 chipKIT Pi `_ - - 32MX250F128B - - 40 MHz - - 128 Kb - - 32 Kb - -ubIQio -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``ardhat`` - - `ubIQio Ardhat `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb diff --git a/docs/frameworks/cmsis.rst b/docs/frameworks/cmsis.rst deleted file mode 100644 index 394c652e..00000000 --- a/docs/frameworks/cmsis.rst +++ /dev/null @@ -1,116 +0,0 @@ -.. 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. - -.. _framework_cmsis: - -Framework ``cmsis`` -=================== -The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Platforms ---------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`platform_ststm32` - - The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by horizontal. - -Armstrap -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``armstrap_eagle1024`` - - `Armstrap Eagle 1024 `_ - - STM32F417VGT6 - - 168 MHz - - 1024 Kb - - 192 Kb - - * - ``armstrap_eagle2048`` - - `Armstrap Eagle 2048 `_ - - STM32F427VIT6 - - 168 MHz - - 2048 Kb - - 256 Kb - - * - ``armstrap_eagle512`` - - `Armstrap Eagle 512 `_ - - STM32F407VET6 - - 168 MHz - - 512 Kb - - 192 Kb - -ST -~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``disco_f303vc`` - - `ST STM32F3DISCOVERY `_ - - STM32F303VCT6 - - 72 MHz - - 256 Kb - - 48 Kb - - * - ``disco_f407vg`` - - `ST STM32F4DISCOVERY `_ - - STM32F407VGT6 - - 168 MHz - - 1024 Kb - - 128 Kb - - * - ``disco_l152rb`` - - `ST STM32LDISCOVERY `_ - - STM32L152RBT6 - - 32 MHz - - 128 Kb - - 16 Kb - - * - ``nucleo_f401re`` - - `ST Nucleo F401RE `_ - - STM32F401RET6 - - 84 MHz - - 512 Kb - - 96 Kb - -.. include:: cmsis_extra.rst diff --git a/docs/frameworks/cmsis_extra.rst b/docs/frameworks/cmsis_extra.rst deleted file mode 100644 index fb8711ce..00000000 --- a/docs/frameworks/cmsis_extra.rst +++ /dev/null @@ -1,25 +0,0 @@ -.. 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. - -Articles --------- - -* Jan 11, 2016 - **David Mills, Ph.D.** - `STM NUCLEOF401RE TIMER IO `_ - -See more :ref:`articles`. - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for CMSIS framework `_. - -* `Blink `_ diff --git a/docs/frameworks/energia.rst b/docs/frameworks/energia.rst deleted file mode 100644 index 5235ee76..00000000 --- a/docs/frameworks/energia.rst +++ /dev/null @@ -1,139 +0,0 @@ -.. 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. - -.. _framework_energia: - -Framework ``energia`` -===================== -Energia Wiring-based framework enables pretty much anyone to start easily creating microcontroller-based projects and applications. Its easy-to-use libraries and functions provide developers of all experience levels to start blinking LEDs, buzzing buzzers and sensing sensors more quickly than ever before. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Platforms ---------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`platform_timsp430` - - MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications. - - * - :ref:`platform_titiva` - - Texas Instruments TM4C12x MCUs offer the industrys most popular ARM Cortex-M4 core with scalable memory and package options, unparalleled connectivity peripherals, advanced application functions, industry-leading analog integration, and extensive software solutions. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by horizontal. - -TI -~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lplm4f120h5qr`` - - `TI LaunchPad (Stellaris) w/ lm4f120 (80MHz) `_ - - LPLM4F120H5QR - - 80 MHz - - 256 Kb - - 32 Kb - - * - ``lpmsp430f5529`` - - `TI LaunchPad w/ msp430f5529 (16MHz) `_ - - MSP430F5529 - - 16 MHz - - 128 Kb - - 1 Kb - - * - ``lpmsp430f5529_25`` - - `TI LaunchPad w/ msp430f5529 (25MHz) `_ - - MSP430F5529 - - 25 MHz - - 128 Kb - - 1 Kb - - * - ``lpmsp430fr4133`` - - `TI LaunchPad w/ msp430fr4133 `_ - - MSP430FR4133 - - 16 MHz - - 16 Kb - - 2 Kb - - * - ``lpmsp430fr5739`` - - `TI FraunchPad w/ msp430fr5739 `_ - - MSP430FR5739 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``lpmsp430fr5969`` - - `TI LaunchPad w/ msp430fr5969 `_ - - MSP430FR5969 - - 8 MHz - - 64 Kb - - 1 Kb - - * - ``lpmsp430fr6989`` - - `TI LaunchPad w/ msp430fr6989 `_ - - MSP430FR6989 - - 16 MHz - - 128 Kb - - 2 Kb - - * - ``lpmsp430g2231`` - - `TI LaunchPad w/ msp430g2231 (1 MHz) `_ - - MSP430G2231 - - 1 MHz - - 2 Kb - - 0.125 Kb - - * - ``lpmsp430g2452`` - - `TI LaunchPad w/ msp430g2452 (16MHz) `_ - - MSP430G2452 - - 16 MHz - - 8 Kb - - 0.25 Kb - - * - ``lpmsp430g2553`` - - `TI LaunchPad w/ msp430g2553 (16MHz) `_ - - MSP430G2553 - - 16 MHz - - 16 Kb - - 0.5 Kb - - * - ``lptm4c1230c3pm`` - - `TI LaunchPad (Tiva C) w/ tm4c123 (80MHz) `_ - - LPTM4C1230C3PM - - 80 MHz - - 256 Kb - - 32 Kb - - * - ``lptm4c1294ncpdt`` - - `TI LaunchPad (Tiva C) w/ tm4c129 (120MHz) `_ - - LPTM4C1294NCPDT - - 120 MHz - - 1024 Kb - - 256 Kb diff --git a/docs/frameworks/index.rst b/docs/frameworks/index.rst deleted file mode 100644 index dc925667..00000000 --- a/docs/frameworks/index.rst +++ /dev/null @@ -1,27 +0,0 @@ -.. 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. - -.. _frameworks: - -Frameworks -========== - -.. toctree:: - :maxdepth: 2 - - arduino - cmsis - energia - libopencm3 - mbed - simba - spl - wiringpi diff --git a/docs/frameworks/libopencm3.rst b/docs/frameworks/libopencm3.rst deleted file mode 100644 index ea45d299..00000000 --- a/docs/frameworks/libopencm3.rst +++ /dev/null @@ -1,119 +0,0 @@ -.. 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. - -.. _framework_libopencm3: - -Framework ``libopencm3`` -======================== -The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Platforms ---------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`platform_ststm32` - - The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development. - - * - :ref:`platform_titiva` - - Texas Instruments TM4C12x MCUs offer the industrys most popular ARM Cortex-M4 core with scalable memory and package options, unparalleled connectivity peripherals, advanced application functions, industry-leading analog integration, and extensive software solutions. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by horizontal. - -ST -~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``disco_f303vc`` - - `ST STM32F3DISCOVERY `_ - - STM32F303VCT6 - - 72 MHz - - 256 Kb - - 48 Kb - - * - ``disco_f407vg`` - - `ST STM32F4DISCOVERY `_ - - STM32F407VGT6 - - 168 MHz - - 1024 Kb - - 128 Kb - - * - ``disco_l152rb`` - - `ST STM32LDISCOVERY `_ - - STM32L152RBT6 - - 32 MHz - - 128 Kb - - 16 Kb - - * - ``nucleo_f103rb`` - - `ST Nucleo F103RB `_ - - STM32F103RBT6 - - 72 MHz - - 128 Kb - - 20 Kb - -TI -~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lplm4f120h5qr`` - - `TI LaunchPad (Stellaris) w/ lm4f120 (80MHz) `_ - - LPLM4F120H5QR - - 80 MHz - - 256 Kb - - 32 Kb - - * - ``lptm4c1230c3pm`` - - `TI LaunchPad (Tiva C) w/ tm4c123 (80MHz) `_ - - LPTM4C1230C3PM - - 80 MHz - - 256 Kb - - 32 Kb - - * - ``lptm4c1294ncpdt`` - - `TI LaunchPad (Tiva C) w/ tm4c129 (120MHz) `_ - - LPTM4C1294NCPDT - - 120 MHz - - 1024 Kb - - 256 Kb - -.. include:: libopencm3_extra.rst diff --git a/docs/frameworks/libopencm3_extra.rst b/docs/frameworks/libopencm3_extra.rst deleted file mode 100644 index 54f9050b..00000000 --- a/docs/frameworks/libopencm3_extra.rst +++ /dev/null @@ -1,18 +0,0 @@ -.. 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. - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for libOpenCM3 framework `_. - -* `Blink `_ diff --git a/docs/frameworks/mbed.rst b/docs/frameworks/mbed.rst deleted file mode 100644 index 7a408511..00000000 --- a/docs/frameworks/mbed.rst +++ /dev/null @@ -1,1199 +0,0 @@ -.. 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. - -.. _framework_mbed: - -Framework ``mbed`` -================== -The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Platforms ---------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`platform_atmelsam` - - Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix. - - * - :ref:`platform_freescalekinetis` - - Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration. - - * - :ref:`platform_nordicnrf51` - - The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell. - - * - :ref:`platform_nxplpc` - - The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals. - - * - :ref:`platform_siliconlabsefm32` - - Silicon Labs EFM32 Gecko 32-bit microcontroller (MCU) family includes devices that offer flash memory configurations up to 256 kB, 32 kB of RAM and CPU speeds up to 48 MHz. Based on the powerful ARM Cortex-M core, the Gecko family features innovative low energy techniques, short wake-up time from energy saving modes and a wide selection of peripherals, making it ideal for battery operated applications and other systems requiring high performance and low-energy consumption. - - * - :ref:`platform_ststm32` - - The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development. - - * - :ref:`platform_teensy` - - Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by horizontal. - -96Boards -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``b96b_f446ve`` - - `96Boards B96B-F446VE `_ - - STM32F446VET6 - - 168 MHz - - 512 Kb - - 128 Kb - -Atmel -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``samd21_xpro`` - - `Atmel SAMD21-XPRO `_ - - ATSAMD21J18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``saml21_xpro_b`` - - `Atmel SAML21-XPRO-B `_ - - ATSAML21J18B - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``samr21_xpro`` - - `Atmel ATSAMR21-XPRO `_ - - ATSAMR21G18A - - 48 MHz - - 256 Kb - - 32 Kb - -BBC -~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``bbcmicrobit`` - - `BBC micro:bit `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - -CQ Publishing -~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc11u35_501`` - - `CQ Publishing TG-LPC11U35-501 `_ - - LPC11U35 - - 48 MHz - - 64 Kb - - 10 Kb - -Delta -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``dfcm_nnn40`` - - `Delta DFCM-NNN40 `_ - - NRF51822 - - 32 MHz - - 256 Kb - - 32 Kb - -Elektor Labs -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``elektor_cocorico`` - - `CoCo-ri-Co! `_ - - LPC812 - - 30 MHz - - 16 Kb - - 4 Kb - -Embedded Artists -~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc11u35`` - - `EA LPC11U35 QuickStart Board `_ - - LPC11U35 - - 48 MHz - - 64 Kb - - 10 Kb - - * - ``lpc4088`` - - `Embedded Artists LPC4088 QuickStart Board `_ - - LPC4088 - - 120 MHz - - 512 Kb - - 96 Kb - - * - ``lpc4088_dm`` - - `Embedded Artists LPC4088 Display Module `_ - - LPC4088 - - 120 MHz - - 512 Kb - - 96 Kb - -Freescale -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``IBMEthernetKit`` - - `Ethernet IoT Starter Kit `_ - - MK64FN1M0VLL12 - - 120 MHz - - 1024 Kb - - 256 Kb - - * - ``frdm_k20d50m`` - - `Freescale Kinetis FRDM-K20D50M `_ - - MK20DX128VLH5 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``frdm_k22f`` - - `Freescale Kinetis FRDM-K22F `_ - - MK22FN512VLH12 - - 120 MHz - - 512 Kb - - 128 Kb - - * - ``frdm_k64f`` - - `Freescale Kinetis FRDM-K64F `_ - - MK64FN1M0VLL12 - - 120 MHz - - 1024 Kb - - 256 Kb - - * - ``frdm_kl05z`` - - `Freescale Kinetis FRDM-KL05Z `_ - - MKL05Z32VFM4 - - 48 MHz - - 32 Kb - - 4 Kb - - * - ``frdm_kl25z`` - - `Freescale Kinetis FRDM-KL25Z `_ - - MKL25Z128VLK4 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``frdm_kl26z`` - - `Freescale Kinetis FRDM-KL26Z `_ - - MKL26Z128VLH4 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``frdm_kl27z`` - - `Freescale Kinetis FRDM-KL27Z `_ - - MKL27Z64VLH4 - - 48 MHz - - 64 Kb - - 16 Kb - - * - ``frdm_kl43z`` - - `Freescale Kinetis FRDM-KL43Z `_ - - MKL43Z256VLH4 - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``frdm_kl46z`` - - `Freescale Kinetis FRDM-KL46Z `_ - - MKL46Z256VLL4 - - 48 MHz - - 256 Kb - - 32 Kb - -GHI Electronics -~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``oc_mbuino`` - - `mBuino `_ - - LPC11U24 - - 50 MHz - - 32 Kb - - 10 Kb - -Generic -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``bluepill_f103c8`` - - `BluePill F103C8 `_ - - STM32F103C8T6 - - 72 MHz - - 64 Kb - - 20 Kb - -JKSoft -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``wallbot_ble`` - - `JKSoft Wallbot BLE `_ - - NRF51822 - - 16 MHz - - 128 Kb - - 16 Kb - -Micromint -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc4330_m4`` - - `Bambino-210E `_ - - LPC4330 - - 204 MHz - - 8192 Kb - - 264 Kb - -MikroElektronika -~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``hexiwear`` - - `Hexiwear `_ - - MK64FN1M0VDC12 - - 120 MHz - - 1024 Kb - - 256 Kb - -MultiTech -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``mts_mdot_f405rg`` - - `MultiTech mDot `_ - - STM32F411RET6 - - 100 MHz - - 512 Kb - - 128 Kb - - * - ``mts_mdot_f411re`` - - `MultiTech mDot F411 `_ - - STM32F411RET6 - - 100 MHz - - 512 Kb - - 128 Kb - -NGX Technologies -~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``blueboard_lpc11u24`` - - `NGX Technologies BlueBoard-LPC11U24 `_ - - LPC11U24 - - 48 MHz - - 32 Kb - - 8 Kb - -NXP -~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc11c24`` - - `NXP LPC11C24 `_ - - LPC11C24 - - 48 MHz - - 32 Kb - - 8 Kb - - * - ``lpc11u24`` - - `NXP mbed LPC11U24 `_ - - LPC11U24 - - 48 MHz - - 32 Kb - - 8 Kb - - * - ``lpc11u24_301`` - - `ARM mbed LPC11U24 (+CAN) `_ - - LPC11U24 - - 48 MHz - - 32 Kb - - 8 Kb - - * - ``lpc11u34_421`` - - `NXP LPC11U34 `_ - - LPC11U34 - - 48 MHz - - 64 Kb - - 8 Kb - - * - ``lpc11u37_501`` - - `NXP LPC11U37 `_ - - LPC11U37 - - 48 MHz - - 128 Kb - - 10 Kb - - * - ``lpc11u68`` - - `LPCXpresso11U68 `_ - - LPC11U68 - - 50 MHz - - 256 Kb - - 36 Kb - - * - ``lpc1549`` - - `NXP LPCXpresso1549 `_ - - LPC1549 - - 72 MHz - - 256 Kb - - 36 Kb - - * - ``lpc1768`` - - `NXP mbed LPC1768 `_ - - LPC1768 - - 96 MHz - - 512 Kb - - 64 Kb - - * - ``lpc2368`` - - `NXP LPC2368 `_ - - LPC2368 - - 72 MHz - - 512 Kb - - 58 Kb - - * - ``lpc2460`` - - `NXP LPC2460 `_ - - LPC2460 - - 72 MHz - - 64 Kb - - 16 Kb - - * - ``lpc812`` - - `NXP LPC800-MAX `_ - - LPC812 - - 30 MHz - - 16 Kb - - 4 Kb - - * - ``lpc824`` - - `LPCXpresso824-MAX `_ - - LPC824 - - 30 MHz - - 32 Kb - - 8 Kb - - * - ``micronfcboard`` - - `MicroNFCBoard `_ - - LPC11U34 - - 48 MHz - - 64 Kb - - 10 Kb - -Nordic -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``nrf51_dk`` - - `Nordic nRF51-DK `_ - - NRF51822 - - 32 MHz - - 256 Kb - - 32 Kb - - * - ``nrf51_dongle`` - - `Nordic nRF51-Dongle `_ - - NRF51822 - - 32 MHz - - 256 Kb - - 32 Kb - - * - ``nrf51_mkit`` - - `Nordic nRF51822-mKIT `_ - - NRF51822 - - 16 MHz - - 128 Kb - - 16 Kb - -Outrageous Circuits -~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``mbuino`` - - `Outrageous Circuits mBuino `_ - - LPC11U24 - - 48 MHz - - 32 Kb - - 8 Kb - -RedBearLab -~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``redBearLab`` - - `RedBearLab nRF51822 `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - - * - ``redBearLabBLENano`` - - `RedBearLab BLE Nano `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - -ST -~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``disco_f051r8`` - - `ST STM32F0DISCOVERY `_ - - STM32F051R8T6 - - 48 MHz - - 64 Kb - - 8 Kb - - * - ``disco_f100rb`` - - `ST STM32VLDISCOVERY `_ - - STM32F100RBT6 - - 24 MHz - - 128 Kb - - 8 Kb - - * - ``disco_f303vc`` - - `ST STM32F3DISCOVERY `_ - - STM32F303VCT6 - - 72 MHz - - 256 Kb - - 48 Kb - - * - ``disco_f334c8`` - - `ST 32F3348DISCOVERY `_ - - STM32F334C8T6 - - 72 MHz - - 64 Kb - - 12 Kb - - * - ``disco_f401vc`` - - `ST 32F401CDISCOVERY `_ - - STM32F401VCT6 - - 84 MHz - - 256 Kb - - 64 Kb - - * - ``disco_f407vg`` - - `ST STM32F4DISCOVERY `_ - - STM32F407VGT6 - - 168 MHz - - 1024 Kb - - 128 Kb - - * - ``disco_f429zi`` - - `ST 32F429IDISCOVERY `_ - - STM32F429ZIT6 - - 180 MHz - - 2048 Kb - - 256 Kb - - * - ``disco_f469ni`` - - `ST 32F469IDISCOVERY `_ - - STM32F469NIH6 - - 180 MHz - - 1024 Kb - - 384 Kb - - * - ``disco_f746ng`` - - `ST 32F746GDISCOVERY `_ - - STM32F746NGH6 - - 216 MHz - - 1024 Kb - - 320 Kb - - * - ``disco_l053c8`` - - `ST 32L0538DISCOVERY `_ - - STM32L053C8T6 - - 32 MHz - - 64 Kb - - 8 Kb - - * - ``disco_l476vg`` - - `ST 32L476GDISCOVERY `_ - - STM32L476VGT6 - - 80 MHz - - 1024 Kb - - 128 Kb - - * - ``nucleo_f030r8`` - - `ST Nucleo F030R8 `_ - - STM32F030R8T6 - - 48 MHz - - 64 Kb - - 8 Kb - - * - ``nucleo_f031k6`` - - `ST Nucleo F031K6 `_ - - STM32F031K6T6 - - 48 MHz - - 32 Kb - - 4 Kb - - * - ``nucleo_f042k6`` - - `ST Nucleo F042K6 `_ - - STM32F042K6T6 - - 48 MHz - - 32 Kb - - 6 Kb - - * - ``nucleo_f070rb`` - - `ST Nucleo F070RB `_ - - STM32F070RBT6 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``nucleo_f072rb`` - - `ST Nucleo F072RB `_ - - STM32F072RBT6 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``nucleo_f091rc`` - - `ST Nucleo F091RC `_ - - STM32F091RCT6 - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``nucleo_f103rb`` - - `ST Nucleo F103RB `_ - - STM32F103RBT6 - - 72 MHz - - 128 Kb - - 20 Kb - - * - ``nucleo_f207zg`` - - `ST Nucleo F207ZG `_ - - STM32F207ZGT6 - - 120 MHz - - 1024 Kb - - 128 Kb - - * - ``nucleo_f302r8`` - - `ST Nucleo F302R8 `_ - - STM32F302R8T6 - - 72 MHz - - 64 Kb - - 16 Kb - - * - ``nucleo_f303k8`` - - `ST Nucleo F303K8 `_ - - STM32F303K8T6 - - 72 MHz - - 64 Kb - - 16 Kb - - * - ``nucleo_f303re`` - - `ST Nucleo F303RE `_ - - STM32F303RET6 - - 72 MHz - - 512 Kb - - 64 Kb - - * - ``nucleo_f334r8`` - - `ST Nucleo F334R8 `_ - - STM32F334R8T6 - - 72 MHz - - 64 Kb - - 16 Kb - - * - ``nucleo_f401re`` - - `ST Nucleo F401RE `_ - - STM32F401RET6 - - 84 MHz - - 512 Kb - - 96 Kb - - * - ``nucleo_f410rb`` - - `ST Nucleo F410RB `_ - - STM32F410RBT6 - - 100 MHz - - 128 Kb - - 32 Kb - - * - ``nucleo_f411re`` - - `ST Nucleo F411RE `_ - - STM32F411RET6 - - 100 MHz - - 512 Kb - - 128 Kb - - * - ``nucleo_f429zi`` - - `ST Nucleo F429ZI `_ - - STM32F429ZIT6 - - 180 MHz - - 2048 Kb - - 256 Kb - - * - ``nucleo_f446re`` - - `ST Nucleo F446RE `_ - - STM32F446RET6 - - 180 MHz - - 512 Kb - - 128 Kb - - * - ``nucleo_f446ze`` - - `ST Nucleo F446ZE `_ - - STM32F446ZET6 - - 180 MHz - - 512 Kb - - 128 Kb - - * - ``nucleo_f746zg`` - - `ST Nucleo F746ZG `_ - - STM32F746ZGT6 - - 216 MHz - - 1024 Kb - - 320 Kb - - * - ``nucleo_f767zi`` - - `ST Nucleo F767ZI `_ - - STM32F746ZGT6 - - 216 MHz - - 2048 Kb - - 512 Kb - - * - ``nucleo_l011k4`` - - `ST Nucleo L011K4 `_ - - STM32L011K4T6 - - 32 MHz - - 16 Kb - - 2 Kb - - * - ``nucleo_l031k6`` - - `ST Nucleo L031K6 `_ - - STM32L031K6T6 - - 32 MHz - - 32 Kb - - 8 Kb - - * - ``nucleo_l053r8`` - - `ST Nucleo L053R8 `_ - - STM32L053R8T6 - - 48 MHz - - 64 Kb - - 8 Kb - - * - ``nucleo_l073rz`` - - `ST Nucleo L073RZ `_ - - STM32L073RZ - - 32 MHz - - 192 Kb - - 20 Kb - - * - ``nucleo_l152re`` - - `ST Nucleo L152RE `_ - - STM32L152RET6 - - 32 MHz - - 512 Kb - - 80 Kb - - * - ``nucleo_l432kc`` - - `ST Nucleo L432KC `_ - - STM32L432KCU6 - - 80 MHz - - 256 Kb - - 64 Kb - - * - ``nucleo_l476rg`` - - `ST Nucleo L476RG `_ - - STM32L476RGT6 - - 80 MHz - - 1024 Kb - - 128 Kb - -SeeedStudio -~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``seeedArchBLE`` - - `Seeed Arch BLE `_ - - NRF51822 - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``seeedArchGPRS`` - - `Seeed Arch GPRS V2 `_ - - LPC11U37 - - 48 MHz - - 128 Kb - - 10 Kb - - * - ``seeedArchLink`` - - `Seeed Arch Link `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - - * - ``seeedArchMax`` - - `Seeed Arch Max `_ - - STM32F407VET6 - - 168 MHz - - 512 Kb - - 192 Kb - - * - ``seeedArchPro`` - - `Seeed Arch Pro `_ - - LPC1768 - - 96 MHz - - 512 Kb - - 64 Kb - - * - ``seeedTinyBLE`` - - `Seeed Tiny BLE `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - - * - ``xadow_m0`` - - `Seeed Xadow M0 `_ - - LPC11U35 - - 48 MHz - - 64 Kb - - 10 Kb - -Silicon Labs -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``efm32gg_stk3700`` - - `Silicon Labs EFM32GG-STK3700 (Giant Gecko) `_ - - EFM32GG990F1024 - - 48 MHz - - 1024 Kb - - 128 Kb - - * - ``efm32hg_stk3400`` - - `Silicon Labs SLSTK3400A USB-enabled (Happy Gecko) `_ - - EFM32HG322F64 - - 24 MHz - - 64 Kb - - 8 Kb - - * - ``efm32lg_stk3600`` - - `Silicon Labs EFM32LG-STK3600 (Leopard Gecko) `_ - - EFM32LG990F256 - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``efm32pg_stk3401`` - - `Silicon Labs SLSTK3401A (Pearl Gecko) `_ - - EFM32PG1B200F256 - - 40 MHz - - 256 Kb - - 32 Kb - - * - ``efm32wg_stk3800`` - - `Silicon Labs EFM32WG-STK3800 (Wonder Gecko) `_ - - EFM32WG990F256 - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``efm32zg_stk3200`` - - `Silicon Labs EFM32ZG-STK3200 (Zero Gecko) `_ - - EFM2ZG222F32 - - 24 MHz - - 32 Kb - - 4 Kb - -Smeshlink -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``xbed_lpc1768`` - - `Smeshlink xbed LPC1768 `_ - - LPC1768 - - 96 MHz - - 512 Kb - - 32 Kb - -Solder Splash Labs -~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``dipcortexm0`` - - `Solder Splash Labs DipCortex M0 `_ - - LPC11U24 - - 50 MHz - - 32 Kb - - 8 Kb - -SolderSplash Labs -~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc1347`` - - `DipCortex M3 `_ - - LPC1347 - - 72 MHz - - 64 Kb - - 12 Kb - -Switch Science -~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``hrm1017`` - - `Switch Science mbed HRM1017 `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - - * - ``lpc1114fn28`` - - `Switch Science mbed LPC1114FN28 `_ - - LPC1114FN28 - - 48 MHz - - 32 Kb - - 4 Kb - - * - ``ssci824`` - - `Switch Science mbed LPC824 `_ - - LPC824 - - 30 MHz - - 32 Kb - - 8 Kb - - * - ``ty51822r3`` - - `Switch Science mbed TY51822r3 `_ - - NRF51822 - - 32 MHz - - 256 Kb - - 32 Kb - -Teensy -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``teensy31`` - - `Teensy 3.1 / 3.2 `_ - - MK20DX256 - - 72 MHz - - 256 Kb - - 64 Kb - -u-blox -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``ubloxc027`` - - `u-blox C027 `_ - - LPC1768 - - 96 MHz - - 512 Kb - - 64 Kb - -y5 design -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``nrf51822_y5_mbug`` - - `y5 nRF51822 mbug `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - -.. include:: mbed_extra.rst diff --git a/docs/frameworks/mbed_extra.rst b/docs/frameworks/mbed_extra.rst deleted file mode 100644 index 4da14956..00000000 --- a/docs/frameworks/mbed_extra.rst +++ /dev/null @@ -1,32 +0,0 @@ -.. 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. - -Articles --------- - -* Dec 15, 2015 - **stastaka** - `PlatformIOでカスタムボードを使う (Use a custom board for PlatformIO, Japanese) `_ -* Nov 06, 2015 - **nocd5** - `PlatformIOでmbedをオフラインビルドしSTM32 Nucleoボードでmrubyを使う (Use mruby in the offline build for STM32 Nucleo board with mbed and PlatformIO, Japanese) `_ -* Oct 21, 2015 - **Vittorio Zaccaria** - `Using a cheap STM32 Nucleo to teach remote sensor monitoring `_ -* Sep 01, 2015 - **Thomas P. Weldon, Ph.D.** - `Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation `_ - -See more :ref:`articles`. - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for MBED framework `_. - -* `Blink `_ -* `DSP `_ -* `HTTP Client `_ -* `RTOS `_ -* `Serial `_ diff --git a/docs/frameworks/simba.rst b/docs/frameworks/simba.rst deleted file mode 100644 index 99c80e16..00000000 --- a/docs/frameworks/simba.rst +++ /dev/null @@ -1,169 +0,0 @@ -.. 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. - -.. _framework_simba: - -Framework ``simba`` -=================== -Simba is an RTOS and build framework. It aims to make embedded programming easy and portable. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Platforms ---------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`platform_atmelavr` - - Atmel AVR 8- and 32-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industrys most code-efficient architecture for C and assembly programming. - - * - :ref:`platform_atmelsam` - - Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix. - - * - :ref:`platform_espressif8266` - - Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by horizontal. - -Adafruit -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``huzzah`` - - `Adafruit HUZZAH ESP8266 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -Arduino -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``due`` - - `Arduino Due (Programming Port) `_ - - SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - - * - ``megaatmega2560`` - - `Arduino Mega or Mega 2560 ATmega2560 (Mega 2560) `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - - * - ``nanoatmega328`` - - `Arduino Nano ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``uno`` - - `Arduino Uno `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -Espressif -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``esp01`` - - `Espressif Generic ESP8266 ESP-01 512k `_ - - ESP8266 - - 80 MHz - - 512 Kb - - 80 Kb - - * - ``esp01_1m`` - - `Espressif Generic ESP8266 ESP-01 1M `_ - - ESP8266 - - 80 MHz - - 1024 Kb - - 80 Kb - - * - ``esp12e`` - - `Espressif ESP8266 ESP-12E `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -NodeMCU -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``nodemcu`` - - `NodeMCU 0.9 (ESP-12 Module) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``nodemcuv2`` - - `NodeMCU 1.0 (ESP-12E Module) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -.. include:: simba_extra.rst diff --git a/docs/frameworks/simba_extra.rst b/docs/frameworks/simba_extra.rst deleted file mode 100755 index aa4c7298..00000000 --- a/docs/frameworks/simba_extra.rst +++ /dev/null @@ -1,18 +0,0 @@ -.. 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. - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for Simba framework `_. - -* `Blink `_ diff --git a/docs/frameworks/spl.rst b/docs/frameworks/spl.rst deleted file mode 100644 index d9203e8b..00000000 --- a/docs/frameworks/spl.rst +++ /dev/null @@ -1,116 +0,0 @@ -.. 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. - -.. _framework_spl: - -Framework ``spl`` -================= -The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Platforms ---------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`platform_ststm32` - - The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by horizontal. - -Armstrap -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``armstrap_eagle1024`` - - `Armstrap Eagle 1024 `_ - - STM32F417VGT6 - - 168 MHz - - 1024 Kb - - 192 Kb - - * - ``armstrap_eagle2048`` - - `Armstrap Eagle 2048 `_ - - STM32F427VIT6 - - 168 MHz - - 2048 Kb - - 256 Kb - - * - ``armstrap_eagle512`` - - `Armstrap Eagle 512 `_ - - STM32F407VET6 - - 168 MHz - - 512 Kb - - 192 Kb - -ST -~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``disco_f303vc`` - - `ST STM32F3DISCOVERY `_ - - STM32F303VCT6 - - 72 MHz - - 256 Kb - - 48 Kb - - * - ``disco_f407vg`` - - `ST STM32F4DISCOVERY `_ - - STM32F407VGT6 - - 168 MHz - - 1024 Kb - - 128 Kb - - * - ``disco_l152rb`` - - `ST STM32LDISCOVERY `_ - - STM32L152RBT6 - - 32 MHz - - 128 Kb - - 16 Kb - - * - ``nucleo_f401re`` - - `ST Nucleo F401RE `_ - - STM32F401RET6 - - 84 MHz - - 512 Kb - - 96 Kb - -.. include:: spl_extra.rst diff --git a/docs/frameworks/spl_extra.rst b/docs/frameworks/spl_extra.rst deleted file mode 100644 index f84cff83..00000000 --- a/docs/frameworks/spl_extra.rst +++ /dev/null @@ -1,18 +0,0 @@ -.. 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. - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for SPL framework `_. - -* `Blink `_ diff --git a/docs/frameworks/wiringpi.rst b/docs/frameworks/wiringpi.rst deleted file mode 100644 index 93febf97..00000000 --- a/docs/frameworks/wiringpi.rst +++ /dev/null @@ -1,75 +0,0 @@ -.. 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. - -.. _framework_wiringpi: - -Framework ``wiringpi`` -====================== -WiringPi is a GPIO access library written in C for the BCM2835 used in the Raspberry Pi. It's designed to be familiar to people who have used the Arduino "wiring" system. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Platforms ---------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`platform_linux_arm` - - Linux ARM is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X, Linux ARM) you can build native application for Linux ARM platform. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by horizontal. - -Raspberry Pi -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``raspberrypi_1b`` - - `Raspberry Pi 1 Model B `_ - - BCM2835 - - 700 MHz - - 524288 Kb - - 524288 Kb - - * - ``raspberrypi_2b`` - - `Raspberry Pi 2 Model B `_ - - BCM2836 - - 900 MHz - - 1048576 Kb - - 1048576 Kb - - * - ``raspberrypi_zero`` - - `Raspberry Pi Zero `_ - - BCM2835 - - 1000 MHz - - 524288 Kb - - 524288 Kb - -.. include:: wiringpi_extra.rst diff --git a/docs/frameworks/wiringpi_extra.rst b/docs/frameworks/wiringpi_extra.rst deleted file mode 100644 index a0a33ec8..00000000 --- a/docs/frameworks/wiringpi_extra.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. 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. - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for WiringPi framework `_. - -* `Blink `_ -* `Serial `_ diff --git a/docs/history.rst b/docs/history.rst deleted file mode 100644 index 9c0c0f45..00000000 --- a/docs/history.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. 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. - -.. include:: ../HISTORY.rst diff --git a/docs/ide.rst b/docs/ide.rst deleted file mode 100644 index f41e3643..00000000 --- a/docs/ide.rst +++ /dev/null @@ -1,29 +0,0 @@ -.. 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. - -.. _ide: - -IDE Integration -=============== - -.. toctree:: - :maxdepth: 2 - - ide/atom - ide/clion - ide/codeblocks - ide/eclipse - ide/emacs - ide/netbeans - ide/qtcreator - ide/sublimetext - ide/vim - ide/visualstudio diff --git a/docs/ide/_platformio_ide_extra.rst b/docs/ide/_platformio_ide_extra.rst deleted file mode 100644 index 3b30d1d4..00000000 --- a/docs/ide/_platformio_ide_extra.rst +++ /dev/null @@ -1,31 +0,0 @@ -.. 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. - -.. note:: - We are proud to present our official `PlatformIO IDE `_ - - The next-generation integrated development environment for IoT. - - * Cross-platform build system without external dependencies to the OS software: - - - 300+ embedded boards - - 15+ development platforms - - 10+ frameworks - - * C/C++ Intelligent code completion - * C/C++ Smart code linter for super-fast coding - * Library Manager for the hundreds popular libraries - * Multi-projects workflow with multiple panes - * Multiple panes - * Themes support with dark and light colors - * Serial Port Monitor - * Built-in Terminal with :ref:`PlatformIO CLI ` tool (``pio``, ``platformio``) - - `Install PlatformIO IDE `_. diff --git a/docs/ide/atom.rst b/docs/ide/atom.rst deleted file mode 100644 index e5d0de98..00000000 --- a/docs/ide/atom.rst +++ /dev/null @@ -1,502 +0,0 @@ -.. 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. - -.. _ide_atom: - -PlatformIO IDE for Atom -======================= - -PlatformIO IDE is the next-generation integrated development environment for IoT: - -* Cross-platform build system without external dependencies to the OS software: - - - 300+ embedded boards - - 15+ development platforms - - 10+ frameworks - -* C/C++ Intelligent Code Completion -* C/C++ Smart Code Linter for rapid professional development -* Library Manager for the hundreds popular libraries -* Multi-projects workflow with multiple panes -* Themes support with dark and light colors -* Serial Port Monitor -* Built-in Terminal with :ref:`PlatformIO CLI ` tool (``pio``, ``platformio``) - - -PlatformIO IDE is based on GitHub's `Atom `_ source -code editor that's modern, approachable, yet hackable to the core; a tool you -can customize to do anything but also use productively without ever touching a -config file. - -.. image:: ../_static/ide-atom-platformio.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio.png - -.. contents:: - -Installation ------------- - -PlatformIO IDE is the next-generation integrated development environment for IoT. -It's built on top of `GitHub's Atom "hackable" text editor `_. -If you have already Atom installed, please install `PlatformIO IDE for Atom package `_. - -.. note:: - You don't need to install PlatformIO CLI separately to system. - PlatformIO CLI is built into PlatformIO IDE and you will be able to use it - within PlatformIO IDE Terminal. - -1. Python Interpreter -~~~~~~~~~~~~~~~~~~~~~ - -PlatformIO IDE is based on PlatformIO CLI which is written in -`Python `_. Python is installed by default -on the all popular OS except Windows. - -**Windows Users**, please `Download the latest Python 2.7.x `_ -and install it. **DON'T FORGET** to select ``Add python.exe to Path`` feature -on the "Customize" stage, otherwise ``python`` command will not be available. - -.. image:: ../_static/python-installer-add-path.png - -.. _ide_atom_installation_clang: - -2. Clang for Intelligent Code Autocompletion -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -PlatformIO IDE uses `clang `_ for the Intelligent Code -Autocompletion. To check that ``clang`` is available in your system, please -open Terminal and run ``clang --version``. If ``clang`` is not installed, -then install it and restart Atom: - -- **Mac OS X**: `Install the latest Xcode `_ - along with the latest Command Line Tools - (they are installed automatically when you run ``clang`` in Terminal for the - first time, or manually by running ``xcode-select --install`` -- **Windows**: Download the latest `Clang for Windows `_. - Please select "Add LLVM to the system PATH" option on the installation step. - - .. image:: ../_static/clang-installer-add-path.png - - .. warning:: - If you see ``Failed to find MSBuild toolsets directory`` error in - the installation console, please ignore it and press any key to close - this window. PlatformIO IDE uses only Clang completion engine that - should work after it without any problems. - -- **Linux**: Using package managers: ``apt-get install clang`` or ``yum install clang``. -- **Other Systems**: Download the latest `Clang for the other systems `_. - -.. warning:: - If some libraries are not visible in :ref:`ide_atom` and Code Completion or - Code Linting does not work properly, please perform ``Menu: PlatformIO > - Rebuild C/C++ Project Index (Autocomplete, Linter)`` - -3. IDE Installation -~~~~~~~~~~~~~~~~~~~ - -.. note:: - If you don't have Atom installed yet, we propose to download - `PlatformIO IDE for Atom bundle `_ - with built-in auto installer (optional). - -- Download and install the `latest official Atom text editor `_. -- Open Atom Package Manager and install `platformio-ide `_ - Atom package (be patient and let the installation complete) - - - **Mac OS X**: ``Menu: Atom > Preferences > Install`` - - **Windows**: ``Menu: File > Settings > Install`` - - **Linux**: ``Menu: Edit > Preferences > Install`` - -.. image:: ../_static/ide-atom-platformio-install.png - -.. _atom_ide_quickstart: - -Quick Start ------------ - -This tutorial introduces you to the basics of PlatformIO IDE workflow and shows -you a creation process of a simple "Blink" example. After finishing you will -have a general understanding of how to work with projects in the IDE. - -Launch -~~~~~~ - -After installation, you launch PlatformIO IDE by opening Atom. Once Atom is -open, PlatformIO IDE auto installer will continue to install dependent packages -and PlatformIO CLI. Please be patient and let the installation complete. In the -final result PlatformIO IDE will ask you to reload Atom window to apply -installed components. Please click on ``Reload Now``. After it PlatformIO IDE is -ready for using. Happy coding! - -Setting Up the Project -~~~~~~~~~~~~~~~~~~~~~~ - -1. To create a new project choose - ``Menu: PlatformIO > Initialize new Project or update existing`` or press - the corresponding icon in the PlatformIO toolbar as shown in the image below: - -.. image:: ../_static/ide-atom-platformio-quick-start-1.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-1.png - -2. In the "New Project Menu" choose desired boards (more than one board is - allowed) and select a project directory. Then press "Initialize" button: - -.. image:: ../_static/ide-atom-platformio-quick-start-2.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-2.png - -3. If everything is fine, you should see the success message and project tree - in the left panel: - -.. image:: ../_static/ide-atom-platformio-quick-start-3.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-3.png - -4. Now, let's create the first project source file: right-click on the folder - ``src`` and choose ``New File``: - -.. image:: ../_static/ide-atom-platformio-quick-start-4.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-4.png - -Enter filename ``main.cpp``: - -.. image:: ../_static/ide-atom-platformio-quick-start-5.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-5.png - -Copy the next source code to the just created file ``main.cpp``: - -.. code-block:: cpp - - /** - * Blink - * Turns on an LED on for one second, - * then off for one second, repeatedly. - */ - #include "Arduino.h" - - void setup() - { - // initialize LED digital pin as an output. - pinMode(LED_BUILTIN, OUTPUT); - } - - void loop() - { - // turn the LED on (HIGH is the voltage level) - digitalWrite(LED_BUILTIN, HIGH); - // wait for a second - delay(1000); - // turn the LED off by making the voltage LOW - digitalWrite(LED_BUILTIN, LOW); - // wait for a second - delay(1000); - } - -Process Project -~~~~~~~~~~~~~~~ - -PlatformIO IDE proposes different ways to process project (build, clean, -upload firmware, run other targets) using: - - - :ref:`atom_ide_platformio_toolbar` - - :ref:`atom_ide_platformio_menu` - - :ref:`ide_atom_building_targets` and hotkeys - -.. image:: ../_static/ide-atom-platformio-quick-start-6.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-6.png - -5. Run ``Build`` and you should see green "success" result in the building - panel: - -.. image:: ../_static/ide-atom-platformio-quick-start-7.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-7.png - -To upload firmware to the board run ``Upload``. - -6. What is more, you can run specific target or process project environment - using ``Menu: PlatformIO > Run other target...`` - or call targets list from the status bar (bottom, left corner): - -.. image:: ../_static/ide-atom-platformio-quick-start-8.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-8.png - -And select desired target: - -.. image:: ../_static/ide-atom-platformio-quick-start-9.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-9.png - -7. To run built-in terminal interface choose ``Menu: PlatformIO > Terminal`` or - press the corresponding icon in the PlatformIO toolbar: - -.. image:: ../_static/ide-atom-platformio-quick-start-10.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-10.png - -It provides you fast access to all set of powerful PlatformIO CLI commands: - -.. image:: ../_static/ide-atom-platformio-quick-start-11.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-11.png - -8. To run built-in "Serial Monitor" choose ``Menu: PlatformIO > Serial Monitor`` - or press the corresponding icon in the PlatformIO toolbar: - -.. image:: ../_static/ide-atom-platformio-quick-start-12.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-12.png - -It has several settings to adjust your connection: - -.. image:: ../_static/ide-atom-platformio-quick-start-13.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-13.png - -And allows you to communicate with your board in an easy way: - -.. image:: ../_static/ide-atom-platformio-quick-start-14.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-14.png - - -User Guide ----------- - -.. _atom_ide_platformio_menu: - -Menu item ``PlatformIO`` -~~~~~~~~~~~~~~~~~~~~~~~~ - -`platformio-ide `_ package adds to Atom -new menu item named ``Menu: PlatformIO`` (after ``Menu: Help`` item). - -.. image:: ../_static/ide-atom-platformio-menu-item.png - -.. _atom_ide_platformio_toolbar: - -PlatformIO Toolbar -~~~~~~~~~~~~~~~~~~ - -PlatformIO IDE Toolbar contains the quick access button to the popular commands. -Each button contains hint (delay mouse on it). - -.. image:: ../_static/ide-atom-platformio-toolbar.png - -* PlatformIO: Build -* PlatformIO: Upload -* PlatformIO: Clean -* || -* Initialize new PlatformIO Project or update existing... -* Add/Open Project Folder... -* Find in Project... -* || -* Terminal -* Library Manager -* Serial Monitor -* || -* Settings -* PlatformIO Documentation - -.. _ide_atom_building_targets: - -Building / Uploading / Targets -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -* ``cmd-alt-b`` / ``ctrl-alt-b`` / ``f9`` builds project without auto-uploading. -* ``cmd-alt-u`` / ``ctrl-alt-u`` builds and uploads (if no errors). -* ``cmd-alt-c`` / ``ctrl-alt-c`` cleans compiled objects. -* ``cmd-alt-t`` / ``ctrl-alt-t`` / ``f7`` run other targets (Upload using Programmer, Upload SPIFFS image, Update platforms and libraries). -* ``cmd-alt-g`` / ``ctrl-alt-g`` / ``f4`` cycles through causes of build error. -* ``cmd-alt-h`` / ``ctrl-alt-h`` / ``shift-f4`` goes to the first build error. -* ``cmd-alt-v`` / ``ctrl-alt-v`` / ``f8`` toggles the build panel. -* ``escape`` terminates build / closes the build window. - -More options ``Menu: PlatformIO > Settings > Build``. - -Intelligent Code Autocompletion -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -PlatformIO IDE uses `clang `_ for the Intelligent Code Autocompletion. -To install it or check if it is already installed, please follow to step -:ref:`ide_atom_installation_clang` from Installation guide. - -.. warning:: - The libraries which are added/installed after initializing process will - not be reflected in code linter. You need ``Menu: PlatformIO > - Rebuild C/C++ Project Index (Autocomplete, Linter)``. - -.. _ide_atom_smart_code_linter: - -Smart Code Linter -~~~~~~~~~~~~~~~~~ - -PlatformIO IDE uses PlatformIO's pre-built GCC toolchains for Smart Code Linter -and rapid professional development. -The configuration data are located in ``.gcc-flags.json``. This file will be -automatically created and preconfigured when you initialize project using -``Menu: PlatformIO > Initialize new PlatformIO Project or update existing...``. - -.. warning:: - If some libraries are not visible in :ref:`ide_atom` and Code Completion or - Code Linting does not work properly, please perform ``Menu: PlatformIO > - Rebuild C/C++ Project Index (Autocomplete, Linter)`` - - -.. error:: - If you have error like ``linter-gcc: Executable not found`` and - ``"***/.platformio/packages/toolchain-atmelavr/bin/avr-g++" not found`` - please ``Menu: PlatformIO > Initialize new PlatformIO Project or update existing...``. - -Install Shell Commands -~~~~~~~~~~~~~~~~~~~~~~ - -To install ``platformio`` and ``pio`` shell commands please use ``Menu: -PlatformIO > Install Shell Commands``. It will allow you to call PlatformIO from -other process, terminal and etc. - -Known issues ------------- - -Smart Code Linter is disabled for Arduino files -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -:ref:`ide_atom_smart_code_linter` is disabled by default for Arduino files -(``*.ino`` and ``.pde``) because they are not valid C/C++ based -source files: - -1. Missing includes such as ``#include `` -2. Function declarations are omitted. - -There are two solutions: - -.. contents:: - :local: - -.. _ide_atom_knownissues_sclarduino_manually: - -Convert Arduino file to C++ manually -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -For example, we have the next ``Demo.ino`` file: - -.. code-block:: cpp - - void setup () { - someFunction(13); - } - - void loop() { - delay(1000); - } - - void someFunction(int num) { - } - -Let's convert it to ``Demo.cpp``: - -1. Add ``#include `` at the top of the source file -2. Declare each custom function (excluding built-in, such as ``setup`` and ``loop``) - before it will be called. - -The final ``Demo.cpp``: - -.. code-block:: cpp - - #include - - void someFunction(int num); - - void setup () { - someFunction(13); - } - - void loop() { - delay(1000); - } - - void someFunction(int num) { - } - -Force Arduino file as C++ -^^^^^^^^^^^^^^^^^^^^^^^^^ - -To force Smart Code Linter to use Arduino files as C++ please - -1. Open ``.gcc-flags.json`` file from the Initialized/Imported project and add - ``-x c++`` flag at the beginning of the value of ``gccDefaultCppFlags`` field: - -.. code-block:: json - - { - "execPath": "...", - "gccDefaultCFlags": "...", - "gccDefaultCppFlags": "-x c++ -fsyntax-only ...", - "gccErrorLimit": 15, - "gccIncludePaths": "...", - "gccSuppressWarnings": false - } - -2. Perform all steps from :ref:`ide_atom_knownissues_sclarduino_manually` - (without renaming to ``.cpp``). - -Arch Linux: PlatformIO IDE Terminal issue -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Please read this article `Installing PlatformIO on Arch Linux `_. - -.. _ide_atom_faq: - -Frequently Asked Questions --------------------------- - -Keep build panel visible -~~~~~~~~~~~~~~~~~~~~~~~~ - -PlatformIO IDE hides build panel on success by default. Nevertheless, you can -keep it visible all time. Please follow to -``Menu: PlatformIO > Settings > Build`` and set ``Panel Visibility`` to -``Keep Visible``. - -Key-bindings (toggle panel): - -* ``cmd+alt+v`` - Mac OS X -* ``ctrl+alt+v`` - Windows/Linux - -Automatically save on build -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -If you want automatically save all edited files when triggering a build, please follow to -``Menu: PlatformIO > Settings > Build`` and check ``Automatically save on build``. - -Jump to Declaration -~~~~~~~~~~~~~~~~~~~ - -Click on a function/include, press ``F3`` and you will be taken directly to -the declaration for that function. - -Code Formatting -~~~~~~~~~~~~~~~ - -You need to install `atom-beautify `_ -package and `C/C++ Uncrustify Code Beautifier `_. - -Articles / Manuals ------------------- - -* Aug 18, 2016 - **Primal Cortex** - `Installing PlatformIO on Arch Linux `_ -* Jul 26, 2016 - **Embedded Systems Laboratory** - `แนะนำการใช้งาน PlatformIO IDE สำหรับบอร์ด Arduino และ ESP8266 (Get started with PlatformIO IDE for Arduino board and ESP8266, Thai) `_ -* May 30, 2016 - **Ron Moerman** - `IoT Development with PlatformIO `_ -* May 01, 2016 - **Pedro Minatel** - `PlatformIO – Uma alternativa ao Arduino IDE (PlatformIO - An alternative to the Arduino IDE, Portuguese) `_ -* Apr 23, 2016 - **Al Williams** - `Hackaday: Atomic Arduino (and Other) Development `_ -* Apr 16, 2016 - **Sathittham Sangthong** - `[PlatformIO] มาลองเล่น PlatformIO แทน Arduino IDE กัน (Let's play together with PlatformIO IDE [alternative to Arduino IDE], Thai) `_ -* Apr 11, 2016 - **Matjaz Trcek** - `Top 5 Arduino integrated development environments `_ -* Apr 06, 2016 - **Aleks** - `PlatformIO ausprobiert (Tried PlatformIO, German) `_ -* Apr 02, 2016 - **Diego Pinto** - `Você tem coragem de abandonar a IDE do Arduino? PlatformIO + Atom (Do you dare to leave the Arduino IDE? PlatformIO + Atom, Portuguese) `_ -* Mar 30, 2016 - **Brandon Cannaday** - `Getting Started with PlatformIO and ESP8266 NodeMcu `_ -* Mar 12, 2016 - **Peter Marks** - `PlatformIO, the Arduino IDE for programmers `_ -* Mar 05, 2016 - **brichacek.net** - `PlatformIO – otevřený ekosystém pro vývoj IoT (PlatformIO – an open source ecosystem for IoT development, Czech) `_ -* Mar 04, 2016 - **Ricardo Vega** - `Programa tu Arduino desde Atom (Program your Arduino from Atom, Spanish) `_ -* Feb 28, 2016 - **Alex Bloggt** - `PlatformIO vorgestellt (Introduction to PlatformIO IDE, German) `_ -* Feb 25, 2016 - **NutDIY** - `PlatformIO Blink On Nodemcu Dev Kit V1.0 (Thai) `_ - -See a full list with :ref:`articles`. diff --git a/docs/ide/clion.rst b/docs/ide/clion.rst deleted file mode 100644 index 185f503e..00000000 --- a/docs/ide/clion.rst +++ /dev/null @@ -1,150 +0,0 @@ -.. 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. - -.. _ide_clion: - -CLion -===== - -The `CLion `_ is a cross-platform C/C++ IDE -for Linux, OS X, and Windows integrated with the CMake build system. The -initial version will support the GCC and Clang compilers and GDB debugger. -Clion includes such features as a smart editor, code quality assurance, -automated refactorings, project manager, integrated version control systems. - -Refer to the `CLion Documentation `_ -page for more detailed information. - -.. image:: ../_static/ide-platformio-clion.png - :target: http://docs.platformio.org/en/stable/_static/ide-platformio-clion.png - -.. contents:: - -Integration ------------ - -Choose board ``ID`` using :ref:`cmd_boards` or `Embedded Boards Explorer `_ -command and generate project via :option:`platformio init --ide` command: - -.. code-block:: shell - - platformio init --ide clion --board - - # For example, generate project for Arduino UNO - platformio init --ide clion --board uno - -Then: - -1. Place source files (``*.c, *.cpp, *.h, *.hpp``) to ``src`` directory -2. Import this project via ``Menu: File > Import Project`` - and specify root directory where is located :ref:`projectconf` -3. Open source file from ``src`` directory -4. Build project (*DO NOT RUN*): ``Menu: Run > Build``. - -.. warning:: - - See know issue: :ref:`ide_clion_knownissues_inopde_not_supported` and how - to resolve it. - -There are 6 predefined targets for building (*NOT FOR RUNNING*, see marks on -the screenshot below): - -* ``PLATFORMIO_BUILD`` - Build project without auto-uploading -* ``PLATFORMIO_UPLOAD`` - Build and upload (if no errors) -* ``PLATFORMIO_CLEAN`` - Clean compiled objects -* ``PLATFORMIO_PROGRAM`` - Build and upload using external programmer - (if no errors), see :ref:`atmelavr_upload_via_programmer` -* ``PLATFORMIO_UPLOADFS`` - Upload files to file system SPIFFS, - see :ref:`platform_espressif_uploadfs` -* ``PLATFORMIO_UPDATE`` - Update installed platforms and libraries via :ref:`cmd_update` -* ``PLATFORMIO_REBUILD_PROJECT_INDEX`` - Rebuild C/C++ Index for the Project. - Allows to fix code completion and code linting issues. - -.. warning:: - The libraries which are added, installed or used in the project - after generating process wont be reflected in IDE. To fix it please run - ``PLATFORMIO_REBUILD_PROJECT_INDEX`` target. - -Known issues ------------- - -.. _ide_clion_knownissues_inopde_not_supported: - -Arduino ``.ino`` files are not supported -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -CLion uses "CMake" tool for code completion and code linting. As result, it -doesn't support Arduino files (``*.ino`` and ``.pde``) because they are -not valid C/C++ based source files: - -1. Missing includes such as ``#include `` -2. Function declarations are omitted. - -Convert Arduino file to C++ manually -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -For example, we have the next ``Demo.ino`` file: - -.. code-block:: cpp - - void function setup () { - someFunction(13); - } - - void function loop() { - delay(1000); - } - - void someFunction(int num) { - } - -Let's convert it to ``Demo.cpp``: - -1. Add ``#include `` at the top of the source file -2. Declare each custom function (excluding built-in, such as ``setup`` and ``loop``) - before it will be called. - -The final ``Demo.cpp``: - -.. code-block:: cpp - - #include - - void someFunction(int num); - - void function setup () { - someFunction(13); - } - - void function loop() { - delay(1000); - } - - void someFunction(int num) { - } - - -Articles / Manuals ------------------- - -* Dec 01, 2015 - **JetBrains CLion Blog** - `C++ Annotated: Fall 2015. Arduino Support in CLion using PlatformIO `_ -* Nov 22, 2015 - **Michał Seroczyński** - `Using PlatformIO to get started with Arduino in CLion IDE `_ -* Nov 09, 2015 - **ÁLvaro García Gómez** - `Programar con Arduino "The good way" (Programming with Arduino "The good way", Spanish) `_ - -See more :ref:`articles`. - -Examples --------- - -"Blink" Project -~~~~~~~~~~~~~~~ - -Source code of `CLion "Blink" Project `_. diff --git a/docs/ide/codeblocks.rst b/docs/ide/codeblocks.rst deleted file mode 100644 index 23df9db1..00000000 --- a/docs/ide/codeblocks.rst +++ /dev/null @@ -1,54 +0,0 @@ -.. 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. - -.. _ide_codeblocks: - -CodeBlocks -========== - -Code::Blocks is a free, open-source cross-platform IDE that supports multiple -compilers including GCC, Clang and Visual C++. It is developed in C++ using -wxWidgets as the GUI toolkit. Using a plugin architecture, its capabilities -and features are defined by the provided plugins. Currently, Code::Blocks is -oriented towards C, C++, and Fortran. - -CodeBlocks IDE can be downloaded from `here `_. - -.. image:: ../_static/ide-platformio-codeblocks.png - :target: http://docs.platformio.org/en/stable/_images/ide-platformio-codeblocks.png - -.. contents:: - -Integration ------------ - -Choose board ``ID`` using :ref:`cmd_boards` or `Embedded Boards Explorer `_ -command and generate project via :option:`platformio init --ide` command: - -.. code-block:: shell - - platformio init --ide codeblocks --board - - # For example, generate project for Arduino UNO - platformio init --ide codeblocks --board uno - -Then: - -1. Open this project via ``Menu: File > Open...`` -2. Add new files to ``src`` directory (``*.c, *.cpp, *.ino, etc.``) via - ``Menu: File > New > File...`` -3. Build project using ``Menu: Build > Build`` -4. Upload firmware using ``Menu: Build > Run`` - -.. warning:: - The libraries which are added, installed or used in the project - after generating process wont be reflected in IDE. To fix it you - need to reinitialize project using :ref:`cmd_init` (repeat it). diff --git a/docs/ide/eclipse.rst b/docs/ide/eclipse.rst deleted file mode 100644 index 3d21ea09..00000000 --- a/docs/ide/eclipse.rst +++ /dev/null @@ -1,105 +0,0 @@ -.. 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. - -.. _ide_eclipse: - -Eclipse -======= - -The `Eclipse CDT (C/C++ Development Tooling) `_ -Project provides a fully functional C and C++ Integrated Development -Environment based on the Eclipse platform. Features include: support for -project creation and managed build for various toolchains, standard make -build, source navigation, various source knowledge tools, such as type -hierarchy, call graph, include browser, macro definition browser, code editor -with syntax highlighting, folding and hyperlink navigation, source code -refactoring and code generation, visual debugging tools, including memory, -registers, and disassembly viewers. - -Refer to the `CDT Documentation `_ -page for more detailed information. - -.. image:: ../_static/ide-platformio-eclipse.png - :target: http://docs.platformio.org/en/stable/_static/ide-platformio-eclipse.png - -.. contents:: - -Integration ------------ - -Choose board ``ID`` using :ref:`cmd_boards` or `Embedded Boards Explorer `_ -command and generate project via :option:`platformio init --ide` command: - -.. code-block:: shell - - platformio init --ide eclipse --board - - # For example, generate project for Arduino UNO - platformio init --ide eclipse --board uno - -Then: - -1. Import this project via - ``Menu: File > Import... > General > Existing Projects into Workspace > Next`` - and specify root directory where is located :ref:`projectconf` -2. Open source file from ``src`` directory (``*.c, *.cpp, *.ino, etc.``) -3. Build project using ``Menu: Project > Build Project`` or pre-configured - Make Targets (see screenshot below): - - + ``PlatformIO: Build`` - Build project without auto-uploading - + ``PlatformIO: Clean`` - Clean compiled objects. - + ``PlatformIO: Upload`` - Build and upload (if no errors) - + ``PlatformIO: Upload using Programmer`` see :ref:`atmelavr_upload_via_programmer` - + ``PlatformIO: Upload SPIFFS image`` see :ref:`platform_espressif_uploadfs` - + ``PlatformIO: Update platforms and libraries`` - Update installed - platforms and libraries via :ref:`cmd_update` - + ``PlatformIO: Rebuild C/C++ Project Index`` - Rebuild C/C++ Index for the Project. - Allows to fix code completion and code linting issues. - -If you have some problems with unresolved includes, defines, etc., then - -1. Rebuild PlatformIO Project Index: - ``PlatformIO: Rebuild C/C++ Project Index`` target -2. Rebuild Eclipse Project Index: ``Menu: Project > C/C++ Index > Rebuild`` -3. Refresh Project, right click on the project ``Project > Refresh`` (F5) or - restart Eclipse IDE. - -.. warning:: - The libraries which are added, installed or used in the project - after generating process wont be reflected in IDE. To fix it please run - ``PlatformIO: Rebuild C/C++ Project Index`` target and right click on the - project and ``Project > Refresh`` (F5). - -Live Integration ----------------- - -Eclipse Virtual IoT Meetup: `PlatformIO: a cross-platform IoT solution to build them all! `_ - -.. image:: ../_static/ide-eclipse-virtualiot.jpg - :target: https://www.youtube.com/watch?v=6t7UbX812Yw - -Articles / Manuals ------------------- - -* May 05, 2016 - **Ivan Kravets, Ph.D. / Eclipse Virtual IoT Meetup** - `PlatformIO: a cross-platform IoT solution to build them all! `_ -* Sep 01, 2015 - **Thomas P. Weldon, Ph.D.** - `Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation `_ -* Jul 11, 2015 - **TrojanC** - `Learning Arduino GitHub Repository `_ -* June 20, 2014 - **Ivan Kravets, Ph.D.** - `Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO `_ - -See a full list with :ref:`articles`. - -Examples --------- - -"Blink" Project -^^^^^^^^^^^^^^^ - -Source code of `Eclipse "Blink" Project `_. diff --git a/docs/ide/emacs.rst b/docs/ide/emacs.rst deleted file mode 100644 index fbbc108d..00000000 --- a/docs/ide/emacs.rst +++ /dev/null @@ -1,68 +0,0 @@ -.. 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. - -.. _ide_emacs: - -Emacs -===== - -GNU Emacs is an extensible, customizable text editor - and more. At its core is -an interpreter for Emacs Lisp, a dialect of the -`Lisp programming language `_ -with extensions to support text editing. - -Refer to the `Emacs Documentation `_ -page for more detailed information. - -.. image:: ../_static/ide-platformio-emacs.png - :target: http://docs.platformio.org/en/stable/_static/ide-platformio-emacs.png - -.. contents:: - -Integration ------------ - -PlatformIO-Mode -^^^^^^^^^^^^^^^ - -An Emacs minor mode has been written to facilitate building and uploading from within Emacs. -It can be installed from the MELPA repository using ``M-x package-install``. -See the MELPA `Getting Started `_ page for more information. - -Setup instructions and an example config can be found at the `Github page `_. - -Code completion can optionally be provided by installing `irony-mode `_ - - -Project Generator -^^^^^^^^^^^^^^^^^ - -Choose board ``ID`` using :ref:`cmd_boards` or `Embedded Boards Explorer `_ -command and generate project via :option:`platformio init --ide` command: - -.. code-block:: shell - - platformio init --ide emacs --board - - -There are 6 predefined targets for building. - -* ``platformio_build`` - Build project without auto-uploading. (``C-c i b``) -* ``platformio_clean`` - Clean compiled objects. (``C-c i c``) -* ``platformio_upload`` - Build and upload (if no errors). (``C-c i u``) -* ``platformio_programmer_upload`` - Build and upload using external programmer (if no errors, see :ref:`atmelavr_upload_via_programmer`). (``C-c i p``) -* ``platformio_spiffs_upload`` - Upload files to file system SPIFFS (see :ref:`platform_espressif_uploadfs`). (``C-c i s``) -* ``platformio_update`` - Update installed platforms and libraries. (``C-c i d``) - -.. warning:: - The libraries which are added, installed or used in the project - after generating process wont be reflected in IDE. To fix it you - need to reinitialize project using :ref:`cmd_init` (repeat it). diff --git a/docs/ide/netbeans.rst b/docs/ide/netbeans.rst deleted file mode 100644 index a44a3311..00000000 --- a/docs/ide/netbeans.rst +++ /dev/null @@ -1,64 +0,0 @@ -.. 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. - -.. _ide_netbeans: - -NetBeans -======== - -NetBeans is a Java-based integrated development environment (IDE). It provides -out-of-the-box code analyzers and editors for working with the latest Java 8 -technologies--Java SE 8, Java SE Embedded 8, and Java ME Embedded 8. The IDE -also has a range of new tools for HTML5/JavaScript, in particular for Node.js, -KnockoutJS, and AngularJS; enhancements that further improve its support for -Maven and Java EE with PrimeFaces; and improvements to PHP and C/C++ support. - -NetBeans IDE can be downloaded from `here `_. -Just make sure you download the C/C++ version (or if you already use NetBeans, -install the C/C++ development plugins). - -.. image:: ../_static/ide-platformio-netbeans.png - :target: http://docs.platformio.org/en/stable/_images/ide-platformio-netbeans.png - -.. contents:: - -Integration ------------ - -Choose board ``ID`` using :ref:`cmd_boards` or `Embedded Boards Explorer `_ -command and generate project via :option:`platformio init --ide` command: - -.. code-block:: shell - - platformio init --ide netbeans --board - - # For example, generate project for Arduino UNO - platformio init --ide netbeans --board uno - -Then: - -1. Open this project via ``Menu: File > Open Project...`` -2. Add new files to ``src`` directory (``*.c, *.cpp, *.ino, etc.``) via - right-click on ``src`` folder in the "Projects" pane -3. Build project using ``Menu: Run > Build Project`` -4. Upload firmware using ``Menu: Run > Run Project`` - -.. warning:: - The libraries which are added, installed or used in the project - after generating process wont be reflected in IDE. To fix it you - need to reinitialize project using :ref:`cmd_init` (repeat it). - -Articles / Manuals ------------------- - -* Feb 22, 2016 - **Grzegorz Hołdys** - `How to Integrate PlatformIO with Netbeans `_ - -See the full list with :ref:`articles`. diff --git a/docs/ide/qtcreator.rst b/docs/ide/qtcreator.rst deleted file mode 100644 index 42df4feb..00000000 --- a/docs/ide/qtcreator.rst +++ /dev/null @@ -1,195 +0,0 @@ -.. 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. - -.. _ide_qtcreator: - -Qt Creator -========== - -The `Qt Creator `_ is an open source cross-platform integrated development environment. The editor includes such features as syntax highlighting for various languages, project manager, integrated version control systems, rapid code navigation tools and code autocompletion. - -Refer to the `Qt-creator Manual `_ -page for more detailed information. - -.. image:: ../_static/ide-platformio-qtcreator-7.png - :target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-7.png - -.. contents:: - -Integration ------------ - -.. note:: - Please verify that folder where is located ``platformio`` program is added - to `PATH (wiki) `_ environment - variable. See FAQ: :ref:`faq_troubleshooting_pionotfoundinpath`. - -Project Generator -^^^^^^^^^^^^^^^^^ - -Choose board ``ID`` using :ref:`cmd_boards` or `Embedded Boards Explorer `_ -command and generate project via :option:`platformio init --ide` command: - -.. code-block:: shell - - platformio init --ide qtcreator --board - - # For example, generate project for Arduino UNO - platformio init --ide qtcreator --board uno - -Then: - -1. Import project via ``File > Open File or Project`` and select - ``platformio.pro`` from the folder where is located :ref:`projectconf` -2. Select default desktop kit and click on ``Configure Project`` (``Projects`` - mode, left panel) -3. Set ``General > Build directory`` to the project directory where - is located :ref:`projectconf` -4. Remove all items from ``Build Steps``, click on - ``Build Steps > Add Build Step > Custom Process Step`` and set: - - * **Command**: ``platformio`` - * **Arguments**: ``-f -c qtcreator run`` - * **Working directory**: ``%{buildDir}`` - -5. Remove all items from ``Clean Steps``, click on - ``Clean Steps > Add Clean Step > Custom Process Step`` and set: - - * **Command**: ``platformio`` - * **Arguments**: ``-f -c qtcreator run --target clean`` - * **Working directory**: ``%{buildDir}`` - -6. Update ``PATH`` in ``Build Environment > PATH > EDIT`` with the result of - this command (paste in Terminal): - -.. code-block:: shell - - # Linux, Mac - echo $PATH - - # Windows - echo %PATH% - -7. Switch to ``Edit`` mode (left panel) and open source file from ``src`` - directory (``*.c, *.cpp, *.ino, etc.``) -8. Build project: ``Menu: Build > Build All``. - -.. image:: ../_static/ide-platformio-qtcreator-3.png - :target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-3.png - -.. warning:: - The libraries which are added, installed or used in the project - after generating process wont be reflected in IDE. To fix it you - need to reinitialize project using :ref:`cmd_init` (repeat it). - -Manual Integration -^^^^^^^^^^^^^^^^^^ - -Setup New Project -~~~~~~~~~~~~~~~~~ - -First of all, let's create new project from Qt Creator Start Page: ``New Project`` or using ``Menu: File > New File or Project``, then select project with ``Empty Qt Project`` type (``Other Project > Empty Qt Project``), fill ``Name``, ``Create in``. - -.. image:: ../_static/ide-platformio-qtcreator-1.png - :target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-1.png - -On the next steps select any available kit and click Finish button. - -.. image:: ../_static/ide-platformio-qtcreator-2.png - -Secondly, we need to delete default build and clean steps and configure project with PlatformIO Build System (click on Projects label on left menu or ``Ctrl+5`` shortcut): - -.. image:: ../_static/ide-platformio-qtcreator-3.png - :target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-3.png - -Thirdly, change project file by adding path to directories with header files. Please edit project file to match the following contents: - -.. code-block:: none - - win32 { - HOMEDIR += $$(USERPROFILE) - } - else { - HOMEDIR += $$(HOME) - } - - INCLUDEPATH += "$${HOMEDIR}/.platformio/packages/framework-arduinoavr/cores/arduino" - INCLUDEPATH += "$${HOMEDIR}/.platformio/packages/toolchain-atmelavr/avr/include" - -.. image:: ../_static/ide-platformio-qtcreator-4.png - :target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-4.png - -First program in Qt Creator -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Simple "Blink" project will consist from two files: -1. In the console, navigate to the root of your project folder and initialize platformio project with ``platformio init`` -2. The main "C" source file named ``main.c`` must be located in the ``src`` directory. -Let's create new text file named ``main.c`` using ``Menu: New File or Project > General > Text File``: - -.. image:: ../_static/ide-platformio-qtcreator-5.png - :target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-5.png - -Copy the source code which is described below to file ``main.c``. - -.. code-block:: c - - #include "Arduino.h" - #define WLED 13 // Most Arduino boards already have an LED attached to pin 13 on the board itself - - void setup() - { - pinMode(WLED, OUTPUT); // set pin as output - } - - void loop() - { - digitalWrite(WLED, HIGH); // set the LED on - delay(1000); // wait for a second - digitalWrite(WLED, LOW); // set the LED off - delay(1000); // wait for a second - } - -3. Locate the project configuration file named ``platformio.ini`` at the root of the project directory and open it. - -.. image:: ../_static/ide-platformio-qtcreator-6.png - :target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-6.png - -Edit the content to match the code described below. - -.. code-block:: ini - - ; PlatformIO Project Configuration File - ; - ; Build options: build flags, source filter, extra scripting - ; Upload options: custom port, speed and extra flags - ; Library options: dependencies, extra library storages - ; - ; Please visit documentation for the other options and examples - ; http://docs.platformio.org/en/stable/projectconf.html - - [env:arduino_uno] - platform = atmelavr - framework = arduino - board = uno - -Conclusion -~~~~~~~~~~ - -Taking everything into account, we can build project with shortcut ``Ctrl+Shift+B`` or using ``Menu: Build > Build All``. - -Examples --------- - -"Blink" Project -^^^^^^^^^^^^^^^ - -Source code of `Qt Creator "Blink" Project `_. diff --git a/docs/ide/sublimetext.rst b/docs/ide/sublimetext.rst deleted file mode 100644 index 3589287d..00000000 --- a/docs/ide/sublimetext.rst +++ /dev/null @@ -1,194 +0,0 @@ -.. 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. - -.. _ide_sublimetext: - -Sublime Text -============ - -The `Sublime Text `_ is a cross-platform text and source code editor, with a Python application programming interface (API). Sublime Text is proprietary software. Its functionality is extendable with plugins. Most of the extending packages have free-software licenses and are community-built and maintained. Sublime Text lacks graphical setting dialogues and is entirely configured by editing text files. - -Refer to the `Sublime Text Documentation `_ -page for more detailed information. - -.. image:: ../_static/ide-sublime-text-deviot.gif - :target: https://github.com/gepd/Deviot - -.. contents:: - -Integration ------------ - -Deviot Plugin -^^^^^^^^^^^^^ - -We are glad to inform you about awesome Sublime Text plugin for IoT development -named `Deviot `_. It is based on -PlatformIO CLI and will automatically install it for you. Please visit `official -Deviot page `_ for the further installation -steps and documentation. - -.. image:: ../_static/ide-sublime-text-deviot.gif - :target: https://github.com/gepd/Deviot - -Project Generator -^^^^^^^^^^^^^^^^^ - -Choose board ``ID`` using :ref:`cmd_boards` or `Embedded Boards Explorer `_ -command and generate project via :option:`platformio init --ide` command: - -.. code-block:: shell - - platformio init --ide sublimetext --board - - # For example, generate project for Arduino UNO - platformio init --ide sublimetext --board uno - -Then: - -1. Import project via ``Menu: Project > Open Project...`` and select - ``platformio.sublime-project`` from the folder where is located :ref:`projectconf` -2. Select PlatformIO as build system: ``Menu: Tools > Build System > PlatformIO`` -3. Open source file from ``src`` directory (``*.c, *.cpp, *.ino, etc.``) -4. Build project: ``Menu: Tools > Build``. - -Also, you can access to all pre-configured targets via -``Menu: Tools > Builds With...`` (ST3) - -+ ``PlatformIO - Build`` - Build project without auto-uploading -+ ``PlatformIO - Clean`` - Clean compiled objects. -+ ``PlatformIO - Upload`` - Build and upload (if no errors) -+ ``PlatformIO - Upload using Programmer`` see :ref:`atmelavr_upload_via_programmer` -+ ``PlatformIO - Upload SPIFFS image`` see :ref:`platform_espressif_uploadfs` -+ ``PlatformIO - Update platforms and libraries`` - Update installed platforms and libraries via :ref:`cmd_update`. - -Manual Integration -^^^^^^^^^^^^^^^^^^ - -.. note:: - Please verify that folder where is located ``platformio`` program is added - to `PATH (wiki) `_ environment - variable. See FAQ: :ref:`faq_troubleshooting_pionotfoundinpath`. - -Initial configuration -~~~~~~~~~~~~~~~~~~~~~ - -First of all, we need to create "New Build System" with name "PlatformIO" -from ``Menu: Tools > Build System > New Build System`` and fill it like -described below: - -.. code-block:: bash - - { - "cmd": ["platformio", "-f", "-c", "sublimetext", "run"], - "working_dir": "${project_path:${folder}}", - "variants": - [ - { - "name": "Clean", - "cmd": ["platformio", "-f", "-c", "sublimetext", "run", "--target", "clean"] - }, - { - "name": "Upload", - "cmd": ["platformio", "-f", "-c", "sublimetext", "run", "--target", "upload"] - } - ] - } - -Secondly, we need to select "PlatformIO" Build System from a list: - -.. image:: ../_static/ide-sublime-text-platformio-newproject-2.png - -After that, we can use the necessary commands from -``Menu: Tools > Command Palette`` or with ``Ctrl+Shift+P`` (Windows/Linux) -``Cmd+Shift+P`` (Mac) shortcut. - -.. image:: ../_static/ide-sublime-text-platformio-newproject-3.png - -Command Hotkeys -''''''''''''''' - -Sublime Text allows to bind own hotkey per command. Let's setup them -for PlatformIO commands using shortcut ``Menu: Preferences > Key-Bindings - User``: - -.. image:: ../_static/ide-sublime-text-platformio-newproject-4.png - -We are going to use these shortcuts: - -* ``F11`` for clean project -* ``F12`` for upload firmware to target device - -In this case, the final code will look like: - -.. code-block:: none - - [ - { "keys": ["f11"], "command": "build", "args": {"variant": "Clean"} }, - { "keys": ["f12"], "command": "build", "args": {"variant": "Upload"} } - ] - -First program in Sublime Text -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Simple "Blink" project will consist from two files: - -1. Main "C" source file named ``main.c`` must be located in the ``src`` directory. -Let's create new file named ``main.c`` using ``Menu: File > New File`` or shortcut ``Ctrl+N`` (Windows/Linux) ``Cmd+N`` (Mac) with the next contents: - -.. code-block:: c - - #include "Arduino.h" - #define WLED 13 // Most Arduino boards already have an LED attached to pin 13 on the board itself - - void setup() - { - pinMode(WLED, OUTPUT); // set pin as output - } - - void loop() - { - digitalWrite(WLED, HIGH); // set the LED on - delay(1000); // wait for a second - digitalWrite(WLED, LOW); // set the LED off - delay(1000); // wait for a second - } - -2. Project Configuration File named ``platformio.ini`` must be located in the project root directory. -Copy the source code which is described below to it. - -.. code-block:: ini - - ; PlatformIO Project Configuration File - ; - ; Build options: build flags, source filter, extra scripting - ; Upload options: custom port, speed and extra flags - ; Library options: dependencies, extra library storages - ; - ; Please visit documentation for the other options and examples - ; http://docs.platformio.org/en/stable/projectconf.html - - [env:arduino_uno] - platform = atmelavr - framework = arduino - board = uno - -Conclusion -~~~~~~~~~~ - -Taking everything into account, we can open project directory in Sublime Text using ``Menu: File > Open Folder`` and build it with shortcut ``Ctrl+B`` (Windows/Linux) or ``Cmd+B`` (Mac), clean project with shortcut ``F11`` and upload firmware to target with shortcut ``F12``. - -Examples --------- - -"Blink" Project -^^^^^^^^^^^^^^^ - -Source code of `Sublime Text "Blink" Project `_. diff --git a/docs/ide/vim.rst b/docs/ide/vim.rst deleted file mode 100644 index c6fc368f..00000000 --- a/docs/ide/vim.rst +++ /dev/null @@ -1,89 +0,0 @@ -.. 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. - -.. _ide_vim: - -VIM -=== - -`VIM `_ is an open-source, powerful and configurable text -editor. Vim is designed for use both from a command-line interface and as a -standalone application in a graphical user interface. - -.. image:: ../_static/ide-platformio-vim.png - -.. contents:: - -Integration ------------ - -.. note:: - Please verify that folder where is located ``platformio`` program is added - to `PATH (wiki) `_ environment - variable. See FAQ: :ref:`faq_troubleshooting_pionotfoundinpath`. - -Recommended bundles: - -* Syntax highlight - `Arduino-syntax-file `_ -* Code Completion - `YouCompleteMe `_ (see configuration example by **Anthony Ford** `PlatformIO/YouCompleteMe Integration `_) -* Syntax checking - `Syntastic `_ - -Put to the project directory ``Makefile`` wrapper with contents: - -.. code-block:: make - - # Uncomment lines below if you have problems with $PATH - #SHELL := /bin/bash - #PATH := /usr/local/bin:$(PATH) - - all: - platformio -f -c vim run - - upload: - platformio -f -c vim run --target upload - - clean: - platformio -f -c vim run --target clean - - program: - platformio -f -c vim run --target program - - uploadfs: - platformio -f -c vim run --target uploadfs - - update: - platformio -f -c vim update - - -Pre-defined targets: - -+ ``Build`` - Build project without auto-uploading -+ ``Clean`` - Clean compiled objects. -+ ``Upload`` - Build and upload (if no errors) -+ ``Upload using Programmer`` see :ref:`atmelavr_upload_via_programmer` -+ ``Upload SPIFFS image`` see :ref:`platform_espressif_uploadfs` -+ ``Update platforms and libraries`` - Update installed platforms and libraries via :ref:`cmd_update`. - - -Now, in VIM ``cd /path/to/this/project`` and press ``Ctrl+B`` or ``Cmd+B`` -(Mac). *PlatformIO* should compile your source code from the ``src`` directory, -make firmware and upload it. - -.. note:: - If hotkey doesn't work for you, try to add this line - ``nnoremap :make`` to ``~/.vimrc`` - -Articles / Manuals ------------------- - -* `コマンドラインでArduino開発 : vim + platformio (Arduino development at the command line: VIM + PlatformIO, Japanese) `_ - -See a full list with :ref:`articles`. diff --git a/docs/ide/visualstudio.rst b/docs/ide/visualstudio.rst deleted file mode 100644 index 7848e6cf..00000000 --- a/docs/ide/visualstudio.rst +++ /dev/null @@ -1,177 +0,0 @@ -.. 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. - -.. _ide_visualstudio: - -Visual Studio -============= - -The `Microsoft Visual Studio (Free) `_ is an integrated development environment (IDE) from Microsoft. Visual Studio includes a code editor supporting IntelliSense (the code completion component) as well as code refactoring. - -Refer to the `Visual Studio Documentation `_ -page for more detailed information. - -.. image:: ../_static/ide-vs-platformio-newproject-8.png - :target: http://docs.platformio.org/en/stable/_static/ide-vs-platformio-newproject-8.png - -.. contents:: - -Integration ------------ - -.. note:: - Please verify that folder where is located ``platformio`` program is added - to `PATH (wiki) `_ environment - variable. See FAQ: :ref:`faq_troubleshooting_pionotfoundinpath`. - -Project Generator -^^^^^^^^^^^^^^^^^ - -Choose board ``ID`` using :ref:`cmd_boards` or `Embedded Boards Explorer `_ -command and generate project via :option:`platformio init --ide` command: - -.. code-block:: shell - - platformio init --ide sublimetext --board - - # For example, generate project for Arduino UNO - platformio init --ide visualstudio --board uno - -Then: - -1. Import this project via ``Menu: File > Open > Project/Solution`` - and specify root directory where is located :ref:`projectconf` -2. Open source file from ``src`` directory (``*.c, *.cpp, *.ino, etc.``) -3. Build project: ``Menu: Build > Build Solution``. - -.. warning:: - The libraries which are added, installed or used in the project - after generating process wont be reflected in IDE. To fix it you - need to reinitialize project using :ref:`cmd_init` (repeat it). - -Manual Integration -^^^^^^^^^^^^^^^^^^ - -Setup New Project -~~~~~~~~~~~~~~~~~ - -First of all, let's create new project from Visual Studio Start Page: ``Start > New Project`` or using ``Menu: File > New > Project``, then select project with ``Makefile`` type (``Visual C++ > General > Makefile Project``), fill ``Project name``, ``Solution name``, ``Location`` fields and press OK button. - -.. image:: ../_static/ide-vs-platformio-newproject.png - -Secondly, we need to configure project with PlatformIO Build System: - -.. image:: ../_static/ide-vs-platformio-newproject-2.png - -If we want to use native AVR programming, we have to specify additional preprocessor symbol ("Preprocessor definitions" field) about your MCU. For example, an Arduino Uno is based on the ATmega328 MCU. In this case We will add new definition ``__AVR_ATmega328__``. - -.. image:: ../_static/ide-vs-platformio-newproject-2-1.png - -Release Configuration is the same as Debug, so on the next step we check "Same as Debug Configuration" and click "Finish" button. - -.. image:: ../_static/ide-vs-platformio-newproject-3.png - -Thirdly, we need to add directories with header files using project properties (right click on the project name or ``Alt-Enter`` shortcut) and add two directories to ``Configuration Properties > NMake > Include Search Path``: - -.. code-block:: none - - $(HOMEDRIVE)$(HOMEPATH)\.platformio\packages\toolchain-atmelavr\avr\include - $(HOMEDRIVE)$(HOMEPATH)\.platformio\packages\framework-arduinoavr\cores\arduino - -.. image:: ../_static/ide-vs-platformio-newproject-5.png - -First program in Visual Studio -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Simple "Blink" project will consist from two files: - -1. Main "C++" source file named ``main.cpp`` must be located in the ``src`` directory. -Let's create new file named ``main.cpp`` using ``Menu: File > New File`` or shortcut ``Ctrl+N``: - -.. image:: ../_static/ide-vs-platformio-newproject-6.png - -Copy the source code which is described below to file ``main.cpp``. - -.. code-block:: cpp - - #include "Arduino.h" - #define WLED 13 // Most Arduino boards already have an LED attached to pin 13 on the board itself - - void setup() - { - pinMode(WLED, OUTPUT); // set pin as output - } - - void loop() - { - digitalWrite(WLED, HIGH); // set the LED on - delay(1000); // wait for a second - digitalWrite(WLED, LOW); // set the LED off - delay(1000); // wait for a second - } - -2. Project Configuration File named ``platformio.ini`` must be located in the project root directory. - -.. image:: ../_static/ide-vs-platformio-newproject-7.png - -Copy the source code which is described below to it. - -.. code-block:: ini - - ; PlatformIO Project Configuration File - ; - ; Build options: build flags, source filter, extra scripting - ; Upload options: custom port, speed and extra flags - ; Library options: dependencies, extra library storages - ; - ; Please visit documentation for the other options and examples - ; http://docs.platformio.org/en/stable/projectconf.html - - [env:arduino_uno] - platform = atmelavr - framework = arduino - board = uno - - -Conclusion -~~~~~~~~~~ - -Taking everything into account, we can build project with shortcut ``Ctrl+Shift+B`` or using ``Menu: Build > Build Solution``. - -Examples --------- - -"Blink" Project -^^^^^^^^^^^^^^^ - -Source code of `Visual Studio "Blink" Project `_. - -Known issues ------------- - -IntelliSense Errors -^^^^^^^^^^^^^^^^^^^ - -VS Studio does not allow to specify for project other toolchain which will -be used by IntelliSense. In this case, IntelliSense does not understand -GCC-specific definitions. - -However, these errors does not have any influence on PlatformIO Build -System. It means that you can ignore them and rely on PlatformIO Build System -messages which will be shown in output console after build. - -Nevertheless, you can provide an IntelliSense-friendly definition of problematic -GCC constructs and make sure that the GCC will ignore such definitions or -disable IntelliSense error reporting at all. -See details in `issue #543 `_ - -.. image:: ../_static/ide-vs-platformio-newproject-9.png - :target: http://docs.platformio.org/en/stable/_static/ide-vs-platformio-newproject-9.png diff --git a/docs/index.rst b/docs/index.rst deleted file mode 100644 index 3b006919..00000000 --- a/docs/index.rst +++ /dev/null @@ -1,147 +0,0 @@ -.. 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. - -PlatformIO is an open source ecosystem for IoT development -========================================================== - -**Cross-platform build system and library manager. Continuous and IDE -integration. Arduino, ESP8266 and ARM mbed compatible.** - -* **PlatformIO IDE** - The next-generation integrated development environment for IoT. - C/C++ Intelligent Code Completion and Smart Code Linter for the super-fast coding. - Multi-projects workflow with Multiple Panes. Themes Support with dark and light colors. - Built-in Terminal with PlatformIO CLI tool and support for the powerful Serial Port Monitor. - All advanced instruments without leaving your favorite development environment. -* **Development Platforms** - Embedded and Desktop development platforms with - pre-built toolchains, debuggers, uploaders and frameworks which work under - popular host OS: Mac, Windows, Linux (+ARM) -* **Embedded Boards** - Rapid Embedded Programming, IDE and Continuous - Integration in a few steps with PlatformIO thanks to built-in project - generator for the most popular embedded boards and IDE -* **Library Manager** - Hundreds Popular Libraries are organized into single - Web 2.0 platform: list by categories, keywords, authors, compatible - platforms and frameworks; learn via examples; be up-to-date with the latest - version - -*Atmel AVR & SAM, Espressif, Freescale Kinetis, Nordic nRF51, NXP LPC, -Silicon Labs EFM32, ST STM32, TI MSP430 & Tiva, Teensy, Arduino, mbed, -libOpenCM3, etc.* - -* `Home Page `_ -* `PlatformIO Plus and professional solutions `_ -* :ref:`ide_atom` -* `Library Search and Registry `_ | - `Embedded Boards Explorer `_ -* `Project Examples `_ -* `Source Code `_ | - `Issues `_ -* `Blog `_ | - `Twitter `_ | - `Facebook `_ | - `Hackaday `_ | - `Forums `_ - -Embedded Development. *Easier Than Ever.* ------------------------------------------ - -* Colourful command-line output -* :ref:`IDE Integration ` with *Arduino, Atom, CLion, Eclipse, Emacs, - Energia, Qt Creator, Sublime Text, Vim, Visual Studio* -* Cloud compiling and :ref:`ci` with *AppVeyor, Circle CI, Drone, Shippable, Travis CI* -* Built-in :ref:`Serial Port Monitor ` and - configurable build :ref:`-flags/-options ` -* Pre-built toolchains, :ref:`frameworks` for the :ref:`platforms` - -Smart Build System. *Fast and Reliable.* ----------------------------------------- - -* Reliable, automatic dependency analysis and detection of build changes -* Improved support for parallel builds -* Ability to share built files in a cache -* Lookup for external libraries which are installed via :ref:`librarymanager` - -The Missing Library Manager. *It's here!* ------------------------------------------ - -* Friendly Command-Line Interface -* Modern `Web 2.0 Library Search `_ -* Library dependency management -* Automatic library updating -* It runs on Windows, Mac OS X, and Linux (+ARM). - -For further details, please refer to -:ref:`What is PlatformIO? How does it work? ` - -Contents --------- - -.. toctree:: - :maxdepth: 2 - - what-is-platformio - demo - -.. toctree:: - :caption: Getting Started - :maxdepth: 2 - - installation - quickstart - userguide/index - -.. toctree:: - :caption: Configuration - :maxdepth: 2 - - projectconf - envvars - -.. toctree:: - :caption: Instruments - :maxdepth: 3 - - platforms/index - platforms/embedded_boards - frameworks/index - platforms/custom_platform_and_board - -.. toctree:: - :caption: PlatformIO Plus - :maxdepth: 3 - - plus/unit-testing - -.. toctree:: - :caption: Library Manager - :maxdepth: 2 - - Quickstart - User Guide - librarymanager/ldf - librarymanager/config - librarymanager/creating - -.. toctree:: - :caption: Integration - :maxdepth: 2 - - ci/index - ide - -.. toctree:: - :caption: Miscellaneous - :maxdepth: 2 - - articles - FAQ - history - migration - diff --git a/docs/installation.rst b/docs/installation.rst deleted file mode 100644 index 22717b4b..00000000 --- a/docs/installation.rst +++ /dev/null @@ -1,213 +0,0 @@ -.. 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. - -.. _installation: - -Installation -============ - -.. include:: /ide/_platformio_ide_extra.rst - -**PlatformIO** is written in `Python `_ and -works on Mac OS X, Linux, Windows OS and *ARM*-based credit-card sized -computers (`Raspberry Pi `_, -`BeagleBone `_, -`CubieBoard `_). - -.. contents:: - -System requirements -------------------- - -:Operating System: Mac OS X, Linux (+ARM) or Windows -:Python Interpreter: - - Python 2.6 or 2.7. Python 2.7 is recommended - - .. attention:: - **Windows Users**: Please `Download the latest Python 2.7.x - `_ and install it. - **DON'T FORGET** to select ``Add python.exe to Path`` feature on the - "Customize" stage, otherwise Python Package Manager ``pip`` command - will not be available. - - .. image:: _static/python-installer-add-path.png - -:Terminal Application: - - All commands below should be executed in - `Command-line `_ - application (Terminal). For Mac OS X and Linux OS - *Terminal* application, - for Windows OS – ``cmd.exe`` application. - -Installation Methods --------------------- - -.. note:: - You don't need to install PlatformIO CLI if you are going to use - :ref:`ide_atom`. PlatformIO CLI is built into PlatformIO IDE and you will be - able to use it within PlatformIO IDE Terminal. - - -Please *choose ONE of* the following methods: - -.. contents:: - :local: - -Python Package Manager -~~~~~~~~~~~~~~~~~~~~~~ - -The latest stable version of PlatformIO may be installed or upgraded via -Python Package Manager (`pip `_) as follows: - -.. code-block:: bash - - pip install -U platformio - -If ``pip`` command is not available run ``easy_install pip`` or use -:ref:`installation_installer_script` which will install ``pip`` and -``platformio`` automatically. - -Note that you may run into permissions issues running these commands. You have -a few options here: - -* Run with ``sudo`` to install PlatformIO and dependencies globally -* Specify the `pip install --user `_ - option to install local to your user -* Run the command in a `virtualenv `_ local to a - specific project working set. - -.. _installation_installer_script: - -Installer Script -~~~~~~~~~~~~~~~~ - -Super-Quick (Mac / Linux) -''''''''''''''''''''''''' - -To install or upgrade *PlatformIO* paste that at a *Terminal* prompt -(**MAY require** administrator access ``sudo``): - -.. code-block:: bash - - python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)" - - -Local Download (Mac / Linux / Windows) -'''''''''''''''''''''''''''''''''''''' - -To install or upgrade *PlatformIO*, download (save as...) -`get-platformio.py `_ -script. Then run the following (**MAY require** administrator access ``sudo``): - -.. code-block:: bash - - # change directory to folder where is located downloaded "get-platformio.py" - cd /path/to/dir/where/is/located/get-platformio.py/script - - # run it - python get-platformio.py - - -On *Windows OS* it may look like: - -.. code-block:: bash - - # change directory to folder where is located downloaded "get-platformio.py" - cd C:\path\to\dir\where\is\located\get-platformio.py\script - - # run it - C:\Python27\python.exe get-platformio.py - - -Mac OS X Homebrew -~~~~~~~~~~~~~~~~~ - -The latest stable version of PlatformIO may be installed or upgraded via -Mac OS X Homebrew Packages Manager (`brew `_) as follows: - -.. code-block:: bash - - brew install platformio - -Full Guide -~~~~~~~~~~ - -1. Check a ``python`` version (only 2.6-2.7 is supported): - -.. code-block:: bash - - python --version - -*Windows Users* only: - - * `Download Python 2.7 `_ and install it. - * Add to PATH system variable ``;C:\Python27;C:\Python27\Scripts;`` and reopen *Command Prompt* (``cmd.exe``) application. Please read this article `How to set the path and environment variables in Windows `_. - -2. Install a ``platformio`` and related packages: - -.. code-block:: bash - - pip install -U platformio - -If your computer does not recognize ``pip`` command, try to install it first -using `these instructions `_. - -For upgrading ``platformio`` to the latest version: - -.. code-block:: bash - - pip install -U platformio - -.. _installation_develop: - -Development Version -~~~~~~~~~~~~~~~~~~~ - -.. warning:: - If you use :ref:`ide_atom`, please enable development version via - ``Menu PlatformIO: Settings > PlatformIO IDE > Use development version of - PlatformIO``. - -Install the latest PlatformIO from the ``develop`` branch: - -.. code-block:: bash - - # uninstall existing version - pip uninstall platformio - - # install the latest development version of PlatformIO - pip install -U https://github.com/platformio/platformio/archive/develop.zip - -If you want to be up-to-date with the latest ``develop`` version of PlatformIO, -then you need to re-install PlatformIO each time if you see the new commits in -`PlatformIO GitHub repository (branch: develop) `_. - -To revert to the latest stable version - -.. code-block:: bash - - pip uninstall platformio - pip install -U platformio - - -Troubleshooting ---------------- - -.. note:: - **Linux OS**: Don't forget to install "udev" rules file - `99-platformio-udev.rules `_ (an instruction is located in the file). - - **Windows OS**: Please check that you have correctly installed USB driver - from board manufacturer - -For further details, frequently questions, known issues, please -refer to :ref:`faq`. diff --git a/docs/librarymanager/config.rst b/docs/librarymanager/config.rst deleted file mode 100644 index a3a2edc1..00000000 --- a/docs/librarymanager/config.rst +++ /dev/null @@ -1,605 +0,0 @@ -.. 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. - -.. |PIOAPICR| replace:: *PlatformIO Library Registry Crawler* -.. _library_config: - -library.json -============ - -``library.json`` is a manifest file of development library. It allows developers -to keep project in own structure and define: - -* location of source code -* examples list -* compatible frameworks and platforms -* library dependencies -* advanced build settings - -PlatformIO Library Crawler uses ``library.json`` manifest to extract -source code from developer's location and keeps a cleaned library in own -Library Registry. - -A data in ``library.json`` should be represented -in `JSON-style `_ via -`associative array `_ -(name/value pairs). An order doesn't matter. The allowable fields -(names from pairs) are described below. - -.. contents:: - -.. _libjson_name: - -``name`` --------- - -**Required** | Type: ``String`` | Max. Length: 50 - -A name of the library. - -* Must be unique. -* Should be slug style for simplicity, consistency and compatibility. - Example: *Arduino-SPI* -* Title Case, Aa-z, can contain digits and dashes (but not start/end - with them). -* Consecutive dashes are not allowed. - - -.. _libjson_description: - -``description`` ---------------- - -**Required** | Type: ``String`` | Max. Length: 255 - -The field helps users to identify and search for your library with a brief -description. Describe the hardware devices (sensors, boards and etc.) which -are suitable with it. - - -.. _libjson_keywords: - -``keywords`` ------------- - -**Required** | Type: ``String`` | Max. Length: 255 - -Used for search by keyword. Helps to make your library easier to discover -without people needing to know its name. - -The keyword should be lowercased, can contain a-z, digits and dash (but not -start/end with them). A list from the keywords can be specified with -separator ``,`` - - -.. _libjson_authors: - -``authors`` ------------ - -*Required* if :ref:`libjson_repository` field is not defined | Type: ``Object`` -or ``Array`` - -An author contact information - -* ``name`` Full name (**Required**) -* ``email`` -* ``url`` An author's contact page -* ``maintainer`` Specify "maintainer" status - -Examples: - -.. code-block:: javascript - - "authors": - { - "name": "John Smith", - "email": "me@john-smith.com", - "url": "http://www.john-smith/contact" - } - - ... - - "authors": - [ - { - "name": "John Smith", - "email": "me@john-smith.com", - "url": "http://www.john-smith/contact" - }, - { - "name": "Andrew Smith", - "email": "me@andrew-smith.com", - "url": "http://www.andrew-smith/contact", - "maintainer": true - } - ] - - -.. note:: - You can omit :ref:`libjson_authors` field and define - :ref:`libjson_repository` field. Only *GitHub-based* repository is - supported now. In this case - |PIOAPICR| will use information from - `GitHub API Users `_. - - -.. _libjson_repository: - -``repository`` --------------- - -*Required* if :ref:`libjson_downloadurl` field is not defined | Type: ``Object`` - -The repository in which the source code can be found. The field consists of the -next items: - -* ``type`` the only "git", "hg" or "svn" are supported -* ``url`` -* ``branch`` if is not specified, default branch will be used. This field will - be ignored if tag/release exists with the value of :ref:`libjson_version`. - -Example: - -.. code-block:: javascript - - "repository": - { - "type": "git", - "url": "https://github.com/foo/bar.git" - } - -.. _libjson_version: - -``version`` ------------ - -*Required* if :ref:`libjson_repository` field is not defined | Type: ``String`` -| Max. Length: 20 - -A version of the current library source code. Can contain a-z, digits, dots or -dash. `Semantic Versioning `_ IS RECOMMENDED. - -:Case 1: - - :ref:`libjson_version` and :ref:`libjson_repository` fields are defined. - The :ref:`libjson_repository` is hosted on GitHub or Bitbucket. - - |PIOAPICR| will lookup for release tag named as value of :ref:`libjson_version` - or with ``v`` prefix (you do not need to pass this ``v`` prefix to the - :ref:`libjson_version` field). - -:Case 2: - - :ref:`libjson_version` and :ref:`libjson_repository` fields are defined - and :ref:`libjson_repository` does not contain tag/release with value of - :ref:`libjson_version`. - - |PIOAPICR| will use the latest source code from :ref:`libjson_repository` - and link it with specified :ref:`libjson_version`. If :ref:`libjson_repository` - ``branch`` is not specified, then default branch will be used. - Also, if you push new commits to :ref:`libjson_repository` - and do not update :ref:`libjson_version` field, the library will not be - updated until you change the :ref:`libjson_version`. - -:Case 3: - - :ref:`libjson_version` field is not defined and :ref:`libjson_repository` - field is defined. - - |PIOAPICR| will use the - `VCS `_ revision from - the latest commit as "current version". For example, ``13`` (*SVN*) or first - 10 chars of *SHA* digest ``e4564b7da4`` (*Git*). If :ref:`libjson_repository` - ``branch`` is not specified, then default branch will be used. - - We recommend to use :ref:`libjson_version` field and specify the real release - version and make appropriate tag in the :ref:`libjson_repository`. In other - case, users will receive updates for library with each new commit to - :ref:`libjson_repository`. - -.. note:: - |PIOAPICR| updates library only if: - - the :ref:`libjson_version` is changed - - ``library.json`` is modified - -Example: - -.. code-block:: javascript - - "repository": - { - "type": "git", - "url": "https://github.com/foo/bar.git" - }, - "version": "1.0.0" - - -``license`` ------------ - -*Optional* | Type: ``String`` - -A license of the library. You can check -`the full list of SPDX license IDs `_. Ideally you -should pick one that is `OSI `_ -approved. - -.. code-block:: javascript - - "license": "Apache-2.0" - -.. _libjson_downloadurl: - -``downloadUrl`` ---------------- - -*Required* if :ref:`libjson_repository` field is not defined | Type: ``String`` - -It is the *HTTP URL* to the archived source code of library. It should end -with the type of archive (``.zip`` or ``.tar.gz``). - -.. note:: - - :ref:`libjson_downloadurl` has higher priority than - :ref:`libjson_repository`. - -Example with fixed release/tag on GitHub: - -.. code-block:: javascript - - "version": "1.0.0", - "downloadUrl": "https://github.com/foo/bar/archive/v1.0.0.tar.gz", - "include": "bar-1.0.0" - -See more ``library.json`` :ref:`library_creating_examples`. - -``homepage`` ------------- - -*Optional* | Type: ``String`` | Max. Length: 255 - -Home page of library (if is different from :ref:`libjson_repository` url). - - -.. _libjson_export: - -``export`` ----------- - -*Optional* | Type: ``Object`` - -Explain PlatformIO Library Crawler which content from the repository/archive -should be exported as "source code" of the library. This option is useful if -need to exclude extra data (test code, docs, images, PDFs, etc). It allows to -reduce size of the final archive. - -Possible options: - -.. contents:: - :local: - -``include`` -~~~~~~~~~~~ - -*Optional* | Type: ``String`` or ``Array`` | -`Glob Pattern `_ - -If ``include`` field is a type of ``String``, then |PIOAPICR| will recognize -it like a "relative path inside repository/archive to library source code". -See example below where the only -source code from the relative directory ``LibrarySourceCodeHere`` will be -included. - -.. code-block:: javascript - - "include": "some/child/dir/LibrarySourceCodeHere" - -If ``include`` field is a type of ``Array``, then |PIOAPICR| firstly will -apply ``exclude`` filter and then include only directories/files -which match with ``include`` patterns. - -Example: - -.. code-block:: javascript - - "export": { - "include": - [ - "dir/*.[ch]pp", - "dir/examples/*", - "*/*/*.h" - ] - } - - -Pattern Meaning - -.. list-table:: - :header-rows: 1 - - * - Pattern - - Meaning - * - ``*`` - - matches everything - * - ``?`` - - matches any single character - * - ``[seq]`` - - matches any character in seq - * - ``[!seq]`` - - matches any character not in seq - -See more ``library.json`` :ref:`library_creating_examples`. - - -``exclude`` -~~~~~~~~~~~ - -*Optional* | Type: ``String`` or ``Array`` | -`Glob Pattern `_ - -Exclude the directories and files which match with ``exclude`` patterns. - -.. _libjson_frameworks: - -``frameworks`` --------------- - -*Optional* | Type: ``String`` or ``Array`` - -A list with compatible frameworks. The available framework types are defined in -the :ref:`platforms` section. - -If the library is compatible with the all frameworks, then you can use ``*`` -symbol: - -.. code-block:: javascript - - "frameworks": "*" - -.. _libjson_platforms: - -``platforms`` -------------- - -*Optional* | Type: ``String`` or ``Array`` - -A list with compatible platforms. The available platform types are -defined in :ref:`platforms` section. - -If the library is compatible with the all platforms, then you can use ``*`` -symbol: - -.. code-block:: javascript - - "platforms": "*" - - -.. _libjson_dependencies: - -``dependencies`` ----------------- - -*Optional* | Type: ``Array`` or ``Object`` - -A list of dependent libraries. They will be installed automatically with -:ref:`cmd_lib_install` command. - -Allowed requirements for dependent library: - -* ``name`` | Type: ``String`` -* ``version`` | Type: ``String`` -* ``authors`` | Type: ``String`` or ``Array`` -* ``frameworks`` | Type: ``String`` or ``Array`` -* ``platforms`` | Type: ``String`` or ``Array`` - -The ``version`` supports `Semantic Versioning `_ ( -``..``) and can take any of the following forms: - -* ``0.1.2`` - an exact version number. Use only this exact version -* ``^0.1.2`` - any compatible version (exact version for ``0.x.x`` versions -* ``~0.1.2`` - any version with the same major and minor versions, and an - equal or greater patch version -* ``>0.1.2`` - any version greater than ``0.1.2``. ``>=``, ``<``, and ``<=`` - are also possible -* ``>0.1.0,!=0.2.0,<0.3.0`` - any version greater than ``0.1.0``, not equal to - ``0.2.0`` and less than ``0.3.0`` - -The rest possible values including VCS repository URLs are documented in -:ref:`cmd_lib_install` command. - -Example: - -.. code-block:: javascript - - "dependencies": - [ - { - "name": "Library-Foo", - "authors": - [ - "Jhon Smith", - "Andrew Smith" - ] - }, - { - "name": "Library-Bar", - "version": "~1.2.3" - }, - { - "name": "lib-from-repo", - "version": "https://github.com/user/package.git#1.2.3" - } - ] - -A short definition of dependencies is allowed: - -.. code-block:: javascript - - "dependencies": { - "mylib": "1.2.3", - "lib-from-repo": "githubuser/package" - } - - -See more ``library.json`` :ref:`library_creating_examples`. - -.. _libjson_examples: - -``examples`` ------------- - -*Optional* | Type: ``String`` or ``Array`` | -`Glob Pattern `_ - -A list of example patterns. This field is predefined with default value: - -.. code-block:: javascript - - "examples": [ - "[Ee]xamples/*.c", - "[Ee]xamples/*.cpp", - "[Ee]xamples/*.ino", - "[Ee]xamples/*.pde", - "[Ee]xamples/*/*.c", - "[Ee]xamples/*/*.cpp", - "[Ee]xamples/*/*.ino", - "[Ee]xamples/*/*.pde", - "[Ee]xamples/*/*/*.c", - "[Ee]xamples/*/*/*.cpp", - "[Ee]xamples/*/*/*.ino", - "[Ee]xamples/*/*/*.pde" - ] - - -.. _libjson_build: - -``build`` ---------- - -*Optional* | Type: ``Object`` - -Specify advanced settings, options and flags for the build system. Possible -options: - -.. contents:: - :local: - -``flags`` -~~~~~~~~~ - -*Optional* | Type: ``String`` or ``Array`` - -Extra flags to control preprocessing, compilation, assembly and linking -processes. More details :ref:`projectconf_build_flags`. - -``unflags`` -~~~~~~~~~~~ - -*Optional* | Type: ``String`` or ``Array`` - -Remove base/initial flags which were set by development platform. More -details :ref:`projectconf_build_unflags`. - -``srcFilter`` -~~~~~~~~~~~~~ - -*Optional* | Type: ``String`` or ``Array`` - -Specify which source files should be included/excluded from build process. -More details :ref:`projectconf_src_filter`. - -``extraScript`` -~~~~~~~~~~~~~~~ - -*Optional* | Type: ``String`` - -Launch extra script before build process. -More details :ref:`projectconf_extra_script`. - -``libArchive`` -~~~~~~~~~~~~~~ - -*Optional* | Type: ``Boolean`` - -Archive object files to Static Library. This is default behavior of PlatformIO -Build System (``"libArchive": true``). - -``libLDFMode`` -~~~~~~~~~~~~~~ - -*Optional* | Type: ``Integer`` - -Specify Library Dependency Finder Mode. See :ref:`ldf_mode` for details. - -**Examples** - -1. Custom macros/defines - -.. code-block:: javascript - - "build": { - "flags": "-D MYLIB_REV=0.1.2 -DRELEASE" - } - -2. Extra includes for C preprocessor - -.. code-block:: javascript - - "build": { - "flags": [ - "-I inc", - "-I inc/target_x13" - ] - } - -3. Force to use ``C99`` standard instead of ``C11`` - -.. code-block:: javascript - - "build": { - "unflags": "-std=gnu++11", - "flags": "-std=c99" - } - -4. Build source files (``c, cpp, h``) at the top level of the library - -.. code-block:: javascript - - "build": { - "srcFilter": [ - "+<*.c>", - "+<*.cpp>", - "+<*.h>" - ] - } - - -5. Extend PlatformIO Build System with own extra script - -.. code-block:: javascript - - "build": { - "extraScript": "generate_headers.py" - } - -``generate_headers.py`` - -.. code-block:: python - - Import('env') - # print env.Dump() - env.Append( - CPPDEFINES=["HELLO=WORLD", "TAG=1.2.3", "DEBUG"], - CPPPATH=["inc", "inc/devices"] - ) - - # some python code that generates header files "on-the-fly" diff --git a/docs/librarymanager/creating.rst b/docs/librarymanager/creating.rst deleted file mode 100644 index 16051a8d..00000000 --- a/docs/librarymanager/creating.rst +++ /dev/null @@ -1,196 +0,0 @@ -.. 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. - -.. _library_creating: -.. |PIOAPICR| replace:: *PlatformIO Library Registry Crawler* - -Creating Library -================ - -*PlatformIO* :ref:`librarymanager` doesn't have any requirements to a library -source code structure. The only one requirement is library's manifest file - -:ref:`library_config`. It can be located inside your library or in the another -location where |PIOAPICR| will have *HTTP* access. - -Updates to existing libraries are done every 24 hours. In case a more urgent -update is required, you can post a request on PlatformIO `community `_. - -.. contents:: - -Source Code Location --------------------- - -There are a several ways how to share your library with the whole world -(see `examples `_). - -You can hold a lot of libraries (split into separated folders) inside one of -the repository/archive. In this case, you need to specify ``include`` option of -:ref:`libjson_export` field to relative path to your library's source code. - -At GitHub -^^^^^^^^^ - -**Recommended** - -If a library source code is located at `GitHub `_, then -you **need to specify** only these fields in the :ref:`library_config`: - -* :ref:`libjson_name` -* :ref:`libjson_version` (is not required, but highly recommended for new :ref:`librarymanager`) -* :ref:`libjson_keywords` -* :ref:`libjson_description` -* :ref:`libjson_repository` - -|PIOAPICR| will populate the rest fields, like :ref:`libjson_authors` with an -actual information from *GitHub*. - -Example, `DallasTemperature `_: - -.. code-block:: javascript - - { - "name": "DallasTemperature", - "keywords": "onewire, 1-wire, bus, sensor, temperature", - "description": "Arduino Library for Dallas Temperature ICs (DS18B20, DS18S20, DS1822, DS1820)", - "repository": - { - "type": "git", - "url": "https://github.com/milesburton/Arduino-Temperature-Control-Library.git" - }, - "authors": - [ - { - "name": "Miles Burton", - "email": "miles@mnetcs.com", - "url": "http://www.milesburton.com", - "maintainer": true - }, - { - "name": "Tim Newsome", - "email": "nuisance@casualhacker.net" - }, - { - "name": "Guil Barros", - "email": "gfbarros@bappos.com" - }, - { - "name": "Rob Tillaart", - "email": "rob.tillaart@gmail.com" - } - ], - "dependencies": - { - "name": "OneWire", - "authors": "Paul Stoffregen", - "frameworks": "arduino" - }, - "version": "3.7.7", - "frameworks": "arduino", - "platforms": "*" - } - -Under VCS (SVN/GIT) -^^^^^^^^^^^^^^^^^^^ - -|PIOAPICR| can operate with a library source code that is under *VCS* control. -The list of **required** fields in the :ref:`library_config` will look like: - -* :ref:`libjson_name` -* :ref:`libjson_keywords` -* :ref:`libjson_description` -* :ref:`libjson_authors` -* :ref:`libjson_repository` - -Example: - -.. code-block:: javascript - - { - "name": "XBee", - "keywords": "xbee, protocol, radio", - "description": "Arduino library for communicating with XBees in API mode", - "authors": - { - "name": "Andrew Rapp", - "email": "andrew.rapp@gmail.com", - "url": "https://code.google.com/u/andrew.rapp@gmail.com/" - }, - "repository": - { - "type": "git", - "url": "https://code.google.com/p/xbee-arduino/" - }, - "frameworks": "arduino", - "platforms": "atmelavr" - } - -Self-hosted -^^^^^^^^^^^ - -You can manually archive (*Zip, Tar.Gz*) your library source code and host it -in the *Internet*. Then you should specify the additional fields, -like :ref:`libjson_version` and :ref:`libjson_downloadurl`. The final list -of **required** fields in the :ref:`library_config` will look like: - -* :ref:`libjson_name` -* :ref:`libjson_keywords` -* :ref:`libjson_description` -* :ref:`libjson_authors` -* :ref:`libjson_version` -* :ref:`libjson_downloadurl` - -.. code-block:: javascript - - { - "name": "OneWire", - "keywords": "onewire, 1-wire, bus, sensor, temperature, ibutton", - "description": "Control devices (from Dallas Semiconductor) that use the One Wire protocol (DS18S20, DS18B20, DS2408 and etc)", - "authors": - { - "name": "Paul Stoffregen", - "url": "http://www.pjrc.com/teensy/td_libs_OneWire.html" - }, - "version": "2.2", - "downloadUrl": "http://www.pjrc.com/teensy/arduino_libraries/OneWire.zip", - "export": { - "include": "OneWire" - }, - "frameworks": "arduino", - "platforms": "atmelavr" - } - - -Register --------- - -The registration requirements: - -* A library must adhere to the :ref:`library_config` specification. -* There must be public *HTTP* access to the library :ref:`library_config` file. - -Now, you can :ref:`register ` your library and allow others -to :ref:`install ` it. - - -.. _library_creating_examples: - -Examples --------- - -Command: - -.. code-block:: bash - - $ platformio lib register http://my.example.com/library.json - -* `GitHub + fixed release `_ -* `Dependencies by author and framework `_ -* `Multiple libraries in the one repository `_ diff --git a/docs/librarymanager/index.rst b/docs/librarymanager/index.rst deleted file mode 100644 index df03b8b4..00000000 --- a/docs/librarymanager/index.rst +++ /dev/null @@ -1,65 +0,0 @@ -.. 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. - -.. _librarymanager: - -Library Manager -=============== - -*PlatformIO Library Manager* is a tool for managing libraries of -`PlatformIO Registry `__ and VCS repositories (Git, -Hg, SVN). It makes it exceedingly simple to find, install and keep libraries -up-to-date. PlatformIO Library Manager supports -`Semantic Versioning `_ and its rules. - -There are 2 options how to find library: - -* `Web Library Search `__ -* :ref:`Command Line Interface ` - -You can manage different library storages using -:option:`platformio lib --global` or :option:`platformio lib --storage-dir` -options. If you change current working directory in terminal to project folder, -then :ref:`platformio lib ` command will manage automatically dependency -storage in :ref:`projectconf_pio_libdeps_dir`. - -Project dependencies --------------------- - -*PlatformIO Library Manager* allows to specify project dependencies -(:ref:`projectconf_lib_deps`) that will be installed automatically per project -before environment processing. You do not need to install libraries manually. -The only one simple step is to define dependencies in :ref:`projectconf`. -You can use library ID, Name or even repository URL. For example, - -.. code-block:: ini - - [env:myenv] - platform = ... - framework = ... - board = ... - lib_deps = - 13 - PubSubClient - Json@~5.6,!=5.4 - https://github.com/gioblu/PJON.git@v2.0 - https://github.com/me-no-dev/ESPAsyncTCP.git - https://github.com/adafruit/DHT-sensor-library/archive/master.zip - -Please follow to :ref:`cmd_lib_install` for detailed documentation about -possible values. - -.. warning:: - If some libraries are not visible in :ref:`ide_atom` and Code Completion or - Code Linting does not work properly, please perform ``Menu: PlatformIO > - Rebuild C/C++ Project Index (Autocomplete, Linter)`` - -.. image:: ../_static/platformio-demo-lib.gif diff --git a/docs/librarymanager/ldf.rst b/docs/librarymanager/ldf.rst deleted file mode 100644 index 5399009f..00000000 --- a/docs/librarymanager/ldf.rst +++ /dev/null @@ -1,166 +0,0 @@ -.. 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. - -.. _ldf: - -Library Dependency Finder (LDF) -=============================== - -.. versionadded:: 3.0 - -Library Dependency Finder is a core part of PlatformIO Build System that -operates with the C/C++ source files and looks for ``#include ...`` -directives. - -In spite of the fact that Library Dependency Finder is written in pure Python, -it interprets (emulates) :ref:`ldf_c_cond_syntax` (``#ifdef``, ``if``, ``defined``, -``else``, and ``elif``) without calling ``gcc -E``. This approach allows -significantly reduce total compilation time. - -Library Dependency Finder has controls that can be set up in :ref:`projectconf`: - -.. hlist:: - :columns: 3 - - * :ref:`projectconf_lib_deps` - * :ref:`projectconf_lib_extra_dirs` - * :ref:`projectconf_lib_ignore` - * :ref:`projectconf_lib_compat_mode` - * :ref:`projectconf_lib_ldf_mode` - ------------ - -.. contents:: - -.. _ldf_storage: - -Storage -------- - -There are different storages where Library Dependency Finder looks for -libraries. These storages (folders) have priority and LDF operates in the next -order: - -1. :ref:`projectconf_lib_extra_dirs` - extra storages per build environment -2. :ref:`projectconf_pio_lib_dir` - own/private library storage per project -3. :ref:`projectconf_pio_libdeps_dir` - project dependencies storage used by - :ref:`librarymanager` -4. ":ref:`projectconf_pio_home_dir`/lib" - global storage per all projects. - -.. _ldf_mode: - -Dependency Finder Mode ----------------------- - -Library Dependency Finder starts work from analyzing source files of the -project (:ref:`projectconf_pio_src_dir`) and can work in the next modes: - -* ``0`` - "manual mode", does not process source files of a project and - dependencies. Builds only the libraries that are specified in - manifests (:ref:`library_config`, ``module.json``) or in the :ref:`projectconf`. -* ``1`` - **default** - parses ALL C/C++ source code of the project and follows - only by nested includes (``#include ...``, chain...) from the libraries. -* ``2`` - parses ALL C/C++ source code of the project and parses - ALL C/C++ source code of the each found dependency (recursively). - -This mode can be changed using :ref:`projectconf_lib_ldf_mode` option in -:ref:`projectconf`. - -A difference between ``1`` and ``2`` modes. For example, there are 2 libraries: - -* Library "Foo" with files: - - - ``Foo/foo.h`` - - ``Foo/foo.cpp`` - -* Library "Bar" with files: - - - ``Bar/bar.h`` - - ``Bar/bar.cpp`` - -:Case 1: - - * ``lib_ldf_mode = 1`` - * ``Foo/foo.h`` depends on "Bar" library (contains ``#include ``) - * ``#include `` is located in one of the project source files - - Here are nested includes (``project file > foo.h > bar.h``) and ``LDF`` - will find both libraries "Foo" and "Bar". - -:Case 2: - - * ``lib_ldf_mode = 1`` - * ``Foo/foo.cpp`` depends on "Bar" library (contains ``#include ``) - * ``#include `` is located in one of the project source files - - In this case, ``LDF`` will not find "Bar" library because it doesn't know - about CPP file (``Foo/foo.cpp``). - -:Case 3: - - * ``lib_ldf_mode = 2`` - * ``Foo/foo.cpp`` depends on "Bar" library (contains ``#include ``) - * ``#include `` is located in one of the project source files - - Firstly, ``LDF`` finds "Foo" library, then it parses all sources from "Foo" - library and finds ``Foo/foo.cpp`` that depends on ``#include ``. - Secondly, it will parse all sources from "Bar" library and this operation - continues until all dependencies will not be parsed. - -.. _ldf_compat_mode: - -Compatibility Mode ------------------- - -Compatibility mode allows to control strictness of Library Dependency Finder. -If library contains one of manifest file (:ref:`library_config`, -``library.properties``, ``module.json``), then LDF check compatibility of this -library with real build environment. Available compatibility modes: - -* ``0`` - does not check for compatibility (is not recommended) -* ``1`` - **default** - checks for the compatibility with - :ref:`projectconf_env_framework` from build environment -* ``2`` - checks for the compatibility with :ref:`projectconf_env_framework` - and :ref:`projectconf_env_platform` from build environment. - -This mode can be changed using :ref:`projectconf_lib_compat_mode` option in -:ref:`projectconf`. - -.. _ldf_c_cond_syntax: - -C/C++ Preprocessor conditional syntax -------------------------------------- - -In spite of the fact that Library Dependency Finder is written in pure Python, -it interprets (emulates) `C/C++ Preprocessor conditional syntax `_ -(``#ifdef``, ``if``, ``defined``, ``else``, and ``elif``) without calling -``gcc -E``. For example, - -``platformio.ini`` - -.. code-block:: ini - - [env:myenv] - build_flags = -D MY_PROJECT_VERSION=13 - -``mylib.h`` - -.. code-block:: c - - #ifdef PROJECT_VERSION - // include common file for the project - #include "my_common.h" - #endif - - #if PROJECT_VERSION < 10 - // this include will be ignored because does not satisfy condition above - #include "my_old.h" - #endif diff --git a/docs/make.bat b/docs/make.bat deleted file mode 100644 index 304543b6..00000000 --- a/docs/make.bat +++ /dev/null @@ -1,242 +0,0 @@ -@ECHO OFF - -REM Command file for Sphinx documentation - -if "%SPHINXBUILD%" == "" ( - set SPHINXBUILD=sphinx-build -) -set BUILDDIR=_build -set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . -set I18NSPHINXOPTS=%SPHINXOPTS% . -if NOT "%PAPER%" == "" ( - set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% - set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% -) - -if "%1" == "" goto help - -if "%1" == "help" ( - :help - echo.Please use `make ^` where ^ is one of - echo. html to make standalone HTML files - echo. dirhtml to make HTML files named index.html in directories - echo. singlehtml to make a single large HTML file - echo. pickle to make pickle files - echo. json to make JSON files - echo. htmlhelp to make HTML files and a HTML help project - echo. qthelp to make HTML files and a qthelp project - echo. devhelp to make HTML files and a Devhelp project - echo. epub to make an epub - echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter - echo. text to make text files - echo. man to make manual pages - echo. texinfo to make Texinfo files - echo. gettext to make PO message catalogs - echo. changes to make an overview over all changed/added/deprecated items - echo. xml to make Docutils-native XML files - echo. pseudoxml to make pseudoxml-XML files for display purposes - echo. linkcheck to check all external links for integrity - echo. doctest to run all doctests embedded in the documentation if enabled - goto end -) - -if "%1" == "clean" ( - for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i - del /q /s %BUILDDIR%\* - goto end -) - - -%SPHINXBUILD% 2> nul -if errorlevel 9009 ( - echo. - echo.The 'sphinx-build' command was not found. Make sure you have Sphinx - echo.installed, then set the SPHINXBUILD environment variable to point - echo.to the full path of the 'sphinx-build' executable. Alternatively you - echo.may add the Sphinx directory to PATH. - echo. - echo.If you don't have Sphinx installed, grab it from - echo.http://sphinx-doc.org/ - exit /b 1 -) - -if "%1" == "html" ( - %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/html. - goto end -) - -if "%1" == "dirhtml" ( - %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. - goto end -) - -if "%1" == "singlehtml" ( - %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. - goto end -) - -if "%1" == "pickle" ( - %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can process the pickle files. - goto end -) - -if "%1" == "json" ( - %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can process the JSON files. - goto end -) - -if "%1" == "htmlhelp" ( - %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can run HTML Help Workshop with the ^ -.hhp project file in %BUILDDIR%/htmlhelp. - goto end -) - -if "%1" == "qthelp" ( - %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can run "qcollectiongenerator" with the ^ -.qhcp project file in %BUILDDIR%/qthelp, like this: - echo.^> qcollectiongenerator %BUILDDIR%\qthelp\PlatformIO.qhcp - echo.To view the help file: - echo.^> assistant -collectionFile %BUILDDIR%\qthelp\PlatformIO.ghc - goto end -) - -if "%1" == "devhelp" ( - %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. - goto end -) - -if "%1" == "epub" ( - %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The epub file is in %BUILDDIR%/epub. - goto end -) - -if "%1" == "latex" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "latexpdf" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - cd %BUILDDIR%/latex - make all-pdf - cd %BUILDDIR%/.. - echo. - echo.Build finished; the PDF files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "latexpdfja" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - cd %BUILDDIR%/latex - make all-pdf-ja - cd %BUILDDIR%/.. - echo. - echo.Build finished; the PDF files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "text" ( - %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The text files are in %BUILDDIR%/text. - goto end -) - -if "%1" == "man" ( - %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The manual pages are in %BUILDDIR%/man. - goto end -) - -if "%1" == "texinfo" ( - %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. - goto end -) - -if "%1" == "gettext" ( - %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The message catalogs are in %BUILDDIR%/locale. - goto end -) - -if "%1" == "changes" ( - %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes - if errorlevel 1 exit /b 1 - echo. - echo.The overview file is in %BUILDDIR%/changes. - goto end -) - -if "%1" == "linkcheck" ( - %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck - if errorlevel 1 exit /b 1 - echo. - echo.Link check complete; look for any errors in the above output ^ -or in %BUILDDIR%/linkcheck/output.txt. - goto end -) - -if "%1" == "doctest" ( - %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest - if errorlevel 1 exit /b 1 - echo. - echo.Testing of doctests in the sources finished, look at the ^ -results in %BUILDDIR%/doctest/output.txt. - goto end -) - -if "%1" == "xml" ( - %SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The XML files are in %BUILDDIR%/xml. - goto end -) - -if "%1" == "pseudoxml" ( - %SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml. - goto end -) - -:end diff --git a/docs/migration.rst b/docs/migration.rst deleted file mode 100644 index 9c28647a..00000000 --- a/docs/migration.rst +++ /dev/null @@ -1,213 +0,0 @@ -.. 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. - -.. _migration: - -Migrating from 2.x to 3.0 -========================= - -Guidance on how to upgrade from PlatformIO v2.x to v3.x with emphasis on major -changes, what is new, and what is been removed. - -PlatformIO 3 is not backwards compatible with v2.x. Use this section as a -general guide to upgrading from v2.x to v3.0. For a broader overview, see -`what is new `_ in the v3.0 -release announcement. - -.. contents:: - -Major PlatformIO CLI changes ----------------------------- - -.. note:: - PlatformIO 3.x is 100% non-blocking! You do not need to use ``--force`` - option or setup special ``PLATOFMRIO_SETTING_ENABLE_PROMPTS`` environment. - Use PlatformIO 3.0 with sub-processing without any risk! - -This table shows the CLI changes between v2.x and v3.0. - -.. list-table:: - :header-rows: 1 - - * - PlatformIO 2.x - - PlatformIO 3.x - * - platformio platforms - - :ref:`platformio platform ` - * - platformio serialports - - :ref:`cmd_device` - * - platformio settings set enable_prompts false - - Removed! Now, all PlatformIO 3.0 CLI is 100% non-blocking! - - -PlatformIO 2.x commands will be converted to PlatformIO 3.x automatically. -Nevertheless, we recommend to use PlatformIO 3.x commands for the new projects. - -What is new ------------ - -Development Platforms -~~~~~~~~~~~~~~~~~~~~~ - -We have introduced :ref:`platform_creating_manifest_file` and ported -PlatformIO 2.x development platforms according PlatformIO 3.0 decentralized -architecture. Now, platform related things (build scrips, LD scripts, board -configs, package requirements) are located in own repository. Here is the full -list with `PlatformIO 3.0 open source development platforms `__. You can fork it, modify or create custom. -See :ref:`platform_creating` guide for details. - -* :ref:`platform_creating_manifest_file` -* ``espressif`` development platform has been renamed to :ref:`platform_espressif8266` -* PlatformIO 3.0 :ref:`userguide_platform` -* Custom package repositories -* External embedded board configuration files, isolated build scripts -* Embedded Board compatibility with more than one development platform - -Library Manager and Intelligent Build System -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -* Powerful and super-fast :ref:`ldf` that interprets C/C++ Preprocessor - conditional macros with deep search behavior -* Project dependencies per build environment using `projectconf_lib_deps` option -* Depend on a library using VCS URL (GitHub, Git, ARM mbed code registry, Hg, SVN) -* Install library by name -* Strict search for library dependencies -* Multiple library storages: Project's Local, PlatformIO's Global or Custom -* Allowed :ref:`library_config` to specify sources other than PlatformIO's Repository -* Check library compatibility with project environment before building -* Control Library Dependency Finder for compatibility using :ref:`projectconf_lib_compat_mode` option -* Custom library storages/directories with :ref:`projectconf_lib_extra_dirs` option -* Handle extra build flags, source filters and build script from :ref:`library_config` -* Allowed to disable library archiving (``*.ar``) -* Show detailed build information about dependent libraries (Library Dependency Graph) -* Support for the 3rd party manifests (Arduino IDE "library.properties" and - ARM mbed "module.json") -* Build System: Attach custom Before/Pre and After/Post actions for targets using :ref:`projectconf_extra_script` - -Command Line Interface -~~~~~~~~~~~~~~~~~~~~~~ - -We have added new commands and changed some existing ones. Here are the new or -updated commands and options. - -.. list-table:: - :header-rows: 1 - - * - Command - - Description - * - :ref:`cmd_boards` - - Returns all supported boards by PlatformIO - * - :option:`platformio boards --installed` - - Returns currently installed boards - * - :option:`platformio ci --project-option` - - Pass custom option from :ref:`projectconf` - * - :option:`platformio ci --verbose` - - Print detailed information about build process - * - :option:`platformio init --project-option` - - Pass custom option from :ref:`projectconf` - * - :option:`platformio lib --global` - - Manage PlatformIO :ref:`Global Library Storage ` - * - :option:`platformio lib --storage-dir` - - Manage :ref:`Custom Library Storage ` - * - :ref:`cmd_lib_install` - - New PlatformIO 3.0 Library Manager! Semantic Versioning, VCS support and external URL support - * - :option:`platformio lib install --silent` - - Suppress progress reporting when install library - * - :option:`platformio lib install --interactive` - - Allow to make a choice for all prompts when install library - * - :option:`platformio lib search --header` - - Search library by specific header file name (include) - * - :option:`platformio lib update --only-check` - - Do not update, only check for new version - * - :ref:`platformio platform ` - - New PlatformIO 3.0 Platform Manager! Semantic Versioning, VCS support and external URL support. - * - :option:`platformio platform update --only-packages` - - Update only platform packages - * - :option:`platformio platform update --only-check` - - Do not update, only check for new version - * - :ref:`cmd_run` - - By default, prints only human-readable information when processing environments - * - :option:`platformio run --verbose` - - Print detailed processing information - * - :ref:`platformio settings set force_verbose true ` - - Force verbose output when processing environments (globally) - * - :ref:`cmd_test` - - PlatformIO Plus Unit Testing - * - :option:`platformio update --only-check` - - Do not update, only check for new version - -:ref:`projectconf` -~~~~~~~~~~~~~~~~~~ - -We have added new options and changed some existing ones. Here are the new or -updated options. - -.. list-table:: - :header-rows: 1 - - * - Section - - Option - - Description - * - platformio - - :ref:`projectconf_pio_libdeps_dir` - - Internal storage where :ref:`librarymanager` will install project dependencies - * - platformio - - :ref:`projectconf_pio_test_dir` - - Directory where :ref:`unit_testing` engine will look for the tests - * - env - - :ref:`projectconf_lib_deps` - - Specify project dependencies that should be installed automatically to :ref:`projectconf_pio_libdeps_dir` before environment processing. - * - env - - :ref:`projectconf_env_platform` - - PlatformIO 3.0 allows to use specific version of platform using `Semantic Versioning `_ (X.Y.Z=MAJOR.MINOR.PATCH). - * - env - - :ref:`projectconf_lib_extra_dirs` - - A list with extra directories/storages where :ref:`ldf` will look for dependencies - * - env - - :ref:`projectconf_lib_ldf_mode` - - This option specifies how does :ref:`ldf` should analyze dependencies (``#include`` directives) - * - env - - :ref:`projectconf_lib_compat_mode` - - Library compatibility mode allows to control strictness of :ref:`ldf` - * - env - - :ref:`projectconf_test_ignore` - - Ignore tests where the name matches specified patterns - -What is removed ---------------- - -Command Line Interface -~~~~~~~~~~~~~~~~~~~~~~ - -The following commands have been dropped or changed in v3.0. - -.. list-table:: - :header-rows: 1 - - * - Command - - Description - * - platformio init --enable-auto-uploading - - Use :option:`platformio init --project-option` instead of it with ``targets = upload`` value - -:ref:`projectconf` -~~~~~~~~~~~~~~~~~~ - -The following options have been dropped or changed in v3.0. - -.. list-table:: - :header-rows: 1 - - * - Section - - Option - - Description - * - platformio - - :ref:`projectconf_pio_lib_dir` - - Changed: Project's own/private libraries, where in PlatformIO 2.x it was global library storage - diff --git a/docs/platforms/atmelavr.rst b/docs/platforms/atmelavr.rst deleted file mode 100644 index 798dfd6f..00000000 --- a/docs/platforms/atmelavr.rst +++ /dev/null @@ -1,1181 +0,0 @@ -.. 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. - -.. _platform_atmelavr: - -Platform ``atmelavr`` -===================== -Atmel AVR 8- and 32-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industrys most code-efficient architecture for C and assembly programming. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-arduinoavr`` - - `Arduino Wiring-based Framework (AVR Core, 1.6) `_ - - * - ``framework-simba`` - - `Simba Framework `_ - - * - ``tool-avrdude`` - - `AVRDUDE `_ - - * - ``tool-micronucleus`` - - `Micronucleus `_ - - * - ``toolchain-atmelavr`` - - `avr-gcc `_, `GDB `_, `AVaRICE `_, `SimulAVR `_ - -.. warning:: - **Linux Users:** Don't forget to install "udev" rules file - `99-platformio-udev.rules `_ (an instruction is located in the file). - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_arduino` - - Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences. - - * - :ref:`framework_simba` - - Simba is an RTOS and build framework. It aims to make embedded programming easy and portable. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -Adafruit -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``bluefruitmicro`` - - `Adafruit Bluefruit Micro `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``feather32u4`` - - `Adafruit Feather `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``flora8`` - - `Adafruit Flora `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``gemma`` - - `Adafruit Gemma `_ - - ATTINY85 - - 8 MHz - - 8 Kb - - 0.5 Kb - - * - ``metro`` - - `Adafruit Metro `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``protrinket3`` - - `Adafruit Pro Trinket 3V/12MHz (USB) `_ - - ATMEGA328P - - 12 MHz - - 32 Kb - - 2 Kb - - * - ``protrinket3ftdi`` - - `Adafruit Pro Trinket 3V/12MHz (FTDI) `_ - - ATMEGA328P - - 12 MHz - - 32 Kb - - 2 Kb - - * - ``protrinket5`` - - `Adafruit Pro Trinket 5V/16MHz (USB) `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``protrinket5ftdi`` - - `Adafruit Pro Trinket 5V/16MHz (USB) `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``trinket3`` - - `Adafruit Trinket 3V/8MHz `_ - - ATTINY85 - - 8 MHz - - 8 Kb - - 0.5 Kb - - * - ``trinket5`` - - `Adafruit Trinket 5V/16MHz `_ - - ATTINY85 - - 16 MHz - - 8 Kb - - 0.5 Kb - -Arduboy -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``arduboy`` - - `Arduboy `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``arduboy_devkit`` - - `Arduboy DevKit `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - -Arduino -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``LilyPadUSB`` - - `Arduino LilyPad USB `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``atmegangatmega168`` - - `Arduino NG or older ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``atmegangatmega8`` - - `Arduino NG or older ATmega8 `_ - - ATMEGA8 - - 16 MHz - - 8 Kb - - 1 Kb - - * - ``btatmega168`` - - `Arduino BT ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``btatmega328`` - - `Arduino BT ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``chiwawa`` - - `Arduino Industrial 101 `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``diecimilaatmega168`` - - `Arduino Duemilanove or Diecimila ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``diecimilaatmega328`` - - `Arduino Duemilanove or Diecimila ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``esplora`` - - `Arduino Esplora `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``ethernet`` - - `Arduino Ethernet `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``fio`` - - `Arduino Fio `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``leonardo`` - - `Arduino Leonardo `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``leonardoeth`` - - `Arduino Leonardo ETH `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``lilypadatmega168`` - - `Arduino LilyPad ATmega168 `_ - - ATMEGA168 - - 8 MHz - - 16 Kb - - 1 Kb - - * - ``lilypadatmega328`` - - `Arduino LilyPad ATmega328 `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``megaADK`` - - `Arduino Mega ADK `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - - * - ``megaatmega1280`` - - `Arduino Mega or Mega 2560 ATmega1280 `_ - - ATMEGA1280 - - 16 MHz - - 128 Kb - - 8 Kb - - * - ``megaatmega2560`` - - `Arduino Mega or Mega 2560 ATmega2560 (Mega 2560) `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - - * - ``micro`` - - `Arduino Micro `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``miniatmega168`` - - `Arduino Mini ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``miniatmega328`` - - `Arduino Mini ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``nanoatmega168`` - - `Arduino Nano ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``nanoatmega328`` - - `Arduino Nano ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``pro16MHzatmega168`` - - `Arduino Pro or Pro Mini ATmega168 (5V, 16 MHz) `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``pro16MHzatmega328`` - - `Arduino Pro or Pro Mini ATmega328 (5V, 16 MHz) `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``pro8MHzatmega168`` - - `Arduino Pro or Pro Mini ATmega168 (3.3V, 8 MHz) `_ - - ATMEGA168 - - 8 MHz - - 16 Kb - - 1 Kb - - * - ``pro8MHzatmega328`` - - `Arduino Pro or Pro Mini ATmega328 (3.3V, 8 MHz) `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``robotControl`` - - `Arduino Robot Control `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``robotMotor`` - - `Arduino Robot Motor `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``uno`` - - `Arduino Uno `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``yun`` - - `Arduino Yun `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``yunmini`` - - `Arduino Yun Mini `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - -BQ -~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``zumbt328`` - - `BQ ZUM BT-328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -BitWizard -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``raspduino`` - - `BitWizard Raspduino `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -Digistump -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``digispark-pro`` - - `Digistump Digispark Pro (Default 16 MHz) `_ - - ATTINY167 - - 16 MHz - - 16 Kb - - 0.5 Kb - - * - ``digispark-pro32`` - - `Digistump Digispark Pro (16 MHz) (32 byte buffer) `_ - - ATTINY167 - - 16 MHz - - 16 Kb - - 0.5 Kb - - * - ``digispark-pro64`` - - `Digistump Digispark Pro (16 MHz) (64 byte buffer) `_ - - ATTINY167 - - 16 MHz - - 16 Kb - - 0.5 Kb - - * - ``digispark-tiny`` - - `Digistump Digispark (Default - 16 MHz) `_ - - ATTINY85 - - 16 MHz - - 8 Kb - - 0.5 Kb - -Engduino -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``engduinov1`` - - `Engduino 1 `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``engduinov2`` - - `Engduino 2 `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``engduinov3`` - - `Engduino 3 `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - -Generic ATTiny -~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``attiny13`` - - `Generic ATTiny13 `_ - - ATTINY13 - - 9 MHz - - 1 Kb - - 0.0625 Kb - - * - ``attiny24`` - - `Generic ATTiny24 `_ - - ATTINY24 - - 8 MHz - - 2 Kb - - 0.125 Kb - - * - ``attiny25`` - - `Generic ATTiny25 `_ - - ATTINY25 - - 8 MHz - - 2 Kb - - 0.125 Kb - - * - ``attiny44`` - - `Generic ATTiny44 `_ - - ATTINY44 - - 8 MHz - - 4 Kb - - 0.25 Kb - - * - ``attiny45`` - - `Generic ATTiny45 `_ - - ATTINY45 - - 8 MHz - - 4 Kb - - 0.25 Kb - - * - ``attiny84`` - - `Generic ATTiny84 `_ - - ATTINY84 - - 8 MHz - - 8 Kb - - 0.5 Kb - - * - ``attiny85`` - - `Generic ATTiny85 `_ - - ATTINY85 - - 8 MHz - - 8 Kb - - 0.5 Kb - -LightUp -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lightup`` - - `LightUp `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - -Linino -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``one`` - - `Linino One `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - -LowPowerLab -~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``moteino`` - - `LowPowerLab Moteino `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``moteinomega`` - - `LowPowerLab MoteinoMEGA `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - -Mcudude -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``mightycore1284`` - - `MightyCore ATmega1284 `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``mightycore16`` - - `MightyCore ATmega16 `_ - - ATMEGA16 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``mightycore164`` - - `MightyCore ATmega164 `_ - - ATMEGA164P - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``mightycore32`` - - `MightyCore ATmega32 `_ - - ATMEGA32 - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``mightycore324`` - - `MightyCore ATmega324 `_ - - ATMEGA324P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``mightycore644`` - - `MightyCore ATmega644 `_ - - ATMEGA644P - - 16 MHz - - 64 Kb - - 4 Kb - - * - ``mightycore8535`` - - `MightyCore ATmega8535 `_ - - ATMEGA16 - - 16 MHz - - 8 Kb - - 0.5 Kb - -Microduino -~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``1284p16m`` - - `Microduino Core+ (ATmega1284P@16M,5V) `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``1284p8m`` - - `Microduino Core+ (ATmega1284P@8M,3.3V) `_ - - ATMEGA1284P - - 8 MHz - - 128 Kb - - 16 Kb - - * - ``168pa16m`` - - `Microduino Core (Atmega168PA@16M,5V) `_ - - ATMEGA168P - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``168pa8m`` - - `Microduino Core (Atmega168PA@8M,3.3V) `_ - - ATMEGA168P - - 8 MHz - - 16 Kb - - 1 Kb - - * - ``328p16m`` - - `Microduino Core (Atmega328P@16M,5V) `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``328p8m`` - - `Microduino Core (Atmega328P@8M,3.3V) `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``32u416m`` - - `Microduino Core USB (ATmega32U4@16M,5V) `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``644pa16m`` - - `Microduino Core+ (Atmega644PA@16M,5V) `_ - - ATMEGA644P - - 16 MHz - - 64 Kb - - 4 Kb - - * - ``644pa8m`` - - `Microduino Core+ (Atmega644PA@8M,3.3V) `_ - - ATMEGA644P - - 8 MHz - - 64 Kb - - 4 Kb - -OpenEnergyMonitor -~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``emonpi`` - - `OpenEnergyMonitor emonPi `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -PanStamp -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``panStampAVR`` - - `PanStamp AVR `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - -Pinoccio -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``pinoccio`` - - `Pinoccio Scout `_ - - ATMEGA256RFR2 - - 16 MHz - - 256 Kb - - 32 Kb - -Punch Through -~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lightblue-bean`` - - `LightBlue Bean `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - -Quirkbot -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``quirkbot`` - - `Quirkbot `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - -RedBearLab -~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``blend`` - - `RedBearLab Blend `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``blendmicro16`` - - `RedBearLab Blend Micro 3.3V/16MHz (overclock) `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``blendmicro8`` - - `RedBearLab Blend Micro 3.3V/8MHz `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - -RepRap -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``reprap_rambo`` - - `RepRap RAMBo `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - -Sanguino -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sanguino_atmega1284_8m`` - - `Sanguino ATmega1284p (8MHz) `_ - - ATMEGA1284P - - 8 MHz - - 128 Kb - - 16 Kb - - * - ``sanguino_atmega1284p`` - - `Sanguino ATmega1284p (16MHz) `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``sanguino_atmega644`` - - `Sanguino ATmega644 or ATmega644A (16 MHz) `_ - - ATMEGA644 - - 16 MHz - - 64 Kb - - 4 Kb - - * - ``sanguino_atmega644_8m`` - - `Sanguino ATmega644 or ATmega644A (8 MHz) `_ - - ATMEGA644 - - 8 MHz - - 64 Kb - - 4 Kb - - * - ``sanguino_atmega644p`` - - `Sanguino ATmega644P or ATmega644PA (16 MHz) `_ - - ATMEGA644P - - 16 MHz - - 64 Kb - - 4 Kb - - * - ``sanguino_atmega644p_8m`` - - `Sanguino ATmega644P or ATmega644PA (8 MHz) `_ - - ATMEGA644P - - 8 MHz - - 64 Kb - - 4 Kb - -SparkFun -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sparkfun_digitalsandbox`` - - `SparkFun Digital Sandbox `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``sparkfun_fiov3`` - - `SparkFun Fio V3 3.3V/8MHz `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``sparkfun_makeymakey`` - - `SparkFun Makey Makey `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``sparkfun_megamini`` - - `SparkFun Mega Pro Mini 3.3V `_ - - ATMEGA2560 - - 8 MHz - - 256 Kb - - 8 Kb - - * - ``sparkfun_megapro16MHz`` - - `SparkFun Mega Pro 5V/16MHz `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - - * - ``sparkfun_megapro8MHz`` - - `SparkFun Mega Pro 3.3V/8MHz `_ - - ATMEGA2560 - - 8 MHz - - 256 Kb - - 8 Kb - - * - ``sparkfun_promicro16`` - - `SparkFun Pro Micro 5V/16MHz `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``sparkfun_promicro8`` - - `SparkFun Pro Micro 3.3V/8MHz `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``sparkfun_redboard`` - - `SparkFun RedBoard `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``uview`` - - `SparkFun MicroView `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -TinyCircuits -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``tinyduino`` - - `TinyCircuits TinyDuino Processor Board `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``tinylily`` - - `TinyCircuits TinyLily Mini Processor `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - -Wicked Device -~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``wildfirev2`` - - `Wicked Device WildFire V2 `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``wildfirev3`` - - `Wicked Device WildFire V3 `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - -ubIQio -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``ardhat`` - - `ubIQio Ardhat `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -.. include:: atmelavr_extra.rst diff --git a/docs/platforms/atmelavr_extra.rst b/docs/platforms/atmelavr_extra.rst deleted file mode 100644 index ac6691bd..00000000 --- a/docs/platforms/atmelavr_extra.rst +++ /dev/null @@ -1,131 +0,0 @@ -.. 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. - -.. _atmelavr_upload_via_programmer: - -Upload using Programmer ------------------------ - -To upload firmware using programmer you need to use ``program`` target instead -``upload`` for :option:`platformio run --target` command. For example, -``platformio run -t program``. - -Configuration for the programmers: - -* AVR ISP - - .. code-block:: ini - - [env:myenv] - platform = atmelavr - framework = arduino - upload_protocol = stk500v1 - upload_flags = -P$UPLOAD_PORT - - ; edit this line with valid upload port - upload_port = SERIAL_PORT_HERE - -* AVRISP mkII - - .. code-block:: ini - - [env:myenv] - platform = atmelavr - framework = arduino - upload_protocol = stk500v2 - upload_flags = -Pusb - -* USBtinyISP - - .. code-block:: ini - - [env:myenv] - platform = atmelavr - framework = arduino - upload_protocol = usbtiny - -* ArduinoISP - - .. code-block:: ini - - [env:myenv] - platform = atmelavr - framework = arduino - upload_protocol = arduinoisp - -* USBasp - - .. code-block:: ini - - [env:myenv] - platform = atmelavr - framework = arduino - upload_protocol = usbasp - upload_flags = -Pusb - -* Parallel Programmer - - .. code-block:: ini - - [env:myenv] - platform = atmelavr - framework = arduino - upload_protocol = dapa - upload_flags = -F - -* Arduino as ISP - - .. code-block:: ini - - [env:myenv] - platform = atmelavr - framework = arduino - upload_protocol = stk500v1 - upload_flags = -P$UPLOAD_PORT -b$UPLOAD_SPEED - - ; edit these lines - upload_port = SERIAL_PORT_HERE - upload_speed = 19200 - -Upload EEPROM data ------------------- - -To upload EEPROM data (from EEMEM directive) you need to use ``uploadeep`` -target instead ``upload`` for :option:`platformio run --target` command. -For example, ``platformio run -t uploadeep``. - -Articles --------- - -* Dec 01, 2015 - **Michał Seroczyński** - `Push Notification from Arduino Yún with motion sensor `_ -* Nov 29, 2015 - **Keith Hughes** - `Using PlatformIO for Embedded Projects `_ -* Nov 22, 2015 - **Michał Seroczyński** - `Using PlatformIO to get started with Arduino in CLion IDE `_ -* Nov 09, 2015 - **ÁLvaro García Gómez** - `Programar con Arduino "The good way" (Programming with Arduino "The good way", Spanish) `_ -* Oct 18, 2015 - **Nico Coetzee** - `First Arduino I2C Experience with PlatformIO `_ -* Oct 10, 2015 - **Floyd Hilton** - `Programming Arduino with Atom `_ -* June 20, 2014 - **Ivan Kravets, Ph.D.** - `Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO `_ - -See more :ref:`articles`. - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for Atmel AVR platform `_. - -* `Wiring Blink `_ -* `Arduino with external libraries `_ -* `Arduino with internal libraries `_ -* `Project uses source file name for "src" directory (Arduino project structure) `_ -* `Atmel AVR Native blink `_ -* `Digitstump Mouse `_ -* `Engduino magnetometer `_ -* `PanStamp blink `_ diff --git a/docs/platforms/atmelsam.rst b/docs/platforms/atmelsam.rst deleted file mode 100644 index e4bf5842..00000000 --- a/docs/platforms/atmelsam.rst +++ /dev/null @@ -1,290 +0,0 @@ -.. 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. - -.. _platform_atmelsam: - -Platform ``atmelsam`` -===================== -Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-arduinosam`` - - `Arduino Wiring-based Framework (SAM Core, 1.6) `_ - - * - ``framework-mbed`` - - `mbed Framework `_ - - * - ``framework-simba`` - - `Simba Framework `_ - - * - ``tool-avrdude`` - - `AVRDUDE `_ - - * - ``tool-bossac`` - - `BOSSA CLI `_ - - * - ``tool-openocd`` - - `OpenOCD `_ - - * - ``toolchain-gccarmnoneeabi`` - - `gcc-arm-embedded `_, `GDB `_ - -.. warning:: - **Linux Users:** Don't forget to install "udev" rules file - `99-platformio-udev.rules `_ (an instruction is located in the file). - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_arduino` - - Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences. - - * - :ref:`framework_simba` - - Simba is an RTOS and build framework. It aims to make embedded programming easy and portable. - - * - :ref:`framework_mbed` - - The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -Adafruit -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``adafruit_feather_m0_usb`` - - `Adafruit Feather M0 `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - -Arduino -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``due`` - - `Arduino Due (Programming Port) `_ - - SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - - * - ``dueUSB`` - - `Arduino Due (USB Native Port) `_ - - SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - - * - ``mkr1000USB`` - - `Arduino MKR1000 `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``mzeroUSB`` - - `Arduino M0 `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``mzeropro`` - - `Arduino M0 Pro (Programming Port) `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``mzeroproUSB`` - - `Arduino M0 Pro (Native USB Port) `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``tian`` - - `Arduino Tian `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``zero`` - - `Arduino Zero (Programming Port) `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``zeroUSB`` - - `Arduino Zero (USB Native Port) `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - -Atmel -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``samd21_xpro`` - - `Atmel SAMD21-XPRO `_ - - ATSAMD21J18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``saml21_xpro_b`` - - `Atmel SAML21-XPRO-B `_ - - ATSAML21J18B - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``samr21_xpro`` - - `Atmel ATSAMR21-XPRO `_ - - ATSAMR21G18A - - 48 MHz - - 256 Kb - - 32 Kb - -Digistump -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``digix`` - - `Digistump DigiX `_ - - AT91SAM3X8E - - 84 MHz - - 512 Kb - - 28 Kb - -SainSmart -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sainSmartDue`` - - `SainSmart Due (Programming Port) `_ - - AT91SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - - * - ``sainSmartDueUSB`` - - `SainSmart Due (USB Native Port) `_ - - AT91SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - -SparkFun -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sparkfun_samd21_dev_usb`` - - `SparkFun SAMD21 Dev Breakout `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``sparkfun_samd21_mini_usb`` - - `SparkFun SAMD21 Mini Breakout `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb diff --git a/docs/platforms/creating_board.rst b/docs/platforms/creating_board.rst deleted file mode 100644 index 02c8b0ea..00000000 --- a/docs/platforms/creating_board.rst +++ /dev/null @@ -1,88 +0,0 @@ -.. 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. - -.. _board_creating: - -Custom Embedded Board -===================== - -*PlatformIO* has pre-built settings for the most popular embedded boards. This -list is available: - -* `Embedded Boards Explorer `_ (Web) -* :ref:`cmd_boards` (CLI command) - -Nevertheless, PlatformIO allows to create own board or override existing -board's settings. All data is declared using -`JSON-style `_ via -`associative array `_ -(name/value pairs). - -.. contents:: - -JSON Structure --------------- - -The key fields: - -* ``build`` data will be used by :ref:`platforms` and :ref:`frameworks` builders -* ``frameworks`` is the list with supported :ref:`frameworks` -* ``platform`` name of :ref:`platforms` -* ``upload`` upload settings which depend on the ``platform`` - -.. code-block:: json - - { - "build": { - "extra_flags": "-DHELLO_PLATFORMIO", - "f_cpu": "16000000L", - "hwids": [ - [ - "0x1234", - "0x0013" - ], - [ - "0x4567", - "0x0013" - ] - ], - "mcu": "%MCU_TYPE_HERE%" - }, - "frameworks": ["%LIST_WITH_SUPPORTED_FRAMEWORKS%"], - "name": "My Test Board", - "upload": { - "maximum_ram_size": 2048, - "maximum_size": 32256 - }, - "url": "http://example.com", - "vendor": "MyCompany" - } - - -Installation ------------- - -1. Create ``boards`` directory in :ref:`projectconf_pio_home_dir` if it - doesn't exist. -2. Create ``myboard.json`` file and put to ``boards`` directory. -3. Search available boards via :ref:`cmd_boards` command. You should see - ``myboard`` board. - -Now, you can use ``myboard`` for the :ref:`projectconf_env_board` option in -:ref:`projectconf`. - - -Examples --------- - -Please take a look at the source code of -`PlatformIO Development Platforms `_ -and navigate to ``boards`` folder of the repository. diff --git a/docs/platforms/creating_platform.rst b/docs/platforms/creating_platform.rst deleted file mode 100644 index 5118fcd1..00000000 --- a/docs/platforms/creating_platform.rst +++ /dev/null @@ -1,363 +0,0 @@ -.. 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. - -.. _platform_creating: - -Custom Development Platform -=========================== - -*PlatformIO* was developed like a tool that may build the same source code -for the different development platforms via single command :ref:`cmd_run` -without any dependent software or requirements. - -For this purpose *PlatformIO* uses own pre-configured platforms data: -build scripts, toolchains, the settings for the most popular embedded -boards and etc. These data are pre-built and packaged to the different -``packages``. It allows *PlatformIO* to have multiple development platforms -which can use the same packages(toolchains, frameworks), but have -different/own build scripts, uploader and etc. - -.. note:: - If you want to change some build flags for the existing - :ref:`platforms`, you don't need to create (or duplicate) own - development platforms! Please use :ref:`projectconf_build_flags` option. - -**Step-by-Step Manual** - -1. Choose :ref:`platform_creating_packages` for platform -2. Create :ref:`platform_creating_manifest_file` -3. Create :ref:`platform_creating_build_script` -4. Finish with the :ref:`platform_creating_installation`. - -.. contents:: - -.. _platform_creating_packages: - -Packages --------- - -*PlatformIO* has pre-built packages for the most popular operation systems: -*Mac OS*, *Linux (+ARM)* and *Windows*. - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-arduinoavr`` - - `Arduino Wiring-based Framework (AVR Core, 1.6) `_ - - * - ``framework-arduinoespressif8266`` - - `Arduino Wiring-based Framework (ESP8266 Core) `_ - - * - ``framework-arduinointel`` - - `Arduino Wiring-based Framework (Intel ARC Core) `_ - - * - ``framework-arduinomicrochippic32`` - - `Arduino Wiring-based Framework (PIC32 Core) `_ - - * - ``framework-arduinomsp430`` - - `Arduino Wiring-based Framework (MSP430 Core) `_ - - * - ``framework-arduinonordicnrf51`` - - `Arduino Wiring-based Framework (RFduino Core) `_ - - * - ``framework-arduinosam`` - - `Arduino Wiring-based Framework (SAM Core, 1.6) `_ - - * - ``framework-arduinoststm32`` - - `Arduino Wiring-based Framework (STM32 Core) `_ - - * - ``framework-arduinoteensy`` - - `Arduino Wiring-based Framework `_ - - * - ``framework-cmsis`` - - `Vendor-independent hardware abstraction layer for the Cortex-M processor series `_ - - * - ``framework-energiamsp430`` - - `Energia Wiring-based Framework (MSP430 Core) `_ - - * - ``framework-energiativa`` - - `Energia Wiring-based Framework (LM4F Core) `_ - - * - ``framework-libopencm3`` - - `libOpenCM3 Framework `_ - - * - ``framework-mbed`` - - `mbed Framework `_ - - * - ``framework-simba`` - - `Simba Framework `_ - - * - ``framework-spl`` - - `Standard Peripheral Library for STM32 MCUs `_ - - * - ``framework-wiringpi`` - - `GPIO Interface library for the Raspberry Pi `_ - - * - ``ldscripts`` - - `Linker Scripts `_ - - * - ``sdk-esp8266`` - - `ESP8266 SDK `_ - - * - ``tool-arduino101load`` - - `Genuino101 uploader `_ - - * - ``tool-avrdude`` - - `AVRDUDE `_ - - * - ``tool-bossac`` - - `BOSSA CLI `_ - - * - ``tool-esptool`` - - `esptool-ck `_ - - * - ``tool-lm4flash`` - - `Flash Programmer `_ - - * - ``tool-micronucleus`` - - `Micronucleus `_ - - * - ``tool-mkspiffs`` - - `Tool to build and unpack SPIFFS images `_ - - * - ``tool-mspdebug`` - - `MSPDebug `_ - - * - ``tool-openocd`` - - `OpenOCD `_ - - * - ``tool-pic32prog`` - - `pic32prog `_ - - * - ``tool-rfdloader`` - - `rfdloader `_ - - * - ``tool-scons`` - - `SCons software construction tool `_ - - * - ``tool-sreccat`` - - `Merging tool `_ - - * - ``tool-stlink`` - - `ST-Link `_ - - * - ``tool-teensy`` - - `Teensy Loader `_ - - * - ``toolchain-atmelavr`` - - `avr-gcc `_, `GDB `_, `AVaRICE `_, `SimulAVR `_ - - * - ``toolchain-gccarmlinuxgnueabi`` - - `GCC for Linux ARM GNU EABI `_, `GDB `_ - - * - ``toolchain-gccarmnoneeabi`` - - `gcc-arm-embedded `_, `GDB `_ - - * - ``toolchain-gcclinux32`` - - `GCC for Linux i686 `_ - - * - ``toolchain-gcclinux64`` - - `GCC for Linux x86_64 `_ - - * - ``toolchain-gccmingw32`` - - `MinGW `_ - - * - ``toolchain-icestorm`` - - `GCC for FPGA IceStorm `_ - - * - ``toolchain-intelarc32`` - - `GCC for Intel ARC `_ - - * - ``toolchain-microchippic32`` - - `GCC for Microchip PIC32 `_ - - * - ``toolchain-timsp430`` - - `msp-gcc `_, `GDB `_ - - * - ``toolchain-xtensa`` - - `xtensa-gcc `_, `GDB `_ - -.. _platform_creating_manifest_file: - -Manifest File ``platform.json`` -------------------------------- - -.. code-block:: json - - { - "name": "myplatform", - "title": "My Platform", - "description": "My custom development platform", - "url": "http://example.com", - "homepage": "http://platformio.org/platforms/myplatform", - "license": "Apache-2.0", - "engines": { - "platformio": "~3.0.0", - "scons": ">=2.3.0,<2.6.0" - }, - "repository": { - "type": "git", - "url": "https://github.com/platformio/platform-myplatform.git" - }, - "version": "0.0.0", - "packageRepositories": [ - "https://dl.bintray.com/platformio/dl-packages/manifest.json", - "https://sourceforge.net/projects/platformio-storage/files/packages/manifest.json/download", - "http://dl.platformio.org/packages/manifest.json", - { - "framework-%FRAMEWORK_NAME_1%": [ - { - "url": "http://dl.example.com/packages/framework-%FRAMEWORK_NAME_1%-1.10607.0.tar.gz", - "sha1": "adce2cd30a830d71cb6572575bf08461b7b73c07", - "version": "1.10607.0", - "system": "*" - } - ] - } - ], - "frameworks": { - "%FRAMEWORK_NAME_1%": { - "package": "framework-%FRAMEWORK_NAME_1%", - "script": "builder/frameworks/%FRAMEWORK_NAME_1%.py" - }, - "%FRAMEWORK_NAME_N%": { - "package": "framework-%FRAMEWORK_NAME_N%", - "script": "builder/frameworks/%FRAMEWORK_NAME_N%.py" - } - }, - "packages": { - "toolchain-gccarmnoneeabi": { - "type": "toolchain", - "version": ">=1.40803.0,<1.40805.0" - }, - "framework-%FRAMEWORK_NAME_1%": { - "type": "framework", - "optional": true, - "version": "~1.10607.0" - }, - "framework-%FRAMEWORK_NAME_N%": { - "type": "framework", - "optional": true, - "version": "~1.117.0" - } - } - } - -.. _platform_creating_build_script: - -Build Script ``main.py`` ------------------------- - -Platform's build script is based on a next-generation build tool named -`SCons `_. PlatformIO has own built-in firmware builder -``env.BuildProgram`` with the deep libraries search. Please look into a -base template of ``main.py``. - -.. code-block:: python - - """ - Build script for test.py - test-builder.py - """ - - from os.path import join - from SCons.Script import AlwaysBuild, Builder, Default, DefaultEnvironment - - env = DefaultEnvironment() - - # A full list with the available variables - # http://www.scons.org/doc/production/HTML/scons-user.html#app-variables - env.Replace( - AR="ar", - AS="gcc", - CC="gcc", - CXX="g++", - OBJCOPY="objcopy", - RANLIB="ranlib", - - ARFLAGS=["..."], - - ASFLAGS=["flag1", "flag2", "flagN"], - CCFLAGS=["flag1", "flag2", "flagN"], - CXXFLAGS=["flag1", "flag2", "flagN"], - LINKFLAGS=["flag1", "flag2", "flagN"], - - CPPDEFINES=["DEFINE_1", "DEFINE=2", "DEFINE_N"], - - LIBS=["additional", "libs", "here"], - - UPLOADER=join("$PIOPACKAGES_DIR", "tool-bar", "uploader"), - UPLOADCMD="$UPLOADER $SOURCES" - ) - - env.Append( - BUILDERS=dict( - ElfToBin=Builder( - action=" ".join([ - "$OBJCOPY", - "-O", - "binary", - "$SOURCES", - "$TARGET"]), - suffix=".bin" - ) - ) - ) - - # The source code of "platformio-build-tool" is here - # https://github.com/platformio/platformio/blob/develop/platformio/builder/tools/platformio.py - - # - # Target: Build executable and linkable firmware - # - target_elf = env.BuildProgram() - - # - # Target: Build the .bin file - # - target_bin = env.ElfToBin(join("$BUILD_DIR", "firmware"), target_elf) - - # - # Target: Upload firmware - # - upload = env.Alias(["upload"], target_bin, "$UPLOADCMD") - AlwaysBuild(upload) - - # - # Target: Define targets - # - Default(target_bin) - - -.. _platform_creating_installation: - -Installation ------------- - -1. Create ``platforms`` directory in :ref:`projectconf_pio_home_dir` if it - doesn't exist. -2. Create ``myplatform`` directory in ``platforms`` -3. Copy ``platform.json`` and ``builder/main.py`` files to ``myplatform`` directory. -4. Search available platforms via :ref:`cmd_platform_search` command. You - should see ``myplatform`` platform. -5. Install ``myplatform`` platform via :ref:`cmd_platform_install` command. - -Now, you can use ``myplatform`` for the :ref:`projectconf_env_platform` -option in :ref:`projectconf`. - -Examples --------- - -Please take a look at the source code of -`PlatformIO Development Platforms `_. diff --git a/docs/platforms/custom_platform_and_board.rst b/docs/platforms/custom_platform_and_board.rst deleted file mode 100644 index 36614a24..00000000 --- a/docs/platforms/custom_platform_and_board.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. 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. - -Custom Platform & Board -======================= - -.. toctree:: - :maxdepth: 2 - - creating_platform - creating_board diff --git a/docs/platforms/embedded_boards.rst b/docs/platforms/embedded_boards.rst deleted file mode 100644 index 15ca4a6b..00000000 --- a/docs/platforms/embedded_boards.rst +++ /dev/null @@ -1,3274 +0,0 @@ -.. 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. - -.. _embedded_boards: - -Embedded Boards -=============== - -Rapid Embedded Development, Continuous and IDE integration in a few -steps with PlatformIO thanks to built-in project generator for the most -popular embedded boards and IDE. - -* You can list pre-configured boards using :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ -* For more detailed ``board`` information please scroll tables below by - horizontal. - -.. contents:: - -4DSystems -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``picadillo_35t`` - - `4DSystems PICadillo 35T `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - -96Boards -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``b96b_f446ve`` - - `96Boards B96B-F446VE `_ - - STM32F446VET6 - - 168 MHz - - 512 Kb - - 128 Kb - -Adafruit -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``adafruit_feather_m0_usb`` - - `Adafruit Feather M0 `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``bluefruitmicro`` - - `Adafruit Bluefruit Micro `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``feather32u4`` - - `Adafruit Feather `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``flora8`` - - `Adafruit Flora `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``gemma`` - - `Adafruit Gemma `_ - - ATTINY85 - - 8 MHz - - 8 Kb - - 0.5 Kb - - * - ``huzzah`` - - `Adafruit HUZZAH ESP8266 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``metro`` - - `Adafruit Metro `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``protrinket3`` - - `Adafruit Pro Trinket 3V/12MHz (USB) `_ - - ATMEGA328P - - 12 MHz - - 32 Kb - - 2 Kb - - * - ``protrinket3ftdi`` - - `Adafruit Pro Trinket 3V/12MHz (FTDI) `_ - - ATMEGA328P - - 12 MHz - - 32 Kb - - 2 Kb - - * - ``protrinket5`` - - `Adafruit Pro Trinket 5V/16MHz (USB) `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``protrinket5ftdi`` - - `Adafruit Pro Trinket 5V/16MHz (USB) `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``trinket3`` - - `Adafruit Trinket 3V/8MHz `_ - - ATTINY85 - - 8 MHz - - 8 Kb - - 0.5 Kb - - * - ``trinket5`` - - `Adafruit Trinket 5V/16MHz `_ - - ATTINY85 - - 16 MHz - - 8 Kb - - 0.5 Kb - -Arduboy -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``arduboy`` - - `Arduboy `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``arduboy_devkit`` - - `Arduboy DevKit `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - -Arduino -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``LilyPadUSB`` - - `Arduino LilyPad USB `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``atmegangatmega168`` - - `Arduino NG or older ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``atmegangatmega8`` - - `Arduino NG or older ATmega8 `_ - - ATMEGA8 - - 16 MHz - - 8 Kb - - 1 Kb - - * - ``btatmega168`` - - `Arduino BT ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``btatmega328`` - - `Arduino BT ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``chiwawa`` - - `Arduino Industrial 101 `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``diecimilaatmega168`` - - `Arduino Duemilanove or Diecimila ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``diecimilaatmega328`` - - `Arduino Duemilanove or Diecimila ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``due`` - - `Arduino Due (Programming Port) `_ - - SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - - * - ``dueUSB`` - - `Arduino Due (USB Native Port) `_ - - SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - - * - ``esplora`` - - `Arduino Esplora `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``ethernet`` - - `Arduino Ethernet `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``fio`` - - `Arduino Fio `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``leonardo`` - - `Arduino Leonardo `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``leonardoeth`` - - `Arduino Leonardo ETH `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``lilypadatmega168`` - - `Arduino LilyPad ATmega168 `_ - - ATMEGA168 - - 8 MHz - - 16 Kb - - 1 Kb - - * - ``lilypadatmega328`` - - `Arduino LilyPad ATmega328 `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``megaADK`` - - `Arduino Mega ADK `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - - * - ``megaatmega1280`` - - `Arduino Mega or Mega 2560 ATmega1280 `_ - - ATMEGA1280 - - 16 MHz - - 128 Kb - - 8 Kb - - * - ``megaatmega2560`` - - `Arduino Mega or Mega 2560 ATmega2560 (Mega 2560) `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - - * - ``micro`` - - `Arduino Micro `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``miniatmega168`` - - `Arduino Mini ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``miniatmega328`` - - `Arduino Mini ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``mkr1000USB`` - - `Arduino MKR1000 `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``mzeroUSB`` - - `Arduino M0 `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``mzeropro`` - - `Arduino M0 Pro (Programming Port) `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``mzeroproUSB`` - - `Arduino M0 Pro (Native USB Port) `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``nanoatmega168`` - - `Arduino Nano ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``nanoatmega328`` - - `Arduino Nano ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``pro16MHzatmega168`` - - `Arduino Pro or Pro Mini ATmega168 (5V, 16 MHz) `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``pro16MHzatmega328`` - - `Arduino Pro or Pro Mini ATmega328 (5V, 16 MHz) `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``pro8MHzatmega168`` - - `Arduino Pro or Pro Mini ATmega168 (3.3V, 8 MHz) `_ - - ATMEGA168 - - 8 MHz - - 16 Kb - - 1 Kb - - * - ``pro8MHzatmega328`` - - `Arduino Pro or Pro Mini ATmega328 (3.3V, 8 MHz) `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``robotControl`` - - `Arduino Robot Control `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``robotMotor`` - - `Arduino Robot Motor `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``tian`` - - `Arduino Tian `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``uno`` - - `Arduino Uno `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``yun`` - - `Arduino Yun `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``yunmini`` - - `Arduino Yun Mini `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``zero`` - - `Arduino Zero (Programming Port) `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``zeroUSB`` - - `Arduino Zero (USB Native Port) `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - -Armstrap -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``armstrap_eagle1024`` - - `Armstrap Eagle 1024 `_ - - STM32F417VGT6 - - 168 MHz - - 1024 Kb - - 192 Kb - - * - ``armstrap_eagle2048`` - - `Armstrap Eagle 2048 `_ - - STM32F427VIT6 - - 168 MHz - - 2048 Kb - - 256 Kb - - * - ``armstrap_eagle512`` - - `Armstrap Eagle 512 `_ - - STM32F407VET6 - - 168 MHz - - 512 Kb - - 192 Kb - -Atmel -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``samd21_xpro`` - - `Atmel SAMD21-XPRO `_ - - ATSAMD21J18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``saml21_xpro_b`` - - `Atmel SAML21-XPRO-B `_ - - ATSAML21J18B - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``samr21_xpro`` - - `Atmel ATSAMR21-XPRO `_ - - ATSAMR21G18A - - 48 MHz - - 256 Kb - - 32 Kb - -BBC -~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``bbcmicrobit`` - - `BBC micro:bit `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - -BQ -~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``icezum`` - - `BQ IceZUM Alhambra FPGA `_ - - ICE40HX1K - - 12 MHz - - 32 Kb - - 32 Kb - - * - ``zumbt328`` - - `BQ ZUM BT-328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -BitWizard -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``raspduino`` - - `BitWizard Raspduino `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -CQ Publishing -~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc11u35_501`` - - `CQ Publishing TG-LPC11U35-501 `_ - - LPC11U35 - - 48 MHz - - 64 Kb - - 10 Kb - -Delta -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``dfcm_nnn40`` - - `Delta DFCM-NNN40 `_ - - NRF51822 - - 32 MHz - - 256 Kb - - 32 Kb - -Digilent -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``cerebot32mx4`` - - `Digilent Cerebot 32MX4 `_ - - 32MX460F512L - - 80 MHz - - 512 Kb - - 32 Kb - - * - ``cerebot32mx7`` - - `Digilent Cerebot 32MX7 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``chipkit_cmod`` - - `Digilent chipKIT Cmod `_ - - 32MX150F128D - - 40 MHz - - 128 Kb - - 32 Kb - - * - ``chipkit_dp32`` - - `Digilent chipKIT DP32 `_ - - 32MX250F128B - - 40 MHz - - 128 Kb - - 32 Kb - - * - ``chipkit_mx3`` - - `Digilent chipKIT MX3 `_ - - 32MX320F128H - - 80 MHz - - 128 Kb - - 16 Kb - - * - ``chipkit_pro_mx4`` - - `Digilent chipKIT Pro MX4 `_ - - 32MX460F512L - - 80 MHz - - 512 Kb - - 32 Kb - - * - ``chipkit_pro_mx7`` - - `Digilent chipKIT Pro MX7 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``chipkit_uc32`` - - `Digilent chipKIT uC32 `_ - - 32MX340F512H - - 80 MHz - - 512 Kb - - 32 Kb - - * - ``chipkit_wf32`` - - `Digilent chipKIT WF32 `_ - - 32MX695F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``chipkit_wifire`` - - `Digilent chipKIT WiFire `_ - - 32MZ2048ECG100 - - 200 MHz - - 2048 Kb - - 512 Kb - - * - ``mega_pic32`` - - `Digilent chipKIT MAX32 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``openscope`` - - `Digilent OpenScope `_ - - 32MZ2048EFG124 - - 200 MHz - - 2048 Kb - - 512 Kb - - * - ``uno_pic32`` - - `Digilent chipKIT UNO32 `_ - - 32MX320F128H - - 80 MHz - - 128 Kb - - 16 Kb - -Digistump -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``digispark-pro`` - - `Digistump Digispark Pro (Default 16 MHz) `_ - - ATTINY167 - - 16 MHz - - 16 Kb - - 0.5 Kb - - * - ``digispark-pro32`` - - `Digistump Digispark Pro (16 MHz) (32 byte buffer) `_ - - ATTINY167 - - 16 MHz - - 16 Kb - - 0.5 Kb - - * - ``digispark-pro64`` - - `Digistump Digispark Pro (16 MHz) (64 byte buffer) `_ - - ATTINY167 - - 16 MHz - - 16 Kb - - 0.5 Kb - - * - ``digispark-tiny`` - - `Digistump Digispark (Default - 16 MHz) `_ - - ATTINY85 - - 16 MHz - - 8 Kb - - 0.5 Kb - - * - ``digix`` - - `Digistump DigiX `_ - - AT91SAM3X8E - - 84 MHz - - 512 Kb - - 28 Kb - -Doit -~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espduino`` - - `ESPDuino (ESP-13 Module) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -ESPert -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espresso_lite_v1`` - - `ESPresso Lite 1.0 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``espresso_lite_v2`` - - `ESPresso Lite 2.0 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -ESPino -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espino`` - - `ESPino `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -Elektor Labs -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``elektor_cocorico`` - - `CoCo-ri-Co! `_ - - LPC812 - - 30 MHz - - 16 Kb - - 4 Kb - -Embedded Artists -~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc11u35`` - - `EA LPC11U35 QuickStart Board `_ - - LPC11U35 - - 48 MHz - - 64 Kb - - 10 Kb - - * - ``lpc4088`` - - `Embedded Artists LPC4088 QuickStart Board `_ - - LPC4088 - - 120 MHz - - 512 Kb - - 96 Kb - - * - ``lpc4088_dm`` - - `Embedded Artists LPC4088 Display Module `_ - - LPC4088 - - 120 MHz - - 512 Kb - - 96 Kb - -Engduino -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``engduinov1`` - - `Engduino 1 `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``engduinov2`` - - `Engduino 2 `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``engduinov3`` - - `Engduino 3 `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - -Espressif -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``esp01`` - - `Espressif Generic ESP8266 ESP-01 512k `_ - - ESP8266 - - 80 MHz - - 512 Kb - - 80 Kb - - * - ``esp01_1m`` - - `Espressif Generic ESP8266 ESP-01 1M `_ - - ESP8266 - - 80 MHz - - 1024 Kb - - 80 Kb - - * - ``esp07`` - - `Espressif Generic ESP8266 ESP-07 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``esp12e`` - - `Espressif ESP8266 ESP-12E `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``esp8285`` - - `Generic ESP8285 Module `_ - - ESP8266 - - 80 MHz - - 448 Kb - - 80 Kb - - * - ``esp_wroom_02`` - - `ESP-WROOM-02 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``phoenix_v1`` - - `Phoenix 1.0 `_ - - ESP8266 - - 80 MHz - - 1024 Kb - - 80 Kb - - * - ``phoenix_v2`` - - `Phoenix 2.0 `_ - - ESP8266 - - 80 MHz - - 1024 Kb - - 80 Kb - - * - ``wifinfo`` - - `WifInfo `_ - - ESP8266 - - 80 MHz - - 448 Kb - - 80 Kb - -Freescale -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``IBMEthernetKit`` - - `Ethernet IoT Starter Kit `_ - - MK64FN1M0VLL12 - - 120 MHz - - 1024 Kb - - 256 Kb - - * - ``frdm_k20d50m`` - - `Freescale Kinetis FRDM-K20D50M `_ - - MK20DX128VLH5 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``frdm_k22f`` - - `Freescale Kinetis FRDM-K22F `_ - - MK22FN512VLH12 - - 120 MHz - - 512 Kb - - 128 Kb - - * - ``frdm_k64f`` - - `Freescale Kinetis FRDM-K64F `_ - - MK64FN1M0VLL12 - - 120 MHz - - 1024 Kb - - 256 Kb - - * - ``frdm_kl05z`` - - `Freescale Kinetis FRDM-KL05Z `_ - - MKL05Z32VFM4 - - 48 MHz - - 32 Kb - - 4 Kb - - * - ``frdm_kl25z`` - - `Freescale Kinetis FRDM-KL25Z `_ - - MKL25Z128VLK4 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``frdm_kl26z`` - - `Freescale Kinetis FRDM-KL26Z `_ - - MKL26Z128VLH4 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``frdm_kl27z`` - - `Freescale Kinetis FRDM-KL27Z `_ - - MKL27Z64VLH4 - - 48 MHz - - 64 Kb - - 16 Kb - - * - ``frdm_kl43z`` - - `Freescale Kinetis FRDM-KL43Z `_ - - MKL43Z256VLH4 - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``frdm_kl46z`` - - `Freescale Kinetis FRDM-KL46Z `_ - - MKL46Z256VLL4 - - 48 MHz - - 256 Kb - - 32 Kb - -Fubarino -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``fubarino_mini`` - - `Fubarino Mini `_ - - 32MX250F128D - - 48 MHz - - 128 Kb - - 32 Kb - - * - ``fubarino_sd`` - - `Fubarino SD (1.5) `_ - - 32MX795F512H - - 80 MHz - - 512 Kb - - 128 Kb - -GHI Electronics -~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``oc_mbuino`` - - `mBuino `_ - - LPC11U24 - - 50 MHz - - 32 Kb - - 10 Kb - -Generic -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``bluepill_f103c8`` - - `BluePill F103C8 `_ - - STM32F103C8T6 - - 72 MHz - - 64 Kb - - 20 Kb - - * - ``genericSTM32F103C8`` - - `STM32F103C8 (20k RAM. 64k Flash) `_ - - STM32F103C8 - - 72 MHz - - 64 Kb - - 20 Kb - - * - ``genericSTM32F103CB`` - - `STM32F103CB (20k RAM. 128k Flash) `_ - - STM32F103CB - - 72 MHz - - 128 Kb - - 20 Kb - - * - ``genericSTM32F103R8`` - - `STM32F103R8 (20k RAM. 64 Flash) `_ - - STM32F103R8 - - 72 MHz - - 64 Kb - - 20 Kb - - * - ``genericSTM32F103RB`` - - `STM32F103RB (20k RAM. 128k Flash) `_ - - STM32F103RB - - 72 MHz - - 128 Kb - - 20 Kb - - * - ``genericSTM32F103RC`` - - `STM32F103RC (48k RAM. 256k Flash) `_ - - STM32F103RC - - 72 MHz - - 256 Kb - - 48 Kb - - * - ``genericSTM32F103RE`` - - `STM32F103RE (64k RAM. 512k Flash) `_ - - STM32F103RE - - 72 MHz - - 512 Kb - - 64 Kb - -Generic ATTiny -~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``attiny13`` - - `Generic ATTiny13 `_ - - ATTINY13 - - 9 MHz - - 1 Kb - - 0.0625 Kb - - * - ``attiny24`` - - `Generic ATTiny24 `_ - - ATTINY24 - - 8 MHz - - 2 Kb - - 0.125 Kb - - * - ``attiny25`` - - `Generic ATTiny25 `_ - - ATTINY25 - - 8 MHz - - 2 Kb - - 0.125 Kb - - * - ``attiny44`` - - `Generic ATTiny44 `_ - - ATTINY44 - - 8 MHz - - 4 Kb - - 0.25 Kb - - * - ``attiny45`` - - `Generic ATTiny45 `_ - - ATTINY45 - - 8 MHz - - 4 Kb - - 0.25 Kb - - * - ``attiny84`` - - `Generic ATTiny84 `_ - - ATTINY84 - - 8 MHz - - 8 Kb - - 0.5 Kb - - * - ``attiny85`` - - `Generic ATTiny85 `_ - - ATTINY85 - - 8 MHz - - 8 Kb - - 0.5 Kb - -Intel -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``genuino101`` - - `Arduino/Genuino 101 `_ - - ARCV2EM - - 32 MHz - - 192 Kb - - 80 Kb - -JKSoft -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``wallbot_ble`` - - `JKSoft Wallbot BLE `_ - - NRF51822 - - 16 MHz - - 128 Kb - - 16 Kb - -Lattice -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``icestick`` - - `Lattice iCEstick FPGA Evaluation Kit `_ - - ICE40HX1K - - 12 MHz - - 32 Kb - - 32 Kb - -LightUp -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lightup`` - - `LightUp `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - -Linino -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``one`` - - `Linino One `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - -LowPowerLab -~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``moteino`` - - `LowPowerLab Moteino `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``moteinomega`` - - `LowPowerLab MoteinoMEGA `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - -Mcudude -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``mightycore1284`` - - `MightyCore ATmega1284 `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``mightycore16`` - - `MightyCore ATmega16 `_ - - ATMEGA16 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``mightycore164`` - - `MightyCore ATmega164 `_ - - ATMEGA164P - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``mightycore32`` - - `MightyCore ATmega32 `_ - - ATMEGA32 - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``mightycore324`` - - `MightyCore ATmega324 `_ - - ATMEGA324P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``mightycore644`` - - `MightyCore ATmega644 `_ - - ATMEGA644P - - 16 MHz - - 64 Kb - - 4 Kb - - * - ``mightycore8535`` - - `MightyCore ATmega8535 `_ - - ATMEGA16 - - 16 MHz - - 8 Kb - - 0.5 Kb - -Microduino -~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``1284p16m`` - - `Microduino Core+ (ATmega1284P@16M,5V) `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``1284p8m`` - - `Microduino Core+ (ATmega1284P@8M,3.3V) `_ - - ATMEGA1284P - - 8 MHz - - 128 Kb - - 16 Kb - - * - ``168pa16m`` - - `Microduino Core (Atmega168PA@16M,5V) `_ - - ATMEGA168P - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``168pa8m`` - - `Microduino Core (Atmega168PA@8M,3.3V) `_ - - ATMEGA168P - - 8 MHz - - 16 Kb - - 1 Kb - - * - ``328p16m`` - - `Microduino Core (Atmega328P@16M,5V) `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``328p8m`` - - `Microduino Core (Atmega328P@8M,3.3V) `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``32u416m`` - - `Microduino Core USB (ATmega32U4@16M,5V) `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``644pa16m`` - - `Microduino Core+ (Atmega644PA@16M,5V) `_ - - ATMEGA644P - - 16 MHz - - 64 Kb - - 4 Kb - - * - ``644pa8m`` - - `Microduino Core+ (Atmega644PA@8M,3.3V) `_ - - ATMEGA644P - - 8 MHz - - 64 Kb - - 4 Kb - -Micromint -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc4330_m4`` - - `Bambino-210E `_ - - LPC4330 - - 204 MHz - - 8192 Kb - - 264 Kb - -MikroElektronika -~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``hexiwear`` - - `Hexiwear `_ - - MK64FN1M0VDC12 - - 120 MHz - - 1024 Kb - - 256 Kb - -MultiTech -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``mts_mdot_f405rg`` - - `MultiTech mDot `_ - - STM32F411RET6 - - 100 MHz - - 512 Kb - - 128 Kb - - * - ``mts_mdot_f411re`` - - `MultiTech mDot F411 `_ - - STM32F411RET6 - - 100 MHz - - 512 Kb - - 128 Kb - -NGX Technologies -~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``blueboard_lpc11u24`` - - `NGX Technologies BlueBoard-LPC11U24 `_ - - LPC11U24 - - 48 MHz - - 32 Kb - - 8 Kb - -NXP -~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc11c24`` - - `NXP LPC11C24 `_ - - LPC11C24 - - 48 MHz - - 32 Kb - - 8 Kb - - * - ``lpc11u24`` - - `NXP mbed LPC11U24 `_ - - LPC11U24 - - 48 MHz - - 32 Kb - - 8 Kb - - * - ``lpc11u24_301`` - - `ARM mbed LPC11U24 (+CAN) `_ - - LPC11U24 - - 48 MHz - - 32 Kb - - 8 Kb - - * - ``lpc11u34_421`` - - `NXP LPC11U34 `_ - - LPC11U34 - - 48 MHz - - 64 Kb - - 8 Kb - - * - ``lpc11u37_501`` - - `NXP LPC11U37 `_ - - LPC11U37 - - 48 MHz - - 128 Kb - - 10 Kb - - * - ``lpc11u68`` - - `LPCXpresso11U68 `_ - - LPC11U68 - - 50 MHz - - 256 Kb - - 36 Kb - - * - ``lpc1549`` - - `NXP LPCXpresso1549 `_ - - LPC1549 - - 72 MHz - - 256 Kb - - 36 Kb - - * - ``lpc1768`` - - `NXP mbed LPC1768 `_ - - LPC1768 - - 96 MHz - - 512 Kb - - 64 Kb - - * - ``lpc2368`` - - `NXP LPC2368 `_ - - LPC2368 - - 72 MHz - - 512 Kb - - 58 Kb - - * - ``lpc2460`` - - `NXP LPC2460 `_ - - LPC2460 - - 72 MHz - - 64 Kb - - 16 Kb - - * - ``lpc812`` - - `NXP LPC800-MAX `_ - - LPC812 - - 30 MHz - - 16 Kb - - 4 Kb - - * - ``lpc824`` - - `LPCXpresso824-MAX `_ - - LPC824 - - 30 MHz - - 32 Kb - - 8 Kb - - * - ``micronfcboard`` - - `MicroNFCBoard `_ - - LPC11U34 - - 48 MHz - - 64 Kb - - 10 Kb - -NodeMCU -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``nodemcu`` - - `NodeMCU 0.9 (ESP-12 Module) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``nodemcuv2`` - - `NodeMCU 1.0 (ESP-12E Module) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -Nordic -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``nrf51_dk`` - - `Nordic nRF51-DK `_ - - NRF51822 - - 32 MHz - - 256 Kb - - 32 Kb - - * - ``nrf51_dongle`` - - `Nordic nRF51-Dongle `_ - - NRF51822 - - 32 MHz - - 256 Kb - - 32 Kb - - * - ``nrf51_mkit`` - - `Nordic nRF51822-mKIT `_ - - NRF51822 - - 16 MHz - - 128 Kb - - 16 Kb - -Olimex -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``maple`` - - `Olimexino STM32 `_ - - STM32F103RB_MAPLE - - 72 MHz - - 128 Kb - - 16.6015625 Kb - - * - ``modwifi`` - - `Olimex MOD-WIFI-ESP8266(-DEV) `_ - - ESP8266 - - 80 MHz - - 2048 Kb - - 80 Kb - - * - ``pinguino32`` - - `Olimex PIC32-PINGUINO `_ - - 32MX440F256H - - 80 MHz - - 256 Kb - - 32 Kb - -OpenBCI -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``openbci`` - - `OpenBCI 32bit `_ - - 32MX250F128B - - 40 MHz - - 128 Kb - - 32 Kb - -OpenEnergyMonitor -~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``emonpi`` - - `OpenEnergyMonitor emonPi `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -Outrageous Circuits -~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``mbuino`` - - `Outrageous Circuits mBuino `_ - - LPC11U24 - - 48 MHz - - 32 Kb - - 8 Kb - -PONTECH -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``quick240_usb`` - - `PONTECH quicK240 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``usbono_pic32`` - - `PONTECH UAV100 `_ - - 32MX440F512H - - 80 MHz - - 512 Kb - - 32 Kb - -PanStamp -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``panStampAVR`` - - `PanStamp AVR `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``panStampNRG`` - - `PanStamp NRG 1.1 `_ - - CC430F5137 - - 12 MHz - - 32 Kb - - 4 Kb - -Pinoccio -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``pinoccio`` - - `Pinoccio Scout `_ - - ATMEGA256RFR2 - - 16 MHz - - 256 Kb - - 32 Kb - -Punch Through -~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lightblue-bean`` - - `LightBlue Bean `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - -Quirkbot -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``quirkbot`` - - `Quirkbot `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - -RFduino -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``rfduino`` - - `RFduino `_ - - NRF51822 - - 16 MHz - - 128 Kb - - 8 Kb - -Raspberry Pi -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``raspberrypi_1b`` - - `Raspberry Pi 1 Model B `_ - - BCM2835 - - 700 MHz - - 524288 Kb - - 524288 Kb - - * - ``raspberrypi_2b`` - - `Raspberry Pi 2 Model B `_ - - BCM2836 - - 900 MHz - - 1048576 Kb - - 1048576 Kb - - * - ``raspberrypi_zero`` - - `Raspberry Pi Zero `_ - - BCM2835 - - 1000 MHz - - 524288 Kb - - 524288 Kb - -RedBearLab -~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``blend`` - - `RedBearLab Blend `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``blendmicro16`` - - `RedBearLab Blend Micro 3.3V/16MHz (overclock) `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``blendmicro8`` - - `RedBearLab Blend Micro 3.3V/8MHz `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``redBearLab`` - - `RedBearLab nRF51822 `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - - * - ``redBearLabBLENano`` - - `RedBearLab BLE Nano `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - -RepRap -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``reprap_rambo`` - - `RepRap RAMBo `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - -ST -~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``disco_f051r8`` - - `ST STM32F0DISCOVERY `_ - - STM32F051R8T6 - - 48 MHz - - 64 Kb - - 8 Kb - - * - ``disco_f100rb`` - - `ST STM32VLDISCOVERY `_ - - STM32F100RBT6 - - 24 MHz - - 128 Kb - - 8 Kb - - * - ``disco_f303vc`` - - `ST STM32F3DISCOVERY `_ - - STM32F303VCT6 - - 72 MHz - - 256 Kb - - 48 Kb - - * - ``disco_f334c8`` - - `ST 32F3348DISCOVERY `_ - - STM32F334C8T6 - - 72 MHz - - 64 Kb - - 12 Kb - - * - ``disco_f401vc`` - - `ST 32F401CDISCOVERY `_ - - STM32F401VCT6 - - 84 MHz - - 256 Kb - - 64 Kb - - * - ``disco_f407vg`` - - `ST STM32F4DISCOVERY `_ - - STM32F407VGT6 - - 168 MHz - - 1024 Kb - - 128 Kb - - * - ``disco_f429zi`` - - `ST 32F429IDISCOVERY `_ - - STM32F429ZIT6 - - 180 MHz - - 2048 Kb - - 256 Kb - - * - ``disco_f469ni`` - - `ST 32F469IDISCOVERY `_ - - STM32F469NIH6 - - 180 MHz - - 1024 Kb - - 384 Kb - - * - ``disco_f746ng`` - - `ST 32F746GDISCOVERY `_ - - STM32F746NGH6 - - 216 MHz - - 1024 Kb - - 320 Kb - - * - ``disco_l053c8`` - - `ST 32L0538DISCOVERY `_ - - STM32L053C8T6 - - 32 MHz - - 64 Kb - - 8 Kb - - * - ``disco_l152rb`` - - `ST STM32LDISCOVERY `_ - - STM32L152RBT6 - - 32 MHz - - 128 Kb - - 16 Kb - - * - ``disco_l476vg`` - - `ST 32L476GDISCOVERY `_ - - STM32L476VGT6 - - 80 MHz - - 1024 Kb - - 128 Kb - - * - ``nucleo_f030r8`` - - `ST Nucleo F030R8 `_ - - STM32F030R8T6 - - 48 MHz - - 64 Kb - - 8 Kb - - * - ``nucleo_f031k6`` - - `ST Nucleo F031K6 `_ - - STM32F031K6T6 - - 48 MHz - - 32 Kb - - 4 Kb - - * - ``nucleo_f042k6`` - - `ST Nucleo F042K6 `_ - - STM32F042K6T6 - - 48 MHz - - 32 Kb - - 6 Kb - - * - ``nucleo_f070rb`` - - `ST Nucleo F070RB `_ - - STM32F070RBT6 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``nucleo_f072rb`` - - `ST Nucleo F072RB `_ - - STM32F072RBT6 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``nucleo_f091rc`` - - `ST Nucleo F091RC `_ - - STM32F091RCT6 - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``nucleo_f103rb`` - - `ST Nucleo F103RB `_ - - STM32F103RBT6 - - 72 MHz - - 128 Kb - - 20 Kb - - * - ``nucleo_f207zg`` - - `ST Nucleo F207ZG `_ - - STM32F207ZGT6 - - 120 MHz - - 1024 Kb - - 128 Kb - - * - ``nucleo_f302r8`` - - `ST Nucleo F302R8 `_ - - STM32F302R8T6 - - 72 MHz - - 64 Kb - - 16 Kb - - * - ``nucleo_f303k8`` - - `ST Nucleo F303K8 `_ - - STM32F303K8T6 - - 72 MHz - - 64 Kb - - 16 Kb - - * - ``nucleo_f303re`` - - `ST Nucleo F303RE `_ - - STM32F303RET6 - - 72 MHz - - 512 Kb - - 64 Kb - - * - ``nucleo_f334r8`` - - `ST Nucleo F334R8 `_ - - STM32F334R8T6 - - 72 MHz - - 64 Kb - - 16 Kb - - * - ``nucleo_f401re`` - - `ST Nucleo F401RE `_ - - STM32F401RET6 - - 84 MHz - - 512 Kb - - 96 Kb - - * - ``nucleo_f410rb`` - - `ST Nucleo F410RB `_ - - STM32F410RBT6 - - 100 MHz - - 128 Kb - - 32 Kb - - * - ``nucleo_f411re`` - - `ST Nucleo F411RE `_ - - STM32F411RET6 - - 100 MHz - - 512 Kb - - 128 Kb - - * - ``nucleo_f429zi`` - - `ST Nucleo F429ZI `_ - - STM32F429ZIT6 - - 180 MHz - - 2048 Kb - - 256 Kb - - * - ``nucleo_f446re`` - - `ST Nucleo F446RE `_ - - STM32F446RET6 - - 180 MHz - - 512 Kb - - 128 Kb - - * - ``nucleo_f446ze`` - - `ST Nucleo F446ZE `_ - - STM32F446ZET6 - - 180 MHz - - 512 Kb - - 128 Kb - - * - ``nucleo_f746zg`` - - `ST Nucleo F746ZG `_ - - STM32F746ZGT6 - - 216 MHz - - 1024 Kb - - 320 Kb - - * - ``nucleo_f767zi`` - - `ST Nucleo F767ZI `_ - - STM32F746ZGT6 - - 216 MHz - - 2048 Kb - - 512 Kb - - * - ``nucleo_l011k4`` - - `ST Nucleo L011K4 `_ - - STM32L011K4T6 - - 32 MHz - - 16 Kb - - 2 Kb - - * - ``nucleo_l031k6`` - - `ST Nucleo L031K6 `_ - - STM32L031K6T6 - - 32 MHz - - 32 Kb - - 8 Kb - - * - ``nucleo_l053r8`` - - `ST Nucleo L053R8 `_ - - STM32L053R8T6 - - 48 MHz - - 64 Kb - - 8 Kb - - * - ``nucleo_l073rz`` - - `ST Nucleo L073RZ `_ - - STM32L073RZ - - 32 MHz - - 192 Kb - - 20 Kb - - * - ``nucleo_l152re`` - - `ST Nucleo L152RE `_ - - STM32L152RET6 - - 32 MHz - - 512 Kb - - 80 Kb - - * - ``nucleo_l432kc`` - - `ST Nucleo L432KC `_ - - STM32L432KCU6 - - 80 MHz - - 256 Kb - - 64 Kb - - * - ``nucleo_l476rg`` - - `ST Nucleo L476RG `_ - - STM32L476RGT6 - - 80 MHz - - 1024 Kb - - 128 Kb - -SainSmart -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sainSmartDue`` - - `SainSmart Due (Programming Port) `_ - - AT91SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - - * - ``sainSmartDueUSB`` - - `SainSmart Due (USB Native Port) `_ - - AT91SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - -Sanguino -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sanguino_atmega1284_8m`` - - `Sanguino ATmega1284p (8MHz) `_ - - ATMEGA1284P - - 8 MHz - - 128 Kb - - 16 Kb - - * - ``sanguino_atmega1284p`` - - `Sanguino ATmega1284p (16MHz) `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``sanguino_atmega644`` - - `Sanguino ATmega644 or ATmega644A (16 MHz) `_ - - ATMEGA644 - - 16 MHz - - 64 Kb - - 4 Kb - - * - ``sanguino_atmega644_8m`` - - `Sanguino ATmega644 or ATmega644A (8 MHz) `_ - - ATMEGA644 - - 8 MHz - - 64 Kb - - 4 Kb - - * - ``sanguino_atmega644p`` - - `Sanguino ATmega644P or ATmega644PA (16 MHz) `_ - - ATMEGA644P - - 16 MHz - - 64 Kb - - 4 Kb - - * - ``sanguino_atmega644p_8m`` - - `Sanguino ATmega644P or ATmega644PA (8 MHz) `_ - - ATMEGA644P - - 8 MHz - - 64 Kb - - 4 Kb - -SeeedStudio -~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``cui32stem`` - - `SeeedStudio CUI32stem `_ - - 32MX795F512H - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``seeedArchBLE`` - - `Seeed Arch BLE `_ - - NRF51822 - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``seeedArchGPRS`` - - `Seeed Arch GPRS V2 `_ - - LPC11U37 - - 48 MHz - - 128 Kb - - 10 Kb - - * - ``seeedArchLink`` - - `Seeed Arch Link `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - - * - ``seeedArchMax`` - - `Seeed Arch Max `_ - - STM32F407VET6 - - 168 MHz - - 512 Kb - - 192 Kb - - * - ``seeedArchPro`` - - `Seeed Arch Pro `_ - - LPC1768 - - 96 MHz - - 512 Kb - - 64 Kb - - * - ``seeedTinyBLE`` - - `Seeed Tiny BLE `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - - * - ``xadow_m0`` - - `Seeed Xadow M0 `_ - - LPC11U35 - - 48 MHz - - 64 Kb - - 10 Kb - -Silicon Labs -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``efm32gg_stk3700`` - - `Silicon Labs EFM32GG-STK3700 (Giant Gecko) `_ - - EFM32GG990F1024 - - 48 MHz - - 1024 Kb - - 128 Kb - - * - ``efm32hg_stk3400`` - - `Silicon Labs SLSTK3400A USB-enabled (Happy Gecko) `_ - - EFM32HG322F64 - - 24 MHz - - 64 Kb - - 8 Kb - - * - ``efm32lg_stk3600`` - - `Silicon Labs EFM32LG-STK3600 (Leopard Gecko) `_ - - EFM32LG990F256 - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``efm32pg_stk3401`` - - `Silicon Labs SLSTK3401A (Pearl Gecko) `_ - - EFM32PG1B200F256 - - 40 MHz - - 256 Kb - - 32 Kb - - * - ``efm32wg_stk3800`` - - `Silicon Labs EFM32WG-STK3800 (Wonder Gecko) `_ - - EFM32WG990F256 - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``efm32zg_stk3200`` - - `Silicon Labs EFM32ZG-STK3200 (Zero Gecko) `_ - - EFM2ZG222F32 - - 24 MHz - - 32 Kb - - 4 Kb - -Smeshlink -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``xbed_lpc1768`` - - `Smeshlink xbed LPC1768 `_ - - LPC1768 - - 96 MHz - - 512 Kb - - 32 Kb - -Solder Splash Labs -~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``dipcortexm0`` - - `Solder Splash Labs DipCortex M0 `_ - - LPC11U24 - - 50 MHz - - 32 Kb - - 8 Kb - -SolderSplash Labs -~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc1347`` - - `DipCortex M3 `_ - - LPC1347 - - 72 MHz - - 64 Kb - - 12 Kb - -SparkFun -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sparkfunBlynk`` - - `SparkFun Blynk Board `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``sparkfun_digitalsandbox`` - - `SparkFun Digital Sandbox `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``sparkfun_fiov3`` - - `SparkFun Fio V3 3.3V/8MHz `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``sparkfun_makeymakey`` - - `SparkFun Makey Makey `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``sparkfun_megamini`` - - `SparkFun Mega Pro Mini 3.3V `_ - - ATMEGA2560 - - 8 MHz - - 256 Kb - - 8 Kb - - * - ``sparkfun_megapro16MHz`` - - `SparkFun Mega Pro 5V/16MHz `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - - * - ``sparkfun_megapro8MHz`` - - `SparkFun Mega Pro 3.3V/8MHz `_ - - ATMEGA2560 - - 8 MHz - - 256 Kb - - 8 Kb - - * - ``sparkfun_promicro16`` - - `SparkFun Pro Micro 5V/16MHz `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``sparkfun_promicro8`` - - `SparkFun Pro Micro 3.3V/8MHz `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``sparkfun_redboard`` - - `SparkFun RedBoard `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``sparkfun_samd21_dev_usb`` - - `SparkFun SAMD21 Dev Breakout `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``sparkfun_samd21_mini_usb`` - - `SparkFun SAMD21 Mini Breakout `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``thing`` - - `SparkFun ESP8266 Thing `_ - - ESP8266 - - 80 MHz - - 512 Kb - - 80 Kb - - * - ``thingdev`` - - `SparkFun ESP8266 Thing Dev `_ - - ESP8266 - - 80 MHz - - 512 Kb - - 80 Kb - - * - ``uview`` - - `SparkFun MicroView `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -SweetPea -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``esp210`` - - `SweetPea ESP-210 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -Switch Science -~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``hrm1017`` - - `Switch Science mbed HRM1017 `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - - * - ``lpc1114fn28`` - - `Switch Science mbed LPC1114FN28 `_ - - LPC1114FN28 - - 48 MHz - - 32 Kb - - 4 Kb - - * - ``ssci824`` - - `Switch Science mbed LPC824 `_ - - LPC824 - - 30 MHz - - 32 Kb - - 8 Kb - - * - ``ty51822r3`` - - `Switch Science mbed TY51822r3 `_ - - NRF51822 - - 32 MHz - - 256 Kb - - 32 Kb - -TI -~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lplm4f120h5qr`` - - `TI LaunchPad (Stellaris) w/ lm4f120 (80MHz) `_ - - LPLM4F120H5QR - - 80 MHz - - 256 Kb - - 32 Kb - - * - ``lpmsp430f5529`` - - `TI LaunchPad w/ msp430f5529 (16MHz) `_ - - MSP430F5529 - - 16 MHz - - 128 Kb - - 1 Kb - - * - ``lpmsp430f5529_25`` - - `TI LaunchPad w/ msp430f5529 (25MHz) `_ - - MSP430F5529 - - 25 MHz - - 128 Kb - - 1 Kb - - * - ``lpmsp430fr4133`` - - `TI LaunchPad w/ msp430fr4133 `_ - - MSP430FR4133 - - 16 MHz - - 16 Kb - - 2 Kb - - * - ``lpmsp430fr5739`` - - `TI FraunchPad w/ msp430fr5739 `_ - - MSP430FR5739 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``lpmsp430fr5969`` - - `TI LaunchPad w/ msp430fr5969 `_ - - MSP430FR5969 - - 8 MHz - - 64 Kb - - 1 Kb - - * - ``lpmsp430fr6989`` - - `TI LaunchPad w/ msp430fr6989 `_ - - MSP430FR6989 - - 16 MHz - - 128 Kb - - 2 Kb - - * - ``lpmsp430g2231`` - - `TI LaunchPad w/ msp430g2231 (1 MHz) `_ - - MSP430G2231 - - 1 MHz - - 2 Kb - - 0.125 Kb - - * - ``lpmsp430g2452`` - - `TI LaunchPad w/ msp430g2452 (16MHz) `_ - - MSP430G2452 - - 16 MHz - - 8 Kb - - 0.25 Kb - - * - ``lpmsp430g2553`` - - `TI LaunchPad w/ msp430g2553 (16MHz) `_ - - MSP430G2553 - - 16 MHz - - 16 Kb - - 0.5 Kb - - * - ``lptm4c1230c3pm`` - - `TI LaunchPad (Tiva C) w/ tm4c123 (80MHz) `_ - - LPTM4C1230C3PM - - 80 MHz - - 256 Kb - - 32 Kb - - * - ``lptm4c1294ncpdt`` - - `TI LaunchPad (Tiva C) w/ tm4c129 (120MHz) `_ - - LPTM4C1294NCPDT - - 120 MHz - - 1024 Kb - - 256 Kb - -Teensy -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``teensy20`` - - `Teensy 2.0 `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``teensy20pp`` - - `Teensy++ 2.0 `_ - - AT90USB1286 - - 16 MHz - - 128 Kb - - 8 Kb - - * - ``teensy30`` - - `Teensy 3.0 `_ - - MK20DX128 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``teensy31`` - - `Teensy 3.1 / 3.2 `_ - - MK20DX256 - - 72 MHz - - 256 Kb - - 64 Kb - - * - ``teensy35`` - - `Teensy 3.5 `_ - - MK64FX512 - - 120 MHz - - 512 Kb - - 192 Kb - - * - ``teensy36`` - - `Teensy 3.6 `_ - - MK66FX1M0 - - 180 MHz - - 1024 Kb - - 256 Kb - - * - ``teensylc`` - - `Teensy LC `_ - - MKL26Z64 - - 48 MHz - - 64 Kb - - 8 Kb - -ThaiEasyElec -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espinotee`` - - `ThaiEasyElec ESPino `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -TinyCircuits -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``tinyduino`` - - `TinyCircuits TinyDuino Processor Board `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``tinylily`` - - `TinyCircuits TinyLily Mini Processor `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - -UBW32 -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``ubw32_mx460`` - - `UBW32 MX460 `_ - - 32MX460F512L - - 80 MHz - - 512 Kb - - 32 Kb - - * - ``ubw32_mx795`` - - `UBW32 MX795 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - -WeMos -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``d1`` - - `WeMos D1(Retired) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``d1_mini`` - - `WeMos D1 R2 & mini `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -Wicked Device -~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``wildfirev2`` - - `Wicked Device WildFire V2 `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``wildfirev3`` - - `Wicked Device WildFire V3 `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - -chipKIT -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lenny`` - - `chipKIT Lenny `_ - - 32MX270F256D - - 40 MHz - - 128 Kb - - 32 Kb - -element14 -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``chipkit_pi`` - - `Element14 chipKIT Pi `_ - - 32MX250F128B - - 40 MHz - - 128 Kb - - 32 Kb - -u-blox -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``ubloxc027`` - - `u-blox C027 `_ - - LPC1768 - - 96 MHz - - 512 Kb - - 64 Kb - -ubIQio -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``ardhat`` - - `ubIQio Ardhat `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -y5 design -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``nrf51822_y5_mbug`` - - `y5 nRF51822 mbug `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb diff --git a/docs/platforms/espressif8266.rst b/docs/platforms/espressif8266.rst deleted file mode 100644 index 53d6214b..00000000 --- a/docs/platforms/espressif8266.rst +++ /dev/null @@ -1,393 +0,0 @@ -.. 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. - -.. _platform_espressif8266: - -Platform ``espressif8266`` -========================== -Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-arduinoespressif8266`` - - `Arduino Wiring-based Framework (ESP8266 Core) `_ - - * - ``framework-simba`` - - `Simba Framework `_ - - * - ``sdk-esp8266`` - - `ESP8266 SDK `_ - - * - ``tool-esptool`` - - `esptool-ck `_ - - * - ``tool-mkspiffs`` - - `Tool to build and unpack SPIFFS images `_ - - * - ``toolchain-xtensa`` - - `xtensa-gcc `_, `GDB `_ - -.. warning:: - **Linux Users:** Don't forget to install "udev" rules file - `99-platformio-udev.rules `_ (an instruction is located in the file). - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_arduino` - - Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences. - - * - :ref:`framework_simba` - - Simba is an RTOS and build framework. It aims to make embedded programming easy and portable. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -Adafruit -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``huzzah`` - - `Adafruit HUZZAH ESP8266 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -Doit -~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espduino`` - - `ESPDuino (ESP-13 Module) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -ESPert -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espresso_lite_v1`` - - `ESPresso Lite 1.0 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``espresso_lite_v2`` - - `ESPresso Lite 2.0 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -ESPino -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espino`` - - `ESPino `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -Espressif -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``esp01`` - - `Espressif Generic ESP8266 ESP-01 512k `_ - - ESP8266 - - 80 MHz - - 512 Kb - - 80 Kb - - * - ``esp01_1m`` - - `Espressif Generic ESP8266 ESP-01 1M `_ - - ESP8266 - - 80 MHz - - 1024 Kb - - 80 Kb - - * - ``esp07`` - - `Espressif Generic ESP8266 ESP-07 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``esp12e`` - - `Espressif ESP8266 ESP-12E `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``esp8285`` - - `Generic ESP8285 Module `_ - - ESP8266 - - 80 MHz - - 448 Kb - - 80 Kb - - * - ``esp_wroom_02`` - - `ESP-WROOM-02 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``phoenix_v1`` - - `Phoenix 1.0 `_ - - ESP8266 - - 80 MHz - - 1024 Kb - - 80 Kb - - * - ``phoenix_v2`` - - `Phoenix 2.0 `_ - - ESP8266 - - 80 MHz - - 1024 Kb - - 80 Kb - - * - ``wifinfo`` - - `WifInfo `_ - - ESP8266 - - 80 MHz - - 448 Kb - - 80 Kb - -NodeMCU -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``nodemcu`` - - `NodeMCU 0.9 (ESP-12 Module) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``nodemcuv2`` - - `NodeMCU 1.0 (ESP-12E Module) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -Olimex -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``modwifi`` - - `Olimex MOD-WIFI-ESP8266(-DEV) `_ - - ESP8266 - - 80 MHz - - 2048 Kb - - 80 Kb - -SparkFun -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sparkfunBlynk`` - - `SparkFun Blynk Board `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``thing`` - - `SparkFun ESP8266 Thing `_ - - ESP8266 - - 80 MHz - - 512 Kb - - 80 Kb - - * - ``thingdev`` - - `SparkFun ESP8266 Thing Dev `_ - - ESP8266 - - 80 MHz - - 512 Kb - - 80 Kb - -SweetPea -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``esp210`` - - `SweetPea ESP-210 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -ThaiEasyElec -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espinotee`` - - `ThaiEasyElec ESPino `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -WeMos -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``d1`` - - `WeMos D1(Retired) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``d1_mini`` - - `WeMos D1 R2 & mini `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -.. include:: espressif8266_extra.rst diff --git a/docs/platforms/espressif8266_extra.rst b/docs/platforms/espressif8266_extra.rst deleted file mode 100644 index e48d4395..00000000 --- a/docs/platforms/espressif8266_extra.rst +++ /dev/null @@ -1,282 +0,0 @@ -.. 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. - -Custom CPU Frequency --------------------- - -See :ref:`projectconf_board_f_cpu` option from :ref:`projectconf` - -.. code-block:: ini - - [env:myenv] - ; set frequency to 160MHz - board_f_cpu = 160000000L - -Custom FLASH Frequency ----------------------- - -See :ref:`projectconf_board_f_flash` option from :ref:`projectconf`. Possible -values: - -* ``20000000L`` -* ``26000000L`` -* ``40000000L`` -* ``80000000L`` - -.. code-block:: ini - - [env:myenv] - ; set frequency to 80MHz - board_f_flash = 80000000L - -Custom FLASH Mode ------------------ - -Flash chip interface mode. This parameter is stored in the binary image -header, along with the flash size and flash frequency. The ROM bootloader -in the ESP chip uses the value of these parameters in order to know how to -talk to the flash chip. - -See :ref:`projectconf_board_flash_mode` option from :ref:`projectconf`. Possible -values: - -* ``qio`` -* ``qout`` -* ``dio`` -* ``dout`` - -.. code-block:: ini - - [env:myenv] - board_flash_mode = qio - -Custom Reset Method -------------------- - -See :ref:`projectconf_upload_resetmethod` option from :ref:`projectconf` - -.. code-block:: ini - - [env:myenv] - upload_resetmethod = ck - -.. _platform_espressif_customflash: - -Custom Flash Size ------------------ - -.. warning:: - Please make sure to read `ESP8266 Flash layout `_ - information first. - -The list with preconfigured LD scripts is located in public repository -`platformio-pkg-ldscripts `_. - -* ``esp8266.flash.512k0.ld`` 512K (no SPIFFS) -* ``esp8266.flash.512k64.ld`` 512K (64K SPIFFS) -* ``esp8266.flash.1m64.ld`` 1M (64K SPIFFS) -* ``esp8266.flash.1m128.ld`` 1M (128K SPIFFS) -* ``esp8266.flash.1m256.ld`` 1M (256K SPIFFS) -* ``esp8266.flash.1m512.ld`` 1M (512K SPIFFS) -* ``esp8266.flash.2m.ld`` 2M (1M SPIFFS) -* ``esp8266.flash.4m1m.ld`` 4M (1M SPIFFS) -* ``esp8266.flash.4m.ld`` 4M (3M SPIFFS) - -To override default LD script please use :ref:`projectconf_build_flags` from -:ref:`projectconf`. - -.. code-block:: ini - - [env:myenv] - build_flags = -Wl,-Tesp8266.flash.4m.ld - -Custom Upload Speed -------------------- - -See :ref:`projectconf_upload_speed` option from :ref:`projectconf` - -.. code-block:: ini - - [env:myenv] - upload_speed = 9600 - -.. _platform_espressif_uploadfs: - -Uploading files to file system SPIFFS -------------------------------------- - -.. warning:: - Please make sure to read `ESP8266 Flash layout `_ - information first. - -1. Initialise project :ref:`cmd_init` (if you have not initialized yet) -2. Create ``data`` folder (it should be on the same level as ``src`` folder) - and put files here. Also, you can specify own location for :ref:`projectconf_pio_data_dir` -3. Run target ``uploadfs`` using :option:`platformio run --target` command. - -To upload SPIFFS image using OTA update please specify ``upload_port`` / -``--upload-port`` as IP address or mDNS host name (ending with the ``*.local``). -For the details please follow to :ref:`platform_espressif_ota`. - -By default, will be used default LD Script for the board where is specified -SPIFFS offsets (start, end, page, block). You can override it using -:ref:`platform_espressif_customflash`. - -Active discussion is located in `issue #382 `_. - -.. _platform_espressif_ota: - -Over-the-Air (OTA) update -------------------------- - -Firstly, please read `What is OTA? How to use it? `_ - -There are 2 options: - -* Directly specify :option:`platformio run --upload-port` in command line - -.. code-block:: bash - - platformio run --target upload --upload-port IP_ADDRESS_HERE or mDNS_NAME.local - -* Specify ``upload_port`` option in :ref:`projectconf` - -.. code-block:: ini - - [env:myenv] - upload_port = IP_ADDRESS_HERE or mDNS_NAME.local - -For example, - -* ``platformio run -t upload --upload-port 192.168.0.255`` -* ``platformio run -t upload --upload-port myesp8266.local`` - -Authentication and upload options -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -You can pass additional options/flags to OTA uploader using -``upload_flags`` option in :ref:`projectconf` - -.. code-block:: ini - - [env:myenv] - upload_flags = --port=8266 - -Available flags - -* ``--port=ESP_PORT`` ESP8266 OTA Port. Default 8266 -* ``--auth=AUTH`` Set authentication password -* ``--spiffs`` Use this option to transmit a SPIFFS image and do not flash - the module - -For the full list with available options please run - -.. code-block:: bash - - ~/.platformio/packages/framework-arduinoespressif8266/tools/espota.py -h - - Usage: espota.py [options] - - Transmit image over the air to the esp8266 module with OTA support. - - Options: - -h, --help show this help message and exit - - Destination: - -i ESP_IP, --ip=ESP_IP - ESP8266 IP Address. - -p ESP_PORT, --port=ESP_PORT - ESP8266 ota Port. Default 8266 - - Authentication: - -a AUTH, --auth=AUTH - Set authentication password. - - Image: - -f FILE, --file=FILE - Image file. - -s, --spiffs Use this option to transmit a SPIFFS image and do not - flash the module. - - Output: - -d, --debug Show debug output. And override loglevel with debug. - -r, --progress Show progress output. Does not work for ArduinoIDE - -Demo -~~~~ - -.. image:: ../_static/platformio-demo-ota-esp8266.jpg - :target: https://www.youtube.com/watch?v=lXchL3hpDO4 - - -Using Arduino Framework with Staging version --------------------------------------------- - -1. Install :ref:`installation_develop` of PlatformIO -2. Install Espressif 8266 (Stage) development platform - - .. code:: - - platformio platform install https://github.com/platformio/platform-espressif8266.git#feature/stage - -3. Set :ref:`projectconf_env_platform` to ``espressif8266_stage`` in - :ref:`projectconf`. For example, - - .. code-block:: ini - - [env:nodemcuv2] - platform = espressif8266_stage - board = nodemcuv2 - framework = arduino - -4. Try to build project -5. If you see build errors, then try to build this project using the same - ``stage`` on Arduino IDE -6. If it works with Arduino IDE but doesn't work with PlatformIO, then please - `open new issue `_ with - attached information: - - - test project/files - - detailed log of build process from Arduino IDE (please copy it from - console to http://pastebin.com) - - detailed log of build process from PlatformIO Build System ( - please copy it from console to http://pastebin.com) - -Articles --------- - -* Sep 12, 2016 - **Pedro Minatel** - `OTA – Como programar o ESP8266 pelo WiFi no platformIO (OTA programming for ESP8266 via Wi-Fi using PlatformIO, Portuguese) `_ -* Sep 2, 2016 - **Tinkerman** `Optimizing files for SPIFFS with Gulp `_ -* Jul 15, 2016 - **Jaime** - `ESP8266 Mobile Rick Roll Captive Portal `_ -* Jun 13, 2016 - **Daniel Eichhorn** - `New Weather Station Demo on Github `_ -* Jun 3, 2016 - **Daniel Eichhorn** - `ESP8266: Continuous Delivery Pipeline – Push To Production `_ -* May 29, 2016 - **Chris Synan** - `Reverse Engineer RF Remote Controller for IoT! `_ -* May 22, 2016 - **Pedro Minatel** - `Estação meteorológica com ESP8266 (Weather station with ESP8266, Portuguese) `_ -* May 16, 2016 - **Pedro Minatel** - `Controle remoto WiFi com ESP8266 (WiFi remote control using ESP8266, Portuguese) `_ -* May 08, 2016 - **Radoslaw Bob** - `Touch controlled buzzer (Nodemcu ESP8266) `_ -* Mar 07, 2016 - **Joran Jessurun** - `Nieuwe wereld met PlatformIO (New world with PlatformIO, Dutch) `_ -* Feb 25, 2016 - **NutDIY** - `PlatformIO Blink On Nodemcu Dev Kit V1.0 (ESP 12-E) `_ -* Feb 23, 2016 - **Ptarmigan Labs** - `ESP8266 Over The Air updating – what are the options? `_ -* Jan 16, 2016 - **Dani Eichhorn** - `ESP8266 Arduino IDE Alternative: PlatformIO `_ -* Dec 22, 2015 - **Jan Penninkhof** - `Over-the-Air ESP8266 programming using PlatformIO `_ -* Dec 01, 2015 - **Tateno Yuichi** - `ESP8266 を CUI で開発する (Develop a ESP8266 in CUI, Japanese) `_ - -See more :ref:`articles`. - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for Espressif platform `_. - -* `Native SDK `_ -* `WebServer `_ -* `WiFiScan `_ diff --git a/docs/platforms/freescalekinetis.rst b/docs/platforms/freescalekinetis.rst deleted file mode 100644 index 494e8527..00000000 --- a/docs/platforms/freescalekinetis.rst +++ /dev/null @@ -1,168 +0,0 @@ -.. 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. - -.. _platform_freescalekinetis: - -Platform ``freescalekinetis`` -============================= -Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-mbed`` - - `mbed Framework `_ - - * - ``toolchain-gccarmnoneeabi`` - - `gcc-arm-embedded `_, `GDB `_ - -.. warning:: - **Linux Users:** Don't forget to install "udev" rules file - `99-platformio-udev.rules `_ (an instruction is located in the file). - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_mbed` - - The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -Freescale -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``IBMEthernetKit`` - - `Ethernet IoT Starter Kit `_ - - MK64FN1M0VLL12 - - 120 MHz - - 1024 Kb - - 256 Kb - - * - ``frdm_k20d50m`` - - `Freescale Kinetis FRDM-K20D50M `_ - - MK20DX128VLH5 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``frdm_k22f`` - - `Freescale Kinetis FRDM-K22F `_ - - MK22FN512VLH12 - - 120 MHz - - 512 Kb - - 128 Kb - - * - ``frdm_k64f`` - - `Freescale Kinetis FRDM-K64F `_ - - MK64FN1M0VLL12 - - 120 MHz - - 1024 Kb - - 256 Kb - - * - ``frdm_kl05z`` - - `Freescale Kinetis FRDM-KL05Z `_ - - MKL05Z32VFM4 - - 48 MHz - - 32 Kb - - 4 Kb - - * - ``frdm_kl25z`` - - `Freescale Kinetis FRDM-KL25Z `_ - - MKL25Z128VLK4 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``frdm_kl26z`` - - `Freescale Kinetis FRDM-KL26Z `_ - - MKL26Z128VLH4 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``frdm_kl27z`` - - `Freescale Kinetis FRDM-KL27Z `_ - - MKL27Z64VLH4 - - 48 MHz - - 64 Kb - - 16 Kb - - * - ``frdm_kl43z`` - - `Freescale Kinetis FRDM-KL43Z `_ - - MKL43Z256VLH4 - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``frdm_kl46z`` - - `Freescale Kinetis FRDM-KL46Z `_ - - MKL46Z256VLL4 - - 48 MHz - - 256 Kb - - 32 Kb - -MikroElektronika -~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``hexiwear`` - - `Hexiwear `_ - - MK64FN1M0VDC12 - - 120 MHz - - 1024 Kb - - 256 Kb diff --git a/docs/platforms/index.rst b/docs/platforms/index.rst deleted file mode 100644 index 99261396..00000000 --- a/docs/platforms/index.rst +++ /dev/null @@ -1,56 +0,0 @@ -.. 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. - -.. _platforms: - -Development Platforms -===================== - -*PlatformIO* has pre-built different development platforms for popular OS -(*Mac OS X, Linux (+ARM) 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 -MCU, upload protocol or etc. Please use ``board`` option. - -Embedded --------- - -.. toctree:: - :maxdepth: 2 - - atmelavr - atmelsam - espressif8266 - freescalekinetis - intel_arc32 - lattice_ice40 - microchippic32 - nordicnrf51 - nxplpc - siliconlabsefm32 - ststm32 - teensy - timsp430 - titiva - -Desktop -------- - -.. toctree:: - :maxdepth: 2 - - native - linux_arm - linux_i686 - linux_x86_64 - windows_x86 diff --git a/docs/platforms/intel_arc32.rst b/docs/platforms/intel_arc32.rst deleted file mode 100644 index 3127fd76..00000000 --- a/docs/platforms/intel_arc32.rst +++ /dev/null @@ -1,88 +0,0 @@ -.. 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. - -.. _platform_intel_arc32: - -Platform ``intel_arc32`` -======================== -ARC embedded processors are a family of 32-bit CPUs that are widely used in SoC devices for storage, home, mobile, automotive, and Internet of Things applications. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-arduinointel`` - - `Arduino Wiring-based Framework (Intel ARC Core) `_ - - * - ``tool-arduino101load`` - - `Genuino101 uploader `_ - - * - ``toolchain-intelarc32`` - - `GCC for Intel ARC `_ - -.. warning:: - **Linux Users:** Don't forget to install "udev" rules file - `99-platformio-udev.rules `_ (an instruction is located in the file). - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_arduino` - - Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -Intel -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``genuino101`` - - `Arduino/Genuino 101 `_ - - ARCV2EM - - 32 MHz - - 192 Kb - - 80 Kb diff --git a/docs/platforms/lattice_ice40.rst b/docs/platforms/lattice_ice40.rst deleted file mode 100644 index fd54c760..00000000 --- a/docs/platforms/lattice_ice40.rst +++ /dev/null @@ -1,91 +0,0 @@ -.. 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. - -.. _platform_lattice_ice40: - -Platform ``lattice_ice40`` -========================== -The iCE40 family of ultra-low power, non-volatile FPGAs has five devices with densities ranging from 384 to 7680 Look-Up Tables (LUTs). In addition to LUT-based,low-cost programmable logic, these devices feature Embedded Block RAM (EBR), Non-volatile Configuration Memory (NVCM) and Phase Locked Loops (PLLs). These features allow the devices to be used in low-cost, high-volume consumer and system applications. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``toolchain-icestorm`` - - `GCC for FPGA IceStorm `_ - -.. warning:: - **Linux Users:** Don't forget to install "udev" rules file - `99-platformio-udev.rules `_ (an instruction is located in the file). - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -BQ -~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``icezum`` - - `BQ IceZUM Alhambra FPGA `_ - - ICE40HX1K - - 12 MHz - - 32 Kb - - 32 Kb - -Lattice -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``icestick`` - - `Lattice iCEstick FPGA Evaluation Kit `_ - - ICE40HX1K - - 12 MHz - - 32 Kb - - 32 Kb diff --git a/docs/platforms/linux_arm.rst b/docs/platforms/linux_arm.rst deleted file mode 100644 index 0b69a2d3..00000000 --- a/docs/platforms/linux_arm.rst +++ /dev/null @@ -1,89 +0,0 @@ -.. 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. - -.. _platform_linux_arm: - -Platform ``linux_arm`` -====================== -Linux ARM is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X, Linux ARM) you can build native application for Linux ARM platform. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-wiringpi`` - - `GPIO Interface library for the Raspberry Pi `_ - - * - ``toolchain-gccarmlinuxgnueabi`` - - `GCC for Linux ARM GNU EABI `_, `GDB `_ - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_wiringpi` - - WiringPi is a GPIO access library written in C for the BCM2835 used in the Raspberry Pi. It's designed to be familiar to people who have used the Arduino "wiring" system. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -Raspberry Pi -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``raspberrypi_1b`` - - `Raspberry Pi 1 Model B `_ - - BCM2835 - - 700 MHz - - 524288 Kb - - 524288 Kb - - * - ``raspberrypi_2b`` - - `Raspberry Pi 2 Model B `_ - - BCM2836 - - 900 MHz - - 1048576 Kb - - 1048576 Kb - - * - ``raspberrypi_zero`` - - `Raspberry Pi Zero `_ - - BCM2835 - - 1000 MHz - - 524288 Kb - - 524288 Kb diff --git a/docs/platforms/linux_i686.rst b/docs/platforms/linux_i686.rst deleted file mode 100644 index fb1f3dd7..00000000 --- a/docs/platforms/linux_i686.rst +++ /dev/null @@ -1,32 +0,0 @@ -.. 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. - -.. _platform_linux_i686: - -Platform ``linux_i686`` -======================= -Linux i686 (32-bit) is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X or Linux 32-bit) you can build native application for Linux i686 platform. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``toolchain-gcclinux32`` - - `GCC for Linux i686 `_ \ No newline at end of file diff --git a/docs/platforms/linux_x86_64.rst b/docs/platforms/linux_x86_64.rst deleted file mode 100644 index 425f0e41..00000000 --- a/docs/platforms/linux_x86_64.rst +++ /dev/null @@ -1,32 +0,0 @@ -.. 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. - -.. _platform_linux_x86_64: - -Platform ``linux_x86_64`` -========================= -Linux x86_64 (64-bit) is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X or Linux 64-bit) you can build native application for Linux x86_64 platform. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``toolchain-gcclinux64`` - - `GCC for Linux x86_64 `_ \ No newline at end of file diff --git a/docs/platforms/microchippic32.rst b/docs/platforms/microchippic32.rst deleted file mode 100644 index 8d4cf12d..00000000 --- a/docs/platforms/microchippic32.rst +++ /dev/null @@ -1,373 +0,0 @@ -.. 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. - -.. _platform_microchippic32: - -Platform ``microchippic32`` -=========================== -Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs! - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-arduinomicrochippic32`` - - `Arduino Wiring-based Framework (PIC32 Core) `_ - - * - ``tool-pic32prog`` - - `pic32prog `_ - - * - ``toolchain-microchippic32`` - - `GCC for Microchip PIC32 `_ - -.. warning:: - **Linux Users:** Don't forget to install "udev" rules file - `99-platformio-udev.rules `_ (an instruction is located in the file). - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_arduino` - - Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -4DSystems -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``picadillo_35t`` - - `4DSystems PICadillo 35T `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - -Digilent -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``cerebot32mx4`` - - `Digilent Cerebot 32MX4 `_ - - 32MX460F512L - - 80 MHz - - 512 Kb - - 32 Kb - - * - ``cerebot32mx7`` - - `Digilent Cerebot 32MX7 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``chipkit_cmod`` - - `Digilent chipKIT Cmod `_ - - 32MX150F128D - - 40 MHz - - 128 Kb - - 32 Kb - - * - ``chipkit_dp32`` - - `Digilent chipKIT DP32 `_ - - 32MX250F128B - - 40 MHz - - 128 Kb - - 32 Kb - - * - ``chipkit_mx3`` - - `Digilent chipKIT MX3 `_ - - 32MX320F128H - - 80 MHz - - 128 Kb - - 16 Kb - - * - ``chipkit_pro_mx4`` - - `Digilent chipKIT Pro MX4 `_ - - 32MX460F512L - - 80 MHz - - 512 Kb - - 32 Kb - - * - ``chipkit_pro_mx7`` - - `Digilent chipKIT Pro MX7 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``chipkit_uc32`` - - `Digilent chipKIT uC32 `_ - - 32MX340F512H - - 80 MHz - - 512 Kb - - 32 Kb - - * - ``chipkit_wf32`` - - `Digilent chipKIT WF32 `_ - - 32MX695F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``chipkit_wifire`` - - `Digilent chipKIT WiFire `_ - - 32MZ2048ECG100 - - 200 MHz - - 2048 Kb - - 512 Kb - - * - ``mega_pic32`` - - `Digilent chipKIT MAX32 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``openscope`` - - `Digilent OpenScope `_ - - 32MZ2048EFG124 - - 200 MHz - - 2048 Kb - - 512 Kb - - * - ``uno_pic32`` - - `Digilent chipKIT UNO32 `_ - - 32MX320F128H - - 80 MHz - - 128 Kb - - 16 Kb - -Fubarino -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``fubarino_mini`` - - `Fubarino Mini `_ - - 32MX250F128D - - 48 MHz - - 128 Kb - - 32 Kb - - * - ``fubarino_sd`` - - `Fubarino SD (1.5) `_ - - 32MX795F512H - - 80 MHz - - 512 Kb - - 128 Kb - -Olimex -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``pinguino32`` - - `Olimex PIC32-PINGUINO `_ - - 32MX440F256H - - 80 MHz - - 256 Kb - - 32 Kb - -OpenBCI -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``openbci`` - - `OpenBCI 32bit `_ - - 32MX250F128B - - 40 MHz - - 128 Kb - - 32 Kb - -PONTECH -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``quick240_usb`` - - `PONTECH quicK240 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``usbono_pic32`` - - `PONTECH UAV100 `_ - - 32MX440F512H - - 80 MHz - - 512 Kb - - 32 Kb - -SeeedStudio -~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``cui32stem`` - - `SeeedStudio CUI32stem `_ - - 32MX795F512H - - 80 MHz - - 512 Kb - - 128 Kb - -UBW32 -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``ubw32_mx460`` - - `UBW32 MX460 `_ - - 32MX460F512L - - 80 MHz - - 512 Kb - - 32 Kb - - * - ``ubw32_mx795`` - - `UBW32 MX795 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - -chipKIT -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lenny`` - - `chipKIT Lenny `_ - - 32MX270F256D - - 40 MHz - - 128 Kb - - 32 Kb - -element14 -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``chipkit_pi`` - - `Element14 chipKIT Pi `_ - - 32MX250F128B - - 40 MHz - - 128 Kb - - 32 Kb diff --git a/docs/platforms/native.rst b/docs/platforms/native.rst deleted file mode 100644 index a4174222..00000000 --- a/docs/platforms/native.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. 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. - -.. _platform_native: - -Platform ``native`` -=================== -Native development platform is intended to be used for desktop OS. This platform uses built-in toolchains (preferable based on GCC), frameworks, libs from particular OS where it will be run. - -For more detailed information please visit `vendor site `_. - -.. contents:: \ No newline at end of file diff --git a/docs/platforms/nordicnrf51.rst b/docs/platforms/nordicnrf51.rst deleted file mode 100644 index 683bdebe..00000000 --- a/docs/platforms/nordicnrf51.rst +++ /dev/null @@ -1,301 +0,0 @@ -.. 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. - -.. _platform_nordicnrf51: - -Platform ``nordicnrf51`` -======================== -The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-arduinonordicnrf51`` - - `Arduino Wiring-based Framework (RFduino Core) `_ - - * - ``framework-mbed`` - - `mbed Framework `_ - - * - ``tool-rfdloader`` - - `rfdloader `_ - - * - ``tool-sreccat`` - - `Merging tool `_ - - * - ``toolchain-gccarmnoneeabi`` - - `gcc-arm-embedded `_, `GDB `_ - -.. warning:: - **Linux Users:** Don't forget to install "udev" rules file - `99-platformio-udev.rules `_ (an instruction is located in the file). - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_arduino` - - Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences. - - * - :ref:`framework_mbed` - - The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -BBC -~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``bbcmicrobit`` - - `BBC micro:bit `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - -Delta -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``dfcm_nnn40`` - - `Delta DFCM-NNN40 `_ - - NRF51822 - - 32 MHz - - 256 Kb - - 32 Kb - -JKSoft -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``wallbot_ble`` - - `JKSoft Wallbot BLE `_ - - NRF51822 - - 16 MHz - - 128 Kb - - 16 Kb - -Nordic -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``nrf51_dk`` - - `Nordic nRF51-DK `_ - - NRF51822 - - 32 MHz - - 256 Kb - - 32 Kb - - * - ``nrf51_dongle`` - - `Nordic nRF51-Dongle `_ - - NRF51822 - - 32 MHz - - 256 Kb - - 32 Kb - - * - ``nrf51_mkit`` - - `Nordic nRF51822-mKIT `_ - - NRF51822 - - 16 MHz - - 128 Kb - - 16 Kb - -RFduino -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``rfduino`` - - `RFduino `_ - - NRF51822 - - 16 MHz - - 128 Kb - - 8 Kb - -RedBearLab -~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``redBearLab`` - - `RedBearLab nRF51822 `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - - * - ``redBearLabBLENano`` - - `RedBearLab BLE Nano `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - -SeeedStudio -~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``seeedArchBLE`` - - `Seeed Arch BLE `_ - - NRF51822 - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``seeedArchLink`` - - `Seeed Arch Link `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - - * - ``seeedTinyBLE`` - - `Seeed Tiny BLE `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - -Switch Science -~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``hrm1017`` - - `Switch Science mbed HRM1017 `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - - * - ``ty51822r3`` - - `Switch Science mbed TY51822r3 `_ - - NRF51822 - - 32 MHz - - 256 Kb - - 32 Kb - -y5 design -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``nrf51822_y5_mbug`` - - `y5 nRF51822 mbug `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - -.. include:: nordicnrf51_extra.rst diff --git a/docs/platforms/nordicnrf51_extra.rst b/docs/platforms/nordicnrf51_extra.rst deleted file mode 100644 index 79140038..00000000 --- a/docs/platforms/nordicnrf51_extra.rst +++ /dev/null @@ -1,23 +0,0 @@ -.. 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. - -Articles --------- - -* Aug 28, 2016 - **Tom Parker** `Using the BBC micro:bit with PlatformIO `_ - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for Nordic nRF51 platform `_. - -* `RFduino iBeacon `_ diff --git a/docs/platforms/nxplpc.rst b/docs/platforms/nxplpc.rst deleted file mode 100644 index e9a4764e..00000000 --- a/docs/platforms/nxplpc.rst +++ /dev/null @@ -1,464 +0,0 @@ -.. 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. - -.. _platform_nxplpc: - -Platform ``nxplpc`` -=================== -The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-mbed`` - - `mbed Framework `_ - - * - ``toolchain-gccarmnoneeabi`` - - `gcc-arm-embedded `_, `GDB `_ - -.. warning:: - **Linux Users:** Don't forget to install "udev" rules file - `99-platformio-udev.rules `_ (an instruction is located in the file). - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_mbed` - - The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -CQ Publishing -~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc11u35_501`` - - `CQ Publishing TG-LPC11U35-501 `_ - - LPC11U35 - - 48 MHz - - 64 Kb - - 10 Kb - -Elektor Labs -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``elektor_cocorico`` - - `CoCo-ri-Co! `_ - - LPC812 - - 30 MHz - - 16 Kb - - 4 Kb - -Embedded Artists -~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc11u35`` - - `EA LPC11U35 QuickStart Board `_ - - LPC11U35 - - 48 MHz - - 64 Kb - - 10 Kb - - * - ``lpc4088`` - - `Embedded Artists LPC4088 QuickStart Board `_ - - LPC4088 - - 120 MHz - - 512 Kb - - 96 Kb - - * - ``lpc4088_dm`` - - `Embedded Artists LPC4088 Display Module `_ - - LPC4088 - - 120 MHz - - 512 Kb - - 96 Kb - -GHI Electronics -~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``oc_mbuino`` - - `mBuino `_ - - LPC11U24 - - 50 MHz - - 32 Kb - - 10 Kb - -Micromint -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc4330_m4`` - - `Bambino-210E `_ - - LPC4330 - - 204 MHz - - 8192 Kb - - 264 Kb - -NGX Technologies -~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``blueboard_lpc11u24`` - - `NGX Technologies BlueBoard-LPC11U24 `_ - - LPC11U24 - - 48 MHz - - 32 Kb - - 8 Kb - -NXP -~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc11c24`` - - `NXP LPC11C24 `_ - - LPC11C24 - - 48 MHz - - 32 Kb - - 8 Kb - - * - ``lpc11u24`` - - `NXP mbed LPC11U24 `_ - - LPC11U24 - - 48 MHz - - 32 Kb - - 8 Kb - - * - ``lpc11u24_301`` - - `ARM mbed LPC11U24 (+CAN) `_ - - LPC11U24 - - 48 MHz - - 32 Kb - - 8 Kb - - * - ``lpc11u34_421`` - - `NXP LPC11U34 `_ - - LPC11U34 - - 48 MHz - - 64 Kb - - 8 Kb - - * - ``lpc11u37_501`` - - `NXP LPC11U37 `_ - - LPC11U37 - - 48 MHz - - 128 Kb - - 10 Kb - - * - ``lpc11u68`` - - `LPCXpresso11U68 `_ - - LPC11U68 - - 50 MHz - - 256 Kb - - 36 Kb - - * - ``lpc1549`` - - `NXP LPCXpresso1549 `_ - - LPC1549 - - 72 MHz - - 256 Kb - - 36 Kb - - * - ``lpc1768`` - - `NXP mbed LPC1768 `_ - - LPC1768 - - 96 MHz - - 512 Kb - - 64 Kb - - * - ``lpc2368`` - - `NXP LPC2368 `_ - - LPC2368 - - 72 MHz - - 512 Kb - - 58 Kb - - * - ``lpc2460`` - - `NXP LPC2460 `_ - - LPC2460 - - 72 MHz - - 64 Kb - - 16 Kb - - * - ``lpc812`` - - `NXP LPC800-MAX `_ - - LPC812 - - 30 MHz - - 16 Kb - - 4 Kb - - * - ``lpc824`` - - `LPCXpresso824-MAX `_ - - LPC824 - - 30 MHz - - 32 Kb - - 8 Kb - - * - ``micronfcboard`` - - `MicroNFCBoard `_ - - LPC11U34 - - 48 MHz - - 64 Kb - - 10 Kb - -Outrageous Circuits -~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``mbuino`` - - `Outrageous Circuits mBuino `_ - - LPC11U24 - - 48 MHz - - 32 Kb - - 8 Kb - -SeeedStudio -~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``seeedArchGPRS`` - - `Seeed Arch GPRS V2 `_ - - LPC11U37 - - 48 MHz - - 128 Kb - - 10 Kb - - * - ``seeedArchPro`` - - `Seeed Arch Pro `_ - - LPC1768 - - 96 MHz - - 512 Kb - - 64 Kb - - * - ``xadow_m0`` - - `Seeed Xadow M0 `_ - - LPC11U35 - - 48 MHz - - 64 Kb - - 10 Kb - -Smeshlink -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``xbed_lpc1768`` - - `Smeshlink xbed LPC1768 `_ - - LPC1768 - - 96 MHz - - 512 Kb - - 32 Kb - -Solder Splash Labs -~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``dipcortexm0`` - - `Solder Splash Labs DipCortex M0 `_ - - LPC11U24 - - 50 MHz - - 32 Kb - - 8 Kb - -SolderSplash Labs -~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc1347`` - - `DipCortex M3 `_ - - LPC1347 - - 72 MHz - - 64 Kb - - 12 Kb - -Switch Science -~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc1114fn28`` - - `Switch Science mbed LPC1114FN28 `_ - - LPC1114FN28 - - 48 MHz - - 32 Kb - - 4 Kb - - * - ``ssci824`` - - `Switch Science mbed LPC824 `_ - - LPC824 - - 30 MHz - - 32 Kb - - 8 Kb - -u-blox -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``ubloxc027`` - - `u-blox C027 `_ - - LPC1768 - - 96 MHz - - 512 Kb - - 64 Kb diff --git a/docs/platforms/siliconlabsefm32.rst b/docs/platforms/siliconlabsefm32.rst deleted file mode 100644 index c1ccc8a5..00000000 --- a/docs/platforms/siliconlabsefm32.rst +++ /dev/null @@ -1,120 +0,0 @@ -.. 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. - -.. _platform_siliconlabsefm32: - -Platform ``siliconlabsefm32`` -============================= -Silicon Labs EFM32 Gecko 32-bit microcontroller (MCU) family includes devices that offer flash memory configurations up to 256 kB, 32 kB of RAM and CPU speeds up to 48 MHz. Based on the powerful ARM Cortex-M core, the Gecko family features innovative low energy techniques, short wake-up time from energy saving modes and a wide selection of peripherals, making it ideal for battery operated applications and other systems requiring high performance and low-energy consumption. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-mbed`` - - `mbed Framework `_ - - * - ``toolchain-gccarmnoneeabi`` - - `gcc-arm-embedded `_, `GDB `_ - -.. warning:: - **Linux Users:** Don't forget to install "udev" rules file - `99-platformio-udev.rules `_ (an instruction is located in the file). - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_mbed` - - The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -Silicon Labs -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``efm32gg_stk3700`` - - `Silicon Labs EFM32GG-STK3700 (Giant Gecko) `_ - - EFM32GG990F1024 - - 48 MHz - - 1024 Kb - - 128 Kb - - * - ``efm32hg_stk3400`` - - `Silicon Labs SLSTK3400A USB-enabled (Happy Gecko) `_ - - EFM32HG322F64 - - 24 MHz - - 64 Kb - - 8 Kb - - * - ``efm32lg_stk3600`` - - `Silicon Labs EFM32LG-STK3600 (Leopard Gecko) `_ - - EFM32LG990F256 - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``efm32pg_stk3401`` - - `Silicon Labs SLSTK3401A (Pearl Gecko) `_ - - EFM32PG1B200F256 - - 40 MHz - - 256 Kb - - 32 Kb - - * - ``efm32wg_stk3800`` - - `Silicon Labs EFM32WG-STK3800 (Wonder Gecko) `_ - - EFM32WG990F256 - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``efm32zg_stk3200`` - - `Silicon Labs EFM32ZG-STK3200 (Zero Gecko) `_ - - EFM2ZG222F32 - - 24 MHz - - 32 Kb - - 4 Kb diff --git a/docs/platforms/ststm32.rst b/docs/platforms/ststm32.rst deleted file mode 100644 index 3c21951e..00000000 --- a/docs/platforms/ststm32.rst +++ /dev/null @@ -1,563 +0,0 @@ -.. 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. - -.. _platform_ststm32: - -Platform ``ststm32`` -==================== -The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-arduinoststm32`` - - `Arduino Wiring-based Framework (STM32 Core) `_ - - * - ``framework-cmsis`` - - `Vendor-independent hardware abstraction layer for the Cortex-M processor series `_ - - * - ``framework-libopencm3`` - - `libOpenCM3 Framework `_ - - * - ``framework-mbed`` - - `mbed Framework `_ - - * - ``framework-spl`` - - `Standard Peripheral Library for STM32 MCUs `_ - - * - ``tool-stlink`` - - `ST-Link `_ - - * - ``toolchain-gccarmnoneeabi`` - - `gcc-arm-embedded `_, `GDB `_ - -.. warning:: - **Linux Users:** Don't forget to install "udev" rules file - `99-platformio-udev.rules `_ (an instruction is located in the file). - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_arduino` - - Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences. - - * - :ref:`framework_cmsis` - - The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices. - - * - :ref:`framework_libopencm3` - - The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others. - - * - :ref:`framework_spl` - - The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers. - - * - :ref:`framework_mbed` - - The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -96Boards -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``b96b_f446ve`` - - `96Boards B96B-F446VE `_ - - STM32F446VET6 - - 168 MHz - - 512 Kb - - 128 Kb - -Armstrap -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``armstrap_eagle1024`` - - `Armstrap Eagle 1024 `_ - - STM32F417VGT6 - - 168 MHz - - 1024 Kb - - 192 Kb - - * - ``armstrap_eagle2048`` - - `Armstrap Eagle 2048 `_ - - STM32F427VIT6 - - 168 MHz - - 2048 Kb - - 256 Kb - - * - ``armstrap_eagle512`` - - `Armstrap Eagle 512 `_ - - STM32F407VET6 - - 168 MHz - - 512 Kb - - 192 Kb - -Generic -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``bluepill_f103c8`` - - `BluePill F103C8 `_ - - STM32F103C8T6 - - 72 MHz - - 64 Kb - - 20 Kb - - * - ``genericSTM32F103C8`` - - `STM32F103C8 (20k RAM. 64k Flash) `_ - - STM32F103C8 - - 72 MHz - - 64 Kb - - 20 Kb - - * - ``genericSTM32F103CB`` - - `STM32F103CB (20k RAM. 128k Flash) `_ - - STM32F103CB - - 72 MHz - - 128 Kb - - 20 Kb - - * - ``genericSTM32F103R8`` - - `STM32F103R8 (20k RAM. 64 Flash) `_ - - STM32F103R8 - - 72 MHz - - 64 Kb - - 20 Kb - - * - ``genericSTM32F103RB`` - - `STM32F103RB (20k RAM. 128k Flash) `_ - - STM32F103RB - - 72 MHz - - 128 Kb - - 20 Kb - - * - ``genericSTM32F103RC`` - - `STM32F103RC (48k RAM. 256k Flash) `_ - - STM32F103RC - - 72 MHz - - 256 Kb - - 48 Kb - - * - ``genericSTM32F103RE`` - - `STM32F103RE (64k RAM. 512k Flash) `_ - - STM32F103RE - - 72 MHz - - 512 Kb - - 64 Kb - -MultiTech -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``mts_mdot_f405rg`` - - `MultiTech mDot `_ - - STM32F411RET6 - - 100 MHz - - 512 Kb - - 128 Kb - - * - ``mts_mdot_f411re`` - - `MultiTech mDot F411 `_ - - STM32F411RET6 - - 100 MHz - - 512 Kb - - 128 Kb - -Olimex -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``maple`` - - `Olimexino STM32 `_ - - STM32F103RB_MAPLE - - 72 MHz - - 128 Kb - - 16.6015625 Kb - -ST -~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``disco_f051r8`` - - `ST STM32F0DISCOVERY `_ - - STM32F051R8T6 - - 48 MHz - - 64 Kb - - 8 Kb - - * - ``disco_f100rb`` - - `ST STM32VLDISCOVERY `_ - - STM32F100RBT6 - - 24 MHz - - 128 Kb - - 8 Kb - - * - ``disco_f303vc`` - - `ST STM32F3DISCOVERY `_ - - STM32F303VCT6 - - 72 MHz - - 256 Kb - - 48 Kb - - * - ``disco_f334c8`` - - `ST 32F3348DISCOVERY `_ - - STM32F334C8T6 - - 72 MHz - - 64 Kb - - 12 Kb - - * - ``disco_f401vc`` - - `ST 32F401CDISCOVERY `_ - - STM32F401VCT6 - - 84 MHz - - 256 Kb - - 64 Kb - - * - ``disco_f407vg`` - - `ST STM32F4DISCOVERY `_ - - STM32F407VGT6 - - 168 MHz - - 1024 Kb - - 128 Kb - - * - ``disco_f429zi`` - - `ST 32F429IDISCOVERY `_ - - STM32F429ZIT6 - - 180 MHz - - 2048 Kb - - 256 Kb - - * - ``disco_f469ni`` - - `ST 32F469IDISCOVERY `_ - - STM32F469NIH6 - - 180 MHz - - 1024 Kb - - 384 Kb - - * - ``disco_f746ng`` - - `ST 32F746GDISCOVERY `_ - - STM32F746NGH6 - - 216 MHz - - 1024 Kb - - 320 Kb - - * - ``disco_l053c8`` - - `ST 32L0538DISCOVERY `_ - - STM32L053C8T6 - - 32 MHz - - 64 Kb - - 8 Kb - - * - ``disco_l152rb`` - - `ST STM32LDISCOVERY `_ - - STM32L152RBT6 - - 32 MHz - - 128 Kb - - 16 Kb - - * - ``disco_l476vg`` - - `ST 32L476GDISCOVERY `_ - - STM32L476VGT6 - - 80 MHz - - 1024 Kb - - 128 Kb - - * - ``nucleo_f030r8`` - - `ST Nucleo F030R8 `_ - - STM32F030R8T6 - - 48 MHz - - 64 Kb - - 8 Kb - - * - ``nucleo_f031k6`` - - `ST Nucleo F031K6 `_ - - STM32F031K6T6 - - 48 MHz - - 32 Kb - - 4 Kb - - * - ``nucleo_f042k6`` - - `ST Nucleo F042K6 `_ - - STM32F042K6T6 - - 48 MHz - - 32 Kb - - 6 Kb - - * - ``nucleo_f070rb`` - - `ST Nucleo F070RB `_ - - STM32F070RBT6 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``nucleo_f072rb`` - - `ST Nucleo F072RB `_ - - STM32F072RBT6 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``nucleo_f091rc`` - - `ST Nucleo F091RC `_ - - STM32F091RCT6 - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``nucleo_f103rb`` - - `ST Nucleo F103RB `_ - - STM32F103RBT6 - - 72 MHz - - 128 Kb - - 20 Kb - - * - ``nucleo_f207zg`` - - `ST Nucleo F207ZG `_ - - STM32F207ZGT6 - - 120 MHz - - 1024 Kb - - 128 Kb - - * - ``nucleo_f302r8`` - - `ST Nucleo F302R8 `_ - - STM32F302R8T6 - - 72 MHz - - 64 Kb - - 16 Kb - - * - ``nucleo_f303k8`` - - `ST Nucleo F303K8 `_ - - STM32F303K8T6 - - 72 MHz - - 64 Kb - - 16 Kb - - * - ``nucleo_f303re`` - - `ST Nucleo F303RE `_ - - STM32F303RET6 - - 72 MHz - - 512 Kb - - 64 Kb - - * - ``nucleo_f334r8`` - - `ST Nucleo F334R8 `_ - - STM32F334R8T6 - - 72 MHz - - 64 Kb - - 16 Kb - - * - ``nucleo_f401re`` - - `ST Nucleo F401RE `_ - - STM32F401RET6 - - 84 MHz - - 512 Kb - - 96 Kb - - * - ``nucleo_f410rb`` - - `ST Nucleo F410RB `_ - - STM32F410RBT6 - - 100 MHz - - 128 Kb - - 32 Kb - - * - ``nucleo_f411re`` - - `ST Nucleo F411RE `_ - - STM32F411RET6 - - 100 MHz - - 512 Kb - - 128 Kb - - * - ``nucleo_f429zi`` - - `ST Nucleo F429ZI `_ - - STM32F429ZIT6 - - 180 MHz - - 2048 Kb - - 256 Kb - - * - ``nucleo_f446re`` - - `ST Nucleo F446RE `_ - - STM32F446RET6 - - 180 MHz - - 512 Kb - - 128 Kb - - * - ``nucleo_f446ze`` - - `ST Nucleo F446ZE `_ - - STM32F446ZET6 - - 180 MHz - - 512 Kb - - 128 Kb - - * - ``nucleo_f746zg`` - - `ST Nucleo F746ZG `_ - - STM32F746ZGT6 - - 216 MHz - - 1024 Kb - - 320 Kb - - * - ``nucleo_f767zi`` - - `ST Nucleo F767ZI `_ - - STM32F746ZGT6 - - 216 MHz - - 2048 Kb - - 512 Kb - - * - ``nucleo_l011k4`` - - `ST Nucleo L011K4 `_ - - STM32L011K4T6 - - 32 MHz - - 16 Kb - - 2 Kb - - * - ``nucleo_l031k6`` - - `ST Nucleo L031K6 `_ - - STM32L031K6T6 - - 32 MHz - - 32 Kb - - 8 Kb - - * - ``nucleo_l053r8`` - - `ST Nucleo L053R8 `_ - - STM32L053R8T6 - - 48 MHz - - 64 Kb - - 8 Kb - - * - ``nucleo_l073rz`` - - `ST Nucleo L073RZ `_ - - STM32L073RZ - - 32 MHz - - 192 Kb - - 20 Kb - - * - ``nucleo_l152re`` - - `ST Nucleo L152RE `_ - - STM32L152RET6 - - 32 MHz - - 512 Kb - - 80 Kb - - * - ``nucleo_l432kc`` - - `ST Nucleo L432KC `_ - - STM32L432KCU6 - - 80 MHz - - 256 Kb - - 64 Kb - - * - ``nucleo_l476rg`` - - `ST Nucleo L476RG `_ - - STM32L476RGT6 - - 80 MHz - - 1024 Kb - - 128 Kb - -SeeedStudio -~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``seeedArchMax`` - - `Seeed Arch Max `_ - - STM32F407VET6 - - 168 MHz - - 512 Kb - - 192 Kb - -.. include:: ststm32_extra.rst diff --git a/docs/platforms/ststm32_extra.rst b/docs/platforms/ststm32_extra.rst deleted file mode 100644 index 077a5517..00000000 --- a/docs/platforms/ststm32_extra.rst +++ /dev/null @@ -1,29 +0,0 @@ -.. 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. - -Articles --------- - -* Nov 06, 2015 - **nocd5** - `PlatformIOでmbedをオフラインビルドしSTM32 Nucleoボードでmrubyを使う (Use mruby in the offline build for STM32 Nucleo board with mbed and PlatformIO, Japanese) `_ -* Oct 21, 2015 - **Vittorio Zaccaria** - `Using a cheap STM32 Nucleo to teach remote sensor monitoring `_ -* Aug 08, 2015 - **Josh Glendenning** - `Armstrap Eagle and PlatformIO `_ - -See more :ref:`articles`. - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for ST STM32 platform `_. - -* `CMSIS Blink `_ -* `libOpenCM3 Blink `_ -* `SPL Blink `_ diff --git a/docs/platforms/teensy.rst b/docs/platforms/teensy.rst deleted file mode 100644 index 03bc41c9..00000000 --- a/docs/platforms/teensy.rst +++ /dev/null @@ -1,144 +0,0 @@ -.. 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. - -.. _platform_teensy: - -Platform ``teensy`` -=================== -Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-arduinoteensy`` - - `Arduino Wiring-based Framework `_ - - * - ``framework-mbed`` - - `mbed Framework `_ - - * - ``tool-teensy`` - - `Teensy Loader `_ - - * - ``toolchain-atmelavr`` - - `avr-gcc `_, `GDB `_, `AVaRICE `_, `SimulAVR `_ - - * - ``toolchain-gccarmnoneeabi`` - - `gcc-arm-embedded `_, `GDB `_ - -.. warning:: - **Linux Users:** Don't forget to install "udev" rules file - `99-platformio-udev.rules `_ (an instruction is located in the file). - - - **Windows Users:** Teensy programming uses only Windows built-in HID - drivers. When Teensy is programmed to act as a USB Serial device, - Windows XP, Vista, 7 and 8 require `this serial driver - `_ - is needed to access the COM port your program uses. No special driver - installation is necessary on Windows 10. - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_arduino` - - Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences. - - * - :ref:`framework_mbed` - - The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -Teensy -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``teensy20`` - - `Teensy 2.0 `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``teensy20pp`` - - `Teensy++ 2.0 `_ - - AT90USB1286 - - 16 MHz - - 128 Kb - - 8 Kb - - * - ``teensy30`` - - `Teensy 3.0 `_ - - MK20DX128 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``teensy31`` - - `Teensy 3.1 / 3.2 `_ - - MK20DX256 - - 72 MHz - - 256 Kb - - 64 Kb - - * - ``teensy35`` - - `Teensy 3.5 `_ - - MK64FX512 - - 120 MHz - - 512 Kb - - 192 Kb - - * - ``teensy36`` - - `Teensy 3.6 `_ - - MK66FX1M0 - - 180 MHz - - 1024 Kb - - 256 Kb - - * - ``teensylc`` - - `Teensy LC `_ - - MKL26Z64 - - 48 MHz - - 64 Kb - - 8 Kb - -.. include:: teensy_extra.rst diff --git a/docs/platforms/teensy_extra.rst b/docs/platforms/teensy_extra.rst deleted file mode 100644 index 77438896..00000000 --- a/docs/platforms/teensy_extra.rst +++ /dev/null @@ -1,47 +0,0 @@ -.. 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. - -USB Features ------------- - -If you want to use Teensy USB Features, you need to add special -acros/define using :ref:`projectconf_build_flags`: - -* ``-D USB_HID`` -* ``-D USB_SERIAL_HID`` -* ``-D USB_DISK`` -* ``-D USB_DISK_SDFLASH`` -* ``-D USB_MIDI`` -* ``-D USB_RAWHID`` -* ``-D USB_FLIGHTSIM`` -* ``-D USB_DISABLED`` - -Example: - -.. code-block:: ini - - [env:teensy_hid_device] - platform = teensy - framework = arduino - board = teensy20 - build_flags = -D USB_RAWHID - -See `Teensy USB Examples `_. - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for Teensy platform `_. - -* `Wiring Blink `_ -* `HID Mouse `_ -* `Chat Server `_ diff --git a/docs/platforms/timsp430.rst b/docs/platforms/timsp430.rst deleted file mode 100644 index 91ab1e8b..00000000 --- a/docs/platforms/timsp430.rst +++ /dev/null @@ -1,172 +0,0 @@ -.. 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. - -.. _platform_timsp430: - -Platform ``timsp430`` -===================== -MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-arduinomsp430`` - - `Arduino Wiring-based Framework (MSP430 Core) `_ - - * - ``framework-energiamsp430`` - - `Energia Wiring-based Framework (MSP430 Core) `_ - - * - ``tool-mspdebug`` - - `MSPDebug `_ - - * - ``toolchain-timsp430`` - - `msp-gcc `_, `GDB `_ - -.. warning:: - **Linux Users:** Don't forget to install "udev" rules file - `99-platformio-udev.rules `_ (an instruction is located in the file). - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_arduino` - - Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences. - - * - :ref:`framework_energia` - - Energia Wiring-based framework enables pretty much anyone to start easily creating microcontroller-based projects and applications. Its easy-to-use libraries and functions provide developers of all experience levels to start blinking LEDs, buzzing buzzers and sensing sensors more quickly than ever before. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -PanStamp -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``panStampNRG`` - - `PanStamp NRG 1.1 `_ - - CC430F5137 - - 12 MHz - - 32 Kb - - 4 Kb - -TI -~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpmsp430f5529`` - - `TI LaunchPad w/ msp430f5529 (16MHz) `_ - - MSP430F5529 - - 16 MHz - - 128 Kb - - 1 Kb - - * - ``lpmsp430f5529_25`` - - `TI LaunchPad w/ msp430f5529 (25MHz) `_ - - MSP430F5529 - - 25 MHz - - 128 Kb - - 1 Kb - - * - ``lpmsp430fr4133`` - - `TI LaunchPad w/ msp430fr4133 `_ - - MSP430FR4133 - - 16 MHz - - 16 Kb - - 2 Kb - - * - ``lpmsp430fr5739`` - - `TI FraunchPad w/ msp430fr5739 `_ - - MSP430FR5739 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``lpmsp430fr5969`` - - `TI LaunchPad w/ msp430fr5969 `_ - - MSP430FR5969 - - 8 MHz - - 64 Kb - - 1 Kb - - * - ``lpmsp430fr6989`` - - `TI LaunchPad w/ msp430fr6989 `_ - - MSP430FR6989 - - 16 MHz - - 128 Kb - - 2 Kb - - * - ``lpmsp430g2231`` - - `TI LaunchPad w/ msp430g2231 (1 MHz) `_ - - MSP430G2231 - - 1 MHz - - 2 Kb - - 0.125 Kb - - * - ``lpmsp430g2452`` - - `TI LaunchPad w/ msp430g2452 (16MHz) `_ - - MSP430G2452 - - 16 MHz - - 8 Kb - - 0.25 Kb - - * - ``lpmsp430g2553`` - - `TI LaunchPad w/ msp430g2553 (16MHz) `_ - - MSP430G2553 - - 16 MHz - - 16 Kb - - 0.5 Kb - -.. include:: timsp430_extra.rst diff --git a/docs/platforms/timsp430_extra.rst b/docs/platforms/timsp430_extra.rst deleted file mode 100644 index e30f5e3b..00000000 --- a/docs/platforms/timsp430_extra.rst +++ /dev/null @@ -1,28 +0,0 @@ -.. 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. - -Articles --------- - -* Dec 08, 2015 - **Piotr Król** - `Using PlatformIO with TI MSP430 LunchPads `_ - -See more :ref:`articles`. - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for TI MSP430 platform `_. - -* `Energia blink `_ -* `Native blink `_ -* `Wiring Blink `_ -* `PanStamp blink `_ diff --git a/docs/platforms/titiva.rst b/docs/platforms/titiva.rst deleted file mode 100644 index ff67ab16..00000000 --- a/docs/platforms/titiva.rst +++ /dev/null @@ -1,110 +0,0 @@ -.. 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. - -.. _platform_titiva: - -Platform ``titiva`` -=================== -Texas Instruments TM4C12x MCUs offer the industrys most popular ARM Cortex-M4 core with scalable memory and package options, unparalleled connectivity peripherals, advanced application functions, industry-leading analog integration, and extensive software solutions. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-energiativa`` - - `Energia Wiring-based Framework (LM4F Core) `_ - - * - ``framework-libopencm3`` - - `libOpenCM3 Framework `_ - - * - ``tool-lm4flash`` - - `Flash Programmer `_ - - * - ``toolchain-gccarmnoneeabi`` - - `gcc-arm-embedded `_, `GDB `_ - -.. warning:: - **Linux Users:** Don't forget to install "udev" rules file - `99-platformio-udev.rules `_ (an instruction is located in the file). - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_libopencm3` - - The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others. - - * - :ref:`framework_energia` - - Energia Wiring-based framework enables pretty much anyone to start easily creating microcontroller-based projects and applications. Its easy-to-use libraries and functions provide developers of all experience levels to start blinking LEDs, buzzing buzzers and sensing sensors more quickly than ever before. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -TI -~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lplm4f120h5qr`` - - `TI LaunchPad (Stellaris) w/ lm4f120 (80MHz) `_ - - LPLM4F120H5QR - - 80 MHz - - 256 Kb - - 32 Kb - - * - ``lptm4c1230c3pm`` - - `TI LaunchPad (Tiva C) w/ tm4c123 (80MHz) `_ - - LPTM4C1230C3PM - - 80 MHz - - 256 Kb - - 32 Kb - - * - ``lptm4c1294ncpdt`` - - `TI LaunchPad (Tiva C) w/ tm4c129 (120MHz) `_ - - LPTM4C1294NCPDT - - 120 MHz - - 1024 Kb - - 256 Kb - -.. include:: titiva_extra.rst diff --git a/docs/platforms/titiva_extra.rst b/docs/platforms/titiva_extra.rst deleted file mode 100644 index 5830ab70..00000000 --- a/docs/platforms/titiva_extra.rst +++ /dev/null @@ -1,27 +0,0 @@ -.. 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. - -Articles --------- - -* Mar 12, 2016 - **Richard Arthurs** - `Getting Started With PlatformIO `_ - -See more :ref:`articles`. - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for TI TIVA platform `_. - -* `Energia blink `_ -* `Native blink `_ -* `OpenCM3 Blink `_ diff --git a/docs/platforms/windows_x86.rst b/docs/platforms/windows_x86.rst deleted file mode 100644 index 690c955b..00000000 --- a/docs/platforms/windows_x86.rst +++ /dev/null @@ -1,32 +0,0 @@ -.. 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. - -.. _platform_windows_x86: - -Platform ``windows_x86`` -======================== -Windows x86 (32-bit) is a metafamily of graphical operating systems developed and marketed by Microsoft. Using host OS (Windows, Linux 32/64 or Mac OS X) you can build native application for Windows x86 platform. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``toolchain-gccmingw32`` - - `MinGW `_ \ No newline at end of file diff --git a/docs/plus/unit-testing.rst b/docs/plus/unit-testing.rst deleted file mode 100644 index e8c08219..00000000 --- a/docs/plus/unit-testing.rst +++ /dev/null @@ -1,480 +0,0 @@ -.. 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. - -.. _unit_testing: - -Unit Testing -============ - -.. versionadded:: 3.0 (`PlatformIO Plus `_) - -`Unit Testing (wiki) `_ -is a software testing method by which individual units of source code, sets -of one or more MCU program modules together with associated control data, -usage procedures, and operating procedures, are tested to determine whether -they are fit for use. Unit testing finds problems early in the development cycle. - -PlatformIO Testing Engine supports 2 different test types: - -1. **Local Test** - *[host, native]*, process test on the host machine - using :ref:`platform_native`. -2. **Embedded Test** - *[remote, hardware]*, prepare special firmware for the - target device and upload it. Run test on the embedded device and collect - results. Process test results on the host machine. - - You will be able to run the same test on the different target devices - (:ref:`embedded_boards`). - -PlatformIO Testing Engine consists of: - -* Project builder -* Test builder -* Firmware uploader (is used only for embedded test) -* Test processor - -There is special command :ref:`cmd_test` to run tests from PlatformIO Project. -It allows to process specific environments or to ignore some tests using -"Glob patterns". - -Also, is possible to ignore some tests for specific environment using -:ref:`projectconf_test_ignore` option from :ref:`projectconf`. - -.. contents:: - -Demo ----- - -Demo of `Local & Embedded: Calculator `_. - -.. image:: ../_static/pioplus-unit-testing-demo.png - :target: https://youtu.be/bo3VVRZVKhA - -.. _unit_testing_design: - -Design ------- - -PlatformIO Testing Engine design is based on a few isolated components: - -1. **Main program**. Contains the independent modules, procedures, - functions or methods that will be the target candidates (TC) for testing. -2. **Unit test**. This a small independent program that is intended to - re-use TC from the main program and apply tests for them. -3. **Test processor**. The set of approaches and tools that will be used - to apply test for the environments from :ref:`projectconf`. - -Workflow --------- - -1. Create PlatformIO project using :ref:`cmd_init` command. For Local Unit - Testing (on the host machine), need to use :ref:`platform_native`. - - .. code-block:: ini - - ; PlatformIO Project Configuration File - ; - ; Build options: build flags, source filter, extra scripting - ; Upload options: custom port, speed and extra flags - ; Library options: dependencies, extra library storages - ; - ; Please visit documentation for the other options and examples - ; http://docs.platformio.org/en/stable/projectconf.html - - ; - ; Embedded platforms - ; - - [env:uno] - platform = atmelavr - framework = arduino - board = uno - - [env:nodemcu] - platform = espressif8266 - framework = arduino - board = nodemcuv2 - - ; - ; Local (PC, native) platforms - ; - - [env:local] - platform = native - -2. Place source code of main program to ``src`` directory. -3. Wrap ``main()`` or ``setup()/loop()`` methods of main program in ``UNIT_TEST`` - guard: - - .. code-block:: c - - /** - * Arduino Wiring-based Framework - */ - #ifndef UNIT_TEST - #include - void setup () { - // some code... - } - - void loop () { - // some code... - } - #endif - - - .. code-block:: c - - /** - * Generic C/C++ - */ - #ifndef UNIT_TEST - int main(int argc, char **argv) { - // setup code... - - while (1) { - // loop code... - } - return 0 - } - #endif - -4. Create ``test`` directory in the root of project. See :ref:`projectconf_pio_test_dir`. -5. Write test using :ref:`unit_testing_api`. The each test is a small - independent program with own ``main()`` or ``setup()/loop()`` methods. Also, - test should start from ``UNITY_BEGIN()`` and finish with ``UNITY_END()``. -6. Place test to ``test`` directory. If you have more than one test, split them - into sub-folders. For example, ``test/test_1/*.[c,cpp,h]``, - ``test_N/*.[c,cpp,h]``, etc. If no such directory in ``test`` folder, then - PlatformIO Testing Engine will treat the source code of ``test`` folder - as SINGLE test. -7. Run tests using :ref:`cmd_test` command. - -.. _unit_testing_api: - -Test API --------- - -The summary of `Unity Test API `_: - -* `Running Tests `_ - - - ``RUN_TEST(func, linenum)`` - -* `Ignoring Tests `_ - - - ``TEST_IGNORE()`` - - ``TEST_IGNORE_MESSAGE (message)`` - -* `Aborting Tests `_ - - - ``TEST_PROTECT()`` - - ``TEST_ABORT()`` - -* `Basic Validity Tests `_ - - - ``TEST_ASSERT_TRUE(condition)`` - - ``TEST_ASSERT_FALSE(condition)`` - - ``TEST_ASSERT(condition)`` - - ``TEST_ASSERT_UNLESS(condition)`` - - ``TEST_FAIL()`` - - ``TEST_FAIL_MESSAGE(message)`` - -* `Numerical Assertions: Integers `_ - - - ``TEST_ASSERT_EQUAL_INT(expected, actual)`` - - ``TEST_ASSERT_EQUAL_INT8(expected, actual)`` - - ``TEST_ASSERT_EQUAL_INT16(expected, actual)`` - - ``TEST_ASSERT_EQUAL_INT32(expected, actual)`` - - ``TEST_ASSERT_EQUAL_INT64(expected, actual)`` - - - ``TEST_ASSERT_EQUAL_UINT(expected, actual)`` - - ``TEST_ASSERT_EQUAL_UINT8(expected, actual)`` - - ``TEST_ASSERT_EQUAL_UINT16(expected, actual)`` - - ``TEST_ASSERT_EQUAL_UINT32(expected, actual)`` - - ``TEST_ASSERT_EQUAL_UINT64(expected, actual)`` - - - ``TEST_ASSERT_EQUAL_HEX(expected, actual)`` - - ``TEST_ASSERT_EQUAL_HEX8(expected, actual)`` - - ``TEST_ASSERT_EQUAL_HEX16(expected, actual)`` - - ``TEST_ASSERT_EQUAL_HEX32(expected, actual)`` - - ``TEST_ASSERT_EQUAL_HEX64(expected, actual)`` - - ``TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, elements)`` - - - ``TEST_ASSERT_EQUAL(expected, actual)`` - - ``TEST_ASSERT_INT_WITHIN(delta, expected, actual)`` - -* `Numerical Assertions: Bitwise `_ - - - ``TEST_ASSERT_BITS(mask, expected, actual)`` - - ``TEST_ASSERT_BITS_HIGH(mask, actual)`` - - ``TEST_ASSERT_BITS_LOW(mask, actual)`` - - ``TEST_ASSERT_BIT_HIGH(mask, actual)`` - - ``TEST_ASSERT_BIT_LOW(mask, actual)`` - -* `Numerical Assertions: Floats `_ - - - ``TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual)`` - - ``TEST_ASSERT_EQUAL_FLOAT(expected, actual)`` - - ``TEST_ASSERT_EQUAL_DOUBLE(expected, actual)`` - -* `String Assertions `_ - - - ``TEST_ASSERT_EQUAL_STRING(expected, actual)`` - - ``TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len)`` - - ``TEST_ASSERT_EQUAL_STRING_MESSAGE(expected, actual, message)`` - - ``TEST_ASSERT_EQUAL_STRING_LEN_MESSAGE(expected, actual, len, message)`` - -* `Pointer Assertions `_ - - - ``TEST_ASSERT_NULL(pointer)`` - - ``TEST_ASSERT_NOT_NULL(pointer)`` - -* `Memory Assertions `_ - - - ``TEST_ASSERT_EQUAL_MEMORY(expected, actual, len)`` - -Test "Blink" Project --------------------- - -1. Please follow to :ref:`quickstart` and create "Blink Project". According - to the Unit Testing :ref:`unit_testing_design` it is the **Main program**. -2. Create ``test`` directory in that project (on the same level as ``src``) - and place ``test_main.cpp`` file to it (the source code is located below). -3. Wrap ``setup()`` and ``loop()`` methods of main program in ``UNIT_TEST`` - guard. -4. Run tests using :ref:`cmd_test` command. - -Project structure -~~~~~~~~~~~~~~~~~ - -.. code-block:: bash - - project_dir - ├── lib - │   └── readme.txt - ├── platformio.ini - ├── src - │   └── main.cpp - └── test - └── test_main.cpp - -Source files -~~~~~~~~~~~~ - -* ``platformio.ini`` - - .. code-block:: ini - - ; PlatformIO Project Configuration File - ; - ; Build options: build flags, source filter, extra scripting - ; Upload options: custom port, speed and extra flags - ; Library options: dependencies, extra library storages - ; - ; Please visit documentation for the other options and examples - ; http://docs.platformio.org/en/stable/projectconf.html - - - [env:uno] - platform = atmelavr - framework = arduino - board = uno - - [env:nodemcu] - platform = espressif8266 - framework = arduino - board = nodemcu - - [env:teensy31] - platform = teensy - framework = arduino - board = teensy31 - -* ``src/main.cpp`` - - .. code-block:: cpp - - /* - * Blink - * Turns on an LED on for one second, - * then off for one second, repeatedly. - */ - - #include "Arduino.h" - - #ifndef UNIT_TEST // IMPORTANT LINE! - - void setup() - { - // initialize LED digital pin as an output. - pinMode(LED_BUILTIN, OUTPUT); - } - - void loop() - { - // turn the LED on (HIGH is the voltage level) - digitalWrite(LED_BUILTIN, HIGH); - // wait for a second - delay(1000); - // turn the LED off by making the voltage LOW - digitalWrite(LED_BUILTIN, LOW); - // wait for a second - delay(1000); - } - - #endif // IMPORTANT LINE! - -* ``test/test_main.cpp`` - - .. code-block:: cpp - - #include - #include - - #ifdef UNIT_TEST - - // void setUp(void) { - // // set stuff up here - // } - - // void tearDown(void) { - // // clean stuff up here - // } - - void test_led_builtin_pin_number(void) { - TEST_ASSERT_EQUAL(LED_BUILTIN, 13); - } - - void test_led_state_high(void) { - digitalWrite(LED_BUILTIN, HIGH); - TEST_ASSERT_EQUAL(digitalRead(LED_BUILTIN), HIGH); - } - - void test_led_state_low(void) { - digitalWrite(LED_BUILTIN, LOW); - TEST_ASSERT_EQUAL(digitalRead(LED_BUILTIN), LOW); - } - - void setup() { - UNITY_BEGIN(); // IMPORTANT LINE! - RUN_TEST(test_led_builtin_pin_number); - - pinMode(LED_BUILTIN, OUTPUT); - } - - uint8_t i = 0; - uint8_t max_blinks = 5; - - void loop() { - if (i < max_blinks) - { - RUN_TEST(test_led_state_high); - delay(500); - RUN_TEST(test_led_state_low); - delay(500); - i++; - } - else if (i == max_blinks) { - UNITY_END(); // stop unit testing - } - } - - #endif - -Test results -~~~~~~~~~~~~ - -.. code:: - - > platformio test -e nodemcu --verbose - - PlatformIO Plus (https://pioplus.com) v0.1.0 - Verbose mode can be enabled via `-v, --verbose` option - Collected 1 items - - ============================== [test::*] Building... (1/3) ============================== - [Wed Sep 7 15:16:55 2016] Processing nodemcu (platform: espressif8266, board: nodemcu, framework: arduino) - ---------------------------------------------------------------------------------------------------------------------------------------------------------------- - Verbose mode can be enabled via `-v, --verbose` option - Collected 34 compatible libraries - Looking for dependencies... - Project does not have dependencies - Compiling .pioenvs/nodemcu/src/main.o - Compiling .pioenvs/nodemcu/test/output_export.o - Compiling .pioenvs/nodemcu/test/test_main.o - Compiling .pioenvs/nodemcu/UnityTestLib/unity.o - Archiving .pioenvs/nodemcu/libFrameworkArduinoVariant.a - Indexing .pioenvs/nodemcu/libFrameworkArduinoVariant.a - Compiling .pioenvs/nodemcu/FrameworkArduino/Esp.o - Compiling .pioenvs/nodemcu/FrameworkArduino/FS.o - Compiling .pioenvs/nodemcu/FrameworkArduino/HardwareSerial.o - Compiling .pioenvs/nodemcu/FrameworkArduino/IPAddress.o - Archiving .pioenvs/nodemcu/libUnityTestLib.a - Indexing .pioenvs/nodemcu/libUnityTestLib.a - Compiling .pioenvs/nodemcu/FrameworkArduino/MD5Builder.o - ... - Compiling .pioenvs/nodemcu/FrameworkArduino/umm_malloc/umm_malloc.o - Archiving .pioenvs/nodemcu/libFrameworkArduino.a - Indexing .pioenvs/nodemcu/libFrameworkArduino.a - Linking .pioenvs/nodemcu/firmware.elf - Calculating size .pioenvs/nodemcu/firmware.elf - text data bss dec hex filename - 223500 2408 29536 255444 3e5d4 .pioenvs/nodemcu/firmware.elf - Building .pioenvs/nodemcu/firmware.bin - - ============================== [test::*] Uploading... (2/3) ============================== - [Wed Sep 7 15:17:01 2016] Processing nodemcu (platform: espressif8266, board: nodemcu, framework: arduino) - ---------------------------------------------------------------------------------------------------------------------------------------------------------------- - Verbose mode can be enabled via `-v, --verbose` option - Collected 34 compatible libraries - Looking for dependencies... - Project does not have dependencies - Linking .pioenvs/nodemcu/firmware.elf - Checking program size .pioenvs/nodemcu/firmware.elf - text data bss dec hex filename - 223500 2408 29536 255444 3e5d4 .pioenvs/nodemcu/firmware.elf - Calculating size .pioenvs/nodemcu/firmware.elf - text data bss dec hex filename - 223500 2408 29536 255444 3e5d4 .pioenvs/nodemcu/firmware.elf - Looking for upload port... - Auto-detected: /dev/cu.SLAB_USBtoUART - Uploading .pioenvs/nodemcu/firmware.bin - Uploading 230064 bytes from .pioenvs/nodemcu/firmware.bin to flash at 0x00000000 - ................................................................................ [ 35% ] - ................................................................................ [ 71% ] - ................................................................. [ 100% ] - - =============================== [test::*] Testing... (3/3) =============================== - If you don't see any output for the first 10 secs, please reset board (press reset button) - - test/test_main.cpp:41:test_led_state_high [PASSED] - test/test_main.cpp:43:test_led_state_low [PASSED] - test/test_main.cpp:41:test_led_state_high [PASSED] - test/test_main.cpp:43:test_led_state_low [PASSED] - test/test_main.cpp:41:test_led_state_high [PASSED] - test/test_main.cpp:43:test_led_state_low [PASSED] - test/test_main.cpp:41:test_led_state_high [PASSED] - test/test_main.cpp:43:test_led_state_low [PASSED] - ----------------------- - 11 Tests 1 Failures 0 Ignored - - ===================================== [TEST SUMMARY] ===================================== - test:*/env:nodemcu [PASSED] - ================================ [PASSED] Took 38.15 seconds ================================ - -Examples --------- - -* `Embedded: Wiring Blink `_ -* `Local & Embedded: Calculator `_ - -For the other examples and source code please follow to -`PlatformIO Unit Testing Examples `_ repository. diff --git a/docs/projectconf.rst b/docs/projectconf.rst deleted file mode 100644 index 13b49702..00000000 --- a/docs/projectconf.rst +++ /dev/null @@ -1,1025 +0,0 @@ -.. 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. - -.. _projectconf: - -Project Configuration File ``platformio.ini`` -============================================= - -The Project configuration file is named ``platformio.ini``. This is a -`INI-style `_ file. - -``platformio.ini`` has sections (each denoted by a ``[header]``) and -key / value pairs within the sections. Lines beginning with ``;`` -are ignored and may be used to provide comments. - -There are 2 system reserved sections: - -* Base PlatformIO settings: :ref:`projectconf_section_platformio` -* Build Environment settings: :ref:`projectconf_section_env` - -The other sections can be used by users, for example, for -:ref:`projectconf_dynamic_vars`. The sections and their allowable values are -described below. - -.. contents:: - :depth: 2 - -.. _projectconf_dynamic_vars: - -Dynamic variables ------------------ - -.. versionadded:: 3.1 - -Dynamic variables/templates are useful when you have common configuration data -between build environments. For examples, common :ref:`projectconf_build_flags` -or project dependencies :ref:`projectconf_lib_deps`. - -Each variable should have a next format: ``${
.