mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-29 17:47:14 +02:00
Merge branch 'release/v2.9.0'
This commit is contained in:
2
.github/ISSUE_TEMPLATE.md
vendored
2
.github/ISSUE_TEMPLATE.md
vendored
@ -2,7 +2,7 @@ What kind of issue is this?
|
||||
|
||||
- [ ] Question. This issue tracker is not the place for questions. If you want to ask how to do
|
||||
something, or to understand why something isn't working the way you expect it to, use
|
||||
our Community Forums http://community.platformio.org
|
||||
our Community Forums https://community.platformio.org
|
||||
|
||||
- [ ] Feature Request. Start by telling us what problem you’re trying to solve. Often a solution
|
||||
already exists! Don’t send pull requests to implement new features without first getting our
|
||||
|
9
.gitmodules
vendored
9
.gitmodules
vendored
@ -1,6 +1,3 @@
|
||||
[submodule "examples/atmelavr-and-arduino/arduino-external-libs/lib/Adafruit-PCD8544-Nokia-5110-LCD-library"]
|
||||
path = examples/atmelavr-and-arduino/arduino-external-libs/lib/Adafruit-PCD8544-Nokia-5110-LCD-library
|
||||
url = https://github.com/adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library.git
|
||||
[submodule "examples/atmelavr-and-arduino/arduino-external-libs/lib/Adafruit-GFX-Library"]
|
||||
path = examples/atmelavr-and-arduino/arduino-external-libs/lib/Adafruit-GFX-Library
|
||||
url = https://github.com/adafruit/Adafruit-GFX-Library.git
|
||||
[submodule "examples"]
|
||||
path = examples
|
||||
url = https://github.com/platformio/platformio-examples.git
|
||||
|
22
.travis.yml
22
.travis.yml
@ -1,21 +1,23 @@
|
||||
language: python
|
||||
python:
|
||||
"2.7"
|
||||
- "2.7"
|
||||
|
||||
env:
|
||||
TOX_ENV=docs
|
||||
TOX_ENV=lint
|
||||
TOX_ENV=py26
|
||||
TOX_ENV=py27
|
||||
- TOX_ENV=docs
|
||||
- TOX_ENV=lint
|
||||
- TOX_ENV=py26
|
||||
- TOX_ENV=py27
|
||||
|
||||
install:
|
||||
pip install -U pip setuptools tox
|
||||
- git submodule update --init --recursive
|
||||
- pip install -U pip setuptools tox
|
||||
- sudo apt-get install -qq lib32z1 lib32ncurses5 lib32bz2-1.0 # temporarily
|
||||
|
||||
script:
|
||||
tox -e $TOX_ENV
|
||||
- tox -e $TOX_ENV
|
||||
|
||||
notifications:
|
||||
slack:
|
||||
secure: uEU56hHACLxq6iRRZ0JeAl/MPADqQWMZZAsZB9IOnXaRUd0Pa6lT2CicJXhVlsEEbNRqR2u5LbcQ4R0nvAKPjYgglDlDet4RfhP+YIqLX2v2dv3B5q8cITsKMUUediv4fybdO/nmvQSImq5nqRQQsXKAwTAJZooIwS3F5Dsg+eE=
|
||||
on_failure: :always
|
||||
on_success: :change
|
||||
secure: ksQmXOP5NVsf8IgoDuxD68Q/YNwDpZuwq0V29h2dxYCr38oYdAkq/Os4LSCs0X6P0cQFf6nC1hM/d+cAvU+SmzcHGxEceHNEGCg3/TAj+68KIwooPU93Lfq1zwdfteZWxANjKlCQy4+wZliHLhL8fvCYgfJww/6qKmqSYleBNM=
|
||||
on_failure: always
|
||||
on_success: change
|
||||
|
75
HISTORY.rst
75
HISTORY.rst
@ -4,10 +4,75 @@ Release Notes
|
||||
PlatformIO 2.0
|
||||
--------------
|
||||
|
||||
2.9.0 (2016-04-28)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Project generator for `CodeBlocks IDE <http://docs.platformio.org/en/latest/ide/codeblocks.html>`__
|
||||
(`issue #600 <https://github.com/platformio/platformio/issues/600>`_)
|
||||
* New `Lattice iCE40 FPGA <http://docs.platformio.org/en/latest/platforms/lattice_ice40.html>`__
|
||||
development platform with support for Lattice iCEstick FPGA Evaluation
|
||||
Kit and BQ IceZUM Alhambra FPGA
|
||||
(`issue #480 <https://github.com/platformio/platformio/issues/480>`_)
|
||||
* New `Intel ARC 32-bit <http://docs.platformio.org/en/latest/platforms/intel_arc32.html>`_
|
||||
development platform with support for Arduino/Genuino 101 board
|
||||
(`issue #535 <https://github.com/platformio/platformio/issues/535>`_)
|
||||
* New `Microchip PIC32 <http://docs.platformio.org/en/latest/platforms/microchippic32.html>`__
|
||||
development platform with support for 20+ different PIC32 based boards
|
||||
(`issue #438 <https://github.com/platformio/platformio/issues/438>`_)
|
||||
* New RTOS and build Framework named `Simba <http://docs.platformio.org/en/latest/frameworks/simba.html>`__
|
||||
(`issue #412 <https://github.com/platformio/platformio/issues/412>`_)
|
||||
* New boards for `ARM mbed <http://docs.platformio.org/en/latest/frameworks/mbed.html>`__
|
||||
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 <https://github.com/platformio/platformio/issues/472>`_)
|
||||
* Added support for Generic ATTiny boards: ATTiny13, ATTiny24, ATTiny25,
|
||||
ATTiny45 and ATTiny85
|
||||
(`issue #636 <https://github.com/platformio/platformio/issues/636>`_)
|
||||
* Added support for MightyCore boards: ATmega1284, ATmega644, ATmega324,
|
||||
ATmega164, ATmega32, ATmega16 and ATmega8535
|
||||
(`issue #585 <https://github.com/platformio/platformio/issues/585>`_)
|
||||
* Added support for `TI MSP430 <http://docs.platformio.org/en/latest/platforms/timsp430.html>`__
|
||||
boards: TI LaunchPad w/ msp430fr4133 and TI LaunchPad w/ msp430fr6989
|
||||
* Updated Arduino core for Espressif platform to 2.2.0
|
||||
(`issue #627 <https://github.com/platformio/platformio/issues/627>`_)
|
||||
* Updated native SDK for ESP8266 to 1.5
|
||||
(`issue #366 <https://github.com/platformio/platformio/issues/366>`_)
|
||||
* PlatformIO Library Registry in JSON format! Implemented
|
||||
``--json-output`` and ``--page`` options for
|
||||
`platformio lib search <http://docs.platformio.org/en/latest/userguide/lib/cmd_search.html>`__
|
||||
command
|
||||
(`issue #604 <https://github.com/platformio/platformio/issues/604>`_)
|
||||
* Allowed to specify default environments `env_default <http://docs.platformio.org/en/latest/projectconf.html#env-default>`__
|
||||
which should be processed by default with ``platformio run`` command
|
||||
(`issue #576 <https://github.com/platformio/platformio/issues/576>`_)
|
||||
* Allowed to unflag(remove) base/initial flags using
|
||||
`build_unflags <http://docs.platformio.org/en/latest/projectconf.html#build-unflags>`__
|
||||
option
|
||||
(`issue #559 <https://github.com/platformio/platformio/issues/559>`_)
|
||||
* Allowed multiple VID/PID pairs when detecting serial ports
|
||||
(`issue #632 <https://github.com/platformio/platformio/issues/632>`_)
|
||||
* Automatically add ``-DUSB_MANUFACTURER`` with vendor's name
|
||||
(`issue #631 <https://github.com/platformio/platformio/issues/631>`_)
|
||||
* Automatically reboot Teensy board after upload when Teensy Loader GUI is used
|
||||
(`issue #609 <https://github.com/platformio/platformio/issues/609>`_)
|
||||
* Refactored source code converter from ``*.ino`` to ``*.cpp``
|
||||
(`issue #610 <https://github.com/platformio/platformio/issues/610>`_)
|
||||
* Forced ``-std=gnu++11`` for Atmel SAM development platform
|
||||
(`issue #601 <https://github.com/platformio/platformio/issues/601>`_)
|
||||
* Don't check OS type for ARM mbed-enabled boards and ST STM32 development
|
||||
platform before uploading to disk
|
||||
(`issue #596 <https://github.com/platformio/platformio/issues/596>`_)
|
||||
* Fixed broken compilation for Atmel SAMD based boards except Arduino Due
|
||||
(`issue #598 <https://github.com/platformio/platformio/issues/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 <https://github.com/platformio/platformio/issues/635>`_)
|
||||
|
||||
2.8.6 (2016-03-22)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Launched `PlatformIO Community Forums <http://community.platformio.org>`_
|
||||
* Launched `PlatformIO Community Forums <https://community.platformio.org>`_
|
||||
(`issue #530 <https://github.com/platformio/platformio/issues/530>`_)
|
||||
* Added support for ARM mbed-enabled board Seed Arch Max (STM32F407VET6)
|
||||
(`issue #572 <https://github.com/platformio/platformio/issues/572>`_)
|
||||
@ -821,9 +886,9 @@ PlatformIO 0.0
|
||||
* Fixed "*OSError: [Errno 2] No such file or directory*" within
|
||||
`platformio run <http://docs.platformio.org/en/latest/userguide/cmd_run.html>`__
|
||||
command when PlatformIO isn't installed properly
|
||||
* Fixed example for `Eclipse IDE with Tiva board <https://github.com/platformio/platformio/tree/develop/examples/ide/eclipse>`_
|
||||
* Fixed example for `Eclipse IDE with Tiva board <https://github.com/platformio/platformio-examples/tree/develop/ide/eclipse>`_
|
||||
(`issue #32 <https://github.com/platformio/platformio/pull/32>`_)
|
||||
* Upgraded `Eclipse Project Examples <https://github.com/platformio/platformio/tree/develop/examples/ide/eclipse>`_
|
||||
* Upgraded `Eclipse Project Examples <https://github.com/platformio/platformio-examples/tree/develop/ide/eclipse>`_
|
||||
to latest *Luna* and *PlatformIO* releases
|
||||
|
||||
0.9.0 (2014-12-01)
|
||||
@ -891,7 +956,7 @@ PlatformIO 0.0
|
||||
* Disabled default warning flag "-Wall"
|
||||
* Added auto-conversation from \*.ino to valid \*.cpp for Arduino/Energia
|
||||
frameworks (`issue #7 <https://github.com/platformio/platformio/issues/7>`_)
|
||||
* Added `Arduino example <https://github.com/platformio/platformio/tree/develop/examples/>`_
|
||||
* Added `Arduino example <https://github.com/platformio/platformio-examples/tree/develop/>`_
|
||||
with external library (*Adafruit CC3000*)
|
||||
* Implemented `platformio upgrade <http://docs.platformio.org/en/latest/userguide/cmd_upgrade.html>`_
|
||||
command and "auto-check" for the latest
|
||||
@ -940,7 +1005,7 @@ PlatformIO 0.0
|
||||
|
||||
* Resolved `issue #1 "Build referred libraries" <https://github.com/platformio/platformio/issues/1>`_
|
||||
* Renamed project's "libs" directory to "lib"
|
||||
* Added `arduino-internal-library <https://github.com/platformio/platformio/tree/develop/examples/>`_ example
|
||||
* Added `arduino-internal-library <https://github.com/platformio/platformio-examples/tree/develop/>`_ example
|
||||
* Changed to beta status
|
||||
|
||||
|
||||
|
14
README.rst
14
README.rst
@ -7,9 +7,6 @@ PlatformIO
|
||||
.. image:: https://ci.appveyor.com/api/projects/status/dku0h2rutfj0ctls/branch/develop?svg=true
|
||||
:target: https://ci.appveyor.com/project/ivankravets/platformio
|
||||
:alt: AppVeyor.CI Build Status
|
||||
.. image:: https://circleci.com/gh/platformio/platformio/tree/develop.svg?style=svg
|
||||
:target: https://circleci.com/gh/platformio/platformio/tree/develop
|
||||
:alt: Circle.CI Build Status
|
||||
.. image:: https://requires.io/github/platformio/platformio/requirements.svg?branch=develop
|
||||
:target: https://requires.io/github/platformio/platformio/requirements/?branch=develop
|
||||
:alt: Requirements Status
|
||||
@ -24,7 +21,7 @@ PlatformIO
|
||||
:alt: PyPi Downloads
|
||||
.. image:: https://img.shields.io/community/PlatformIO.png
|
||||
:alt: Join the chat at https://gitter.im/platformio/platformio
|
||||
:target: http://community.platformio.org
|
||||
:target: https://community.platformio.org
|
||||
.. image:: https://img.shields.io/donate/PlatformIO.png?color=yellow
|
||||
:alt: Donate for PlatformIO.Org
|
||||
:target: http://platformio.org/donate
|
||||
@ -38,7 +35,7 @@ PlatformIO
|
||||
`Facebook <https://www.facebook.com/platformio>`_ |
|
||||
`Hackaday <https://hackaday.io/project/7980-platformio>`_ |
|
||||
`Bintray <https://bintray.com/platformio>`_ |
|
||||
`Community <http://community.platformio.org>`_ |
|
||||
`Community <https://community.platformio.org>`_ |
|
||||
`Donate <http://platformio.org/donate>`_ |
|
||||
`Contact Us <http://platformio.org/contact>`_
|
||||
|
||||
@ -49,7 +46,7 @@ PlatformIO
|
||||
development. Cross-platform build system and library manager. Continuous and
|
||||
IDE integration. Arduino and MBED compatible. Ready for Cloud compiling.
|
||||
|
||||
* **PlatformIO IDE** - The next generation integrated development environment for IoT.
|
||||
* **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.
|
||||
@ -176,10 +173,11 @@ Frameworks:
|
||||
|
||||
* `Arduino <http://platformio.org/frameworks/arduino>`_
|
||||
* `CMSIS <http://platformio.org/frameworks/cmsis>`_
|
||||
* `libOpenCM3 <http://platformio.org/frameworks/libopencm3>`_
|
||||
* `Energia <http://platformio.org/frameworks/energia>`_
|
||||
* `SPL <http://platformio.org/frameworks/spl>`_
|
||||
* `libOpenCM3 <http://platformio.org/frameworks/libopencm3>`_
|
||||
* `mbed <http://platformio.org/frameworks/mbed>`_
|
||||
* `Simba <http://platformio.org/frameworks/simba>`_
|
||||
* `SPL <http://platformio.org/frameworks/spl>`_
|
||||
* `WiringPi <http://platformio.org/frameworks/wiringpi>`_
|
||||
|
||||
For further details, please refer to `What is PlatformIO? <http://docs.platformio.org/en/latest/faq.html#what-is-platformio>`_
|
||||
|
16
circle.yml
16
circle.yml
@ -1,16 +0,0 @@
|
||||
machine:
|
||||
python:
|
||||
version: 2.7
|
||||
|
||||
checkout:
|
||||
post:
|
||||
- git submodule update --init
|
||||
- pip install -U pip setuptools virtualenv
|
||||
|
||||
dependencies:
|
||||
pre:
|
||||
- pip install tox
|
||||
|
||||
test:
|
||||
override:
|
||||
- tox -e py27
|
22
docs/_static/extra.css
vendored
22
docs/_static/extra.css
vendored
@ -270,6 +270,28 @@ nav {
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
.top-banner {
|
||||
display: block;
|
||||
padding: 10px 20px;
|
||||
|
BIN
docs/_static/ide-platformio-codeblocks.png
vendored
Normal file
BIN
docs/_static/ide-platformio-codeblocks.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 91 KiB |
9
docs/_templates/footer.html
vendored
9
docs/_templates/footer.html
vendored
@ -3,6 +3,13 @@
|
||||
{% block extrafooter %}
|
||||
<link rel="stylesheet" href="{{ pathto('_static/extra.css', 1) }}" type="text/css" />
|
||||
<header id="pionav" class="navbar navbar-inverse navbar-fixed-top">
|
||||
<a href="https://github.com/platformio" target="_blank" class="github-corner">
|
||||
<svg viewBox="0 0 250 250">
|
||||
<path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path>
|
||||
<path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path>
|
||||
<path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path>
|
||||
</svg>
|
||||
</a>
|
||||
<div class="container container-fluid">
|
||||
<div class="navbar-header">
|
||||
<a class="navbar-brand" href="http://platformio.org">PlatformIO</a>
|
||||
@ -19,7 +26,7 @@
|
||||
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li class="active"><a href="http://docs.platformio.org"><i class="fa fa-book fa-lg"></i>Docs</a></li>
|
||||
<li><a href="http://community.platformio.org"><i class="fa fa-comments-o fa-lg"></i>Community</a></li>
|
||||
<li><a href="https://community.platformio.org"><i class="fa fa-comments-o fa-lg"></i>Community</a></li>
|
||||
<li><a href="http://platformio.org/contact"><i class="fa fa-envelope fa-lg"></i>Contact</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -23,6 +23,14 @@ Here are recent articles about PlatformIO:
|
||||
2016
|
||||
^^^^
|
||||
|
||||
* Apr 23, 2016 - **Al Williams** - `Hackaday: Atomic Arduino (and Other) Development <http://hackaday.com/2016/04/23/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) <http://www.sathittham.com/platformio/platformio-ide/>`_
|
||||
* Apr 11, 2016 - **Matjaz Trcek** - `Top 5 Arduino integrated development environments <https://codeandunicorns.com/top-5-arduino-integrated-development-environments-ide/>`_
|
||||
* Apr 06, 2016 - **Aleks** - `PlatformIO ausprobiert (Tried PlatformIO, German) <http://5volt-junkie.net/platformio/>`_
|
||||
* Mar 30, 2016 - **Brandon Cannaday** - `Getting Started with PlatformIO and ESP8266 NodeMcu <https://www.losant.com/blog/getting-started-with-platformio-esp8266-nodemcu>`_
|
||||
* Mar 29, 2016 - **Pablo Peñalve** - `PlatformIO + Geany + Raspberry PI, Spanish <http://ret-catriel.blogspot.com/2016/03/framework-platformio-geany-raspberry-pi.html>`_
|
||||
* Mar 24, 2016 - **NAzT** - `PlatformIO และการปรับแต่ง เพื่อใช้สำหรับพัฒนา Arduino Library (PlatformIO and advanced development for Arduino Library, Thai) <https://cmmakerclub.com/tools-2/config-platformio-for-arduino-framework-developer/>`_
|
||||
* Mar 16, 2016 - **Jakub Skořepa** - `Instalace PlatformIO (PlatformIO IDE Installation, Czech) <http://ok1kvk.cz/clanek/2016/instalace-platformio/>`_
|
||||
* Mar 12, 2016 - **Peter Marks** - `PlatformIO, the Arduino IDE for programmers <http://blog.marxy.org/2016/03/platformio-arduino-ide-for-programmers.html>`_
|
||||
* Mar 12, 2016 - **Richard Arthurs** - `Getting Started With PlatformIO <http://richarthurs.com/2016/03/12/platformio-review-and-first-thoughts/>`_
|
||||
* Mar 07, 2016 - **Joran Jessurun** - `Nieuwe wereld met PlatformIO (New world with PlatformIO, Dutch) <http://blog.wisclub.nl/#post178>`_
|
||||
@ -33,6 +41,7 @@ Here are recent articles about PlatformIO:
|
||||
* Feb 23, 2016 - **Ptarmigan Labs** - `ESP8266 Over The Air updating – what are the options? <https://ptarmiganlabs.com/blog/2016/02/23/esp8266-over-the-air-updating-what-are-the-options/>`_
|
||||
* Feb 22, 2016 - **Grzegorz Hołdys** - `How to Integrate PlatformIO with Netbeans <http://www.instructables.com/id/How-to-Integrate-PlatformIO-With-Netbeans/>`_
|
||||
* Feb 19, 2016 - **Embedds** - `Develop easier with PlatformIO ecosystem <http://www.embedds.com/develop-easier-with-platformio-ecosystem/>`_
|
||||
* Feb 13, 2016 - **Robert Cudmore** - `Programming an arduino with PlatformIO <http://blog.cudmore.io/post/2016/02/13/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 <http://jandevblog.blogspot.com/2016/01/how-to-use-intellij-idea-to-develop-and.html>`_
|
||||
* Jan 16, 2016 - **Dani Eichhorn** - `ESP8266 Arduino IDE Alternative: PlatformIO <http://blog.squix.ch/2016/01/esp8266-arduino-ide-alternative.html>`_
|
||||
* Jan 11, 2016 - **David Mills, Ph.D.** - `STM NUCLEOF401RE TIMER IO <http://webshed.org/wiki/STM_NUCLEOF401RE_TIMER_IO>`_
|
||||
|
@ -106,7 +106,7 @@ Install dependent library using :ref:`librarymanager`
|
||||
# Libraries from PlatformIO Library Registry:
|
||||
#
|
||||
# http://platformio.org/lib/show/1/OneWire
|
||||
platformio lib install 1
|
||||
- platformio lib install 1
|
||||
|
||||
Manually download dependent library and include in build process via ``--lib`` option
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
@ -117,8 +117,8 @@ Manually download dependent library and include in build process via ``--lib`` o
|
||||
- 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/
|
||||
- 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=TYPE_1 --board=TYPE_2 --board=TYPE_N
|
||||
@ -137,8 +137,7 @@ PlatformIO allows to specify own build flags using :envvar:`PLATFORMIO_BUILD_FLA
|
||||
|
||||
install:
|
||||
- pip install -U platformio
|
||||
|
||||
export PLATFORMIO_BUILD_FLAGS=-D GLOBAL_MACROS_FOR_ALL_TEST_ENV
|
||||
- export PLATFORMIO_BUILD_FLAGS="-D GLOBAL_MACROS_FOR_ALL_TEST_ENV"
|
||||
|
||||
|
||||
For the more details, please follow to
|
||||
|
@ -29,7 +29,7 @@ Preconfigured demo projects are located in `PlatformIO GitHub <https://github.co
|
||||
Used in demo
|
||||
~~~~~~~~~~~~
|
||||
|
||||
1. Source code of `Wiring Blink Example <https://github.com/platformio/platformio/tree/develop/examples/wiring-blink>`_
|
||||
1. Source code of `Wiring Blink Example <https://github.com/platformio/platformio-examples/tree/develop/wiring-blink>`_
|
||||
2. :ref:`cmd_run` command
|
||||
3. :ref:`platformio run -t upload <cmd_run>` command.
|
||||
|
||||
|
@ -59,6 +59,11 @@ To enable ``zsh`` completion please run these commands:
|
||||
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 <ide_atom_faq>`.
|
||||
|
||||
.. _faq_troubleshooting:
|
||||
|
||||
Troubleshooting
|
||||
@ -89,8 +94,7 @@ Where is ``platformio`` binary installed? Run this command in Terminal
|
||||
# for Unix
|
||||
which platformio
|
||||
echo $PATH
|
||||
|
||||
# for Windows OS
|
||||
Windows OS
|
||||
where platformio
|
||||
echo %PATH%
|
||||
|
||||
|
@ -36,6 +36,12 @@ Platforms
|
||||
* - :ref:`platform_espressif`
|
||||
- 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.
|
||||
|
||||
@ -53,6 +59,26 @@ Boards
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* 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 <http://www.4dsystems.com.au/product/Picadillo_35T/>`_
|
||||
- 32MX795F512L
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
Adafruit
|
||||
~~~~~~~~
|
||||
|
||||
@ -434,6 +460,117 @@ BitWizard
|
||||
- 32 Kb
|
||||
- 2 Kb
|
||||
|
||||
Digilent
|
||||
~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``cerebot32mx4``
|
||||
- `Digilent Cerebot 32MX4 <http://store.digilentinc.com/cerebot-32mx4-limited-time-see-chipkit-pro-mx4/>`_
|
||||
- 32MX460F512L
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``cerebot32mx7``
|
||||
- `Digilent Cerebot 32MX7 <http://www.microchip.com/Developmenttools/ProductDetails.aspx?PartNO=TDGL004>`_
|
||||
- 32MX795F512L
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
* - ``chipkit_cmod``
|
||||
- `Digilent chipKIT Cmod <http://store.digilentinc.com/chipkit-cmod-breadboardable-mz-microcontroller-board/>`_
|
||||
- 32MX150F128D
|
||||
- 40 MHz
|
||||
- 128 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``chipkit_dp32``
|
||||
- `Digilent chipKIT DP32 <http://store.digilentinc.com/chipkit-dp32-dip-package-prototyping-microcontroller-board/>`_
|
||||
- 32MX250F128B
|
||||
- 40 MHz
|
||||
- 128 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``chipkit_mx3``
|
||||
- `Digilent chipKIT MX3 <http://store.digilentinc.com/chipkit-mx3-microcontroller-board-with-pmod-headers/>`_
|
||||
- 32MX320F128H
|
||||
- 80 MHz
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
* - ``chipkit_pro_mx4``
|
||||
- `Digilent chipKIT Pro MX4 <http://store.digilentinc.com/chipkit-pro-mx4-embedded-systems-trainer-board/>`_
|
||||
- 32MX460F512L
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``chipkit_pro_mx7``
|
||||
- `Digilent chipKIT Pro MX7 <http://store.digilentinc.com/chipkit-pro-mx7-advanced-peripherals-embedded-systems-trainer-board/>`_
|
||||
- 32MX795F512L
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
* - ``chipkit_uc32``
|
||||
- `Digilent chipKIT uC32 <http://store.digilentinc.com/chipkit-uc32-basic-microcontroller-board-with-uno-r3-headers/>`_
|
||||
- 32MX340F512H
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``chipkit_wf32``
|
||||
- `Digilent chipKIT WF32 <http://store.digilentinc.com/chipkit-wf32-wifi-enabled-microntroller-board-with-uno-r3-headers/>`_
|
||||
- 32MX695F512L
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
* - ``chipkit_wifire``
|
||||
- `Digilent chipKIT WiFire <http://store.digilentinc.com/chipkit-wi-fire-wifi-enabled-mz-microcontroller-board/>`_
|
||||
- 32MZ2048ECG100
|
||||
- 200 MHz
|
||||
- 2048 Kb
|
||||
- 512 Kb
|
||||
|
||||
* - ``mega_pic32``
|
||||
- `Digilent chipKIT MAX32 <http://store.digilentinc.com/chipkit-max32-microcontroller-board-with-mega-r3-headers/>`_
|
||||
- 32MX795F512L
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
* - ``openbci``
|
||||
- `Digilent OpenScope <http://store.digilentinc.com/>`_
|
||||
- 32MX250F128B
|
||||
- 40 MHz
|
||||
- 128 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``openscope``
|
||||
- `Digilent OpenScope <http://store.digilentinc.com/>`_
|
||||
- 32MZ2048EFG124
|
||||
- 200 MHz
|
||||
- 2048 Kb
|
||||
- 512 Kb
|
||||
|
||||
* - ``uno_pic32``
|
||||
- `Digilent chipKIT UNO32 <http://store.digilentinc.com/chipkit-uno32-basic-microcontroller-board-retired-see-chipkit-uc32/>`_
|
||||
- 32MX320F128H
|
||||
- 80 MHz
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
Digistump
|
||||
~~~~~~~~~
|
||||
|
||||
@ -631,6 +768,115 @@ Espressif
|
||||
- 4096 Kb
|
||||
- 50 Kb
|
||||
|
||||
Fubarino
|
||||
~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``fubarino_mini``
|
||||
- `Fubarino Mini <http://fubarino.org/mini/>`_
|
||||
- 32MX250F128D
|
||||
- 48 MHz
|
||||
- 128 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``fubarino_sd``
|
||||
- `Fubarino SD (1.5) <http://fubarino.org/sd/index.html>`_
|
||||
- 32MX795F512H
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
Generic ATTiny
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``attiny13``
|
||||
- `Generic ATTiny13 <http://www.atmel.com/devices/ATTINY13.aspx>`_
|
||||
- ATTINY13
|
||||
- 9 MHz
|
||||
- 1 Kb
|
||||
- 0.0625 Kb
|
||||
|
||||
* - ``attiny24``
|
||||
- `Generic ATTiny24 <http://www.atmel.com/devices/ATTINY24.aspx>`_
|
||||
- ATTINY24
|
||||
- 8 MHz
|
||||
- 2 Kb
|
||||
- 0.125 Kb
|
||||
|
||||
* - ``attiny25``
|
||||
- `Generic ATTiny25 <http://www.atmel.com/devices/ATTINY25.aspx>`_
|
||||
- ATTINY25
|
||||
- 8 MHz
|
||||
- 2 Kb
|
||||
- 0.125 Kb
|
||||
|
||||
* - ``attiny44``
|
||||
- `Generic ATTiny44 <http://www.atmel.com/devices/ATTINY44.aspx>`_
|
||||
- ATTINY44
|
||||
- 8 MHz
|
||||
- 4 Kb
|
||||
- 0.25 Kb
|
||||
|
||||
* - ``attiny45``
|
||||
- `Generic ATTiny45 <http://www.atmel.com/devices/ATTINY45.aspx>`_
|
||||
- ATTINY45
|
||||
- 8 MHz
|
||||
- 4 Kb
|
||||
- 0.25 Kb
|
||||
|
||||
* - ``attiny84``
|
||||
- `Generic ATTiny84 <http://www.atmel.com/devices/ATTINY84.aspx>`_
|
||||
- ATTINY84
|
||||
- 8 MHz
|
||||
- 8 Kb
|
||||
- 0.5 Kb
|
||||
|
||||
* - ``attiny85``
|
||||
- `Generic ATTiny85 <http://www.atmel.com/devices/ATTINY85.aspx>`_
|
||||
- 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 <https://www.arduino.cc/en/Main/ArduinoBoard101>`_
|
||||
- ARCV2EM
|
||||
- 32 MHz
|
||||
- 192 Kb
|
||||
- 80 Kb
|
||||
|
||||
LightUp
|
||||
~~~~~~~
|
||||
|
||||
@ -678,6 +924,61 @@ LowPowerLab
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
Mcudude
|
||||
~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``mightycore1284``
|
||||
- `MightyCore ATmega1284 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
|
||||
- ATMEGA1284P
|
||||
- 16 MHz
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
* - ``mightycore16``
|
||||
- `MightyCore ATmega16 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
|
||||
- ATMEGA16
|
||||
- 16 MHz
|
||||
- 16 Kb
|
||||
- 1 Kb
|
||||
|
||||
* - ``mightycore164``
|
||||
- `MightyCore ATmega164 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
|
||||
- ATMEGA164P
|
||||
- 16 MHz
|
||||
- 16 Kb
|
||||
- 1 Kb
|
||||
|
||||
* - ``mightycore32``
|
||||
- `MightyCore ATmega32 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
|
||||
- ATMEGA32
|
||||
- 16 MHz
|
||||
- 32 Kb
|
||||
- 2 Kb
|
||||
|
||||
* - ``mightycore324``
|
||||
- `MightyCore ATmega324 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
|
||||
- ATMEGA324P
|
||||
- 16 MHz
|
||||
- 32 Kb
|
||||
- 2 Kb
|
||||
|
||||
* - ``mightycore644``
|
||||
- `MightyCore ATmega644 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
|
||||
- ATMEGA644P
|
||||
- 16 MHz
|
||||
- 64 Kb
|
||||
- 4 Kb
|
||||
|
||||
Microduino
|
||||
~~~~~~~~~~
|
||||
|
||||
@ -801,6 +1102,40 @@ Olimex
|
||||
- 2048 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``pinguino32``
|
||||
- `Olimex PIC32-PINGUINO <https://www.olimex.com/Products/Duino/PIC32/PIC32-PINGUINO/open-source-hardware>`_
|
||||
- 32MX440F256H
|
||||
- 80 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
PONTECH
|
||||
~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``quick240_usb``
|
||||
- `PONTECH quicK240 <http://quick240.com/quicki/>`_
|
||||
- 32MX795F512L
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
* - ``usbono_pic32``
|
||||
- `PONTECH UAV100 <http://www.pontech.com/productdisplay/uav100>`_
|
||||
- 32MX440F512H
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
|
||||
PanStamp
|
||||
~~~~~~~~
|
||||
|
||||
@ -1024,6 +1359,26 @@ Sanguino
|
||||
- 64 Kb
|
||||
- 4 Kb
|
||||
|
||||
SeeedStudio
|
||||
~~~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``cui32stem``
|
||||
- `SeeedStudio CUI32stem <http://www.seeedstudio.com/wiki/CUI32Stem>`_
|
||||
- 32MX795F512H
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
SparkFun
|
||||
~~~~~~~~
|
||||
|
||||
@ -1236,6 +1591,33 @@ TinyCircuits
|
||||
- 32 Kb
|
||||
- 2 Kb
|
||||
|
||||
UBW32
|
||||
~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``ubw32_mx460``
|
||||
- `UBW32 MX460 <http://www.schmalzhaus.com/UBW32/>`_
|
||||
- 32MX460F512L
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``ubw32_mx795``
|
||||
- `UBW32 MX795 <http://www.schmalzhaus.com/UBW32/>`_
|
||||
- 32MX795F512L
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
WeMos
|
||||
~~~~~
|
||||
|
||||
@ -1290,6 +1672,26 @@ Wicked Device
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
element14
|
||||
~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``chipkit_pi``
|
||||
- `Element14 chipKIT Pi <http://www.element14.com/community/community/knode/dev_platforms_kits/element14_dev_kits/microchip-chipkit/chipkit_pi>`_
|
||||
- 32MX250F128B
|
||||
- 40 MHz
|
||||
- 128 Kb
|
||||
- 32 Kb
|
||||
|
||||
ubIQio
|
||||
~~~~~~
|
||||
|
||||
|
@ -20,6 +20,6 @@ Examples
|
||||
--------
|
||||
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for CMSIS framework <https://github.com/platformio/platformio/tree/develop/examples/stm32>`_.
|
||||
`Examples for CMSIS framework <https://github.com/platformio/platformio-examples/tree/develop/stm32>`_.
|
||||
|
||||
* `Blink <https://github.com/platformio/platformio/tree/develop/examples/stm32/stm32-cmsis-blink>`_
|
||||
* `Blink <https://github.com/platformio/platformio-examples/tree/develop/stm32/stm32-cmsis-blink>`_
|
||||
|
@ -75,6 +75,13 @@ TI
|
||||
- 128 Kb
|
||||
- 1 Kb
|
||||
|
||||
* - ``lpmsp430fr4133``
|
||||
- `TI LaunchPad w/ msp430fr4133 <http://www.ti.com/tool/msp-exp430fr4133>`_
|
||||
- MSP430G2553
|
||||
- 16 MHz
|
||||
- 16 Kb
|
||||
- 2 Kb
|
||||
|
||||
* - ``lpmsp430fr5739``
|
||||
- `TI FraunchPad w/ msp430fr5739 <http://www.ti.com/tool/msp-exp430fr5739>`_
|
||||
- MSP430FR5739
|
||||
@ -89,6 +96,13 @@ TI
|
||||
- 64 Kb
|
||||
- 1 Kb
|
||||
|
||||
* - ``lpmsp430fr6989``
|
||||
- `TI LaunchPad w/ msp430fr6989 <http://www.ti.com/tool/msp-exp430fr6989>`_
|
||||
- MSP430G2553
|
||||
- 16 MHz
|
||||
- 128 Kb
|
||||
- 2 Kb
|
||||
|
||||
* - ``lpmsp430g2231``
|
||||
- `TI LaunchPad w/ msp430g2231 (1 MHz) <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430g2.html>`_
|
||||
- MSP430G2231
|
||||
|
@ -22,5 +22,6 @@ Frameworks
|
||||
energia
|
||||
libopencm3
|
||||
mbed
|
||||
simba
|
||||
spl
|
||||
wiringpi
|
||||
|
@ -13,6 +13,6 @@ Examples
|
||||
--------
|
||||
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for libOpenCM3 framework <https://github.com/platformio/platformio/tree/develop/examples/stm32>`_.
|
||||
`Examples for libOpenCM3 framework <https://github.com/platformio/platformio-examples/tree/develop/stm32>`_.
|
||||
|
||||
* `Blink <https://github.com/platformio/platformio/tree/develop/examples/stm32/stm32-opencm3-blink>`_
|
||||
* `Blink <https://github.com/platformio/platformio-examples/tree/develop/stm32/stm32-opencm3-blink>`_
|
||||
|
@ -56,6 +56,26 @@ Boards
|
||||
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
|
||||
* 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 <https://developer.mbed.org/platforms/ST-B96B-F446VE/>`_
|
||||
- STM32F446VET6
|
||||
- 168 MHz
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
Atmel
|
||||
~~~~~
|
||||
|
||||
@ -90,6 +110,26 @@ Atmel
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
BBC
|
||||
~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``bbcmicrobit``
|
||||
- `BBC micro:bit <https://developer.mbed.org/platforms/Microbit/>`_
|
||||
- NRF51822
|
||||
- 16 MHz
|
||||
- 256 Kb
|
||||
- 16 Kb
|
||||
|
||||
CQ Publishing
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
@ -548,6 +588,13 @@ ST
|
||||
- 512 Kb
|
||||
- 96 Kb
|
||||
|
||||
* - ``nucleo_f410rb``
|
||||
- `ST Nucleo F410RB <https://developer.mbed.org/platforms/ST-Nucleo-F410RB/>`_
|
||||
- STM32F410RBT6
|
||||
- 100 MHz
|
||||
- 128 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``nucleo_f411re``
|
||||
- `ST Nucleo F411RE <https://developer.mbed.org/platforms/ST-Nucleo-F411RE/>`_
|
||||
- STM32F411RET6
|
||||
@ -569,6 +616,13 @@ ST
|
||||
- 64 Kb
|
||||
- 8 Kb
|
||||
|
||||
* - ``nucleo_l073rz``
|
||||
- `ST Nucleo L073RZ <https://developer.mbed.org/platforms/ST-Nucleo-L073RZ/>`_
|
||||
- STM32L073RZ
|
||||
- 32 MHz
|
||||
- 192 Kb
|
||||
- 20 Kb
|
||||
|
||||
* - ``nucleo_l152re``
|
||||
- `ST Nucleo L152RE <https://developer.mbed.org/platforms/ST-Nucleo-L152RE/>`_
|
||||
- STM32L152RET6
|
||||
|
@ -23,10 +23,10 @@ Examples
|
||||
--------
|
||||
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for MBED framework <https://github.com/platformio/platformio/tree/develop/examples/mbed>`_.
|
||||
`Examples for MBED framework <https://github.com/platformio/platformio-examples/tree/develop/mbed>`_.
|
||||
|
||||
* `Blink <https://github.com/platformio/platformio/tree/develop/examples/mbed/mbed-blink>`_
|
||||
* `DSP <https://github.com/platformio/platformio/tree/develop/examples/mbed/mbed-dsp>`_
|
||||
* `HTTP Client <https://github.com/platformio/platformio/tree/develop/examples/mbed/mbed-http-client>`_
|
||||
* `RTOS <https://github.com/platformio/platformio/tree/develop/examples/mbed/mbed-rtos>`_
|
||||
* `Serial <https://github.com/platformio/platformio/tree/develop/examples/mbed/mbed-serial>`_
|
||||
* `Blink <https://github.com/platformio/platformio-examples/tree/develop/mbed/mbed-blink>`_
|
||||
* `DSP <https://github.com/platformio/platformio-examples/tree/develop/mbed/mbed-dsp>`_
|
||||
* `HTTP Client <https://github.com/platformio/platformio-examples/tree/develop/mbed/mbed-http-client>`_
|
||||
* `RTOS <https://github.com/platformio/platformio-examples/tree/develop/mbed/mbed-rtos>`_
|
||||
* `Serial <https://github.com/platformio/platformio-examples/tree/develop/mbed/mbed-serial>`_
|
||||
|
169
docs/frameworks/simba.rst
Normal file
169
docs/frameworks/simba.rst
Normal file
@ -0,0 +1,169 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
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 <http://simba-os.readthedocs.org>`_.
|
||||
|
||||
.. 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_espressif`
|
||||
- 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 <http://platformio.org/boards>`_
|
||||
* 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 <https://www.adafruit.com/products/2471>`_
|
||||
- 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) <http://arduino.cc/en/Main/arduinoBoardDue>`_
|
||||
- SAM3X8E
|
||||
- 84 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``megaatmega2560``
|
||||
- `Arduino Mega or Mega 2560 ATmega2560 (Mega 2560) <http://arduino.cc/en/Main/arduinoBoardMega2560>`_
|
||||
- ATMEGA2560
|
||||
- 16 MHz
|
||||
- 256 Kb
|
||||
- 8 Kb
|
||||
|
||||
* - ``nanoatmega328``
|
||||
- `Arduino Nano ATmega328 <http://arduino.cc/en/Main/ArduinoBoardNano>`_
|
||||
- ATMEGA328P
|
||||
- 16 MHz
|
||||
- 32 Kb
|
||||
- 2 Kb
|
||||
|
||||
* - ``uno``
|
||||
- `Arduino Uno <http://arduino.cc/en/Main/ArduinoBoardUno>`_
|
||||
- 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 <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp01_1m``
|
||||
- `Espressif Generic ESP8266 ESP-01 1M <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp12e``
|
||||
- `Espressif ESP8266 ESP-12E <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- 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) <http://www.nodemcu.com/>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``nodemcuv2``
|
||||
- `NodeMCU 1.0 (ESP-12E Module) <http://www.nodemcu.com/>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
.. include:: simba_extra.rst
|
18
docs/frameworks/simba_extra.rst
Executable file
18
docs/frameworks/simba_extra.rst
Executable file
@ -0,0 +1,18 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
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 <https://github.com/platformio/platformio-examples/tree/develop/examples/simba>`_.
|
||||
|
||||
* `Blink <https://github.com/platformio/platformio-examples/tree/develop/simba/blink>`_
|
@ -13,6 +13,6 @@ Examples
|
||||
--------
|
||||
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for SPL framework <https://github.com/platformio/platformio/tree/develop/examples/stm32>`_.
|
||||
`Examples for SPL framework <https://github.com/platformio/platformio-examples/tree/develop/stm32>`_.
|
||||
|
||||
* `Blink <https://github.com/platformio/platformio/tree/develop/examples/stm32/stm32-spl-blink>`_
|
||||
* `Blink <https://github.com/platformio/platformio-examples/tree/develop/stm32/stm32-spl-blink>`_
|
||||
|
@ -13,7 +13,7 @@ Examples
|
||||
--------
|
||||
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for WiringPi framework <https://github.com/platformio/platformio/tree/develop/examples/raspberrypi>`_.
|
||||
`Examples for WiringPi framework <https://github.com/platformio/platformio-examples/tree/develop/raspberrypi>`_.
|
||||
|
||||
* `Blink <https://github.com/platformio/platformio/tree/develop/examples/raspberrypi/wiringpi-blink>`_
|
||||
* `Serial <https://github.com/platformio/platformio/tree/develop/examples/raspberrypi/wiringpi-serial>`_
|
||||
* `Blink <https://github.com/platformio/platformio-examples/tree/develop/raspberrypi/wiringpi-blink>`_
|
||||
* `Serial <https://github.com/platformio/platformio-examples/tree/develop/raspberrypi/wiringpi-serial>`_
|
||||
|
@ -19,6 +19,7 @@ IDE Integration
|
||||
|
||||
ide/atom
|
||||
ide/clion
|
||||
ide/codeblocks
|
||||
ide/eclipse
|
||||
ide/emacs
|
||||
ide/netbeans
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
.. note::
|
||||
We are proud to present our official `PlatformIO IDE <http://platformio.org/platformio-ide>`_ -
|
||||
The next generation integrated development environment for IoT.
|
||||
The next-generation integrated development environment for IoT.
|
||||
|
||||
* Cross-platform build system without external dependencies to the OS software:
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
PlatformIO IDE for Atom
|
||||
=======================
|
||||
|
||||
PlatformIO IDE is the next generation integrated development environment for IoT:
|
||||
PlatformIO IDE is the next-generation integrated development environment for IoT:
|
||||
|
||||
* Cross-platform build system without external dependencies to the OS software:
|
||||
|
||||
@ -44,7 +44,7 @@ config file.
|
||||
Installation
|
||||
------------
|
||||
|
||||
PlatformIO IDE is the next generation integrated development environment for IoT.
|
||||
PlatformIO IDE is the next-generation integrated development environment for IoT.
|
||||
It's built on top of `GitHub's Atom "hackable" text editor <https://atom.io>`_.
|
||||
If you have already Atom installed, please install `PlatformIO IDE for Atom package <https://atom.io/packages/platformio-ide>`_.
|
||||
|
||||
@ -53,25 +53,7 @@ If you have already Atom installed, please install `PlatformIO IDE for Atom pack
|
||||
PlatformIO CLI is built into PlatformIO IDE and you will be able to use it
|
||||
within PlatformIO IDE Terminal.
|
||||
|
||||
1. IDE Installation
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. note::
|
||||
If you don't have Atom installed yet, we propose to download
|
||||
`PlatformIO IDE for Atom bundle <http://platformio.org/platformio-ide>`_
|
||||
with built-in auto installer (optional).
|
||||
|
||||
1. Download and install the `latest official Atom text editor <https://atom.io>`_.
|
||||
2. Open Atom Package Manager and install `platformio-ide <https://atom.io/packages/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
|
||||
|
||||
2. Python Interpreter
|
||||
1. Python Interpreter
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
PlatformIO IDE is based on PlatformIO CLI which is written in
|
||||
@ -86,14 +68,15 @@ on the "Customize" stage, otherwise ``python`` command will not be available.
|
||||
|
||||
.. _ide_atom_installation_clang:
|
||||
|
||||
3. Clang for Intelligent Code Autocompletion
|
||||
2. Clang for Intelligent Code Autocompletion
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
PlatformIO IDE uses `clang <http://clang.llvm.org>`_ 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:
|
||||
|
||||
- **Mac OS X**: Install the latest Xcode along with the latest Command Line Tools
|
||||
- **Mac OS X**: `Install the latest Xcode <https://developer.apple.com/xcode/download/>`_
|
||||
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 <http://llvm.org/releases/download.html>`_.
|
||||
@ -109,6 +92,24 @@ Terminal and run ``clang --version``. If ``clang`` is not installed, then instal
|
||||
not be reflected in code linter. You need ``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 <http://platformio.org/platformio-ide>`_
|
||||
with built-in auto installer (optional).
|
||||
|
||||
- Download and install the `latest official Atom text editor <https://atom.io>`_.
|
||||
- Open Atom Package Manager and install `platformio-ide <https://atom.io/packages/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
|
||||
@ -431,9 +432,37 @@ To force Smart Code Linter to use Arduino files as C++ please
|
||||
2. Perform all steps from :ref:`ide_atom_knownissues_sclarduino_manually`
|
||||
(without renaming to ``.cpp``).
|
||||
|
||||
.. _ide_atom_faq:
|
||||
|
||||
Frequently Asked Questions
|
||||
--------------------------
|
||||
|
||||
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 <https://atom.io/packages/atom-beautify>`_
|
||||
package and `C/C++ Uncrustify Code Beautifier <http://sourceforge.net/projects/uncrustify/>`_.
|
||||
|
||||
Articles / Manuals
|
||||
------------------
|
||||
|
||||
* Apr 23, 2016 - **Al Williams** - `Hackaday: Atomic Arduino (and Other) Development <http://hackaday.com/2016/04/23/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) <http://www.sathittham.com/platformio/platformio-ide/>`_
|
||||
* Apr 11, 2016 - **Matjaz Trcek** - `Top 5 Arduino integrated development environments <https://codeandunicorns.com/top-5-arduino-integrated-development-environments-ide/>`_
|
||||
* Apr 06, 2016 - **Aleks** - `PlatformIO ausprobiert (Tried PlatformIO, German) <http://5volt-junkie.net/platformio/>`_
|
||||
* Mar 30, 2016 - **Brandon Cannaday** - `Getting Started with PlatformIO and ESP8266 NodeMcu <https://www.getstructure.io/blog/getting-started-with-platformio-esp8266-nodemcu>`_
|
||||
* Mar 12, 2016 - **Peter Marks** - `PlatformIO, the Arduino IDE for programmers <http://blog.marxy.org/2016/03/platformio-arduino-ide-for-programmers.html>`_
|
||||
* Mar 05, 2016 - **brichacek.net** - `PlatformIO – otevřený ekosystém pro vývoj IoT (PlatformIO – an open source ecosystem for IoT development, Czech) <http://blog.brichacek.net/platformio-otevreny-ekosystem-pro-vyvoj-iot/>`_
|
||||
* Mar 04, 2016 - **Ricardo Vega** - `Programa tu Arduino desde Atom (Program your Arduino from Atom, Spanish) <http://ricveal.com/blog/programa-arduino-desde-atom/>`_
|
||||
|
@ -73,7 +73,7 @@ the screenshot below):
|
||||
(will be created in project directory after initialization).
|
||||
|
||||
``*.ino`` file isn't acceptable for ``add_executable`` command. You should
|
||||
convert it manually to ``*.cpp``. See `project example <https://github.com/platformio/platformio/tree/develop/examples/ide/clion>`_.
|
||||
convert it manually to ``*.cpp``. See `project example <https://github.com/platformio/platformio-examples/tree/develop/ide/clion>`_.
|
||||
|
||||
More info `CLion issue #CPP-3977 <https://youtrack.jetbrains.com/issue/CPP-3977>`_.
|
||||
Active discussion is located in
|
||||
@ -94,4 +94,4 @@ Examples
|
||||
"Blink" Project
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
Source code of `CLion "Blink" Project <https://github.com/platformio/platformio/tree/develop/examples/ide/clion>`_.
|
||||
Source code of `CLion "Blink" Project <https://github.com/platformio/platformio-examples/tree/develop/ide/clion>`_.
|
||||
|
54
docs/ide/codeblocks.rst
Normal file
54
docs/ide/codeblocks.rst
Normal file
@ -0,0 +1,54 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
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 <http://www.codeblocks.org/downloads>`_.
|
||||
|
||||
.. image:: ../_static/ide-platformio-codeblocks.png
|
||||
:target: http://docs.platformio.org/en/latest/_images/ide-platformio-codeblocks.png
|
||||
|
||||
.. contents::
|
||||
|
||||
Integration
|
||||
-----------
|
||||
|
||||
Choose board ``type`` using :ref:`cmd_boards` or `Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||
command and generate project via :option:`platformio init --ide` command:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
platformio init --ide codeblocks --board %TYPE%
|
||||
|
||||
# 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).
|
@ -86,4 +86,4 @@ Examples
|
||||
"Blink" Project
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
Source code of `Eclipse "Blink" Project <https://github.com/platformio/platformio/tree/develop/examples/ide/eclipse>`_.
|
||||
Source code of `Eclipse "Blink" Project <https://github.com/platformio/platformio-examples/tree/develop/ide/eclipse>`_.
|
||||
|
@ -193,4 +193,4 @@ Examples
|
||||
"Blink" Project
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
Source code of `Qt Creator "Blink" Project <https://github.com/platformio/platformio/tree/develop/examples/ide/qtcreator>`_.
|
||||
Source code of `Qt Creator "Blink" Project <https://github.com/platformio/platformio-examples/tree/develop/ide/qtcreator>`_.
|
||||
|
@ -192,4 +192,4 @@ Examples
|
||||
"Blink" Project
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
Source code of `Sublime Text "Blink" Project <https://github.com/platformio/platformio/tree/develop/examples/ide/sublimetext>`_.
|
||||
Source code of `Sublime Text "Blink" Project <https://github.com/platformio/platformio-examples/tree/develop/ide/sublimetext>`_.
|
||||
|
@ -153,7 +153,7 @@ Examples
|
||||
"Blink" Project
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
Source code of `Visual Studio "Blink" Project <https://github.com/platformio/platformio/tree/develop/examples/ide/visualstudio>`_.
|
||||
Source code of `Visual Studio "Blink" Project <https://github.com/platformio/platformio-examples/tree/develop/ide/visualstudio>`_.
|
||||
|
||||
Known issues
|
||||
------------
|
||||
|
@ -15,7 +15,7 @@ PlatformIO is an open source ecosystem for IoT development
|
||||
**Cross-platform build system and library manager. Continuous and IDE
|
||||
integration. Arduino and MBED compatible. Ready for Cloud compiling.**
|
||||
|
||||
* **PlatformIO IDE** - The next generation integrated development environment for IoT.
|
||||
* **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.
|
||||
@ -36,6 +36,7 @@ Silicon Labs EFM32, ST STM32, TI MSP430 & Tiva, Teensy, Arduino, mbed,
|
||||
libOpenCM3, etc.*
|
||||
|
||||
* `Website <http://platformio.org>`_
|
||||
* :ref:`ide_atom`
|
||||
* `Web 2.0 Library Search <http://platformio.org/lib>`_ |
|
||||
`Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||
* `Project Examples <https://github.com/platformio/platformio/tree/develop/examples>`_
|
||||
@ -45,7 +46,7 @@ libOpenCM3, etc.*
|
||||
`Twitter <https://twitter.com/PlatformIO_Org>`_ |
|
||||
`Facebook <https://www.facebook.com/platformio>`_ |
|
||||
`Hackaday <https://hackaday.io/project/7980-platformio>`_ |
|
||||
`Forums <http://community.platformio.org>`_
|
||||
`Forums <https://community.platformio.org>`_
|
||||
|
||||
Embedded Development. *Easier Than Ever.*
|
||||
-----------------------------------------
|
||||
|
@ -201,7 +201,7 @@ dash. `Semantic Versioning <http://semver.org>`_ IS RECOMMENDED.
|
||||
``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 target in the :ref:`libjson_repository`. In other
|
||||
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`.
|
||||
|
||||
|
@ -34,6 +34,9 @@ Packages
|
||||
* - ``tool-avrdude``
|
||||
- `AVRDUDE <http://www.nongnu.org/avrdude/>`_
|
||||
|
||||
* - ``framework-simba``
|
||||
- `Simba Framework <https://github.com/eerimoq/simba>`_
|
||||
|
||||
* - ``framework-arduinoavr``
|
||||
- `Arduino Wiring-based Framework (AVR Core, 1.6) <http://arduino.cc/en/Reference/HomePage>`_
|
||||
|
||||
@ -61,6 +64,9 @@ Frameworks
|
||||
* - :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
|
||||
------
|
||||
|
||||
@ -491,6 +497,68 @@ Engduino
|
||||
- 32 Kb
|
||||
- 2.5 Kb
|
||||
|
||||
Generic ATTiny
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``attiny13``
|
||||
- `Generic ATTiny13 <http://www.atmel.com/devices/ATTINY13.aspx>`_
|
||||
- ATTINY13
|
||||
- 9 MHz
|
||||
- 1 Kb
|
||||
- 0.0625 Kb
|
||||
|
||||
* - ``attiny24``
|
||||
- `Generic ATTiny24 <http://www.atmel.com/devices/ATTINY24.aspx>`_
|
||||
- ATTINY24
|
||||
- 8 MHz
|
||||
- 2 Kb
|
||||
- 0.125 Kb
|
||||
|
||||
* - ``attiny25``
|
||||
- `Generic ATTiny25 <http://www.atmel.com/devices/ATTINY25.aspx>`_
|
||||
- ATTINY25
|
||||
- 8 MHz
|
||||
- 2 Kb
|
||||
- 0.125 Kb
|
||||
|
||||
* - ``attiny44``
|
||||
- `Generic ATTiny44 <http://www.atmel.com/devices/ATTINY44.aspx>`_
|
||||
- ATTINY44
|
||||
- 8 MHz
|
||||
- 4 Kb
|
||||
- 0.25 Kb
|
||||
|
||||
* - ``attiny45``
|
||||
- `Generic ATTiny45 <http://www.atmel.com/devices/ATTINY45.aspx>`_
|
||||
- ATTINY45
|
||||
- 8 MHz
|
||||
- 4 Kb
|
||||
- 0.25 Kb
|
||||
|
||||
* - ``attiny84``
|
||||
- `Generic ATTiny84 <http://www.atmel.com/devices/ATTINY84.aspx>`_
|
||||
- ATTINY84
|
||||
- 8 MHz
|
||||
- 8 Kb
|
||||
- 0.5 Kb
|
||||
|
||||
* - ``attiny85``
|
||||
- `Generic ATTiny85 <http://www.atmel.com/devices/ATTINY85.aspx>`_
|
||||
- ATTINY85
|
||||
- 8 MHz
|
||||
- 8 Kb
|
||||
- 0.5 Kb
|
||||
|
||||
LightUp
|
||||
~~~~~~~
|
||||
|
||||
@ -538,6 +606,61 @@ LowPowerLab
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
Mcudude
|
||||
~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``mightycore1284``
|
||||
- `MightyCore ATmega1284 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
|
||||
- ATMEGA1284P
|
||||
- 16 MHz
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
* - ``mightycore16``
|
||||
- `MightyCore ATmega16 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
|
||||
- ATMEGA16
|
||||
- 16 MHz
|
||||
- 16 Kb
|
||||
- 1 Kb
|
||||
|
||||
* - ``mightycore164``
|
||||
- `MightyCore ATmega164 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
|
||||
- ATMEGA164P
|
||||
- 16 MHz
|
||||
- 16 Kb
|
||||
- 1 Kb
|
||||
|
||||
* - ``mightycore32``
|
||||
- `MightyCore ATmega32 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
|
||||
- ATMEGA32
|
||||
- 16 MHz
|
||||
- 32 Kb
|
||||
- 2 Kb
|
||||
|
||||
* - ``mightycore324``
|
||||
- `MightyCore ATmega324 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
|
||||
- ATMEGA324P
|
||||
- 16 MHz
|
||||
- 32 Kb
|
||||
- 2 Kb
|
||||
|
||||
* - ``mightycore644``
|
||||
- `MightyCore ATmega644 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
|
||||
- ATMEGA644P
|
||||
- 16 MHz
|
||||
- 64 Kb
|
||||
- 4 Kb
|
||||
|
||||
Microduino
|
||||
~~~~~~~~~~
|
||||
|
||||
|
@ -52,6 +52,15 @@ Configuration for the programmers:
|
||||
framework = arduino
|
||||
upload_protocol = usbtiny
|
||||
|
||||
* ArduinoISP
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
[env:myenv]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
upload_protocol = arduinoisp
|
||||
|
||||
* USBasp
|
||||
|
||||
.. code-block:: ini
|
||||
@ -103,13 +112,13 @@ Examples
|
||||
--------
|
||||
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for Atmel AVR platform <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino>`_.
|
||||
`Examples for Atmel AVR platform <https://github.com/platformio/platformio-examples/tree/develop/atmelavr-and-arduino>`_.
|
||||
|
||||
* `Wiring Blink <https://github.com/platformio/platformio/tree/develop/examples/wiring-blink>`_
|
||||
* `Arduino with external libraries <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino/arduino-external-libs>`_
|
||||
* `Arduino with internal libraries <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino/arduino-internal-libs>`_
|
||||
* `Project uses source file name for "src" directory (Arduino project structure) <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino/arduino-own-src_dir>`_
|
||||
* `Atmel AVR Native blink <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino/atmelavr-native-blink>`_
|
||||
* `Digitstump Mouse <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino/digitstump-mouse>`_
|
||||
* `Engduino magnetometer <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino/engduino-magnetometer>`_
|
||||
* `PanStamp blink <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino/panstamp-blink>`_
|
||||
* `Wiring Blink <https://github.com/platformio/platformio-examples/tree/develop/wiring-blink>`_
|
||||
* `Arduino with external libraries <https://github.com/platformio/platformio-examples/tree/develop/atmelavr-and-arduino/arduino-external-libs>`_
|
||||
* `Arduino with internal libraries <https://github.com/platformio/platformio-examples/tree/develop/atmelavr-and-arduino/arduino-internal-libs>`_
|
||||
* `Project uses source file name for "src" directory (Arduino project structure) <https://github.com/platformio/platformio-examples/tree/develop/atmelavr-and-arduino/arduino-own-src_dir>`_
|
||||
* `Atmel AVR Native blink <https://github.com/platformio/platformio-examples/tree/develop/atmelavr-and-arduino/atmelavr-native-blink>`_
|
||||
* `Digitstump Mouse <https://github.com/platformio/platformio-examples/tree/develop/atmelavr-and-arduino/digitstump-mouse>`_
|
||||
* `Engduino magnetometer <https://github.com/platformio/platformio-examples/tree/develop/atmelavr-and-arduino/engduino-magnetometer>`_
|
||||
* `PanStamp blink <https://github.com/platformio/platformio-examples/tree/develop/atmelavr-and-arduino/panstamp-blink>`_
|
||||
|
@ -34,6 +34,9 @@ Packages
|
||||
* - ``framework-arduinosam``
|
||||
- `Arduino Wiring-based Framework (SAM Core, 1.6) <http://arduino.cc/en/Reference/HomePage>`_
|
||||
|
||||
* - ``framework-simba``
|
||||
- `Simba Framework <https://github.com/eerimoq/simba>`_
|
||||
|
||||
* - ``tool-openocd``
|
||||
- `OpenOCD <http://openocd.org>`_
|
||||
|
||||
@ -70,6 +73,9 @@ Frameworks
|
||||
* - :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.
|
||||
|
||||
* - :ref:`framework_simba`
|
||||
- Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
|
||||
|
||||
Boards
|
||||
------
|
||||
|
||||
|
@ -59,6 +59,12 @@ Packages
|
||||
* - ``framework-arduinoespressif``
|
||||
- `Arduino Wiring-based Framework (ESP8266 Core) <https://github.com/esp8266/Arduino>`_
|
||||
|
||||
* - ``framework-arduinointel``
|
||||
- `Arduino Wiring-based Framework (Intel ARC Core) <https://github.com/01org/corelibs-arduino101>`_
|
||||
|
||||
* - ``framework-arduinomicrochippic32``
|
||||
- `Arduino Wiring-based Framework (PIC32 Core) <https://github.com/chipKIT32/chipKIT-core>`_
|
||||
|
||||
* - ``framework-arduinomsp430``
|
||||
- `Arduino Wiring-based Framework (MSP430 Core) <http://arduino.cc/en/Reference/HomePage>`_
|
||||
|
||||
@ -86,6 +92,9 @@ Packages
|
||||
* - ``framework-mbed``
|
||||
- `mbed Framework <http://mbed.org>`_
|
||||
|
||||
* - ``framework-simba``
|
||||
- `Simba Framework <https://github.com/eerimoq/simba>`_
|
||||
|
||||
* - ``framework-spl``
|
||||
- `Standard Peripheral Library for STM32 MCUs <http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1743/PF257890>`_
|
||||
|
||||
@ -98,6 +107,9 @@ Packages
|
||||
* - ``sdk-esp8266``
|
||||
- `ESP8266 SDK <http://bbs.espressif.com>`_
|
||||
|
||||
* - ``tool-arduino101load``
|
||||
- `Genuino101 uploader <https://github.com/01org/intel-arduino-tools>`_
|
||||
|
||||
* - ``tool-avrdude``
|
||||
- `AVRDUDE <http://www.nongnu.org/avrdude/>`_
|
||||
|
||||
@ -122,6 +134,9 @@ Packages
|
||||
* - ``tool-openocd``
|
||||
- `OpenOCD <http://openocd.org>`_
|
||||
|
||||
* - ``tool-pic32prog``
|
||||
- `pic32prog <https://github.com/sergev/pic32prog>`_
|
||||
|
||||
* - ``tool-rfdloader``
|
||||
- `rfdloader <https://github.com/RFduino/RFduino>`_
|
||||
|
||||
@ -152,6 +167,15 @@ Packages
|
||||
* - ``toolchain-gccmingw32``
|
||||
- `MinGW <http://www.mingw.org>`_
|
||||
|
||||
* - ``toolchain-icestorm``
|
||||
- `GCC for FPGA IceStorm <http://www.clifford.at/icestorm/>`_
|
||||
|
||||
* - ``toolchain-intelarc32``
|
||||
- `GCC for Intel ARC <https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain>`_
|
||||
|
||||
* - ``toolchain-microchippic32``
|
||||
- `GCC for Microchip PIC32 <https://github.com/chipKIT32/chipKIT-cxx>`_
|
||||
|
||||
* - ``toolchain-timsp430``
|
||||
- `msp-gcc <http://sourceforge.net/projects/mspgcc/>`_, `GDB <http://www.gnu.org/software/gdb/>`_
|
||||
|
||||
|
@ -31,6 +31,9 @@ Packages
|
||||
* - ``toolchain-xtensa``
|
||||
- `xtensa-gcc <https://github.com/jcmvbkbc/gcc-xtensa>`_, `GDB <http://www.gnu.org/software/gdb/>`_
|
||||
|
||||
* - ``framework-simba``
|
||||
- `Simba Framework <https://github.com/eerimoq/simba>`_
|
||||
|
||||
* - ``tool-esptool``
|
||||
- `esptool-ck <https://github.com/igrr/esptool-ck>`_
|
||||
|
||||
@ -67,6 +70,9 @@ Frameworks
|
||||
* - :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
|
||||
------
|
||||
|
||||
|
@ -118,7 +118,8 @@ Uploading files to file system SPIFFS
|
||||
information first.
|
||||
|
||||
1. Initialise project :ref:`cmd_init` (if you have not initialized yet)
|
||||
2. Create :ref:`projectconf_pio_data_dir` and put files here
|
||||
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`` /
|
||||
@ -136,7 +137,7 @@ Active discussion is located in `issue #382 <https://github.com/platformio/platf
|
||||
Over-the-Air (OTA) update
|
||||
-------------------------
|
||||
|
||||
Firstly, please read `What is OTA? How to use it? <https://github.com/esp8266/Arduino/blob/master/doc/ota_updates/ota_updates.md>`_
|
||||
Firstly, please read `What is OTA? How to use it? <https://github.com/esp8266/Arduino/blob/master/doc/ota_updates/readme.md>`_
|
||||
|
||||
There are 2 options:
|
||||
|
||||
@ -252,8 +253,8 @@ Examples
|
||||
--------
|
||||
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for Espressif platform <https://github.com/platformio/platformio/tree/develop/examples/espressif>`_.
|
||||
`Examples for Espressif platform <https://github.com/platformio/platformio-examples/tree/develop/espressif>`_.
|
||||
|
||||
* `Native SDK <https://github.com/platformio/platformio/tree/develop/examples/espressif/esp8266-native>`_
|
||||
* `WebServer <https://github.com/platformio/platformio/tree/develop/examples/espressif/esp8266-webserver>`_
|
||||
* `WiFiScan <https://github.com/platformio/platformio/tree/develop/examples/espressif/esp8266-wifiscan>`_
|
||||
* `Native SDK <https://github.com/platformio/platformio-examples/tree/develop/espressif/esp8266-native>`_
|
||||
* `WebServer <https://github.com/platformio/platformio-examples/tree/develop/espressif/esp8266-webserver>`_
|
||||
* `WiFiScan <https://github.com/platformio/platformio-examples/tree/develop/espressif/esp8266-wifiscan>`_
|
||||
|
@ -32,6 +32,9 @@ Embedded
|
||||
atmelsam
|
||||
espressif
|
||||
freescalekinetis
|
||||
intel_arc32
|
||||
lattice_ice40
|
||||
microchippic32
|
||||
nordicnrf51
|
||||
nxplpc
|
||||
siliconlabsefm32
|
||||
|
88
docs/platforms/intel_arc32.rst
Normal file
88
docs/platforms/intel_arc32.rst
Normal file
@ -0,0 +1,88 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
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 <http://www.intel.com/content/www/us/en/wearables/wearable-soc.html>`_.
|
||||
|
||||
.. contents::
|
||||
|
||||
Packages
|
||||
--------
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Name
|
||||
- Contents
|
||||
|
||||
* - ``framework-arduinointel``
|
||||
- `Arduino Wiring-based Framework (Intel ARC Core) <https://github.com/01org/corelibs-arduino101>`_
|
||||
|
||||
* - ``tool-arduino101load``
|
||||
- `Genuino101 uploader <https://github.com/01org/intel-arduino-tools>`_
|
||||
|
||||
* - ``toolchain-intelarc32``
|
||||
- `GCC for Intel ARC <https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain>`_
|
||||
|
||||
.. warning::
|
||||
**Linux Users:** Don't forget to install "udev" rules file
|
||||
`99-platformio-udev.rules <https://github.com/platformio/platformio/blob/develop/scripts/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 <http://platformio.org/boards>`_
|
||||
* 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 <https://www.arduino.cc/en/Main/ArduinoBoard101>`_
|
||||
- ARCV2EM
|
||||
- 32 MHz
|
||||
- 192 Kb
|
||||
- 80 Kb
|
91
docs/platforms/lattice_ice40.rst
Normal file
91
docs/platforms/lattice_ice40.rst
Normal file
@ -0,0 +1,91 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
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 <http://www.latticesemi.com/Products/FPGAandCPLD/iCE40.aspx>`_.
|
||||
|
||||
.. contents::
|
||||
|
||||
Packages
|
||||
--------
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Name
|
||||
- Contents
|
||||
|
||||
* - ``toolchain-icestorm``
|
||||
- `GCC for FPGA IceStorm <http://www.clifford.at/icestorm/>`_
|
||||
|
||||
.. warning::
|
||||
**Linux Users:** Don't forget to install "udev" rules file
|
||||
`99-platformio-udev.rules <https://github.com/platformio/platformio/blob/develop/scripts/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 <http://platformio.org/boards>`_
|
||||
* 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 <https://github.com/bqlabs/icezum/wiki>`_
|
||||
- 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 <http://www.latticesemi.com/icestick>`_
|
||||
- ICE40HX1K
|
||||
- 12 MHz
|
||||
- 32 Kb
|
||||
- 32 Kb
|
340
docs/platforms/microchippic32.rst
Normal file
340
docs/platforms/microchippic32.rst
Normal file
@ -0,0 +1,340 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
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 <http://www.microchip.com/design-centers/32-bit>`_.
|
||||
|
||||
.. contents::
|
||||
|
||||
Packages
|
||||
--------
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Name
|
||||
- Contents
|
||||
|
||||
* - ``framework-arduinomicrochippic32``
|
||||
- `Arduino Wiring-based Framework (PIC32 Core) <https://github.com/chipKIT32/chipKIT-core>`_
|
||||
|
||||
* - ``toolchain-microchippic32``
|
||||
- `GCC for Microchip PIC32 <https://github.com/chipKIT32/chipKIT-cxx>`_
|
||||
|
||||
* - ``tool-pic32prog``
|
||||
- `pic32prog <https://github.com/sergev/pic32prog>`_
|
||||
|
||||
.. warning::
|
||||
**Linux Users:** Don't forget to install "udev" rules file
|
||||
`99-platformio-udev.rules <https://github.com/platformio/platformio/blob/develop/scripts/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 <http://platformio.org/boards>`_
|
||||
* 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 <http://www.4dsystems.com.au/product/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 <http://store.digilentinc.com/cerebot-32mx4-limited-time-see-chipkit-pro-mx4/>`_
|
||||
- 32MX460F512L
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``cerebot32mx7``
|
||||
- `Digilent Cerebot 32MX7 <http://www.microchip.com/Developmenttools/ProductDetails.aspx?PartNO=TDGL004>`_
|
||||
- 32MX795F512L
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
* - ``chipkit_cmod``
|
||||
- `Digilent chipKIT Cmod <http://store.digilentinc.com/chipkit-cmod-breadboardable-mz-microcontroller-board/>`_
|
||||
- 32MX150F128D
|
||||
- 40 MHz
|
||||
- 128 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``chipkit_dp32``
|
||||
- `Digilent chipKIT DP32 <http://store.digilentinc.com/chipkit-dp32-dip-package-prototyping-microcontroller-board/>`_
|
||||
- 32MX250F128B
|
||||
- 40 MHz
|
||||
- 128 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``chipkit_mx3``
|
||||
- `Digilent chipKIT MX3 <http://store.digilentinc.com/chipkit-mx3-microcontroller-board-with-pmod-headers/>`_
|
||||
- 32MX320F128H
|
||||
- 80 MHz
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
* - ``chipkit_pro_mx4``
|
||||
- `Digilent chipKIT Pro MX4 <http://store.digilentinc.com/chipkit-pro-mx4-embedded-systems-trainer-board/>`_
|
||||
- 32MX460F512L
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``chipkit_pro_mx7``
|
||||
- `Digilent chipKIT Pro MX7 <http://store.digilentinc.com/chipkit-pro-mx7-advanced-peripherals-embedded-systems-trainer-board/>`_
|
||||
- 32MX795F512L
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
* - ``chipkit_uc32``
|
||||
- `Digilent chipKIT uC32 <http://store.digilentinc.com/chipkit-uc32-basic-microcontroller-board-with-uno-r3-headers/>`_
|
||||
- 32MX340F512H
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``chipkit_wf32``
|
||||
- `Digilent chipKIT WF32 <http://store.digilentinc.com/chipkit-wf32-wifi-enabled-microntroller-board-with-uno-r3-headers/>`_
|
||||
- 32MX695F512L
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
* - ``chipkit_wifire``
|
||||
- `Digilent chipKIT WiFire <http://store.digilentinc.com/chipkit-wi-fire-wifi-enabled-mz-microcontroller-board/>`_
|
||||
- 32MZ2048ECG100
|
||||
- 200 MHz
|
||||
- 2048 Kb
|
||||
- 512 Kb
|
||||
|
||||
* - ``mega_pic32``
|
||||
- `Digilent chipKIT MAX32 <http://store.digilentinc.com/chipkit-max32-microcontroller-board-with-mega-r3-headers/>`_
|
||||
- 32MX795F512L
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
* - ``openbci``
|
||||
- `Digilent OpenScope <http://store.digilentinc.com/>`_
|
||||
- 32MX250F128B
|
||||
- 40 MHz
|
||||
- 128 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``openscope``
|
||||
- `Digilent OpenScope <http://store.digilentinc.com/>`_
|
||||
- 32MZ2048EFG124
|
||||
- 200 MHz
|
||||
- 2048 Kb
|
||||
- 512 Kb
|
||||
|
||||
* - ``uno_pic32``
|
||||
- `Digilent chipKIT UNO32 <http://store.digilentinc.com/chipkit-uno32-basic-microcontroller-board-retired-see-chipkit-uc32/>`_
|
||||
- 32MX320F128H
|
||||
- 80 MHz
|
||||
- 128 Kb
|
||||
- 16 Kb
|
||||
|
||||
Fubarino
|
||||
~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``fubarino_mini``
|
||||
- `Fubarino Mini <http://fubarino.org/mini/>`_
|
||||
- 32MX250F128D
|
||||
- 48 MHz
|
||||
- 128 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``fubarino_sd``
|
||||
- `Fubarino SD (1.5) <http://fubarino.org/sd/index.html>`_
|
||||
- 32MX795F512H
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
Olimex
|
||||
~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``pinguino32``
|
||||
- `Olimex PIC32-PINGUINO <https://www.olimex.com/Products/Duino/PIC32/PIC32-PINGUINO/open-source-hardware>`_
|
||||
- 32MX440F256H
|
||||
- 80 MHz
|
||||
- 256 Kb
|
||||
- 32 Kb
|
||||
|
||||
PONTECH
|
||||
~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``quick240_usb``
|
||||
- `PONTECH quicK240 <http://quick240.com/quicki/>`_
|
||||
- 32MX795F512L
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
* - ``usbono_pic32``
|
||||
- `PONTECH UAV100 <http://www.pontech.com/productdisplay/uav100>`_
|
||||
- 32MX440F512H
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
|
||||
SeeedStudio
|
||||
~~~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``cui32stem``
|
||||
- `SeeedStudio CUI32stem <http://www.seeedstudio.com/wiki/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 <http://www.schmalzhaus.com/UBW32/>`_
|
||||
- 32MX460F512L
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``ubw32_mx795``
|
||||
- `UBW32 MX795 <http://www.schmalzhaus.com/UBW32/>`_
|
||||
- 32MX795F512L
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
element14
|
||||
~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Type ``board``
|
||||
- Name
|
||||
- Microcontroller
|
||||
- Frequency
|
||||
- Flash
|
||||
- RAM
|
||||
|
||||
* - ``chipkit_pi``
|
||||
- `Element14 chipKIT Pi <http://www.element14.com/community/community/knode/dev_platforms_kits/element14_dev_kits/microchip-chipkit/chipkit_pi>`_
|
||||
- 32MX250F128B
|
||||
- 40 MHz
|
||||
- 128 Kb
|
||||
- 32 Kb
|
@ -73,6 +73,26 @@ Boards
|
||||
* 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 <https://developer.mbed.org/platforms/Microbit/>`_
|
||||
- NRF51822
|
||||
- 16 MHz
|
||||
- 256 Kb
|
||||
- 16 Kb
|
||||
|
||||
Delta
|
||||
~~~~~
|
||||
|
||||
|
@ -13,6 +13,6 @@ Examples
|
||||
--------
|
||||
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for Nordic nRF51 platform <https://github.com/platformio/platformio/tree/develop/examples/nordicnrf51>`_.
|
||||
`Examples for Nordic nRF51 platform <https://github.com/platformio/platformio-examples/tree/develop/nordicnrf51>`_.
|
||||
|
||||
* `RFduino iBeacon <https://github.com/platformio/platformio/tree/develop/examples/nordicnrf51/rfduino-ibeacon>`_
|
||||
* `RFduino iBeacon <https://github.com/platformio/platformio-examples/tree/develop/nordicnrf51/rfduino-ibeacon>`_
|
||||
|
@ -88,6 +88,26 @@ Boards
|
||||
* 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 <https://developer.mbed.org/platforms/ST-B96B-F446VE/>`_
|
||||
- STM32F446VET6
|
||||
- 168 MHz
|
||||
- 512 Kb
|
||||
- 128 Kb
|
||||
|
||||
Armstrap
|
||||
~~~~~~~~
|
||||
|
||||
@ -296,6 +316,13 @@ ST
|
||||
- 512 Kb
|
||||
- 96 Kb
|
||||
|
||||
* - ``nucleo_f410rb``
|
||||
- `ST Nucleo F410RB <https://developer.mbed.org/platforms/ST-Nucleo-F410RB/>`_
|
||||
- STM32F410RBT6
|
||||
- 100 MHz
|
||||
- 128 Kb
|
||||
- 32 Kb
|
||||
|
||||
* - ``nucleo_f411re``
|
||||
- `ST Nucleo F411RE <https://developer.mbed.org/platforms/ST-Nucleo-F411RE/>`_
|
||||
- STM32F411RET6
|
||||
@ -317,6 +344,13 @@ ST
|
||||
- 64 Kb
|
||||
- 8 Kb
|
||||
|
||||
* - ``nucleo_l073rz``
|
||||
- `ST Nucleo L073RZ <https://developer.mbed.org/platforms/ST-Nucleo-L073RZ/>`_
|
||||
- STM32L073RZ
|
||||
- 32 MHz
|
||||
- 192 Kb
|
||||
- 20 Kb
|
||||
|
||||
* - ``nucleo_l152re``
|
||||
- `ST Nucleo L152RE <https://developer.mbed.org/platforms/ST-Nucleo-L152RE/>`_
|
||||
- STM32L152RET6
|
||||
|
@ -22,8 +22,8 @@ Examples
|
||||
--------
|
||||
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for ST STM32 platform <https://github.com/platformio/platformio/tree/develop/examples/stm32>`_.
|
||||
`Examples for ST STM32 platform <https://github.com/platformio/platformio-examples/tree/develop/stm32>`_.
|
||||
|
||||
* `CMSIS Blink <https://github.com/platformio/platformio/tree/develop/examples/stm32/stm32-cmsis-blink>`_
|
||||
* `libOpenCM3 Blink <https://github.com/platformio/platformio/tree/develop/examples/stm32/stm32-opencm3-blink>`_
|
||||
* `SPL Blink <https://github.com/platformio/platformio/tree/develop/examples/stm32/stm32-spl-blink>`_
|
||||
* `CMSIS Blink <https://github.com/platformio/platformio-examples/tree/develop/stm32/stm32-cmsis-blink>`_
|
||||
* `libOpenCM3 Blink <https://github.com/platformio/platformio-examples/tree/develop/stm32/stm32-opencm3-blink>`_
|
||||
* `SPL Blink <https://github.com/platformio/platformio-examples/tree/develop/stm32/stm32-spl-blink>`_
|
||||
|
@ -13,8 +13,8 @@ Examples
|
||||
--------
|
||||
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for Teensy platform <https://github.com/platformio/platformio/tree/develop/examples/teensy>`_.
|
||||
`Examples for Teensy platform <https://github.com/platformio/platformio-examples/tree/develop/teensy>`_.
|
||||
|
||||
* `Wiring Blink <https://github.com/platformio/platformio/tree/develop/examples/wiring-blink>`_
|
||||
* `HID Mouse <https://github.com/platformio/platformio/tree/develop/examples/teensy/teensy-hid-usb-mouse>`_
|
||||
* `Chat Server <https://github.com/platformio/platformio/tree/develop/examples/teensy/teensy-internal-libs>`_
|
||||
* `Wiring Blink <https://github.com/platformio/platformio-examples/tree/develop/wiring-blink>`_
|
||||
* `HID Mouse <https://github.com/platformio/platformio-examples/tree/develop/teensy/teensy-hid-usb-mouse>`_
|
||||
* `Chat Server <https://github.com/platformio/platformio-examples/tree/develop/teensy/teensy-internal-libs>`_
|
||||
|
@ -120,6 +120,13 @@ TI
|
||||
- 128 Kb
|
||||
- 1 Kb
|
||||
|
||||
* - ``lpmsp430fr4133``
|
||||
- `TI LaunchPad w/ msp430fr4133 <http://www.ti.com/tool/msp-exp430fr4133>`_
|
||||
- MSP430G2553
|
||||
- 16 MHz
|
||||
- 16 Kb
|
||||
- 2 Kb
|
||||
|
||||
* - ``lpmsp430fr5739``
|
||||
- `TI FraunchPad w/ msp430fr5739 <http://www.ti.com/tool/msp-exp430fr5739>`_
|
||||
- MSP430FR5739
|
||||
@ -134,6 +141,13 @@ TI
|
||||
- 64 Kb
|
||||
- 1 Kb
|
||||
|
||||
* - ``lpmsp430fr6989``
|
||||
- `TI LaunchPad w/ msp430fr6989 <http://www.ti.com/tool/msp-exp430fr6989>`_
|
||||
- MSP430G2553
|
||||
- 16 MHz
|
||||
- 128 Kb
|
||||
- 2 Kb
|
||||
|
||||
* - ``lpmsp430g2231``
|
||||
- `TI LaunchPad w/ msp430g2231 (1 MHz) <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430g2.html>`_
|
||||
- MSP430G2231
|
||||
|
@ -20,9 +20,9 @@ Examples
|
||||
--------
|
||||
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for TI MSP430 platform <https://github.com/platformio/platformio/tree/develop/examples/timsp430>`_.
|
||||
`Examples for TI MSP430 platform <https://github.com/platformio/platformio-examples/tree/develop/timsp430>`_.
|
||||
|
||||
* `Energia blink <https://github.com/platformio/platformio/tree/develop/examples/timsp430/timsp430-energia-blink>`_
|
||||
* `Native blink <https://github.com/platformio/platformio/tree/develop/examples/timsp430/timsp430-native-blink>`_
|
||||
* `Wiring Blink <https://github.com/platformio/platformio/tree/develop/examples/wiring-blink>`_
|
||||
* `PanStamp blink <https://github.com/platformio/platformio/tree/develop/examples/timsp430/panstamp-blink>`_
|
||||
* `Energia blink <https://github.com/platformio/platformio-examples/tree/develop/timsp430/timsp430-energia-blink>`_
|
||||
* `Native blink <https://github.com/platformio/platformio-examples/tree/develop/timsp430/timsp430-native-blink>`_
|
||||
* `Wiring Blink <https://github.com/platformio/platformio-examples/tree/develop/wiring-blink>`_
|
||||
* `PanStamp blink <https://github.com/platformio/platformio-examples/tree/develop/timsp430/panstamp-blink>`_
|
||||
|
@ -20,8 +20,8 @@ Examples
|
||||
--------
|
||||
|
||||
All project examples are located in PlatformIO repository
|
||||
`Examples for TI TIVA platform <https://github.com/platformio/platformio/tree/develop/examples/titiva>`_.
|
||||
`Examples for TI TIVA platform <https://github.com/platformio/platformio-examples/tree/develop/titiva>`_.
|
||||
|
||||
* `Energia blink <https://github.com/platformio/platformio/tree/develop/examples/titiva/titiva-energia-blink>`_
|
||||
* `Native blink <https://github.com/platformio/platformio/tree/develop/examples/titiva/titiva-native-blink>`_
|
||||
* `OpenCM3 Blink <https://github.com/platformio/platformio/tree/develop/examples/titiva/titiva-opencm3-blink>`_
|
||||
* `Energia blink <https://github.com/platformio/platformio-examples/tree/develop/titiva/titiva-energia-blink>`_
|
||||
* `Native blink <https://github.com/platformio/platformio-examples/tree/develop/titiva/titiva-native-blink>`_
|
||||
* `OpenCM3 Blink <https://github.com/platformio/platformio-examples/tree/develop/titiva/titiva-opencm3-blink>`_
|
||||
|
@ -90,7 +90,7 @@ This option can be overridden by global environment variable
|
||||
.. note::
|
||||
This option is useful for people who migrate from Arduino/Energia IDEs where
|
||||
source directory should have the same name like the main source file.
|
||||
See `example <https://github.com/platformio/platformio/tree/develop/examples/atmelavr-and-arduino/arduino-own-src_dir>`__ project with own source directory.
|
||||
See `example <https://github.com/platformio/platformio-examples/tree/develop/atmelavr-and-arduino/arduino-own-src_dir>`__ project with own source directory.
|
||||
|
||||
.. _projectconf_pio_envs_dir:
|
||||
|
||||
@ -130,6 +130,45 @@ project.
|
||||
This option can be overridden by global environment variable
|
||||
:envvar:`PLATFORMIO_DATA_DIR`.
|
||||
|
||||
.. _projectconf_pio_env_default:
|
||||
|
||||
``env_default``
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
:ref:`cmd_run` command processes all environments ``[env:***]`` by default
|
||||
if :option:`platformio run --environment` option is not specified.
|
||||
:ref:`projectconf_pio_env_default` allows to define environments which
|
||||
should be processed by default.
|
||||
|
||||
Multiple environments are allowed if they are separated with ``,`` (comma).
|
||||
For example.
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
[platformio]
|
||||
env_default = uno, nodemcu
|
||||
|
||||
[env:uno]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
board = uno
|
||||
|
||||
[env:nodemcu]
|
||||
platform = espressif
|
||||
framework = arduino
|
||||
board = nodemcu
|
||||
|
||||
[env:teensy31]
|
||||
platform = teensy
|
||||
framework = arduino
|
||||
board = teensy31
|
||||
|
||||
[env:lpmsp430g2553]
|
||||
platform = timsp430
|
||||
framework = energia
|
||||
board = lpmsp430g2553
|
||||
build_flags = -D LED_BUILTIN=RED_LED
|
||||
|
||||
----------
|
||||
|
||||
Section ``[env:NAME]``
|
||||
@ -341,6 +380,17 @@ but will be applied only for the project source code from
|
||||
This option can be set by global environment variable
|
||||
:envvar:`PLATFORMIO_SRC_BUILD_FLAGS`.
|
||||
|
||||
``build_unflags``
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
Remove base/initial flags which were set by development platform.
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
[env:unflags]
|
||||
build_unflags = -Os -std=gnu++11
|
||||
build_flags = -O2
|
||||
|
||||
.. _projectconf_src_filter:
|
||||
|
||||
``src_filter``
|
||||
|
@ -38,7 +38,10 @@ Options
|
||||
.. option::
|
||||
-e, --environment
|
||||
|
||||
Process specified environments
|
||||
Process specified environments.
|
||||
|
||||
You can also specify which environments should be processed by default using
|
||||
:ref:`projectconf_pio_env_default`.
|
||||
|
||||
|
||||
.. option::
|
||||
@ -93,7 +96,7 @@ or :ref:`projectconf_pio_src_dir` (project structure) have been modified.
|
||||
Examples
|
||||
--------
|
||||
|
||||
1. Process `Wiring Blink Example <https://github.com/platformio/platformio/tree/develop/examples/wiring-blink>`_
|
||||
1. Process `Wiring Blink Example <https://github.com/platformio/platformio-examples/tree/develop/wiring-blink>`_
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
|
@ -96,6 +96,17 @@ Filter libraries by specified framework
|
||||
|
||||
Filter libraries by specified keyword
|
||||
|
||||
.. option::
|
||||
--json-output
|
||||
|
||||
Return the output in `JSON <http://en.wikipedia.org/wiki/JSON>`_ format
|
||||
|
||||
.. option::
|
||||
--page
|
||||
|
||||
Manually paginate through search results. This option is useful in pair with
|
||||
``--json-output``.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
|
3
examples/.gitmodules
vendored
Normal file
3
examples/.gitmodules
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
[submodule "atmelavr-and-arduino/arduino-external-libs/lib/OneWire"]
|
||||
path = atmelavr-and-arduino/arduino-external-libs/lib/OneWire
|
||||
url = https://github.com/PaulStoffregen/OneWire.git
|
201
examples/LICENSE
Normal file
201
examples/LICENSE
Normal file
@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "{}"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright {yyyy} {name of copyright owner}
|
||||
|
||||
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.
|
@ -1,24 +0,0 @@
|
||||
/*
|
||||
Blink
|
||||
Turns on an LED on for one second, then off for one second, repeatedly.
|
||||
|
||||
This example code is in the public domain.
|
||||
*/
|
||||
|
||||
int led = 1; // blink 'digital' pin 1 - AKA the built in red LED
|
||||
|
||||
// the setup routine runs once when you press reset:
|
||||
void setup() {
|
||||
// initialize the digital pin as an output.
|
||||
pinMode(led, OUTPUT);
|
||||
|
||||
}
|
||||
|
||||
// the loop routine runs over and over again forever:
|
||||
void loop() {
|
||||
digitalWrite(led, HIGH);
|
||||
delay(1000);
|
||||
digitalWrite(led, LOW);
|
||||
delay(1000);
|
||||
}
|
||||
|
3
examples/atmelavr-and-arduino/arduino-blink/.gitignore
vendored
Normal file
3
examples/atmelavr-and-arduino/arduino-blink/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
.pioenvs
|
||||
.clang_complete
|
||||
.gcc-flags.json
|
38
examples/atmelavr-and-arduino/arduino-blink/README.rst
Normal file
38
examples/atmelavr-and-arduino/arduino-blink/README.rst
Normal file
@ -0,0 +1,38 @@
|
||||
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||
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.
|
||||
|
||||
How to build PlatformIO based project
|
||||
=====================================
|
||||
|
||||
1. `Install PlatformIO <http://docs.platformio.org/en/latest/installation.html>`_
|
||||
2. Download `source code with examples <https://github.com/platformio/platformio-examples/archive/develop.zip>`_
|
||||
3. Extract ZIP archive
|
||||
4. Run these commands:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Change directory to example
|
||||
> cd platformio-examples/atmelavr-and-arduino/arduino-blink
|
||||
|
||||
# Build project
|
||||
> platformio run
|
||||
|
||||
# Upload firmware
|
||||
> platformio run --target upload
|
||||
|
||||
# Build specific environment
|
||||
> platformio run -e flora8
|
||||
|
||||
# Upload firmware for the specific environment
|
||||
> platformio run -e flora8 --target upload
|
||||
|
||||
# Clean build files
|
||||
> platformio run --target clean
|
45
examples/atmelavr-and-arduino/arduino-blink/platformio.ini
Normal file
45
examples/atmelavr-and-arduino/arduino-blink/platformio.ini
Normal file
@ -0,0 +1,45 @@
|
||||
#
|
||||
# Project Configuration File
|
||||
#
|
||||
# A detailed documentation with the EXAMPLES is located here:
|
||||
# http://docs.platformio.org/en/latest/projectconf.html
|
||||
#
|
||||
|
||||
# A sign `#` at the beginning of the line indicates a comment
|
||||
# Comment lines are ignored.
|
||||
|
||||
# Simple and base environment
|
||||
# [env:mybaseenv]
|
||||
# platform = %INSTALLED_PLATFORM_NAME_HERE%
|
||||
# framework =
|
||||
# board =
|
||||
#
|
||||
# Automatic targets - enable auto-uploading
|
||||
# targets = upload
|
||||
|
||||
[env:uno]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
board = uno
|
||||
|
||||
[env:leonardo]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
board = leonardo
|
||||
|
||||
[env:flora8]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
board = flora8
|
||||
build_flags = -D LED_BUILTIN=1
|
||||
|
||||
[env:protrinket5]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
board = protrinket5
|
||||
|
||||
[env:panStampAVR]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
board = panStampAVR
|
||||
build_flags = -D LED_BUILTIN=13
|
25
examples/atmelavr-and-arduino/arduino-blink/src/Blink.cpp
Normal file
25
examples/atmelavr-and-arduino/arduino-blink/src/Blink.cpp
Normal file
@ -0,0 +1,25 @@
|
||||
/*
|
||||
* 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);
|
||||
}
|
@ -1 +1,3 @@
|
||||
.pioenvs
|
||||
.pioenvs
|
||||
.clang_complete
|
||||
.gcc-flags.json
|
||||
|
@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||
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
|
||||
@ -13,17 +13,20 @@ How to build PlatformIO based project
|
||||
=====================================
|
||||
|
||||
1. `Install PlatformIO <http://docs.platformio.org/en/latest/installation.html>`_
|
||||
2. Download `source code with examples <https://github.com/platformio/platformio/archive/develop.zip>`_
|
||||
2. Download `source code with examples <https://github.com/platformio/platformio-examples/archive/develop.zip>`_
|
||||
3. Extract ZIP archive
|
||||
4. Run these commands:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Change directory to example
|
||||
> cd platformio-develop/examples/atmelavr-and-arduino/arduino-external-libs
|
||||
> cd platformio-examples/atmelavr-and-arduino/arduino-external-libs
|
||||
|
||||
# Process example project
|
||||
# Build project
|
||||
> platformio run
|
||||
|
||||
# Upload firmware
|
||||
> platformio run --target upload
|
||||
|
||||
# Clean build files
|
||||
> platformio run --target clean
|
||||
|
Submodule examples/atmelavr-and-arduino/arduino-external-libs/lib/Adafruit-GFX-Library updated: 6d40eb3423...334e815bc1
@ -17,7 +17,7 @@
|
||||
# Automatic targets - enable auto-uploading
|
||||
# targets = upload
|
||||
|
||||
[env:arduino_uno]
|
||||
[env:uno]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
board = uno
|
||||
|
@ -0,0 +1,114 @@
|
||||
#include <Arduino.h>
|
||||
#include <OneWire.h>
|
||||
|
||||
// OneWire DS18S20, DS18B20, DS1822 Temperature Example
|
||||
//
|
||||
// http://www.pjrc.com/teensy/td_libs_OneWire.html
|
||||
//
|
||||
// The DallasTemperature library can do all this work for you!
|
||||
// http://milesburton.com/Dallas_Temperature_Control_Library
|
||||
|
||||
|
||||
OneWire ds(10); // on pin 10 (a 4.7K resistor is necessary)
|
||||
|
||||
void setup(void) {
|
||||
Serial.begin(9600);
|
||||
}
|
||||
|
||||
void loop(void) {
|
||||
byte i;
|
||||
byte present = 0;
|
||||
byte type_s;
|
||||
byte data[12];
|
||||
byte addr[8];
|
||||
float celsius, fahrenheit;
|
||||
|
||||
if ( !ds.search(addr)) {
|
||||
Serial.println("No more addresses.");
|
||||
Serial.println();
|
||||
ds.reset_search();
|
||||
delay(250);
|
||||
return;
|
||||
}
|
||||
|
||||
Serial.print("ROM =");
|
||||
for( i = 0; i < 8; i++) {
|
||||
Serial.write(' ');
|
||||
Serial.print(addr[i], HEX);
|
||||
}
|
||||
|
||||
if (OneWire::crc8(addr, 7) != addr[7]) {
|
||||
Serial.println("CRC is not valid!");
|
||||
return;
|
||||
}
|
||||
Serial.println();
|
||||
|
||||
// the first ROM byte indicates which chip
|
||||
switch (addr[0]) {
|
||||
case 0x10:
|
||||
Serial.println(" Chip = DS18S20"); // or old DS1820
|
||||
type_s = 1;
|
||||
break;
|
||||
case 0x28:
|
||||
Serial.println(" Chip = DS18B20");
|
||||
type_s = 0;
|
||||
break;
|
||||
case 0x22:
|
||||
Serial.println(" Chip = DS1822");
|
||||
type_s = 0;
|
||||
break;
|
||||
default:
|
||||
Serial.println("Device is not a DS18x20 family device.");
|
||||
return;
|
||||
}
|
||||
|
||||
ds.reset();
|
||||
ds.select(addr);
|
||||
ds.write(0x44, 1); // start conversion, with parasite power on at the end
|
||||
|
||||
delay(1000); // maybe 750ms is enough, maybe not
|
||||
// we might do a ds.depower() here, but the reset will take care of it.
|
||||
|
||||
present = ds.reset();
|
||||
ds.select(addr);
|
||||
ds.write(0xBE); // Read Scratchpad
|
||||
|
||||
Serial.print(" Data = ");
|
||||
Serial.print(present, HEX);
|
||||
Serial.print(" ");
|
||||
for ( i = 0; i < 9; i++) { // we need 9 bytes
|
||||
data[i] = ds.read();
|
||||
Serial.print(data[i], HEX);
|
||||
Serial.print(" ");
|
||||
}
|
||||
Serial.print(" CRC=");
|
||||
Serial.print(OneWire::crc8(data, 8), HEX);
|
||||
Serial.println();
|
||||
|
||||
// Convert the data to actual temperature
|
||||
// because the result is a 16 bit signed integer, it should
|
||||
// be stored to an "int16_t" type, which is always 16 bits
|
||||
// even when compiled on a 32 bit processor.
|
||||
int16_t raw = (data[1] << 8) | data[0];
|
||||
if (type_s) {
|
||||
raw = raw << 3; // 9 bit resolution default
|
||||
if (data[7] == 0x10) {
|
||||
// "count remain" gives full 12 bit resolution
|
||||
raw = (raw & 0xFFF0) + 12 - data[6];
|
||||
}
|
||||
} else {
|
||||
byte cfg = (data[4] & 0x60);
|
||||
// at lower res, the low bits are undefined, so let's zero them
|
||||
if (cfg == 0x00) raw = raw & ~7; // 9 bit resolution, 93.75 ms
|
||||
else if (cfg == 0x20) raw = raw & ~3; // 10 bit res, 187.5 ms
|
||||
else if (cfg == 0x40) raw = raw & ~1; // 11 bit res, 375 ms
|
||||
//// default is 12 bit resolution, 750 ms conversion time
|
||||
}
|
||||
celsius = (float)raw / 16.0;
|
||||
fahrenheit = celsius * 1.8 + 32.0;
|
||||
Serial.print(" Temperature = ");
|
||||
Serial.print(celsius);
|
||||
Serial.print(" Celsius, ");
|
||||
Serial.print(fahrenheit);
|
||||
Serial.println(" Fahrenheit");
|
||||
}
|
@ -1,350 +0,0 @@
|
||||
/*********************************************************************
|
||||
This is an example sketch for our Monochrome Nokia 5110 LCD Displays
|
||||
|
||||
Pick one up today in the adafruit shop!
|
||||
------> http://www.adafruit.com/products/338
|
||||
|
||||
These displays use SPI to communicate, 4 or 5 pins are required to
|
||||
interface
|
||||
|
||||
Adafruit invests time and resources providing this open source code,
|
||||
please support Adafruit and open-source hardware by purchasing
|
||||
products from Adafruit!
|
||||
|
||||
Written by Limor Fried/Ladyada for Adafruit Industries.
|
||||
BSD license, check license.txt for more information
|
||||
All text above, and the splash screen must be included in any redistribution
|
||||
*********************************************************************/
|
||||
|
||||
#include <SPI.h>
|
||||
#include <Adafruit_GFX.h>
|
||||
#include <Adafruit_PCD8544.h>
|
||||
|
||||
// Software SPI (slower updates, more flexible pin options):
|
||||
// pin 7 - Serial clock out (SCLK)
|
||||
// pin 6 - Serial data out (DIN)
|
||||
// pin 5 - Data/Command select (D/C)
|
||||
// pin 4 - LCD chip select (CS)
|
||||
// pin 3 - LCD reset (RST)
|
||||
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);
|
||||
|
||||
// Hardware SPI (faster, but must use certain hardware pins):
|
||||
// SCK is LCD serial clock (SCLK) - this is pin 13 on Arduino Uno
|
||||
// MOSI is LCD DIN - this is pin 11 on an Arduino Uno
|
||||
// pin 5 - Data/Command select (D/C)
|
||||
// pin 4 - LCD chip select (CS)
|
||||
// pin 3 - LCD reset (RST)
|
||||
// Adafruit_PCD8544 display = Adafruit_PCD8544(5, 4, 3);
|
||||
// Note with hardware SPI MISO and SS pins aren't used but will still be read
|
||||
// and written to during SPI transfer. Be careful sharing these pins!
|
||||
|
||||
#define NUMFLAKES 10
|
||||
#define XPOS 0
|
||||
#define YPOS 1
|
||||
#define DELTAY 2
|
||||
|
||||
|
||||
#define LOGO16_GLCD_HEIGHT 16
|
||||
#define LOGO16_GLCD_WIDTH 16
|
||||
|
||||
static const unsigned char PROGMEM logo16_glcd_bmp[] =
|
||||
{ B00000000, B11000000,
|
||||
B00000001, B11000000,
|
||||
B00000001, B11000000,
|
||||
B00000011, B11100000,
|
||||
B11110011, B11100000,
|
||||
B11111110, B11111000,
|
||||
B01111110, B11111111,
|
||||
B00110011, B10011111,
|
||||
B00011111, B11111100,
|
||||
B00001101, B01110000,
|
||||
B00011011, B10100000,
|
||||
B00111111, B11100000,
|
||||
B00111111, B11110000,
|
||||
B01111100, B11110000,
|
||||
B01110000, B01110000,
|
||||
B00000000, B00110000 };
|
||||
|
||||
void setup() {
|
||||
Serial.begin(9600);
|
||||
|
||||
display.begin();
|
||||
// init done
|
||||
|
||||
// you can change the contrast around to adapt the display
|
||||
// for the best viewing!
|
||||
display.setContrast(50);
|
||||
|
||||
display.display(); // show splashscreen
|
||||
delay(2000);
|
||||
display.clearDisplay(); // clears the screen and buffer
|
||||
|
||||
// draw a single pixel
|
||||
display.drawPixel(10, 10, BLACK);
|
||||
display.display();
|
||||
delay(2000);
|
||||
display.clearDisplay();
|
||||
|
||||
// draw many lines
|
||||
testdrawline();
|
||||
display.display();
|
||||
delay(2000);
|
||||
display.clearDisplay();
|
||||
|
||||
// draw rectangles
|
||||
testdrawrect();
|
||||
display.display();
|
||||
delay(2000);
|
||||
display.clearDisplay();
|
||||
|
||||
// draw multiple rectangles
|
||||
testfillrect();
|
||||
display.display();
|
||||
delay(2000);
|
||||
display.clearDisplay();
|
||||
|
||||
// draw mulitple circles
|
||||
testdrawcircle();
|
||||
display.display();
|
||||
delay(2000);
|
||||
display.clearDisplay();
|
||||
|
||||
// draw a circle, 10 pixel radius
|
||||
display.fillCircle(display.width()/2, display.height()/2, 10, BLACK);
|
||||
display.display();
|
||||
delay(2000);
|
||||
display.clearDisplay();
|
||||
|
||||
testdrawroundrect();
|
||||
delay(2000);
|
||||
display.clearDisplay();
|
||||
|
||||
testfillroundrect();
|
||||
delay(2000);
|
||||
display.clearDisplay();
|
||||
|
||||
testdrawtriangle();
|
||||
delay(2000);
|
||||
display.clearDisplay();
|
||||
|
||||
testfilltriangle();
|
||||
delay(2000);
|
||||
display.clearDisplay();
|
||||
|
||||
// draw the first ~12 characters in the font
|
||||
testdrawchar();
|
||||
display.display();
|
||||
delay(2000);
|
||||
display.clearDisplay();
|
||||
|
||||
// text display tests
|
||||
display.setTextSize(1);
|
||||
display.setTextColor(BLACK);
|
||||
display.setCursor(0,0);
|
||||
display.println("Hello, world!");
|
||||
display.setTextColor(WHITE, BLACK); // 'inverted' text
|
||||
display.println(3.141592);
|
||||
display.setTextSize(2);
|
||||
display.setTextColor(BLACK);
|
||||
display.print("0x"); display.println(0xDEADBEEF, HEX);
|
||||
display.display();
|
||||
delay(2000);
|
||||
|
||||
// rotation example
|
||||
display.clearDisplay();
|
||||
display.setRotation(1); // rotate 90 degrees counter clockwise, can also use values of 2 and 3 to go further.
|
||||
display.setTextSize(1);
|
||||
display.setTextColor(BLACK);
|
||||
display.setCursor(0,0);
|
||||
display.println("Rotation");
|
||||
display.setTextSize(2);
|
||||
display.println("Example!");
|
||||
display.display();
|
||||
delay(2000);
|
||||
|
||||
// revert back to no rotation
|
||||
display.setRotation(0);
|
||||
|
||||
// miniature bitmap display
|
||||
display.clearDisplay();
|
||||
display.drawBitmap(30, 16, logo16_glcd_bmp, 16, 16, 1);
|
||||
display.display();
|
||||
|
||||
// invert the display
|
||||
display.invertDisplay(true);
|
||||
delay(1000);
|
||||
display.invertDisplay(false);
|
||||
delay(1000);
|
||||
|
||||
// draw a bitmap icon and 'animate' movement
|
||||
testdrawbitmap(logo16_glcd_bmp, LOGO16_GLCD_WIDTH, LOGO16_GLCD_HEIGHT);
|
||||
}
|
||||
|
||||
|
||||
void loop() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
void testdrawbitmap(const uint8_t *bitmap, uint8_t w, uint8_t h) {
|
||||
uint8_t icons[NUMFLAKES][3];
|
||||
srandom(666); // whatever seed
|
||||
|
||||
// initialize
|
||||
for (uint8_t f=0; f< NUMFLAKES; f++) {
|
||||
icons[f][XPOS] = random() % display.width();
|
||||
icons[f][YPOS] = 0;
|
||||
icons[f][DELTAY] = random() % 5 + 1;
|
||||
|
||||
Serial.print("x: ");
|
||||
Serial.print(icons[f][XPOS], DEC);
|
||||
Serial.print(" y: ");
|
||||
Serial.print(icons[f][YPOS], DEC);
|
||||
Serial.print(" dy: ");
|
||||
Serial.println(icons[f][DELTAY], DEC);
|
||||
}
|
||||
|
||||
while (1) {
|
||||
// draw each icon
|
||||
for (uint8_t f=0; f< NUMFLAKES; f++) {
|
||||
display.drawBitmap(icons[f][XPOS], icons[f][YPOS], logo16_glcd_bmp, w, h, BLACK);
|
||||
}
|
||||
display.display();
|
||||
delay(200);
|
||||
|
||||
// then erase it + move it
|
||||
for (uint8_t f=0; f< NUMFLAKES; f++) {
|
||||
display.drawBitmap(icons[f][XPOS], icons[f][YPOS], logo16_glcd_bmp, w, h, WHITE);
|
||||
// move it
|
||||
icons[f][YPOS] += icons[f][DELTAY];
|
||||
// if its gone, reinit
|
||||
if (icons[f][YPOS] > display.height()) {
|
||||
icons[f][XPOS] = random() % display.width();
|
||||
icons[f][YPOS] = 0;
|
||||
icons[f][DELTAY] = random() % 5 + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void testdrawchar(void) {
|
||||
display.setTextSize(1);
|
||||
display.setTextColor(BLACK);
|
||||
display.setCursor(0,0);
|
||||
|
||||
for (uint8_t i=0; i < 168; i++) {
|
||||
if (i == '\n') continue;
|
||||
display.write(i);
|
||||
//if ((i > 0) && (i % 14 == 0))
|
||||
//display.println();
|
||||
}
|
||||
display.display();
|
||||
}
|
||||
|
||||
void testdrawcircle(void) {
|
||||
for (int16_t i=0; i<display.height(); i+=2) {
|
||||
display.drawCircle(display.width()/2, display.height()/2, i, BLACK);
|
||||
display.display();
|
||||
}
|
||||
}
|
||||
|
||||
void testfillrect(void) {
|
||||
uint8_t color = 1;
|
||||
for (int16_t i=0; i<display.height()/2; i+=3) {
|
||||
// alternate colors
|
||||
display.fillRect(i, i, display.width()-i*2, display.height()-i*2, color%2);
|
||||
display.display();
|
||||
color++;
|
||||
}
|
||||
}
|
||||
|
||||
void testdrawtriangle(void) {
|
||||
for (int16_t i=0; i<min(display.width(),display.height())/2; i+=5) {
|
||||
display.drawTriangle(display.width()/2, display.height()/2-i,
|
||||
display.width()/2-i, display.height()/2+i,
|
||||
display.width()/2+i, display.height()/2+i, BLACK);
|
||||
display.display();
|
||||
}
|
||||
}
|
||||
|
||||
void testfilltriangle(void) {
|
||||
uint8_t color = BLACK;
|
||||
for (int16_t i=min(display.width(),display.height())/2; i>0; i-=5) {
|
||||
display.fillTriangle(display.width()/2, display.height()/2-i,
|
||||
display.width()/2-i, display.height()/2+i,
|
||||
display.width()/2+i, display.height()/2+i, color);
|
||||
if (color == WHITE) color = BLACK;
|
||||
else color = WHITE;
|
||||
display.display();
|
||||
}
|
||||
}
|
||||
|
||||
void testdrawroundrect(void) {
|
||||
for (int16_t i=0; i<display.height()/2-2; i+=2) {
|
||||
display.drawRoundRect(i, i, display.width()-2*i, display.height()-2*i, display.height()/4, BLACK);
|
||||
display.display();
|
||||
}
|
||||
}
|
||||
|
||||
void testfillroundrect(void) {
|
||||
uint8_t color = BLACK;
|
||||
for (int16_t i=0; i<display.height()/2-2; i+=2) {
|
||||
display.fillRoundRect(i, i, display.width()-2*i, display.height()-2*i, display.height()/4, color);
|
||||
if (color == WHITE) color = BLACK;
|
||||
else color = WHITE;
|
||||
display.display();
|
||||
}
|
||||
}
|
||||
|
||||
void testdrawrect(void) {
|
||||
for (int16_t i=0; i<display.height()/2; i+=2) {
|
||||
display.drawRect(i, i, display.width()-2*i, display.height()-2*i, BLACK);
|
||||
display.display();
|
||||
}
|
||||
}
|
||||
|
||||
void testdrawline() {
|
||||
for (int16_t i=0; i<display.width(); i+=4) {
|
||||
display.drawLine(0, 0, i, display.height()-1, BLACK);
|
||||
display.display();
|
||||
}
|
||||
for (int16_t i=0; i<display.height(); i+=4) {
|
||||
display.drawLine(0, 0, display.width()-1, i, BLACK);
|
||||
display.display();
|
||||
}
|
||||
delay(250);
|
||||
|
||||
display.clearDisplay();
|
||||
for (int16_t i=0; i<display.width(); i+=4) {
|
||||
display.drawLine(0, display.height()-1, i, 0, BLACK);
|
||||
display.display();
|
||||
}
|
||||
for (int8_t i=display.height()-1; i>=0; i-=4) {
|
||||
display.drawLine(0, display.height()-1, display.width()-1, i, BLACK);
|
||||
display.display();
|
||||
}
|
||||
delay(250);
|
||||
|
||||
display.clearDisplay();
|
||||
for (int16_t i=display.width()-1; i>=0; i-=4) {
|
||||
display.drawLine(display.width()-1, display.height()-1, i, 0, BLACK);
|
||||
display.display();
|
||||
}
|
||||
for (int16_t i=display.height()-1; i>=0; i-=4) {
|
||||
display.drawLine(display.width()-1, display.height()-1, 0, i, BLACK);
|
||||
display.display();
|
||||
}
|
||||
delay(250);
|
||||
|
||||
display.clearDisplay();
|
||||
for (int16_t i=0; i<display.height(); i+=4) {
|
||||
display.drawLine(display.width()-1, 0, 0, i, BLACK);
|
||||
display.display();
|
||||
}
|
||||
for (int16_t i=0; i<display.width(); i+=4) {
|
||||
display.drawLine(display.width()-1, 0, i, display.height()-1, BLACK);
|
||||
display.display();
|
||||
}
|
||||
delay(250);
|
||||
}
|
@ -1 +1,3 @@
|
||||
.pioenvs
|
||||
.pioenvs
|
||||
.clang_complete
|
||||
.gcc-flags.json
|
||||
|
@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||
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
|
||||
@ -13,17 +13,26 @@ How to build PlatformIO based project
|
||||
=====================================
|
||||
|
||||
1. `Install PlatformIO <http://docs.platformio.org/en/latest/installation.html>`_
|
||||
2. Download `source code with examples <https://github.com/platformio/platformio/archive/develop.zip>`_
|
||||
2. Download `source code with examples <https://github.com/platformio/platformio-examples/archive/develop.zip>`_
|
||||
3. Extract ZIP archive
|
||||
4. Run these commands:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Change directory to example
|
||||
> cd platformio-develop/examples/atmelavr-and-arduino/arduino-internal-libs
|
||||
> cd platformio-examples/atmelavr-and-arduino/arduino-internal-libs
|
||||
|
||||
# Process example project
|
||||
# Build project
|
||||
> platformio run
|
||||
|
||||
# Upload firmware
|
||||
> platformio run --target upload
|
||||
|
||||
# Build specific environment
|
||||
> platformio run -e uno
|
||||
|
||||
# Upload firmware for the specific environment
|
||||
> platformio run -e uno --target upload
|
||||
|
||||
# Clean build files
|
||||
> platformio run --target clean
|
||||
|
@ -17,47 +17,42 @@
|
||||
# Automatic targets - enable auto-uploading
|
||||
# targets = upload
|
||||
|
||||
[env:arduino_uno]
|
||||
[env:uno]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
board = uno
|
||||
|
||||
[env:arduino_ethernet]
|
||||
[env:ethernet]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
board = ethernet
|
||||
|
||||
[env:arduino_leonardo]
|
||||
[env:leonardo]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
board = leonardo
|
||||
|
||||
[env:arduino_pro16MHzatmega328]
|
||||
[env:pro16MHzatmega328]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
board = pro16MHzatmega328
|
||||
|
||||
[env:arduino_megaatmega1280]
|
||||
[env:megaatmega1280]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
board = megaatmega1280
|
||||
|
||||
[env:arduino_micro]
|
||||
[env:micro]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
board = micro
|
||||
|
||||
[env:arduino_robotControl]
|
||||
[env:robotControl]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
board = robotControl
|
||||
|
||||
[env:arduino_yun]
|
||||
[env:yun]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
board = yun
|
||||
|
||||
[env:arduino_due]
|
||||
platform = atmelsam
|
||||
framework = arduino
|
||||
board = due
|
||||
|
@ -17,6 +17,7 @@
|
||||
|
||||
*/
|
||||
|
||||
#include <Arduino.h>
|
||||
#include <SPI.h>
|
||||
#include <Ethernet.h>
|
||||
|
||||
|
@ -1 +1,3 @@
|
||||
.pioenvs
|
||||
.pioenvs
|
||||
.clang_complete
|
||||
.gcc-flags.json
|
||||
|
@ -1,7 +1,4 @@
|
||||
/**
|
||||
* Copyright (C) Ivan Kravets <me@ikravets.com>
|
||||
* See LICENSE for details.
|
||||
*/
|
||||
#include <Arduino.h>
|
||||
|
||||
#ifndef LED_PIN
|
||||
#define LED_PIN 13 // Most Arduino boards already have a LED attached to pin 13 on the board itself
|
||||
|
@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||
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
|
||||
@ -13,17 +13,20 @@ How to build PlatformIO based project
|
||||
=====================================
|
||||
|
||||
1. `Install PlatformIO <http://docs.platformio.org/en/latest/installation.html>`_
|
||||
2. Download `source code with examples <https://github.com/platformio/platformio/archive/develop.zip>`_
|
||||
2. Download `source code with examples <https://github.com/platformio/platformio-examples/archive/develop.zip>`_
|
||||
3. Extract ZIP archive
|
||||
4. Run these commands:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Change directory to example
|
||||
> cd platformio-develop/examples/arduino-own-src_dir
|
||||
> cd platformio-examples/arduino-own-src_dir
|
||||
|
||||
# Process example project
|
||||
# Build project
|
||||
> platformio run
|
||||
|
||||
# Upload firmware
|
||||
> platformio run --target upload
|
||||
|
||||
# Clean build files
|
||||
> platformio run --target clean
|
||||
|
@ -20,7 +20,7 @@
|
||||
[platformio]
|
||||
src_dir = Blink
|
||||
|
||||
[env:arduino_uno]
|
||||
[env:uno]
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
board = uno
|
||||
|
3
examples/atmelavr-and-arduino/atmelavr-native-blink/.gitignore
vendored
Normal file
3
examples/atmelavr-and-arduino/atmelavr-native-blink/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
.pioenvs
|
||||
.clang_complete
|
||||
.gcc-flags.json
|
@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||
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
|
||||
@ -13,17 +13,20 @@ How to build PlatformIO based project
|
||||
=====================================
|
||||
|
||||
1. `Install PlatformIO <http://docs.platformio.org/en/latest/installation.html>`_
|
||||
2. Download `source code with examples <https://github.com/platformio/platformio/archive/develop.zip>`_
|
||||
2. Download `source code with examples <https://github.com/platformio/platformio-examples/archive/develop.zip>`_
|
||||
3. Extract ZIP archive
|
||||
4. Run these commands:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Change directory to example
|
||||
> cd platformio-develop/examples/atmelavr-and-arduino/atmelavr-native-blink
|
||||
> cd platformio-examples/atmelavr-and-arduino/atmelavr-native-blink
|
||||
|
||||
# Process example project
|
||||
# Build project
|
||||
> platformio run
|
||||
|
||||
# Upload firmware
|
||||
> platformio run --target upload
|
||||
|
||||
# Clean build files
|
||||
> platformio run --target clean
|
||||
|
@ -1 +1,3 @@
|
||||
.pioenvs
|
||||
.pioenvs
|
||||
.clang_complete
|
||||
.gcc-flags.json
|
||||
|
@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||
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
|
||||
@ -13,17 +13,26 @@ How to build PlatformIO based project
|
||||
=====================================
|
||||
|
||||
1. `Install PlatformIO <http://docs.platformio.org/en/latest/installation.html>`_
|
||||
2. Download `source code with examples <https://github.com/platformio/platformio/archive/develop.zip>`_
|
||||
2. Download `source code with examples <https://github.com/platformio/platformio-examples/archive/develop.zip>`_
|
||||
3. Extract ZIP archive
|
||||
4. Run these commands:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Change directory to example
|
||||
> cd platformio-develop/examples/atmelavr-and-arduino/digitstump-mouse
|
||||
> cd platformio-examples/atmelavr-and-arduino/digitstump-mouse
|
||||
|
||||
# Process example project
|
||||
# Build project
|
||||
> platformio run
|
||||
|
||||
# Upload firmware
|
||||
> platformio run --target upload
|
||||
|
||||
# Build specific environment
|
||||
> platformio run -e digispark-tiny
|
||||
|
||||
# Upload firmware for the specific environment
|
||||
> platformio run -e digispark-tiny --target upload
|
||||
|
||||
# Clean build files
|
||||
> platformio run --target clean
|
||||
|
@ -2,6 +2,7 @@
|
||||
// CAUTION!!!! This does click things!!!!!!!!
|
||||
// Originally created by Sean Murphy (duckythescientist)
|
||||
|
||||
#include <Arduino.h>
|
||||
#include <DigiMouse.h>
|
||||
|
||||
void setup() {
|
||||
@ -11,7 +12,7 @@ void setup() {
|
||||
void loop() {
|
||||
// If not using plentiful DigiMouse.delay(), make sure to call
|
||||
// DigiMouse.update() at least every 50ms
|
||||
|
||||
|
||||
// move across the screen
|
||||
// these are signed chars
|
||||
DigiMouse.moveY(10); //down 10
|
||||
@ -20,9 +21,9 @@ void loop() {
|
||||
DigiMouse.delay(500);
|
||||
DigiMouse.scroll(5);
|
||||
DigiMouse.delay(500);
|
||||
|
||||
|
||||
// or DigiMouse.move(X, Y, scroll) works
|
||||
|
||||
|
||||
// three buttons are the three LSBs of an unsigned char
|
||||
DigiMouse.setButtons(1<<0); //left click
|
||||
DigiMouse.delay(500);
|
||||
|
@ -1 +1,3 @@
|
||||
.pioenvs
|
||||
.pioenvs
|
||||
.clang_complete
|
||||
.gcc-flags.json
|
||||
|
@ -1,4 +1,4 @@
|
||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
||||
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||
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
|
||||
@ -13,16 +13,16 @@ How to build PlatformIO based project
|
||||
=====================================
|
||||
|
||||
1. `Install PlatformIO <http://docs.platformio.org/en/latest/installation.html>`_
|
||||
2. Download `source code with examples <https://github.com/platformio/platformio/archive/develop.zip>`_
|
||||
2. Download `source code with examples <https://github.com/platformio/platformio-examples/archive/develop.zip>`_
|
||||
3. Extract ZIP archive
|
||||
4. Run these commands:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Change directory to example
|
||||
> cd platformio-develop/examples/atmelavr-and-arduino/engduino-magnetometer
|
||||
> cd platformio-examples/atmelavr-and-arduino/engduino-magnetometer
|
||||
|
||||
# Process example project
|
||||
# Build project
|
||||
> platformio run
|
||||
|
||||
# Upload firmware
|
||||
|
@ -1,3 +1,4 @@
|
||||
#include <Arduino.h>
|
||||
#include <EngduinoMagnetometer.h>
|
||||
#include <Wire.h>
|
||||
|
||||
@ -7,12 +8,12 @@
|
||||
//
|
||||
|
||||
void setup()
|
||||
{
|
||||
{
|
||||
EngduinoMagnetometer.begin();
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
{
|
||||
float magneticField[3];
|
||||
|
||||
// Read magnetic field strength. The values range from -20000
|
||||
@ -20,7 +21,7 @@ void loop()
|
||||
// values
|
||||
//
|
||||
EngduinoMagnetometer.xyz(magneticField);
|
||||
|
||||
|
||||
float x = magneticField[0];
|
||||
float y = magneticField[1];
|
||||
float z = magneticField[2];
|
||||
@ -31,7 +32,7 @@ void loop()
|
||||
Serial.print(" counts z = ");
|
||||
Serial.print(z);
|
||||
Serial.println(" counts");
|
||||
|
||||
|
||||
// Note that this is an uncalibrated temperature
|
||||
// of the die itself. Whilst it should be a value
|
||||
// in degrees C, the lack of calibration could mean
|
||||
@ -39,6 +40,6 @@ void loop()
|
||||
int8_t t = EngduinoMagnetometer.temperature();
|
||||
Serial.print("Temperature: ");
|
||||
Serial.println(t);
|
||||
|
||||
|
||||
delay(1000);
|
||||
}
|
@ -1 +0,0 @@
|
||||
.pioenvs
|
3
examples/atmelsam-and-arduino/arduino-external-libs/.gitignore
vendored
Normal file
3
examples/atmelsam-and-arduino/arduino-external-libs/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
.pioenvs
|
||||
.clang_complete
|
||||
.gcc-flags.json
|
@ -0,0 +1,38 @@
|
||||
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||
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.
|
||||
|
||||
How to build PlatformIO based project
|
||||
=====================================
|
||||
|
||||
1. `Install PlatformIO <http://docs.platformio.org/en/latest/installation.html>`_
|
||||
2. Download `source code with examples <https://github.com/platformio/platformio-examples/archive/develop.zip>`_
|
||||
3. Extract ZIP archive
|
||||
4. Run these commands:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Change directory to example
|
||||
> cd platformio-examples/atmelsam-and-arduino/arduino-external-libs
|
||||
|
||||
# Build project
|
||||
> platformio run
|
||||
|
||||
# Upload firmware
|
||||
> platformio run --target upload
|
||||
|
||||
# Build specific environment
|
||||
> platformio run -e due
|
||||
|
||||
# Upload firmware for the specific environment
|
||||
> platformio run -e due --target upload
|
||||
|
||||
# Clean build files
|
||||
> platformio run --target clean
|
@ -0,0 +1,387 @@
|
||||
/*
|
||||
SFE_BMP180.cpp
|
||||
Bosch BMP180 pressure sensor library for the Arduino microcontroller
|
||||
Mike Grusin, SparkFun Electronics
|
||||
|
||||
Uses floating-point equations from the Weather Station Data Logger project
|
||||
http://wmrx00.sourceforge.net/
|
||||
http://wmrx00.sourceforge.net/Arduino/BMP085-Calcs.pdf
|
||||
|
||||
Forked from BMP085 library by M.Grusin
|
||||
|
||||
version 1.0 2013/09/20 initial version
|
||||
|
||||
Our example code uses the "beerware" license. You can do anything
|
||||
you like with this code. No really, anything. If you find it useful,
|
||||
buy me a (root) beer someday.
|
||||
*/
|
||||
|
||||
#include <SFE_BMP180.h>
|
||||
#include <Wire.h>
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
|
||||
|
||||
SFE_BMP180::SFE_BMP180()
|
||||
// Base library type
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
char SFE_BMP180::begin()
|
||||
// Initialize library for subsequent pressure measurements
|
||||
{
|
||||
double c3,c4,b1;
|
||||
|
||||
// Start up the Arduino's "wire" (I2C) library:
|
||||
|
||||
Wire.begin();
|
||||
|
||||
// The BMP180 includes factory calibration data stored on the device.
|
||||
// Each device has different numbers, these must be retrieved and
|
||||
// used in the calculations when taking pressure measurements.
|
||||
|
||||
// Retrieve calibration data from device:
|
||||
|
||||
if (readInt(0xAA,AC1) &&
|
||||
readInt(0xAC,AC2) &&
|
||||
readInt(0xAE,AC3) &&
|
||||
readUInt(0xB0,AC4) &&
|
||||
readUInt(0xB2,AC5) &&
|
||||
readUInt(0xB4,AC6) &&
|
||||
readInt(0xB6,VB1) &&
|
||||
readInt(0xB8,VB2) &&
|
||||
readInt(0xBA,MB) &&
|
||||
readInt(0xBC,MC) &&
|
||||
readInt(0xBE,MD))
|
||||
{
|
||||
|
||||
// All reads completed successfully!
|
||||
|
||||
// If you need to check your math using known numbers,
|
||||
// you can uncomment one of these examples.
|
||||
// (The correct results are commented in the below functions.)
|
||||
|
||||
// Example from Bosch datasheet
|
||||
// AC1 = 408; AC2 = -72; AC3 = -14383; AC4 = 32741; AC5 = 32757; AC6 = 23153;
|
||||
// B1 = 6190; B2 = 4; MB = -32768; MC = -8711; MD = 2868;
|
||||
|
||||
// Example from http://wmrx00.sourceforge.net/Arduino/BMP180-Calcs.pdf
|
||||
// AC1 = 7911; AC2 = -934; AC3 = -14306; AC4 = 31567; AC5 = 25671; AC6 = 18974;
|
||||
// VB1 = 5498; VB2 = 46; MB = -32768; MC = -11075; MD = 2432;
|
||||
|
||||
/*
|
||||
Serial.print("AC1: "); Serial.println(AC1);
|
||||
Serial.print("AC2: "); Serial.println(AC2);
|
||||
Serial.print("AC3: "); Serial.println(AC3);
|
||||
Serial.print("AC4: "); Serial.println(AC4);
|
||||
Serial.print("AC5: "); Serial.println(AC5);
|
||||
Serial.print("AC6: "); Serial.println(AC6);
|
||||
Serial.print("VB1: "); Serial.println(VB1);
|
||||
Serial.print("VB2: "); Serial.println(VB2);
|
||||
Serial.print("MB: "); Serial.println(MB);
|
||||
Serial.print("MC: "); Serial.println(MC);
|
||||
Serial.print("MD: "); Serial.println(MD);
|
||||
*/
|
||||
|
||||
// Compute floating-point polynominals:
|
||||
|
||||
c3 = 160.0 * pow(2,-15) * AC3;
|
||||
c4 = pow(10,-3) * pow(2,-15) * AC4;
|
||||
b1 = pow(160,2) * pow(2,-30) * VB1;
|
||||
c5 = (pow(2,-15) / 160) * AC5;
|
||||
c6 = AC6;
|
||||
mc = (pow(2,11) / pow(160,2)) * MC;
|
||||
md = MD / 160.0;
|
||||
x0 = AC1;
|
||||
x1 = 160.0 * pow(2,-13) * AC2;
|
||||
x2 = pow(160,2) * pow(2,-25) * VB2;
|
||||
y0 = c4 * pow(2,15);
|
||||
y1 = c4 * c3;
|
||||
y2 = c4 * b1;
|
||||
p0 = (3791.0 - 8.0) / 1600.0;
|
||||
p1 = 1.0 - 7357.0 * pow(2,-20);
|
||||
p2 = 3038.0 * 100.0 * pow(2,-36);
|
||||
|
||||
/*
|
||||
Serial.println();
|
||||
Serial.print("c3: "); Serial.println(c3);
|
||||
Serial.print("c4: "); Serial.println(c4);
|
||||
Serial.print("c5: "); Serial.println(c5);
|
||||
Serial.print("c6: "); Serial.println(c6);
|
||||
Serial.print("b1: "); Serial.println(b1);
|
||||
Serial.print("mc: "); Serial.println(mc);
|
||||
Serial.print("md: "); Serial.println(md);
|
||||
Serial.print("x0: "); Serial.println(x0);
|
||||
Serial.print("x1: "); Serial.println(x1);
|
||||
Serial.print("x2: "); Serial.println(x2);
|
||||
Serial.print("y0: "); Serial.println(y0);
|
||||
Serial.print("y1: "); Serial.println(y1);
|
||||
Serial.print("y2: "); Serial.println(y2);
|
||||
Serial.print("p0: "); Serial.println(p0);
|
||||
Serial.print("p1: "); Serial.println(p1);
|
||||
Serial.print("p2: "); Serial.println(p2);
|
||||
*/
|
||||
|
||||
// Success!
|
||||
return(1);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Error reading calibration data; bad component or connection?
|
||||
return(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
char SFE_BMP180::readInt(char address, int &value)
|
||||
// Read a signed integer (two bytes) from device
|
||||
// address: register to start reading (plus subsequent register)
|
||||
// value: external variable to store data (function modifies value)
|
||||
{
|
||||
unsigned char data[2];
|
||||
|
||||
data[0] = address;
|
||||
if (readBytes(data,2))
|
||||
{
|
||||
value = (((int)data[0]<<8)|(int)data[1]);
|
||||
//if (*value & 0x8000) *value |= 0xFFFF0000; // sign extend if negative
|
||||
return(1);
|
||||
}
|
||||
value = 0;
|
||||
return(0);
|
||||
}
|
||||
|
||||
|
||||
char SFE_BMP180::readUInt(char address, unsigned int &value)
|
||||
// Read an unsigned integer (two bytes) from device
|
||||
// address: register to start reading (plus subsequent register)
|
||||
// value: external variable to store data (function modifies value)
|
||||
{
|
||||
unsigned char data[2];
|
||||
|
||||
data[0] = address;
|
||||
if (readBytes(data,2))
|
||||
{
|
||||
value = (((unsigned int)data[0]<<8)|(unsigned int)data[1]);
|
||||
return(1);
|
||||
}
|
||||
value = 0;
|
||||
return(0);
|
||||
}
|
||||
|
||||
|
||||
char SFE_BMP180::readBytes(unsigned char *values, char length)
|
||||
// Read an array of bytes from device
|
||||
// values: external array to hold data. Put starting register in values[0].
|
||||
// length: number of bytes to read
|
||||
{
|
||||
char x;
|
||||
|
||||
Wire.beginTransmission(BMP180_ADDR);
|
||||
Wire.write(values[0]);
|
||||
_error = Wire.endTransmission();
|
||||
if (_error == 0)
|
||||
{
|
||||
Wire.requestFrom(BMP180_ADDR,length);
|
||||
while(Wire.available() != length) ; // wait until bytes are ready
|
||||
for(x=0;x<length;x++)
|
||||
{
|
||||
values[x] = Wire.read();
|
||||
}
|
||||
return(1);
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
|
||||
|
||||
char SFE_BMP180::writeBytes(unsigned char *values, char length)
|
||||
// Write an array of bytes to device
|
||||
// values: external array of data to write. Put starting register in values[0].
|
||||
// length: number of bytes to write
|
||||
{
|
||||
char x;
|
||||
|
||||
Wire.beginTransmission(BMP180_ADDR);
|
||||
Wire.write(values,length);
|
||||
_error = Wire.endTransmission();
|
||||
if (_error == 0)
|
||||
return(1);
|
||||
else
|
||||
return(0);
|
||||
}
|
||||
|
||||
|
||||
char SFE_BMP180::startTemperature(void)
|
||||
// Begin a temperature reading.
|
||||
// Will return delay in ms to wait, or 0 if I2C error
|
||||
{
|
||||
unsigned char data[2], result;
|
||||
|
||||
data[0] = BMP180_REG_CONTROL;
|
||||
data[1] = BMP180_COMMAND_TEMPERATURE;
|
||||
result = writeBytes(data, 2);
|
||||
if (result) // good write?
|
||||
return(5); // return the delay in ms (rounded up) to wait before retrieving data
|
||||
else
|
||||
return(0); // or return 0 if there was a problem communicating with the BMP
|
||||
}
|
||||
|
||||
|
||||
char SFE_BMP180::getTemperature(double &T)
|
||||
// Retrieve a previously-started temperature reading.
|
||||
// Requires begin() to be called once prior to retrieve calibration parameters.
|
||||
// Requires startTemperature() to have been called prior and sufficient time elapsed.
|
||||
// T: external variable to hold result.
|
||||
// Returns 1 if successful, 0 if I2C error.
|
||||
{
|
||||
unsigned char data[2];
|
||||
char result;
|
||||
double tu, a;
|
||||
|
||||
data[0] = BMP180_REG_RESULT;
|
||||
|
||||
result = readBytes(data, 2);
|
||||
if (result) // good read, calculate temperature
|
||||
{
|
||||
tu = (data[0] * 256.0) + data[1];
|
||||
|
||||
//example from Bosch datasheet
|
||||
//tu = 27898;
|
||||
|
||||
//example from http://wmrx00.sourceforge.net/Arduino/BMP085-Calcs.pdf
|
||||
//tu = 0x69EC;
|
||||
|
||||
a = c5 * (tu - c6);
|
||||
T = a + (mc / (a + md));
|
||||
|
||||
/*
|
||||
Serial.println();
|
||||
Serial.print("tu: "); Serial.println(tu);
|
||||
Serial.print("a: "); Serial.println(a);
|
||||
Serial.print("T: "); Serial.println(*T);
|
||||
*/
|
||||
}
|
||||
return(result);
|
||||
}
|
||||
|
||||
|
||||
char SFE_BMP180::startPressure(char oversampling)
|
||||
// Begin a pressure reading.
|
||||
// Oversampling: 0 to 3, higher numbers are slower, higher-res outputs.
|
||||
// Will return delay in ms to wait, or 0 if I2C error.
|
||||
{
|
||||
unsigned char data[2], result, delay;
|
||||
|
||||
data[0] = BMP180_REG_CONTROL;
|
||||
|
||||
switch (oversampling)
|
||||
{
|
||||
case 0:
|
||||
data[1] = BMP180_COMMAND_PRESSURE0;
|
||||
delay = 5;
|
||||
break;
|
||||
case 1:
|
||||
data[1] = BMP180_COMMAND_PRESSURE1;
|
||||
delay = 8;
|
||||
break;
|
||||
case 2:
|
||||
data[1] = BMP180_COMMAND_PRESSURE2;
|
||||
delay = 14;
|
||||
break;
|
||||
case 3:
|
||||
data[1] = BMP180_COMMAND_PRESSURE3;
|
||||
delay = 26;
|
||||
break;
|
||||
default:
|
||||
data[1] = BMP180_COMMAND_PRESSURE0;
|
||||
delay = 5;
|
||||
break;
|
||||
}
|
||||
result = writeBytes(data, 2);
|
||||
if (result) // good write?
|
||||
return(delay); // return the delay in ms (rounded up) to wait before retrieving data
|
||||
else
|
||||
return(0); // or return 0 if there was a problem communicating with the BMP
|
||||
}
|
||||
|
||||
|
||||
char SFE_BMP180::getPressure(double &P, double &T)
|
||||
// Retrieve a previously started pressure reading, calculate abolute pressure in mbars.
|
||||
// Requires begin() to be called once prior to retrieve calibration parameters.
|
||||
// Requires startPressure() to have been called prior and sufficient time elapsed.
|
||||
// Requires recent temperature reading to accurately calculate pressure.
|
||||
|
||||
// P: external variable to hold pressure.
|
||||
// T: previously-calculated temperature.
|
||||
// Returns 1 for success, 0 for I2C error.
|
||||
|
||||
// Note that calculated pressure value is absolute mbars, to compensate for altitude call sealevel().
|
||||
{
|
||||
unsigned char data[3];
|
||||
char result;
|
||||
double pu,s,x,y,z;
|
||||
|
||||
data[0] = BMP180_REG_RESULT;
|
||||
|
||||
result = readBytes(data, 3);
|
||||
if (result) // good read, calculate pressure
|
||||
{
|
||||
pu = (data[0] * 256.0) + data[1] + (data[2]/256.0);
|
||||
|
||||
//example from Bosch datasheet
|
||||
//pu = 23843;
|
||||
|
||||
//example from http://wmrx00.sourceforge.net/Arduino/BMP085-Calcs.pdf, pu = 0x982FC0;
|
||||
//pu = (0x98 * 256.0) + 0x2F + (0xC0/256.0);
|
||||
|
||||
s = T - 25.0;
|
||||
x = (x2 * pow(s,2)) + (x1 * s) + x0;
|
||||
y = (y2 * pow(s,2)) + (y1 * s) + y0;
|
||||
z = (pu - x) / y;
|
||||
P = (p2 * pow(z,2)) + (p1 * z) + p0;
|
||||
|
||||
/*
|
||||
Serial.println();
|
||||
Serial.print("pu: "); Serial.println(pu);
|
||||
Serial.print("T: "); Serial.println(*T);
|
||||
Serial.print("s: "); Serial.println(s);
|
||||
Serial.print("x: "); Serial.println(x);
|
||||
Serial.print("y: "); Serial.println(y);
|
||||
Serial.print("z: "); Serial.println(z);
|
||||
Serial.print("P: "); Serial.println(*P);
|
||||
*/
|
||||
}
|
||||
return(result);
|
||||
}
|
||||
|
||||
|
||||
double SFE_BMP180::sealevel(double P, double A)
|
||||
// Given a pressure P (mb) taken at a specific altitude (meters),
|
||||
// return the equivalent pressure (mb) at sea level.
|
||||
// This produces pressure readings that can be used for weather measurements.
|
||||
{
|
||||
return(P/pow(1-(A/44330.0),5.255));
|
||||
}
|
||||
|
||||
|
||||
double SFE_BMP180::altitude(double P, double P0)
|
||||
// Given a pressure measurement P (mb) and the pressure at a baseline P0 (mb),
|
||||
// return altitude (meters) above baseline.
|
||||
{
|
||||
return(44330.0*(1-pow(P/P0,1/5.255)));
|
||||
}
|
||||
|
||||
|
||||
char SFE_BMP180::getError(void)
|
||||
// If any library command fails, you can retrieve an extended
|
||||
// error code using this command. Errors are from the wire library:
|
||||
// 0 = Success
|
||||
// 1 = Data too long to fit in transmit buffer
|
||||
// 2 = Received NACK on transmit of address
|
||||
// 3 = Received NACK on transmit of data
|
||||
// 4 = Other error
|
||||
{
|
||||
return(_error);
|
||||
}
|
||||
|
@ -0,0 +1,121 @@
|
||||
/*
|
||||
SFE_BMP180.h
|
||||
Bosch BMP180 pressure sensor library for the Arduino microcontroller
|
||||
Mike Grusin, SparkFun Electronics
|
||||
|
||||
Uses floating-point equations from the Weather Station Data Logger project
|
||||
http://wmrx00.sourceforge.net/
|
||||
http://wmrx00.sourceforge.net/Arduino/BMP085-Calcs.pdf
|
||||
|
||||
Forked from BMP085 library by M.Grusin
|
||||
|
||||
version 1.0 2013/09/20 initial version
|
||||
|
||||
Our example code uses the "beerware" license. You can do anything
|
||||
you like with this code. No really, anything. If you find it useful,
|
||||
buy me a (root) beer someday.
|
||||
*/
|
||||
|
||||
#ifndef SFE_BMP180_h
|
||||
#define SFE_BMP180_h
|
||||
|
||||
#if defined(ARDUINO) && ARDUINO >= 100
|
||||
#include "Arduino.h"
|
||||
#else
|
||||
#include "WProgram.h"
|
||||
#endif
|
||||
|
||||
class SFE_BMP180
|
||||
{
|
||||
public:
|
||||
SFE_BMP180(); // base type
|
||||
|
||||
char begin();
|
||||
// call pressure.begin() to initialize BMP180 before use
|
||||
// returns 1 if success, 0 if failure (bad component or I2C bus shorted?)
|
||||
|
||||
char startTemperature(void);
|
||||
// command BMP180 to start a temperature measurement
|
||||
// returns (number of ms to wait) for success, 0 for fail
|
||||
|
||||
char getTemperature(double &T);
|
||||
// return temperature measurement from previous startTemperature command
|
||||
// places returned value in T variable (deg C)
|
||||
// returns 1 for success, 0 for fail
|
||||
|
||||
char startPressure(char oversampling);
|
||||
// command BMP180 to start a pressure measurement
|
||||
// oversampling: 0 - 3 for oversampling value
|
||||
// returns (number of ms to wait) for success, 0 for fail
|
||||
|
||||
char getPressure(double &P, double &T);
|
||||
// return absolute pressure measurement from previous startPressure command
|
||||
// note: requires previous temperature measurement in variable T
|
||||
// places returned value in P variable (mbar)
|
||||
// returns 1 for success, 0 for fail
|
||||
|
||||
double sealevel(double P, double A);
|
||||
// convert absolute pressure to sea-level pressure (as used in weather data)
|
||||
// P: absolute pressure (mbar)
|
||||
// A: current altitude (meters)
|
||||
// returns sealevel pressure in mbar
|
||||
|
||||
double altitude(double P, double P0);
|
||||
// convert absolute pressure to altitude (given baseline pressure; sea-level, runway, etc.)
|
||||
// P: absolute pressure (mbar)
|
||||
// P0: fixed baseline pressure (mbar)
|
||||
// returns signed altitude in meters
|
||||
|
||||
char getError(void);
|
||||
// If any library command fails, you can retrieve an extended
|
||||
// error code using this command. Errors are from the wire library:
|
||||
// 0 = Success
|
||||
// 1 = Data too long to fit in transmit buffer
|
||||
// 2 = Received NACK on transmit of address
|
||||
// 3 = Received NACK on transmit of data
|
||||
// 4 = Other error
|
||||
|
||||
private:
|
||||
|
||||
char readInt(char address, int &value);
|
||||
// read an signed int (16 bits) from a BMP180 register
|
||||
// address: BMP180 register address
|
||||
// value: external signed int for returned value (16 bits)
|
||||
// returns 1 for success, 0 for fail, with result in value
|
||||
|
||||
char readUInt(char address, unsigned int &value);
|
||||
// read an unsigned int (16 bits) from a BMP180 register
|
||||
// address: BMP180 register address
|
||||
// value: external unsigned int for returned value (16 bits)
|
||||
// returns 1 for success, 0 for fail, with result in value
|
||||
|
||||
char readBytes(unsigned char *values, char length);
|
||||
// read a number of bytes from a BMP180 register
|
||||
// values: array of char with register address in first location [0]
|
||||
// length: number of bytes to read back
|
||||
// returns 1 for success, 0 for fail, with read bytes in values[] array
|
||||
|
||||
char writeBytes(unsigned char *values, char length);
|
||||
// write a number of bytes to a BMP180 register (and consecutive subsequent registers)
|
||||
// values: array of char with register address in first location [0]
|
||||
// length: number of bytes to write
|
||||
// returns 1 for success, 0 for fail
|
||||
|
||||
int AC1,AC2,AC3,VB1,VB2,MB,MC,MD;
|
||||
unsigned int AC4,AC5,AC6;
|
||||
double c5,c6,mc,md,x0,x1,x2,y0,y1,y2,p0,p1,p2;
|
||||
char _error;
|
||||
};
|
||||
|
||||
#define BMP180_ADDR 0x77 // 7-bit address
|
||||
|
||||
#define BMP180_REG_CONTROL 0xF4
|
||||
#define BMP180_REG_RESULT 0xF6
|
||||
|
||||
#define BMP180_COMMAND_TEMPERATURE 0x2E
|
||||
#define BMP180_COMMAND_PRESSURE0 0x34
|
||||
#define BMP180_COMMAND_PRESSURE1 0x74
|
||||
#define BMP180_COMMAND_PRESSURE2 0xB4
|
||||
#define BMP180_COMMAND_PRESSURE3 0xF4
|
||||
|
||||
#endif
|
@ -17,17 +17,17 @@
|
||||
# Automatic targets - enable auto-uploading
|
||||
# targets = upload
|
||||
|
||||
[env:flora8]
|
||||
platform = atmelavr
|
||||
[env:due]
|
||||
platform = atmelsam
|
||||
framework = arduino
|
||||
board = flora8
|
||||
board = due
|
||||
|
||||
[env:trinket3]
|
||||
platform = atmelavr
|
||||
[env:digix]
|
||||
platform = atmelsam
|
||||
framework = arduino
|
||||
board = trinket3
|
||||
board = digix
|
||||
|
||||
[env:protrinket5]
|
||||
platform = atmelavr
|
||||
[env:zero]
|
||||
platform = atmelsam
|
||||
framework = arduino
|
||||
board = protrinket5
|
||||
board = zeroUSB
|
@ -0,0 +1,169 @@
|
||||
/* SFE_BMP180 altitude example sketch
|
||||
|
||||
This sketch shows how to use the Bosch BMP180 pressure sensor
|
||||
as an altimiter.
|
||||
https://www.sparkfun.com/products/11824
|
||||
|
||||
Like most pressure sensors, the BMP180 measures absolute pressure.
|
||||
Since absolute pressure varies with altitude, you can use the pressure
|
||||
to determine your altitude.
|
||||
|
||||
Because pressure also varies with weather, you must first take a pressure
|
||||
reading at a known baseline altitude. Then you can measure variations
|
||||
from that pressure
|
||||
|
||||
Hardware connections:
|
||||
|
||||
- (GND) to GND
|
||||
+ (VDD) to 3.3V
|
||||
|
||||
(WARNING: do not connect + to 5V or the sensor will be damaged!)
|
||||
|
||||
You will also need to connect the I2C pins (SCL and SDA) to your
|
||||
Arduino. The pins are different on different Arduinos:
|
||||
|
||||
Any Arduino pins labeled: SDA SCL
|
||||
Uno, Redboard, Pro: A4 A5
|
||||
Mega2560, Due: 20 21
|
||||
Leonardo: 2 3
|
||||
|
||||
Leave the IO (VDDIO) pin unconnected. This pin is for connecting
|
||||
the BMP180 to systems with lower logic levels such as 1.8V
|
||||
|
||||
Have fun! -Your friends at SparkFun.
|
||||
|
||||
The SFE_BMP180 library uses floating-point equations developed by the
|
||||
Weather Station Data Logger project: http://wmrx00.sourceforge.net/
|
||||
|
||||
Our example code uses the "beerware" license. You can do anything
|
||||
you like with this code. No really, anything. If you find it useful,
|
||||
buy me a beer someday.
|
||||
|
||||
V10 Mike Grusin, SparkFun Electronics 10/24/2013
|
||||
*/
|
||||
|
||||
// Your sketch must #include this library, and the Wire library.
|
||||
// (Wire is a standard library included with Arduino.):
|
||||
|
||||
#include <Arduino.h>
|
||||
#include <SFE_BMP180.h>
|
||||
#include <Wire.h>
|
||||
|
||||
// You will need to create an SFE_BMP180 object, here called "pressure":
|
||||
|
||||
SFE_BMP180 pressure;
|
||||
|
||||
double baseline; // baseline pressure
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(9600);
|
||||
Serial.println("REBOOT");
|
||||
|
||||
// Initialize the sensor (it is important to get calibration values stored on the device).
|
||||
|
||||
if (pressure.begin())
|
||||
Serial.println("BMP180 init success");
|
||||
else
|
||||
{
|
||||
// Oops, something went wrong, this is usually a connection problem,
|
||||
// see the comments at the top of this sketch for the proper connections.
|
||||
|
||||
Serial.println("BMP180 init fail (disconnected?)\n\n");
|
||||
while(1); // Pause forever.
|
||||
}
|
||||
|
||||
// Get the baseline pressure:
|
||||
|
||||
baseline = getPressure();
|
||||
|
||||
Serial.print("baseline pressure: ");
|
||||
Serial.print(baseline);
|
||||
Serial.println(" mb");
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
double a,P;
|
||||
|
||||
// Get a new pressure reading:
|
||||
|
||||
P = getPressure();
|
||||
|
||||
// Show the relative altitude difference between
|
||||
// the new reading and the baseline reading:
|
||||
|
||||
a = pressure.altitude(P,baseline);
|
||||
|
||||
Serial.print("relative altitude: ");
|
||||
if (a >= 0.0) Serial.print(" "); // add a space for positive numbers
|
||||
Serial.print(a,1);
|
||||
Serial.print(" meters, ");
|
||||
if (a >= 0.0) Serial.print(" "); // add a space for positive numbers
|
||||
Serial.print(a*3.28084,0);
|
||||
Serial.println(" feet");
|
||||
|
||||
delay(500);
|
||||
}
|
||||
|
||||
|
||||
double getPressure()
|
||||
{
|
||||
char status;
|
||||
double T,P,p0,a;
|
||||
|
||||
// You must first get a temperature measurement to perform a pressure reading.
|
||||
|
||||
// Start a temperature measurement:
|
||||
// If request is successful, the number of ms to wait is returned.
|
||||
// If request is unsuccessful, 0 is returned.
|
||||
|
||||
status = pressure.startTemperature();
|
||||
if (status != 0)
|
||||
{
|
||||
// Wait for the measurement to complete:
|
||||
|
||||
delay(status);
|
||||
|
||||
// Retrieve the completed temperature measurement:
|
||||
// Note that the measurement is stored in the variable T.
|
||||
// Use '&T' to provide the address of T to the function.
|
||||
// Function returns 1 if successful, 0 if failure.
|
||||
|
||||
status = pressure.getTemperature(T);
|
||||
if (status != 0)
|
||||
{
|
||||
// Start a pressure measurement:
|
||||
// The parameter is the oversampling setting, from 0 to 3 (highest res, longest wait).
|
||||
// If request is successful, the number of ms to wait is returned.
|
||||
// If request is unsuccessful, 0 is returned.
|
||||
|
||||
status = pressure.startPressure(3);
|
||||
if (status != 0)
|
||||
{
|
||||
// Wait for the measurement to complete:
|
||||
delay(status);
|
||||
|
||||
// Retrieve the completed pressure measurement:
|
||||
// Note that the measurement is stored in the variable P.
|
||||
// Use '&P' to provide the address of P.
|
||||
// Note also that the function requires the previous temperature measurement (T).
|
||||
// (If temperature is stable, you can do one temperature measurement for a number of pressure measurements.)
|
||||
// Function returns 1 if successful, 0 if failure.
|
||||
|
||||
status = pressure.getPressure(P,T);
|
||||
if (status != 0)
|
||||
{
|
||||
return(P);
|
||||
}
|
||||
else Serial.println("error retrieving pressure measurement\n");
|
||||
}
|
||||
else Serial.println("error starting pressure measurement\n");
|
||||
}
|
||||
else Serial.println("error retrieving temperature measurement\n");
|
||||
}
|
||||
else Serial.println("error starting temperature measurement\n");
|
||||
}
|
||||
|
||||
|
||||
|
3
examples/atmelsam-and-arduino/arduino-internal-libs/.gitignore
vendored
Normal file
3
examples/atmelsam-and-arduino/arduino-internal-libs/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
.pioenvs
|
||||
.clang_complete
|
||||
.gcc-flags.json
|
@ -0,0 +1,65 @@
|
||||
# Continuous Integration (CI) is the practice, in software
|
||||
# engineering, of merging all developer working copies with a shared mainline
|
||||
# several times a day < http://docs.platformio.org/en/latest/ci/index.html >
|
||||
#
|
||||
# Documentation:
|
||||
#
|
||||
# * Travis CI Embedded Builds with PlatformIO
|
||||
# < https://docs.travis-ci.com/user/integration/platformio/ >
|
||||
#
|
||||
# * PlatformIO integration with Travis CI
|
||||
# < http://docs.platformio.org/en/latest/ci/travis.html >
|
||||
#
|
||||
# * User Guide for `platformio ci` command
|
||||
# < http://docs.platformio.org/en/latest/userguide/cmd_ci.html >
|
||||
#
|
||||
#
|
||||
# Please choose one of the following templates (proposed below) and uncomment
|
||||
# it (remove "# " before each line) or use own configuration according to the
|
||||
# Travis CI documentation (see above).
|
||||
#
|
||||
|
||||
|
||||
#
|
||||
# Template #1: General project. Test it using existing `platformio.ini`.
|
||||
#
|
||||
|
||||
# language: python
|
||||
# python:
|
||||
# - "2.7"
|
||||
#
|
||||
# sudo: false
|
||||
# cache:
|
||||
# directories:
|
||||
# - "~/.platformio"
|
||||
#
|
||||
# install:
|
||||
# - pip install -U platformio
|
||||
#
|
||||
# script:
|
||||
# - platformio run
|
||||
|
||||
|
||||
#
|
||||
# Template #2: The project is intended to by used as a library with examples
|
||||
#
|
||||
|
||||
# language: python
|
||||
# python:
|
||||
# - "2.7"
|
||||
#
|
||||
# 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 --lib="." --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
|
@ -0,0 +1,38 @@
|
||||
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||
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.
|
||||
|
||||
How to build PlatformIO based project
|
||||
=====================================
|
||||
|
||||
1. `Install PlatformIO <http://docs.platformio.org/en/latest/installation.html>`_
|
||||
2. Download `source code with examples <https://github.com/platformio/platformio-examples/archive/develop.zip>`_
|
||||
3. Extract ZIP archive
|
||||
4. Run these commands:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Change directory to example
|
||||
> cd platformio-examples/atmelsam-and-arduino/arduino-internal-libs
|
||||
|
||||
# Build project
|
||||
> platformio run
|
||||
|
||||
# Upload firmware
|
||||
> platformio run --target upload
|
||||
|
||||
# Build specific environment
|
||||
> platformio run -e uno
|
||||
|
||||
# Upload firmware for the specific environment
|
||||
> platformio run -e uno --target upload
|
||||
|
||||
# Clean build files
|
||||
> platformio run --target clean
|
@ -0,0 +1,38 @@
|
||||
|
||||
This directory is intended for the project specific (private) libraries.
|
||||
PlatformIO will compile them to static libraries and link to executable file.
|
||||
|
||||
The source code of each library should be placed in separate directory, like
|
||||
"lib/private_lib/[here are source files]".
|
||||
|
||||
For example, see how can be organized `Foo` and `Bar` libraries:
|
||||
|
||||
|--lib
|
||||
| |--Bar
|
||||
| | |--docs
|
||||
| | |--examples
|
||||
| | |--src
|
||||
| | |- Bar.c
|
||||
| | |- Bar.h
|
||||
| |--Foo
|
||||
| | |- Foo.c
|
||||
| | |- Foo.h
|
||||
| |- readme.txt --> THIS FILE
|
||||
|- platformio.ini
|
||||
|--src
|
||||
|- main.c
|
||||
|
||||
Then in `src/main.c` you should use:
|
||||
|
||||
#include <Foo.h>
|
||||
#include <Bar.h>
|
||||
|
||||
// rest H/C/CPP code
|
||||
|
||||
PlatformIO will find your libraries automatically, configure preprocessor's
|
||||
include paths and build them.
|
||||
|
||||
See additional options for PlatformIO Library Dependency Finder `lib_*`:
|
||||
|
||||
http://docs.platformio.org/en/latest/projectconf.html#lib-install
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user