diff --git a/docs/Makefile b/docs/Makefile deleted file mode 100644 index f5ea2385..00000000 --- a/docs/Makefile +++ /dev/null @@ -1,177 +0,0 @@ -# Makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -PAPER = -BUILDDIR = _build - -# User-friendly check for sphinx-build -ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) -$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) -endif - -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . -# the i18n builder cannot share the environment and doctrees with the others -I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . - -.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext - -help: - @echo "Please use \`make ' where is one of" - @echo " html to make standalone HTML files" - @echo " dirhtml to make HTML files named index.html in directories" - @echo " singlehtml to make a single large HTML file" - @echo " pickle to make pickle files" - @echo " json to make JSON files" - @echo " htmlhelp to make HTML files and a HTML help project" - @echo " qthelp to make HTML files and a qthelp project" - @echo " devhelp to make HTML files and a Devhelp project" - @echo " epub to make an epub" - @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" - @echo " latexpdf to make LaTeX files and run them through pdflatex" - @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" - @echo " text to make text files" - @echo " man to make manual pages" - @echo " texinfo to make Texinfo files" - @echo " info to make Texinfo files and run them through makeinfo" - @echo " gettext to make PO message catalogs" - @echo " changes to make an overview of all changed/added/deprecated items" - @echo " xml to make Docutils-native XML files" - @echo " pseudoxml to make pseudoxml-XML files for display purposes" - @echo " linkcheck to check all external links for integrity" - @echo " doctest to run all doctests embedded in the documentation (if enabled)" - -clean: - rm -rf $(BUILDDIR)/* - -html: - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." - -dirhtml: - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." - -singlehtml: - $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml - @echo - @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." - -pickle: - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle - @echo - @echo "Build finished; now you can process the pickle files." - -json: - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json - @echo - @echo "Build finished; now you can process the JSON files." - -htmlhelp: - $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp - @echo - @echo "Build finished; now you can run HTML Help Workshop with the" \ - ".hhp project file in $(BUILDDIR)/htmlhelp." - -qthelp: - $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp - @echo - @echo "Build finished; now you can run "qcollectiongenerator" with the" \ - ".qhcp project file in $(BUILDDIR)/qthelp, like this:" - @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/PlatformIO.qhcp" - @echo "To view the help file:" - @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/PlatformIO.qhc" - -devhelp: - $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp - @echo - @echo "Build finished." - @echo "To view the help file:" - @echo "# mkdir -p $$HOME/.local/share/devhelp/PlatformIO" - @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/PlatformIO" - @echo "# devhelp" - -epub: - $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub - @echo - @echo "Build finished. The epub file is in $(BUILDDIR)/epub." - -latex: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo - @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." - @echo "Run \`make' in that directory to run these through (pdf)latex" \ - "(use \`make latexpdf' here to do that automatically)." - -latexpdf: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through pdflatex..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -latexpdfja: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through platex and dvipdfmx..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -text: - $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text - @echo - @echo "Build finished. The text files are in $(BUILDDIR)/text." - -man: - $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man - @echo - @echo "Build finished. The manual pages are in $(BUILDDIR)/man." - -texinfo: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo - @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." - @echo "Run \`make' in that directory to run these through makeinfo" \ - "(use \`make info' here to do that automatically)." - -info: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo "Running Texinfo files through makeinfo..." - make -C $(BUILDDIR)/texinfo info - @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." - -gettext: - $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale - @echo - @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." - -changes: - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes - @echo - @echo "The overview file is in $(BUILDDIR)/changes." - -linkcheck: - $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck - @echo - @echo "Link check complete; look for any errors in the above output " \ - "or in $(BUILDDIR)/linkcheck/output.txt." - -doctest: - $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest - @echo "Testing of doctests in the sources finished, look at the " \ - "results in $(BUILDDIR)/doctest/output.txt." - -xml: - $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml - @echo - @echo "Build finished. The XML files are in $(BUILDDIR)/xml." - -pseudoxml: - $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml - @echo - @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." diff --git a/docs/_static/ci-travis-logo.png b/docs/_static/ci-travis-logo.png deleted file mode 100644 index 7a684634..00000000 Binary files a/docs/_static/ci-travis-logo.png and /dev/null differ diff --git a/docs/_static/clang-installer-add-path.png b/docs/_static/clang-installer-add-path.png deleted file mode 100644 index 8d5d9da6..00000000 Binary files a/docs/_static/clang-installer-add-path.png and /dev/null differ diff --git a/docs/_static/droneci-platformio-integration-1.png b/docs/_static/droneci-platformio-integration-1.png deleted file mode 100644 index 303e30f6..00000000 Binary files a/docs/_static/droneci-platformio-integration-1.png and /dev/null differ diff --git a/docs/_static/droneci-platformio-integration-2.png b/docs/_static/droneci-platformio-integration-2.png deleted file mode 100644 index 9b76e479..00000000 Binary files a/docs/_static/droneci-platformio-integration-2.png and /dev/null differ diff --git a/docs/_static/extra.css b/docs/_static/extra.css deleted file mode 100644 index 83ae2147..00000000 --- a/docs/_static/extra.css +++ /dev/null @@ -1,330 +0,0 @@ -/** - * Copyright 2014-present PlatformIO - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -header, -nav { - display: block; -} - -#pionav { - display: none; -} - -.container { - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} - -@media (min-width: 992px) { - #pionav { - display: block !important; - } - body { - padding-top: 50px; - } - .wy-nav-side { - top: 50px; - } - - .container { - width: 970px; - } -} -@media (min-width: 1200px) { - .container { - width: 1150px; - } -} -.container-fluid { - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} - -.container:before, -.container:after, -.container-fluid:before, -.container-fluid:after, -.nav:before, -.nav:after, -.navbar:before, -.navbar:after, -.navbar-header:before, -.navbar-header:after { - display: table; - content: " "; -} -.container:after, -.container-fluid:after, -.nav:after, -.navbar:after, -.navbar-header:after { - clear: both; -} - -.nav { - padding-left: 0; - margin-bottom: 0; - list-style: none; -} -.nav > li { - position: relative; - display: block; -} -.nav > li > a { - position: relative; - display: block; - padding: 10px 15px; - font-size: 14px; -} -.nav > li > a:hover, -.nav > li > a:focus { - text-decoration: none; - background-color: #eee; -} -.nav > li > a > img { - max-width: none; -} -.nav > li > a > i { - margin-right: 5px; -} - -.navbar { - position: relative; - min-height: 50px; - margin-bottom: 20px; - border: 1px solid transparent; -} -@media (min-width: 768px) { - .navbar { - border-radius: 4px; - } -} -@media (min-width: 768px) { - .navbar-header { - float: left; - } -} - -@media (min-width: 768px) { - .navbar-fixed-top { - padding-right: 0; - padding-left: 0; - } -} -.navbar-fixed-top { - max-height: 340px; -} -.container > .navbar-header, -.container-fluid > .navbar-header { - margin-right: -15px; - margin-left: -15px; -} -@media (min-width: 768px) { - .container > .navbar-header, - .container-fluid > .navbar-header { - margin-right: 0; - margin-left: 0; - } -} - -.navbar-fixed-top { - position: fixed; - right: 0; - left: 0; - z-index: 1030; -} -@media (min-width: 768px) { - .navbar-fixed-top { - border-radius: 0; - } -} -.navbar-fixed-top { - top: 0; - border-width: 0 0 1px; -} -.navbar-fixed-bottom { - bottom: 0; - margin-bottom: 0; - border-width: 1px 0 0; -} -.navbar-brand { - float: left; - height: 50px; - padding: 15px 15px; - font-size: 18px; - line-height: 20px; -} -.navbar-brand:hover, -.navbar-brand:focus { - text-decoration: none; -} -.navbar-brand > img { - display: block; -} -@media (min-width: 768px) { - .navbar > .container .navbar-brand, - .navbar > .container-fluid .navbar-brand { - margin-left: -15px; - } -} - -.navbar-nav { - margin: 7.5px -15px; -} -.navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; - line-height: 20px; -} -@media (min-width: 768px) { - .navbar-nav { - float: left; - margin: 0; - } - .navbar-nav > li { - float: left; - } - .navbar-nav > li > a { - padding-top: 15px; - padding-bottom: 15px; - } -} - -@media (min-width: 768px) { - .navbar-left { - float: left !important; - } - .navbar-right { - float: right !important; - margin-right: -15px; - } - .navbar-right ~ .navbar-right { - margin-right: 0; - } -} - -.navbar-inverse { - background-color: #222; - border-color: #080808; -} -.navbar-inverse .navbar-brand { - color: #9d9d9d; -} -.navbar-inverse .navbar-brand:hover, -.navbar-inverse .navbar-brand:focus { - color: #fff; - background-color: transparent; -} -.navbar-inverse .navbar-text { - color: #9d9d9d; -} -.navbar-inverse .navbar-nav > li > a { - color: #9d9d9d; -} -.navbar-inverse .navbar-nav > li > a:hover, -.navbar-inverse .navbar-nav > li > a:focus { - color: #fff; - background-color: transparent; -} -.navbar-inverse .navbar-nav > .active > a, -.navbar-inverse .navbar-nav > .active > a:hover, -.navbar-inverse .navbar-nav > .active > a:focus { - color: #fff; - background-color: #080808; -} - -.navbar-header .navbar-brand { - color: #e0e0e0; -} - -/* Misc */ - -.wy-side-scroll .wy-side-nav-search .icon, -.wy-side-scroll .wy-side-nav-search .version { - display: none; - visibility: none; -} - -@media (min-width: 768px) { - .wy-side-scroll { - padding-bottom: 50px; - } -} - -.navbar-header .navbar-brand { - color: #e0e0e0; - background: url("../_static/platformio-logo-xs.png") no-repeat; - background-position: 5px 0; - padding-left: 50px; - font-weight: 500; -} - -.navbar .github-corner { - display: none; -} - -.navbar .github-corner svg { - fill: #fff; - color: #080808; - position: absolute; - top: -1px; - right: 0; - border: 0; - width: 50px; - height: 50px; - transform: scale(1, 1); -} - -@media screen and (min-width: 992px) { - .navbar .github-corner { - display: block; - } -} - -.navbar-inverse .navbar-nav > li.nav-pioplus > a, -.navbar-inverse .navbar-nav > li.nav-pioplus > a:visited -{ - color: #ff6600; -} - -.navbar-inverse .navbar-nav > li.nav-pioplus > a:hover { - color: #ff9900; -} - -.top-banner { - display: block; - padding: 10px 20px; - font-weight: bold; - font-size: 14px; - color: #fff; - text-align: center; - background-color: #0275d8; -} - -.top-banner:hover { - color: #fff; - text-decoration: none; - background-color: #025ebb; -} - -.top-banner:visited { - color: #fff; - text-decoration: none; -} diff --git a/docs/_static/favicon.ico b/docs/_static/favicon.ico deleted file mode 100644 index 2dd9609c..00000000 Binary files a/docs/_static/favicon.ico and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-install.png b/docs/_static/ide-atom-platformio-install.png deleted file mode 100644 index 16e51a23..00000000 Binary files a/docs/_static/ide-atom-platformio-install.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-menu-item.png b/docs/_static/ide-atom-platformio-menu-item.png deleted file mode 100644 index 81bf7846..00000000 Binary files a/docs/_static/ide-atom-platformio-menu-item.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-1.png b/docs/_static/ide-atom-platformio-quick-start-1.png deleted file mode 100644 index 4a021ab9..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-1.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-10.png b/docs/_static/ide-atom-platformio-quick-start-10.png deleted file mode 100644 index df1e70a6..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-10.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-11.png b/docs/_static/ide-atom-platformio-quick-start-11.png deleted file mode 100644 index 42a5bc84..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-11.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-12.png b/docs/_static/ide-atom-platformio-quick-start-12.png deleted file mode 100644 index 726372ef..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-12.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-13.png b/docs/_static/ide-atom-platformio-quick-start-13.png deleted file mode 100644 index 8a23df15..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-13.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-14.png b/docs/_static/ide-atom-platformio-quick-start-14.png deleted file mode 100644 index 902d1f42..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-14.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-2.png b/docs/_static/ide-atom-platformio-quick-start-2.png deleted file mode 100644 index 0251bcf9..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-2.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-3.png b/docs/_static/ide-atom-platformio-quick-start-3.png deleted file mode 100644 index 9a9ceb31..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-3.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-4.png b/docs/_static/ide-atom-platformio-quick-start-4.png deleted file mode 100644 index a5a43411..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-4.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-5.png b/docs/_static/ide-atom-platformio-quick-start-5.png deleted file mode 100644 index 80d62571..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-5.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-6.png b/docs/_static/ide-atom-platformio-quick-start-6.png deleted file mode 100644 index 68bfa56a..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-6.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-7.png b/docs/_static/ide-atom-platformio-quick-start-7.png deleted file mode 100644 index 5305394c..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-7.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-8.png b/docs/_static/ide-atom-platformio-quick-start-8.png deleted file mode 100644 index c38ed575..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-8.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-quick-start-9.png b/docs/_static/ide-atom-platformio-quick-start-9.png deleted file mode 100644 index 82247515..00000000 Binary files a/docs/_static/ide-atom-platformio-quick-start-9.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio-toolbar.png b/docs/_static/ide-atom-platformio-toolbar.png deleted file mode 100644 index a625a98c..00000000 Binary files a/docs/_static/ide-atom-platformio-toolbar.png and /dev/null differ diff --git a/docs/_static/ide-atom-platformio.png b/docs/_static/ide-atom-platformio.png deleted file mode 100644 index f133855c..00000000 Binary files a/docs/_static/ide-atom-platformio.png and /dev/null differ diff --git a/docs/_static/ide-eclipse-virtualiot.jpg b/docs/_static/ide-eclipse-virtualiot.jpg deleted file mode 100644 index 1c6ee0fa..00000000 Binary files a/docs/_static/ide-eclipse-virtualiot.jpg and /dev/null differ diff --git a/docs/_static/ide-platformio-atom-1.gif b/docs/_static/ide-platformio-atom-1.gif deleted file mode 100644 index 3ee6c899..00000000 Binary files a/docs/_static/ide-platformio-atom-1.gif and /dev/null differ diff --git a/docs/_static/ide-platformio-atom-2.gif b/docs/_static/ide-platformio-atom-2.gif deleted file mode 100644 index 2a367374..00000000 Binary files a/docs/_static/ide-platformio-atom-2.gif and /dev/null differ diff --git a/docs/_static/ide-platformio-clion.png b/docs/_static/ide-platformio-clion.png deleted file mode 100644 index ee67894b..00000000 Binary files a/docs/_static/ide-platformio-clion.png and /dev/null differ diff --git a/docs/_static/ide-platformio-codeblocks.png b/docs/_static/ide-platformio-codeblocks.png deleted file mode 100644 index 5608633c..00000000 Binary files a/docs/_static/ide-platformio-codeblocks.png and /dev/null differ diff --git a/docs/_static/ide-platformio-eclipse.png b/docs/_static/ide-platformio-eclipse.png deleted file mode 100644 index 604ddb3d..00000000 Binary files a/docs/_static/ide-platformio-eclipse.png and /dev/null differ diff --git a/docs/_static/ide-platformio-emacs.png b/docs/_static/ide-platformio-emacs.png deleted file mode 100644 index a1780a6b..00000000 Binary files a/docs/_static/ide-platformio-emacs.png and /dev/null differ diff --git a/docs/_static/ide-platformio-netbeans.png b/docs/_static/ide-platformio-netbeans.png deleted file mode 100644 index 310b85cb..00000000 Binary files a/docs/_static/ide-platformio-netbeans.png and /dev/null differ diff --git a/docs/_static/ide-platformio-qtcreator-1.png b/docs/_static/ide-platformio-qtcreator-1.png deleted file mode 100644 index 1972daf8..00000000 Binary files a/docs/_static/ide-platformio-qtcreator-1.png and /dev/null differ diff --git a/docs/_static/ide-platformio-qtcreator-2.png b/docs/_static/ide-platformio-qtcreator-2.png deleted file mode 100644 index 759b02ee..00000000 Binary files a/docs/_static/ide-platformio-qtcreator-2.png and /dev/null differ diff --git a/docs/_static/ide-platformio-qtcreator-3.png b/docs/_static/ide-platformio-qtcreator-3.png deleted file mode 100644 index b341e505..00000000 Binary files a/docs/_static/ide-platformio-qtcreator-3.png and /dev/null differ diff --git a/docs/_static/ide-platformio-qtcreator-4.png b/docs/_static/ide-platformio-qtcreator-4.png deleted file mode 100644 index e2c5517b..00000000 Binary files a/docs/_static/ide-platformio-qtcreator-4.png and /dev/null differ diff --git a/docs/_static/ide-platformio-qtcreator-5.png b/docs/_static/ide-platformio-qtcreator-5.png deleted file mode 100644 index 5e5cbea1..00000000 Binary files a/docs/_static/ide-platformio-qtcreator-5.png and /dev/null differ diff --git a/docs/_static/ide-platformio-qtcreator-6.png b/docs/_static/ide-platformio-qtcreator-6.png deleted file mode 100644 index c24c5526..00000000 Binary files a/docs/_static/ide-platformio-qtcreator-6.png and /dev/null differ diff --git a/docs/_static/ide-platformio-qtcreator-7.png b/docs/_static/ide-platformio-qtcreator-7.png deleted file mode 100644 index cdaf1f6f..00000000 Binary files a/docs/_static/ide-platformio-qtcreator-7.png and /dev/null differ diff --git a/docs/_static/ide-platformio-vim.png b/docs/_static/ide-platformio-vim.png deleted file mode 100644 index 8020b277..00000000 Binary files a/docs/_static/ide-platformio-vim.png and /dev/null differ diff --git a/docs/_static/ide-sublime-text-deviot.gif b/docs/_static/ide-sublime-text-deviot.gif deleted file mode 100644 index 1006c529..00000000 Binary files a/docs/_static/ide-sublime-text-deviot.gif and /dev/null differ diff --git a/docs/_static/ide-sublime-text-platformio-newproject-1.png b/docs/_static/ide-sublime-text-platformio-newproject-1.png deleted file mode 100644 index 6432124e..00000000 Binary files a/docs/_static/ide-sublime-text-platformio-newproject-1.png and /dev/null differ diff --git a/docs/_static/ide-sublime-text-platformio-newproject-2.png b/docs/_static/ide-sublime-text-platformio-newproject-2.png deleted file mode 100644 index 45188c04..00000000 Binary files a/docs/_static/ide-sublime-text-platformio-newproject-2.png and /dev/null differ diff --git a/docs/_static/ide-sublime-text-platformio-newproject-3.png b/docs/_static/ide-sublime-text-platformio-newproject-3.png deleted file mode 100644 index 6f980c0f..00000000 Binary files a/docs/_static/ide-sublime-text-platformio-newproject-3.png and /dev/null differ diff --git a/docs/_static/ide-sublime-text-platformio-newproject-4.png b/docs/_static/ide-sublime-text-platformio-newproject-4.png deleted file mode 100644 index aaee5561..00000000 Binary files a/docs/_static/ide-sublime-text-platformio-newproject-4.png and /dev/null differ diff --git a/docs/_static/ide-sublime-text-platformio-newproject-5.png b/docs/_static/ide-sublime-text-platformio-newproject-5.png deleted file mode 100644 index 8cffe145..00000000 Binary files a/docs/_static/ide-sublime-text-platformio-newproject-5.png and /dev/null differ diff --git a/docs/_static/ide-vs-platformio-newproject-2-1.png b/docs/_static/ide-vs-platformio-newproject-2-1.png deleted file mode 100644 index de85d851..00000000 Binary files a/docs/_static/ide-vs-platformio-newproject-2-1.png and /dev/null differ diff --git a/docs/_static/ide-vs-platformio-newproject-2.png b/docs/_static/ide-vs-platformio-newproject-2.png deleted file mode 100644 index cb0bc810..00000000 Binary files a/docs/_static/ide-vs-platformio-newproject-2.png and /dev/null differ diff --git a/docs/_static/ide-vs-platformio-newproject-3.png b/docs/_static/ide-vs-platformio-newproject-3.png deleted file mode 100644 index 763f8e05..00000000 Binary files a/docs/_static/ide-vs-platformio-newproject-3.png and /dev/null differ diff --git a/docs/_static/ide-vs-platformio-newproject-4.png b/docs/_static/ide-vs-platformio-newproject-4.png deleted file mode 100644 index 78ebc601..00000000 Binary files a/docs/_static/ide-vs-platformio-newproject-4.png and /dev/null differ diff --git a/docs/_static/ide-vs-platformio-newproject-5.png b/docs/_static/ide-vs-platformio-newproject-5.png deleted file mode 100644 index bcae88e1..00000000 Binary files a/docs/_static/ide-vs-platformio-newproject-5.png and /dev/null differ diff --git a/docs/_static/ide-vs-platformio-newproject-6.png b/docs/_static/ide-vs-platformio-newproject-6.png deleted file mode 100644 index 07a4d80a..00000000 Binary files a/docs/_static/ide-vs-platformio-newproject-6.png and /dev/null differ diff --git a/docs/_static/ide-vs-platformio-newproject-7.png b/docs/_static/ide-vs-platformio-newproject-7.png deleted file mode 100644 index e5112405..00000000 Binary files a/docs/_static/ide-vs-platformio-newproject-7.png and /dev/null differ diff --git a/docs/_static/ide-vs-platformio-newproject-8.png b/docs/_static/ide-vs-platformio-newproject-8.png deleted file mode 100644 index f3cb9e46..00000000 Binary files a/docs/_static/ide-vs-platformio-newproject-8.png and /dev/null differ diff --git a/docs/_static/ide-vs-platformio-newproject-9.png b/docs/_static/ide-vs-platformio-newproject-9.png deleted file mode 100644 index f6978e90..00000000 Binary files a/docs/_static/ide-vs-platformio-newproject-9.png and /dev/null differ diff --git a/docs/_static/ide-vs-platformio-newproject.png b/docs/_static/ide-vs-platformio-newproject.png deleted file mode 100644 index a7279a54..00000000 Binary files a/docs/_static/ide-vs-platformio-newproject.png and /dev/null differ diff --git a/docs/_static/ide/cloud9/ide-cloud9-demo.jpg b/docs/_static/ide/cloud9/ide-cloud9-demo.jpg deleted file mode 100644 index 248eb5a5..00000000 Binary files a/docs/_static/ide/cloud9/ide-cloud9-demo.jpg and /dev/null differ diff --git a/docs/_static/ide/cloud9/ide-cloud9-init-project.png b/docs/_static/ide/cloud9/ide-cloud9-init-project.png deleted file mode 100644 index 1bb19045..00000000 Binary files a/docs/_static/ide/cloud9/ide-cloud9-init-project.png and /dev/null differ diff --git a/docs/_static/ide/cloud9/ide-cloud9-install-pio-cli.png b/docs/_static/ide/cloud9/ide-cloud9-install-pio-cli.png deleted file mode 100644 index 8b061286..00000000 Binary files a/docs/_static/ide/cloud9/ide-cloud9-install-pio-cli.png and /dev/null differ diff --git a/docs/_static/ide/cloud9/ide-cloud9-new-workspace.png b/docs/_static/ide/cloud9/ide-cloud9-new-workspace.png deleted file mode 100644 index ebc7381c..00000000 Binary files a/docs/_static/ide/cloud9/ide-cloud9-new-workspace.png and /dev/null differ diff --git a/docs/_static/ide/cloud9/ide-cloud9-runner-ota-devices.png b/docs/_static/ide/cloud9/ide-cloud9-runner-ota-devices.png deleted file mode 100644 index f581bb31..00000000 Binary files a/docs/_static/ide/cloud9/ide-cloud9-runner-ota-devices.png and /dev/null differ diff --git a/docs/_static/ide/cloud9/ide-cloud9-runner-ota-serial-monitor.png b/docs/_static/ide/cloud9/ide-cloud9-runner-ota-serial-monitor.png deleted file mode 100644 index 17547a71..00000000 Binary files a/docs/_static/ide/cloud9/ide-cloud9-runner-ota-serial-monitor.png and /dev/null differ diff --git a/docs/_static/ide/cloud9/ide-cloud9-runner-ota-uploading.png b/docs/_static/ide/cloud9/ide-cloud9-runner-ota-uploading.png deleted file mode 100644 index cbbde699..00000000 Binary files a/docs/_static/ide/cloud9/ide-cloud9-runner-ota-uploading.png and /dev/null differ diff --git a/docs/_static/ide/codeanywhere/ide-codeanywhere-connection-wizard.png b/docs/_static/ide/codeanywhere/ide-codeanywhere-connection-wizard.png deleted file mode 100644 index f4463054..00000000 Binary files a/docs/_static/ide/codeanywhere/ide-codeanywhere-connection-wizard.png and /dev/null differ diff --git a/docs/_static/ide/codeanywhere/ide-codeanywhere-demo.jpg b/docs/_static/ide/codeanywhere/ide-codeanywhere-demo.jpg deleted file mode 100644 index a9e83a44..00000000 Binary files a/docs/_static/ide/codeanywhere/ide-codeanywhere-demo.jpg and /dev/null differ diff --git a/docs/_static/ide/codeanywhere/ide-codeanywhere-init-project.png b/docs/_static/ide/codeanywhere/ide-codeanywhere-init-project.png deleted file mode 100644 index af4f049c..00000000 Binary files a/docs/_static/ide/codeanywhere/ide-codeanywhere-init-project.png and /dev/null differ diff --git a/docs/_static/ide/codeanywhere/ide-codeanywhere-install-pio-cli.png b/docs/_static/ide/codeanywhere/ide-codeanywhere-install-pio-cli.png deleted file mode 100644 index 9b67d93a..00000000 Binary files a/docs/_static/ide/codeanywhere/ide-codeanywhere-install-pio-cli.png and /dev/null differ diff --git a/docs/_static/ide/codeanywhere/ide-codeanywhere-ota-devices.png b/docs/_static/ide/codeanywhere/ide-codeanywhere-ota-devices.png deleted file mode 100644 index 4dfb8e6e..00000000 Binary files a/docs/_static/ide/codeanywhere/ide-codeanywhere-ota-devices.png and /dev/null differ diff --git a/docs/_static/ide/codeanywhere/ide-codeanywhere-ota-serial-monitor.png b/docs/_static/ide/codeanywhere/ide-codeanywhere-ota-serial-monitor.png deleted file mode 100644 index aaff528d..00000000 Binary files a/docs/_static/ide/codeanywhere/ide-codeanywhere-ota-serial-monitor.png and /dev/null differ diff --git a/docs/_static/ide/codeanywhere/ide-codeanywhere-ota-uploading.png b/docs/_static/ide/codeanywhere/ide-codeanywhere-ota-uploading.png deleted file mode 100644 index ea7637a0..00000000 Binary files a/docs/_static/ide/codeanywhere/ide-codeanywhere-ota-uploading.png and /dev/null differ diff --git a/docs/_static/ide/codeanywhere/ide-codeanywhere-project-config.png b/docs/_static/ide/codeanywhere/ide-codeanywhere-project-config.png deleted file mode 100644 index 2f3bdd19..00000000 Binary files a/docs/_static/ide/codeanywhere/ide-codeanywhere-project-config.png and /dev/null differ diff --git a/docs/_static/pioplus-unit-testing-demo.png b/docs/_static/pioplus-unit-testing-demo.png deleted file mode 100644 index d34dad14..00000000 Binary files a/docs/_static/pioplus-unit-testing-demo.png and /dev/null differ diff --git a/docs/_static/platformio-demo-lib.gif b/docs/_static/platformio-demo-lib.gif deleted file mode 100644 index 238df416..00000000 Binary files a/docs/_static/platformio-demo-lib.gif and /dev/null differ diff --git a/docs/_static/platformio-demo-ota-esp8266.jpg b/docs/_static/platformio-demo-ota-esp8266.jpg deleted file mode 100644 index 4cbd7da7..00000000 Binary files a/docs/_static/platformio-demo-ota-esp8266.jpg and /dev/null differ diff --git a/docs/_static/platformio-demo-platforms.gif b/docs/_static/platformio-demo-platforms.gif deleted file mode 100644 index 3e68a73b..00000000 Binary files a/docs/_static/platformio-demo-platforms.gif and /dev/null differ diff --git a/docs/_static/platformio-demo-wiring.gif b/docs/_static/platformio-demo-wiring.gif deleted file mode 100644 index a89550bc..00000000 Binary files a/docs/_static/platformio-demo-wiring.gif and /dev/null differ diff --git a/docs/_static/platformio-logo-xs.png b/docs/_static/platformio-logo-xs.png deleted file mode 100644 index 9ac1f099..00000000 Binary files a/docs/_static/platformio-logo-xs.png and /dev/null differ diff --git a/docs/_static/platformio-logo.png b/docs/_static/platformio-logo.png deleted file mode 100644 index a8b025d5..00000000 Binary files a/docs/_static/platformio-logo.png and /dev/null differ diff --git a/docs/_static/python-installer-add-path.png b/docs/_static/python-installer-add-path.png deleted file mode 100644 index 43388c2c..00000000 Binary files a/docs/_static/python-installer-add-path.png and /dev/null differ diff --git a/docs/_templates/footer.html b/docs/_templates/footer.html deleted file mode 100644 index 6ac869f3..00000000 --- a/docs/_templates/footer.html +++ /dev/null @@ -1,63 +0,0 @@ -{% extends "!footer.html" %} - -{% block extrafooter %} - - - -{{ super() }} -{% endblock %} diff --git a/docs/articles.rst b/docs/articles.rst deleted file mode 100644 index 442cc58a..00000000 --- a/docs/articles.rst +++ /dev/null @@ -1,126 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _articles: - -Articles about us -================= - -.. note:: - If you've written article about PlatformIO and would like it listed on - this page, `please edit this page `_. - -Here are recent articles/reviews about PlatformIO: - -2016 -^^^^ - -* Nov 10, 2016 - **PiGreek** - `PlatformIO the new Arduino IDE ?! `_ -* Oct 31, 2016 - **Ricardo Quesada** - `Retro Challenge: announcing Commodore Home `_ -* Oct 3, 2016 - **Xose Pérez** - `Using the new Bean Loader CLI from PlatformIO `_ -* Sep 20, 2016 - **The Linux Foundation** - `21 Open Source Projects for IoT `_ -* Sep 19, 2016 - **Doc Walker** - `How to automatically test build Arduino libraries `_ -* Sep 18, 2016 - **Kadda Sahnine** - `LoRaWAN network practice with Objenious, PlatformIO and Node-RED `_ -* Sep 13, 2016 - **Xose Pérez** `MQTT LED Matrix Display `_ -* Sep 12, 2016 - **Pedro Minatel** - `OTA – Como programar o ESP8266 pelo WiFi no platformIO (OTA programming for ESP8266 via Wi-Fi using PlatformIO, Portuguese) `_ -* Sep 2, 2016 - **Xose Pérez** `ESP8266: Optimizing files for SPIFFS with Gulp `_ -* Aug 28, 2016 - **Tom Parker** `Using the BBC micro:bit with PlatformIO `_ -* Aug 24, 2016 - **Primal Cortex** `Cloud based continuous integration and delivery for IOT using PlatformIO `_ -* Aug 18, 2016 - **Primal Cortex** - `Installing PlatformIO on Arch Linux `_ -* Aug 14, 2016 - **Rodrigo Castro** - `PlataformIO o comó usar Arduino con ATOM (Spanish) `_ -* Jul 27, 2016 - **Francesco Azzola** - `Arduino Alternative IDE: PlatformIO IoT integrated platform `_ -* Jul 26, 2016 - **Embedded Systems Laboratory** - `แนะนำการใช้งาน PlatformIO IDE สำหรับบอร์ด Arduino และ ESP8266 (Get started with PlatformIO IDE for Arduino board and ESP8266, Thai) `_ -* Jul 15, 2016 - **Jaime** - `ESP8266 Mobile Rick Roll Captive Portal `_ -* Jul 5, 2016 - **Ivan Kravets, Ph.D.** - `Explore the new development instruments for Arduino with PlatformIO ecosystem `_ -* Jul 5, 2016 - **Belinda** - `Monte Bianco Arduino Developer Summit `_ -* Jul 1, 2016 - **Tam Hanna** - `Mikrocontroller-Gipfel in den Alpen: Arduino Developer Summit, Tag eins (Microcontroller peaks in the Alps: Arduino Developer Summit, Day One, German) `_ -* Jun 14, 2016 - **Glyn Hudson** - `OpenEnergyMonitor Part 2/3: Firmware Continuous Test & Build `_ -* Jun 13, 2016 - **Daniel Eichhorn** - `New Weather Station Demo on Github `_ -* Jun 12, 2016 - **Glyn Hudson** - `OpenEnergyMonitor Part 1/3: PlatformIO open-source embedded development ecosystem `_ -* Jun 12, 2016 - **Uli Wolf** - `Nutzung von PlatformIO im Atom Editor zur Entwicklung von Arduino Code (Use PlatformIO and Atom Editor to develop Arduino code, German) `_ -* Jun 3, 2016 - **Daniel Eichhorn** - `ESP8266: Continuous Delivery Pipeline – Push To Production `_ -* May 30, 2016 - **Ron Moerman** - `IoT Development with PlatformIO `_ -* May 29, 2016 - **Chris Synan** - `Reverse Engineer RF Remote Controller for IoT! `_ -* May 26, 2016 - **Charlie Key** - `7 Best Developer Tools To Build Your NEXT Internet of Things Application `_ -* May 22, 2016 - **Pedro Minatel** - `Estação meteorológica com ESP8266 (Weather station with ESP8266, Portuguese) `_ -* May 16, 2016 - **Pedro Minatel** - `Controle remoto WiFi com ESP8266 (WiFi remote control using ESP8266, Portuguese) `_ -* May 11, 2016 - **Jo Vandeginste** - `Using PlatformIO to compile for Jeelabs' Jeenode Micro `_ -* May 08, 2016 - **Radoslaw Bob** - `Touch controlled buzzer (Nodemcu ESP8266) `_ -* May 06, 2016 - **Jean Roux** - `The IoT building blocks I use for my home-automation projects `_ -* May 05, 2016 - **Ivan Kravets, Ph.D. / Eclipse Virtual IoT Meetup** - `PlatformIO: a cross-platform IoT solution to build them all! `_ -* May 01, 2016 - **Pedro Minatel** - `PlatformIO – Uma alternativa ao Arduino IDE (PlatformIO - An alternative to the Arduino IDE, Portuguese) `_ -* Apr 23, 2016 - **Al Williams** - `Hackaday: Atomic Arduino (and Other) Development `_ -* Apr 16, 2016 - **Sathittham Sangthong** - `[PlatformIO] มาลองเล่น PlatformIO แทน Arduino IDE กัน (Let's play together with PlatformIO IDE [alternative to Arduino IDE], Thai) `_ -* Apr 15, 2016 - **Daniel Eichhorn** - `ESP8266: Offline Debugging with the Platformio Environment `_ -* Apr 11, 2016 - **Matjaz Trcek** - `Top 5 Arduino integrated development environments `_ -* Apr 06, 2016 - **Aleks** - `PlatformIO ausprobiert (Tried PlatformIO, German) `_ -* Apr 02, 2016 - **Diego Pinto** - `Você tem coragem de abandonar a IDE do Arduino? PlatformIO + Atom (Do you dare to leave the Arduino IDE? PlatformIO + Atom, Portuguese) `_ -* Mar 30, 2016 - **Brandon Cannaday** - `Getting Started with PlatformIO and ESP8266 NodeMcu `_ -* Mar 29, 2016 - **Pablo Peñalve** - `PlatformIO + Geany + Raspberry PI, Spanish `_ -* Mar 24, 2016 - **NAzT** - `PlatformIO และการปรับแต่ง เพื่อใช้สำหรับพัฒนา Arduino Library (PlatformIO and advanced development for Arduino Library, Thai) `_ -* Mar 16, 2016 - **Jakub Skořepa** - `Instalace PlatformIO (PlatformIO IDE Installation, Czech) `_ -* Mar 12, 2016 - **Peter Marks** - `PlatformIO, the Arduino IDE for programmers `_ -* Mar 12, 2016 - **Richard Arthurs** - `Getting Started With PlatformIO `_ -* Mar 07, 2016 - **Joran Jessurun** - `Nieuwe wereld met PlatformIO (New world with PlatformIO, Dutch) `_ -* Mar 05, 2016 - **brichacek.net** - `PlatformIO – otevřený ekosystém pro vývoj IoT (PlatformIO – an open source ecosystem for IoT development, Czech) `_ -* Mar 04, 2016 - **Ricardo Vega** - `Programa tu Arduino desde Atom (Program your Arduino from Atom, Spanish) `_ -* Feb 28, 2016 - **Alex Bloggt** - `PlatformIO vorgestellt (Introduction to PlatformIO IDE, German) `_ -* Feb 25, 2016 - **NutDIY** - `PlatformIO Blink On Nodemcu Dev Kit V1.0 (Thai) `_ -* Feb 23, 2016 - **Ptarmigan Labs** - `ESP8266 Over The Air updating – what are the options? `_ -* Feb 22, 2016 - **Grzegorz Hołdys** - `How to Integrate PlatformIO with Netbeans `_ -* Feb 19, 2016 - **Embedds** - `Develop easier with PlatformIO ecosystem `_ -* Feb 13, 2016 - **Robert Cudmore** - `Programming an arduino with PlatformIO `_ -* Jan 24, 2016 - **Sergey Prilukin** - `How to use IntelliJ IDEA to develop and upload software for micro controllers like Arduino `_ -* Jan 16, 2016 - **Dani Eichhorn** - `ESP8266 Arduino IDE Alternative: PlatformIO `_ -* Jan 11, 2016 - **David Mills, Ph.D.** - `STM NUCLEOF401RE TIMER IO `_ -* Jan 05, 2016 - **Julien Rodrigues** - `Internet Of Things: The IDE scandal `_ - -2015 -^^^^ - -* Dec 22, 2015 - **Jan Penninkhof** - `Over-the-Air ESP8266 programming using PlatformIO `_ -* Dec 15, 2015 - **stastaka** - `PlatformIOでカスタムボードを使う (Use a custom board for PlatformIO, Japanese) `_ -* Dec 08, 2015 - **Piotr Król** - `Using PlatformIO with TI MSP430 LunchPads `_ -* Dec 01, 2015 - **Michał Seroczyński** - `Push Notification from Arduino Yún with motion sensor `_ -* Dec 01, 2015 - **JetBrains CLion Blog** - `C++ Annotated: Fall 2015. Arduino Support in CLion using PlatformIO `_ -* Dec 01, 2015 - **Tateno Yuichi** - `ESP8266 を CUI で開発する (Develop a ESP8266 in CUI, Japanese) `_ -* Nov 29, 2015 - **Keith Hughes** - `Using PlatformIO for Embedded Projects `_ -* Nov 22, 2015 - **Michał Seroczyński** - `Using PlatformIO to get started with Arduino in CLion IDE `_ -* Nov 09, 2015 - **ÁLvaro García Gómez** - `Programar con Arduino "The good way" (Programming with Arduino "The good way", Spanish) `_ -* Nov 06, 2015 - **nocd5** - `PlatformIOでmbedをオフラインビルドしSTM32 Nucleoボードでmrubyを使う (Use mruby in the offline build for STM32 Nucleo board with mbed and PlatformIO, Japanese) `_ -* Oct 21, 2015 - **Vittorio Zaccaria** - `Using a cheap STM32 Nucleo to teach remote sensor monitoring `_ -* Oct 18, 2015 - **Nico Coetzee** - `First Arduino I2C Experience with PlatformIO `_ -* Oct 10, 2015 - **Floyd Hilton** - `Programming Arduino with Atom `_ -* Oct 01, 2015 - **Mistan** - `Compile and Upload Arduino Sketch with PlatformIO for Raspberry Pi Running Arch Linux `_ -* Sep 30, 2015 - **Jay Wiggins** - `PlatformIO Investigation `_ -* Sep 01, 2015 - **Thomas P. Weldon, Ph.D.** - `Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation `_ -* Aug 08, 2015 - **Josh Glendenning** - `Armstrap Eagle and PlatformIO `_ -* Aug 01, 2015 - **Russell Davis** - `PlatformIO on the Raspberry Pi `_ -* Jul 25, 2015 - **DinoTools** - `Erste Schritte mit PlatformIO (Getting Started with PlatformIO, German) `_ -* Jul 20, 2015 - **Eli Fatsi** - `Arduino Development in Atom Editor `_ -* Jul 14, 2015 - **ElbinarIO** - `Programar para Arduino y otros microcontroladores desde la linea de comandos (Program Arguino and other microcontrollers from the command line, Spanish) `_ -* Jul 11, 2015 - **TrojanC** - `Learning Arduino GitHub Repository `_ -* Jul 07, 2015 - **Sho Hashimoto** - `PlatformIOでArduino開発する(Arduino development in PlatformIO, Japanese) `_ -* Jun 02, 2015 - **Alejandro Guirao Rodríguez** - `Discovering PlatformIO: The RaspberryPi / Arduino combo kit is a winner option when prototyping an IoT-style project `_ -* May 17, 2015 - **S.S** - `コマンドラインでArduino開発 : vim + platformio (Arduino development at the command line: VIM + PlatformIO, Japanese) `_ -* May 11, 2015 - **IT Hare** - `From Web Developer to Embedded One: Interview with Ivan Kravets, The Guy Behind PlatformIO. Part II `_ -* May 4, 2015 - **IT Hare** - `From Web Developer to Embedded One: Interview with Ivan Kravets, The Guy Behind PlatformIO. Part I `_ -* Apr 17, 2015 - **Michael Ball** - `PlatformIO - A Cross-Platform Code Builder and Missing Library Manager `_ -* Mar 23, 2015 - **Atmel** - `Cross-board and cross-vendor embedded development with PlatformIO `_ -* Mar 22, 2015 - **Mark VandeWettering** - `Discovered a new tool for embedded development: PlatformIO `_ -* Feb 25, 2015 - **Hendrik Putzek** - `Use your favourite IDE together with Arduino `_ - -2014 -^^^^ - -* Oct 7, 2014 - **Ivan Kravets, Ph.D.** - `Integration of PlatformIO library manager to Arduino and Energia IDEs `_ -* Jun 20, 2014 - **Ivan Kravets, Ph.D.** - `Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO `_ -* Jun 17, 2014 - **Ivan Kravets, Ph.D.** - `How was PlatformIO born or why I love Python World `_ diff --git a/docs/ci/appveyor.rst b/docs/ci/appveyor.rst deleted file mode 100644 index 5a018b29..00000000 --- a/docs/ci/appveyor.rst +++ /dev/null @@ -1,87 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _ci_appveyor: - -AppVeyor -======== - -`AppVeyor `_ is an open-source hosted, -distributed continuous integration service used to build and test projects -hosted at `GitHub `_ on Windows family -systems. - -AppVeyor is configured by adding a file named ``appveyor.yml``, which is a -`YAML `_ format text file, to the root -directory of the GitHub repository. - -AppVeyor automatically detects when a commit has been made and pushed to a -GitHub repository that is using AppVeyor, and each time this happens, it will -try to build the project using :ref:`cmd_ci` command. This includes commits to -all branches, not just to the master branch. AppVeyor will also build and run -pull requests. When that process has completed, it will notify a developer in -the way it has been configured to do so — for example, by sending an email -containing the build results (showing success or failure), or by posting a -message on an IRC channel. It can be configured to build project on a range of -different :ref:`platforms`. - -.. contents:: - -Integration ------------ - -Put ``appveyor.yml`` to the root directory of the GitHub repository. - -.. code-block:: yaml - - build: off - environment: - - matrix: - - PLATFORMIO_CI_SRC: "path\\to\\source\\file.c" - - PLATFORMIO_CI_SRC: "path\\to\\source\\file.ino" - - PLATFORMIO_CI_SRC: "path\\to\\source\\directory" - - install: - - cmd: git submodule update --init --recursive - - cmd: SET PATH=%PATH%;C:\Python27\Scripts - - cmd: pip install -U platformio - - test_script: - - cmd: platformio ci --board= --board= --board= - - -For more details as for PlatformIO build process please look into :ref:`cmd_ci` -command. - -Examples --------- - -1. Integration for `USB_Host_Shield_2.0 `_ - project. The ``appveyor.yml`` configuration file: - -.. code-block:: yaml - - build: off - environment: - - matrix: - - PLATFORMIO_CI_SRC: "examples\\Bluetooth\\PS3SPP\\PS3SPP.ino" - - PLATFORMIO_CI_SRC: "examples\\pl2303\\pl2303_gps\\pl2303_gps.ino" - - install: - - cmd: git submodule update --init --recursive - - cmd: SET PATH=%PATH%;C:\Python27\Scripts - - cmd: pip install -U platformio - - cmd: git clone https://github.com/xxxajk/spi4teensy3.git C:\spi4teensy - - test_script: - - cmd: platformio ci --lib="." --lib="C:\\spi4teensy" --board=uno --board=teensy31 --board=due diff --git a/docs/ci/circleci.rst b/docs/ci/circleci.rst deleted file mode 100644 index da331230..00000000 --- a/docs/ci/circleci.rst +++ /dev/null @@ -1,205 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _ci_circleci: - -Circle CI -========= - -`Circle CI `_ is a hosted cloud -platform that provides hosted continuous integration, deployment, and testing -to `GitHub `_ repositories. - -Circle CI is configured by adding a file named ``circle.yml``, which is a -`YAML `_ format text file, to the root -directory of the GitHub repository. - -Circle CI automatically detects when a commit has been made and pushed to a -GitHub repository that is using Circle CI, and each time this happens, it will -try to build the project using :ref:`cmd_ci` command. This includes commits to -all branches, not just to the master branch. Circle CI will also build and run -pull requests. When that process has completed, it will notify a developer in -the way it has been configured to do so — for example, by sending an email -containing the build results (showing success or failure), or by posting a -message on an IRC channel. It can be configured to build project on a range of -different :ref:`platforms`. - -.. contents:: - -Integration ------------ - -Please make sure to read Circle CI `Getting Started `_ -guide first. - -.. code-block:: yaml - - dependencies: - pre: - # Install the latest stable PlatformIO - - sudo pip install -U platformio - - test: - override: - - platformio ci path/to/test/file.c --board= --board= --board= - - platformio ci examples/file.ino --board= --board= --board= - - platformio ci path/to/test/directory --board= --board= --board= - - -For more details as for PlatformIO build process please look into :ref:`cmd_ci`. - -Project as a library -~~~~~~~~~~~~~~~~~~~~ - -When project is written as a library (where own examples or testing code use -it), please use ``--lib="."`` option for :ref:`cmd_ci` command - -.. code-block:: yaml - - script: - - platformio ci --lib="." --board= --board= --board= - -Library dependecies -~~~~~~~~~~~~~~~~~~~ - -There 2 options to test source code with dependent libraries: - -Install dependent library using :ref:`librarymanager` -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. code-block:: yaml - - dependencies: - pre: - # Install the latest stable PlatformIO - - sudo pip install -U platformio - - # OneWire Library with ID=1 http://platformio.org/lib/show/1/OneWire - - platformio lib -g install 1 - - test: - override: - - platformio ci path/to/test/file.c --board= --board= --board= - -Manually download dependent library and include in build process via ``--lib`` option -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. code-block:: yaml - - dependencies: - pre: - # Install the latest stable PlatformIO - - sudo pip install -U platformio - - # download library to the temporary directory - - wget https://github.com/PaulStoffregen/OneWire/archive/master.zip -O /tmp/onewire_source.zip - - unzip /tmp/onewire_source.zip -d /tmp/ - - test: - override: - - platformio ci path/to/test/file.c --lib="/tmp/OneWire-master" --board= --board= --board= - -Custom Build Flags -~~~~~~~~~~~~~~~~~~ - -PlatformIO allows to specify own build flags using :envvar:`PLATFORMIO_BUILD_FLAGS` environment - -.. code-block:: yaml - - machine: - environment: - PLATFORMIO_BUILD_FLAGS: -D SPECIFIC_MACROS -I/extra/inc - - -For the more details, please follow to -:ref:`available build flags/options `. - - -Advanced configuration -~~~~~~~~~~~~~~~~~~~~~~ - -PlatformIO allows to configure multiple build environments for the single -source code using :ref:`projectconf`. - -Instead of ``--board`` option, please use :option:`platformio ci --project-conf` - -.. code-block:: yaml - - test: - override: - - platformio ci path/to/test/file.c --project-conf=/path/to/platoformio.ini - -Examples --------- - -1. Custom build flags - -.. code-block:: yaml - - dependencies: - cache_directories: - - "~/.platformio" - - pre: - - sudo pip install -U platformio - - # pre-install PlatformIO development platforms, they will be cached - - platformio platform install atmelavr atmelsam teensy - - # - # Libraries from PlatformIO Library Registry: - # - # http://platformio.org/lib/show/416/TinyGPS - # http://platformio.org/lib/show/417/SPI4Teensy3 - - platformio lib -g install 416 417 - - test: - override: - - platformio ci examples/acm/acm_terminal --board=uno --board=teensy31 --board=due --lib="." - - platformio ci examples/adk/adk_barcode --board=uno --board=teensy31 --board=due --lib="." - - platformio ci examples/adk/ArduinoBlinkLED --board=uno --board=teensy31 --board=due --lib="." - - platformio ci examples/adk/demokit_20 --board=uno --board=teensy31 --board=due --lib="." - # ... - - platformio ci examples/Xbox/XBOXUSB --board=uno --board=teensy31 --board=due --lib="." - -* Configuration file: https://github.com/ivankravets/USB_Host_Shield_2.0/blob/master/circle.yml -* Build History: https://circleci.com/gh/ivankravets/USB_Host_Shield_2.0/tree/master - -2. Dependency on external libraries - -.. code-block:: yaml - - dependencies: - pre: - # Install the latest stable PlatformIO - - sudo pip install -U platformio - - # download dependent libraries - - wget https://github.com/jcw/jeelib/archive/master.zip -O /tmp/jeelib.zip - - unzip /tmp/jeelib.zip -d /tmp - - - wget https://github.com/Rodot/Gamebuino/archive/master.zip -O /tmp/gamebuino.zip - - unzip /tmp/gamebuino.zip -d /tmp - - test: - override: - - platformio ci examples/backSoon/backSoon.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560 - - platformio ci examples/etherNode/etherNode.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560 - - platformio ci examples/getDHCPandDNS/getDHCPandDNS.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560 - - platformio ci examples/getStaticIP/getStaticIP.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560 - # ... - - platformio ci examples/twitter/twitter.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560 - - platformio ci examples/udpClientSendOnly/udpClientSendOnly.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560 - - platformio ci examples/udpListener/udpListener.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560 - - platformio ci examples/webClient/webClient.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560 - -* Configuration file: hhttps://github.com/ivankravets/ethercard/blob/master/circle.yaml -* Build History: https://circleci.com/gh/ivankravets/ethercard/tree/master diff --git a/docs/ci/drone.rst b/docs/ci/drone.rst deleted file mode 100644 index c0537d8e..00000000 --- a/docs/ci/drone.rst +++ /dev/null @@ -1,83 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _ci_drone: - -Drone -===== - -`Drone `_ is a hosted continuous integration service. -It enables you to conveniently set up projects to automatically build, test, -and deploy as you make changes to your code to -`GitHub `_ and -`BitBucket `_ repositories. - -Drone is configured by modifying settings in your project control panel. - -Drone automatically detects when a commit has been made and pushed to a -GitHub repository that is using Drone, and each time this happens, it will -try to build the project using :ref:`cmd_ci` command. This includes commits to -all branches, not just to the master branch. Drone will also build and run -pull requests. When that process has completed, it will notify a developer in -the way it has been configured to do so — for example, by sending an email -containing the build results (showing success or failure). It can be -configured to build project on a range of different :ref:`platforms`. - -.. contents:: - -Integration ------------ - -Please fill all fields for your project in the Drone control panel: - -`Environment Variables`: - -.. code-block:: bash - - PLATFORMIO_CI_SRC=path/to/source/file.c - PLATFORMIO_CI_SRC=path/to/source/file.ino - PLATFORMIO_CI_SRC=path/to/source/directory - -`Commands`: - -.. code-block:: bash - - pip install -U platformio - platformio ci --board= --board= --board= - -.. image:: ../_static/droneci-platformio-integration-1.png - -For more details as for PlatformIO build process please look into :ref:`cmd_ci` -command. - -Examples --------- - -1. Integration for `USB_Host_Shield_2.0 `_ - project. The ``circle.yml`` configuration file: - -`Environment Variables`: - -.. code-block:: bash - - PLATFORMIO_CI_SRC=examples/Bluetooth/PS3SPP/PS3SPP.ino - PLATFORMIO_CI_SRC=examples/pl2303/pl2303_gps/pl2303_gps.ino - -`Commands`: - -.. code-block:: bash - - pip install -U platformio - wget https://github.com/xxxajk/spi4teensy3/archive/master.zip -O /tmp/spi4teensy3.zip - unzip /tmp/spi4teensy3.zip -d /tmp - platformio ci --lib="." --lib="/tmp/spi4teensy3-master" --board=uno --board=teensy31 --board=due - -.. image:: ../_static/droneci-platformio-integration-2.png diff --git a/docs/ci/index.rst b/docs/ci/index.rst deleted file mode 100644 index 931f5147..00000000 --- a/docs/ci/index.rst +++ /dev/null @@ -1,35 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _ci: - -Continuous Integration -====================== - -`Continuous Integration (CI, wiki) `_ -is the practice, in software engineering, of merging all developer working -copies with a shared mainline several times a day. - -:ref:`cmd_ci` command is intended to be used in combination with the build -servers and the popular -`Continuous Integration Software `_. - -By integrating regularly, you can detect errors quickly, and locate them more -easily. - -.. toctree:: - :maxdepth: 2 - - appveyor - circleci - drone - shippable - travis diff --git a/docs/ci/shippable.rst b/docs/ci/shippable.rst deleted file mode 100644 index 63daa960..00000000 --- a/docs/ci/shippable.rst +++ /dev/null @@ -1,89 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _ci_shippable: - -Shippable -========= - -`Shippable `_ is a hosted cloud -platform that provides hosted continuous integration, deployment, and testing -to `GitHub `_ and -`BitBucket `_ repositories. -Shippable's continuous integration service is built using Docker. - -Shippable is configured by adding a file named ``shippable.yml``, which is a -`YAML `_ format text file, to the root -directory of the GitHub repository or you can use your Travis CI configuration -file ``.travis.yml``. - -Shippable automatically detects when a commit has been made and pushed to a -GitHub repository that is using Shippable, and each time this happens, it will -try to build the project using :ref:`cmd_ci` command. This includes commits to -all branches, not just to the master branch. Shippable will also build and run -pull requests. When that process has completed, it will notify a developer in -the way it has been configured to do so — for example, by sending an email -containing the build results (showing success or failure), or by posting a -message on an IRC channel. It can be configured to build project on a range of -different :ref:`platforms`. - -.. contents:: - -Integration ------------ - -Please put ``shippable.yml`` or ``.travis.yml`` to the root directory of the -GitHub repository. - -.. code-block:: yaml - - language: python - python: - - "2.7" - - env: - - PLATFORMIO_CI_SRC=path/to/source/file.c - - PLATFORMIO_CI_SRC=path/to/source/file.ino - - PLATFORMIO_CI_SRC=path/to/source/directory - - install: - - pip install -U platformio - - script: - - platformio ci --board= --board= --board= - - -For more details as for PlatformIO build process please look into :ref:`cmd_ci` -command. - -Examples --------- - -1. Integration for `USB_Host_Shield_2.0 `_ - project. The ``shippable.yml`` or ``.travis.yml`` configuration file: - -.. code-block:: yaml - - language: python - python: - - "2.7" - - env: - - PLATFORMIO_CI_SRC=examples/Bluetooth/PS3SPP/PS3SPP.ino - - PLATFORMIO_CI_SRC=examples/pl2303/pl2303_gps/pl2303_gps.ino - - install: - - pip install -U platformio - - wget https://github.com/xxxajk/spi4teensy3/archive/master.zip -O /tmp/spi4teensy3.zip - - unzip /tmp/spi4teensy3.zip -d /tmp - - script: - - platformio ci --lib="." --lib="/tmp/spi4teensy3-master" --board=uno --board=teensy31 --board=due diff --git a/docs/ci/travis.rst b/docs/ci/travis.rst deleted file mode 100644 index 5322ea5d..00000000 --- a/docs/ci/travis.rst +++ /dev/null @@ -1,330 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _ci_travis: - -Travis CI -========= - -.. image:: ../_static/ci-travis-logo.png - :target: https://docs.travis-ci.com/user/integration/platformio/ - - -**Travis CI** `officially supports `_ -**PlatformIO for Embedded Builds.** - -`Travis CI `_ is an open-source hosted, -distributed continuous integration service used to build and test projects -hosted at `GitHub `_. - -Travis CI is configured by adding a file named ``.travis.yml``, which is a -`YAML `_ format text file, to the root -directory of the GitHub repository. - -Travis CI automatically detects when a commit has been made and pushed to a -GitHub repository that is using Travis CI, and each time this happens, it will -try to build the project using :ref:`cmd_ci` command. This includes commits to -all branches, not just to the master branch. Travis CI will also build and run -pull requests. When that process has completed, it will notify a developer in -the way it has been configured to do so — for example, by sending an email -containing the build results (showing success or failure), or by posting a -message on an IRC channel. It can be configured to build project on a range of -different :ref:`platforms`. - -.. contents:: - -Integration ------------ - -Please make sure to read Travis CI `Getting Started `_ -and `general build configuration `_ -guides first. - -.. note:: - If you are going to use PlatformIO :ref:`unit_testing` or :ref:`pio_remote` - you will need to define :envvar:`PLATFORMIO_AUTH_TOKEN` environment - variable in project settings. See - `Defining Variables in Repository Settings `_ - guide. - -PlatformIO is written in Python and is recommended to be run within -`Travis CI Python isolated environment `_: - -.. code-block:: yaml - - language: python - python: - - "2.7" - - # Cache PlatformIO packages using Travis CI container-based infrastructure - sudo: false - cache: - directories: - - "~/.platformio" - - env: - - PLATFORMIO_CI_SRC=path/to/test/file.c - - PLATFORMIO_CI_SRC=examples/file.ino - - PLATFORMIO_CI_SRC=path/to/test/directory - - install: - - pip install -U platformio - - script: - - platformio ci --board= --board= --board= - -Then perform steps 1, 2 and 4 from http://docs.travis-ci.com/user/getting-started/ - -For more details as for PlatformIO build process please look into :ref:`cmd_ci`. - -Project as a library --------------------- - -When project is written as a library (where own examples or testing code use -it), please use ``--lib="."`` option for :ref:`cmd_ci` command - -.. code-block:: yaml - - script: - - platformio ci --lib="." --board= --board= --board= - -Library dependencies --------------------- - -There 2 options to test source code with dependent libraries: - -Install dependent library using :ref:`librarymanager` -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. code-block:: yaml - - install: - - pip install -U platformio - - # - # Libraries from PlatformIO Library Registry: - # - # http://platformio.org/lib/show/1/OneWire - - platformio lib -g install 1 - -Manually download dependent library and include in build process via ``--lib`` option -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. code-block:: yaml - - install: - - pip install -U platformio - - # download library to the temporary directory - - wget https://github.com/PaulStoffregen/OneWire/archive/master.zip -O /tmp/onewire_source.zip - - unzip /tmp/onewire_source.zip -d /tmp/ - - script: - - platformio ci --lib="/tmp/OneWire-master" --board= --board= --board= - -Custom Build Flags ------------------- - -PlatformIO allows to specify own build flags using :envvar:`PLATFORMIO_BUILD_FLAGS` environment - -.. code-block:: yaml - - env: - - PLATFORMIO_CI_SRC=path/to/test/file.c PLATFORMIO_BUILD_FLAGS="-D SPECIFIC_MACROS_PER_TEST_ENV -I/extra/inc" - - PLATFORMIO_CI_SRC=examples/file.ino - - PLATFORMIO_CI_SRC=path/to/test/directory - - install: - - pip install -U platformio - - export PLATFORMIO_BUILD_FLAGS="-D GLOBAL_MACROS_FOR_ALL_TEST_ENV" - - -For the more details, please follow to -:ref:`available build flags/options `. - - -Advanced configuration ----------------------- - -PlatformIO allows to configure multiple build environments for the single -source code using :ref:`projectconf`. - -Instead of ``--board`` option, please use :option:`platformio ci --project-conf` - -.. code-block:: yaml - - script: - - platformio ci --project-conf=/path/to/platoformio.ini - -Unit Testing ------------- - -See `PlatformIO Remote Unit Testing Example `_. - -Examples --------- - -1. Custom build flags - -.. code-block:: yaml - - language: python - python: - - "2.7" - - # Cache PlatformIO packages using Travis CI container-based infrastructure - sudo: false - cache: - directories: - - "~/.platformio" - - env: - - PLATFORMIO_CI_SRC=examples/acm/acm_terminal - - PLATFORMIO_CI_SRC=examples/Bluetooth/WiiIRCamera PLATFORMIO_BUILD_FLAGS="-DWIICAMERA" - - PLATFORMIO_CI_SRC=examples/ftdi/USBFTDILoopback - - PLATFORMIO_CI_SRC=examples/Xbox/XBOXUSB - # - ... - - install: - - pip install -U platformio - - # - # Libraries from PlatformIO Library Registry: - # - # http://platformio.org/lib/show/416/TinyGPS - # http://platformio.org/lib/show/417/SPI4Teensy3 - - platformio lib -g install 416 417 - - script: - - platformio ci --board=uno --board=teensy31 --board=due --lib="." - -* Configuration file: https://github.com/felis/USB_Host_Shield_2.0/blob/master/.travis.yml -* Build History: https://travis-ci.org/felis/USB_Host_Shield_2.0 - -2. Dependency on external libraries - -.. code-block:: yaml - - language: python - python: - - "2.7" - - # Cache PlatformIO packages using Travis CI container-based infrastructure - sudo: false - cache: - directories: - - "~/.platformio" - - env: - - PLATFORMIO_CI_SRC=examples/backSoon/backSoon.ino - - PLATFORMIO_CI_SRC=examples/etherNode/etherNode.ino - # - - - install: - - pip install -U platformio - - - wget https://github.com/jcw/jeelib/archive/master.zip -O /tmp/jeelib.zip - - unzip /tmp/jeelib.zip -d /tmp - - - wget https://github.com/Rodot/Gamebuino/archive/master.zip -O /tmp/gamebuino.zip - - unzip /tmp/gamebuino.zip -d /tmp - - script: - - platformio ci --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560 - -* Configuration file: https://github.com/jcw/ethercard/blob/master/.travis.yml -* Build History: https://travis-ci.org/jcw/ethercard - -3. Dynamic testing of the boards - -.. code-block:: yaml - - language: python - python: - - "2.7" - - # Cache PlatformIO packages using Travis CI container-based infrastructure - sudo: false - cache: - directories: - - "~/.platformio" - - env: - - PLATFORMIO_CI_SRC=examples/TimeArduinoDue PLATFORMIO_CI_EXTRA_ARGS="--board=due" - - PLATFORMIO_CI_SRC=examples/TimeGPS - - PLATFORMIO_CI_SRC=examples/TimeNTP - - PLATFORMIO_CI_SRC=examples/TimeTeensy3 PLATFORMIO_CI_EXTRA_ARGS="--board=teensy31" - # - ... - - install: - - pip install -U platformio - - rm -rf ./linux - - # - # Libraries from PlatformIO Library Registry: - # - # http://platformio.org/lib/show/416/TinyGPS - - platformio lib -g install 416 421 422 - - script: - - platformio ci --lib="." --board=uno --board=teensy20pp $PLATFORMIO_CI_EXTRA_ARGS - -* Configuration file: https://github.com/ivankravets/Time/blob/master/.travis.yml -* Build History: https://travis-ci.org/ivankravets/Time - -4. Advanced configuration with extra project options and libraries - -.. code-block:: yaml - - language: python - python: - - "2.7" - - # Cache PlatformIO packages using Travis CI container-based infrastructure - sudo: false - cache: - directories: - - "~/.platformio" - - env: - - PLATFORMIO_CI_SRC=examples/Boards_Bluetooth/Adafruit_Bluefruit_LE - - PLATFORMIO_CI_SRC=examples/Boards_Bluetooth/Arduino_101_BLE PLATFORMIO_CI_EXTRA_ARGS="--board=genuino101" - - PLATFORMIO_CI_SRC=examples/Boards_USB_Serial/Blue_Pill_STM32F103C PLATFORMIO_CI_EXTRA_ARGS="--board=bluepill_f103c8 --project-option='framework=arduino'" - - PLATFORMIO_CI_SRC=examples/Export_Demo/myPlant_ESP8266 PLATFORMIO_CI_EXTRA_ARGS="--board=nodemcuv2 --project-option='lib_ignore=WiFi101'" - # - ... - - install: - - pip install -U platformio - - # - # Libraries from PlatformIO Library Registry: - # - # http://platformio.org/lib/show/44/Time - # http://platformio.org/lib/show/419/SimpleTimer - # - # http://platformio.org/lib/show/17/Adafruit-CC3000 - # http://platformio.org/lib/show/28/SPI4Teensy3 - # http://platformio.org/lib/show/91/UIPEthernet - # http://platformio.org/lib/show/418/WildFireCore - # http://platformio.org/lib/show/420/WildFire-CC3000 - # http://platformio.org/lib/show/65/WiFlyHQ - # http://platformio.org/lib/show/19/Adafruit-DHT - # http://platformio.org/lib/show/299/WiFi101 - # http://platformio.org/lib/show/259/BLEPeripheral - # http://platformio.org/lib/show/177/Adafruit_BluefruitLE_nRF51 - - - platformio lib -g install 17 28 91 418 419 420 65 44 19 299 259 177 https://github.com/vshymanskyy/BlynkESP8266.git https://github.com/cmaglie/FlashStorage.git https://github.com/michael71/Timer5.git - - script: - - make travis-build - -* Configuration file: https://github.com/blynkkk/blynk-library/blob/master/.travis.yml -* Build History: https://travis-ci.org/blynkkk/blynk-library diff --git a/docs/conf.py b/docs/conf.py deleted file mode 100644 index 5f9474e6..00000000 --- a/docs/conf.py +++ /dev/null @@ -1,278 +0,0 @@ -# -*- coding: utf-8 -*- -# -# PlatformIO documentation build configuration file, created by -# sphinx-quickstart on Sun Aug 3 19:13:49 2014. -# -# This file is execfile()d with the current directory set to its -# containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -import os -import sys - - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -sys.path.insert(0, os.path.abspath(os.pardir)) - -# -- General configuration ------------------------------------------------ - -# If your documentation needs a minimal Sphinx version, state it here. -#needs_sphinx = '1.0' - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = [] - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# The suffix of source filenames. -source_suffix = '.rst' - -# The encoding of source files. -#source_encoding = 'utf-8-sig' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = u'PlatformIO' -copyright = u'2014-present, PlatformIO' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -import platformio -# The short X.Y version. -version = '.'.join(map(str, platformio.VERSION[0:2])) -# The full version, including alpha/beta/rc tags. -release = platformio.__version__ - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -#language = None - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -exclude_patterns = ['_build', '**/*_extra.rst'] - -# The reST default role (used for this markup: `text`) to use for all -# documents. -#default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -#add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' - -# A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] - -# If true, keep warnings as "system message" paragraphs in the built documents. -#keep_warnings = False - - -# -- Options for HTML output ---------------------------------------------- - -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -html_theme = 'default' - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -#html_theme_options = {} - -# Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -#html_title = None - -# A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -#html_logo = '_static/platformio-logo.png' - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -html_favicon = '_static/favicon.ico' - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] - -# Add any extra paths that contain custom files (such as robots.txt or -# .htaccess) here, relative to this directory. These files are copied -# directly to the root of the documentation. -#html_extra_path = [] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - -# If false, no module index is generated. -#html_domain_indices = True - -# If false, no index is generated. -#html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True - -# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True - -# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -#html_use_opensearch = '' - -# This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None - -# Output file base name for HTML help builder. -htmlhelp_basename = 'PlatformIOdoc' - - -# -- Options for LaTeX output --------------------------------------------- - -latex_elements = { - # The paper size ('letterpaper' or 'a4paper'). - #'papersize': 'letterpaper', - - # The font size ('10pt', '11pt' or '12pt'). - #'pointsize': '10pt', - - # Additional stuff for the LaTeX preamble. - #'preamble': '', -} - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, -# author, documentclass [howto, manual, or own class]). -latex_documents = [ - ('index', 'PlatformIO.tex', u'PlatformIO Documentation', - u'PlatformIO', 'manual'), -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -#latex_use_parts = False - -# If true, show page references after internal links. -#latex_show_pagerefs = False - -# If true, show URL addresses after external links. -#latex_show_urls = False - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# If false, no module index is generated. -#latex_domain_indices = True - - -# -- Options for manual page output --------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - ('index', 'platformio', u'PlatformIO Documentation', - [u'PlatformIO'], 1) -] - -# If true, show URL addresses after external links. -#man_show_urls = False - - -# -- Options for Texinfo output ------------------------------------------- - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - ('index', 'PlatformIO', u'PlatformIO Documentation', - u'PlatformIO', 'PlatformIO', 'One line description of project.', - 'Miscellaneous'), -] - -# Documents to append as an appendix to all manuals. -#texinfo_appendices = [] - -# If false, no module index is generated. -#texinfo_domain_indices = True - -# How to display URL addresses: 'footnote', 'no', or 'inline'. -#texinfo_show_urls = 'footnote' - -# If true, do not generate a @detailmenu in the "Top" node's menu. -#texinfo_no_detailmenu = False - - -# Example configuration for intersphinx: refer to the Python standard library. -#intersphinx_mapping = {'http://docs.python.org/': None} - -# Read the Docs Sphinx Theme patch -# on_rtd is whether we are on readthedocs.org, -# this line of code grabbed from docs.readthedocs.org -on_rtd = os.environ.get('READTHEDOCS', None) == 'True' -if not on_rtd: # only import and set the theme if we're building docs locally - import sphinx_rtd_theme - html_theme = 'sphinx_rtd_theme' - html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] - -# A timeout value, in seconds, for the linkcheck builder -# http://sphinx-doc.org/config.html#confval-linkcheck_timeout -linkcheck_timeout = 10 -linkcheck_anchors = False diff --git a/docs/core.rst b/docs/core.rst deleted file mode 100644 index 22dfc2f9..00000000 --- a/docs/core.rst +++ /dev/null @@ -1,53 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _core: - -PlatformIO Core -=============== - -**PlatformIO Core** is a heart of whole PlatformIO ecosystem and consists of - -* Multi-platform Build System -* Development platform and package managers -* :ref:`librarymanager` -* :ref:`ldf` -* :ref:`Serial Port Monitor ` -* Integration components (:ref:`ide` and :ref:`ci`). - -**PlatformIO Core** is written in `Python `_ -and works on Windows, macOS, Linux, FreeBSD and *ARM*-based credit-card sized -computers (`Raspberry Pi `_, -`BeagleBone `_, -`CubieBoard `_). - - -**PlatformIO Core** provides rich and documented Command Line Interface (CLI). -The other PlatformIO-based software and IDEs are based on -**PlatformIO Core CLI**, such as :ref:`ide_atom`. In other words, they wrap -**PlatformIO Core** with own GUI. - -.. note:: - - Please note that you do not need to install **PlatformIO Core** if you - are going to use :ref:`ide_atom`. **PlatformIO Core** is built into - PlatformIO IDE and you will be able to use it within PlatformIO IDE Terminal. - - Also, PlatformIO IDE allows to install :ref:`core` Shell Commands - (``pio``, ``platformio``) globally to your system via - ``Menu: PlatformIO > Install Shell Commands``. - -.. toctree:: - :maxdepth: 2 - - installation - quickstart - userguide/index diff --git a/docs/demo.rst b/docs/demo.rst deleted file mode 100644 index 7e535991..00000000 --- a/docs/demo.rst +++ /dev/null @@ -1,79 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _demo: - -Demo & Projects -=============== - -.. contents:: - -Project Examples ----------------- - -Pre-configured demo projects are located in PlatformIO GitHub repository -`https://github.com/platformio/platformio-examples `_. - -"Blink Project" ---------------- - -.. image:: _static/platformio-demo-wiring.gif - -Used in demo -~~~~~~~~~~~~ - -1. Source code of `Wiring Blink Example `_ -2. :ref:`cmd_run` command -3. :ref:`platformio run -t upload ` command. - -Platform Manager ----------------- - -.. image:: _static/platformio-demo-platforms.gif - -Used in demo -~~~~~~~~~~~~ - -1. :ref:`userguide_platform` -2. :ref:`cmd_platform_list` command -3. :ref:`platformio platform search avr ` command -4. :ref:`platformio platform show teensy ` command -5. :ref:`cmd_platform_update` command. - -Library Manager ---------------- - -.. image:: _static/platformio-demo-lib.gif - -Used in demo -~~~~~~~~~~~~ - -1. :ref:`cmd_lib` -2. :ref:`platformio lib search 1-wire ` command -3. :ref:`platformio lib install 54 ` command -4. :ref:`platformio lib search -f mbed ` command -5. :ref:`platformio lib search -k rf ` command -6. :ref:`platformio lib search radiohead ` command -7. :ref:`platformio lib install 124 --version "1.40" ` command -8. :ref:`platformio lib show 124 ` command -9. :ref:`cmd_lib_update` command. - -Over-the-Air update for ESP8266 -------------------------------- - -.. image:: _static/platformio-demo-ota-esp8266.jpg - :target: https://www.youtube.com/watch?v=lXchL3hpDO4 - -Used in demo -~~~~~~~~~~~~ - -1. :ref:`cmd_run` command -2. :ref:`platformio run -t upload ` command. diff --git a/docs/envvars.rst b/docs/envvars.rst deleted file mode 100644 index 68bad5be..00000000 --- a/docs/envvars.rst +++ /dev/null @@ -1,196 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _envvars: - -Environment variables -===================== - -`Environment variables `_ -are a set of dynamic named values that can affect the way running processes -will behave on a computer. - -*PlatformIO* handles variables which start with ``PLATFORMIO_`` prefix. They -have the **HIGHEST PRIORITY**. - -How to set environment variable? - -.. code-block:: bash - - # Windows - set VARIABLE_NAME=VALUE - - # Unix (bash, zsh) - export VARIABLE_NAME=VALUE - - # Unix (fish) - set -x VARIABLE_NAME VALUE - -.. contents:: - -General -------- - -PlatformIO uses *General* environment variables for the common -operations/commands. - -.. envvar:: CI - -PlatformIO handles ``CI`` variable which is setup by -`Continuous Integration `_ -(Travis, Circle and etc.) systems. -PlatformIO uses it to disable prompts and progress bars. In other words, -``CI=true`` automatically setup :envvar:`PLATFORMIO_DISABLE_PROGRESSBAR` to -``true``. - -.. envvar:: PLATFORMIO_AUTH_TOKEN - -Allows to specify Personal Authentication Token that could be used for -automatic login in to :ref:`cmd_account`. It is very useful for :ref:`ci` -systems and :ref:`pio_remote` operations where you are not able manually authorize. - -You can get own Personal Authentication Token using :ref:`cmd_account_token` -command. - -.. envvar:: PLATFORMIO_FORCE_COLOR - -Force to output color ANSI-codes even if the output is a ``pipe`` (not a ``tty``). -The possible values are ``true`` and ``false``. Default is ``PLATFORMIO_FORCE_COLOR=false``. - -.. envvar:: PLATFORMIO_DISABLE_PROGRESSBAR - -Disable progress bar for package/library downloader and uploader. This is -useful when calling PlatformIO from subprocess and output is a ``pipe`` (not a ``tty``). -The possible values are ``true`` and ``false``. Default is ``PLATFORMIO_DISABLE_PROGRESSBAR=false``. - -.. envvar:: PLATFORMIO_HOME_DIR - -Allows to override :ref:`projectconf` option :ref:`projectconf_pio_home_dir`. - -.. envvar:: PLATFORMIO_LIB_DIR - -Allows to override :ref:`projectconf` option :ref:`projectconf_pio_lib_dir`. - -.. envvar:: PLATFORMIO_LIBDEPS_DIR - -Allows to override :ref:`projectconf` option :ref:`projectconf_pio_libdeps_dir`. - -.. envvar:: PLATFORMIO_SRC_DIR - -Allows to override :ref:`projectconf` option :ref:`projectconf_pio_src_dir`. - -.. envvar:: PLATFORMIO_ENVS_DIR - -Allows to override :ref:`projectconf` option :ref:`projectconf_pio_envs_dir`. - -.. envvar:: PLATFORMIO_DATA_DIR - -Allows to override :ref:`projectconf` option :ref:`projectconf_pio_data_dir`. - -.. envvar:: PLATFORMIO_TEST_DIR - -Allows to override :ref:`projectconf` option :ref:`projectconf_pio_test_dir`. - -.. envvar:: PLATFORMIO_BOARDS_DIR - -Allows to override :ref:`projectconf` option :ref:`projectconf_pio_boards_dir`. - -.. envvar:: PLATFORMIO_REMOTE_AGENT_DIR - -Allows to override :option:`platformio remote agent start --working-dir`. - -Building --------- - -.. envvar:: PLATFORMIO_BUILD_FLAGS - -Allows to set :ref:`projectconf` option :ref:`projectconf_build_flags`. - -Examples: - -.. code-block:: bash - - # Unix: - export PLATFORMIO_BUILD_FLAGS=-DFOO - export PLATFORMIO_BUILD_FLAGS=-DFOO -DBAR=1 -DFLOAT_VALUE=1.23457e+07 - export PLATFORMIO_BUILD_FLAGS='-DWIFI_PASS=\"My password\"' '-DWIFI_SSID=\"My ssid name\"' - - # Windows: - SET PLATFORMIO_BUILD_FLAGS=-DFOO - SET PLATFORMIO_BUILD_FLAGS=-DFOO -DBAR=1 -DFLOAT_VALUE=1.23457e+07 - SET PLATFORMIO_BUILD_FLAGS='-DWIFI_PASS="My password"' '-DWIFI_SSID="My ssid name"' - -.. envvar:: PLATFORMIO_SRC_BUILD_FLAGS - -Allows to set :ref:`projectconf` option :ref:`projectconf_src_build_flags`. - -.. envvar:: PLATFORMIO_SRC_FILTER - -Allows to set :ref:`projectconf` option :ref:`projectconf_src_filter`. - -.. envvar:: PLATFORMIO_EXTRA_SCRIPT - -Allows to set :ref:`projectconf` option :ref:`projectconf_extra_script`. - -.. envvar:: PLATFORMIO_LIB_EXTRA_DIRS - -Allows to set :ref:`projectconf` option :ref:`projectconf_lib_extra_dirs`. - - -Uploading ---------- - -.. envvar:: PLATFORMIO_UPLOAD_PORT - -Allows to set :ref:`projectconf` option :ref:`projectconf_upload_port`. - -.. envvar:: PLATFORMIO_UPLOAD_FLAGS - -Allows to set :ref:`projectconf` option :ref:`projectconf_upload_flags`. - - -Settings --------- - -Allows to override PlatformIO settings. You can manage them via -:ref:`cmd_settings` command. - -.. envvar:: PLATFORMIO_SETTING_AUTO_UPDATE_LIBRARIES - -Allows to override setting :ref:`setting_auto_update_libraries`. - -.. envvar:: PLATFORMIO_SETTING_AUTO_UPDATE_PLATFORMS - -Allows to override setting :ref:`setting_auto_update_platforms`. - -.. envvar:: PLATFORMIO_SETTING_CHECK_LIBRARIES_INTERVAL - -Allows to override setting :ref:`setting_check_libraries_interval`. - -.. envvar:: PLATFORMIO_SETTING_CHECK_PLATFORMIO_INTERVAL - -Allows to override setting :ref:`setting_check_platformio_interval`. - -.. envvar:: PLATFORMIO_SETTING_CHECK_PLATFORMS_INTERVAL - -Allows to override setting :ref:`setting_check_platforms_interval`. - -.. envvar:: PLATFORMIO_SETTING_ENABLE_TELEMETRY - -Allows to override setting :ref:`setting_enable_telemetry`. - -.. envvar:: PLATFORMIO_SETTING_FORCE_VERBOSE - -Allows to override setting :ref:`setting_force_verbose`. - -.. envvar:: PLATFORMIO_SETTING_ENABLE_SSL - -Allows to override setting :ref:`setting_enable_ssl`. diff --git a/docs/faq.rst b/docs/faq.rst deleted file mode 100644 index 6cea5fb6..00000000 --- a/docs/faq.rst +++ /dev/null @@ -1,164 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _faq: - -Frequently Asked Questions -========================== - -.. note:: - We have a big database with `Frequently Asked Questions in our Community Forums `_. - Please have a look at it. - -.. contents:: - -General -------- - -What is PlatformIO? -~~~~~~~~~~~~~~~~~~~ - -Please refer to :ref:`what_is_pio` - -What is ``.pioenvs`` directory -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Please refer to :ref:`projectconf_pio_envs_dir`. - -Command completion in Terminal -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Bash completion -''''''''''''''' - -Bash completion support will complete subcommands and parameters. To enable -Bash completion for `platformio` subcommands you need to put into your `.bashrc`: - -.. code-block:: bash - - eval "$(_PLATFORMIO_COMPLETE=source platformio)" - eval "$(_PLATFORMIO_COMPLETE=source pio)" - -ZSH completion -'''''''''''''' - -To enable ``zsh`` completion please run these commands: - -.. code-block:: bash - - autoload bashcompinit && bashcompinit - eval "$(_PLATFORMIO_COMPLETE=source platformio)" - eval "$(_PLATFORMIO_COMPLETE=source pio)" - -.. note:: - - For permanent command completion you need to place commands above to - ``~/.bashrc`` or ``~/.zshrc`` file. - -PlatformIO IDE --------------- - -Please refer to :ref:`PlatformIO IDE Frequently Asked Questions `. - -Before/Pre and After/Post build actions ---------------------------------------- - -PlatformIO Build System has rich API that allows to attach different pre-/post -actions (hooks). See features of :ref:`projectconf_extra_script` option for -:ref:`projectconf`. - -.. _faq_troubleshooting: - -Troubleshooting ---------------- - -Installation -~~~~~~~~~~~~ - -[Errno 1] Operation not permitted -''''''''''''''''''''''''''''''''' - -Answered in `issue #295 `_. - -Windows AttributeError: 'module' object has no attribute 'packages' -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -Answered in `issue #252 `_. - -.. _faq_troubleshooting_pionotfoundinpath: - -Program "platformio" not found in PATH -'''''''''''''''''''''''''''''''''''''' - -Where is ``platformio`` binary installed? Run this command in Terminal - -.. code-block:: bash - - # for Unix - which platformio - echo $PATH - Windows OS - where platformio - echo %PATH% - -For example, ``which platformio`` is equal to ``/usr/local/bin/platformio``, -then `PATH (wiki) `_ -should contain ``/usr/local/bin`` directory. - -**Unix Users**: You can make "symlinks" from ``platformio`` program to the -``bin`` directory which is included in ``$PATH``. For example, -see `issue #272 `_. - -Windows UnicodeDecodeError: 'ascii' codec can't decode byte -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -Answered in `issue #143 `_. - -PlatformIO: command not found || An error "pkg_resources.DistributionNotFound" -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -Please upgrade *SetupTools* package: - -.. code-block:: bash - - [sudo] pip uninstall setuptools - [sudo] pip install setuptools - - # Then re-install PlatformIO - [sudo] pip uninstall platformio - [sudo] pip install platformio - -Miscellaneous -~~~~~~~~~~~~~ - -Serial does not work with panStampAVR board -''''''''''''''''''''''''''''''''''''''''''' - -Answered in `issue #144 `_. - -Building -~~~~~~~~ - -ARM toolchain: cc1plus: error while loading shared libraries -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -See related answers for -`error while loading shared libraries `_. - -Archlinux: libncurses.so.5: cannot open shared object file -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -Answered in `issue #291 `_. - -Monitoring a serial port breaks upload -'''''''''''''''''''''''''''''''''''''' - -Answered in `issue #384 `_. diff --git a/docs/frameworks/arduino.rst b/docs/frameworks/arduino.rst deleted file mode 100644 index 0e5be94d..00000000 --- a/docs/frameworks/arduino.rst +++ /dev/null @@ -1,2365 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _framework_arduino: - -Framework ``arduino`` -===================== -Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Platforms ---------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`platform_atmelavr` - - Atmel AVR 8- and 32-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industrys most code-efficient architecture for C and assembly programming. - - * - :ref:`platform_atmelsam` - - Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix. - - * - :ref:`platform_espressif32` - - 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_espressif8266` - - Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications. - - * - :ref:`platform_intel_arc32` - - ARC embedded processors are a family of 32-bit CPUs that are widely used in SoC devices for storage, home, mobile, automotive, and Internet of Things applications. - - * - :ref:`platform_microchippic32` - - Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs! - - * - :ref:`platform_nordicnrf51` - - The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell. - - * - :ref:`platform_ststm32` - - The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development. - - * - :ref:`platform_teensy` - - Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port. - - * - :ref:`platform_timsp430` - - MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by horizontal. - -4DSystems -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``picadillo_35t`` - - `4DSystems PICadillo 35T `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - -Adafruit -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``adafruit_feather_m0_usb`` - - `Adafruit Feather M0 `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``bluefruitmicro`` - - `Adafruit Bluefruit Micro `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``feather32u4`` - - `Adafruit Feather `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``flora8`` - - `Adafruit Flora `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``gemma`` - - `Adafruit Gemma `_ - - ATTINY85 - - 8 MHz - - 8 Kb - - 0.5 Kb - - * - ``huzzah`` - - `Adafruit HUZZAH ESP8266 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``metro`` - - `Adafruit Metro `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``protrinket3`` - - `Adafruit Pro Trinket 3V/12MHz (USB) `_ - - ATMEGA328P - - 12 MHz - - 32 Kb - - 2 Kb - - * - ``protrinket3ftdi`` - - `Adafruit Pro Trinket 3V/12MHz (FTDI) `_ - - ATMEGA328P - - 12 MHz - - 32 Kb - - 2 Kb - - * - ``protrinket5`` - - `Adafruit Pro Trinket 5V/16MHz (USB) `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``protrinket5ftdi`` - - `Adafruit Pro Trinket 5V/16MHz (USB) `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``trinket3`` - - `Adafruit Trinket 3V/8MHz `_ - - ATTINY85 - - 8 MHz - - 8 Kb - - 0.5 Kb - - * - ``trinket5`` - - `Adafruit Trinket 5V/16MHz `_ - - ATTINY85 - - 16 MHz - - 8 Kb - - 0.5 Kb - -April Brother -~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espea32`` - - `April Brother ESPea32 `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 288 Kb - -Arduboy -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``arduboy`` - - `Arduboy `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``arduboy_devkit`` - - `Arduboy DevKit `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - -Arduino -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``LilyPadUSB`` - - `Arduino LilyPad USB `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``atmega328pb`` - - `Atmel ATmega328PB `_ - - ATMEGA328PB - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``atmegangatmega168`` - - `Arduino NG or older ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``atmegangatmega8`` - - `Arduino NG or older ATmega8 `_ - - ATMEGA8 - - 16 MHz - - 8 Kb - - 1 Kb - - * - ``btatmega168`` - - `Arduino BT ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``btatmega328`` - - `Arduino BT ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``chiwawa`` - - `Arduino Industrial 101 `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``diecimilaatmega168`` - - `Arduino Duemilanove or Diecimila ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``diecimilaatmega328`` - - `Arduino Duemilanove or Diecimila ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``due`` - - `Arduino Due (Programming Port) `_ - - SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - - * - ``dueUSB`` - - `Arduino Due (USB Native Port) `_ - - SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - - * - ``esplora`` - - `Arduino Esplora `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``ethernet`` - - `Arduino Ethernet `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``fio`` - - `Arduino Fio `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``leonardo`` - - `Arduino Leonardo `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``leonardoeth`` - - `Arduino Leonardo ETH `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``lilypadatmega168`` - - `Arduino LilyPad ATmega168 `_ - - ATMEGA168 - - 8 MHz - - 16 Kb - - 1 Kb - - * - ``lilypadatmega328`` - - `Arduino LilyPad ATmega328 `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``megaADK`` - - `Arduino Mega ADK `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - - * - ``megaatmega1280`` - - `Arduino Mega or Mega 2560 ATmega1280 `_ - - ATMEGA1280 - - 16 MHz - - 128 Kb - - 8 Kb - - * - ``megaatmega2560`` - - `Arduino Mega or Mega 2560 ATmega2560 (Mega 2560) `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - - * - ``micro`` - - `Arduino Micro `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``miniatmega168`` - - `Arduino Mini ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``miniatmega328`` - - `Arduino Mini ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``mkr1000USB`` - - `Arduino MKR1000 `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``mzeroUSB`` - - `Arduino M0 `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``mzeropro`` - - `Arduino M0 Pro (Programming Port) `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``mzeroproUSB`` - - `Arduino M0 Pro (Native USB Port) `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``nanoatmega168`` - - `Arduino Nano ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``nanoatmega328`` - - `Arduino Nano ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``pro16MHzatmega168`` - - `Arduino Pro or Pro Mini ATmega168 (5V, 16 MHz) `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``pro16MHzatmega328`` - - `Arduino Pro or Pro Mini ATmega328 (5V, 16 MHz) `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``pro8MHzatmega168`` - - `Arduino Pro or Pro Mini ATmega168 (3.3V, 8 MHz) `_ - - ATMEGA168 - - 8 MHz - - 16 Kb - - 1 Kb - - * - ``pro8MHzatmega328`` - - `Arduino Pro or Pro Mini ATmega328 (3.3V, 8 MHz) `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``robotControl`` - - `Arduino Robot Control `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``robotMotor`` - - `Arduino Robot Motor `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``tian`` - - `Arduino Tian `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``uno`` - - `Arduino Uno `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``yun`` - - `Arduino Yun `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``yunmini`` - - `Arduino Yun Mini `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``zero`` - - `Arduino Zero (Programming Port) `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``zeroUSB`` - - `Arduino Zero (USB Native Port) `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - -BQ -~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``zumbt328`` - - `BQ ZUM BT-328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -BitWizard -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``raspduino`` - - `BitWizard Raspduino `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -Digilent -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``cerebot32mx4`` - - `Digilent Cerebot 32MX4 `_ - - 32MX460F512L - - 80 MHz - - 512 Kb - - 32 Kb - - * - ``cerebot32mx7`` - - `Digilent Cerebot 32MX7 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``chipkit_cmod`` - - `Digilent chipKIT Cmod `_ - - 32MX150F128D - - 40 MHz - - 128 Kb - - 32 Kb - - * - ``chipkit_dp32`` - - `Digilent chipKIT DP32 `_ - - 32MX250F128B - - 40 MHz - - 128 Kb - - 32 Kb - - * - ``chipkit_mx3`` - - `Digilent chipKIT MX3 `_ - - 32MX320F128H - - 80 MHz - - 128 Kb - - 16 Kb - - * - ``chipkit_pro_mx4`` - - `Digilent chipKIT Pro MX4 `_ - - 32MX460F512L - - 80 MHz - - 512 Kb - - 32 Kb - - * - ``chipkit_pro_mx7`` - - `Digilent chipKIT Pro MX7 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``chipkit_uc32`` - - `Digilent chipKIT uC32 `_ - - 32MX340F512H - - 80 MHz - - 512 Kb - - 32 Kb - - * - ``chipkit_wf32`` - - `Digilent chipKIT WF32 `_ - - 32MX695F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``chipkit_wifire`` - - `Digilent chipKIT WiFire `_ - - 32MZ2048ECG100 - - 200 MHz - - 2048 Kb - - 512 Kb - - * - ``mega_pic32`` - - `Digilent chipKIT MAX32 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``openscope`` - - `Digilent OpenScope `_ - - 32MZ2048EFG124 - - 200 MHz - - 2048 Kb - - 512 Kb - - * - ``uno_pic32`` - - `Digilent chipKIT UNO32 `_ - - 32MX320F128H - - 80 MHz - - 128 Kb - - 16 Kb - -Digistump -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``digispark-pro`` - - `Digistump Digispark Pro (Default 16 MHz) `_ - - ATTINY167 - - 16 MHz - - 16 Kb - - 0.5 Kb - - * - ``digispark-pro32`` - - `Digistump Digispark Pro (16 MHz) (32 byte buffer) `_ - - ATTINY167 - - 16 MHz - - 16 Kb - - 0.5 Kb - - * - ``digispark-pro64`` - - `Digistump Digispark Pro (16 MHz) (64 byte buffer) `_ - - ATTINY167 - - 16 MHz - - 16 Kb - - 0.5 Kb - - * - ``digispark-tiny`` - - `Digistump Digispark (Default - 16 MHz) `_ - - ATTINY85 - - 16 MHz - - 8 Kb - - 0.5 Kb - - * - ``digix`` - - `Digistump DigiX `_ - - AT91SAM3X8E - - 84 MHz - - 512 Kb - - 28 Kb - -Doit -~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espduino`` - - `ESPDuino (ESP-13 Module) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -DycodeX -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espectro`` - - `ESPrectro Core `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -ESPert -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espresso_lite_v1`` - - `ESPresso Lite 1.0 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``espresso_lite_v2`` - - `ESPresso Lite 2.0 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -ESPino -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espino`` - - `ESPino `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -Electronic SweetPeas -~~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``esp320`` - - `Electronic SweetPeas ESP320 `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 288 Kb - -Engduino -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``engduinov1`` - - `Engduino 1 `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``engduinov2`` - - `Engduino 2 `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``engduinov3`` - - `Engduino 3 `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - -Espressif -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``esp01`` - - `Espressif Generic ESP8266 ESP-01 512k `_ - - ESP8266 - - 80 MHz - - 512 Kb - - 80 Kb - - * - ``esp01_1m`` - - `Espressif Generic ESP8266 ESP-01 1M `_ - - ESP8266 - - 80 MHz - - 1024 Kb - - 80 Kb - - * - ``esp07`` - - `Espressif Generic ESP8266 ESP-07 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``esp12e`` - - `Espressif ESP8266 ESP-12E `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``esp32dev`` - - `Espressif ESP32 Dev Module `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 112 Kb - - * - ``esp8285`` - - `Generic ESP8285 Module `_ - - ESP8266 - - 80 MHz - - 448 Kb - - 80 Kb - - * - ``esp_wroom_02`` - - `ESP-WROOM-02 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``phoenix_v1`` - - `Phoenix 1.0 `_ - - ESP8266 - - 80 MHz - - 1024 Kb - - 80 Kb - - * - ``phoenix_v2`` - - `Phoenix 2.0 `_ - - ESP8266 - - 80 MHz - - 1024 Kb - - 80 Kb - - * - ``wifinfo`` - - `WifInfo `_ - - ESP8266 - - 80 MHz - - 448 Kb - - 80 Kb - -Fubarino -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``fubarino_mini`` - - `Fubarino Mini `_ - - 32MX250F128D - - 48 MHz - - 128 Kb - - 32 Kb - - * - ``fubarino_sd`` - - `Fubarino SD (1.5) `_ - - 32MX795F512H - - 80 MHz - - 512 Kb - - 128 Kb - -Generic -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``bluepill_f103c8`` - - `BluePill F103C8 `_ - - STM32F103C8T6 - - 72 MHz - - 64 Kb - - 20 Kb - - * - ``genericSTM32F103C8`` - - `STM32F103C8 (20k RAM. 64k Flash) `_ - - STM32F103C8 - - 72 MHz - - 64 Kb - - 20 Kb - - * - ``genericSTM32F103CB`` - - `STM32F103CB (20k RAM. 128k Flash) `_ - - STM32F103CB - - 72 MHz - - 128 Kb - - 20 Kb - - * - ``genericSTM32F103R8`` - - `STM32F103R8 (20k RAM. 64 Flash) `_ - - STM32F103R8 - - 72 MHz - - 64 Kb - - 20 Kb - - * - ``genericSTM32F103RB`` - - `STM32F103RB (20k RAM. 128k Flash) `_ - - STM32F103RB - - 72 MHz - - 128 Kb - - 20 Kb - - * - ``genericSTM32F103RC`` - - `STM32F103RC (48k RAM. 256k Flash) `_ - - STM32F103RC - - 72 MHz - - 256 Kb - - 48 Kb - - * - ``genericSTM32F103RE`` - - `STM32F103RE (64k RAM. 512k Flash) `_ - - STM32F103RE - - 72 MHz - - 512 Kb - - 64 Kb - -Generic ATTiny -~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``attiny13`` - - `Generic ATTiny13 `_ - - ATTINY13 - - 9 MHz - - 1 Kb - - 0.0625 Kb - - * - ``attiny24`` - - `Generic ATTiny24 `_ - - ATTINY24 - - 8 MHz - - 2 Kb - - 0.125 Kb - - * - ``attiny25`` - - `Generic ATTiny25 `_ - - ATTINY25 - - 8 MHz - - 2 Kb - - 0.125 Kb - - * - ``attiny44`` - - `Generic ATTiny44 `_ - - ATTINY44 - - 8 MHz - - 4 Kb - - 0.25 Kb - - * - ``attiny45`` - - `Generic ATTiny45 `_ - - ATTINY45 - - 8 MHz - - 4 Kb - - 0.25 Kb - - * - ``attiny84`` - - `Generic ATTiny84 `_ - - ATTINY84 - - 8 MHz - - 8 Kb - - 0.5 Kb - - * - ``attiny85`` - - `Generic ATTiny85 `_ - - ATTINY85 - - 8 MHz - - 8 Kb - - 0.5 Kb - -Intel -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``genuino101`` - - `Arduino/Genuino 101 `_ - - ARCV2EM - - 32 MHz - - 192 Kb - - 80 Kb - -LeafLabs -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``maple`` - - `Maple `_ - - STM32F103RB - - 72 MHz - - 128 Kb - - 17 Kb - - * - ``maple_mini_b20`` - - `Maple Mini Bootloader 2.0 `_ - - STM32F103CB - - 72 MHz - - 128 Kb - - 20 Kb - - * - ``maple_mini_origin`` - - `Maple Mini Original `_ - - STM32F103CB - - 72 MHz - - 128 Kb - - 17 Kb - -LightUp -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lightup`` - - `LightUp `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - -Linino -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``one`` - - `Linino One `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - -LowPowerLab -~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``moteino`` - - `LowPowerLab Moteino `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``moteinomega`` - - `LowPowerLab MoteinoMEGA `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - -MakerAsia -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``nano32`` - - `MakerAsia Nano32 `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 288 Kb - -Mcudude -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``mightycore1284`` - - `MightyCore ATmega1284 `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``mightycore16`` - - `MightyCore ATmega16 `_ - - ATMEGA16 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``mightycore164`` - - `MightyCore ATmega164 `_ - - ATMEGA164P - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``mightycore32`` - - `MightyCore ATmega32 `_ - - ATMEGA32 - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``mightycore324`` - - `MightyCore ATmega324 `_ - - ATMEGA324P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``mightycore644`` - - `MightyCore ATmega644 `_ - - ATMEGA644P - - 16 MHz - - 64 Kb - - 4 Kb - - * - ``mightycore8535`` - - `MightyCore ATmega8535 `_ - - ATMEGA16 - - 16 MHz - - 8 Kb - - 0.5 Kb - -Microduino -~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``1284p16m`` - - `Microduino Core+ (ATmega1284P@16M,5V) `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``1284p8m`` - - `Microduino Core+ (ATmega1284P@8M,3.3V) `_ - - ATMEGA1284P - - 8 MHz - - 128 Kb - - 16 Kb - - * - ``168pa16m`` - - `Microduino Core (Atmega168PA@16M,5V) `_ - - ATMEGA168P - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``168pa8m`` - - `Microduino Core (Atmega168PA@8M,3.3V) `_ - - ATMEGA168P - - 8 MHz - - 16 Kb - - 1 Kb - - * - ``328p16m`` - - `Microduino Core (Atmega328P@16M,5V) `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``328p8m`` - - `Microduino Core (Atmega328P@8M,3.3V) `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``32u416m`` - - `Microduino Core USB (ATmega32U4@16M,5V) `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``644pa16m`` - - `Microduino Core+ (Atmega644PA@16M,5V) `_ - - ATMEGA644P - - 16 MHz - - 64 Kb - - 4 Kb - - * - ``644pa8m`` - - `Microduino Core+ (Atmega644PA@8M,3.3V) `_ - - ATMEGA644P - - 8 MHz - - 64 Kb - - 4 Kb - -MikroElektronika -~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``clicker2`` - - `MikroElektronika Clicker 2 `_ - - 32MX460F512L - - 80 MHz - - 512 Kb - - 32 Kb - -NodeMCU -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``nodemcu`` - - `NodeMCU 0.9 (ESP-12 Module) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``nodemcuv2`` - - `NodeMCU 1.0 (ESP-12E Module) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -Noduino -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``quantum`` - - `Noduino Quantum `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 288 Kb - -Olimex -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``modwifi`` - - `Olimex MOD-WIFI-ESP8266(-DEV) `_ - - ESP8266 - - 80 MHz - - 2048 Kb - - 80 Kb - - * - ``pinguino32`` - - `Olimex PIC32-PINGUINO `_ - - 32MX440F256H - - 80 MHz - - 256 Kb - - 32 Kb - -OpenBCI -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``openbci`` - - `OpenBCI 32bit `_ - - 32MX250F128B - - 40 MHz - - 128 Kb - - 32 Kb - -OpenEnergyMonitor -~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``emonpi`` - - `OpenEnergyMonitor emonPi `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -PONTECH -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``quick240_usb`` - - `PONTECH quicK240 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``usbono_pic32`` - - `PONTECH UAV100 `_ - - 32MX440F512H - - 80 MHz - - 512 Kb - - 32 Kb - -PanStamp -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``panStampAVR`` - - `PanStamp AVR `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``panStampNRG`` - - `PanStamp NRG 1.1 `_ - - CC430F5137 - - 12 MHz - - 32 Kb - - 4 Kb - -Pinoccio -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``pinoccio`` - - `Pinoccio Scout `_ - - ATMEGA256RFR2 - - 16 MHz - - 256 Kb - - 32 Kb - -Pololu Corporation -~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``a-star32U4`` - - `Pololu A-Star 32U4 `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - -Punch Through -~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lightblue-bean`` - - `LightBlue Bean `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``lightblue-beanplus`` - - `LightBlue Bean+ `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -Quirkbot -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``quirkbot`` - - `Quirkbot `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - -RFduino -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``rfduino`` - - `RFduino `_ - - NRF51822 - - 16 MHz - - 128 Kb - - 8 Kb - -RedBearLab -~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``blend`` - - `RedBearLab Blend `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``blendmicro16`` - - `RedBearLab Blend Micro 3.3V/16MHz (overclock) `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``blendmicro8`` - - `RedBearLab Blend Micro 3.3V/8MHz `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - -RepRap -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``reprap_rambo`` - - `RepRap RAMBo `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - -SODAQ -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sodaq_autonomo`` - - `SODAQ Autonomo `_ - - SAMD21J18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``sodaq_explorer`` - - `SODAQ ExpLoRer `_ - - SAMD21J18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``sodaq_galora`` - - `SODAQ GaLoRa `_ - - ATMEGA1284P - - 8 MHz - - 128 Kb - - 16 Kb - - * - ``sodaq_mbili`` - - `SODAQ Mbili `_ - - ATMEGA1284P - - 8 MHz - - 128 Kb - - 16 Kb - - * - ``sodaq_moja`` - - `SODAQ Moja `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``sodaq_ndogo`` - - `SODAQ Ndogo `_ - - ATMEGA1284P - - 8 MHz - - 128 Kb - - 16 Kb - - * - ``sodaq_one`` - - `SODAQ ONE `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``sodaq_tatu`` - - `SODAQ Tatu `_ - - ATMEGA1284P - - 8 MHz - - 128 Kb - - 16 Kb - - * - ``sodaq_wdt`` - - `SODAQ WDT `_ - - SAMD21J18A - - 48 MHz - - 256 Kb - - 32 Kb - -SainSmart -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sainSmartDue`` - - `SainSmart Due (Programming Port) `_ - - AT91SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - - * - ``sainSmartDueUSB`` - - `SainSmart Due (USB Native Port) `_ - - AT91SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - -Sanguino -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sanguino_atmega1284_8m`` - - `Sanguino ATmega1284p (8MHz) `_ - - ATMEGA1284P - - 8 MHz - - 128 Kb - - 16 Kb - - * - ``sanguino_atmega1284p`` - - `Sanguino ATmega1284p (16MHz) `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``sanguino_atmega644`` - - `Sanguino ATmega644 or ATmega644A (16 MHz) `_ - - ATMEGA644 - - 16 MHz - - 64 Kb - - 4 Kb - - * - ``sanguino_atmega644_8m`` - - `Sanguino ATmega644 or ATmega644A (8 MHz) `_ - - ATMEGA644 - - 8 MHz - - 64 Kb - - 4 Kb - - * - ``sanguino_atmega644p`` - - `Sanguino ATmega644P or ATmega644PA (16 MHz) `_ - - ATMEGA644P - - 16 MHz - - 64 Kb - - 4 Kb - - * - ``sanguino_atmega644p_8m`` - - `Sanguino ATmega644P or ATmega644PA (8 MHz) `_ - - ATMEGA644P - - 8 MHz - - 64 Kb - - 4 Kb - -SeeedStudio -~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``cui32stem`` - - `SeeedStudio CUI32stem `_ - - 32MX795F512H - - 80 MHz - - 512 Kb - - 128 Kb - -SparkFun -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sparkfunBlynk`` - - `SparkFun Blynk Board `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``sparkfun_digitalsandbox`` - - `SparkFun Digital Sandbox `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``sparkfun_fiov3`` - - `SparkFun Fio V3 3.3V/8MHz `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``sparkfun_makeymakey`` - - `SparkFun Makey Makey `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``sparkfun_megamini`` - - `SparkFun Mega Pro Mini 3.3V `_ - - ATMEGA2560 - - 8 MHz - - 256 Kb - - 8 Kb - - * - ``sparkfun_megapro16MHz`` - - `SparkFun Mega Pro 5V/16MHz `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - - * - ``sparkfun_megapro8MHz`` - - `SparkFun Mega Pro 3.3V/8MHz `_ - - ATMEGA2560 - - 8 MHz - - 256 Kb - - 8 Kb - - * - ``sparkfun_promicro16`` - - `SparkFun Pro Micro 5V/16MHz `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``sparkfun_promicro8`` - - `SparkFun Pro Micro 3.3V/8MHz `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``sparkfun_redboard`` - - `SparkFun RedBoard `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``sparkfun_samd21_dev_usb`` - - `SparkFun SAMD21 Dev Breakout `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``sparkfun_samd21_mini_usb`` - - `SparkFun SAMD21 Mini Breakout `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``thing`` - - `SparkFun ESP8266 Thing `_ - - ESP8266 - - 80 MHz - - 512 Kb - - 80 Kb - - * - ``thingdev`` - - `SparkFun ESP8266 Thing Dev `_ - - ESP8266 - - 80 MHz - - 512 Kb - - 80 Kb - - * - ``uview`` - - `SparkFun MicroView `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -SparkFun Electronics -~~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``esp32thing`` - - `SparkFun ESP32 Thing `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 112 Kb - -SweetPea -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``esp210`` - - `SweetPea ESP-210 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -Teensy -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``teensy20`` - - `Teensy 2.0 `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``teensy20pp`` - - `Teensy++ 2.0 `_ - - AT90USB1286 - - 16 MHz - - 128 Kb - - 8 Kb - - * - ``teensy30`` - - `Teensy 3.0 `_ - - MK20DX128 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``teensy31`` - - `Teensy 3.1 / 3.2 `_ - - MK20DX256 - - 72 MHz - - 256 Kb - - 64 Kb - - * - ``teensy35`` - - `Teensy 3.5 `_ - - MK64FX512 - - 120 MHz - - 512 Kb - - 192 Kb - - * - ``teensy36`` - - `Teensy 3.6 `_ - - MK66FX1M0 - - 180 MHz - - 1024 Kb - - 256 Kb - - * - ``teensylc`` - - `Teensy LC `_ - - MKL26Z64 - - 48 MHz - - 64 Kb - - 8 Kb - -ThaiEasyElec -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espinotee`` - - `ThaiEasyElec ESPino `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -TinyCircuits -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``tinyduino`` - - `TinyCircuits TinyDuino Processor Board `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``tinylily`` - - `TinyCircuits TinyLily Mini Processor `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - -UBW32 -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``ubw32_mx460`` - - `UBW32 MX460 `_ - - 32MX460F512L - - 80 MHz - - 512 Kb - - 32 Kb - - * - ``ubw32_mx795`` - - `UBW32 MX795 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - -WEMOS -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lolin32`` - - `WEMOS LoLin32 `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 288 Kb - -WeMos -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``d1`` - - `WeMos D1(Retired) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``d1_mini`` - - `WeMos D1 R2 & mini `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -Wicked Device -~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``wildfirev2`` - - `Wicked Device WildFire V2 `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``wildfirev3`` - - `Wicked Device WildFire V3 `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - -chipKIT -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lenny`` - - `chipKIT Lenny `_ - - 32MX270F256D - - 40 MHz - - 128 Kb - - 32 Kb - -element14 -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``chipkit_pi`` - - `Element14 chipKIT Pi `_ - - 32MX250F128B - - 40 MHz - - 128 Kb - - 32 Kb - -makerlab.mx -~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``altair`` - - `Altair `_ - - ATMEGA256RFR2 - - 16 MHz - - 256 Kb - - 32 Kb - -ubIQio -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``ardhat`` - - `ubIQio Ardhat `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb diff --git a/docs/frameworks/cmsis.rst b/docs/frameworks/cmsis.rst deleted file mode 100644 index 29225348..00000000 --- a/docs/frameworks/cmsis.rst +++ /dev/null @@ -1,116 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _framework_cmsis: - -Framework ``cmsis`` -=================== -The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Platforms ---------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`platform_ststm32` - - The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by horizontal. - -Armstrap -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``armstrap_eagle1024`` - - `Armstrap Eagle 1024 `_ - - STM32F417VGT6 - - 168 MHz - - 1024 Kb - - 192 Kb - - * - ``armstrap_eagle2048`` - - `Armstrap Eagle 2048 `_ - - STM32F427VIT6 - - 168 MHz - - 2048 Kb - - 256 Kb - - * - ``armstrap_eagle512`` - - `Armstrap Eagle 512 `_ - - STM32F407VET6 - - 168 MHz - - 512 Kb - - 192 Kb - -ST -~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``disco_f303vc`` - - `ST STM32F3DISCOVERY `_ - - STM32F303VCT6 - - 72 MHz - - 256 Kb - - 48 Kb - - * - ``disco_f407vg`` - - `ST STM32F4DISCOVERY `_ - - STM32F407VGT6 - - 168 MHz - - 1024 Kb - - 128 Kb - - * - ``disco_l152rb`` - - `ST STM32LDISCOVERY `_ - - STM32L152RBT6 - - 32 MHz - - 128 Kb - - 16 Kb - - * - ``nucleo_f401re`` - - `ST Nucleo F401RE `_ - - STM32F401RET6 - - 84 MHz - - 512 Kb - - 96 Kb - -.. include:: cmsis_extra.rst diff --git a/docs/frameworks/cmsis_extra.rst b/docs/frameworks/cmsis_extra.rst deleted file mode 100644 index fb8711ce..00000000 --- a/docs/frameworks/cmsis_extra.rst +++ /dev/null @@ -1,25 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -Articles --------- - -* Jan 11, 2016 - **David Mills, Ph.D.** - `STM NUCLEOF401RE TIMER IO `_ - -See more :ref:`articles`. - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for CMSIS framework `_. - -* `Blink `_ diff --git a/docs/frameworks/energia.rst b/docs/frameworks/energia.rst deleted file mode 100644 index ae99502d..00000000 --- a/docs/frameworks/energia.rst +++ /dev/null @@ -1,118 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _framework_energia: - -Framework ``energia`` -===================== -Energia Wiring-based framework enables pretty much anyone to start easily creating microcontroller-based projects and applications. Its easy-to-use libraries and functions provide developers of all experience levels to start blinking LEDs, buzzing buzzers and sensing sensors more quickly than ever before. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Platforms ---------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`platform_timsp430` - - MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications. - - * - :ref:`platform_titiva` - - Texas Instruments TM4C12x MCUs offer the industrys most popular ARM Cortex-M4 core with scalable memory and package options, unparalleled connectivity peripherals, advanced application functions, industry-leading analog integration, and extensive software solutions. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by horizontal. - -TI -~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lplm4f120h5qr`` - - `TI LaunchPad (Stellaris) w/ lm4f120 (80MHz) `_ - - LPLM4F120H5QR - - 80 MHz - - 256 Kb - - 32 Kb - - * - ``lpmsp430f5529`` - - `TI LaunchPad MSP-EXP430F5529LP `_ - - MSP430F5529 - - 16 MHz - - 128 Kb - - 8 Kb - - * - ``lpmsp430fr4133`` - - `TI LaunchPad MSP-EXP430FR4133LP `_ - - MSP430FR4133 - - 8 MHz - - 16 Kb - - 2 Kb - - * - ``lpmsp430fr5739`` - - `TI FraunchPad MSP-EXP430FR5739LP `_ - - MSP430FR5739 - - 16 MHz - - 16 Kb - - 0.5 Kb - - * - ``lpmsp430fr5969`` - - `TI LaunchPad MSP-EXP430FR5969LP `_ - - MSP430FR5969 - - 8 MHz - - 64 Kb - - 2 Kb - - * - ``lpmsp430fr6989`` - - `TI LaunchPad MSP-EXP430FR6989LP `_ - - MSP430FR6989 - - 8 MHz - - 128 Kb - - 2 Kb - - * - ``lpmsp430g2553`` - - `TI LaunchPad MSP-EXP430G2553LP `_ - - MSP430G2553 - - 16 MHz - - 16 Kb - - 0.5 Kb - - * - ``lptm4c1230c3pm`` - - `TI LaunchPad (Tiva C) w/ tm4c123 (80MHz) `_ - - LPTM4C1230C3PM - - 80 MHz - - 256 Kb - - 32 Kb - - * - ``lptm4c1294ncpdt`` - - `TI LaunchPad (Tiva C) w/ tm4c129 (120MHz) `_ - - LPTM4C1294NCPDT - - 120 MHz - - 1024 Kb - - 256 Kb diff --git a/docs/frameworks/espidf.rst b/docs/frameworks/espidf.rst deleted file mode 100644 index f02da10a..00000000 --- a/docs/frameworks/espidf.rst +++ /dev/null @@ -1,179 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _framework_espidf: - -Framework ``espidf`` -==================== -Espressif IoT Development Framework. Official development framework for ESP32. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Platforms ---------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`platform_espressif32` - - Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by horizontal. - -April Brother -~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espea32`` - - `April Brother ESPea32 `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 288 Kb - -Electronic SweetPeas -~~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``esp320`` - - `Electronic SweetPeas ESP320 `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 288 Kb - -Espressif -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``esp32dev`` - - `Espressif ESP32 Dev Module `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 112 Kb - -MakerAsia -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``nano32`` - - `MakerAsia Nano32 `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 288 Kb - -Noduino -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``quantum`` - - `Noduino Quantum `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 288 Kb - -SparkFun Electronics -~~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``esp32thing`` - - `SparkFun ESP32 Thing `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 112 Kb - -WEMOS -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lolin32`` - - `WEMOS LoLin32 `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 288 Kb diff --git a/docs/frameworks/index.rst b/docs/frameworks/index.rst deleted file mode 100644 index 5b110ad6..00000000 --- a/docs/frameworks/index.rst +++ /dev/null @@ -1,28 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _frameworks: - -Frameworks -========== - -.. toctree:: - :maxdepth: 2 - - arduino - cmsis - energia - espidf - libopencm3 - mbed - simba - spl - wiringpi diff --git a/docs/frameworks/libopencm3.rst b/docs/frameworks/libopencm3.rst deleted file mode 100644 index 434fe963..00000000 --- a/docs/frameworks/libopencm3.rst +++ /dev/null @@ -1,119 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _framework_libopencm3: - -Framework ``libopencm3`` -======================== -The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Platforms ---------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`platform_ststm32` - - The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development. - - * - :ref:`platform_titiva` - - Texas Instruments TM4C12x MCUs offer the industrys most popular ARM Cortex-M4 core with scalable memory and package options, unparalleled connectivity peripherals, advanced application functions, industry-leading analog integration, and extensive software solutions. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by horizontal. - -ST -~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``disco_f303vc`` - - `ST STM32F3DISCOVERY `_ - - STM32F303VCT6 - - 72 MHz - - 256 Kb - - 48 Kb - - * - ``disco_f407vg`` - - `ST STM32F4DISCOVERY `_ - - STM32F407VGT6 - - 168 MHz - - 1024 Kb - - 128 Kb - - * - ``disco_l152rb`` - - `ST STM32LDISCOVERY `_ - - STM32L152RBT6 - - 32 MHz - - 128 Kb - - 16 Kb - - * - ``nucleo_f103rb`` - - `ST Nucleo F103RB `_ - - STM32F103RBT6 - - 72 MHz - - 128 Kb - - 20 Kb - -TI -~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lplm4f120h5qr`` - - `TI LaunchPad (Stellaris) w/ lm4f120 (80MHz) `_ - - LPLM4F120H5QR - - 80 MHz - - 256 Kb - - 32 Kb - - * - ``lptm4c1230c3pm`` - - `TI LaunchPad (Tiva C) w/ tm4c123 (80MHz) `_ - - LPTM4C1230C3PM - - 80 MHz - - 256 Kb - - 32 Kb - - * - ``lptm4c1294ncpdt`` - - `TI LaunchPad (Tiva C) w/ tm4c129 (120MHz) `_ - - LPTM4C1294NCPDT - - 120 MHz - - 1024 Kb - - 256 Kb - -.. include:: libopencm3_extra.rst diff --git a/docs/frameworks/libopencm3_extra.rst b/docs/frameworks/libopencm3_extra.rst deleted file mode 100644 index 54f9050b..00000000 --- a/docs/frameworks/libopencm3_extra.rst +++ /dev/null @@ -1,18 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for libOpenCM3 framework `_. - -* `Blink `_ diff --git a/docs/frameworks/mbed.rst b/docs/frameworks/mbed.rst deleted file mode 100644 index 534b2402..00000000 --- a/docs/frameworks/mbed.rst +++ /dev/null @@ -1,1200 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _framework_mbed: - -Framework ``mbed`` -================== -The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Platforms ---------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`platform_atmelsam` - - Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix. - - * - :ref:`platform_freescalekinetis` - - Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration. - - * - :ref:`platform_nordicnrf51` - - The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell. - - * - :ref:`platform_nxplpc` - - The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals. - - * - :ref:`platform_siliconlabsefm32` - - Silicon Labs EFM32 Gecko 32-bit microcontroller (MCU) family includes devices that offer flash memory configurations up to 256 kB, 32 kB of RAM and CPU speeds up to 48 MHz. Based on the powerful ARM Cortex-M core, the Gecko family features innovative low energy techniques, short wake-up time from energy saving modes and a wide selection of peripherals, making it ideal for battery operated applications and other systems requiring high performance and low-energy consumption. - - * - :ref:`platform_ststm32` - - The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development. - - * - :ref:`platform_teensy` - - Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by horizontal. - -96Boards -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``b96b_f446ve`` - - `96Boards B96B-F446VE `_ - - STM32F446VET6 - - 168 MHz - - 512 Kb - - 128 Kb - -Atmel -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``samd21_xpro`` - - `Atmel SAMD21-XPRO `_ - - ATSAMD21J18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``saml21_xpro_b`` - - `Atmel SAML21-XPRO-B `_ - - ATSAML21J18B - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``samr21_xpro`` - - `Atmel ATSAMR21-XPRO `_ - - ATSAMR21G18A - - 48 MHz - - 256 Kb - - 32 Kb - -BBC -~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``bbcmicrobit`` - - `BBC micro:bit `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - - * - ``bbcmicrobit_b`` - - `BBC micro:bit B(S130) `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - -CQ Publishing -~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc11u35_501`` - - `CQ Publishing TG-LPC11U35-501 `_ - - LPC11U35 - - 48 MHz - - 64 Kb - - 10 Kb - -Delta -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``dfcm_nnn40`` - - `Delta DFCM-NNN40 `_ - - NRF51822 - - 32 MHz - - 256 Kb - - 32 Kb - -Elektor Labs -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``elektor_cocorico`` - - `CoCo-ri-Co! `_ - - LPC812 - - 30 MHz - - 16 Kb - - 4 Kb - -Embedded Artists -~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc11u35`` - - `EA LPC11U35 QuickStart Board `_ - - LPC11U35 - - 48 MHz - - 64 Kb - - 10 Kb - - * - ``lpc4088`` - - `Embedded Artists LPC4088 QuickStart Board `_ - - LPC4088 - - 120 MHz - - 512 Kb - - 96 Kb - - * - ``lpc4088_dm`` - - `Embedded Artists LPC4088 Display Module `_ - - LPC4088 - - 120 MHz - - 512 Kb - - 96 Kb - -Freescale -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``IBMEthernetKit`` - - `Ethernet IoT Starter Kit `_ - - MK64FN1M0VLL12 - - 120 MHz - - 1024 Kb - - 256 Kb - - * - ``frdm_k20d50m`` - - `Freescale Kinetis FRDM-K20D50M `_ - - MK20DX128VLH5 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``frdm_k22f`` - - `Freescale Kinetis FRDM-K22F `_ - - MK22FN512VLH12 - - 120 MHz - - 512 Kb - - 128 Kb - - * - ``frdm_k64f`` - - `Freescale Kinetis FRDM-K64F `_ - - MK64FN1M0VLL12 - - 120 MHz - - 1024 Kb - - 256 Kb - - * - ``frdm_kl05z`` - - `Freescale Kinetis FRDM-KL05Z `_ - - MKL05Z32VFM4 - - 48 MHz - - 32 Kb - - 4 Kb - - * - ``frdm_kl25z`` - - `Freescale Kinetis FRDM-KL25Z `_ - - MKL25Z128VLK4 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``frdm_kl26z`` - - `Freescale Kinetis FRDM-KL26Z `_ - - MKL26Z128VLH4 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``frdm_kl27z`` - - `Freescale Kinetis FRDM-KL27Z `_ - - MKL27Z64VLH4 - - 48 MHz - - 64 Kb - - 16 Kb - - * - ``frdm_kl43z`` - - `Freescale Kinetis FRDM-KL43Z `_ - - MKL43Z256VLH4 - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``frdm_kl46z`` - - `Freescale Kinetis FRDM-KL46Z `_ - - MKL46Z256VLL4 - - 48 MHz - - 256 Kb - - 32 Kb - -GHI Electronics -~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``oc_mbuino`` - - `mBuino `_ - - LPC11U24 - - 50 MHz - - 32 Kb - - 10 Kb - -Generic -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``bluepill_f103c8`` - - `BluePill F103C8 `_ - - STM32F103C8T6 - - 72 MHz - - 64 Kb - - 20 Kb - -JKSoft -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``wallbot_ble`` - - `JKSoft Wallbot BLE `_ - - NRF51822 - - 16 MHz - - 128 Kb - - 16 Kb - -Micromint -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc4330_m4`` - - `Bambino-210E `_ - - LPC4330 - - 204 MHz - - 8192 Kb - - 264 Kb - -MikroElektronika -~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``hexiwear`` - - `Hexiwear `_ - - MK64FN1M0VDC12 - - 120 MHz - - 1024 Kb - - 256 Kb - -MultiTech -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``mts_mdot_f405rg`` - - `MultiTech mDot `_ - - STM32F411RET6 - - 100 MHz - - 512 Kb - - 128 Kb - - * - ``mts_mdot_f411re`` - - `MultiTech mDot F411 `_ - - STM32F411RET6 - - 100 MHz - - 512 Kb - - 128 Kb - -NGX Technologies -~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``blueboard_lpc11u24`` - - `NGX Technologies BlueBoard-LPC11U24 `_ - - LPC11U24 - - 48 MHz - - 32 Kb - - 8 Kb - -NXP -~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc11c24`` - - `NXP LPC11C24 `_ - - LPC11C24 - - 48 MHz - - 32 Kb - - 8 Kb - - * - ``lpc11u24`` - - `NXP mbed LPC11U24 `_ - - LPC11U24 - - 48 MHz - - 32 Kb - - 8 Kb - - * - ``lpc11u24_301`` - - `ARM mbed LPC11U24 (+CAN) `_ - - LPC11U24 - - 48 MHz - - 32 Kb - - 8 Kb - - * - ``lpc11u34_421`` - - `NXP LPC11U34 `_ - - LPC11U34 - - 48 MHz - - 64 Kb - - 8 Kb - - * - ``lpc11u37_501`` - - `NXP LPC11U37 `_ - - LPC11U37 - - 48 MHz - - 128 Kb - - 10 Kb - - * - ``lpc11u68`` - - `LPCXpresso11U68 `_ - - LPC11U68 - - 50 MHz - - 256 Kb - - 36 Kb - - * - ``lpc1549`` - - `NXP LPCXpresso1549 `_ - - LPC1549 - - 72 MHz - - 256 Kb - - 36 Kb - - * - ``lpc1768`` - - `NXP mbed LPC1768 `_ - - LPC1768 - - 96 MHz - - 512 Kb - - 64 Kb - - * - ``lpc2368`` - - `NXP LPC2368 `_ - - LPC2368 - - 72 MHz - - 512 Kb - - 58 Kb - - * - ``lpc2460`` - - `NXP LPC2460 `_ - - LPC2460 - - 72 MHz - - 64 Kb - - 16 Kb - - * - ``lpc812`` - - `NXP LPC800-MAX `_ - - LPC812 - - 30 MHz - - 16 Kb - - 4 Kb - - * - ``lpc824`` - - `LPCXpresso824-MAX `_ - - LPC824 - - 30 MHz - - 32 Kb - - 8 Kb - - * - ``micronfcboard`` - - `MicroNFCBoard `_ - - LPC11U34 - - 48 MHz - - 64 Kb - - 10 Kb - -Nordic -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``nrf51_dk`` - - `Nordic nRF51-DK `_ - - NRF51822 - - 32 MHz - - 256 Kb - - 32 Kb - - * - ``nrf51_dongle`` - - `Nordic nRF51-Dongle `_ - - NRF51822 - - 32 MHz - - 256 Kb - - 32 Kb - - * - ``nrf51_mkit`` - - `Nordic nRF51822-mKIT `_ - - NRF51822 - - 16 MHz - - 128 Kb - - 16 Kb - -Outrageous Circuits -~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``mbuino`` - - `Outrageous Circuits mBuino `_ - - LPC11U24 - - 48 MHz - - 32 Kb - - 8 Kb - -RedBearLab -~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``redBearLab`` - - `RedBearLab nRF51822 `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - - * - ``redBearLabBLENano`` - - `RedBearLab BLE Nano `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 32 Kb - -ST -~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``disco_f051r8`` - - `ST STM32F0DISCOVERY `_ - - STM32F051R8T6 - - 48 MHz - - 64 Kb - - 8 Kb - - * - ``disco_f100rb`` - - `ST STM32VLDISCOVERY `_ - - STM32F100RBT6 - - 24 MHz - - 128 Kb - - 8 Kb - - * - ``disco_f303vc`` - - `ST STM32F3DISCOVERY `_ - - STM32F303VCT6 - - 72 MHz - - 256 Kb - - 48 Kb - - * - ``disco_f334c8`` - - `ST 32F3348DISCOVERY `_ - - STM32F334C8T6 - - 72 MHz - - 64 Kb - - 12 Kb - - * - ``disco_f401vc`` - - `ST 32F401CDISCOVERY `_ - - STM32F401VCT6 - - 84 MHz - - 256 Kb - - 64 Kb - - * - ``disco_f407vg`` - - `ST STM32F4DISCOVERY `_ - - STM32F407VGT6 - - 168 MHz - - 1024 Kb - - 128 Kb - - * - ``disco_f429zi`` - - `ST 32F429IDISCOVERY `_ - - STM32F429ZIT6 - - 180 MHz - - 2048 Kb - - 256 Kb - - * - ``disco_f469ni`` - - `ST 32F469IDISCOVERY `_ - - STM32F469NIH6 - - 180 MHz - - 1024 Kb - - 384 Kb - - * - ``disco_f746ng`` - - `ST 32F746GDISCOVERY `_ - - STM32F746NGH6 - - 216 MHz - - 1024 Kb - - 320 Kb - - * - ``disco_f769ni`` - - `ST 32F769IDISCOVERY `_ - - STM32F769NIH6 - - 80 MHz - - 1024 Kb - - 512 Kb - - * - ``disco_l053c8`` - - `ST 32L0538DISCOVERY `_ - - STM32L053C8T6 - - 32 MHz - - 64 Kb - - 8 Kb - - * - ``disco_l476vg`` - - `ST 32L476GDISCOVERY `_ - - STM32L476VGT6 - - 80 MHz - - 1024 Kb - - 128 Kb - - * - ``nucleo_f030r8`` - - `ST Nucleo F030R8 `_ - - STM32F030R8T6 - - 48 MHz - - 64 Kb - - 8 Kb - - * - ``nucleo_f031k6`` - - `ST Nucleo F031K6 `_ - - STM32F031K6T6 - - 48 MHz - - 32 Kb - - 4 Kb - - * - ``nucleo_f042k6`` - - `ST Nucleo F042K6 `_ - - STM32F042K6T6 - - 48 MHz - - 32 Kb - - 6 Kb - - * - ``nucleo_f070rb`` - - `ST Nucleo F070RB `_ - - STM32F070RBT6 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``nucleo_f072rb`` - - `ST Nucleo F072RB `_ - - STM32F072RBT6 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``nucleo_f091rc`` - - `ST Nucleo F091RC `_ - - STM32F091RCT6 - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``nucleo_f103rb`` - - `ST Nucleo F103RB `_ - - STM32F103RBT6 - - 72 MHz - - 128 Kb - - 20 Kb - - * - ``nucleo_f207zg`` - - `ST Nucleo F207ZG `_ - - STM32F207ZGT6 - - 120 MHz - - 1024 Kb - - 128 Kb - - * - ``nucleo_f302r8`` - - `ST Nucleo F302R8 `_ - - STM32F302R8T6 - - 72 MHz - - 64 Kb - - 16 Kb - - * - ``nucleo_f303k8`` - - `ST Nucleo F303K8 `_ - - STM32F303K8T6 - - 72 MHz - - 64 Kb - - 16 Kb - - * - ``nucleo_f303re`` - - `ST Nucleo F303RE `_ - - STM32F303RET6 - - 72 MHz - - 512 Kb - - 64 Kb - - * - ``nucleo_f334r8`` - - `ST Nucleo F334R8 `_ - - STM32F334R8T6 - - 72 MHz - - 64 Kb - - 16 Kb - - * - ``nucleo_f401re`` - - `ST Nucleo F401RE `_ - - STM32F401RET6 - - 84 MHz - - 512 Kb - - 96 Kb - - * - ``nucleo_f410rb`` - - `ST Nucleo F410RB `_ - - STM32F410RBT6 - - 100 MHz - - 128 Kb - - 32 Kb - - * - ``nucleo_f411re`` - - `ST Nucleo F411RE `_ - - STM32F411RET6 - - 100 MHz - - 512 Kb - - 128 Kb - - * - ``nucleo_f429zi`` - - `ST Nucleo F429ZI `_ - - STM32F429ZIT6 - - 180 MHz - - 2048 Kb - - 256 Kb - - * - ``nucleo_f446re`` - - `ST Nucleo F446RE `_ - - STM32F446RET6 - - 180 MHz - - 512 Kb - - 128 Kb - - * - ``nucleo_f446ze`` - - `ST Nucleo F446ZE `_ - - STM32F446ZET6 - - 180 MHz - - 512 Kb - - 128 Kb - - * - ``nucleo_f746zg`` - - `ST Nucleo F746ZG `_ - - STM32F746ZGT6 - - 216 MHz - - 1024 Kb - - 320 Kb - - * - ``nucleo_f767zi`` - - `ST Nucleo F767ZI `_ - - STM32F746ZGT6 - - 216 MHz - - 2048 Kb - - 512 Kb - - * - ``nucleo_l011k4`` - - `ST Nucleo L011K4 `_ - - STM32L011K4T6 - - 32 MHz - - 16 Kb - - 2 Kb - - * - ``nucleo_l031k6`` - - `ST Nucleo L031K6 `_ - - STM32L031K6T6 - - 32 MHz - - 32 Kb - - 8 Kb - - * - ``nucleo_l053r8`` - - `ST Nucleo L053R8 `_ - - STM32L053R8T6 - - 48 MHz - - 64 Kb - - 8 Kb - - * - ``nucleo_l073rz`` - - `ST Nucleo L073RZ `_ - - STM32L073RZ - - 32 MHz - - 192 Kb - - 20 Kb - - * - ``nucleo_l152re`` - - `ST Nucleo L152RE `_ - - STM32L152RET6 - - 32 MHz - - 512 Kb - - 80 Kb - - * - ``nucleo_l432kc`` - - `ST Nucleo L432KC `_ - - STM32L432KCU6 - - 80 MHz - - 256 Kb - - 64 Kb - - * - ``nucleo_l476rg`` - - `ST Nucleo L476RG `_ - - STM32L476RGT6 - - 80 MHz - - 1024 Kb - - 128 Kb - -SeeedStudio -~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``seeedArchBLE`` - - `Seeed Arch BLE `_ - - NRF51822 - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``seeedArchGPRS`` - - `Seeed Arch GPRS V2 `_ - - LPC11U37 - - 48 MHz - - 128 Kb - - 10 Kb - - * - ``seeedArchLink`` - - `Seeed Arch Link `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - - * - ``seeedArchMax`` - - `Seeed Arch Max `_ - - STM32F407VET6 - - 168 MHz - - 512 Kb - - 192 Kb - - * - ``seeedArchPro`` - - `Seeed Arch Pro `_ - - LPC1768 - - 96 MHz - - 512 Kb - - 64 Kb - - * - ``seeedTinyBLE`` - - `Seeed Tiny BLE `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - - * - ``xadow_m0`` - - `Seeed Xadow M0 `_ - - LPC11U35 - - 48 MHz - - 64 Kb - - 10 Kb - -Silicon Labs -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``efm32gg_stk3700`` - - `Silicon Labs EFM32GG-STK3700 (Giant Gecko) `_ - - EFM32GG990F1024 - - 48 MHz - - 1024 Kb - - 128 Kb - - * - ``efm32hg_stk3400`` - - `Silicon Labs SLSTK3400A USB-enabled (Happy Gecko) `_ - - EFM32HG322F64 - - 24 MHz - - 64 Kb - - 8 Kb - - * - ``efm32lg_stk3600`` - - `Silicon Labs EFM32LG-STK3600 (Leopard Gecko) `_ - - EFM32LG990F256 - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``efm32pg_stk3401`` - - `Silicon Labs SLSTK3401A (Pearl Gecko) `_ - - EFM32PG1B200F256 - - 40 MHz - - 256 Kb - - 32 Kb - - * - ``efm32wg_stk3800`` - - `Silicon Labs EFM32WG-STK3800 (Wonder Gecko) `_ - - EFM32WG990F256 - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``efm32zg_stk3200`` - - `Silicon Labs EFM32ZG-STK3200 (Zero Gecko) `_ - - EFM2ZG222F32 - - 24 MHz - - 32 Kb - - 4 Kb - -Smeshlink -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``xbed_lpc1768`` - - `Smeshlink xbed LPC1768 `_ - - LPC1768 - - 96 MHz - - 512 Kb - - 32 Kb - -Solder Splash Labs -~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``dipcortexm0`` - - `Solder Splash Labs DipCortex M0 `_ - - LPC11U24 - - 50 MHz - - 32 Kb - - 8 Kb - - * - ``lpc1347`` - - `DipCortex M3 `_ - - LPC1347 - - 72 MHz - - 64 Kb - - 12 Kb - -Switch Science -~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``hrm1017`` - - `Switch Science mbed HRM1017 `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - - * - ``lpc1114fn28`` - - `Switch Science mbed LPC1114FN28 `_ - - LPC1114FN28 - - 48 MHz - - 32 Kb - - 4 Kb - - * - ``ssci824`` - - `Switch Science mbed LPC824 `_ - - LPC824 - - 30 MHz - - 32 Kb - - 8 Kb - - * - ``ty51822r3`` - - `Switch Science mbed TY51822r3 `_ - - NRF51822 - - 32 MHz - - 256 Kb - - 32 Kb - -Teensy -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``teensy31`` - - `Teensy 3.1 / 3.2 `_ - - MK20DX256 - - 72 MHz - - 256 Kb - - 64 Kb - -u-blox -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``ubloxc027`` - - `u-blox C027 `_ - - LPC1768 - - 96 MHz - - 512 Kb - - 64 Kb - -y5 design -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``nrf51822_y5_mbug`` - - `y5 nRF51822 mbug `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - -.. include:: mbed_extra.rst diff --git a/docs/frameworks/mbed_extra.rst b/docs/frameworks/mbed_extra.rst deleted file mode 100644 index 4da14956..00000000 --- a/docs/frameworks/mbed_extra.rst +++ /dev/null @@ -1,32 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -Articles --------- - -* Dec 15, 2015 - **stastaka** - `PlatformIOでカスタムボードを使う (Use a custom board for PlatformIO, Japanese) `_ -* Nov 06, 2015 - **nocd5** - `PlatformIOでmbedをオフラインビルドしSTM32 Nucleoボードでmrubyを使う (Use mruby in the offline build for STM32 Nucleo board with mbed and PlatformIO, Japanese) `_ -* Oct 21, 2015 - **Vittorio Zaccaria** - `Using a cheap STM32 Nucleo to teach remote sensor monitoring `_ -* Sep 01, 2015 - **Thomas P. Weldon, Ph.D.** - `Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation `_ - -See more :ref:`articles`. - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for MBED framework `_. - -* `Blink `_ -* `DSP `_ -* `HTTP Client `_ -* `RTOS `_ -* `Serial `_ diff --git a/docs/frameworks/simba.rst b/docs/frameworks/simba.rst deleted file mode 100644 index d6891e48..00000000 --- a/docs/frameworks/simba.rst +++ /dev/null @@ -1,169 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _framework_simba: - -Framework ``simba`` -=================== -Simba is an RTOS and build framework. It aims to make embedded programming easy and portable. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Platforms ---------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`platform_atmelavr` - - Atmel AVR 8- and 32-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industrys most code-efficient architecture for C and assembly programming. - - * - :ref:`platform_atmelsam` - - Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix. - - * - :ref:`platform_espressif8266` - - Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by horizontal. - -Adafruit -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``huzzah`` - - `Adafruit HUZZAH ESP8266 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -Arduino -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``due`` - - `Arduino Due (Programming Port) `_ - - SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - - * - ``megaatmega2560`` - - `Arduino Mega or Mega 2560 ATmega2560 (Mega 2560) `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - - * - ``nanoatmega328`` - - `Arduino Nano ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``uno`` - - `Arduino Uno `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -Espressif -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``esp01`` - - `Espressif Generic ESP8266 ESP-01 512k `_ - - ESP8266 - - 80 MHz - - 512 Kb - - 80 Kb - - * - ``esp01_1m`` - - `Espressif Generic ESP8266 ESP-01 1M `_ - - ESP8266 - - 80 MHz - - 1024 Kb - - 80 Kb - - * - ``esp12e`` - - `Espressif ESP8266 ESP-12E `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -NodeMCU -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``nodemcu`` - - `NodeMCU 0.9 (ESP-12 Module) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``nodemcuv2`` - - `NodeMCU 1.0 (ESP-12E Module) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -.. include:: simba_extra.rst diff --git a/docs/frameworks/simba_extra.rst b/docs/frameworks/simba_extra.rst deleted file mode 100755 index aa4c7298..00000000 --- a/docs/frameworks/simba_extra.rst +++ /dev/null @@ -1,18 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for Simba framework `_. - -* `Blink `_ diff --git a/docs/frameworks/spl.rst b/docs/frameworks/spl.rst deleted file mode 100644 index 8a307aad..00000000 --- a/docs/frameworks/spl.rst +++ /dev/null @@ -1,116 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _framework_spl: - -Framework ``spl`` -================= -The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Platforms ---------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`platform_ststm32` - - The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by horizontal. - -Armstrap -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``armstrap_eagle1024`` - - `Armstrap Eagle 1024 `_ - - STM32F417VGT6 - - 168 MHz - - 1024 Kb - - 192 Kb - - * - ``armstrap_eagle2048`` - - `Armstrap Eagle 2048 `_ - - STM32F427VIT6 - - 168 MHz - - 2048 Kb - - 256 Kb - - * - ``armstrap_eagle512`` - - `Armstrap Eagle 512 `_ - - STM32F407VET6 - - 168 MHz - - 512 Kb - - 192 Kb - -ST -~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``disco_f303vc`` - - `ST STM32F3DISCOVERY `_ - - STM32F303VCT6 - - 72 MHz - - 256 Kb - - 48 Kb - - * - ``disco_f407vg`` - - `ST STM32F4DISCOVERY `_ - - STM32F407VGT6 - - 168 MHz - - 1024 Kb - - 128 Kb - - * - ``disco_l152rb`` - - `ST STM32LDISCOVERY `_ - - STM32L152RBT6 - - 32 MHz - - 128 Kb - - 16 Kb - - * - ``nucleo_f401re`` - - `ST Nucleo F401RE `_ - - STM32F401RET6 - - 84 MHz - - 512 Kb - - 96 Kb - -.. include:: spl_extra.rst diff --git a/docs/frameworks/spl_extra.rst b/docs/frameworks/spl_extra.rst deleted file mode 100644 index f84cff83..00000000 --- a/docs/frameworks/spl_extra.rst +++ /dev/null @@ -1,18 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for SPL framework `_. - -* `Blink `_ diff --git a/docs/frameworks/wiringpi.rst b/docs/frameworks/wiringpi.rst deleted file mode 100644 index 149f4c1d..00000000 --- a/docs/frameworks/wiringpi.rst +++ /dev/null @@ -1,75 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _framework_wiringpi: - -Framework ``wiringpi`` -====================== -WiringPi is a GPIO access library written in C for the BCM2835 used in the Raspberry Pi. It's designed to be familiar to people who have used the Arduino "wiring" system. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Platforms ---------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`platform_linux_arm` - - Linux ARM is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X, Linux ARM) you can build native application for Linux ARM platform. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by horizontal. - -Raspberry Pi -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``raspberrypi_1b`` - - `Raspberry Pi 1 Model B `_ - - BCM2835 - - 700 MHz - - 524288 Kb - - 524288 Kb - - * - ``raspberrypi_2b`` - - `Raspberry Pi 2 Model B `_ - - BCM2836 - - 900 MHz - - 1048576 Kb - - 1048576 Kb - - * - ``raspberrypi_zero`` - - `Raspberry Pi Zero `_ - - BCM2835 - - 1000 MHz - - 524288 Kb - - 524288 Kb - -.. include:: wiringpi_extra.rst diff --git a/docs/frameworks/wiringpi_extra.rst b/docs/frameworks/wiringpi_extra.rst deleted file mode 100644 index a0a33ec8..00000000 --- a/docs/frameworks/wiringpi_extra.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for WiringPi framework `_. - -* `Blink `_ -* `Serial `_ diff --git a/docs/history.rst b/docs/history.rst deleted file mode 100644 index 9c0c0f45..00000000 --- a/docs/history.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. include:: ../HISTORY.rst diff --git a/docs/ide.rst b/docs/ide.rst deleted file mode 100644 index f75ab4b2..00000000 --- a/docs/ide.rst +++ /dev/null @@ -1,44 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _ide: - -Cloud & Standalone IDE -====================== - -.. _ide_cloud: - -Cloud IDE ---------- - -.. toctree:: - :maxdepth: 2 - - ide/cloud9 - ide/codeanywhere - -.. _ide_standalone: - -Standalone IDE --------------- - -.. toctree:: - :maxdepth: 2 - - ide/clion - ide/codeblocks - ide/eclipse - ide/emacs - ide/netbeans - ide/qtcreator - ide/sublimetext - ide/vim - ide/visualstudio diff --git a/docs/ide/atom.rst b/docs/ide/atom.rst deleted file mode 100644 index a33cf0ee..00000000 --- a/docs/ide/atom.rst +++ /dev/null @@ -1,507 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _ide_atom: - -PlatformIO IDE for Atom -======================= - -PlatformIO IDE is the next-generation integrated development environment for IoT: - -* Cross-platform build system without external dependencies to the OS software: - - - 300+ embedded boards - - 15+ development platforms - - 10+ frameworks - -* C/C++ Intelligent Code Completion -* C/C++ Smart Code Linter for rapid professional development -* Library Manager for the hundreds popular libraries -* Multi-projects workflow with multiple panes -* Themes support with dark and light colors -* Serial Port Monitor -* Built-in Terminal with :ref:`core` and CLI tool (``pio``, ``platformio``) - - -PlatformIO IDE is based on GitHub's `Atom `_ source -code editor that's modern, approachable, yet hackable to the core; a tool you -can customize to do anything but also use productively without ever touching a -config file. - -.. image:: ../_static/ide-atom-platformio.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio.png - -.. contents:: - -Installation ------------- - -PlatformIO IDE is the next-generation integrated development environment for IoT. -It's built on top of `GitHub's Atom "hackable" text editor `_. -If you have already Atom installed, please install `PlatformIO IDE for Atom package `_. - -.. note:: - - Please note that you do not need to install :ref:`core` if you - are going to use :ref:`ide_atom`. :ref:`core` is built into - PlatformIO IDE and you will be able to use it within PlatformIO IDE Terminal. - - Also, PlatformIO IDE allows to install :ref:`core` Shell Commands - (``pio``, ``platformio``) globally to your system via - ``Menu: PlatformIO > Install Shell Commands``. - -1. Python Interpreter -~~~~~~~~~~~~~~~~~~~~~ - -PlatformIO IDE is based on :ref:`core` which is written in -`Python `_. Python is installed by default -on the all popular OS except Windows. - -**Windows Users**, please `Download the latest Python 2.7.x `_ -and install it. **DON'T FORGET** to select ``Add python.exe to Path`` feature -on the "Customize" stage, otherwise ``python`` command will not be available. - -.. image:: ../_static/python-installer-add-path.png - -.. _ide_atom_installation_clang: - -2. Clang for Intelligent Code Autocompletion -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -PlatformIO IDE uses `clang `_ for the Intelligent Code -Autocompletion. To check that ``clang`` is available in your system, please -open Terminal and run ``clang --version``. If ``clang`` is not installed, -then install it and restart Atom: - -- **Mac OS X**: `Install the latest Xcode `_ - along with the latest Command Line Tools - (they are installed automatically when you run ``clang`` in Terminal for the - first time, or manually by running ``xcode-select --install`` -- **Windows**: Download the latest `Clang for Windows `_. - Please select "Add LLVM to the system PATH" option on the installation step. - - .. image:: ../_static/clang-installer-add-path.png - - .. warning:: - If you see ``Failed to find MSBuild toolsets directory`` error in - the installation console, please ignore it and press any key to close - this window. PlatformIO IDE uses only Clang completion engine that - should work after it without any problems. - -- **Linux**: Using package managers: ``apt-get install clang`` or ``yum install clang``. -- **Other Systems**: Download the latest `Clang for the other systems `_. - -.. warning:: - If some libraries are not visible in :ref:`ide_atom` and Code Completion or - Code Linting does not work properly, please perform ``Menu: PlatformIO > - Rebuild C/C++ Project Index (Autocomplete, Linter)`` - -3. IDE Installation -~~~~~~~~~~~~~~~~~~~ - -.. note:: - If you don't have Atom installed yet, we propose to download - `PlatformIO IDE for Atom bundle `_ - with built-in auto installer (optional). - -- Download and install the `latest official Atom text editor `_. -- Open Atom Package Manager and install `platformio-ide `_ - Atom package (be patient and let the installation complete) - - - **Mac OS X**: ``Menu: Atom > Preferences > Install`` - - **Windows**: ``Menu: File > Settings > Install`` - - **Linux**: ``Menu: Edit > Preferences > Install`` - -.. image:: ../_static/ide-atom-platformio-install.png - -.. _atom_ide_quickstart: - -Quick Start ------------ - -This tutorial introduces you to the basics of PlatformIO IDE workflow and shows -you a creation process of a simple "Blink" example. After finishing you will -have a general understanding of how to work with projects in the IDE. - -Launch -~~~~~~ - -After installation, you launch PlatformIO IDE by opening Atom. Once Atom is -open, PlatformIO IDE auto installer will continue to install dependent packages -and :ref:`core`. Please be patient and let the installation complete. In the -final result PlatformIO IDE will ask you to reload Atom window to apply -installed components. Please click on ``Reload Now``. After it PlatformIO IDE is -ready for using. Happy coding! - -Setting Up the Project -~~~~~~~~~~~~~~~~~~~~~~ - -1. To create a new project choose - ``Menu: PlatformIO > Initialize new Project or update existing`` or press - the corresponding icon in the PlatformIO toolbar as shown in the image below: - -.. image:: ../_static/ide-atom-platformio-quick-start-1.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-1.png - -2. In the "New Project Menu" choose desired boards (more than one board is - allowed) and select a project directory. Then press "Initialize" button: - -.. image:: ../_static/ide-atom-platformio-quick-start-2.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-2.png - -3. If everything is fine, you should see the success message and project tree - in the left panel: - -.. image:: ../_static/ide-atom-platformio-quick-start-3.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-3.png - -4. Now, let's create the first project source file: right-click on the folder - ``src`` and choose ``New File``: - -.. image:: ../_static/ide-atom-platformio-quick-start-4.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-4.png - -Enter filename ``main.cpp``: - -.. image:: ../_static/ide-atom-platformio-quick-start-5.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-5.png - -Copy the next source code to the just created file ``main.cpp``: - -.. code-block:: cpp - - /** - * Blink - * Turns on an LED on for one second, - * then off for one second, repeatedly. - */ - #include "Arduino.h" - - void setup() - { - // initialize LED digital pin as an output. - pinMode(LED_BUILTIN, OUTPUT); - } - - void loop() - { - // turn the LED on (HIGH is the voltage level) - digitalWrite(LED_BUILTIN, HIGH); - // wait for a second - delay(1000); - // turn the LED off by making the voltage LOW - digitalWrite(LED_BUILTIN, LOW); - // wait for a second - delay(1000); - } - -Process Project -~~~~~~~~~~~~~~~ - -PlatformIO IDE proposes different ways to process project (build, clean, -upload firmware, run other targets) using: - - - :ref:`atom_ide_platformio_toolbar` - - :ref:`atom_ide_platformio_menu` - - :ref:`ide_atom_building_targets` and hotkeys - -.. image:: ../_static/ide-atom-platformio-quick-start-6.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-6.png - -5. Run ``Build`` and you should see green "success" result in the building - panel: - -.. image:: ../_static/ide-atom-platformio-quick-start-7.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-7.png - -To upload firmware to the board run ``Upload``. - -6. What is more, you can run specific target or process project environment - using ``Menu: PlatformIO > Run other target...`` - or call targets list from the status bar (bottom, left corner): - -.. image:: ../_static/ide-atom-platformio-quick-start-8.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-8.png - -And select desired target: - -.. image:: ../_static/ide-atom-platformio-quick-start-9.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-9.png - -7. To run built-in terminal interface choose ``Menu: PlatformIO > Terminal`` or - press the corresponding icon in the PlatformIO toolbar: - -.. image:: ../_static/ide-atom-platformio-quick-start-10.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-10.png - -It provides you fast access to all set of powerful :ref:`core` CLI commands: - -.. image:: ../_static/ide-atom-platformio-quick-start-11.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-11.png - -8. To run built-in "Serial Monitor" choose ``Menu: PlatformIO > Serial Monitor`` - or press the corresponding icon in the PlatformIO toolbar: - -.. image:: ../_static/ide-atom-platformio-quick-start-12.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-12.png - -It has several settings to adjust your connection: - -.. image:: ../_static/ide-atom-platformio-quick-start-13.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-13.png - -And allows you to communicate with your board in an easy way: - -.. image:: ../_static/ide-atom-platformio-quick-start-14.png - :target: http://docs.platformio.org/en/stable/_images/ide-atom-platformio-quick-start-14.png - - -User Guide ----------- - -.. _atom_ide_platformio_menu: - -Menu item ``PlatformIO`` -~~~~~~~~~~~~~~~~~~~~~~~~ - -`platformio-ide `_ package adds to Atom -new menu item named ``Menu: PlatformIO`` (after ``Menu: Help`` item). - -.. image:: ../_static/ide-atom-platformio-menu-item.png - -.. _atom_ide_platformio_toolbar: - -PlatformIO Toolbar -~~~~~~~~~~~~~~~~~~ - -PlatformIO IDE Toolbar contains the quick access button to the popular commands. -Each button contains hint (delay mouse on it). - -.. image:: ../_static/ide-atom-platformio-toolbar.png - -* PlatformIO: Build -* PlatformIO: Upload -* PlatformIO: Clean -* || -* Initialize new PlatformIO Project or update existing... -* Add/Open Project Folder... -* Find in Project... -* || -* Terminal -* Library Manager -* Serial Monitor -* || -* Settings -* PlatformIO Documentation - -.. _ide_atom_building_targets: - -Building / Uploading / Targets -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -* ``cmd-alt-b`` / ``ctrl-alt-b`` / ``f9`` builds project without auto-uploading. -* ``cmd-alt-u`` / ``ctrl-alt-u`` builds and uploads (if no errors). -* ``cmd-alt-c`` / ``ctrl-alt-c`` cleans compiled objects. -* ``cmd-alt-t`` / ``ctrl-alt-t`` / ``f7`` run other targets (Upload using Programmer, Upload SPIFFS image, Update platforms and libraries). -* ``cmd-alt-g`` / ``ctrl-alt-g`` / ``f4`` cycles through causes of build error. -* ``cmd-alt-h`` / ``ctrl-alt-h`` / ``shift-f4`` goes to the first build error. -* ``cmd-alt-v`` / ``ctrl-alt-v`` / ``f8`` toggles the build panel. -* ``escape`` terminates build / closes the build window. - -More options ``Menu: PlatformIO > Settings > Build``. - -Intelligent Code Autocompletion -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -PlatformIO IDE uses `clang `_ for the Intelligent Code Autocompletion. -To install it or check if it is already installed, please follow to step -:ref:`ide_atom_installation_clang` from Installation guide. - -.. warning:: - The libraries which are added/installed after initializing process will - not be reflected in code linter. You need ``Menu: PlatformIO > - Rebuild C/C++ Project Index (Autocomplete, Linter)``. - -.. _ide_atom_smart_code_linter: - -Smart Code Linter -~~~~~~~~~~~~~~~~~ - -PlatformIO IDE uses PlatformIO's pre-built GCC toolchains for Smart Code Linter -and rapid professional development. -The configuration data are located in ``.gcc-flags.json``. This file will be -automatically created and preconfigured when you initialize project using -``Menu: PlatformIO > Initialize new PlatformIO Project or update existing...``. - -.. warning:: - If some libraries are not visible in :ref:`ide_atom` and Code Completion or - Code Linting does not work properly, please perform ``Menu: PlatformIO > - Rebuild C/C++ Project Index (Autocomplete, Linter)`` - - -.. error:: - If you have error like ``linter-gcc: Executable not found`` and - ``"***/.platformio/packages/toolchain-atmelavr/bin/avr-g++" not found`` - please ``Menu: PlatformIO > Initialize new PlatformIO Project or update existing...``. - -Install Shell Commands -~~~~~~~~~~~~~~~~~~~~~~ - -To install ``platformio`` and ``pio`` shell commands please use ``Menu: -PlatformIO > Install Shell Commands``. It will allow you to call PlatformIO from -other process, terminal and etc. - -Known issues ------------- - -Smart Code Linter is disabled for Arduino files -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -:ref:`ide_atom_smart_code_linter` is disabled by default for Arduino files -(``*.ino`` and ``.pde``) because they are not valid C/C++ based -source files: - -1. Missing includes such as ``#include `` -2. Function declarations are omitted. - -There are two solutions: - -.. contents:: - :local: - -.. _ide_atom_knownissues_sclarduino_manually: - -Convert Arduino file to C++ manually -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -For example, we have the next ``Demo.ino`` file: - -.. code-block:: cpp - - void setup () { - someFunction(13); - } - - void loop() { - delay(1000); - } - - void someFunction(int num) { - } - -Let's convert it to ``Demo.cpp``: - -1. Add ``#include `` at the top of the source file -2. Declare each custom function (excluding built-in, such as ``setup`` and ``loop``) - before it will be called. - -The final ``Demo.cpp``: - -.. code-block:: cpp - - #include - - void someFunction(int num); - - void setup () { - someFunction(13); - } - - void loop() { - delay(1000); - } - - void someFunction(int num) { - } - -Force Arduino file as C++ -^^^^^^^^^^^^^^^^^^^^^^^^^ - -To force Smart Code Linter to use Arduino files as C++ please - -1. Open ``.gcc-flags.json`` file from the Initialized/Imported project and add - ``-x c++`` flag at the beginning of the value of ``gccDefaultCppFlags`` field: - -.. code-block:: json - - { - "execPath": "...", - "gccDefaultCFlags": "...", - "gccDefaultCppFlags": "-x c++ -fsyntax-only ...", - "gccErrorLimit": 15, - "gccIncludePaths": "...", - "gccSuppressWarnings": false - } - -2. Perform all steps from :ref:`ide_atom_knownissues_sclarduino_manually` - (without renaming to ``.cpp``). - -Arch Linux: PlatformIO IDE Terminal issue -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Please read this article `Installing PlatformIO on Arch Linux `_. - -.. _ide_atom_faq: - -Frequently Asked Questions --------------------------- - -Keep build panel visible -~~~~~~~~~~~~~~~~~~~~~~~~ - -PlatformIO IDE hides build panel on success by default. Nevertheless, you can -keep it visible all time. Please follow to -``Menu: PlatformIO > Settings > Build`` and set ``Panel Visibility`` to -``Keep Visible``. - -Key-bindings (toggle panel): - -* ``cmd+alt+v`` - Mac OS X -* ``ctrl+alt+v`` - Windows/Linux - -Automatically save on build -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -If you want automatically save all edited files when triggering a build, please follow to -``Menu: PlatformIO > Settings > Build`` and check ``Automatically save on build``. - -Jump to Declaration -~~~~~~~~~~~~~~~~~~~ - -Click on a function/include, press ``F3`` and you will be taken directly to -the declaration for that function. - -Code Formatting -~~~~~~~~~~~~~~~ - -You need to install `atom-beautify `_ -package and `C/C++ Uncrustify Code Beautifier `_. - -Articles / Manuals ------------------- - -* Aug 18, 2016 - **Primal Cortex** - `Installing PlatformIO on Arch Linux `_ -* Jul 26, 2016 - **Embedded Systems Laboratory** - `แนะนำการใช้งาน PlatformIO IDE สำหรับบอร์ด Arduino และ ESP8266 (Get started with PlatformIO IDE for Arduino board and ESP8266, Thai) `_ -* May 30, 2016 - **Ron Moerman** - `IoT Development with PlatformIO `_ -* May 01, 2016 - **Pedro Minatel** - `PlatformIO – Uma alternativa ao Arduino IDE (PlatformIO - An alternative to the Arduino IDE, Portuguese) `_ -* Apr 23, 2016 - **Al Williams** - `Hackaday: Atomic Arduino (and Other) Development `_ -* Apr 16, 2016 - **Sathittham Sangthong** - `[PlatformIO] มาลองเล่น PlatformIO แทน Arduino IDE กัน (Let's play together with PlatformIO IDE [alternative to Arduino IDE], Thai) `_ -* Apr 11, 2016 - **Matjaz Trcek** - `Top 5 Arduino integrated development environments `_ -* Apr 06, 2016 - **Aleks** - `PlatformIO ausprobiert (Tried PlatformIO, German) `_ -* Apr 02, 2016 - **Diego Pinto** - `Você tem coragem de abandonar a IDE do Arduino? PlatformIO + Atom (Do you dare to leave the Arduino IDE? PlatformIO + Atom, Portuguese) `_ -* Mar 30, 2016 - **Brandon Cannaday** - `Getting Started with PlatformIO and ESP8266 NodeMcu `_ -* Mar 12, 2016 - **Peter Marks** - `PlatformIO, the Arduino IDE for programmers `_ -* Mar 05, 2016 - **brichacek.net** - `PlatformIO – otevřený ekosystém pro vývoj IoT (PlatformIO – an open source ecosystem for IoT development, Czech) `_ -* Mar 04, 2016 - **Ricardo Vega** - `Programa tu Arduino desde Atom (Program your Arduino from Atom, Spanish) `_ -* Feb 28, 2016 - **Alex Bloggt** - `PlatformIO vorgestellt (Introduction to PlatformIO IDE, German) `_ -* Feb 25, 2016 - **NutDIY** - `PlatformIO Blink On Nodemcu Dev Kit V1.0 (Thai) `_ - -See a full list with :ref:`articles`. diff --git a/docs/ide/clion.rst b/docs/ide/clion.rst deleted file mode 100644 index 185f503e..00000000 --- a/docs/ide/clion.rst +++ /dev/null @@ -1,150 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _ide_clion: - -CLion -===== - -The `CLion `_ is a cross-platform C/C++ IDE -for Linux, OS X, and Windows integrated with the CMake build system. The -initial version will support the GCC and Clang compilers and GDB debugger. -Clion includes such features as a smart editor, code quality assurance, -automated refactorings, project manager, integrated version control systems. - -Refer to the `CLion Documentation `_ -page for more detailed information. - -.. image:: ../_static/ide-platformio-clion.png - :target: http://docs.platformio.org/en/stable/_static/ide-platformio-clion.png - -.. contents:: - -Integration ------------ - -Choose board ``ID`` using :ref:`cmd_boards` or `Embedded Boards Explorer `_ -command and generate project via :option:`platformio init --ide` command: - -.. code-block:: shell - - platformio init --ide clion --board - - # For example, generate project for Arduino UNO - platformio init --ide clion --board uno - -Then: - -1. Place source files (``*.c, *.cpp, *.h, *.hpp``) to ``src`` directory -2. Import this project via ``Menu: File > Import Project`` - and specify root directory where is located :ref:`projectconf` -3. Open source file from ``src`` directory -4. Build project (*DO NOT RUN*): ``Menu: Run > Build``. - -.. warning:: - - See know issue: :ref:`ide_clion_knownissues_inopde_not_supported` and how - to resolve it. - -There are 6 predefined targets for building (*NOT FOR RUNNING*, see marks on -the screenshot below): - -* ``PLATFORMIO_BUILD`` - Build project without auto-uploading -* ``PLATFORMIO_UPLOAD`` - Build and upload (if no errors) -* ``PLATFORMIO_CLEAN`` - Clean compiled objects -* ``PLATFORMIO_PROGRAM`` - Build and upload using external programmer - (if no errors), see :ref:`atmelavr_upload_via_programmer` -* ``PLATFORMIO_UPLOADFS`` - Upload files to file system SPIFFS, - see :ref:`platform_espressif_uploadfs` -* ``PLATFORMIO_UPDATE`` - Update installed platforms and libraries via :ref:`cmd_update` -* ``PLATFORMIO_REBUILD_PROJECT_INDEX`` - Rebuild C/C++ Index for the Project. - Allows to fix code completion and code linting issues. - -.. warning:: - The libraries which are added, installed or used in the project - after generating process wont be reflected in IDE. To fix it please run - ``PLATFORMIO_REBUILD_PROJECT_INDEX`` target. - -Known issues ------------- - -.. _ide_clion_knownissues_inopde_not_supported: - -Arduino ``.ino`` files are not supported -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -CLion uses "CMake" tool for code completion and code linting. As result, it -doesn't support Arduino files (``*.ino`` and ``.pde``) because they are -not valid C/C++ based source files: - -1. Missing includes such as ``#include `` -2. Function declarations are omitted. - -Convert Arduino file to C++ manually -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -For example, we have the next ``Demo.ino`` file: - -.. code-block:: cpp - - void function setup () { - someFunction(13); - } - - void function loop() { - delay(1000); - } - - void someFunction(int num) { - } - -Let's convert it to ``Demo.cpp``: - -1. Add ``#include `` at the top of the source file -2. Declare each custom function (excluding built-in, such as ``setup`` and ``loop``) - before it will be called. - -The final ``Demo.cpp``: - -.. code-block:: cpp - - #include - - void someFunction(int num); - - void function setup () { - someFunction(13); - } - - void function loop() { - delay(1000); - } - - void someFunction(int num) { - } - - -Articles / Manuals ------------------- - -* Dec 01, 2015 - **JetBrains CLion Blog** - `C++ Annotated: Fall 2015. Arduino Support in CLion using PlatformIO `_ -* Nov 22, 2015 - **Michał Seroczyński** - `Using PlatformIO to get started with Arduino in CLion IDE `_ -* Nov 09, 2015 - **ÁLvaro García Gómez** - `Programar con Arduino "The good way" (Programming with Arduino "The good way", Spanish) `_ - -See more :ref:`articles`. - -Examples --------- - -"Blink" Project -~~~~~~~~~~~~~~~ - -Source code of `CLion "Blink" Project `_. diff --git a/docs/ide/cloud9.rst b/docs/ide/cloud9.rst deleted file mode 100644 index 108060e0..00000000 --- a/docs/ide/cloud9.rst +++ /dev/null @@ -1,221 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _ide_cloud9: - -Cloud9 -====== - -`Cloud9 `_ combines a powerful online code editor with a full -Ubuntu workspace in the cloud. -Workspaces are powered by Docker Ubuntu containers that give you full freedom -over your environment, including sudo rights. Do a git push, compile SASS, see -server output, and Run apps easily with the built-in Terminal and Runners. - -.. contents:: - -.. note:: - - 1. Please make sure to read :ref:`pio_remote` guide first. - 2. You need :ref:`cmd_account` if you don't have it. Registration is FREE. - 3. You should have a run :ref:`cmd_remote_agent` on a host machine - where hardware devices are connected or visible for remote operations. - -Demo ----- - -.. image:: ../_static/ide/cloud9/ide-cloud9-demo.jpg - :target: https://www.youtube.com/watch?v=NX56_0Ea_K8 - -Integration ------------ - -1. `Sign in to Cloud9 `_. A registration is FREE - and gives you for FREE 1 private workspace (where you can host multiple - PlatformIO Projects) and unlimited public workspaces. - -2. Create a new workspace using **Blank** template - -.. image:: ../_static/ide/cloud9/ide-cloud9-new-workspace.png - -3. Install :ref:`core` using Cloud IDE Terminal. Paste a next command - -.. code-block:: bash - - sudo python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/develop/scripts/get-platformio.py)" - -.. image:: ../_static/ide/cloud9/ide-cloud9-install-pio-cli.png - -4. Log in to :ref:`cmd_account` using :ref:`cmd_account_login` command. - - -Quick Start ------------ - -Let's create our first PlatformIO-based Cloud9 Project - -1. Initialize new PlatformIO-based Project. Run a next command in Cloud IDE - Terminal: - - .. code-block:: bash - - platformio init --board - - # initialize project for Arduino Uno - platformio init --board uno - - To get board ``ID`` please use :ref:`cmd_boards` command or - `Embedded Boards Explorer `_. - -2. Create new source file named ``main.cpp`` in ``src`` folder using - Project Tree (left side). Please make right click on ``src`` folder, - then "New File" and insert a next content: - - .. code-block:: c - - #include - - int i = 0; - - void setup() { - Serial.begin(9600); - Serial.println("Hello Cloud9!"); - } - - void loop() { - /* serial echo */ - while (Serial.available()) { - Serial.write(Serial.read()); - } - - i++; - Serial.println(i); - delay(100); - } - -.. image:: ../_static/ide/cloud9/ide-cloud9-init-project.png - -3. If you prefer to work with :ref:`core` CLI, then you can process project - using Cloud IDE Terminal and the next commands: - - * :ref:`cmd_run` - build project - * :ref:`pio run -t clean ` - clean project - * :ref:`pio remote run -t upload ` - upload firmware Over-The-Air - * :ref:`cmd_remote_device_list` - list available devices (OTA Device Manager) - * :ref:`cmd_remote_device_monitor` - OTA Serial Port Monitor - - If you are interested in better integration with Cloud9 and GUI, please - read guide below where we will explain how to create custom Build System - for PlatformIO and own Runners. - -PlatformIO Build System ------------------------ - -Cloud9 allows to create own build system and use hotkey or command -(Menu: Run > Build) to build a project. - -Let's create PlatformIO Build System that will be used for C/C++/H/INO/PDE -files by default. Please click on ``Menu: Run > Build System > New Build System`` -and replace all content with the next: - -.. code-block:: js - - { - "cmd" : ["pio", "run", "-d", "$file"], - "info" : "Building $project_path/$file_name", - "selector": "^.*\\.(cpp|c|h|hpp|S|ini|ino|pde)$" - } - -Save new Build System and give a name ``PIOBuilder``. Now, you can select it -as default Build System using ``Menu: Run > Build System > PIOBuilder``. - -OTA Device Manager ------------------- - -Over-The-Air (OTA) Device Manager works in pair with :ref:`pio_remote`. -You can list remote devices that are connected to host machine where -:ref:`cmd_remote_agent` is started or are visible for it. - -Let's create New Run Configuration (shortcut) that will be used for OTA Manager. -Please click on ``Menu: Run > Run Configurations > Manage...``, then -"Add New Config" and specify the next values: - -* **First Blank Input**: a name of runner. Please set it to "PIO: Remote Devices" -* **Command**: set to ``pio remote device list`` -* **Runner**: set to "Shell command" - -.. image:: ../_static/ide/cloud9/ide-cloud9-runner-ota-devices.png - -.. _ide_cloud9_ota_updates: - -OTA Firmware Uploading ----------------------- - -Over-The-Air (OTA) Firmware Uploading works in pair with :ref:`pio_remote`. -You can deploy firmware to any devices which are visible for :ref:`cmd_remote_agent`. - -Let's create New Run Configuration (shortcut) that will be used for OTA Uploads. -Please click on ``Menu: Run > Run Configurations > Manage...``, then -"Add New Config" and specify the next values: - -* **First Blank Input**: a name of runner. Please set it to "PIO: Remote Upload" -* **Command**: set to ``pio remote run -t upload`` -* **Runner**: set to "Shell command" - -.. image:: ../_static/ide/cloud9/ide-cloud9-runner-ota-uploading.png - -OTA Serial Port Monitor ------------------------ - -Over-The-Air (OTA) Serial Port Monitor works in pair with :ref:`pio_remote`. -You can read or send data to any device that is connected to host machine -where :ref:`cmd_remote_agent` is started. -To list active agents please use this command :ref:`cmd_remote_agent_list`. - -Let's create New Run Configuration (shortcut) that will be used for OTA Serial Port Monitor. -Please click on ``Menu: Run > Run Configurations > Manage...``, then -"Add New Config" and specify the next values: - -* **First Blank Input**: a name of runner. Please set it to "PIO: Remote Serial Monitor" -* **Command**: set to ``pio remote device monitor`` -* **Runner**: set to "Shell command" - -.. image:: ../_static/ide/cloud9/ide-cloud9-runner-ota-serial-monitor.png - -Multi-Project workspace ------------------------ - -You can have multiple PlatformIO-based Projects in the same workspace. We -recommend a next folders structure: - -.. code:: - - ├── project-A - │   ├── lib - │   │   └── readme.txt - │   ├── platformio.ini - │   └── src - │   └── main.ino - └── project-B - ├── lib - │   └── readme.txt - ├── platformio.ini - └── src - ├── main.cpp - └── main.h - -In this case, you need to create 2 "New Run Configuration" for -:ref:`ide_cloud9_ota_updates` with using the next **commands**: - -* ``pio remote run --project-dir project-A -t upload`` for Project-A -* ``pio remote run -d project-B -t upload`` for Project-B - -See documentation for :option:`platformio remote run --project-dir` option. \ No newline at end of file diff --git a/docs/ide/codeanywhere.rst b/docs/ide/codeanywhere.rst deleted file mode 100644 index 534b3b3b..00000000 --- a/docs/ide/codeanywhere.rst +++ /dev/null @@ -1,232 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _ide_codeanywhere: - -Codeanywhere -============ - -`Codeanywhere `_ is a Cross Platform Cloud IDE and -it has all the features of Desktop IDE but with additional features only a -cloud application can give you! Codeanywhere is very flexible and you can set -up your workflow any way you want it. The elegant development environment -will let you focus on building great applications quicker. All the features -you will need for any coding task are built into Codeanywhere, making -development more productive and fun. - -.. contents:: - -.. note:: - - 1. Please make sure to read :ref:`pio_remote` guide first. - 2. You need :ref:`cmd_account` if you don't have it. Registration is FREE. - 3. You should have a run :ref:`cmd_remote_agent` on a host machine - where hardware devices are connected or visible for remote operations. - -Demo ----- - -.. image:: ../_static/ide/codeanywhere/ide-codeanywhere-demo.jpg - :target: https://youtu.be/NX56_0Ea_K8?t=148 - -Integration ------------ - -1. `Sign in to Codeanywhere `_. A registration is - FREE and gives you unlimited private projects within the one Container. - -2. Open `Dashboard Projects `_ - -3. Create a new Project and open it. In Connection Wizard create new Container: - - * **Name** set to "PlatformIO" - * **Stack** search for ``Python`` stack (not Python3) that is based on - Ubuntu OS. - * Click on "Create" button. - -.. image:: ../_static/ide/codeanywhere/ide-codeanywhere-connection-wizard.png - -3. Open **SSH-Terminal** tab (right click on - ``Container (PlatformIO) > SSH Terminal``) and install :ref:`core` using - a next command - -.. code-block:: bash - - sudo python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/develop/scripts/get-platformio.py)" - -.. image:: ../_static/ide/codeanywhere/ide-codeanywhere-install-pio-cli.png - -4. Log in to :ref:`cmd_account` using :ref:`cmd_account_login` command. - - -Quick Start ------------ - -Let's create our first PlatformIO-based Codeanywhere Project - -1. Initialize new PlatformIO-based Project. Run a next command in a - Cloud IDE SSH Terminal: - - .. code-block:: bash - - platformio init --board - - # initialize project for Arduino Uno - platformio init --board uno - - To get board ``ID`` please use :ref:`cmd_boards` command or - `Embedded Boards Explorer `_. - - If you do not see created project, please refresh Project Tree using - right-click on ``Container Name (PlatformIO) > Refresh``. - -2. Create new source file named ``main.cpp`` in ``src`` folder using - Project Tree (left side). Please make right click on ``src`` folder, - then "Create File" and insert a next content: - - .. code-block:: c - - #include - - int i = 0; - - void setup() { - Serial.begin(9600); - Serial.println("Hello Codeanywhere!"); - } - - void loop() { - /* serial echo */ - while (Serial.available()) { - Serial.write(Serial.read()); - } - - i++; - Serial.println(i); - delay(100); - } - -.. image:: ../_static/ide/codeanywhere/ide-codeanywhere-init-project.png - -3. If you prefer to work with :ref:`core` CLI, then you can process project - using Cloud IDE SSH Terminal and the next commands: - - * :ref:`cmd_run` - build project - * :ref:`pio run -t clean ` - clean project - * :ref:`pio remote run -t upload ` - upload firmware Over-The-Air - * :ref:`cmd_remote_device_list` - list available devices (OTA Device Manager) - * :ref:`cmd_remote_device_monitor` - OTA Serial Port Monitor - -4. We recommend to hide "Hidden Files". You can do that via - ``Cloud IDE Menu: View > Show Hidden Files``. - -Run Button ----------- - -Codeanywhere provides a quick "Run Project" button where you can specify own -command. Let's add "PlatformIO Build Project" command: - -1. Open "Project Config" via right click on ``Container Name (PlatformIO) > Config`` -2. Set ``commands`` field to - - .. code-block:: js - - "commands": [ - "pio run" - ] - -3. Save configuration file. - -Now, try to click on "Run Project" button. You can assign any PlatformIO -command to this button. - -.. image:: ../_static/ide/codeanywhere/ide-codeanywhere-project-config.png - -OTA Device Manager ------------------- - -Over-The-Air (OTA) Device Manager works in pair with :ref:`pio_remote`. -You can list remote devices that are connected to host machine where -:ref:`cmd_remote_agent` is started or are visible for it. - -1. Open Cloud IDE SSH Terminal -2. Paste this command - - .. code-block:: bash - - pio remote device list - -.. image:: ../_static/ide/codeanywhere/ide-codeanywhere-ota-devices.png - -OTA Firmware Uploading ----------------------- - -Over-The-Air (OTA) Firmware Uploading works in pair with :ref:`pio_remote`. -You can deploy firmware to any devices which are visible for :ref:`cmd_remote_agent`. - -1. Open Cloud IDE SSH Terminal -2. Paste this command - - .. code-block:: bash - - pio remote run -t upload - -.. image:: ../_static/ide/codeanywhere/ide-codeanywhere-ota-uploading.png - -OTA Serial Port Monitor ------------------------ - -Over-The-Air (OTA) Serial Port Monitor works in pair with :ref:`pio_remote`. -You can read or send data to any device that is connected to host machine -where :ref:`cmd_remote_agent` is started. -To list active agents please use this command :ref:`cmd_remote_agent_list`. - -1. Open Cloud IDE SSH Terminal -2. Paste this command - - .. code-block:: bash - - pio remote device monitor - -.. image:: ../_static/ide/codeanywhere/ide-codeanywhere-ota-serial-monitor.png - -Multi-Project workspace ------------------------ - -You can have multiple PlatformIO-based Projects in the same workspace. We -recommend a next folders structure: - -.. code:: - - ├── project-A - │   ├── lib - │   │   └── readme.txt - │   ├── platformio.ini - │   └── src - │   └── main.ino - └── project-B - ├── lib - │   └── readme.txt - ├── platformio.ini - └── src - ├── main.cpp - └── main.h - -In this case, you need to use ``-d, --project-dir`` option for :ref:`cmd_run` -or :ref:`cmd_remote_run` commands: - -* ``pio remote run --project-dir project-A -t upload`` build Project-A -* ``pio remote run --project-dir project-A -t upload`` upload OTA Firmware - using Project-A -* ``pio remote run -d project-B -t upload`` upload OTA Firmware - using Project-B - -See documentation for :option:`platformio remote run --project-dir` option. \ No newline at end of file diff --git a/docs/ide/codeblocks.rst b/docs/ide/codeblocks.rst deleted file mode 100644 index 23df9db1..00000000 --- a/docs/ide/codeblocks.rst +++ /dev/null @@ -1,54 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _ide_codeblocks: - -CodeBlocks -========== - -Code::Blocks is a free, open-source cross-platform IDE that supports multiple -compilers including GCC, Clang and Visual C++. It is developed in C++ using -wxWidgets as the GUI toolkit. Using a plugin architecture, its capabilities -and features are defined by the provided plugins. Currently, Code::Blocks is -oriented towards C, C++, and Fortran. - -CodeBlocks IDE can be downloaded from `here `_. - -.. image:: ../_static/ide-platformio-codeblocks.png - :target: http://docs.platformio.org/en/stable/_images/ide-platformio-codeblocks.png - -.. contents:: - -Integration ------------ - -Choose board ``ID`` using :ref:`cmd_boards` or `Embedded Boards Explorer `_ -command and generate project via :option:`platformio init --ide` command: - -.. code-block:: shell - - platformio init --ide codeblocks --board - - # For example, generate project for Arduino UNO - platformio init --ide codeblocks --board uno - -Then: - -1. Open this project via ``Menu: File > Open...`` -2. Add new files to ``src`` directory (``*.c, *.cpp, *.ino, etc.``) via - ``Menu: File > New > File...`` -3. Build project using ``Menu: Build > Build`` -4. Upload firmware using ``Menu: Build > Run`` - -.. warning:: - The libraries which are added, installed or used in the project - after generating process wont be reflected in IDE. To fix it you - need to reinitialize project using :ref:`cmd_init` (repeat it). diff --git a/docs/ide/eclipse.rst b/docs/ide/eclipse.rst deleted file mode 100644 index 3d21ea09..00000000 --- a/docs/ide/eclipse.rst +++ /dev/null @@ -1,105 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _ide_eclipse: - -Eclipse -======= - -The `Eclipse CDT (C/C++ Development Tooling) `_ -Project provides a fully functional C and C++ Integrated Development -Environment based on the Eclipse platform. Features include: support for -project creation and managed build for various toolchains, standard make -build, source navigation, various source knowledge tools, such as type -hierarchy, call graph, include browser, macro definition browser, code editor -with syntax highlighting, folding and hyperlink navigation, source code -refactoring and code generation, visual debugging tools, including memory, -registers, and disassembly viewers. - -Refer to the `CDT Documentation `_ -page for more detailed information. - -.. image:: ../_static/ide-platformio-eclipse.png - :target: http://docs.platformio.org/en/stable/_static/ide-platformio-eclipse.png - -.. contents:: - -Integration ------------ - -Choose board ``ID`` using :ref:`cmd_boards` or `Embedded Boards Explorer `_ -command and generate project via :option:`platformio init --ide` command: - -.. code-block:: shell - - platformio init --ide eclipse --board - - # For example, generate project for Arduino UNO - platformio init --ide eclipse --board uno - -Then: - -1. Import this project via - ``Menu: File > Import... > General > Existing Projects into Workspace > Next`` - and specify root directory where is located :ref:`projectconf` -2. Open source file from ``src`` directory (``*.c, *.cpp, *.ino, etc.``) -3. Build project using ``Menu: Project > Build Project`` or pre-configured - Make Targets (see screenshot below): - - + ``PlatformIO: Build`` - Build project without auto-uploading - + ``PlatformIO: Clean`` - Clean compiled objects. - + ``PlatformIO: Upload`` - Build and upload (if no errors) - + ``PlatformIO: Upload using Programmer`` see :ref:`atmelavr_upload_via_programmer` - + ``PlatformIO: Upload SPIFFS image`` see :ref:`platform_espressif_uploadfs` - + ``PlatformIO: Update platforms and libraries`` - Update installed - platforms and libraries via :ref:`cmd_update` - + ``PlatformIO: Rebuild C/C++ Project Index`` - Rebuild C/C++ Index for the Project. - Allows to fix code completion and code linting issues. - -If you have some problems with unresolved includes, defines, etc., then - -1. Rebuild PlatformIO Project Index: - ``PlatformIO: Rebuild C/C++ Project Index`` target -2. Rebuild Eclipse Project Index: ``Menu: Project > C/C++ Index > Rebuild`` -3. Refresh Project, right click on the project ``Project > Refresh`` (F5) or - restart Eclipse IDE. - -.. warning:: - The libraries which are added, installed or used in the project - after generating process wont be reflected in IDE. To fix it please run - ``PlatformIO: Rebuild C/C++ Project Index`` target and right click on the - project and ``Project > Refresh`` (F5). - -Live Integration ----------------- - -Eclipse Virtual IoT Meetup: `PlatformIO: a cross-platform IoT solution to build them all! `_ - -.. image:: ../_static/ide-eclipse-virtualiot.jpg - :target: https://www.youtube.com/watch?v=6t7UbX812Yw - -Articles / Manuals ------------------- - -* May 05, 2016 - **Ivan Kravets, Ph.D. / Eclipse Virtual IoT Meetup** - `PlatformIO: a cross-platform IoT solution to build them all! `_ -* Sep 01, 2015 - **Thomas P. Weldon, Ph.D.** - `Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation `_ -* Jul 11, 2015 - **TrojanC** - `Learning Arduino GitHub Repository `_ -* June 20, 2014 - **Ivan Kravets, Ph.D.** - `Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO `_ - -See a full list with :ref:`articles`. - -Examples --------- - -"Blink" Project -^^^^^^^^^^^^^^^ - -Source code of `Eclipse "Blink" Project `_. diff --git a/docs/ide/emacs.rst b/docs/ide/emacs.rst deleted file mode 100644 index fbbc108d..00000000 --- a/docs/ide/emacs.rst +++ /dev/null @@ -1,68 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _ide_emacs: - -Emacs -===== - -GNU Emacs is an extensible, customizable text editor - and more. At its core is -an interpreter for Emacs Lisp, a dialect of the -`Lisp programming language `_ -with extensions to support text editing. - -Refer to the `Emacs Documentation `_ -page for more detailed information. - -.. image:: ../_static/ide-platformio-emacs.png - :target: http://docs.platformio.org/en/stable/_static/ide-platformio-emacs.png - -.. contents:: - -Integration ------------ - -PlatformIO-Mode -^^^^^^^^^^^^^^^ - -An Emacs minor mode has been written to facilitate building and uploading from within Emacs. -It can be installed from the MELPA repository using ``M-x package-install``. -See the MELPA `Getting Started `_ page for more information. - -Setup instructions and an example config can be found at the `Github page `_. - -Code completion can optionally be provided by installing `irony-mode `_ - - -Project Generator -^^^^^^^^^^^^^^^^^ - -Choose board ``ID`` using :ref:`cmd_boards` or `Embedded Boards Explorer `_ -command and generate project via :option:`platformio init --ide` command: - -.. code-block:: shell - - platformio init --ide emacs --board - - -There are 6 predefined targets for building. - -* ``platformio_build`` - Build project without auto-uploading. (``C-c i b``) -* ``platformio_clean`` - Clean compiled objects. (``C-c i c``) -* ``platformio_upload`` - Build and upload (if no errors). (``C-c i u``) -* ``platformio_programmer_upload`` - Build and upload using external programmer (if no errors, see :ref:`atmelavr_upload_via_programmer`). (``C-c i p``) -* ``platformio_spiffs_upload`` - Upload files to file system SPIFFS (see :ref:`platform_espressif_uploadfs`). (``C-c i s``) -* ``platformio_update`` - Update installed platforms and libraries. (``C-c i d``) - -.. warning:: - The libraries which are added, installed or used in the project - after generating process wont be reflected in IDE. To fix it you - need to reinitialize project using :ref:`cmd_init` (repeat it). diff --git a/docs/ide/netbeans.rst b/docs/ide/netbeans.rst deleted file mode 100644 index a44a3311..00000000 --- a/docs/ide/netbeans.rst +++ /dev/null @@ -1,64 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _ide_netbeans: - -NetBeans -======== - -NetBeans is a Java-based integrated development environment (IDE). It provides -out-of-the-box code analyzers and editors for working with the latest Java 8 -technologies--Java SE 8, Java SE Embedded 8, and Java ME Embedded 8. The IDE -also has a range of new tools for HTML5/JavaScript, in particular for Node.js, -KnockoutJS, and AngularJS; enhancements that further improve its support for -Maven and Java EE with PrimeFaces; and improvements to PHP and C/C++ support. - -NetBeans IDE can be downloaded from `here `_. -Just make sure you download the C/C++ version (or if you already use NetBeans, -install the C/C++ development plugins). - -.. image:: ../_static/ide-platformio-netbeans.png - :target: http://docs.platformio.org/en/stable/_images/ide-platformio-netbeans.png - -.. contents:: - -Integration ------------ - -Choose board ``ID`` using :ref:`cmd_boards` or `Embedded Boards Explorer `_ -command and generate project via :option:`platformio init --ide` command: - -.. code-block:: shell - - platformio init --ide netbeans --board - - # For example, generate project for Arduino UNO - platformio init --ide netbeans --board uno - -Then: - -1. Open this project via ``Menu: File > Open Project...`` -2. Add new files to ``src`` directory (``*.c, *.cpp, *.ino, etc.``) via - right-click on ``src`` folder in the "Projects" pane -3. Build project using ``Menu: Run > Build Project`` -4. Upload firmware using ``Menu: Run > Run Project`` - -.. warning:: - The libraries which are added, installed or used in the project - after generating process wont be reflected in IDE. To fix it you - need to reinitialize project using :ref:`cmd_init` (repeat it). - -Articles / Manuals ------------------- - -* Feb 22, 2016 - **Grzegorz Hołdys** - `How to Integrate PlatformIO with Netbeans `_ - -See the full list with :ref:`articles`. diff --git a/docs/ide/qtcreator.rst b/docs/ide/qtcreator.rst deleted file mode 100644 index 42df4feb..00000000 --- a/docs/ide/qtcreator.rst +++ /dev/null @@ -1,195 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _ide_qtcreator: - -Qt Creator -========== - -The `Qt Creator `_ is an open source cross-platform integrated development environment. The editor includes such features as syntax highlighting for various languages, project manager, integrated version control systems, rapid code navigation tools and code autocompletion. - -Refer to the `Qt-creator Manual `_ -page for more detailed information. - -.. image:: ../_static/ide-platformio-qtcreator-7.png - :target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-7.png - -.. contents:: - -Integration ------------ - -.. note:: - Please verify that folder where is located ``platformio`` program is added - to `PATH (wiki) `_ environment - variable. See FAQ: :ref:`faq_troubleshooting_pionotfoundinpath`. - -Project Generator -^^^^^^^^^^^^^^^^^ - -Choose board ``ID`` using :ref:`cmd_boards` or `Embedded Boards Explorer `_ -command and generate project via :option:`platformio init --ide` command: - -.. code-block:: shell - - platformio init --ide qtcreator --board - - # For example, generate project for Arduino UNO - platformio init --ide qtcreator --board uno - -Then: - -1. Import project via ``File > Open File or Project`` and select - ``platformio.pro`` from the folder where is located :ref:`projectconf` -2. Select default desktop kit and click on ``Configure Project`` (``Projects`` - mode, left panel) -3. Set ``General > Build directory`` to the project directory where - is located :ref:`projectconf` -4. Remove all items from ``Build Steps``, click on - ``Build Steps > Add Build Step > Custom Process Step`` and set: - - * **Command**: ``platformio`` - * **Arguments**: ``-f -c qtcreator run`` - * **Working directory**: ``%{buildDir}`` - -5. Remove all items from ``Clean Steps``, click on - ``Clean Steps > Add Clean Step > Custom Process Step`` and set: - - * **Command**: ``platformio`` - * **Arguments**: ``-f -c qtcreator run --target clean`` - * **Working directory**: ``%{buildDir}`` - -6. Update ``PATH`` in ``Build Environment > PATH > EDIT`` with the result of - this command (paste in Terminal): - -.. code-block:: shell - - # Linux, Mac - echo $PATH - - # Windows - echo %PATH% - -7. Switch to ``Edit`` mode (left panel) and open source file from ``src`` - directory (``*.c, *.cpp, *.ino, etc.``) -8. Build project: ``Menu: Build > Build All``. - -.. image:: ../_static/ide-platformio-qtcreator-3.png - :target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-3.png - -.. warning:: - The libraries which are added, installed or used in the project - after generating process wont be reflected in IDE. To fix it you - need to reinitialize project using :ref:`cmd_init` (repeat it). - -Manual Integration -^^^^^^^^^^^^^^^^^^ - -Setup New Project -~~~~~~~~~~~~~~~~~ - -First of all, let's create new project from Qt Creator Start Page: ``New Project`` or using ``Menu: File > New File or Project``, then select project with ``Empty Qt Project`` type (``Other Project > Empty Qt Project``), fill ``Name``, ``Create in``. - -.. image:: ../_static/ide-platformio-qtcreator-1.png - :target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-1.png - -On the next steps select any available kit and click Finish button. - -.. image:: ../_static/ide-platformio-qtcreator-2.png - -Secondly, we need to delete default build and clean steps and configure project with PlatformIO Build System (click on Projects label on left menu or ``Ctrl+5`` shortcut): - -.. image:: ../_static/ide-platformio-qtcreator-3.png - :target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-3.png - -Thirdly, change project file by adding path to directories with header files. Please edit project file to match the following contents: - -.. code-block:: none - - win32 { - HOMEDIR += $$(USERPROFILE) - } - else { - HOMEDIR += $$(HOME) - } - - INCLUDEPATH += "$${HOMEDIR}/.platformio/packages/framework-arduinoavr/cores/arduino" - INCLUDEPATH += "$${HOMEDIR}/.platformio/packages/toolchain-atmelavr/avr/include" - -.. image:: ../_static/ide-platformio-qtcreator-4.png - :target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-4.png - -First program in Qt Creator -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Simple "Blink" project will consist from two files: -1. In the console, navigate to the root of your project folder and initialize platformio project with ``platformio init`` -2. The main "C" source file named ``main.c`` must be located in the ``src`` directory. -Let's create new text file named ``main.c`` using ``Menu: New File or Project > General > Text File``: - -.. image:: ../_static/ide-platformio-qtcreator-5.png - :target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-5.png - -Copy the source code which is described below to file ``main.c``. - -.. code-block:: c - - #include "Arduino.h" - #define WLED 13 // Most Arduino boards already have an LED attached to pin 13 on the board itself - - void setup() - { - pinMode(WLED, OUTPUT); // set pin as output - } - - void loop() - { - digitalWrite(WLED, HIGH); // set the LED on - delay(1000); // wait for a second - digitalWrite(WLED, LOW); // set the LED off - delay(1000); // wait for a second - } - -3. Locate the project configuration file named ``platformio.ini`` at the root of the project directory and open it. - -.. image:: ../_static/ide-platformio-qtcreator-6.png - :target: http://docs.platformio.org/en/stable/_static/ide-platformio-qtcreator-6.png - -Edit the content to match the code described below. - -.. code-block:: ini - - ; PlatformIO Project Configuration File - ; - ; Build options: build flags, source filter, extra scripting - ; Upload options: custom port, speed and extra flags - ; Library options: dependencies, extra library storages - ; - ; Please visit documentation for the other options and examples - ; http://docs.platformio.org/en/stable/projectconf.html - - [env:arduino_uno] - platform = atmelavr - framework = arduino - board = uno - -Conclusion -~~~~~~~~~~ - -Taking everything into account, we can build project with shortcut ``Ctrl+Shift+B`` or using ``Menu: Build > Build All``. - -Examples --------- - -"Blink" Project -^^^^^^^^^^^^^^^ - -Source code of `Qt Creator "Blink" Project `_. diff --git a/docs/ide/sublimetext.rst b/docs/ide/sublimetext.rst deleted file mode 100644 index 3c4f0ba0..00000000 --- a/docs/ide/sublimetext.rst +++ /dev/null @@ -1,194 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _ide_sublimetext: - -Sublime Text -============ - -The `Sublime Text `_ is a cross-platform text and source code editor, with a Python application programming interface (API). Sublime Text is proprietary software. Its functionality is extendable with plugins. Most of the extending packages have free-software licenses and are community-built and maintained. Sublime Text lacks graphical setting dialogues and is entirely configured by editing text files. - -Refer to the `Sublime Text Documentation `_ -page for more detailed information. - -.. image:: ../_static/ide-sublime-text-deviot.gif - :target: https://github.com/gepd/Deviot - -.. contents:: - -Integration ------------ - -Deviot Plugin -^^^^^^^^^^^^^ - -We are glad to inform you about awesome Sublime Text plugin for IoT development -named `Deviot `_. It is based on -:ref:`core` and will automatically install it for you. Please visit `official -Deviot page `_ for the further installation -steps and documentation. - -.. image:: ../_static/ide-sublime-text-deviot.gif - :target: https://github.com/gepd/Deviot - -Project Generator -^^^^^^^^^^^^^^^^^ - -Choose board ``ID`` using :ref:`cmd_boards` or `Embedded Boards Explorer `_ -command and generate project via :option:`platformio init --ide` command: - -.. code-block:: shell - - platformio init --ide sublimetext --board - - # For example, generate project for Arduino UNO - platformio init --ide sublimetext --board uno - -Then: - -1. Import project via ``Menu: Project > Open Project...`` and select - ``platformio.sublime-project`` from the folder where is located :ref:`projectconf` -2. Select PlatformIO as build system: ``Menu: Tools > Build System > PlatformIO`` -3. Open source file from ``src`` directory (``*.c, *.cpp, *.ino, etc.``) -4. Build project: ``Menu: Tools > Build``. - -Also, you can access to all pre-configured targets via -``Menu: Tools > Builds With...`` (ST3) - -+ ``PlatformIO - Build`` - Build project without auto-uploading -+ ``PlatformIO - Clean`` - Clean compiled objects. -+ ``PlatformIO - Upload`` - Build and upload (if no errors) -+ ``PlatformIO - Upload using Programmer`` see :ref:`atmelavr_upload_via_programmer` -+ ``PlatformIO - Upload SPIFFS image`` see :ref:`platform_espressif_uploadfs` -+ ``PlatformIO - Update platforms and libraries`` - Update installed platforms and libraries via :ref:`cmd_update`. - -Manual Integration -^^^^^^^^^^^^^^^^^^ - -.. note:: - Please verify that folder where is located ``platformio`` program is added - to `PATH (wiki) `_ environment - variable. See FAQ: :ref:`faq_troubleshooting_pionotfoundinpath`. - -Initial configuration -~~~~~~~~~~~~~~~~~~~~~ - -First of all, we need to create "New Build System" with name "PlatformIO" -from ``Menu: Tools > Build System > New Build System`` and fill it like -described below: - -.. code-block:: bash - - { - "cmd": ["platformio", "-f", "-c", "sublimetext", "run"], - "working_dir": "${project_path:${folder}}", - "variants": - [ - { - "name": "Clean", - "cmd": ["platformio", "-f", "-c", "sublimetext", "run", "--target", "clean"] - }, - { - "name": "Upload", - "cmd": ["platformio", "-f", "-c", "sublimetext", "run", "--target", "upload"] - } - ] - } - -Secondly, we need to select "PlatformIO" Build System from a list: - -.. image:: ../_static/ide-sublime-text-platformio-newproject-2.png - -After that, we can use the necessary commands from -``Menu: Tools > Command Palette`` or with ``Ctrl+Shift+P`` (Windows/Linux) -``Cmd+Shift+P`` (Mac) shortcut. - -.. image:: ../_static/ide-sublime-text-platformio-newproject-3.png - -Command Hotkeys -''''''''''''''' - -Sublime Text allows to bind own hotkey per command. Let's setup them -for PlatformIO commands using shortcut ``Menu: Preferences > Key-Bindings - User``: - -.. image:: ../_static/ide-sublime-text-platformio-newproject-4.png - -We are going to use these shortcuts: - -* ``F11`` for clean project -* ``F12`` for upload firmware to target device - -In this case, the final code will look like: - -.. code-block:: none - - [ - { "keys": ["f11"], "command": "build", "args": {"variant": "Clean"} }, - { "keys": ["f12"], "command": "build", "args": {"variant": "Upload"} } - ] - -First program in Sublime Text -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Simple "Blink" project will consist from two files: - -1. Main "C" source file named ``main.c`` must be located in the ``src`` directory. -Let's create new file named ``main.c`` using ``Menu: File > New File`` or shortcut ``Ctrl+N`` (Windows/Linux) ``Cmd+N`` (Mac) with the next contents: - -.. code-block:: c - - #include "Arduino.h" - #define WLED 13 // Most Arduino boards already have an LED attached to pin 13 on the board itself - - void setup() - { - pinMode(WLED, OUTPUT); // set pin as output - } - - void loop() - { - digitalWrite(WLED, HIGH); // set the LED on - delay(1000); // wait for a second - digitalWrite(WLED, LOW); // set the LED off - delay(1000); // wait for a second - } - -2. Project Configuration File named ``platformio.ini`` must be located in the project root directory. -Copy the source code which is described below to it. - -.. code-block:: ini - - ; PlatformIO Project Configuration File - ; - ; Build options: build flags, source filter, extra scripting - ; Upload options: custom port, speed and extra flags - ; Library options: dependencies, extra library storages - ; - ; Please visit documentation for the other options and examples - ; http://docs.platformio.org/en/stable/projectconf.html - - [env:arduino_uno] - platform = atmelavr - framework = arduino - board = uno - -Conclusion -~~~~~~~~~~ - -Taking everything into account, we can open project directory in Sublime Text using ``Menu: File > Open Folder`` and build it with shortcut ``Ctrl+B`` (Windows/Linux) or ``Cmd+B`` (Mac), clean project with shortcut ``F11`` and upload firmware to target with shortcut ``F12``. - -Examples --------- - -"Blink" Project -^^^^^^^^^^^^^^^ - -Source code of `Sublime Text "Blink" Project `_. diff --git a/docs/ide/vim.rst b/docs/ide/vim.rst deleted file mode 100644 index 9d290ab1..00000000 --- a/docs/ide/vim.rst +++ /dev/null @@ -1,99 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _ide_vim: - -VIM -=== - -`VIM `_ is an open-source, powerful and configurable text -editor. Vim is designed for use both from a command-line interface and as a -standalone application in a graphical user interface. - -.. image:: ../_static/ide-platformio-vim.png - -.. contents:: - -Integration ------------ - -.. note:: - Please verify that folder where is located ``platformio`` program is added - to `PATH (wiki) `_ environment - variable. See FAQ: :ref:`faq_troubleshooting_pionotfoundinpath`. - - -"Neomake-PlatformIO" Plugin -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Please visit `neomake-platformio `_ -for the further installation steps and documentation. - -Manual -~~~~~~ - -Recommended bundles: - -* Syntax highlight - `Arduino-syntax-file `_ -* Code Completion - `YouCompleteMe `_ (see configuration example by **Anthony Ford** `PlatformIO/YouCompleteMe Integration `_) -* Syntax checking - `Syntastic `_ - -Put to the project directory ``Makefile`` wrapper with contents: - -.. code-block:: make - - # Uncomment lines below if you have problems with $PATH - #SHELL := /bin/bash - #PATH := /usr/local/bin:$(PATH) - - all: - platformio -f -c vim run - - upload: - platformio -f -c vim run --target upload - - clean: - platformio -f -c vim run --target clean - - program: - platformio -f -c vim run --target program - - uploadfs: - platformio -f -c vim run --target uploadfs - - update: - platformio -f -c vim update - - -Pre-defined targets: - -+ ``Build`` - Build project without auto-uploading -+ ``Clean`` - Clean compiled objects. -+ ``Upload`` - Build and upload (if no errors) -+ ``Upload using Programmer`` see :ref:`atmelavr_upload_via_programmer` -+ ``Upload SPIFFS image`` see :ref:`platform_espressif_uploadfs` -+ ``Update platforms and libraries`` - Update installed platforms and libraries via :ref:`cmd_update`. - - -Now, in VIM ``cd /path/to/this/project`` and press ``Ctrl+B`` or ``Cmd+B`` -(Mac). *PlatformIO* should compile your source code from the ``src`` directory, -make firmware and upload it. - -.. note:: - If hotkey doesn't work for you, try to add this line - ``nnoremap :make`` to ``~/.vimrc`` - -Articles / Manuals ------------------- - -* `コマンドラインでArduino開発 : vim + platformio (Arduino development at the command line: VIM + PlatformIO, Japanese) `_ - -See a full list with :ref:`articles`. diff --git a/docs/ide/visualstudio.rst b/docs/ide/visualstudio.rst deleted file mode 100644 index 8dcb02c6..00000000 --- a/docs/ide/visualstudio.rst +++ /dev/null @@ -1,177 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _ide_visualstudio: - -Visual Studio -============= - -The `Microsoft Visual Studio (Free) `_ is an integrated development environment (IDE) from Microsoft. Visual Studio includes a code editor supporting IntelliSense (the code completion component) as well as code refactoring. - -Refer to the `Visual Studio Documentation `_ -page for more detailed information. - -.. image:: ../_static/ide-vs-platformio-newproject-8.png - :target: http://docs.platformio.org/en/stable/_static/ide-vs-platformio-newproject-8.png - -.. contents:: - -Integration ------------ - -.. note:: - Please verify that folder where is located ``platformio`` program is added - to `PATH (wiki) `_ environment - variable. See FAQ: :ref:`faq_troubleshooting_pionotfoundinpath`. - -Project Generator -^^^^^^^^^^^^^^^^^ - -Choose board ``ID`` using :ref:`cmd_boards` or `Embedded Boards Explorer `_ -command and generate project via :option:`platformio init --ide` command: - -.. code-block:: shell - - platformio init --ide sublimetext --board - - # For example, generate project for Arduino UNO - platformio init --ide visualstudio --board uno - -Then: - -1. Import this project via ``Menu: File > Open > Project/Solution`` - and specify root directory where is located :ref:`projectconf` -2. Open source file from ``src`` directory (``*.c, *.cpp, *.ino, etc.``) -3. Build project: ``Menu: Build > Build Solution``. - -.. warning:: - The libraries which are added, installed or used in the project - after generating process wont be reflected in IDE. To fix it you - need to reinitialize project using :ref:`cmd_init` (repeat it). - -Manual Integration -^^^^^^^^^^^^^^^^^^ - -Setup New Project -~~~~~~~~~~~~~~~~~ - -First of all, let's create new project from Visual Studio Start Page: ``Start > New Project`` or using ``Menu: File > New > Project``, then select project with ``Makefile`` type (``Visual C++ > General > Makefile Project``), fill ``Project name``, ``Solution name``, ``Location`` fields and press OK button. - -.. image:: ../_static/ide-vs-platformio-newproject.png - -Secondly, we need to configure project with PlatformIO Build System: - -.. image:: ../_static/ide-vs-platformio-newproject-2.png - -If we want to use native AVR programming, we have to specify additional preprocessor symbol ("Preprocessor definitions" field) about your MCU. For example, an Arduino Uno is based on the ATmega328 MCU. In this case We will add new definition ``__AVR_ATmega328__``. - -.. image:: ../_static/ide-vs-platformio-newproject-2-1.png - -Release Configuration is the same as Debug, so on the next step we check "Same as Debug Configuration" and click "Finish" button. - -.. image:: ../_static/ide-vs-platformio-newproject-3.png - -Thirdly, we need to add directories with header files using project properties (right click on the project name or ``Alt-Enter`` shortcut) and add two directories to ``Configuration Properties > NMake > Include Search Path``: - -.. code-block:: none - - $(HOMEDRIVE)$(HOMEPATH)\.platformio\packages\toolchain-atmelavr\avr\include - $(HOMEDRIVE)$(HOMEPATH)\.platformio\packages\framework-arduinoavr\cores\arduino - -.. image:: ../_static/ide-vs-platformio-newproject-5.png - -First program in Visual Studio -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Simple "Blink" project will consist from two files: - -1. Main "C++" source file named ``main.cpp`` must be located in the ``src`` directory. -Let's create new file named ``main.cpp`` using ``Menu: File > New File`` or shortcut ``Ctrl+N``: - -.. image:: ../_static/ide-vs-platformio-newproject-6.png - -Copy the source code which is described below to file ``main.cpp``. - -.. code-block:: cpp - - #include "Arduino.h" - #define WLED 13 // Most Arduino boards already have an LED attached to pin 13 on the board itself - - void setup() - { - pinMode(WLED, OUTPUT); // set pin as output - } - - void loop() - { - digitalWrite(WLED, HIGH); // set the LED on - delay(1000); // wait for a second - digitalWrite(WLED, LOW); // set the LED off - delay(1000); // wait for a second - } - -2. Project Configuration File named ``platformio.ini`` must be located in the project root directory. - -.. image:: ../_static/ide-vs-platformio-newproject-7.png - -Copy the source code which is described below to it. - -.. code-block:: ini - - ; PlatformIO Project Configuration File - ; - ; Build options: build flags, source filter, extra scripting - ; Upload options: custom port, speed and extra flags - ; Library options: dependencies, extra library storages - ; - ; Please visit documentation for the other options and examples - ; http://docs.platformio.org/en/stable/projectconf.html - - [env:arduino_uno] - platform = atmelavr - framework = arduino - board = uno - - -Conclusion -~~~~~~~~~~ - -Taking everything into account, we can build project with shortcut ``Ctrl+Shift+B`` or using ``Menu: Build > Build Solution``. - -Examples --------- - -"Blink" Project -^^^^^^^^^^^^^^^ - -Source code of `Visual Studio "Blink" Project `_. - -Known issues ------------- - -IntelliSense Errors -^^^^^^^^^^^^^^^^^^^ - -VS Studio does not allow to specify for project other toolchain which will -be used by IntelliSense. In this case, IntelliSense does not understand -GCC-specific definitions. - -However, these errors does not have any influence on PlatformIO Build -System. It means that you can ignore them and rely on PlatformIO Build System -messages which will be shown in output console after build. - -Nevertheless, you can provide an IntelliSense-friendly definition of problematic -GCC constructs and make sure that the GCC will ignore such definitions or -disable IntelliSense error reporting at all. -See details in `issue #543 `_ - -.. image:: ../_static/ide-vs-platformio-newproject-9.png - :target: http://docs.platformio.org/en/stable/_static/ide-vs-platformio-newproject-9.png diff --git a/docs/index.rst b/docs/index.rst deleted file mode 100644 index e66d4cbb..00000000 --- a/docs/index.rst +++ /dev/null @@ -1,146 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -PlatformIO is an open source ecosystem for IoT development -========================================================== - -**Cross-platform build system and library manager. Continuous and IDE -integration. Arduino, ESP8266 and ARM mbed compatible.** - -* **PlatformIO IDE** - The next-generation integrated development environment for IoT. - C/C++ Intelligent Code Completion and Smart Code Linter for the super-fast coding. - Multi-projects workflow with Multiple Panes. Themes Support with dark and light colors. - Built-in Terminal with :ref:`core` and support for the powerful Serial Port Monitor. - All advanced instruments without leaving your favorite development environment. -* **Development Platforms** - Embedded and Desktop development platforms with - pre-built toolchains, debuggers, uploaders and frameworks which work under - popular host OS: Mac, Windows, Linux (+ARM) -* **Embedded Boards** - Rapid Embedded Programming, IDE and Continuous - Integration in a few steps with PlatformIO thanks to built-in project - generator for the most popular embedded boards and IDE -* **Library Manager** - Hundreds Popular Libraries are organized into single - Web 2.0 platform: list by categories, keywords, authors, compatible - platforms and frameworks; learn via examples; be up-to-date with the latest - version - -*Atmel AVR & SAM, Espressif, Freescale Kinetis, Nordic nRF51, NXP LPC, -Silicon Labs EFM32, ST STM32, TI MSP430 & Tiva, Teensy, Arduino, mbed, -libOpenCM3, etc.* - -* `Home Page `_ -* `PlatformIO Plus and professional solutions `_ -* :ref:`ide_atom` -* `Library Search and Registry `_ | - `Embedded Boards Explorer `_ -* `Project Examples `_ -* `Source Code `_ | - `Issues `_ -* `Blog `_ | - `Twitter `_ | - `Facebook `_ | - `Hackaday `_ | - `Forums `_ - -Embedded Development. *Easier Than Ever.* ------------------------------------------ - -* Colourful command-line output -* :ref:`IDE Integration ` with *Arduino, Atom, CLion, Eclipse, Emacs, - Energia, Qt Creator, Sublime Text, Vim, Visual Studio* -* Cloud compiling and :ref:`ci` with *AppVeyor, Circle CI, Drone, Shippable, Travis CI* -* Built-in :ref:`Serial Port Monitor ` and - configurable build :ref:`-flags/-options ` -* Pre-built toolchains, :ref:`frameworks` for the :ref:`platforms` - -Smart Build System. *Fast and Reliable.* ----------------------------------------- - -* Reliable, automatic dependency analysis and detection of build changes -* Improved support for parallel builds -* Ability to share built files in a cache -* Lookup for external libraries which are installed via :ref:`librarymanager` - -The Missing Library Manager. *It's here!* ------------------------------------------ - -* Friendly Command-Line Interface -* Modern `Web 2.0 Library Search `_ -* Library dependency management -* Automatic library updating -* It runs on Windows, Mac OS X, and Linux (+ARM). - -For further details, please refer to -:ref:`What is PlatformIO? How does it work? ` - -Contents --------- - -.. toctree:: - :maxdepth: 2 - - what-is-platformio - demo - -.. toctree:: - :caption: Getting Started - :maxdepth: 2 - - PlatformIO IDE - core - -.. toctree:: - :caption: Configuration - :maxdepth: 2 - - platformio.ini - envvars - -.. toctree:: - :caption: Instruments - :maxdepth: 3 - - platforms/index - platforms/embedded_boards - frameworks/index - platforms/custom_platform_and_board - -.. toctree:: - :caption: PlatformIO Plus - :maxdepth: 3 - - plus/pio-remote - plus/unit-testing - -.. toctree:: - :caption: Library Manager - :maxdepth: 2 - - Quickstart - librarymanager/ldf - librarymanager/config - librarymanager/creating - -.. toctree:: - :caption: Integration - :maxdepth: 2 - - ide - ci/index - -.. toctree:: - :caption: Miscellaneous - :maxdepth: 2 - - articles - FAQ - history - migration - diff --git a/docs/installation.rst b/docs/installation.rst deleted file mode 100644 index 1f3979f0..00000000 --- a/docs/installation.rst +++ /dev/null @@ -1,232 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _installation: - -Installation -============ - -.. note:: - - Please note that you do not need to install **PlatformIO Core** if you - are going to use :ref:`ide_atom`. **PlatformIO Core** is built into - PlatformIO IDE and you will be able to use it within PlatformIO IDE Terminal. - - Also, PlatformIO IDE allows to install :ref:`core` Shell Commands - (``pio``, ``platformio``) globally to your system via - ``Menu: PlatformIO > Install Shell Commands``. - -**PlatformIO Core** is written in `Python `_ -and works on Windows, macOS, Linux, FreeBSD and *ARM*-based credit-card sized -computers (`Raspberry Pi `_, -`BeagleBone `_, -`CubieBoard `_). - -.. contents:: - -System requirements -------------------- - -:Operating System: Mac OS X, Linux (+ARM) or Windows -:Python Interpreter: - - Python 2.7 is required. PlatformIO **does not** support Python 3. - - .. attention:: - **Windows Users**: Please `Download the latest Python 2.7.x - `_ and install it. - **DON'T FORGET** to select ``Add python.exe to Path`` feature on the - "Customize" stage, otherwise Python Package Manager ``pip`` command - will not be available. - - .. image:: _static/python-installer-add-path.png - -:Terminal Application: - - All commands below should be executed in - `Command-line `_ - application (Terminal). For Mac OS X and Linux OS - *Terminal* application, - for Windows OS – ``cmd.exe`` application. - - -:Access to Serial Ports (USB/UART): - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - **Linux Users**: - - * Ubuntu/Debian users may need to add own "username" to the "dialout" - group if they are not "root", doing this issuing a - ``sudo usermod -a -G dialout yourusername``. - * Install "udev" rules file `99-platformio-udev.rules `_ - (an instruction is located in the file). - * Raspberry Pi users, please read this article - `Enable serial port on Raspberry Pi `__. - - -Installation Methods --------------------- - -Please *choose ONE of* the following methods: - -.. contents:: - :local: - -Python Package Manager -~~~~~~~~~~~~~~~~~~~~~~ - -The latest stable version of PlatformIO may be installed or upgraded via -Python Package Manager (`pip `_) as follows: - -.. code-block:: bash - - pip install -U platformio - -If ``pip`` command is not available run ``easy_install pip`` or use -:ref:`installation_installer_script` which will install ``pip`` and -``platformio`` automatically. - -Note that you may run into permissions issues running these commands. You have -a few options here: - -* Run with ``sudo`` to install PlatformIO and dependencies globally -* Specify the `pip install --user `_ - option to install local to your user -* Run the command in a `virtualenv `_ local to a - specific project working set. - -.. _installation_installer_script: - -Installer Script -~~~~~~~~~~~~~~~~ - -Super-Quick (Mac / Linux) -''''''''''''''''''''''''' - -To install or upgrade *PlatformIO* paste that at a *Terminal* prompt -(**MAY require** administrator access ``sudo``): - -.. code-block:: bash - - python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)" - - -Local Download (Mac / Linux / Windows) -'''''''''''''''''''''''''''''''''''''' - -To install or upgrade *PlatformIO*, download (save as...) -`get-platformio.py `_ -script. Then run the following (**MAY require** administrator access ``sudo``): - -.. code-block:: bash - - # change directory to folder where is located downloaded "get-platformio.py" - cd /path/to/dir/where/is/located/get-platformio.py/script - - # run it - python get-platformio.py - - -On *Windows OS* it may look like: - -.. code-block:: bash - - # change directory to folder where is located downloaded "get-platformio.py" - cd C:\path\to\dir\where\is\located\get-platformio.py\script - - # run it - C:\Python27\python.exe get-platformio.py - - -Mac OS X Homebrew -~~~~~~~~~~~~~~~~~ - -The latest stable version of PlatformIO may be installed or upgraded via -Mac OS X Homebrew Packages Manager (`brew `_) as follows: - -.. code-block:: bash - - brew install platformio - -Full Guide -~~~~~~~~~~ - -1. Check a ``python`` version (only Python 2.7 is supported): - -.. code-block:: bash - - python --version - -*Windows Users* only: - - * `Download Python 2.7 `_ and install it. - * Add to PATH system variable ``;C:\Python27;C:\Python27\Scripts;`` and reopen *Command Prompt* (``cmd.exe``) application. Please read this article `How to set the path and environment variables in Windows `_. - -2. Install a ``platformio`` and related packages: - -.. code-block:: bash - - pip install -U platformio - -If your computer does not recognize ``pip`` command, try to install it first -using `these instructions `_. - -For upgrading ``platformio`` to the latest version: - -.. code-block:: bash - - pip install -U platformio - -.. _installation_develop: - -Development Version -~~~~~~~~~~~~~~~~~~~ - -.. warning:: - If you use :ref:`ide_atom`, please enable development version via - ``Menu PlatformIO: Settings > PlatformIO IDE > Use development version of - PlatformIO``. - -Install the latest PlatformIO from the ``develop`` branch: - -.. code-block:: bash - - # uninstall existing version - pip uninstall platformio - - # install the latest development version of PlatformIO - pip install -U https://github.com/platformio/platformio-core/archive/develop.zip - -If you want to be up-to-date with the latest ``develop`` version of PlatformIO, -then you need to re-install PlatformIO each time if you see the new commits in -`PlatformIO GitHub repository (branch: develop) `_. - -To revert to the latest stable version - -.. code-block:: bash - - pip uninstall platformio - pip install -U platformio - - -Troubleshooting ---------------- - -.. note:: - **Linux OS**: Don't forget to install "udev" rules file - `99-platformio-udev.rules `_ (an instruction is located in the file). - - **Windows OS**: Please check that you have correctly installed USB driver - from board manufacturer - -For further details, frequently questions, known issues, please -refer to :ref:`faq`. diff --git a/docs/librarymanager/config.rst b/docs/librarymanager/config.rst deleted file mode 100644 index a3a2edc1..00000000 --- a/docs/librarymanager/config.rst +++ /dev/null @@ -1,605 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. |PIOAPICR| replace:: *PlatformIO Library Registry Crawler* -.. _library_config: - -library.json -============ - -``library.json`` is a manifest file of development library. It allows developers -to keep project in own structure and define: - -* location of source code -* examples list -* compatible frameworks and platforms -* library dependencies -* advanced build settings - -PlatformIO Library Crawler uses ``library.json`` manifest to extract -source code from developer's location and keeps a cleaned library in own -Library Registry. - -A data in ``library.json`` should be represented -in `JSON-style `_ via -`associative array `_ -(name/value pairs). An order doesn't matter. The allowable fields -(names from pairs) are described below. - -.. contents:: - -.. _libjson_name: - -``name`` --------- - -**Required** | Type: ``String`` | Max. Length: 50 - -A name of the library. - -* Must be unique. -* Should be slug style for simplicity, consistency and compatibility. - Example: *Arduino-SPI* -* Title Case, Aa-z, can contain digits and dashes (but not start/end - with them). -* Consecutive dashes are not allowed. - - -.. _libjson_description: - -``description`` ---------------- - -**Required** | Type: ``String`` | Max. Length: 255 - -The field helps users to identify and search for your library with a brief -description. Describe the hardware devices (sensors, boards and etc.) which -are suitable with it. - - -.. _libjson_keywords: - -``keywords`` ------------- - -**Required** | Type: ``String`` | Max. Length: 255 - -Used for search by keyword. Helps to make your library easier to discover -without people needing to know its name. - -The keyword should be lowercased, can contain a-z, digits and dash (but not -start/end with them). A list from the keywords can be specified with -separator ``,`` - - -.. _libjson_authors: - -``authors`` ------------ - -*Required* if :ref:`libjson_repository` field is not defined | Type: ``Object`` -or ``Array`` - -An author contact information - -* ``name`` Full name (**Required**) -* ``email`` -* ``url`` An author's contact page -* ``maintainer`` Specify "maintainer" status - -Examples: - -.. code-block:: javascript - - "authors": - { - "name": "John Smith", - "email": "me@john-smith.com", - "url": "http://www.john-smith/contact" - } - - ... - - "authors": - [ - { - "name": "John Smith", - "email": "me@john-smith.com", - "url": "http://www.john-smith/contact" - }, - { - "name": "Andrew Smith", - "email": "me@andrew-smith.com", - "url": "http://www.andrew-smith/contact", - "maintainer": true - } - ] - - -.. note:: - You can omit :ref:`libjson_authors` field and define - :ref:`libjson_repository` field. Only *GitHub-based* repository is - supported now. In this case - |PIOAPICR| will use information from - `GitHub API Users `_. - - -.. _libjson_repository: - -``repository`` --------------- - -*Required* if :ref:`libjson_downloadurl` field is not defined | Type: ``Object`` - -The repository in which the source code can be found. The field consists of the -next items: - -* ``type`` the only "git", "hg" or "svn" are supported -* ``url`` -* ``branch`` if is not specified, default branch will be used. This field will - be ignored if tag/release exists with the value of :ref:`libjson_version`. - -Example: - -.. code-block:: javascript - - "repository": - { - "type": "git", - "url": "https://github.com/foo/bar.git" - } - -.. _libjson_version: - -``version`` ------------ - -*Required* if :ref:`libjson_repository` field is not defined | Type: ``String`` -| Max. Length: 20 - -A version of the current library source code. Can contain a-z, digits, dots or -dash. `Semantic Versioning `_ IS RECOMMENDED. - -:Case 1: - - :ref:`libjson_version` and :ref:`libjson_repository` fields are defined. - The :ref:`libjson_repository` is hosted on GitHub or Bitbucket. - - |PIOAPICR| will lookup for release tag named as value of :ref:`libjson_version` - or with ``v`` prefix (you do not need to pass this ``v`` prefix to the - :ref:`libjson_version` field). - -:Case 2: - - :ref:`libjson_version` and :ref:`libjson_repository` fields are defined - and :ref:`libjson_repository` does not contain tag/release with value of - :ref:`libjson_version`. - - |PIOAPICR| will use the latest source code from :ref:`libjson_repository` - and link it with specified :ref:`libjson_version`. If :ref:`libjson_repository` - ``branch`` is not specified, then default branch will be used. - Also, if you push new commits to :ref:`libjson_repository` - and do not update :ref:`libjson_version` field, the library will not be - updated until you change the :ref:`libjson_version`. - -:Case 3: - - :ref:`libjson_version` field is not defined and :ref:`libjson_repository` - field is defined. - - |PIOAPICR| will use the - `VCS `_ revision from - the latest commit as "current version". For example, ``13`` (*SVN*) or first - 10 chars of *SHA* digest ``e4564b7da4`` (*Git*). If :ref:`libjson_repository` - ``branch`` is not specified, then default branch will be used. - - We recommend to use :ref:`libjson_version` field and specify the real release - version and make appropriate tag in the :ref:`libjson_repository`. In other - case, users will receive updates for library with each new commit to - :ref:`libjson_repository`. - -.. note:: - |PIOAPICR| updates library only if: - - the :ref:`libjson_version` is changed - - ``library.json`` is modified - -Example: - -.. code-block:: javascript - - "repository": - { - "type": "git", - "url": "https://github.com/foo/bar.git" - }, - "version": "1.0.0" - - -``license`` ------------ - -*Optional* | Type: ``String`` - -A license of the library. You can check -`the full list of SPDX license IDs `_. Ideally you -should pick one that is `OSI `_ -approved. - -.. code-block:: javascript - - "license": "Apache-2.0" - -.. _libjson_downloadurl: - -``downloadUrl`` ---------------- - -*Required* if :ref:`libjson_repository` field is not defined | Type: ``String`` - -It is the *HTTP URL* to the archived source code of library. It should end -with the type of archive (``.zip`` or ``.tar.gz``). - -.. note:: - - :ref:`libjson_downloadurl` has higher priority than - :ref:`libjson_repository`. - -Example with fixed release/tag on GitHub: - -.. code-block:: javascript - - "version": "1.0.0", - "downloadUrl": "https://github.com/foo/bar/archive/v1.0.0.tar.gz", - "include": "bar-1.0.0" - -See more ``library.json`` :ref:`library_creating_examples`. - -``homepage`` ------------- - -*Optional* | Type: ``String`` | Max. Length: 255 - -Home page of library (if is different from :ref:`libjson_repository` url). - - -.. _libjson_export: - -``export`` ----------- - -*Optional* | Type: ``Object`` - -Explain PlatformIO Library Crawler which content from the repository/archive -should be exported as "source code" of the library. This option is useful if -need to exclude extra data (test code, docs, images, PDFs, etc). It allows to -reduce size of the final archive. - -Possible options: - -.. contents:: - :local: - -``include`` -~~~~~~~~~~~ - -*Optional* | Type: ``String`` or ``Array`` | -`Glob Pattern `_ - -If ``include`` field is a type of ``String``, then |PIOAPICR| will recognize -it like a "relative path inside repository/archive to library source code". -See example below where the only -source code from the relative directory ``LibrarySourceCodeHere`` will be -included. - -.. code-block:: javascript - - "include": "some/child/dir/LibrarySourceCodeHere" - -If ``include`` field is a type of ``Array``, then |PIOAPICR| firstly will -apply ``exclude`` filter and then include only directories/files -which match with ``include`` patterns. - -Example: - -.. code-block:: javascript - - "export": { - "include": - [ - "dir/*.[ch]pp", - "dir/examples/*", - "*/*/*.h" - ] - } - - -Pattern Meaning - -.. list-table:: - :header-rows: 1 - - * - Pattern - - Meaning - * - ``*`` - - matches everything - * - ``?`` - - matches any single character - * - ``[seq]`` - - matches any character in seq - * - ``[!seq]`` - - matches any character not in seq - -See more ``library.json`` :ref:`library_creating_examples`. - - -``exclude`` -~~~~~~~~~~~ - -*Optional* | Type: ``String`` or ``Array`` | -`Glob Pattern `_ - -Exclude the directories and files which match with ``exclude`` patterns. - -.. _libjson_frameworks: - -``frameworks`` --------------- - -*Optional* | Type: ``String`` or ``Array`` - -A list with compatible frameworks. The available framework types are defined in -the :ref:`platforms` section. - -If the library is compatible with the all frameworks, then you can use ``*`` -symbol: - -.. code-block:: javascript - - "frameworks": "*" - -.. _libjson_platforms: - -``platforms`` -------------- - -*Optional* | Type: ``String`` or ``Array`` - -A list with compatible platforms. The available platform types are -defined in :ref:`platforms` section. - -If the library is compatible with the all platforms, then you can use ``*`` -symbol: - -.. code-block:: javascript - - "platforms": "*" - - -.. _libjson_dependencies: - -``dependencies`` ----------------- - -*Optional* | Type: ``Array`` or ``Object`` - -A list of dependent libraries. They will be installed automatically with -:ref:`cmd_lib_install` command. - -Allowed requirements for dependent library: - -* ``name`` | Type: ``String`` -* ``version`` | Type: ``String`` -* ``authors`` | Type: ``String`` or ``Array`` -* ``frameworks`` | Type: ``String`` or ``Array`` -* ``platforms`` | Type: ``String`` or ``Array`` - -The ``version`` supports `Semantic Versioning `_ ( -``..``) and can take any of the following forms: - -* ``0.1.2`` - an exact version number. Use only this exact version -* ``^0.1.2`` - any compatible version (exact version for ``0.x.x`` versions -* ``~0.1.2`` - any version with the same major and minor versions, and an - equal or greater patch version -* ``>0.1.2`` - any version greater than ``0.1.2``. ``>=``, ``<``, and ``<=`` - are also possible -* ``>0.1.0,!=0.2.0,<0.3.0`` - any version greater than ``0.1.0``, not equal to - ``0.2.0`` and less than ``0.3.0`` - -The rest possible values including VCS repository URLs are documented in -:ref:`cmd_lib_install` command. - -Example: - -.. code-block:: javascript - - "dependencies": - [ - { - "name": "Library-Foo", - "authors": - [ - "Jhon Smith", - "Andrew Smith" - ] - }, - { - "name": "Library-Bar", - "version": "~1.2.3" - }, - { - "name": "lib-from-repo", - "version": "https://github.com/user/package.git#1.2.3" - } - ] - -A short definition of dependencies is allowed: - -.. code-block:: javascript - - "dependencies": { - "mylib": "1.2.3", - "lib-from-repo": "githubuser/package" - } - - -See more ``library.json`` :ref:`library_creating_examples`. - -.. _libjson_examples: - -``examples`` ------------- - -*Optional* | Type: ``String`` or ``Array`` | -`Glob Pattern `_ - -A list of example patterns. This field is predefined with default value: - -.. code-block:: javascript - - "examples": [ - "[Ee]xamples/*.c", - "[Ee]xamples/*.cpp", - "[Ee]xamples/*.ino", - "[Ee]xamples/*.pde", - "[Ee]xamples/*/*.c", - "[Ee]xamples/*/*.cpp", - "[Ee]xamples/*/*.ino", - "[Ee]xamples/*/*.pde", - "[Ee]xamples/*/*/*.c", - "[Ee]xamples/*/*/*.cpp", - "[Ee]xamples/*/*/*.ino", - "[Ee]xamples/*/*/*.pde" - ] - - -.. _libjson_build: - -``build`` ---------- - -*Optional* | Type: ``Object`` - -Specify advanced settings, options and flags for the build system. Possible -options: - -.. contents:: - :local: - -``flags`` -~~~~~~~~~ - -*Optional* | Type: ``String`` or ``Array`` - -Extra flags to control preprocessing, compilation, assembly and linking -processes. More details :ref:`projectconf_build_flags`. - -``unflags`` -~~~~~~~~~~~ - -*Optional* | Type: ``String`` or ``Array`` - -Remove base/initial flags which were set by development platform. More -details :ref:`projectconf_build_unflags`. - -``srcFilter`` -~~~~~~~~~~~~~ - -*Optional* | Type: ``String`` or ``Array`` - -Specify which source files should be included/excluded from build process. -More details :ref:`projectconf_src_filter`. - -``extraScript`` -~~~~~~~~~~~~~~~ - -*Optional* | Type: ``String`` - -Launch extra script before build process. -More details :ref:`projectconf_extra_script`. - -``libArchive`` -~~~~~~~~~~~~~~ - -*Optional* | Type: ``Boolean`` - -Archive object files to Static Library. This is default behavior of PlatformIO -Build System (``"libArchive": true``). - -``libLDFMode`` -~~~~~~~~~~~~~~ - -*Optional* | Type: ``Integer`` - -Specify Library Dependency Finder Mode. See :ref:`ldf_mode` for details. - -**Examples** - -1. Custom macros/defines - -.. code-block:: javascript - - "build": { - "flags": "-D MYLIB_REV=0.1.2 -DRELEASE" - } - -2. Extra includes for C preprocessor - -.. code-block:: javascript - - "build": { - "flags": [ - "-I inc", - "-I inc/target_x13" - ] - } - -3. Force to use ``C99`` standard instead of ``C11`` - -.. code-block:: javascript - - "build": { - "unflags": "-std=gnu++11", - "flags": "-std=c99" - } - -4. Build source files (``c, cpp, h``) at the top level of the library - -.. code-block:: javascript - - "build": { - "srcFilter": [ - "+<*.c>", - "+<*.cpp>", - "+<*.h>" - ] - } - - -5. Extend PlatformIO Build System with own extra script - -.. code-block:: javascript - - "build": { - "extraScript": "generate_headers.py" - } - -``generate_headers.py`` - -.. code-block:: python - - Import('env') - # print env.Dump() - env.Append( - CPPDEFINES=["HELLO=WORLD", "TAG=1.2.3", "DEBUG"], - CPPPATH=["inc", "inc/devices"] - ) - - # some python code that generates header files "on-the-fly" diff --git a/docs/librarymanager/creating.rst b/docs/librarymanager/creating.rst deleted file mode 100644 index 16051a8d..00000000 --- a/docs/librarymanager/creating.rst +++ /dev/null @@ -1,196 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _library_creating: -.. |PIOAPICR| replace:: *PlatformIO Library Registry Crawler* - -Creating Library -================ - -*PlatformIO* :ref:`librarymanager` doesn't have any requirements to a library -source code structure. The only one requirement is library's manifest file - -:ref:`library_config`. It can be located inside your library or in the another -location where |PIOAPICR| will have *HTTP* access. - -Updates to existing libraries are done every 24 hours. In case a more urgent -update is required, you can post a request on PlatformIO `community `_. - -.. contents:: - -Source Code Location --------------------- - -There are a several ways how to share your library with the whole world -(see `examples `_). - -You can hold a lot of libraries (split into separated folders) inside one of -the repository/archive. In this case, you need to specify ``include`` option of -:ref:`libjson_export` field to relative path to your library's source code. - -At GitHub -^^^^^^^^^ - -**Recommended** - -If a library source code is located at `GitHub `_, then -you **need to specify** only these fields in the :ref:`library_config`: - -* :ref:`libjson_name` -* :ref:`libjson_version` (is not required, but highly recommended for new :ref:`librarymanager`) -* :ref:`libjson_keywords` -* :ref:`libjson_description` -* :ref:`libjson_repository` - -|PIOAPICR| will populate the rest fields, like :ref:`libjson_authors` with an -actual information from *GitHub*. - -Example, `DallasTemperature `_: - -.. code-block:: javascript - - { - "name": "DallasTemperature", - "keywords": "onewire, 1-wire, bus, sensor, temperature", - "description": "Arduino Library for Dallas Temperature ICs (DS18B20, DS18S20, DS1822, DS1820)", - "repository": - { - "type": "git", - "url": "https://github.com/milesburton/Arduino-Temperature-Control-Library.git" - }, - "authors": - [ - { - "name": "Miles Burton", - "email": "miles@mnetcs.com", - "url": "http://www.milesburton.com", - "maintainer": true - }, - { - "name": "Tim Newsome", - "email": "nuisance@casualhacker.net" - }, - { - "name": "Guil Barros", - "email": "gfbarros@bappos.com" - }, - { - "name": "Rob Tillaart", - "email": "rob.tillaart@gmail.com" - } - ], - "dependencies": - { - "name": "OneWire", - "authors": "Paul Stoffregen", - "frameworks": "arduino" - }, - "version": "3.7.7", - "frameworks": "arduino", - "platforms": "*" - } - -Under VCS (SVN/GIT) -^^^^^^^^^^^^^^^^^^^ - -|PIOAPICR| can operate with a library source code that is under *VCS* control. -The list of **required** fields in the :ref:`library_config` will look like: - -* :ref:`libjson_name` -* :ref:`libjson_keywords` -* :ref:`libjson_description` -* :ref:`libjson_authors` -* :ref:`libjson_repository` - -Example: - -.. code-block:: javascript - - { - "name": "XBee", - "keywords": "xbee, protocol, radio", - "description": "Arduino library for communicating with XBees in API mode", - "authors": - { - "name": "Andrew Rapp", - "email": "andrew.rapp@gmail.com", - "url": "https://code.google.com/u/andrew.rapp@gmail.com/" - }, - "repository": - { - "type": "git", - "url": "https://code.google.com/p/xbee-arduino/" - }, - "frameworks": "arduino", - "platforms": "atmelavr" - } - -Self-hosted -^^^^^^^^^^^ - -You can manually archive (*Zip, Tar.Gz*) your library source code and host it -in the *Internet*. Then you should specify the additional fields, -like :ref:`libjson_version` and :ref:`libjson_downloadurl`. The final list -of **required** fields in the :ref:`library_config` will look like: - -* :ref:`libjson_name` -* :ref:`libjson_keywords` -* :ref:`libjson_description` -* :ref:`libjson_authors` -* :ref:`libjson_version` -* :ref:`libjson_downloadurl` - -.. code-block:: javascript - - { - "name": "OneWire", - "keywords": "onewire, 1-wire, bus, sensor, temperature, ibutton", - "description": "Control devices (from Dallas Semiconductor) that use the One Wire protocol (DS18S20, DS18B20, DS2408 and etc)", - "authors": - { - "name": "Paul Stoffregen", - "url": "http://www.pjrc.com/teensy/td_libs_OneWire.html" - }, - "version": "2.2", - "downloadUrl": "http://www.pjrc.com/teensy/arduino_libraries/OneWire.zip", - "export": { - "include": "OneWire" - }, - "frameworks": "arduino", - "platforms": "atmelavr" - } - - -Register --------- - -The registration requirements: - -* A library must adhere to the :ref:`library_config` specification. -* There must be public *HTTP* access to the library :ref:`library_config` file. - -Now, you can :ref:`register ` your library and allow others -to :ref:`install ` it. - - -.. _library_creating_examples: - -Examples --------- - -Command: - -.. code-block:: bash - - $ platformio lib register http://my.example.com/library.json - -* `GitHub + fixed release `_ -* `Dependencies by author and framework `_ -* `Multiple libraries in the one repository `_ diff --git a/docs/librarymanager/index.rst b/docs/librarymanager/index.rst deleted file mode 100644 index 7c689a2f..00000000 --- a/docs/librarymanager/index.rst +++ /dev/null @@ -1,73 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _librarymanager: - -Library Manager -=============== - -*PlatformIO Library Manager* is a tool for managing libraries of -`PlatformIO Registry `__ and VCS repositories (Git, -Hg, SVN). It makes it exceedingly simple to find, install and keep libraries -up-to-date. PlatformIO Library Manager supports -`Semantic Versioning `_ and its rules. - -There are 2 options how to find library: - -* `Web Library Search `__ -* :ref:`Command Line Interface ` - -You can manage different library storages using -:option:`platformio lib --global` or :option:`platformio lib --storage-dir` -options. If you change current working directory in terminal to project folder, -then :ref:`platformio lib ` command will manage automatically dependency -storage in :ref:`projectconf_pio_libdeps_dir`. - -Project dependencies --------------------- - -*PlatformIO Library Manager* allows to specify project dependencies -(:ref:`projectconf_lib_deps`) that will be installed automatically per project -before environment processing. You do not need to install libraries manually. -The only one simple step is to define dependencies in :ref:`projectconf`. -You can use library ID, Name or even repository URL. For example, - -.. code-block:: ini - - [env:myenv] - platform = ... - framework = ... - board = ... - lib_deps = - 13 - PubSubClient - Json@~5.6,!=5.4 - https://github.com/gioblu/PJON.git@v2.0 - https://github.com/me-no-dev/ESPAsyncTCP.git - https://github.com/adafruit/DHT-sensor-library/archive/master.zip - -Please follow to :ref:`cmd_lib_install` for detailed documentation about -possible values. - -.. warning:: - If some libraries are not visible in :ref:`ide_atom` and Code Completion or - Code Linting does not work properly, please perform ``Menu: PlatformIO > - Rebuild C/C++ Project Index (Autocomplete, Linter)`` - -.. image:: ../_static/platformio-demo-lib.gif - -User Guide (CLI) ----------------- - -.. toctree:: - :maxdepth: 3 - - platformio lib <../userguide/lib/index> diff --git a/docs/librarymanager/ldf.rst b/docs/librarymanager/ldf.rst deleted file mode 100644 index 8927deee..00000000 --- a/docs/librarymanager/ldf.rst +++ /dev/null @@ -1,187 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _ldf: - -Library Dependency Finder (LDF) -=============================== - -.. versionadded:: 3.0 - -Library Dependency Finder is a core part of PlatformIO Build System that -operates with the C/C++ source files and looks for ``#include ...`` -directives. - -In spite of the fact that Library Dependency Finder is written in pure Python, -it evaluates :ref:`ldf_c_cond_syntax` (``#ifdef``, ``if``, ``defined``, -``else``, and ``elif``) without calling ``gcc -E``. This approach allows -significantly reduce total compilation time. - -Library Dependency Finder has controls that can be set up in :ref:`projectconf`: - -.. hlist:: - :columns: 3 - - * :ref:`projectconf_lib_deps` - * :ref:`projectconf_lib_extra_dirs` - * :ref:`projectconf_lib_ignore` - * :ref:`projectconf_lib_compat_mode` - * :ref:`projectconf_lib_ldf_mode` - ------------ - -.. contents:: - -.. _ldf_storage: - -Storage -------- - -There are different storages where Library Dependency Finder looks for -libraries. These storages (folders) have priority and LDF operates in the next -order: - -1. :ref:`projectconf_lib_extra_dirs` - extra storages per build environment -2. :ref:`projectconf_pio_lib_dir` - own/private library storage per project -3. :ref:`projectconf_pio_libdeps_dir` - project dependencies storage used by - :ref:`librarymanager` -4. ":ref:`projectconf_pio_home_dir`/lib" - global storage per all projects. - -.. _ldf_mode: - -Dependency Finder Mode ----------------------- - -Library Dependency Finder starts work from analyzing source files of the -project (:ref:`projectconf_pio_src_dir`) and can work in the next modes: - -.. list-table:: - :header-rows: 1 - - * - Mode - - Description - - * - ``off`` - - "Manual mode", does not process source files of a project and - dependencies. Builds only the libraries that are specified in - manifests (:ref:`library_config`, ``module.json``) or using - :ref:`projectconf_lib_deps` option. - - * - ``chain`` - - Parses ALL C/C++ source code of the project and follows - only by nested includes (``#include ...``, chain...) from the libraries. - Does not evaluates :ref:`ldf_c_cond_syntax`. - - * - ``deep`` - - Parses ALL C/C++ source code of the project and parses ALL C/C++ - source code of the each found dependency (recursively). - Does not process :ref:`ldf_c_cond_syntax`. - - * - ``chain+`` (**default**) - - The same behavior as for the ``chain`` but evaluates :ref:`ldf_c_cond_syntax`. - - * - ``deep+`` - - The same behavior as for the ``deep`` but evaluates :ref:`ldf_c_cond_syntax`. - -The mode can be changed using :ref:`projectconf_lib_ldf_mode` option in -:ref:`projectconf`. - -A difference between ``chain/chain+`` and ``deep/deep+`` modes. For example, -there are 2 libraries: - -* Library "Foo" with files: - - - ``Foo/foo.h`` - - ``Foo/foo.cpp`` - -* Library "Bar" with files: - - - ``Bar/bar.h`` - - ``Bar/bar.cpp`` - -:Case 1: - - * ``lib_ldf_mode = chain`` - * ``Foo/foo.h`` depends on "Bar" library (contains ``#include ``) - * ``#include `` is located in one of the project source files - - Here are nested includes (``project file > foo.h > bar.h``) and ``LDF`` - will find both libraries "Foo" and "Bar". - -:Case 2: - - * ``lib_ldf_mode = chain`` - * ``Foo/foo.cpp`` depends on "Bar" library (contains ``#include ``) - * ``#include `` is located in one of the project source files - - In this case, ``LDF`` will not find "Bar" library because it doesn't know - about CPP file (``Foo/foo.cpp``). - -:Case 3: - - * ``lib_ldf_mode = deep`` - * ``Foo/foo.cpp`` depends on "Bar" library (contains ``#include ``) - * ``#include `` is located in one of the project source files - - Firstly, ``LDF`` finds "Foo" library, then it parses all sources from "Foo" - library and finds ``Foo/foo.cpp`` that depends on ``#include ``. - Secondly, it will parse all sources from "Bar" library and this operation - continues until all dependencies will not be parsed. - -.. _ldf_compat_mode: - -Compatibility Mode ------------------- - -Compatibility mode allows to control strictness of Library Dependency Finder. -If library contains one of manifest file (:ref:`library_config`, -``library.properties``, ``module.json``), then LDF check compatibility of this -library with real build environment. Available compatibility modes: - -* ``0`` - does not check for compatibility (is not recommended) -* ``1`` - **default** - checks for the compatibility with - :ref:`projectconf_env_framework` from build environment -* ``2`` - checks for the compatibility with :ref:`projectconf_env_framework` - and :ref:`projectconf_env_platform` from build environment. - -This mode can be changed using :ref:`projectconf_lib_compat_mode` option in -:ref:`projectconf`. - -.. _ldf_c_cond_syntax: - -C/C++ Preprocessor conditional syntax -------------------------------------- - -In spite of the fact that Library Dependency Finder is written in pure Python, -it evaluates `C/C++ Preprocessor conditional syntax `_ -(``#ifdef``, ``if``, ``defined``, ``else``, and ``elif``) without calling -``gcc -E``. For example, - -``platformio.ini`` - -.. code-block:: ini - - [env:myenv] - build_flags = -D MY_PROJECT_VERSION=13 - -``mylib.h`` - -.. code-block:: c - - #ifdef PROJECT_VERSION - // include common file for the project - #include "my_common.h" - #endif - - #if PROJECT_VERSION < 10 - // this include will be ignored because does not satisfy condition above - #include "my_old.h" - #endif diff --git a/docs/make.bat b/docs/make.bat deleted file mode 100644 index 304543b6..00000000 --- a/docs/make.bat +++ /dev/null @@ -1,242 +0,0 @@ -@ECHO OFF - -REM Command file for Sphinx documentation - -if "%SPHINXBUILD%" == "" ( - set SPHINXBUILD=sphinx-build -) -set BUILDDIR=_build -set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . -set I18NSPHINXOPTS=%SPHINXOPTS% . -if NOT "%PAPER%" == "" ( - set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% - set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% -) - -if "%1" == "" goto help - -if "%1" == "help" ( - :help - echo.Please use `make ^` where ^ is one of - echo. html to make standalone HTML files - echo. dirhtml to make HTML files named index.html in directories - echo. singlehtml to make a single large HTML file - echo. pickle to make pickle files - echo. json to make JSON files - echo. htmlhelp to make HTML files and a HTML help project - echo. qthelp to make HTML files and a qthelp project - echo. devhelp to make HTML files and a Devhelp project - echo. epub to make an epub - echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter - echo. text to make text files - echo. man to make manual pages - echo. texinfo to make Texinfo files - echo. gettext to make PO message catalogs - echo. changes to make an overview over all changed/added/deprecated items - echo. xml to make Docutils-native XML files - echo. pseudoxml to make pseudoxml-XML files for display purposes - echo. linkcheck to check all external links for integrity - echo. doctest to run all doctests embedded in the documentation if enabled - goto end -) - -if "%1" == "clean" ( - for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i - del /q /s %BUILDDIR%\* - goto end -) - - -%SPHINXBUILD% 2> nul -if errorlevel 9009 ( - echo. - echo.The 'sphinx-build' command was not found. Make sure you have Sphinx - echo.installed, then set the SPHINXBUILD environment variable to point - echo.to the full path of the 'sphinx-build' executable. Alternatively you - echo.may add the Sphinx directory to PATH. - echo. - echo.If you don't have Sphinx installed, grab it from - echo.http://sphinx-doc.org/ - exit /b 1 -) - -if "%1" == "html" ( - %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/html. - goto end -) - -if "%1" == "dirhtml" ( - %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. - goto end -) - -if "%1" == "singlehtml" ( - %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. - goto end -) - -if "%1" == "pickle" ( - %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can process the pickle files. - goto end -) - -if "%1" == "json" ( - %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can process the JSON files. - goto end -) - -if "%1" == "htmlhelp" ( - %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can run HTML Help Workshop with the ^ -.hhp project file in %BUILDDIR%/htmlhelp. - goto end -) - -if "%1" == "qthelp" ( - %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can run "qcollectiongenerator" with the ^ -.qhcp project file in %BUILDDIR%/qthelp, like this: - echo.^> qcollectiongenerator %BUILDDIR%\qthelp\PlatformIO.qhcp - echo.To view the help file: - echo.^> assistant -collectionFile %BUILDDIR%\qthelp\PlatformIO.ghc - goto end -) - -if "%1" == "devhelp" ( - %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. - goto end -) - -if "%1" == "epub" ( - %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The epub file is in %BUILDDIR%/epub. - goto end -) - -if "%1" == "latex" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "latexpdf" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - cd %BUILDDIR%/latex - make all-pdf - cd %BUILDDIR%/.. - echo. - echo.Build finished; the PDF files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "latexpdfja" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - cd %BUILDDIR%/latex - make all-pdf-ja - cd %BUILDDIR%/.. - echo. - echo.Build finished; the PDF files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "text" ( - %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The text files are in %BUILDDIR%/text. - goto end -) - -if "%1" == "man" ( - %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The manual pages are in %BUILDDIR%/man. - goto end -) - -if "%1" == "texinfo" ( - %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. - goto end -) - -if "%1" == "gettext" ( - %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The message catalogs are in %BUILDDIR%/locale. - goto end -) - -if "%1" == "changes" ( - %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes - if errorlevel 1 exit /b 1 - echo. - echo.The overview file is in %BUILDDIR%/changes. - goto end -) - -if "%1" == "linkcheck" ( - %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck - if errorlevel 1 exit /b 1 - echo. - echo.Link check complete; look for any errors in the above output ^ -or in %BUILDDIR%/linkcheck/output.txt. - goto end -) - -if "%1" == "doctest" ( - %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest - if errorlevel 1 exit /b 1 - echo. - echo.Testing of doctests in the sources finished, look at the ^ -results in %BUILDDIR%/doctest/output.txt. - goto end -) - -if "%1" == "xml" ( - %SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The XML files are in %BUILDDIR%/xml. - goto end -) - -if "%1" == "pseudoxml" ( - %SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml. - goto end -) - -:end diff --git a/docs/migration.rst b/docs/migration.rst deleted file mode 100644 index 9c28647a..00000000 --- a/docs/migration.rst +++ /dev/null @@ -1,213 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _migration: - -Migrating from 2.x to 3.0 -========================= - -Guidance on how to upgrade from PlatformIO v2.x to v3.x with emphasis on major -changes, what is new, and what is been removed. - -PlatformIO 3 is not backwards compatible with v2.x. Use this section as a -general guide to upgrading from v2.x to v3.0. For a broader overview, see -`what is new `_ in the v3.0 -release announcement. - -.. contents:: - -Major PlatformIO CLI changes ----------------------------- - -.. note:: - PlatformIO 3.x is 100% non-blocking! You do not need to use ``--force`` - option or setup special ``PLATOFMRIO_SETTING_ENABLE_PROMPTS`` environment. - Use PlatformIO 3.0 with sub-processing without any risk! - -This table shows the CLI changes between v2.x and v3.0. - -.. list-table:: - :header-rows: 1 - - * - PlatformIO 2.x - - PlatformIO 3.x - * - platformio platforms - - :ref:`platformio platform ` - * - platformio serialports - - :ref:`cmd_device` - * - platformio settings set enable_prompts false - - Removed! Now, all PlatformIO 3.0 CLI is 100% non-blocking! - - -PlatformIO 2.x commands will be converted to PlatformIO 3.x automatically. -Nevertheless, we recommend to use PlatformIO 3.x commands for the new projects. - -What is new ------------ - -Development Platforms -~~~~~~~~~~~~~~~~~~~~~ - -We have introduced :ref:`platform_creating_manifest_file` and ported -PlatformIO 2.x development platforms according PlatformIO 3.0 decentralized -architecture. Now, platform related things (build scrips, LD scripts, board -configs, package requirements) are located in own repository. Here is the full -list with `PlatformIO 3.0 open source development platforms `__. You can fork it, modify or create custom. -See :ref:`platform_creating` guide for details. - -* :ref:`platform_creating_manifest_file` -* ``espressif`` development platform has been renamed to :ref:`platform_espressif8266` -* PlatformIO 3.0 :ref:`userguide_platform` -* Custom package repositories -* External embedded board configuration files, isolated build scripts -* Embedded Board compatibility with more than one development platform - -Library Manager and Intelligent Build System -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -* Powerful and super-fast :ref:`ldf` that interprets C/C++ Preprocessor - conditional macros with deep search behavior -* Project dependencies per build environment using `projectconf_lib_deps` option -* Depend on a library using VCS URL (GitHub, Git, ARM mbed code registry, Hg, SVN) -* Install library by name -* Strict search for library dependencies -* Multiple library storages: Project's Local, PlatformIO's Global or Custom -* Allowed :ref:`library_config` to specify sources other than PlatformIO's Repository -* Check library compatibility with project environment before building -* Control Library Dependency Finder for compatibility using :ref:`projectconf_lib_compat_mode` option -* Custom library storages/directories with :ref:`projectconf_lib_extra_dirs` option -* Handle extra build flags, source filters and build script from :ref:`library_config` -* Allowed to disable library archiving (``*.ar``) -* Show detailed build information about dependent libraries (Library Dependency Graph) -* Support for the 3rd party manifests (Arduino IDE "library.properties" and - ARM mbed "module.json") -* Build System: Attach custom Before/Pre and After/Post actions for targets using :ref:`projectconf_extra_script` - -Command Line Interface -~~~~~~~~~~~~~~~~~~~~~~ - -We have added new commands and changed some existing ones. Here are the new or -updated commands and options. - -.. list-table:: - :header-rows: 1 - - * - Command - - Description - * - :ref:`cmd_boards` - - Returns all supported boards by PlatformIO - * - :option:`platformio boards --installed` - - Returns currently installed boards - * - :option:`platformio ci --project-option` - - Pass custom option from :ref:`projectconf` - * - :option:`platformio ci --verbose` - - Print detailed information about build process - * - :option:`platformio init --project-option` - - Pass custom option from :ref:`projectconf` - * - :option:`platformio lib --global` - - Manage PlatformIO :ref:`Global Library Storage ` - * - :option:`platformio lib --storage-dir` - - Manage :ref:`Custom Library Storage ` - * - :ref:`cmd_lib_install` - - New PlatformIO 3.0 Library Manager! Semantic Versioning, VCS support and external URL support - * - :option:`platformio lib install --silent` - - Suppress progress reporting when install library - * - :option:`platformio lib install --interactive` - - Allow to make a choice for all prompts when install library - * - :option:`platformio lib search --header` - - Search library by specific header file name (include) - * - :option:`platformio lib update --only-check` - - Do not update, only check for new version - * - :ref:`platformio platform ` - - New PlatformIO 3.0 Platform Manager! Semantic Versioning, VCS support and external URL support. - * - :option:`platformio platform update --only-packages` - - Update only platform packages - * - :option:`platformio platform update --only-check` - - Do not update, only check for new version - * - :ref:`cmd_run` - - By default, prints only human-readable information when processing environments - * - :option:`platformio run --verbose` - - Print detailed processing information - * - :ref:`platformio settings set force_verbose true ` - - Force verbose output when processing environments (globally) - * - :ref:`cmd_test` - - PlatformIO Plus Unit Testing - * - :option:`platformio update --only-check` - - Do not update, only check for new version - -:ref:`projectconf` -~~~~~~~~~~~~~~~~~~ - -We have added new options and changed some existing ones. Here are the new or -updated options. - -.. list-table:: - :header-rows: 1 - - * - Section - - Option - - Description - * - platformio - - :ref:`projectconf_pio_libdeps_dir` - - Internal storage where :ref:`librarymanager` will install project dependencies - * - platformio - - :ref:`projectconf_pio_test_dir` - - Directory where :ref:`unit_testing` engine will look for the tests - * - env - - :ref:`projectconf_lib_deps` - - Specify project dependencies that should be installed automatically to :ref:`projectconf_pio_libdeps_dir` before environment processing. - * - env - - :ref:`projectconf_env_platform` - - PlatformIO 3.0 allows to use specific version of platform using `Semantic Versioning `_ (X.Y.Z=MAJOR.MINOR.PATCH). - * - env - - :ref:`projectconf_lib_extra_dirs` - - A list with extra directories/storages where :ref:`ldf` will look for dependencies - * - env - - :ref:`projectconf_lib_ldf_mode` - - This option specifies how does :ref:`ldf` should analyze dependencies (``#include`` directives) - * - env - - :ref:`projectconf_lib_compat_mode` - - Library compatibility mode allows to control strictness of :ref:`ldf` - * - env - - :ref:`projectconf_test_ignore` - - Ignore tests where the name matches specified patterns - -What is removed ---------------- - -Command Line Interface -~~~~~~~~~~~~~~~~~~~~~~ - -The following commands have been dropped or changed in v3.0. - -.. list-table:: - :header-rows: 1 - - * - Command - - Description - * - platformio init --enable-auto-uploading - - Use :option:`platformio init --project-option` instead of it with ``targets = upload`` value - -:ref:`projectconf` -~~~~~~~~~~~~~~~~~~ - -The following options have been dropped or changed in v3.0. - -.. list-table:: - :header-rows: 1 - - * - Section - - Option - - Description - * - platformio - - :ref:`projectconf_pio_lib_dir` - - Changed: Project's own/private libraries, where in PlatformIO 2.x it was global library storage - diff --git a/docs/platforms/atmelavr.rst b/docs/platforms/atmelavr.rst deleted file mode 100644 index fc5f2b87..00000000 --- a/docs/platforms/atmelavr.rst +++ /dev/null @@ -1,1290 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _platform_atmelavr: - -Platform ``atmelavr`` -===================== -Atmel AVR 8- and 32-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industrys most code-efficient architecture for C and assembly programming. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-arduinoavr`` - - `Arduino Wiring-based Framework (AVR Core, 1.6) `_ - - * - ``framework-simba`` - - `Simba Framework `_ - - * - ``tool-avrdude`` - - `AVRDUDE `_ - - * - ``tool-micronucleus`` - - `Micronucleus `_ - - * - ``toolchain-atmelavr`` - - `avr-gcc `_, `GDB `_ - -.. warning:: - **Linux Users**: - - * Ubuntu/Debian users may need to add own "username" to the "dialout" - group if they are not "root", doing this issuing a - ``sudo usermod -a -G dialout yourusername``. - * Install "udev" rules file `99-platformio-udev.rules `_ - (an instruction is located in the file). - * Raspberry Pi users, please read this article - `Enable serial port on Raspberry Pi `__. - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_arduino` - - Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences. - - * - :ref:`framework_simba` - - Simba is an RTOS and build framework. It aims to make embedded programming easy and portable. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -Adafruit -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``bluefruitmicro`` - - `Adafruit Bluefruit Micro `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``feather32u4`` - - `Adafruit Feather `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``flora8`` - - `Adafruit Flora `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``gemma`` - - `Adafruit Gemma `_ - - ATTINY85 - - 8 MHz - - 8 Kb - - 0.5 Kb - - * - ``metro`` - - `Adafruit Metro `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``protrinket3`` - - `Adafruit Pro Trinket 3V/12MHz (USB) `_ - - ATMEGA328P - - 12 MHz - - 32 Kb - - 2 Kb - - * - ``protrinket3ftdi`` - - `Adafruit Pro Trinket 3V/12MHz (FTDI) `_ - - ATMEGA328P - - 12 MHz - - 32 Kb - - 2 Kb - - * - ``protrinket5`` - - `Adafruit Pro Trinket 5V/16MHz (USB) `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``protrinket5ftdi`` - - `Adafruit Pro Trinket 5V/16MHz (USB) `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``trinket3`` - - `Adafruit Trinket 3V/8MHz `_ - - ATTINY85 - - 8 MHz - - 8 Kb - - 0.5 Kb - - * - ``trinket5`` - - `Adafruit Trinket 5V/16MHz `_ - - ATTINY85 - - 16 MHz - - 8 Kb - - 0.5 Kb - -Arduboy -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``arduboy`` - - `Arduboy `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``arduboy_devkit`` - - `Arduboy DevKit `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - -Arduino -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``LilyPadUSB`` - - `Arduino LilyPad USB `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``atmega328pb`` - - `Atmel ATmega328PB `_ - - ATMEGA328PB - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``atmegangatmega168`` - - `Arduino NG or older ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``atmegangatmega8`` - - `Arduino NG or older ATmega8 `_ - - ATMEGA8 - - 16 MHz - - 8 Kb - - 1 Kb - - * - ``btatmega168`` - - `Arduino BT ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``btatmega328`` - - `Arduino BT ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``chiwawa`` - - `Arduino Industrial 101 `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``diecimilaatmega168`` - - `Arduino Duemilanove or Diecimila ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``diecimilaatmega328`` - - `Arduino Duemilanove or Diecimila ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``esplora`` - - `Arduino Esplora `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``ethernet`` - - `Arduino Ethernet `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``fio`` - - `Arduino Fio `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``leonardo`` - - `Arduino Leonardo `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``leonardoeth`` - - `Arduino Leonardo ETH `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``lilypadatmega168`` - - `Arduino LilyPad ATmega168 `_ - - ATMEGA168 - - 8 MHz - - 16 Kb - - 1 Kb - - * - ``lilypadatmega328`` - - `Arduino LilyPad ATmega328 `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``megaADK`` - - `Arduino Mega ADK `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - - * - ``megaatmega1280`` - - `Arduino Mega or Mega 2560 ATmega1280 `_ - - ATMEGA1280 - - 16 MHz - - 128 Kb - - 8 Kb - - * - ``megaatmega2560`` - - `Arduino Mega or Mega 2560 ATmega2560 (Mega 2560) `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - - * - ``micro`` - - `Arduino Micro `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``miniatmega168`` - - `Arduino Mini ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``miniatmega328`` - - `Arduino Mini ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``nanoatmega168`` - - `Arduino Nano ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``nanoatmega328`` - - `Arduino Nano ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``pro16MHzatmega168`` - - `Arduino Pro or Pro Mini ATmega168 (5V, 16 MHz) `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``pro16MHzatmega328`` - - `Arduino Pro or Pro Mini ATmega328 (5V, 16 MHz) `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``pro8MHzatmega168`` - - `Arduino Pro or Pro Mini ATmega168 (3.3V, 8 MHz) `_ - - ATMEGA168 - - 8 MHz - - 16 Kb - - 1 Kb - - * - ``pro8MHzatmega328`` - - `Arduino Pro or Pro Mini ATmega328 (3.3V, 8 MHz) `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``robotControl`` - - `Arduino Robot Control `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``robotMotor`` - - `Arduino Robot Motor `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``uno`` - - `Arduino Uno `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``yun`` - - `Arduino Yun `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``yunmini`` - - `Arduino Yun Mini `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - -BQ -~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``zumbt328`` - - `BQ ZUM BT-328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -BitWizard -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``raspduino`` - - `BitWizard Raspduino `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -Digistump -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``digispark-pro`` - - `Digistump Digispark Pro (Default 16 MHz) `_ - - ATTINY167 - - 16 MHz - - 16 Kb - - 0.5 Kb - - * - ``digispark-pro32`` - - `Digistump Digispark Pro (16 MHz) (32 byte buffer) `_ - - ATTINY167 - - 16 MHz - - 16 Kb - - 0.5 Kb - - * - ``digispark-pro64`` - - `Digistump Digispark Pro (16 MHz) (64 byte buffer) `_ - - ATTINY167 - - 16 MHz - - 16 Kb - - 0.5 Kb - - * - ``digispark-tiny`` - - `Digistump Digispark (Default - 16 MHz) `_ - - ATTINY85 - - 16 MHz - - 8 Kb - - 0.5 Kb - -Engduino -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``engduinov1`` - - `Engduino 1 `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``engduinov2`` - - `Engduino 2 `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``engduinov3`` - - `Engduino 3 `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - -Generic ATTiny -~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``attiny13`` - - `Generic ATTiny13 `_ - - ATTINY13 - - 9 MHz - - 1 Kb - - 0.0625 Kb - - * - ``attiny24`` - - `Generic ATTiny24 `_ - - ATTINY24 - - 8 MHz - - 2 Kb - - 0.125 Kb - - * - ``attiny25`` - - `Generic ATTiny25 `_ - - ATTINY25 - - 8 MHz - - 2 Kb - - 0.125 Kb - - * - ``attiny44`` - - `Generic ATTiny44 `_ - - ATTINY44 - - 8 MHz - - 4 Kb - - 0.25 Kb - - * - ``attiny45`` - - `Generic ATTiny45 `_ - - ATTINY45 - - 8 MHz - - 4 Kb - - 0.25 Kb - - * - ``attiny84`` - - `Generic ATTiny84 `_ - - ATTINY84 - - 8 MHz - - 8 Kb - - 0.5 Kb - - * - ``attiny85`` - - `Generic ATTiny85 `_ - - ATTINY85 - - 8 MHz - - 8 Kb - - 0.5 Kb - -LightUp -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lightup`` - - `LightUp `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - -Linino -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``one`` - - `Linino One `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - -LowPowerLab -~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``moteino`` - - `LowPowerLab Moteino `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``moteinomega`` - - `LowPowerLab MoteinoMEGA `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - -Mcudude -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``mightycore1284`` - - `MightyCore ATmega1284 `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``mightycore16`` - - `MightyCore ATmega16 `_ - - ATMEGA16 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``mightycore164`` - - `MightyCore ATmega164 `_ - - ATMEGA164P - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``mightycore32`` - - `MightyCore ATmega32 `_ - - ATMEGA32 - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``mightycore324`` - - `MightyCore ATmega324 `_ - - ATMEGA324P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``mightycore644`` - - `MightyCore ATmega644 `_ - - ATMEGA644P - - 16 MHz - - 64 Kb - - 4 Kb - - * - ``mightycore8535`` - - `MightyCore ATmega8535 `_ - - ATMEGA16 - - 16 MHz - - 8 Kb - - 0.5 Kb - -Microduino -~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``1284p16m`` - - `Microduino Core+ (ATmega1284P@16M,5V) `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``1284p8m`` - - `Microduino Core+ (ATmega1284P@8M,3.3V) `_ - - ATMEGA1284P - - 8 MHz - - 128 Kb - - 16 Kb - - * - ``168pa16m`` - - `Microduino Core (Atmega168PA@16M,5V) `_ - - ATMEGA168P - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``168pa8m`` - - `Microduino Core (Atmega168PA@8M,3.3V) `_ - - ATMEGA168P - - 8 MHz - - 16 Kb - - 1 Kb - - * - ``328p16m`` - - `Microduino Core (Atmega328P@16M,5V) `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``328p8m`` - - `Microduino Core (Atmega328P@8M,3.3V) `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``32u416m`` - - `Microduino Core USB (ATmega32U4@16M,5V) `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``644pa16m`` - - `Microduino Core+ (Atmega644PA@16M,5V) `_ - - ATMEGA644P - - 16 MHz - - 64 Kb - - 4 Kb - - * - ``644pa8m`` - - `Microduino Core+ (Atmega644PA@8M,3.3V) `_ - - ATMEGA644P - - 8 MHz - - 64 Kb - - 4 Kb - -OpenEnergyMonitor -~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``emonpi`` - - `OpenEnergyMonitor emonPi `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -PanStamp -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``panStampAVR`` - - `PanStamp AVR `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - -Pinoccio -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``pinoccio`` - - `Pinoccio Scout `_ - - ATMEGA256RFR2 - - 16 MHz - - 256 Kb - - 32 Kb - -Pololu Corporation -~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``a-star32U4`` - - `Pololu A-Star 32U4 `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - -Punch Through -~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lightblue-bean`` - - `LightBlue Bean `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``lightblue-beanplus`` - - `LightBlue Bean+ `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -Quirkbot -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``quirkbot`` - - `Quirkbot `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - -RedBearLab -~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``blend`` - - `RedBearLab Blend `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``blendmicro16`` - - `RedBearLab Blend Micro 3.3V/16MHz (overclock) `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``blendmicro8`` - - `RedBearLab Blend Micro 3.3V/8MHz `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - -RepRap -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``reprap_rambo`` - - `RepRap RAMBo `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - -SODAQ -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sodaq_galora`` - - `SODAQ GaLoRa `_ - - ATMEGA1284P - - 8 MHz - - 128 Kb - - 16 Kb - - * - ``sodaq_mbili`` - - `SODAQ Mbili `_ - - ATMEGA1284P - - 8 MHz - - 128 Kb - - 16 Kb - - * - ``sodaq_moja`` - - `SODAQ Moja `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``sodaq_ndogo`` - - `SODAQ Ndogo `_ - - ATMEGA1284P - - 8 MHz - - 128 Kb - - 16 Kb - - * - ``sodaq_tatu`` - - `SODAQ Tatu `_ - - ATMEGA1284P - - 8 MHz - - 128 Kb - - 16 Kb - -Sanguino -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sanguino_atmega1284_8m`` - - `Sanguino ATmega1284p (8MHz) `_ - - ATMEGA1284P - - 8 MHz - - 128 Kb - - 16 Kb - - * - ``sanguino_atmega1284p`` - - `Sanguino ATmega1284p (16MHz) `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``sanguino_atmega644`` - - `Sanguino ATmega644 or ATmega644A (16 MHz) `_ - - ATMEGA644 - - 16 MHz - - 64 Kb - - 4 Kb - - * - ``sanguino_atmega644_8m`` - - `Sanguino ATmega644 or ATmega644A (8 MHz) `_ - - ATMEGA644 - - 8 MHz - - 64 Kb - - 4 Kb - - * - ``sanguino_atmega644p`` - - `Sanguino ATmega644P or ATmega644PA (16 MHz) `_ - - ATMEGA644P - - 16 MHz - - 64 Kb - - 4 Kb - - * - ``sanguino_atmega644p_8m`` - - `Sanguino ATmega644P or ATmega644PA (8 MHz) `_ - - ATMEGA644P - - 8 MHz - - 64 Kb - - 4 Kb - -SparkFun -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sparkfun_digitalsandbox`` - - `SparkFun Digital Sandbox `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``sparkfun_fiov3`` - - `SparkFun Fio V3 3.3V/8MHz `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``sparkfun_makeymakey`` - - `SparkFun Makey Makey `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``sparkfun_megamini`` - - `SparkFun Mega Pro Mini 3.3V `_ - - ATMEGA2560 - - 8 MHz - - 256 Kb - - 8 Kb - - * - ``sparkfun_megapro16MHz`` - - `SparkFun Mega Pro 5V/16MHz `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - - * - ``sparkfun_megapro8MHz`` - - `SparkFun Mega Pro 3.3V/8MHz `_ - - ATMEGA2560 - - 8 MHz - - 256 Kb - - 8 Kb - - * - ``sparkfun_promicro16`` - - `SparkFun Pro Micro 5V/16MHz `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``sparkfun_promicro8`` - - `SparkFun Pro Micro 3.3V/8MHz `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``sparkfun_redboard`` - - `SparkFun RedBoard `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``uview`` - - `SparkFun MicroView `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -TinyCircuits -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``tinyduino`` - - `TinyCircuits TinyDuino Processor Board `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``tinylily`` - - `TinyCircuits TinyLily Mini Processor `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - -Wicked Device -~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``wildfirev2`` - - `Wicked Device WildFire V2 `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``wildfirev3`` - - `Wicked Device WildFire V3 `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - -makerlab.mx -~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``altair`` - - `Altair `_ - - ATMEGA256RFR2 - - 16 MHz - - 256 Kb - - 32 Kb - -ubIQio -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``ardhat`` - - `ubIQio Ardhat `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -.. include:: atmelavr_extra.rst diff --git a/docs/platforms/atmelavr_extra.rst b/docs/platforms/atmelavr_extra.rst deleted file mode 100644 index ac6691bd..00000000 --- a/docs/platforms/atmelavr_extra.rst +++ /dev/null @@ -1,131 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _atmelavr_upload_via_programmer: - -Upload using Programmer ------------------------ - -To upload firmware using programmer you need to use ``program`` target instead -``upload`` for :option:`platformio run --target` command. For example, -``platformio run -t program``. - -Configuration for the programmers: - -* AVR ISP - - .. code-block:: ini - - [env:myenv] - platform = atmelavr - framework = arduino - upload_protocol = stk500v1 - upload_flags = -P$UPLOAD_PORT - - ; edit this line with valid upload port - upload_port = SERIAL_PORT_HERE - -* AVRISP mkII - - .. code-block:: ini - - [env:myenv] - platform = atmelavr - framework = arduino - upload_protocol = stk500v2 - upload_flags = -Pusb - -* USBtinyISP - - .. code-block:: ini - - [env:myenv] - platform = atmelavr - framework = arduino - upload_protocol = usbtiny - -* ArduinoISP - - .. code-block:: ini - - [env:myenv] - platform = atmelavr - framework = arduino - upload_protocol = arduinoisp - -* USBasp - - .. code-block:: ini - - [env:myenv] - platform = atmelavr - framework = arduino - upload_protocol = usbasp - upload_flags = -Pusb - -* Parallel Programmer - - .. code-block:: ini - - [env:myenv] - platform = atmelavr - framework = arduino - upload_protocol = dapa - upload_flags = -F - -* Arduino as ISP - - .. code-block:: ini - - [env:myenv] - platform = atmelavr - framework = arduino - upload_protocol = stk500v1 - upload_flags = -P$UPLOAD_PORT -b$UPLOAD_SPEED - - ; edit these lines - upload_port = SERIAL_PORT_HERE - upload_speed = 19200 - -Upload EEPROM data ------------------- - -To upload EEPROM data (from EEMEM directive) you need to use ``uploadeep`` -target instead ``upload`` for :option:`platformio run --target` command. -For example, ``platformio run -t uploadeep``. - -Articles --------- - -* Dec 01, 2015 - **Michał Seroczyński** - `Push Notification from Arduino Yún with motion sensor `_ -* Nov 29, 2015 - **Keith Hughes** - `Using PlatformIO for Embedded Projects `_ -* Nov 22, 2015 - **Michał Seroczyński** - `Using PlatformIO to get started with Arduino in CLion IDE `_ -* Nov 09, 2015 - **ÁLvaro García Gómez** - `Programar con Arduino "The good way" (Programming with Arduino "The good way", Spanish) `_ -* Oct 18, 2015 - **Nico Coetzee** - `First Arduino I2C Experience with PlatformIO `_ -* Oct 10, 2015 - **Floyd Hilton** - `Programming Arduino with Atom `_ -* June 20, 2014 - **Ivan Kravets, Ph.D.** - `Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO `_ - -See more :ref:`articles`. - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for Atmel AVR platform `_. - -* `Wiring Blink `_ -* `Arduino with external libraries `_ -* `Arduino with internal libraries `_ -* `Project uses source file name for "src" directory (Arduino project structure) `_ -* `Atmel AVR Native blink `_ -* `Digitstump Mouse `_ -* `Engduino magnetometer `_ -* `PanStamp blink `_ diff --git a/docs/platforms/atmelsam.rst b/docs/platforms/atmelsam.rst deleted file mode 100644 index b6ba1528..00000000 --- a/docs/platforms/atmelsam.rst +++ /dev/null @@ -1,338 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _platform_atmelsam: - -Platform ``atmelsam`` -===================== -Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-arduinosam`` - - `Arduino Wiring-based Framework (SAM Core, 1.6) `_ - - * - ``framework-mbed`` - - `mbed Framework `_ - - * - ``framework-simba`` - - `Simba Framework `_ - - * - ``tool-avrdude`` - - `AVRDUDE `_ - - * - ``tool-bossac`` - - `BOSSA CLI `_ - - * - ``tool-openocd`` - - `OpenOCD `_ - - * - ``toolchain-gccarmnoneeabi`` - - `gcc-arm-embedded `_, `GDB `_ - -.. warning:: - **Linux Users**: - - * Ubuntu/Debian users may need to add own "username" to the "dialout" - group if they are not "root", doing this issuing a - ``sudo usermod -a -G dialout yourusername``. - * Install "udev" rules file `99-platformio-udev.rules `_ - (an instruction is located in the file). - * Raspberry Pi users, please read this article - `Enable serial port on Raspberry Pi `__. - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_arduino` - - Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences. - - * - :ref:`framework_mbed` - - The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community. - - * - :ref:`framework_simba` - - Simba is an RTOS and build framework. It aims to make embedded programming easy and portable. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -Adafruit -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``adafruit_feather_m0_usb`` - - `Adafruit Feather M0 `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - -Arduino -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``due`` - - `Arduino Due (Programming Port) `_ - - SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - - * - ``dueUSB`` - - `Arduino Due (USB Native Port) `_ - - SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - - * - ``mkr1000USB`` - - `Arduino MKR1000 `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``mzeroUSB`` - - `Arduino M0 `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``mzeropro`` - - `Arduino M0 Pro (Programming Port) `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``mzeroproUSB`` - - `Arduino M0 Pro (Native USB Port) `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``tian`` - - `Arduino Tian `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``zero`` - - `Arduino Zero (Programming Port) `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``zeroUSB`` - - `Arduino Zero (USB Native Port) `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - -Atmel -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``samd21_xpro`` - - `Atmel SAMD21-XPRO `_ - - ATSAMD21J18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``saml21_xpro_b`` - - `Atmel SAML21-XPRO-B `_ - - ATSAML21J18B - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``samr21_xpro`` - - `Atmel ATSAMR21-XPRO `_ - - ATSAMR21G18A - - 48 MHz - - 256 Kb - - 32 Kb - -Digistump -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``digix`` - - `Digistump DigiX `_ - - AT91SAM3X8E - - 84 MHz - - 512 Kb - - 28 Kb - -SODAQ -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sodaq_autonomo`` - - `SODAQ Autonomo `_ - - SAMD21J18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``sodaq_explorer`` - - `SODAQ ExpLoRer `_ - - SAMD21J18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``sodaq_one`` - - `SODAQ ONE `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``sodaq_wdt`` - - `SODAQ WDT `_ - - SAMD21J18A - - 48 MHz - - 256 Kb - - 32 Kb - -SainSmart -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sainSmartDue`` - - `SainSmart Due (Programming Port) `_ - - AT91SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - - * - ``sainSmartDueUSB`` - - `SainSmart Due (USB Native Port) `_ - - AT91SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - -SparkFun -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sparkfun_samd21_dev_usb`` - - `SparkFun SAMD21 Dev Breakout `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``sparkfun_samd21_mini_usb`` - - `SparkFun SAMD21 Mini Breakout `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb diff --git a/docs/platforms/creating_board.rst b/docs/platforms/creating_board.rst deleted file mode 100644 index 1e686eff..00000000 --- a/docs/platforms/creating_board.rst +++ /dev/null @@ -1,91 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _board_creating: - -Custom Embedded Board -===================== - -*PlatformIO* has pre-built settings for the most popular embedded boards. This -list is available: - -* `Embedded Boards Explorer `_ (Web) -* :ref:`cmd_boards` (CLI command) - -Nevertheless, PlatformIO allows to create own board or override existing -board's settings. All data is declared using -`JSON-style `_ via -`associative array `_ -(name/value pairs). - -.. contents:: - -JSON Structure --------------- - -The key fields: - -* ``build`` data will be used by :ref:`platforms` and :ref:`frameworks` builders -* ``frameworks`` is the list with supported :ref:`frameworks` -* ``platform`` name of :ref:`platforms` -* ``upload`` upload settings which depend on the ``platform`` - -.. code-block:: json - - { - "build": { - "extra_flags": "-DHELLO_PLATFORMIO", - "f_cpu": "16000000L", - "hwids": [ - [ - "0x1234", - "0x0013" - ], - [ - "0x4567", - "0x0013" - ] - ], - "mcu": "%MCU_TYPE_HERE%" - }, - "frameworks": ["%LIST_WITH_SUPPORTED_FRAMEWORKS%"], - "name": "My Test Board", - "upload": { - "maximum_ram_size": 2048, - "maximum_size": 32256 - }, - "url": "http://example.com", - "vendor": "MyCompany" - } - - -Installation ------------- - -1. Create ``boards`` directory in :ref:`projectconf_pio_home_dir` if it - doesn't exist. -2. Create ``myboard.json`` file in this ``boards`` directory. -3. Search available boards via :ref:`cmd_boards` command. You should see - ``myboard`` board. - -Now, you can use ``myboard`` for the :ref:`projectconf_env_board` option in -:ref:`projectconf`. - -.. note:: - You can have custom boards per project. In this case, please put your - board's JSON files to :ref:`projectconf_pio_boards_dir`. - -Examples --------- - -Please take a look at the source code of -`PlatformIO Development Platforms `_ -and navigate to ``boards`` folder of the repository. diff --git a/docs/platforms/creating_platform.rst b/docs/platforms/creating_platform.rst deleted file mode 100644 index 944f96de..00000000 --- a/docs/platforms/creating_platform.rst +++ /dev/null @@ -1,386 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _platform_creating: - -Custom Development Platform -=========================== - -*PlatformIO* was developed like a tool that may build the same source code -for the different development platforms via single command :ref:`cmd_run` -without any dependent software or requirements. - -For this purpose *PlatformIO* uses own pre-configured platforms data: -build scripts, toolchains, the settings for the most popular embedded -boards and etc. These data are pre-built and packaged to the different -``packages``. It allows *PlatformIO* to have multiple development platforms -which can use the same packages(toolchains, frameworks), but have -different/own build scripts, uploader and etc. - -.. note:: - If you want to change some build flags for the existing - :ref:`platforms`, you don't need to create (or duplicate) own - development platforms! Please use :ref:`projectconf_build_flags` option. - -**Step-by-Step Manual** - -1. Choose :ref:`platform_creating_packages` for platform -2. Create :ref:`platform_creating_manifest_file` -3. Create :ref:`platform_creating_build_script` -4. Finish with the :ref:`platform_creating_installation`. - -.. contents:: - -.. _platform_creating_packages: - -Packages --------- - -*PlatformIO* has pre-built packages for the most popular operation systems: -*Mac OS*, *Linux (+ARM)* and *Windows*. - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-arduinoavr`` - - `Arduino Wiring-based Framework (AVR Core, 1.6) `_ - - * - ``framework-arduinoespressif32`` - - `Arduino Wiring-based Framework (ESP32 Core) `_ - - * - ``framework-arduinoespressif8266`` - - `Arduino Wiring-based Framework (ESP8266 Core) `_ - - * - ``framework-arduinointel`` - - `Arduino Wiring-based Framework (Intel ARC Core) `_ - - * - ``framework-arduinomicrochippic32`` - - `Arduino Wiring-based Framework (PIC32 Core) `_ - - * - ``framework-arduinomsp430`` - - `Arduino Wiring-based Framework (MSP430 Core) `_ - - * - ``framework-arduinonordicnrf51`` - - `Arduino Wiring-based Framework (RFduino Core) `_ - - * - ``framework-arduinosam`` - - `Arduino Wiring-based Framework (SAM Core, 1.6) `_ - - * - ``framework-arduinoststm32`` - - `Arduino Wiring-based Framework (STM32 Core) `_ - - * - ``framework-arduinoteensy`` - - `Arduino Wiring-based Framework `_ - - * - ``framework-cmsis`` - - `Vendor-independent hardware abstraction layer for the Cortex-M processor series `_ - - * - ``framework-energiamsp430`` - - `Energia Wiring-based Framework (MSP430 Core) `_ - - * - ``framework-energiativa`` - - `Energia Wiring-based Framework (LM4F Core) `_ - - * - ``framework-espidf`` - - `Espressif IoT Development Framework `_ - - * - ``framework-libopencm3`` - - `libOpenCM3 Framework `_ - - * - ``framework-mbed`` - - `mbed Framework `_ - - * - ``framework-simba`` - - `Simba Framework `_ - - * - ``framework-spl`` - - `Standard Peripheral Library for STM32 MCUs `_ - - * - ``framework-wiringpi`` - - `GPIO Interface library for the Raspberry Pi `_ - - * - ``ldscripts`` - - `Linker Scripts `_ - - * - ``sdk-esp8266`` - - `ESP8266 SDK `_ - - * - ``tool-arduino101load`` - - `Genuino101 uploader `_ - - * - ``tool-avrdude`` - - `AVRDUDE `_ - - * - ``tool-bossac`` - - `BOSSA CLI `_ - - * - ``tool-espotapy`` - - `ESP8266 OTA utility `_ - - * - ``tool-esptool`` - - `esptool-ck `_ - - * - ``tool-esptoolpy`` - - `Espressif ROM Bootloader utility `_ - - * - ``tool-lm4flash`` - - `Flash Programmer `_ - - * - ``tool-micronucleus`` - - `Micronucleus `_ - - * - ``tool-mkspiffs`` - - `Tool to build and unpack SPIFFS images `_ - - * - ``tool-mspdebug`` - - `MSPDebug `_ - - * - ``tool-openocd`` - - `OpenOCD `_ - - * - ``tool-pic32prog`` - - `pic32prog `_ - - * - ``tool-rfdloader`` - - `rfdloader `_ - - * - ``tool-scons`` - - `SCons software construction tool `_ - - * - ``tool-sreccat`` - - `Merging tool `_ - - * - ``tool-stlink`` - - `ST-Link `_ - - * - ``tool-stm32duino`` - - `STM32Duino Tools `_ - - * - ``tool-teensy`` - - `Teensy Loader `_ - - * - ``toolchain-atmelavr`` - - `avr-gcc `_, `GDB `_ - - * - ``toolchain-gccarmlinuxgnueabi`` - - `GCC for Linux ARM GNU EABI `_, `GDB `_ - - * - ``toolchain-gccarmnoneeabi`` - - `gcc-arm-embedded `_, `GDB `_ - - * - ``toolchain-gcclinux32`` - - `GCC for Linux i686 `_ - - * - ``toolchain-gcclinux64`` - - `GCC for Linux x86_64 `_ - - * - ``toolchain-gccmingw32`` - - `MinGW `_ - - * - ``toolchain-icestorm`` - - `Tools for analyzing and creating bitstream files for FPGA IceStorm `_ - - * - ``toolchain-intelarc32`` - - `GCC for Intel ARC `_ - - * - ``toolchain-iverilog`` - - `Verilog simulation and synthesis tool `_ - - * - ``toolchain-microchippic32`` - - `GCC for Microchip PIC32 `_ - - * - ``toolchain-timsp430`` - - `msp-gcc `_, `GDB `_ - - * - ``toolchain-xtensa`` - - `xtensa-gcc `_, `GDB `_ - - * - ``toolchain-xtensa32`` - - `xtensa32-gcc `_, `GDB `_ - -.. _platform_creating_manifest_file: - -Manifest File ``platform.json`` -------------------------------- - -.. code-block:: json - - { - "name": "myplatform", - "title": "My Platform", - "description": "My custom development platform", - "url": "http://example.com", - "homepage": "http://platformio.org/platforms/myplatform", - "license": "Apache-2.0", - "engines": { - "platformio": "~3.0.0", - "scons": ">=2.3.0,<2.6.0" - }, - "repository": { - "type": "git", - "url": "https://github.com/platformio/platform-myplatform.git" - }, - "version": "0.0.0", - "packageRepositories": [ - "https://dl.bintray.com/platformio/dl-packages/manifest.json", - "https://sourceforge.net/projects/platformio-storage/files/packages/manifest.json/download", - "http://dl.platformio.org/packages/manifest.json", - { - "framework-%FRAMEWORK_NAME_1%": [ - { - "url": "http://dl.example.com/packages/framework-%FRAMEWORK_NAME_1%-1.10607.0.tar.gz", - "sha1": "adce2cd30a830d71cb6572575bf08461b7b73c07", - "version": "1.10607.0", - "system": "*" - } - ] - } - ], - "frameworks": { - "%FRAMEWORK_NAME_1%": { - "package": "framework-%FRAMEWORK_NAME_1%", - "script": "builder/frameworks/%FRAMEWORK_NAME_1%.py" - }, - "%FRAMEWORK_NAME_N%": { - "package": "framework-%FRAMEWORK_NAME_N%", - "script": "builder/frameworks/%FRAMEWORK_NAME_N%.py" - } - }, - "packages": { - "toolchain-gccarmnoneeabi": { - "type": "toolchain", - "version": ">=1.40803.0,<1.40805.0" - }, - "framework-%FRAMEWORK_NAME_1%": { - "type": "framework", - "optional": true, - "version": "~1.10607.0" - }, - "framework-%FRAMEWORK_NAME_N%": { - "type": "framework", - "optional": true, - "version": "~1.117.0" - } - } - } - -.. _platform_creating_build_script: - -Build Script ``main.py`` ------------------------- - -Platform's build script is based on a next-generation build tool named -`SCons `_. PlatformIO has own built-in firmware builder -``env.BuildProgram`` with the deep libraries search. Please look into a -base template of ``main.py``. - -.. code-block:: python - - """ - Build script for test.py - test-builder.py - """ - - from os.path import join - from SCons.Script import AlwaysBuild, Builder, Default, DefaultEnvironment - - env = DefaultEnvironment() - - # A full list with the available variables - # http://www.scons.org/doc/production/HTML/scons-user.html#app-variables - env.Replace( - AR="ar", - AS="gcc", - CC="gcc", - CXX="g++", - OBJCOPY="objcopy", - RANLIB="ranlib", - - ARFLAGS=["..."], - - ASFLAGS=["flag1", "flag2", "flagN"], - CCFLAGS=["flag1", "flag2", "flagN"], - CXXFLAGS=["flag1", "flag2", "flagN"], - LINKFLAGS=["flag1", "flag2", "flagN"], - - CPPDEFINES=["DEFINE_1", "DEFINE=2", "DEFINE_N"], - - LIBS=["additional", "libs", "here"], - - UPLOADER=join("$PIOPACKAGES_DIR", "tool-bar", "uploader"), - UPLOADCMD="$UPLOADER $SOURCES" - ) - - env.Append( - BUILDERS=dict( - ElfToBin=Builder( - action=" ".join([ - "$OBJCOPY", - "-O", - "binary", - "$SOURCES", - "$TARGET"]), - suffix=".bin" - ) - ) - ) - - # The source code of "platformio-build-tool" is here - # https://github.com/platformio/platformio-core/blob/develop/platformio/builder/tools/platformio.py - - # - # Target: Build executable and linkable firmware - # - target_elf = env.BuildProgram() - - # - # Target: Build the .bin file - # - target_bin = env.ElfToBin(join("$BUILD_DIR", "firmware"), target_elf) - - # - # Target: Upload firmware - # - upload = env.Alias(["upload"], target_bin, "$UPLOADCMD") - AlwaysBuild(upload) - - # - # Target: Define targets - # - Default(target_bin) - - -.. _platform_creating_installation: - -Installation ------------- - -1. Create ``platforms`` directory in :ref:`projectconf_pio_home_dir` if it - doesn't exist. -2. Create ``myplatform`` directory in ``platforms`` -3. Copy ``platform.json`` and ``builder/main.py`` files to ``myplatform`` directory. -4. Search available platforms via :ref:`cmd_platform_search` command. You - should see ``myplatform`` platform. -5. Install ``myplatform`` platform via :ref:`cmd_platform_install` command. - -Now, you can use ``myplatform`` for the :ref:`projectconf_env_platform` -option in :ref:`projectconf`. - -Examples --------- - -Please take a look at the source code of -`PlatformIO Development Platforms `_. -code of -`PlatformIO Development Platforms `_. diff --git a/docs/platforms/custom_platform_and_board.rst b/docs/platforms/custom_platform_and_board.rst deleted file mode 100644 index 36614a24..00000000 --- a/docs/platforms/custom_platform_and_board.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -Custom Platform & Board -======================= - -.. toctree:: - :maxdepth: 2 - - creating_platform - creating_board diff --git a/docs/platforms/embedded_boards.rst b/docs/platforms/embedded_boards.rst deleted file mode 100644 index 74420739..00000000 --- a/docs/platforms/embedded_boards.rst +++ /dev/null @@ -1,3578 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _embedded_boards: - -Embedded Boards -=============== - -Rapid Embedded Development, Continuous and IDE integration in a few -steps with PlatformIO thanks to built-in project generator for the most -popular embedded boards and IDE. - -* You can list pre-configured boards using :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ -* For more detailed ``board`` information please scroll tables below by - horizontal. - -.. contents:: - -4DSystems -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``picadillo_35t`` - - `4DSystems PICadillo 35T `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - -96Boards -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``b96b_f446ve`` - - `96Boards B96B-F446VE `_ - - STM32F446VET6 - - 168 MHz - - 512 Kb - - 128 Kb - -Adafruit -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``adafruit_feather_m0_usb`` - - `Adafruit Feather M0 `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``bluefruitmicro`` - - `Adafruit Bluefruit Micro `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``feather32u4`` - - `Adafruit Feather `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``flora8`` - - `Adafruit Flora `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``gemma`` - - `Adafruit Gemma `_ - - ATTINY85 - - 8 MHz - - 8 Kb - - 0.5 Kb - - * - ``huzzah`` - - `Adafruit HUZZAH ESP8266 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``metro`` - - `Adafruit Metro `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``protrinket3`` - - `Adafruit Pro Trinket 3V/12MHz (USB) `_ - - ATMEGA328P - - 12 MHz - - 32 Kb - - 2 Kb - - * - ``protrinket3ftdi`` - - `Adafruit Pro Trinket 3V/12MHz (FTDI) `_ - - ATMEGA328P - - 12 MHz - - 32 Kb - - 2 Kb - - * - ``protrinket5`` - - `Adafruit Pro Trinket 5V/16MHz (USB) `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``protrinket5ftdi`` - - `Adafruit Pro Trinket 5V/16MHz (USB) `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``trinket3`` - - `Adafruit Trinket 3V/8MHz `_ - - ATTINY85 - - 8 MHz - - 8 Kb - - 0.5 Kb - - * - ``trinket5`` - - `Adafruit Trinket 5V/16MHz `_ - - ATTINY85 - - 16 MHz - - 8 Kb - - 0.5 Kb - -April Brother -~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espea32`` - - `April Brother ESPea32 `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 288 Kb - -Arduboy -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``arduboy`` - - `Arduboy `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``arduboy_devkit`` - - `Arduboy DevKit `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - -Arduino -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``LilyPadUSB`` - - `Arduino LilyPad USB `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``atmega328pb`` - - `Atmel ATmega328PB `_ - - ATMEGA328PB - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``atmegangatmega168`` - - `Arduino NG or older ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``atmegangatmega8`` - - `Arduino NG or older ATmega8 `_ - - ATMEGA8 - - 16 MHz - - 8 Kb - - 1 Kb - - * - ``btatmega168`` - - `Arduino BT ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``btatmega328`` - - `Arduino BT ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``chiwawa`` - - `Arduino Industrial 101 `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``diecimilaatmega168`` - - `Arduino Duemilanove or Diecimila ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``diecimilaatmega328`` - - `Arduino Duemilanove or Diecimila ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``due`` - - `Arduino Due (Programming Port) `_ - - SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - - * - ``dueUSB`` - - `Arduino Due (USB Native Port) `_ - - SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - - * - ``esplora`` - - `Arduino Esplora `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``ethernet`` - - `Arduino Ethernet `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``fio`` - - `Arduino Fio `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``leonardo`` - - `Arduino Leonardo `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``leonardoeth`` - - `Arduino Leonardo ETH `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``lilypadatmega168`` - - `Arduino LilyPad ATmega168 `_ - - ATMEGA168 - - 8 MHz - - 16 Kb - - 1 Kb - - * - ``lilypadatmega328`` - - `Arduino LilyPad ATmega328 `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``megaADK`` - - `Arduino Mega ADK `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - - * - ``megaatmega1280`` - - `Arduino Mega or Mega 2560 ATmega1280 `_ - - ATMEGA1280 - - 16 MHz - - 128 Kb - - 8 Kb - - * - ``megaatmega2560`` - - `Arduino Mega or Mega 2560 ATmega2560 (Mega 2560) `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - - * - ``micro`` - - `Arduino Micro `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``miniatmega168`` - - `Arduino Mini ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``miniatmega328`` - - `Arduino Mini ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``mkr1000USB`` - - `Arduino MKR1000 `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``mzeroUSB`` - - `Arduino M0 `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``mzeropro`` - - `Arduino M0 Pro (Programming Port) `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``mzeroproUSB`` - - `Arduino M0 Pro (Native USB Port) `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``nanoatmega168`` - - `Arduino Nano ATmega168 `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``nanoatmega328`` - - `Arduino Nano ATmega328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``pro16MHzatmega168`` - - `Arduino Pro or Pro Mini ATmega168 (5V, 16 MHz) `_ - - ATMEGA168 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``pro16MHzatmega328`` - - `Arduino Pro or Pro Mini ATmega328 (5V, 16 MHz) `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``pro8MHzatmega168`` - - `Arduino Pro or Pro Mini ATmega168 (3.3V, 8 MHz) `_ - - ATMEGA168 - - 8 MHz - - 16 Kb - - 1 Kb - - * - ``pro8MHzatmega328`` - - `Arduino Pro or Pro Mini ATmega328 (3.3V, 8 MHz) `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``robotControl`` - - `Arduino Robot Control `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``robotMotor`` - - `Arduino Robot Motor `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``tian`` - - `Arduino Tian `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``uno`` - - `Arduino Uno `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``yun`` - - `Arduino Yun `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``yunmini`` - - `Arduino Yun Mini `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``zero`` - - `Arduino Zero (Programming Port) `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``zeroUSB`` - - `Arduino Zero (USB Native Port) `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - -Armstrap -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``armstrap_eagle1024`` - - `Armstrap Eagle 1024 `_ - - STM32F417VGT6 - - 168 MHz - - 1024 Kb - - 192 Kb - - * - ``armstrap_eagle2048`` - - `Armstrap Eagle 2048 `_ - - STM32F427VIT6 - - 168 MHz - - 2048 Kb - - 256 Kb - - * - ``armstrap_eagle512`` - - `Armstrap Eagle 512 `_ - - STM32F407VET6 - - 168 MHz - - 512 Kb - - 192 Kb - -Atmel -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``samd21_xpro`` - - `Atmel SAMD21-XPRO `_ - - ATSAMD21J18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``saml21_xpro_b`` - - `Atmel SAML21-XPRO-B `_ - - ATSAML21J18B - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``samr21_xpro`` - - `Atmel ATSAMR21-XPRO `_ - - ATSAMR21G18A - - 48 MHz - - 256 Kb - - 32 Kb - -BBC -~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``bbcmicrobit`` - - `BBC micro:bit `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - - * - ``bbcmicrobit_b`` - - `BBC micro:bit B(S130) `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - -BQ -~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``zumbt328`` - - `BQ ZUM BT-328 `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -BitWizard -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``raspduino`` - - `BitWizard Raspduino `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -CQ Publishing -~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc11u35_501`` - - `CQ Publishing TG-LPC11U35-501 `_ - - LPC11U35 - - 48 MHz - - 64 Kb - - 10 Kb - -Delta -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``dfcm_nnn40`` - - `Delta DFCM-NNN40 `_ - - NRF51822 - - 32 MHz - - 256 Kb - - 32 Kb - -Digilent -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``cerebot32mx4`` - - `Digilent Cerebot 32MX4 `_ - - 32MX460F512L - - 80 MHz - - 512 Kb - - 32 Kb - - * - ``cerebot32mx7`` - - `Digilent Cerebot 32MX7 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``chipkit_cmod`` - - `Digilent chipKIT Cmod `_ - - 32MX150F128D - - 40 MHz - - 128 Kb - - 32 Kb - - * - ``chipkit_dp32`` - - `Digilent chipKIT DP32 `_ - - 32MX250F128B - - 40 MHz - - 128 Kb - - 32 Kb - - * - ``chipkit_mx3`` - - `Digilent chipKIT MX3 `_ - - 32MX320F128H - - 80 MHz - - 128 Kb - - 16 Kb - - * - ``chipkit_pro_mx4`` - - `Digilent chipKIT Pro MX4 `_ - - 32MX460F512L - - 80 MHz - - 512 Kb - - 32 Kb - - * - ``chipkit_pro_mx7`` - - `Digilent chipKIT Pro MX7 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``chipkit_uc32`` - - `Digilent chipKIT uC32 `_ - - 32MX340F512H - - 80 MHz - - 512 Kb - - 32 Kb - - * - ``chipkit_wf32`` - - `Digilent chipKIT WF32 `_ - - 32MX695F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``chipkit_wifire`` - - `Digilent chipKIT WiFire `_ - - 32MZ2048ECG100 - - 200 MHz - - 2048 Kb - - 512 Kb - - * - ``mega_pic32`` - - `Digilent chipKIT MAX32 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``openscope`` - - `Digilent OpenScope `_ - - 32MZ2048EFG124 - - 200 MHz - - 2048 Kb - - 512 Kb - - * - ``uno_pic32`` - - `Digilent chipKIT UNO32 `_ - - 32MX320F128H - - 80 MHz - - 128 Kb - - 16 Kb - -Digistump -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``digispark-pro`` - - `Digistump Digispark Pro (Default 16 MHz) `_ - - ATTINY167 - - 16 MHz - - 16 Kb - - 0.5 Kb - - * - ``digispark-pro32`` - - `Digistump Digispark Pro (16 MHz) (32 byte buffer) `_ - - ATTINY167 - - 16 MHz - - 16 Kb - - 0.5 Kb - - * - ``digispark-pro64`` - - `Digistump Digispark Pro (16 MHz) (64 byte buffer) `_ - - ATTINY167 - - 16 MHz - - 16 Kb - - 0.5 Kb - - * - ``digispark-tiny`` - - `Digistump Digispark (Default - 16 MHz) `_ - - ATTINY85 - - 16 MHz - - 8 Kb - - 0.5 Kb - - * - ``digix`` - - `Digistump DigiX `_ - - AT91SAM3X8E - - 84 MHz - - 512 Kb - - 28 Kb - -Doit -~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espduino`` - - `ESPDuino (ESP-13 Module) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -DycodeX -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espectro`` - - `ESPrectro Core `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -ESPert -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espresso_lite_v1`` - - `ESPresso Lite 1.0 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``espresso_lite_v2`` - - `ESPresso Lite 2.0 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -ESPino -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espino`` - - `ESPino `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -Electronic SweetPeas -~~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``esp320`` - - `Electronic SweetPeas ESP320 `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 288 Kb - -Elektor Labs -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``elektor_cocorico`` - - `CoCo-ri-Co! `_ - - LPC812 - - 30 MHz - - 16 Kb - - 4 Kb - -Embedded Artists -~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc11u35`` - - `EA LPC11U35 QuickStart Board `_ - - LPC11U35 - - 48 MHz - - 64 Kb - - 10 Kb - - * - ``lpc4088`` - - `Embedded Artists LPC4088 QuickStart Board `_ - - LPC4088 - - 120 MHz - - 512 Kb - - 96 Kb - - * - ``lpc4088_dm`` - - `Embedded Artists LPC4088 Display Module `_ - - LPC4088 - - 120 MHz - - 512 Kb - - 96 Kb - -Engduino -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``engduinov1`` - - `Engduino 1 `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``engduinov2`` - - `Engduino 2 `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``engduinov3`` - - `Engduino 3 `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - -Espressif -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``esp01`` - - `Espressif Generic ESP8266 ESP-01 512k `_ - - ESP8266 - - 80 MHz - - 512 Kb - - 80 Kb - - * - ``esp01_1m`` - - `Espressif Generic ESP8266 ESP-01 1M `_ - - ESP8266 - - 80 MHz - - 1024 Kb - - 80 Kb - - * - ``esp07`` - - `Espressif Generic ESP8266 ESP-07 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``esp12e`` - - `Espressif ESP8266 ESP-12E `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``esp32dev`` - - `Espressif ESP32 Dev Module `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 112 Kb - - * - ``esp8285`` - - `Generic ESP8285 Module `_ - - ESP8266 - - 80 MHz - - 448 Kb - - 80 Kb - - * - ``esp_wroom_02`` - - `ESP-WROOM-02 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``phoenix_v1`` - - `Phoenix 1.0 `_ - - ESP8266 - - 80 MHz - - 1024 Kb - - 80 Kb - - * - ``phoenix_v2`` - - `Phoenix 2.0 `_ - - ESP8266 - - 80 MHz - - 1024 Kb - - 80 Kb - - * - ``wifinfo`` - - `WifInfo `_ - - ESP8266 - - 80 MHz - - 448 Kb - - 80 Kb - -FPGAwars -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``icezum`` - - `IceZUM Alhambra FPGA `_ - - ICE40-HX1K-TQ144 - - 12 MHz - - 32 Kb - - 32 Kb - -Freescale -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``IBMEthernetKit`` - - `Ethernet IoT Starter Kit `_ - - MK64FN1M0VLL12 - - 120 MHz - - 1024 Kb - - 256 Kb - - * - ``frdm_k20d50m`` - - `Freescale Kinetis FRDM-K20D50M `_ - - MK20DX128VLH5 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``frdm_k22f`` - - `Freescale Kinetis FRDM-K22F `_ - - MK22FN512VLH12 - - 120 MHz - - 512 Kb - - 128 Kb - - * - ``frdm_k64f`` - - `Freescale Kinetis FRDM-K64F `_ - - MK64FN1M0VLL12 - - 120 MHz - - 1024 Kb - - 256 Kb - - * - ``frdm_kl05z`` - - `Freescale Kinetis FRDM-KL05Z `_ - - MKL05Z32VFM4 - - 48 MHz - - 32 Kb - - 4 Kb - - * - ``frdm_kl25z`` - - `Freescale Kinetis FRDM-KL25Z `_ - - MKL25Z128VLK4 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``frdm_kl26z`` - - `Freescale Kinetis FRDM-KL26Z `_ - - MKL26Z128VLH4 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``frdm_kl27z`` - - `Freescale Kinetis FRDM-KL27Z `_ - - MKL27Z64VLH4 - - 48 MHz - - 64 Kb - - 16 Kb - - * - ``frdm_kl43z`` - - `Freescale Kinetis FRDM-KL43Z `_ - - MKL43Z256VLH4 - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``frdm_kl46z`` - - `Freescale Kinetis FRDM-KL46Z `_ - - MKL46Z256VLL4 - - 48 MHz - - 256 Kb - - 32 Kb - -Fubarino -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``fubarino_mini`` - - `Fubarino Mini `_ - - 32MX250F128D - - 48 MHz - - 128 Kb - - 32 Kb - - * - ``fubarino_sd`` - - `Fubarino SD (1.5) `_ - - 32MX795F512H - - 80 MHz - - 512 Kb - - 128 Kb - -GHI Electronics -~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``oc_mbuino`` - - `mBuino `_ - - LPC11U24 - - 50 MHz - - 32 Kb - - 10 Kb - -Generic -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``bluepill_f103c8`` - - `BluePill F103C8 `_ - - STM32F103C8T6 - - 72 MHz - - 64 Kb - - 20 Kb - - * - ``genericSTM32F103C8`` - - `STM32F103C8 (20k RAM. 64k Flash) `_ - - STM32F103C8 - - 72 MHz - - 64 Kb - - 20 Kb - - * - ``genericSTM32F103CB`` - - `STM32F103CB (20k RAM. 128k Flash) `_ - - STM32F103CB - - 72 MHz - - 128 Kb - - 20 Kb - - * - ``genericSTM32F103R8`` - - `STM32F103R8 (20k RAM. 64 Flash) `_ - - STM32F103R8 - - 72 MHz - - 64 Kb - - 20 Kb - - * - ``genericSTM32F103RB`` - - `STM32F103RB (20k RAM. 128k Flash) `_ - - STM32F103RB - - 72 MHz - - 128 Kb - - 20 Kb - - * - ``genericSTM32F103RC`` - - `STM32F103RC (48k RAM. 256k Flash) `_ - - STM32F103RC - - 72 MHz - - 256 Kb - - 48 Kb - - * - ``genericSTM32F103RE`` - - `STM32F103RE (64k RAM. 512k Flash) `_ - - STM32F103RE - - 72 MHz - - 512 Kb - - 64 Kb - -Generic ATTiny -~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``attiny13`` - - `Generic ATTiny13 `_ - - ATTINY13 - - 9 MHz - - 1 Kb - - 0.0625 Kb - - * - ``attiny24`` - - `Generic ATTiny24 `_ - - ATTINY24 - - 8 MHz - - 2 Kb - - 0.125 Kb - - * - ``attiny25`` - - `Generic ATTiny25 `_ - - ATTINY25 - - 8 MHz - - 2 Kb - - 0.125 Kb - - * - ``attiny44`` - - `Generic ATTiny44 `_ - - ATTINY44 - - 8 MHz - - 4 Kb - - 0.25 Kb - - * - ``attiny45`` - - `Generic ATTiny45 `_ - - ATTINY45 - - 8 MHz - - 4 Kb - - 0.25 Kb - - * - ``attiny84`` - - `Generic ATTiny84 `_ - - ATTINY84 - - 8 MHz - - 8 Kb - - 0.5 Kb - - * - ``attiny85`` - - `Generic ATTiny85 `_ - - ATTINY85 - - 8 MHz - - 8 Kb - - 0.5 Kb - -Intel -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``genuino101`` - - `Arduino/Genuino 101 `_ - - ARCV2EM - - 32 MHz - - 192 Kb - - 80 Kb - -JKSoft -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``wallbot_ble`` - - `JKSoft Wallbot BLE `_ - - NRF51822 - - 16 MHz - - 128 Kb - - 16 Kb - -Lattice -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``icestick`` - - `Lattice iCEstick FPGA Evaluation Kit `_ - - ICE40-HX1K-TQ144 - - 12 MHz - - 32 Kb - - 32 Kb - -LeafLabs -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``maple`` - - `Maple `_ - - STM32F103RB - - 72 MHz - - 128 Kb - - 17 Kb - - * - ``maple_mini_b20`` - - `Maple Mini Bootloader 2.0 `_ - - STM32F103CB - - 72 MHz - - 128 Kb - - 20 Kb - - * - ``maple_mini_origin`` - - `Maple Mini Original `_ - - STM32F103CB - - 72 MHz - - 128 Kb - - 17 Kb - -LightUp -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lightup`` - - `LightUp `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - -Linino -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``one`` - - `Linino One `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - -LowPowerLab -~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``moteino`` - - `LowPowerLab Moteino `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``moteinomega`` - - `LowPowerLab MoteinoMEGA `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - -MakerAsia -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``nano32`` - - `MakerAsia Nano32 `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 288 Kb - -Mcudude -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``mightycore1284`` - - `MightyCore ATmega1284 `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``mightycore16`` - - `MightyCore ATmega16 `_ - - ATMEGA16 - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``mightycore164`` - - `MightyCore ATmega164 `_ - - ATMEGA164P - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``mightycore32`` - - `MightyCore ATmega32 `_ - - ATMEGA32 - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``mightycore324`` - - `MightyCore ATmega324 `_ - - ATMEGA324P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``mightycore644`` - - `MightyCore ATmega644 `_ - - ATMEGA644P - - 16 MHz - - 64 Kb - - 4 Kb - - * - ``mightycore8535`` - - `MightyCore ATmega8535 `_ - - ATMEGA16 - - 16 MHz - - 8 Kb - - 0.5 Kb - -Microduino -~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``1284p16m`` - - `Microduino Core+ (ATmega1284P@16M,5V) `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``1284p8m`` - - `Microduino Core+ (ATmega1284P@8M,3.3V) `_ - - ATMEGA1284P - - 8 MHz - - 128 Kb - - 16 Kb - - * - ``168pa16m`` - - `Microduino Core (Atmega168PA@16M,5V) `_ - - ATMEGA168P - - 16 MHz - - 16 Kb - - 1 Kb - - * - ``168pa8m`` - - `Microduino Core (Atmega168PA@8M,3.3V) `_ - - ATMEGA168P - - 8 MHz - - 16 Kb - - 1 Kb - - * - ``328p16m`` - - `Microduino Core (Atmega328P@16M,5V) `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``328p8m`` - - `Microduino Core (Atmega328P@8M,3.3V) `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``32u416m`` - - `Microduino Core USB (ATmega32U4@16M,5V) `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``644pa16m`` - - `Microduino Core+ (Atmega644PA@16M,5V) `_ - - ATMEGA644P - - 16 MHz - - 64 Kb - - 4 Kb - - * - ``644pa8m`` - - `Microduino Core+ (Atmega644PA@8M,3.3V) `_ - - ATMEGA644P - - 8 MHz - - 64 Kb - - 4 Kb - -Micromint -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc4330_m4`` - - `Bambino-210E `_ - - LPC4330 - - 204 MHz - - 8192 Kb - - 264 Kb - -MikroElektronika -~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``clicker2`` - - `MikroElektronika Clicker 2 `_ - - 32MX460F512L - - 80 MHz - - 512 Kb - - 32 Kb - - * - ``hexiwear`` - - `Hexiwear `_ - - MK64FN1M0VDC12 - - 120 MHz - - 1024 Kb - - 256 Kb - -MultiTech -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``mts_mdot_f405rg`` - - `MultiTech mDot `_ - - STM32F411RET6 - - 100 MHz - - 512 Kb - - 128 Kb - - * - ``mts_mdot_f411re`` - - `MultiTech mDot F411 `_ - - STM32F411RET6 - - 100 MHz - - 512 Kb - - 128 Kb - -NGX Technologies -~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``blueboard_lpc11u24`` - - `NGX Technologies BlueBoard-LPC11U24 `_ - - LPC11U24 - - 48 MHz - - 32 Kb - - 8 Kb - -NXP -~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc11c24`` - - `NXP LPC11C24 `_ - - LPC11C24 - - 48 MHz - - 32 Kb - - 8 Kb - - * - ``lpc11u24`` - - `NXP mbed LPC11U24 `_ - - LPC11U24 - - 48 MHz - - 32 Kb - - 8 Kb - - * - ``lpc11u24_301`` - - `ARM mbed LPC11U24 (+CAN) `_ - - LPC11U24 - - 48 MHz - - 32 Kb - - 8 Kb - - * - ``lpc11u34_421`` - - `NXP LPC11U34 `_ - - LPC11U34 - - 48 MHz - - 64 Kb - - 8 Kb - - * - ``lpc11u37_501`` - - `NXP LPC11U37 `_ - - LPC11U37 - - 48 MHz - - 128 Kb - - 10 Kb - - * - ``lpc11u68`` - - `LPCXpresso11U68 `_ - - LPC11U68 - - 50 MHz - - 256 Kb - - 36 Kb - - * - ``lpc1549`` - - `NXP LPCXpresso1549 `_ - - LPC1549 - - 72 MHz - - 256 Kb - - 36 Kb - - * - ``lpc1768`` - - `NXP mbed LPC1768 `_ - - LPC1768 - - 96 MHz - - 512 Kb - - 64 Kb - - * - ``lpc2368`` - - `NXP LPC2368 `_ - - LPC2368 - - 72 MHz - - 512 Kb - - 58 Kb - - * - ``lpc2460`` - - `NXP LPC2460 `_ - - LPC2460 - - 72 MHz - - 64 Kb - - 16 Kb - - * - ``lpc812`` - - `NXP LPC800-MAX `_ - - LPC812 - - 30 MHz - - 16 Kb - - 4 Kb - - * - ``lpc824`` - - `LPCXpresso824-MAX `_ - - LPC824 - - 30 MHz - - 32 Kb - - 8 Kb - - * - ``micronfcboard`` - - `MicroNFCBoard `_ - - LPC11U34 - - 48 MHz - - 64 Kb - - 10 Kb - -NodeMCU -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``nodemcu`` - - `NodeMCU 0.9 (ESP-12 Module) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``nodemcuv2`` - - `NodeMCU 1.0 (ESP-12E Module) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -Noduino -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``quantum`` - - `Noduino Quantum `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 288 Kb - -Nordic -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``nrf51_dk`` - - `Nordic nRF51-DK `_ - - NRF51822 - - 32 MHz - - 256 Kb - - 32 Kb - - * - ``nrf51_dongle`` - - `Nordic nRF51-Dongle `_ - - NRF51822 - - 32 MHz - - 256 Kb - - 32 Kb - - * - ``nrf51_mkit`` - - `Nordic nRF51822-mKIT `_ - - NRF51822 - - 16 MHz - - 128 Kb - - 16 Kb - -Olimex -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``modwifi`` - - `Olimex MOD-WIFI-ESP8266(-DEV) `_ - - ESP8266 - - 80 MHz - - 2048 Kb - - 80 Kb - - * - ``pinguino32`` - - `Olimex PIC32-PINGUINO `_ - - 32MX440F256H - - 80 MHz - - 256 Kb - - 32 Kb - -OpenBCI -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``openbci`` - - `OpenBCI 32bit `_ - - 32MX250F128B - - 40 MHz - - 128 Kb - - 32 Kb - -OpenEnergyMonitor -~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``emonpi`` - - `OpenEnergyMonitor emonPi `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -Outrageous Circuits -~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``mbuino`` - - `Outrageous Circuits mBuino `_ - - LPC11U24 - - 48 MHz - - 32 Kb - - 8 Kb - -PONTECH -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``quick240_usb`` - - `PONTECH quicK240 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``usbono_pic32`` - - `PONTECH UAV100 `_ - - 32MX440F512H - - 80 MHz - - 512 Kb - - 32 Kb - -PanStamp -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``panStampAVR`` - - `PanStamp AVR `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``panStampNRG`` - - `PanStamp NRG 1.1 `_ - - CC430F5137 - - 12 MHz - - 32 Kb - - 4 Kb - -Pinoccio -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``pinoccio`` - - `Pinoccio Scout `_ - - ATMEGA256RFR2 - - 16 MHz - - 256 Kb - - 32 Kb - -Pololu Corporation -~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``a-star32U4`` - - `Pololu A-Star 32U4 `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - -Punch Through -~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lightblue-bean`` - - `LightBlue Bean `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``lightblue-beanplus`` - - `LightBlue Bean+ `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -Quirkbot -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``quirkbot`` - - `Quirkbot `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - -RFduino -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``rfduino`` - - `RFduino `_ - - NRF51822 - - 16 MHz - - 128 Kb - - 8 Kb - -Raspberry Pi -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``raspberrypi_1b`` - - `Raspberry Pi 1 Model B `_ - - BCM2835 - - 700 MHz - - 524288 Kb - - 524288 Kb - - * - ``raspberrypi_2b`` - - `Raspberry Pi 2 Model B `_ - - BCM2836 - - 900 MHz - - 1048576 Kb - - 1048576 Kb - - * - ``raspberrypi_zero`` - - `Raspberry Pi Zero `_ - - BCM2835 - - 1000 MHz - - 524288 Kb - - 524288 Kb - -RedBearLab -~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``blend`` - - `RedBearLab Blend `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``blendmicro16`` - - `RedBearLab Blend Micro 3.3V/16MHz (overclock) `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``blendmicro8`` - - `RedBearLab Blend Micro 3.3V/8MHz `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``redBearLab`` - - `RedBearLab nRF51822 `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - - * - ``redBearLabBLENano`` - - `RedBearLab BLE Nano `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 32 Kb - -RepRap -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``reprap_rambo`` - - `RepRap RAMBo `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - -SODAQ -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sodaq_autonomo`` - - `SODAQ Autonomo `_ - - SAMD21J18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``sodaq_explorer`` - - `SODAQ ExpLoRer `_ - - SAMD21J18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``sodaq_galora`` - - `SODAQ GaLoRa `_ - - ATMEGA1284P - - 8 MHz - - 128 Kb - - 16 Kb - - * - ``sodaq_mbili`` - - `SODAQ Mbili `_ - - ATMEGA1284P - - 8 MHz - - 128 Kb - - 16 Kb - - * - ``sodaq_moja`` - - `SODAQ Moja `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``sodaq_ndogo`` - - `SODAQ Ndogo `_ - - ATMEGA1284P - - 8 MHz - - 128 Kb - - 16 Kb - - * - ``sodaq_one`` - - `SODAQ ONE `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``sodaq_tatu`` - - `SODAQ Tatu `_ - - ATMEGA1284P - - 8 MHz - - 128 Kb - - 16 Kb - - * - ``sodaq_wdt`` - - `SODAQ WDT `_ - - SAMD21J18A - - 48 MHz - - 256 Kb - - 32 Kb - -ST -~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``disco_f051r8`` - - `ST STM32F0DISCOVERY `_ - - STM32F051R8T6 - - 48 MHz - - 64 Kb - - 8 Kb - - * - ``disco_f100rb`` - - `ST STM32VLDISCOVERY `_ - - STM32F100RBT6 - - 24 MHz - - 128 Kb - - 8 Kb - - * - ``disco_f303vc`` - - `ST STM32F3DISCOVERY `_ - - STM32F303VCT6 - - 72 MHz - - 256 Kb - - 48 Kb - - * - ``disco_f334c8`` - - `ST 32F3348DISCOVERY `_ - - STM32F334C8T6 - - 72 MHz - - 64 Kb - - 12 Kb - - * - ``disco_f401vc`` - - `ST 32F401CDISCOVERY `_ - - STM32F401VCT6 - - 84 MHz - - 256 Kb - - 64 Kb - - * - ``disco_f407vg`` - - `ST STM32F4DISCOVERY `_ - - STM32F407VGT6 - - 168 MHz - - 1024 Kb - - 128 Kb - - * - ``disco_f429zi`` - - `ST 32F429IDISCOVERY `_ - - STM32F429ZIT6 - - 180 MHz - - 2048 Kb - - 256 Kb - - * - ``disco_f469ni`` - - `ST 32F469IDISCOVERY `_ - - STM32F469NIH6 - - 180 MHz - - 1024 Kb - - 384 Kb - - * - ``disco_f746ng`` - - `ST 32F746GDISCOVERY `_ - - STM32F746NGH6 - - 216 MHz - - 1024 Kb - - 320 Kb - - * - ``disco_f769ni`` - - `ST 32F769IDISCOVERY `_ - - STM32F769NIH6 - - 80 MHz - - 1024 Kb - - 512 Kb - - * - ``disco_l053c8`` - - `ST 32L0538DISCOVERY `_ - - STM32L053C8T6 - - 32 MHz - - 64 Kb - - 8 Kb - - * - ``disco_l152rb`` - - `ST STM32LDISCOVERY `_ - - STM32L152RBT6 - - 32 MHz - - 128 Kb - - 16 Kb - - * - ``disco_l476vg`` - - `ST 32L476GDISCOVERY `_ - - STM32L476VGT6 - - 80 MHz - - 1024 Kb - - 128 Kb - - * - ``nucleo_f030r8`` - - `ST Nucleo F030R8 `_ - - STM32F030R8T6 - - 48 MHz - - 64 Kb - - 8 Kb - - * - ``nucleo_f031k6`` - - `ST Nucleo F031K6 `_ - - STM32F031K6T6 - - 48 MHz - - 32 Kb - - 4 Kb - - * - ``nucleo_f042k6`` - - `ST Nucleo F042K6 `_ - - STM32F042K6T6 - - 48 MHz - - 32 Kb - - 6 Kb - - * - ``nucleo_f070rb`` - - `ST Nucleo F070RB `_ - - STM32F070RBT6 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``nucleo_f072rb`` - - `ST Nucleo F072RB `_ - - STM32F072RBT6 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``nucleo_f091rc`` - - `ST Nucleo F091RC `_ - - STM32F091RCT6 - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``nucleo_f103rb`` - - `ST Nucleo F103RB `_ - - STM32F103RBT6 - - 72 MHz - - 128 Kb - - 20 Kb - - * - ``nucleo_f207zg`` - - `ST Nucleo F207ZG `_ - - STM32F207ZGT6 - - 120 MHz - - 1024 Kb - - 128 Kb - - * - ``nucleo_f302r8`` - - `ST Nucleo F302R8 `_ - - STM32F302R8T6 - - 72 MHz - - 64 Kb - - 16 Kb - - * - ``nucleo_f303k8`` - - `ST Nucleo F303K8 `_ - - STM32F303K8T6 - - 72 MHz - - 64 Kb - - 16 Kb - - * - ``nucleo_f303re`` - - `ST Nucleo F303RE `_ - - STM32F303RET6 - - 72 MHz - - 512 Kb - - 64 Kb - - * - ``nucleo_f334r8`` - - `ST Nucleo F334R8 `_ - - STM32F334R8T6 - - 72 MHz - - 64 Kb - - 16 Kb - - * - ``nucleo_f401re`` - - `ST Nucleo F401RE `_ - - STM32F401RET6 - - 84 MHz - - 512 Kb - - 96 Kb - - * - ``nucleo_f410rb`` - - `ST Nucleo F410RB `_ - - STM32F410RBT6 - - 100 MHz - - 128 Kb - - 32 Kb - - * - ``nucleo_f411re`` - - `ST Nucleo F411RE `_ - - STM32F411RET6 - - 100 MHz - - 512 Kb - - 128 Kb - - * - ``nucleo_f429zi`` - - `ST Nucleo F429ZI `_ - - STM32F429ZIT6 - - 180 MHz - - 2048 Kb - - 256 Kb - - * - ``nucleo_f446re`` - - `ST Nucleo F446RE `_ - - STM32F446RET6 - - 180 MHz - - 512 Kb - - 128 Kb - - * - ``nucleo_f446ze`` - - `ST Nucleo F446ZE `_ - - STM32F446ZET6 - - 180 MHz - - 512 Kb - - 128 Kb - - * - ``nucleo_f746zg`` - - `ST Nucleo F746ZG `_ - - STM32F746ZGT6 - - 216 MHz - - 1024 Kb - - 320 Kb - - * - ``nucleo_f767zi`` - - `ST Nucleo F767ZI `_ - - STM32F746ZGT6 - - 216 MHz - - 2048 Kb - - 512 Kb - - * - ``nucleo_l011k4`` - - `ST Nucleo L011K4 `_ - - STM32L011K4T6 - - 32 MHz - - 16 Kb - - 2 Kb - - * - ``nucleo_l031k6`` - - `ST Nucleo L031K6 `_ - - STM32L031K6T6 - - 32 MHz - - 32 Kb - - 8 Kb - - * - ``nucleo_l053r8`` - - `ST Nucleo L053R8 `_ - - STM32L053R8T6 - - 48 MHz - - 64 Kb - - 8 Kb - - * - ``nucleo_l073rz`` - - `ST Nucleo L073RZ `_ - - STM32L073RZ - - 32 MHz - - 192 Kb - - 20 Kb - - * - ``nucleo_l152re`` - - `ST Nucleo L152RE `_ - - STM32L152RET6 - - 32 MHz - - 512 Kb - - 80 Kb - - * - ``nucleo_l432kc`` - - `ST Nucleo L432KC `_ - - STM32L432KCU6 - - 80 MHz - - 256 Kb - - 64 Kb - - * - ``nucleo_l476rg`` - - `ST Nucleo L476RG `_ - - STM32L476RGT6 - - 80 MHz - - 1024 Kb - - 128 Kb - -SainSmart -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sainSmartDue`` - - `SainSmart Due (Programming Port) `_ - - AT91SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - - * - ``sainSmartDueUSB`` - - `SainSmart Due (USB Native Port) `_ - - AT91SAM3X8E - - 84 MHz - - 512 Kb - - 32 Kb - -Sanguino -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sanguino_atmega1284_8m`` - - `Sanguino ATmega1284p (8MHz) `_ - - ATMEGA1284P - - 8 MHz - - 128 Kb - - 16 Kb - - * - ``sanguino_atmega1284p`` - - `Sanguino ATmega1284p (16MHz) `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``sanguino_atmega644`` - - `Sanguino ATmega644 or ATmega644A (16 MHz) `_ - - ATMEGA644 - - 16 MHz - - 64 Kb - - 4 Kb - - * - ``sanguino_atmega644_8m`` - - `Sanguino ATmega644 or ATmega644A (8 MHz) `_ - - ATMEGA644 - - 8 MHz - - 64 Kb - - 4 Kb - - * - ``sanguino_atmega644p`` - - `Sanguino ATmega644P or ATmega644PA (16 MHz) `_ - - ATMEGA644P - - 16 MHz - - 64 Kb - - 4 Kb - - * - ``sanguino_atmega644p_8m`` - - `Sanguino ATmega644P or ATmega644PA (8 MHz) `_ - - ATMEGA644P - - 8 MHz - - 64 Kb - - 4 Kb - -SeeedStudio -~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``cui32stem`` - - `SeeedStudio CUI32stem `_ - - 32MX795F512H - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``seeedArchBLE`` - - `Seeed Arch BLE `_ - - NRF51822 - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``seeedArchGPRS`` - - `Seeed Arch GPRS V2 `_ - - LPC11U37 - - 48 MHz - - 128 Kb - - 10 Kb - - * - ``seeedArchLink`` - - `Seeed Arch Link `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - - * - ``seeedArchMax`` - - `Seeed Arch Max `_ - - STM32F407VET6 - - 168 MHz - - 512 Kb - - 192 Kb - - * - ``seeedArchPro`` - - `Seeed Arch Pro `_ - - LPC1768 - - 96 MHz - - 512 Kb - - 64 Kb - - * - ``seeedTinyBLE`` - - `Seeed Tiny BLE `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - - * - ``xadow_m0`` - - `Seeed Xadow M0 `_ - - LPC11U35 - - 48 MHz - - 64 Kb - - 10 Kb - -Silicon Labs -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``efm32gg_stk3700`` - - `Silicon Labs EFM32GG-STK3700 (Giant Gecko) `_ - - EFM32GG990F1024 - - 48 MHz - - 1024 Kb - - 128 Kb - - * - ``efm32hg_stk3400`` - - `Silicon Labs SLSTK3400A USB-enabled (Happy Gecko) `_ - - EFM32HG322F64 - - 24 MHz - - 64 Kb - - 8 Kb - - * - ``efm32lg_stk3600`` - - `Silicon Labs EFM32LG-STK3600 (Leopard Gecko) `_ - - EFM32LG990F256 - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``efm32pg_stk3401`` - - `Silicon Labs SLSTK3401A (Pearl Gecko) `_ - - EFM32PG1B200F256 - - 40 MHz - - 256 Kb - - 32 Kb - - * - ``efm32wg_stk3800`` - - `Silicon Labs EFM32WG-STK3800 (Wonder Gecko) `_ - - EFM32WG990F256 - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``efm32zg_stk3200`` - - `Silicon Labs EFM32ZG-STK3200 (Zero Gecko) `_ - - EFM2ZG222F32 - - 24 MHz - - 32 Kb - - 4 Kb - -Smeshlink -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``xbed_lpc1768`` - - `Smeshlink xbed LPC1768 `_ - - LPC1768 - - 96 MHz - - 512 Kb - - 32 Kb - -Solder Splash Labs -~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``dipcortexm0`` - - `Solder Splash Labs DipCortex M0 `_ - - LPC11U24 - - 50 MHz - - 32 Kb - - 8 Kb - - * - ``lpc1347`` - - `DipCortex M3 `_ - - LPC1347 - - 72 MHz - - 64 Kb - - 12 Kb - -SparkFun -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sparkfunBlynk`` - - `SparkFun Blynk Board `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``sparkfun_digitalsandbox`` - - `SparkFun Digital Sandbox `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``sparkfun_fiov3`` - - `SparkFun Fio V3 3.3V/8MHz `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``sparkfun_makeymakey`` - - `SparkFun Makey Makey `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``sparkfun_megamini`` - - `SparkFun Mega Pro Mini 3.3V `_ - - ATMEGA2560 - - 8 MHz - - 256 Kb - - 8 Kb - - * - ``sparkfun_megapro16MHz`` - - `SparkFun Mega Pro 5V/16MHz `_ - - ATMEGA2560 - - 16 MHz - - 256 Kb - - 8 Kb - - * - ``sparkfun_megapro8MHz`` - - `SparkFun Mega Pro 3.3V/8MHz `_ - - ATMEGA2560 - - 8 MHz - - 256 Kb - - 8 Kb - - * - ``sparkfun_promicro16`` - - `SparkFun Pro Micro 5V/16MHz `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``sparkfun_promicro8`` - - `SparkFun Pro Micro 3.3V/8MHz `_ - - ATMEGA32U4 - - 8 MHz - - 32 Kb - - 2.5 Kb - - * - ``sparkfun_redboard`` - - `SparkFun RedBoard `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - - * - ``sparkfun_samd21_dev_usb`` - - `SparkFun SAMD21 Dev Breakout `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``sparkfun_samd21_mini_usb`` - - `SparkFun SAMD21 Mini Breakout `_ - - SAMD21G18A - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``thing`` - - `SparkFun ESP8266 Thing `_ - - ESP8266 - - 80 MHz - - 512 Kb - - 80 Kb - - * - ``thingdev`` - - `SparkFun ESP8266 Thing Dev `_ - - ESP8266 - - 80 MHz - - 512 Kb - - 80 Kb - - * - ``uview`` - - `SparkFun MicroView `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -SparkFun Electronics -~~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``esp32thing`` - - `SparkFun ESP32 Thing `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 112 Kb - -SweetPea -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``esp210`` - - `SweetPea ESP-210 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -Switch Science -~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``hrm1017`` - - `Switch Science mbed HRM1017 `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - - * - ``lpc1114fn28`` - - `Switch Science mbed LPC1114FN28 `_ - - LPC1114FN28 - - 48 MHz - - 32 Kb - - 4 Kb - - * - ``ssci824`` - - `Switch Science mbed LPC824 `_ - - LPC824 - - 30 MHz - - 32 Kb - - 8 Kb - - * - ``ty51822r3`` - - `Switch Science mbed TY51822r3 `_ - - NRF51822 - - 32 MHz - - 256 Kb - - 32 Kb - -TI -~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lplm4f120h5qr`` - - `TI LaunchPad (Stellaris) w/ lm4f120 (80MHz) `_ - - LPLM4F120H5QR - - 80 MHz - - 256 Kb - - 32 Kb - - * - ``lpmsp430f5529`` - - `TI LaunchPad MSP-EXP430F5529LP `_ - - MSP430F5529 - - 16 MHz - - 128 Kb - - 8 Kb - - * - ``lpmsp430fr4133`` - - `TI LaunchPad MSP-EXP430FR4133LP `_ - - MSP430FR4133 - - 8 MHz - - 16 Kb - - 2 Kb - - * - ``lpmsp430fr5739`` - - `TI FraunchPad MSP-EXP430FR5739LP `_ - - MSP430FR5739 - - 16 MHz - - 16 Kb - - 0.5 Kb - - * - ``lpmsp430fr5969`` - - `TI LaunchPad MSP-EXP430FR5969LP `_ - - MSP430FR5969 - - 8 MHz - - 64 Kb - - 2 Kb - - * - ``lpmsp430fr6989`` - - `TI LaunchPad MSP-EXP430FR6989LP `_ - - MSP430FR6989 - - 8 MHz - - 128 Kb - - 2 Kb - - * - ``lpmsp430g2553`` - - `TI LaunchPad MSP-EXP430G2553LP `_ - - MSP430G2553 - - 16 MHz - - 16 Kb - - 0.5 Kb - - * - ``lptm4c1230c3pm`` - - `TI LaunchPad (Tiva C) w/ tm4c123 (80MHz) `_ - - LPTM4C1230C3PM - - 80 MHz - - 256 Kb - - 32 Kb - - * - ``lptm4c1294ncpdt`` - - `TI LaunchPad (Tiva C) w/ tm4c129 (120MHz) `_ - - LPTM4C1294NCPDT - - 120 MHz - - 1024 Kb - - 256 Kb - -Teensy -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``teensy20`` - - `Teensy 2.0 `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``teensy20pp`` - - `Teensy++ 2.0 `_ - - AT90USB1286 - - 16 MHz - - 128 Kb - - 8 Kb - - * - ``teensy30`` - - `Teensy 3.0 `_ - - MK20DX128 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``teensy31`` - - `Teensy 3.1 / 3.2 `_ - - MK20DX256 - - 72 MHz - - 256 Kb - - 64 Kb - - * - ``teensy35`` - - `Teensy 3.5 `_ - - MK64FX512 - - 120 MHz - - 512 Kb - - 192 Kb - - * - ``teensy36`` - - `Teensy 3.6 `_ - - MK66FX1M0 - - 180 MHz - - 1024 Kb - - 256 Kb - - * - ``teensylc`` - - `Teensy LC `_ - - MKL26Z64 - - 48 MHz - - 64 Kb - - 8 Kb - -ThaiEasyElec -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espinotee`` - - `ThaiEasyElec ESPino `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -TinyCircuits -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``tinyduino`` - - `TinyCircuits TinyDuino Processor Board `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - - * - ``tinylily`` - - `TinyCircuits TinyLily Mini Processor `_ - - ATMEGA328P - - 8 MHz - - 32 Kb - - 2 Kb - -UBW32 -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``ubw32_mx460`` - - `UBW32 MX460 `_ - - 32MX460F512L - - 80 MHz - - 512 Kb - - 32 Kb - - * - ``ubw32_mx795`` - - `UBW32 MX795 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - -WEMOS -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lolin32`` - - `WEMOS LoLin32 `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 288 Kb - -WeMos -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``d1`` - - `WeMos D1(Retired) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``d1_mini`` - - `WeMos D1 R2 & mini `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -Wicked Device -~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``wildfirev2`` - - `Wicked Device WildFire V2 `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``wildfirev3`` - - `Wicked Device WildFire V3 `_ - - ATMEGA1284P - - 16 MHz - - 128 Kb - - 16 Kb - -chipKIT -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lenny`` - - `chipKIT Lenny `_ - - 32MX270F256D - - 40 MHz - - 128 Kb - - 32 Kb - -element14 -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``chipkit_pi`` - - `Element14 chipKIT Pi `_ - - 32MX250F128B - - 40 MHz - - 128 Kb - - 32 Kb - -makerlab.mx -~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``altair`` - - `Altair `_ - - ATMEGA256RFR2 - - 16 MHz - - 256 Kb - - 32 Kb - -u-blox -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``ubloxc027`` - - `u-blox C027 `_ - - LPC1768 - - 96 MHz - - 512 Kb - - 64 Kb - -ubIQio -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``ardhat`` - - `ubIQio Ardhat `_ - - ATMEGA328P - - 16 MHz - - 32 Kb - - 2 Kb - -y5 design -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``nrf51822_y5_mbug`` - - `y5 nRF51822 mbug `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb diff --git a/docs/platforms/espressif32.rst b/docs/platforms/espressif32.rst deleted file mode 100644 index fe0aa7af..00000000 --- a/docs/platforms/espressif32.rst +++ /dev/null @@ -1,221 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _platform_espressif32: - -Platform ``espressif32`` -======================== -Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-arduinoespressif32`` - - `Arduino Wiring-based Framework (ESP32 Core) `_ - - * - ``framework-espidf`` - - `Espressif IoT Development Framework `_ - - * - ``tool-esptoolpy`` - - `Espressif ROM Bootloader utility `_ - - * - ``toolchain-xtensa32`` - - `xtensa32-gcc `_, `GDB `_ - -.. warning:: - **Linux Users**: - - * Ubuntu/Debian users may need to add own "username" to the "dialout" - group if they are not "root", doing this issuing a - ``sudo usermod -a -G dialout yourusername``. - * Install "udev" rules file `99-platformio-udev.rules `_ - (an instruction is located in the file). - * Raspberry Pi users, please read this article - `Enable serial port on Raspberry Pi `__. - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_arduino` - - Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences. - - * - :ref:`framework_espidf` - - Espressif IoT Development Framework. Official development framework for ESP32. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -April Brother -~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espea32`` - - `April Brother ESPea32 `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 288 Kb - -Electronic SweetPeas -~~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``esp320`` - - `Electronic SweetPeas ESP320 `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 288 Kb - -Espressif -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``esp32dev`` - - `Espressif ESP32 Dev Module `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 112 Kb - -MakerAsia -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``nano32`` - - `MakerAsia Nano32 `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 288 Kb - -Noduino -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``quantum`` - - `Noduino Quantum `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 288 Kb - -SparkFun Electronics -~~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``esp32thing`` - - `SparkFun ESP32 Thing `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 112 Kb - -WEMOS -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lolin32`` - - `WEMOS LoLin32 `_ - - ESP32 - - 160 MHz - - 1024 Kb - - 288 Kb diff --git a/docs/platforms/espressif8266.rst b/docs/platforms/espressif8266.rst deleted file mode 100644 index 34c7d5ff..00000000 --- a/docs/platforms/espressif8266.rst +++ /dev/null @@ -1,423 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _platform_espressif8266: - -Platform ``espressif8266`` -========================== -Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-arduinoespressif8266`` - - `Arduino Wiring-based Framework (ESP8266 Core) `_ - - * - ``framework-simba`` - - `Simba Framework `_ - - * - ``sdk-esp8266`` - - `ESP8266 SDK `_ - - * - ``tool-espotapy`` - - `ESP8266 OTA utility `_ - - * - ``tool-esptool`` - - `esptool-ck `_ - - * - ``tool-mkspiffs`` - - `Tool to build and unpack SPIFFS images `_ - - * - ``toolchain-xtensa`` - - `xtensa-gcc `_, `GDB `_ - -.. warning:: - **Linux Users**: - - * Ubuntu/Debian users may need to add own "username" to the "dialout" - group if they are not "root", doing this issuing a - ``sudo usermod -a -G dialout yourusername``. - * Install "udev" rules file `99-platformio-udev.rules `_ - (an instruction is located in the file). - * Raspberry Pi users, please read this article - `Enable serial port on Raspberry Pi `__. - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_arduino` - - Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences. - - * - :ref:`framework_simba` - - Simba is an RTOS and build framework. It aims to make embedded programming easy and portable. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -Adafruit -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``huzzah`` - - `Adafruit HUZZAH ESP8266 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -Doit -~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espduino`` - - `ESPDuino (ESP-13 Module) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -DycodeX -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espectro`` - - `ESPrectro Core `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -ESPert -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espresso_lite_v1`` - - `ESPresso Lite 1.0 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``espresso_lite_v2`` - - `ESPresso Lite 2.0 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -ESPino -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espino`` - - `ESPino `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -Espressif -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``esp01`` - - `Espressif Generic ESP8266 ESP-01 512k `_ - - ESP8266 - - 80 MHz - - 512 Kb - - 80 Kb - - * - ``esp01_1m`` - - `Espressif Generic ESP8266 ESP-01 1M `_ - - ESP8266 - - 80 MHz - - 1024 Kb - - 80 Kb - - * - ``esp07`` - - `Espressif Generic ESP8266 ESP-07 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``esp12e`` - - `Espressif ESP8266 ESP-12E `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``esp8285`` - - `Generic ESP8285 Module `_ - - ESP8266 - - 80 MHz - - 448 Kb - - 80 Kb - - * - ``esp_wroom_02`` - - `ESP-WROOM-02 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``phoenix_v1`` - - `Phoenix 1.0 `_ - - ESP8266 - - 80 MHz - - 1024 Kb - - 80 Kb - - * - ``phoenix_v2`` - - `Phoenix 2.0 `_ - - ESP8266 - - 80 MHz - - 1024 Kb - - 80 Kb - - * - ``wifinfo`` - - `WifInfo `_ - - ESP8266 - - 80 MHz - - 448 Kb - - 80 Kb - -NodeMCU -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``nodemcu`` - - `NodeMCU 0.9 (ESP-12 Module) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``nodemcuv2`` - - `NodeMCU 1.0 (ESP-12E Module) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -Olimex -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``modwifi`` - - `Olimex MOD-WIFI-ESP8266(-DEV) `_ - - ESP8266 - - 80 MHz - - 2048 Kb - - 80 Kb - -SparkFun -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``sparkfunBlynk`` - - `SparkFun Blynk Board `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``thing`` - - `SparkFun ESP8266 Thing `_ - - ESP8266 - - 80 MHz - - 512 Kb - - 80 Kb - - * - ``thingdev`` - - `SparkFun ESP8266 Thing Dev `_ - - ESP8266 - - 80 MHz - - 512 Kb - - 80 Kb - -SweetPea -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``esp210`` - - `SweetPea ESP-210 `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -ThaiEasyElec -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``espinotee`` - - `ThaiEasyElec ESPino `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -WeMos -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``d1`` - - `WeMos D1(Retired) `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - - * - ``d1_mini`` - - `WeMos D1 R2 & mini `_ - - ESP8266 - - 80 MHz - - 4096 Kb - - 80 Kb - -.. include:: espressif8266_extra.rst diff --git a/docs/platforms/espressif8266_extra.rst b/docs/platforms/espressif8266_extra.rst deleted file mode 100644 index 0b1c1000..00000000 --- a/docs/platforms/espressif8266_extra.rst +++ /dev/null @@ -1,291 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -Custom CPU Frequency --------------------- - -See :ref:`projectconf_board_f_cpu` option from :ref:`projectconf` - -.. code-block:: ini - - [env:myenv] - ; set frequency to 160MHz - board_f_cpu = 160000000L - -Custom FLASH Frequency ----------------------- - -See :ref:`projectconf_board_f_flash` option from :ref:`projectconf`. Possible -values: - -* ``20000000L`` -* ``26000000L`` -* ``40000000L`` -* ``80000000L`` - -.. code-block:: ini - - [env:myenv] - ; set frequency to 80MHz - board_f_flash = 80000000L - -Custom FLASH Mode ------------------ - -Flash chip interface mode. This parameter is stored in the binary image -header, along with the flash size and flash frequency. The ROM bootloader -in the ESP chip uses the value of these parameters in order to know how to -talk to the flash chip. - -See :ref:`projectconf_board_flash_mode` option from :ref:`projectconf`. Possible -values: - -* ``qio`` -* ``qout`` -* ``dio`` -* ``dout`` - -.. code-block:: ini - - [env:myenv] - board_flash_mode = qio - -Custom Reset Method -------------------- - -You can set custom reset method using :ref:`projectconf_upload_resetmethod` -option from :ref:`projectconf`. - -The `possible values `_ are: - -* ``ck`` - RTS controls RESET or CH_PD, DTR controls GPIO0 -* ``wifio`` - TXD controls GPIO0 via PNP transistor and DTR controls RESET via a capacitor -* ``nodemcu`` - GPIO0 and RESET controlled using two NPN transistors as in NodeMCU devkit. - -See `default reset methods per board `_. - -.. code-block:: ini - - [env:myenv] - upload_resetmethod = ck - -.. _platform_espressif_customflash: - -Custom Flash Size ------------------ - -.. warning:: - Please make sure to read `ESP8266 Flash layout `_ - information first. - -The list with preconfigured LD scripts is located in public repository -`platformio-pkg-ldscripts `_. - -* ``esp8266.flash.512k0.ld`` 512K (no SPIFFS) -* ``esp8266.flash.512k64.ld`` 512K (64K SPIFFS) -* ``esp8266.flash.1m64.ld`` 1M (64K SPIFFS) -* ``esp8266.flash.1m128.ld`` 1M (128K SPIFFS) -* ``esp8266.flash.1m256.ld`` 1M (256K SPIFFS) -* ``esp8266.flash.1m512.ld`` 1M (512K SPIFFS) -* ``esp8266.flash.2m.ld`` 2M (1M SPIFFS) -* ``esp8266.flash.4m1m.ld`` 4M (1M SPIFFS) -* ``esp8266.flash.4m.ld`` 4M (3M SPIFFS) - -To override default LD script please use :ref:`projectconf_build_flags` from -:ref:`projectconf`. - -.. code-block:: ini - - [env:myenv] - build_flags = -Wl,-Tesp8266.flash.4m.ld - -Custom Upload Speed -------------------- - -You can set custom upload speed using :ref:`projectconf_upload_speed` option -from :ref:`projectconf` - -.. code-block:: ini - - [env:myenv] - upload_speed = 9600 - -.. _platform_espressif_uploadfs: - -Uploading files to file system SPIFFS -------------------------------------- - -.. warning:: - Please make sure to read `ESP8266 Flash layout `_ - information first. - -1. Initialize project :ref:`cmd_init` (if you have not initialized yet) -2. Create ``data`` folder (it should be on the same level as ``src`` folder) - and put files here. Also, you can specify own location for :ref:`projectconf_pio_data_dir` -3. Run ``buildfs`` or ``uploadfs`` target using :option:`platformio run --target` command. - -To upload SPIFFS image using OTA update please specify ``upload_port`` / -``--upload-port`` as IP address or mDNS host name (ending with the ``*.local``). -For the details please follow to :ref:`platform_espressif_ota`. - -By default, will be used default LD Script for the board where is specified -SPIFFS offsets (start, end, page, block). You can override it using -:ref:`platform_espressif_customflash`. - -Active discussion is located in `issue #382 `_. - -.. _platform_espressif_ota: - -Over-the-Air (OTA) update -------------------------- - -Firstly, please read `What is OTA? How to use it? `_ - -There are 2 options: - -* Directly specify :option:`platformio run --upload-port` in command line - -.. code-block:: bash - - platformio run --target upload --upload-port IP_ADDRESS_HERE or mDNS_NAME.local - -* Specify ``upload_port`` option in :ref:`projectconf` - -.. code-block:: ini - - [env:myenv] - upload_port = IP_ADDRESS_HERE or mDNS_NAME.local - -For example, - -* ``platformio run -t upload --upload-port 192.168.0.255`` -* ``platformio run -t upload --upload-port myesp8266.local`` - -Authentication and upload options -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -You can pass additional options/flags to OTA uploader using -``upload_flags`` option in :ref:`projectconf` - -.. code-block:: ini - - [env:myenv] - upload_flags = --port=8266 - -Available flags - -* ``--port=ESP_PORT`` ESP8266 OTA Port. Default 8266 -* ``--auth=AUTH`` Set authentication password -* ``--spiffs`` Use this option to transmit a SPIFFS image and do not flash - the module - -For the full list with available options please run - -.. code-block:: bash - - ~/.platformio/packages/framework-arduinoespressif8266/tools/espota.py -h - - Usage: espota.py [options] - - Transmit image over the air to the esp8266 module with OTA support. - - Options: - -h, --help show this help message and exit - - Destination: - -i ESP_IP, --ip=ESP_IP - ESP8266 IP Address. - -p ESP_PORT, --port=ESP_PORT - ESP8266 ota Port. Default 8266 - - Authentication: - -a AUTH, --auth=AUTH - Set authentication password. - - Image: - -f FILE, --file=FILE - Image file. - -s, --spiffs Use this option to transmit a SPIFFS image and do not - flash the module. - - Output: - -d, --debug Show debug output. And override loglevel with debug. - -r, --progress Show progress output. Does not work for ArduinoIDE - -Demo -~~~~ - -.. image:: ../_static/platformio-demo-ota-esp8266.jpg - :target: https://www.youtube.com/watch?v=lXchL3hpDO4 - - -Using Arduino Framework with Staging version --------------------------------------------- - -1. Install Espressif 8266 (Stage) development platform - - .. code:: - - platformio platform install https://github.com/platformio/platform-espressif8266.git#feature/stage - -2. Set :ref:`projectconf_env_platform` to ``espressif8266_stage`` in - :ref:`projectconf`. For example, - - .. code-block:: ini - - [env:nodemcuv2] - platform = espressif8266_stage - board = nodemcuv2 - framework = arduino - -3. Try to build project -4. If you see build errors, then try to build this project using the same - ``stage`` on Arduino IDE -5. If it works with Arduino IDE but doesn't work with PlatformIO, then please - `open new issue `_ with - attached information: - - - test project/files - - detailed log of build process from Arduino IDE (please copy it from - console to http://pastebin.com) - - detailed log of build process from PlatformIO Build System ( - please copy it from console to http://pastebin.com) - -Articles --------- - -* Sep 12, 2016 - **Pedro Minatel** - `OTA – Como programar o ESP8266 pelo WiFi no platformIO (OTA programming for ESP8266 via Wi-Fi using PlatformIO, Portuguese) `_ -* Sep 2, 2016 - **Tinkerman** `Optimizing files for SPIFFS with Gulp `_ -* Jul 15, 2016 - **Jaime** - `ESP8266 Mobile Rick Roll Captive Portal `_ -* Jun 13, 2016 - **Daniel Eichhorn** - `New Weather Station Demo on Github `_ -* Jun 3, 2016 - **Daniel Eichhorn** - `ESP8266: Continuous Delivery Pipeline – Push To Production `_ -* May 29, 2016 - **Chris Synan** - `Reverse Engineer RF Remote Controller for IoT! `_ -* May 22, 2016 - **Pedro Minatel** - `Estação meteorológica com ESP8266 (Weather station with ESP8266, Portuguese) `_ -* May 16, 2016 - **Pedro Minatel** - `Controle remoto WiFi com ESP8266 (WiFi remote control using ESP8266, Portuguese) `_ -* May 08, 2016 - **Radoslaw Bob** - `Touch controlled buzzer (Nodemcu ESP8266) `_ -* Mar 07, 2016 - **Joran Jessurun** - `Nieuwe wereld met PlatformIO (New world with PlatformIO, Dutch) `_ -* Feb 25, 2016 - **NutDIY** - `PlatformIO Blink On Nodemcu Dev Kit V1.0 (ESP 12-E) `_ -* Feb 23, 2016 - **Ptarmigan Labs** - `ESP8266 Over The Air updating – what are the options? `_ -* Jan 16, 2016 - **Dani Eichhorn** - `ESP8266 Arduino IDE Alternative: PlatformIO `_ -* Dec 22, 2015 - **Jan Penninkhof** - `Over-the-Air ESP8266 programming using PlatformIO `_ -* Dec 01, 2015 - **Tateno Yuichi** - `ESP8266 を CUI で開発する (Develop a ESP8266 in CUI, Japanese) `_ - -See more :ref:`articles`. - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for Espressif platform `_. - -* `Native SDK `_ -* `WebServer `_ -* `WiFiScan `_ diff --git a/docs/platforms/freescalekinetis.rst b/docs/platforms/freescalekinetis.rst deleted file mode 100644 index 80a6b694..00000000 --- a/docs/platforms/freescalekinetis.rst +++ /dev/null @@ -1,175 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _platform_freescalekinetis: - -Platform ``freescalekinetis`` -============================= -Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-mbed`` - - `mbed Framework `_ - - * - ``toolchain-gccarmnoneeabi`` - - `gcc-arm-embedded `_, `GDB `_ - -.. warning:: - **Linux Users**: - - * Ubuntu/Debian users may need to add own "username" to the "dialout" - group if they are not "root", doing this issuing a - ``sudo usermod -a -G dialout yourusername``. - * Install "udev" rules file `99-platformio-udev.rules `_ - (an instruction is located in the file). - * Raspberry Pi users, please read this article - `Enable serial port on Raspberry Pi `__. - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_mbed` - - The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -Freescale -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``IBMEthernetKit`` - - `Ethernet IoT Starter Kit `_ - - MK64FN1M0VLL12 - - 120 MHz - - 1024 Kb - - 256 Kb - - * - ``frdm_k20d50m`` - - `Freescale Kinetis FRDM-K20D50M `_ - - MK20DX128VLH5 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``frdm_k22f`` - - `Freescale Kinetis FRDM-K22F `_ - - MK22FN512VLH12 - - 120 MHz - - 512 Kb - - 128 Kb - - * - ``frdm_k64f`` - - `Freescale Kinetis FRDM-K64F `_ - - MK64FN1M0VLL12 - - 120 MHz - - 1024 Kb - - 256 Kb - - * - ``frdm_kl05z`` - - `Freescale Kinetis FRDM-KL05Z `_ - - MKL05Z32VFM4 - - 48 MHz - - 32 Kb - - 4 Kb - - * - ``frdm_kl25z`` - - `Freescale Kinetis FRDM-KL25Z `_ - - MKL25Z128VLK4 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``frdm_kl26z`` - - `Freescale Kinetis FRDM-KL26Z `_ - - MKL26Z128VLH4 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``frdm_kl27z`` - - `Freescale Kinetis FRDM-KL27Z `_ - - MKL27Z64VLH4 - - 48 MHz - - 64 Kb - - 16 Kb - - * - ``frdm_kl43z`` - - `Freescale Kinetis FRDM-KL43Z `_ - - MKL43Z256VLH4 - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``frdm_kl46z`` - - `Freescale Kinetis FRDM-KL46Z `_ - - MKL46Z256VLL4 - - 48 MHz - - 256 Kb - - 32 Kb - -MikroElektronika -~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``hexiwear`` - - `Hexiwear `_ - - MK64FN1M0VDC12 - - 120 MHz - - 1024 Kb - - 256 Kb diff --git a/docs/platforms/index.rst b/docs/platforms/index.rst deleted file mode 100644 index 904f923d..00000000 --- a/docs/platforms/index.rst +++ /dev/null @@ -1,57 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _platforms: - -Development Platforms -===================== - -*PlatformIO* has pre-built different development platforms for popular OS -(*Mac OS X, Linux (+ARM) and Windows*). Each of them include compiler, -debugger, uploader (for embedded) and many other useful tools. - -Also it has pre-configured settings for most popular **Embedded Platform -Boards**. You have no need to specify in :ref:`projectconf` type or frequency of -MCU, upload protocol or etc. Please use ``board`` option. - -Embedded --------- - -.. toctree:: - :maxdepth: 2 - - atmelavr - atmelsam - espressif32 - espressif8266 - freescalekinetis - intel_arc32 - lattice_ice40 - microchippic32 - nordicnrf51 - nxplpc - siliconlabsefm32 - ststm32 - teensy - timsp430 - titiva - -Desktop -------- - -.. toctree:: - :maxdepth: 2 - - native - linux_arm - linux_i686 - linux_x86_64 - windows_x86 diff --git a/docs/platforms/intel_arc32.rst b/docs/platforms/intel_arc32.rst deleted file mode 100644 index a240a0c6..00000000 --- a/docs/platforms/intel_arc32.rst +++ /dev/null @@ -1,95 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _platform_intel_arc32: - -Platform ``intel_arc32`` -======================== -ARC embedded processors are a family of 32-bit CPUs that are widely used in SoC devices for storage, home, mobile, automotive, and Internet of Things applications. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-arduinointel`` - - `Arduino Wiring-based Framework (Intel ARC Core) `_ - - * - ``tool-arduino101load`` - - `Genuino101 uploader `_ - - * - ``toolchain-intelarc32`` - - `GCC for Intel ARC `_ - -.. warning:: - **Linux Users**: - - * Ubuntu/Debian users may need to add own "username" to the "dialout" - group if they are not "root", doing this issuing a - ``sudo usermod -a -G dialout yourusername``. - * Install "udev" rules file `99-platformio-udev.rules `_ - (an instruction is located in the file). - * Raspberry Pi users, please read this article - `Enable serial port on Raspberry Pi `__. - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_arduino` - - Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -Intel -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``genuino101`` - - `Arduino/Genuino 101 `_ - - ARCV2EM - - 32 MHz - - 192 Kb - - 80 Kb diff --git a/docs/platforms/lattice_ice40.rst b/docs/platforms/lattice_ice40.rst deleted file mode 100644 index e5768654..00000000 --- a/docs/platforms/lattice_ice40.rst +++ /dev/null @@ -1,101 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _platform_lattice_ice40: - -Platform ``lattice_ice40`` -========================== -The iCE40 family of ultra-low power, non-volatile FPGAs has five devices with densities ranging from 384 to 7680 Look-Up Tables (LUTs). In addition to LUT-based,low-cost programmable logic, these devices feature Embedded Block RAM (EBR), Non-volatile Configuration Memory (NVCM) and Phase Locked Loops (PLLs). These features allow the devices to be used in low-cost, high-volume consumer and system applications. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``toolchain-icestorm`` - - `Tools for analyzing and creating bitstream files for FPGA IceStorm `_ - - * - ``toolchain-iverilog`` - - `Verilog simulation and synthesis tool `_ - -.. warning:: - **Linux Users**: - - * Ubuntu/Debian users may need to add own "username" to the "dialout" - group if they are not "root", doing this issuing a - ``sudo usermod -a -G dialout yourusername``. - * Install "udev" rules file `99-platformio-udev.rules `_ - (an instruction is located in the file). - * Raspberry Pi users, please read this article - `Enable serial port on Raspberry Pi `__. - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -FPGAwars -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``icezum`` - - `IceZUM Alhambra FPGA `_ - - ICE40-HX1K-TQ144 - - 12 MHz - - 32 Kb - - 32 Kb - -Lattice -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``icestick`` - - `Lattice iCEstick FPGA Evaluation Kit `_ - - ICE40-HX1K-TQ144 - - 12 MHz - - 32 Kb - - 32 Kb diff --git a/docs/platforms/linux_arm.rst b/docs/platforms/linux_arm.rst deleted file mode 100644 index 1c8fc265..00000000 --- a/docs/platforms/linux_arm.rst +++ /dev/null @@ -1,89 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _platform_linux_arm: - -Platform ``linux_arm`` -====================== -Linux ARM is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X, Linux ARM) you can build native application for Linux ARM platform. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-wiringpi`` - - `GPIO Interface library for the Raspberry Pi `_ - - * - ``toolchain-gccarmlinuxgnueabi`` - - `GCC for Linux ARM GNU EABI `_, `GDB `_ - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_wiringpi` - - WiringPi is a GPIO access library written in C for the BCM2835 used in the Raspberry Pi. It's designed to be familiar to people who have used the Arduino "wiring" system. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -Raspberry Pi -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``raspberrypi_1b`` - - `Raspberry Pi 1 Model B `_ - - BCM2835 - - 700 MHz - - 524288 Kb - - 524288 Kb - - * - ``raspberrypi_2b`` - - `Raspberry Pi 2 Model B `_ - - BCM2836 - - 900 MHz - - 1048576 Kb - - 1048576 Kb - - * - ``raspberrypi_zero`` - - `Raspberry Pi Zero `_ - - BCM2835 - - 1000 MHz - - 524288 Kb - - 524288 Kb diff --git a/docs/platforms/linux_i686.rst b/docs/platforms/linux_i686.rst deleted file mode 100644 index fb1f3dd7..00000000 --- a/docs/platforms/linux_i686.rst +++ /dev/null @@ -1,32 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _platform_linux_i686: - -Platform ``linux_i686`` -======================= -Linux i686 (32-bit) is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X or Linux 32-bit) you can build native application for Linux i686 platform. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``toolchain-gcclinux32`` - - `GCC for Linux i686 `_ \ No newline at end of file diff --git a/docs/platforms/linux_x86_64.rst b/docs/platforms/linux_x86_64.rst deleted file mode 100644 index 425f0e41..00000000 --- a/docs/platforms/linux_x86_64.rst +++ /dev/null @@ -1,32 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _platform_linux_x86_64: - -Platform ``linux_x86_64`` -========================= -Linux x86_64 (64-bit) is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X or Linux 64-bit) you can build native application for Linux x86_64 platform. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``toolchain-gcclinux64`` - - `GCC for Linux x86_64 `_ \ No newline at end of file diff --git a/docs/platforms/microchippic32.rst b/docs/platforms/microchippic32.rst deleted file mode 100644 index 58fcfb39..00000000 --- a/docs/platforms/microchippic32.rst +++ /dev/null @@ -1,400 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _platform_microchippic32: - -Platform ``microchippic32`` -=========================== -Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs! - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-arduinomicrochippic32`` - - `Arduino Wiring-based Framework (PIC32 Core) `_ - - * - ``tool-pic32prog`` - - `pic32prog `_ - - * - ``toolchain-microchippic32`` - - `GCC for Microchip PIC32 `_ - -.. warning:: - **Linux Users**: - - * Ubuntu/Debian users may need to add own "username" to the "dialout" - group if they are not "root", doing this issuing a - ``sudo usermod -a -G dialout yourusername``. - * Install "udev" rules file `99-platformio-udev.rules `_ - (an instruction is located in the file). - * Raspberry Pi users, please read this article - `Enable serial port on Raspberry Pi `__. - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_arduino` - - Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -4DSystems -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``picadillo_35t`` - - `4DSystems PICadillo 35T `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - -Digilent -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``cerebot32mx4`` - - `Digilent Cerebot 32MX4 `_ - - 32MX460F512L - - 80 MHz - - 512 Kb - - 32 Kb - - * - ``cerebot32mx7`` - - `Digilent Cerebot 32MX7 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``chipkit_cmod`` - - `Digilent chipKIT Cmod `_ - - 32MX150F128D - - 40 MHz - - 128 Kb - - 32 Kb - - * - ``chipkit_dp32`` - - `Digilent chipKIT DP32 `_ - - 32MX250F128B - - 40 MHz - - 128 Kb - - 32 Kb - - * - ``chipkit_mx3`` - - `Digilent chipKIT MX3 `_ - - 32MX320F128H - - 80 MHz - - 128 Kb - - 16 Kb - - * - ``chipkit_pro_mx4`` - - `Digilent chipKIT Pro MX4 `_ - - 32MX460F512L - - 80 MHz - - 512 Kb - - 32 Kb - - * - ``chipkit_pro_mx7`` - - `Digilent chipKIT Pro MX7 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``chipkit_uc32`` - - `Digilent chipKIT uC32 `_ - - 32MX340F512H - - 80 MHz - - 512 Kb - - 32 Kb - - * - ``chipkit_wf32`` - - `Digilent chipKIT WF32 `_ - - 32MX695F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``chipkit_wifire`` - - `Digilent chipKIT WiFire `_ - - 32MZ2048ECG100 - - 200 MHz - - 2048 Kb - - 512 Kb - - * - ``mega_pic32`` - - `Digilent chipKIT MAX32 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``openscope`` - - `Digilent OpenScope `_ - - 32MZ2048EFG124 - - 200 MHz - - 2048 Kb - - 512 Kb - - * - ``uno_pic32`` - - `Digilent chipKIT UNO32 `_ - - 32MX320F128H - - 80 MHz - - 128 Kb - - 16 Kb - -Fubarino -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``fubarino_mini`` - - `Fubarino Mini `_ - - 32MX250F128D - - 48 MHz - - 128 Kb - - 32 Kb - - * - ``fubarino_sd`` - - `Fubarino SD (1.5) `_ - - 32MX795F512H - - 80 MHz - - 512 Kb - - 128 Kb - -MikroElektronika -~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``clicker2`` - - `MikroElektronika Clicker 2 `_ - - 32MX460F512L - - 80 MHz - - 512 Kb - - 32 Kb - -Olimex -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``pinguino32`` - - `Olimex PIC32-PINGUINO `_ - - 32MX440F256H - - 80 MHz - - 256 Kb - - 32 Kb - -OpenBCI -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``openbci`` - - `OpenBCI 32bit `_ - - 32MX250F128B - - 40 MHz - - 128 Kb - - 32 Kb - -PONTECH -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``quick240_usb`` - - `PONTECH quicK240 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - - * - ``usbono_pic32`` - - `PONTECH UAV100 `_ - - 32MX440F512H - - 80 MHz - - 512 Kb - - 32 Kb - -SeeedStudio -~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``cui32stem`` - - `SeeedStudio CUI32stem `_ - - 32MX795F512H - - 80 MHz - - 512 Kb - - 128 Kb - -UBW32 -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``ubw32_mx460`` - - `UBW32 MX460 `_ - - 32MX460F512L - - 80 MHz - - 512 Kb - - 32 Kb - - * - ``ubw32_mx795`` - - `UBW32 MX795 `_ - - 32MX795F512L - - 80 MHz - - 512 Kb - - 128 Kb - -chipKIT -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lenny`` - - `chipKIT Lenny `_ - - 32MX270F256D - - 40 MHz - - 128 Kb - - 32 Kb - -element14 -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``chipkit_pi`` - - `Element14 chipKIT Pi `_ - - 32MX250F128B - - 40 MHz - - 128 Kb - - 32 Kb diff --git a/docs/platforms/native.rst b/docs/platforms/native.rst deleted file mode 100644 index a4174222..00000000 --- a/docs/platforms/native.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _platform_native: - -Platform ``native`` -=================== -Native development platform is intended to be used for desktop OS. This platform uses built-in toolchains (preferable based on GCC), frameworks, libs from particular OS where it will be run. - -For more detailed information please visit `vendor site `_. - -.. contents:: \ No newline at end of file diff --git a/docs/platforms/nordicnrf51.rst b/docs/platforms/nordicnrf51.rst deleted file mode 100644 index 2b6c7563..00000000 --- a/docs/platforms/nordicnrf51.rst +++ /dev/null @@ -1,315 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _platform_nordicnrf51: - -Platform ``nordicnrf51`` -======================== -The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-arduinonordicnrf51`` - - `Arduino Wiring-based Framework (RFduino Core) `_ - - * - ``framework-mbed`` - - `mbed Framework `_ - - * - ``tool-rfdloader`` - - `rfdloader `_ - - * - ``tool-sreccat`` - - `Merging tool `_ - - * - ``toolchain-gccarmnoneeabi`` - - `gcc-arm-embedded `_, `GDB `_ - -.. warning:: - **Linux Users**: - - * Ubuntu/Debian users may need to add own "username" to the "dialout" - group if they are not "root", doing this issuing a - ``sudo usermod -a -G dialout yourusername``. - * Install "udev" rules file `99-platformio-udev.rules `_ - (an instruction is located in the file). - * Raspberry Pi users, please read this article - `Enable serial port on Raspberry Pi `__. - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_arduino` - - Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences. - - * - :ref:`framework_mbed` - - The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -BBC -~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``bbcmicrobit`` - - `BBC micro:bit `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - - * - ``bbcmicrobit_b`` - - `BBC micro:bit B(S130) `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - -Delta -~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``dfcm_nnn40`` - - `Delta DFCM-NNN40 `_ - - NRF51822 - - 32 MHz - - 256 Kb - - 32 Kb - -JKSoft -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``wallbot_ble`` - - `JKSoft Wallbot BLE `_ - - NRF51822 - - 16 MHz - - 128 Kb - - 16 Kb - -Nordic -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``nrf51_dk`` - - `Nordic nRF51-DK `_ - - NRF51822 - - 32 MHz - - 256 Kb - - 32 Kb - - * - ``nrf51_dongle`` - - `Nordic nRF51-Dongle `_ - - NRF51822 - - 32 MHz - - 256 Kb - - 32 Kb - - * - ``nrf51_mkit`` - - `Nordic nRF51822-mKIT `_ - - NRF51822 - - 16 MHz - - 128 Kb - - 16 Kb - -RFduino -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``rfduino`` - - `RFduino `_ - - NRF51822 - - 16 MHz - - 128 Kb - - 8 Kb - -RedBearLab -~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``redBearLab`` - - `RedBearLab nRF51822 `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - - * - ``redBearLabBLENano`` - - `RedBearLab BLE Nano `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 32 Kb - -SeeedStudio -~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``seeedArchBLE`` - - `Seeed Arch BLE `_ - - NRF51822 - - 16 MHz - - 128 Kb - - 16 Kb - - * - ``seeedArchLink`` - - `Seeed Arch Link `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - - * - ``seeedTinyBLE`` - - `Seeed Tiny BLE `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - -Switch Science -~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``hrm1017`` - - `Switch Science mbed HRM1017 `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - - * - ``ty51822r3`` - - `Switch Science mbed TY51822r3 `_ - - NRF51822 - - 32 MHz - - 256 Kb - - 32 Kb - -y5 design -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``nrf51822_y5_mbug`` - - `y5 nRF51822 mbug `_ - - NRF51822 - - 16 MHz - - 256 Kb - - 16 Kb - -.. include:: nordicnrf51_extra.rst diff --git a/docs/platforms/nordicnrf51_extra.rst b/docs/platforms/nordicnrf51_extra.rst deleted file mode 100644 index 79140038..00000000 --- a/docs/platforms/nordicnrf51_extra.rst +++ /dev/null @@ -1,23 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -Articles --------- - -* Aug 28, 2016 - **Tom Parker** `Using the BBC micro:bit with PlatformIO `_ - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for Nordic nRF51 platform `_. - -* `RFduino iBeacon `_ diff --git a/docs/platforms/nxplpc.rst b/docs/platforms/nxplpc.rst deleted file mode 100644 index 227e4cc9..00000000 --- a/docs/platforms/nxplpc.rst +++ /dev/null @@ -1,458 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _platform_nxplpc: - -Platform ``nxplpc`` -=================== -The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-mbed`` - - `mbed Framework `_ - - * - ``toolchain-gccarmnoneeabi`` - - `gcc-arm-embedded `_, `GDB `_ - -.. warning:: - **Linux Users**: - - * Ubuntu/Debian users may need to add own "username" to the "dialout" - group if they are not "root", doing this issuing a - ``sudo usermod -a -G dialout yourusername``. - * Install "udev" rules file `99-platformio-udev.rules `_ - (an instruction is located in the file). - * Raspberry Pi users, please read this article - `Enable serial port on Raspberry Pi `__. - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_mbed` - - The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -CQ Publishing -~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc11u35_501`` - - `CQ Publishing TG-LPC11U35-501 `_ - - LPC11U35 - - 48 MHz - - 64 Kb - - 10 Kb - -Elektor Labs -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``elektor_cocorico`` - - `CoCo-ri-Co! `_ - - LPC812 - - 30 MHz - - 16 Kb - - 4 Kb - -Embedded Artists -~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc11u35`` - - `EA LPC11U35 QuickStart Board `_ - - LPC11U35 - - 48 MHz - - 64 Kb - - 10 Kb - - * - ``lpc4088`` - - `Embedded Artists LPC4088 QuickStart Board `_ - - LPC4088 - - 120 MHz - - 512 Kb - - 96 Kb - - * - ``lpc4088_dm`` - - `Embedded Artists LPC4088 Display Module `_ - - LPC4088 - - 120 MHz - - 512 Kb - - 96 Kb - -GHI Electronics -~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``oc_mbuino`` - - `mBuino `_ - - LPC11U24 - - 50 MHz - - 32 Kb - - 10 Kb - -Micromint -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc4330_m4`` - - `Bambino-210E `_ - - LPC4330 - - 204 MHz - - 8192 Kb - - 264 Kb - -NGX Technologies -~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``blueboard_lpc11u24`` - - `NGX Technologies BlueBoard-LPC11U24 `_ - - LPC11U24 - - 48 MHz - - 32 Kb - - 8 Kb - -NXP -~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc11c24`` - - `NXP LPC11C24 `_ - - LPC11C24 - - 48 MHz - - 32 Kb - - 8 Kb - - * - ``lpc11u24`` - - `NXP mbed LPC11U24 `_ - - LPC11U24 - - 48 MHz - - 32 Kb - - 8 Kb - - * - ``lpc11u24_301`` - - `ARM mbed LPC11U24 (+CAN) `_ - - LPC11U24 - - 48 MHz - - 32 Kb - - 8 Kb - - * - ``lpc11u34_421`` - - `NXP LPC11U34 `_ - - LPC11U34 - - 48 MHz - - 64 Kb - - 8 Kb - - * - ``lpc11u37_501`` - - `NXP LPC11U37 `_ - - LPC11U37 - - 48 MHz - - 128 Kb - - 10 Kb - - * - ``lpc11u68`` - - `LPCXpresso11U68 `_ - - LPC11U68 - - 50 MHz - - 256 Kb - - 36 Kb - - * - ``lpc1549`` - - `NXP LPCXpresso1549 `_ - - LPC1549 - - 72 MHz - - 256 Kb - - 36 Kb - - * - ``lpc1768`` - - `NXP mbed LPC1768 `_ - - LPC1768 - - 96 MHz - - 512 Kb - - 64 Kb - - * - ``lpc2368`` - - `NXP LPC2368 `_ - - LPC2368 - - 72 MHz - - 512 Kb - - 58 Kb - - * - ``lpc2460`` - - `NXP LPC2460 `_ - - LPC2460 - - 72 MHz - - 64 Kb - - 16 Kb - - * - ``lpc812`` - - `NXP LPC800-MAX `_ - - LPC812 - - 30 MHz - - 16 Kb - - 4 Kb - - * - ``lpc824`` - - `LPCXpresso824-MAX `_ - - LPC824 - - 30 MHz - - 32 Kb - - 8 Kb - - * - ``micronfcboard`` - - `MicroNFCBoard `_ - - LPC11U34 - - 48 MHz - - 64 Kb - - 10 Kb - -Outrageous Circuits -~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``mbuino`` - - `Outrageous Circuits mBuino `_ - - LPC11U24 - - 48 MHz - - 32 Kb - - 8 Kb - -SeeedStudio -~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``seeedArchGPRS`` - - `Seeed Arch GPRS V2 `_ - - LPC11U37 - - 48 MHz - - 128 Kb - - 10 Kb - - * - ``seeedArchPro`` - - `Seeed Arch Pro `_ - - LPC1768 - - 96 MHz - - 512 Kb - - 64 Kb - - * - ``xadow_m0`` - - `Seeed Xadow M0 `_ - - LPC11U35 - - 48 MHz - - 64 Kb - - 10 Kb - -Smeshlink -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``xbed_lpc1768`` - - `Smeshlink xbed LPC1768 `_ - - LPC1768 - - 96 MHz - - 512 Kb - - 32 Kb - -Solder Splash Labs -~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``dipcortexm0`` - - `Solder Splash Labs DipCortex M0 `_ - - LPC11U24 - - 50 MHz - - 32 Kb - - 8 Kb - - * - ``lpc1347`` - - `DipCortex M3 `_ - - LPC1347 - - 72 MHz - - 64 Kb - - 12 Kb - -Switch Science -~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpc1114fn28`` - - `Switch Science mbed LPC1114FN28 `_ - - LPC1114FN28 - - 48 MHz - - 32 Kb - - 4 Kb - - * - ``ssci824`` - - `Switch Science mbed LPC824 `_ - - LPC824 - - 30 MHz - - 32 Kb - - 8 Kb - -u-blox -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``ubloxc027`` - - `u-blox C027 `_ - - LPC1768 - - 96 MHz - - 512 Kb - - 64 Kb diff --git a/docs/platforms/siliconlabsefm32.rst b/docs/platforms/siliconlabsefm32.rst deleted file mode 100644 index 103220fb..00000000 --- a/docs/platforms/siliconlabsefm32.rst +++ /dev/null @@ -1,127 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _platform_siliconlabsefm32: - -Platform ``siliconlabsefm32`` -============================= -Silicon Labs EFM32 Gecko 32-bit microcontroller (MCU) family includes devices that offer flash memory configurations up to 256 kB, 32 kB of RAM and CPU speeds up to 48 MHz. Based on the powerful ARM Cortex-M core, the Gecko family features innovative low energy techniques, short wake-up time from energy saving modes and a wide selection of peripherals, making it ideal for battery operated applications and other systems requiring high performance and low-energy consumption. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-mbed`` - - `mbed Framework `_ - - * - ``toolchain-gccarmnoneeabi`` - - `gcc-arm-embedded `_, `GDB `_ - -.. warning:: - **Linux Users**: - - * Ubuntu/Debian users may need to add own "username" to the "dialout" - group if they are not "root", doing this issuing a - ``sudo usermod -a -G dialout yourusername``. - * Install "udev" rules file `99-platformio-udev.rules `_ - (an instruction is located in the file). - * Raspberry Pi users, please read this article - `Enable serial port on Raspberry Pi `__. - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_mbed` - - The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -Silicon Labs -~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``efm32gg_stk3700`` - - `Silicon Labs EFM32GG-STK3700 (Giant Gecko) `_ - - EFM32GG990F1024 - - 48 MHz - - 1024 Kb - - 128 Kb - - * - ``efm32hg_stk3400`` - - `Silicon Labs SLSTK3400A USB-enabled (Happy Gecko) `_ - - EFM32HG322F64 - - 24 MHz - - 64 Kb - - 8 Kb - - * - ``efm32lg_stk3600`` - - `Silicon Labs EFM32LG-STK3600 (Leopard Gecko) `_ - - EFM32LG990F256 - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``efm32pg_stk3401`` - - `Silicon Labs SLSTK3401A (Pearl Gecko) `_ - - EFM32PG1B200F256 - - 40 MHz - - 256 Kb - - 32 Kb - - * - ``efm32wg_stk3800`` - - `Silicon Labs EFM32WG-STK3800 (Wonder Gecko) `_ - - EFM32WG990F256 - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``efm32zg_stk3200`` - - `Silicon Labs EFM32ZG-STK3200 (Zero Gecko) `_ - - EFM2ZG222F32 - - 24 MHz - - 32 Kb - - 4 Kb diff --git a/docs/platforms/ststm32.rst b/docs/platforms/ststm32.rst deleted file mode 100644 index 18c822b1..00000000 --- a/docs/platforms/ststm32.rst +++ /dev/null @@ -1,594 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _platform_ststm32: - -Platform ``ststm32`` -==================== -The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-arduinoststm32`` - - `Arduino Wiring-based Framework (STM32 Core) `_ - - * - ``framework-cmsis`` - - `Vendor-independent hardware abstraction layer for the Cortex-M processor series `_ - - * - ``framework-libopencm3`` - - `libOpenCM3 Framework `_ - - * - ``framework-mbed`` - - `mbed Framework `_ - - * - ``framework-spl`` - - `Standard Peripheral Library for STM32 MCUs `_ - - * - ``tool-stlink`` - - `ST-Link `_ - - * - ``tool-stm32duino`` - - `STM32Duino Tools `_ - - * - ``toolchain-gccarmnoneeabi`` - - `gcc-arm-embedded `_, `GDB `_ - -.. warning:: - **Linux Users**: - - * Ubuntu/Debian users may need to add own "username" to the "dialout" - group if they are not "root", doing this issuing a - ``sudo usermod -a -G dialout yourusername``. - * Install "udev" rules file `99-platformio-udev.rules `_ - (an instruction is located in the file). - * Raspberry Pi users, please read this article - `Enable serial port on Raspberry Pi `__. - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_arduino` - - Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences. - - * - :ref:`framework_cmsis` - - The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices. - - * - :ref:`framework_libopencm3` - - The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others. - - * - :ref:`framework_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_spl` - - The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -96Boards -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``b96b_f446ve`` - - `96Boards B96B-F446VE `_ - - STM32F446VET6 - - 168 MHz - - 512 Kb - - 128 Kb - -Armstrap -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``armstrap_eagle1024`` - - `Armstrap Eagle 1024 `_ - - STM32F417VGT6 - - 168 MHz - - 1024 Kb - - 192 Kb - - * - ``armstrap_eagle2048`` - - `Armstrap Eagle 2048 `_ - - STM32F427VIT6 - - 168 MHz - - 2048 Kb - - 256 Kb - - * - ``armstrap_eagle512`` - - `Armstrap Eagle 512 `_ - - STM32F407VET6 - - 168 MHz - - 512 Kb - - 192 Kb - -Generic -~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``bluepill_f103c8`` - - `BluePill F103C8 `_ - - STM32F103C8T6 - - 72 MHz - - 64 Kb - - 20 Kb - - * - ``genericSTM32F103C8`` - - `STM32F103C8 (20k RAM. 64k Flash) `_ - - STM32F103C8 - - 72 MHz - - 64 Kb - - 20 Kb - - * - ``genericSTM32F103CB`` - - `STM32F103CB (20k RAM. 128k Flash) `_ - - STM32F103CB - - 72 MHz - - 128 Kb - - 20 Kb - - * - ``genericSTM32F103R8`` - - `STM32F103R8 (20k RAM. 64 Flash) `_ - - STM32F103R8 - - 72 MHz - - 64 Kb - - 20 Kb - - * - ``genericSTM32F103RB`` - - `STM32F103RB (20k RAM. 128k Flash) `_ - - STM32F103RB - - 72 MHz - - 128 Kb - - 20 Kb - - * - ``genericSTM32F103RC`` - - `STM32F103RC (48k RAM. 256k Flash) `_ - - STM32F103RC - - 72 MHz - - 256 Kb - - 48 Kb - - * - ``genericSTM32F103RE`` - - `STM32F103RE (64k RAM. 512k Flash) `_ - - STM32F103RE - - 72 MHz - - 512 Kb - - 64 Kb - -LeafLabs -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``maple`` - - `Maple `_ - - STM32F103RB - - 72 MHz - - 128 Kb - - 17 Kb - - * - ``maple_mini_b20`` - - `Maple Mini Bootloader 2.0 `_ - - STM32F103CB - - 72 MHz - - 128 Kb - - 20 Kb - - * - ``maple_mini_origin`` - - `Maple Mini Original `_ - - STM32F103CB - - 72 MHz - - 128 Kb - - 17 Kb - -MultiTech -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``mts_mdot_f405rg`` - - `MultiTech mDot `_ - - STM32F411RET6 - - 100 MHz - - 512 Kb - - 128 Kb - - * - ``mts_mdot_f411re`` - - `MultiTech mDot F411 `_ - - STM32F411RET6 - - 100 MHz - - 512 Kb - - 128 Kb - -ST -~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``disco_f051r8`` - - `ST STM32F0DISCOVERY `_ - - STM32F051R8T6 - - 48 MHz - - 64 Kb - - 8 Kb - - * - ``disco_f100rb`` - - `ST STM32VLDISCOVERY `_ - - STM32F100RBT6 - - 24 MHz - - 128 Kb - - 8 Kb - - * - ``disco_f303vc`` - - `ST STM32F3DISCOVERY `_ - - STM32F303VCT6 - - 72 MHz - - 256 Kb - - 48 Kb - - * - ``disco_f334c8`` - - `ST 32F3348DISCOVERY `_ - - STM32F334C8T6 - - 72 MHz - - 64 Kb - - 12 Kb - - * - ``disco_f401vc`` - - `ST 32F401CDISCOVERY `_ - - STM32F401VCT6 - - 84 MHz - - 256 Kb - - 64 Kb - - * - ``disco_f407vg`` - - `ST STM32F4DISCOVERY `_ - - STM32F407VGT6 - - 168 MHz - - 1024 Kb - - 128 Kb - - * - ``disco_f429zi`` - - `ST 32F429IDISCOVERY `_ - - STM32F429ZIT6 - - 180 MHz - - 2048 Kb - - 256 Kb - - * - ``disco_f469ni`` - - `ST 32F469IDISCOVERY `_ - - STM32F469NIH6 - - 180 MHz - - 1024 Kb - - 384 Kb - - * - ``disco_f746ng`` - - `ST 32F746GDISCOVERY `_ - - STM32F746NGH6 - - 216 MHz - - 1024 Kb - - 320 Kb - - * - ``disco_f769ni`` - - `ST 32F769IDISCOVERY `_ - - STM32F769NIH6 - - 80 MHz - - 1024 Kb - - 512 Kb - - * - ``disco_l053c8`` - - `ST 32L0538DISCOVERY `_ - - STM32L053C8T6 - - 32 MHz - - 64 Kb - - 8 Kb - - * - ``disco_l152rb`` - - `ST STM32LDISCOVERY `_ - - STM32L152RBT6 - - 32 MHz - - 128 Kb - - 16 Kb - - * - ``disco_l476vg`` - - `ST 32L476GDISCOVERY `_ - - STM32L476VGT6 - - 80 MHz - - 1024 Kb - - 128 Kb - - * - ``nucleo_f030r8`` - - `ST Nucleo F030R8 `_ - - STM32F030R8T6 - - 48 MHz - - 64 Kb - - 8 Kb - - * - ``nucleo_f031k6`` - - `ST Nucleo F031K6 `_ - - STM32F031K6T6 - - 48 MHz - - 32 Kb - - 4 Kb - - * - ``nucleo_f042k6`` - - `ST Nucleo F042K6 `_ - - STM32F042K6T6 - - 48 MHz - - 32 Kb - - 6 Kb - - * - ``nucleo_f070rb`` - - `ST Nucleo F070RB `_ - - STM32F070RBT6 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``nucleo_f072rb`` - - `ST Nucleo F072RB `_ - - STM32F072RBT6 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``nucleo_f091rc`` - - `ST Nucleo F091RC `_ - - STM32F091RCT6 - - 48 MHz - - 256 Kb - - 32 Kb - - * - ``nucleo_f103rb`` - - `ST Nucleo F103RB `_ - - STM32F103RBT6 - - 72 MHz - - 128 Kb - - 20 Kb - - * - ``nucleo_f207zg`` - - `ST Nucleo F207ZG `_ - - STM32F207ZGT6 - - 120 MHz - - 1024 Kb - - 128 Kb - - * - ``nucleo_f302r8`` - - `ST Nucleo F302R8 `_ - - STM32F302R8T6 - - 72 MHz - - 64 Kb - - 16 Kb - - * - ``nucleo_f303k8`` - - `ST Nucleo F303K8 `_ - - STM32F303K8T6 - - 72 MHz - - 64 Kb - - 16 Kb - - * - ``nucleo_f303re`` - - `ST Nucleo F303RE `_ - - STM32F303RET6 - - 72 MHz - - 512 Kb - - 64 Kb - - * - ``nucleo_f334r8`` - - `ST Nucleo F334R8 `_ - - STM32F334R8T6 - - 72 MHz - - 64 Kb - - 16 Kb - - * - ``nucleo_f401re`` - - `ST Nucleo F401RE `_ - - STM32F401RET6 - - 84 MHz - - 512 Kb - - 96 Kb - - * - ``nucleo_f410rb`` - - `ST Nucleo F410RB `_ - - STM32F410RBT6 - - 100 MHz - - 128 Kb - - 32 Kb - - * - ``nucleo_f411re`` - - `ST Nucleo F411RE `_ - - STM32F411RET6 - - 100 MHz - - 512 Kb - - 128 Kb - - * - ``nucleo_f429zi`` - - `ST Nucleo F429ZI `_ - - STM32F429ZIT6 - - 180 MHz - - 2048 Kb - - 256 Kb - - * - ``nucleo_f446re`` - - `ST Nucleo F446RE `_ - - STM32F446RET6 - - 180 MHz - - 512 Kb - - 128 Kb - - * - ``nucleo_f446ze`` - - `ST Nucleo F446ZE `_ - - STM32F446ZET6 - - 180 MHz - - 512 Kb - - 128 Kb - - * - ``nucleo_f746zg`` - - `ST Nucleo F746ZG `_ - - STM32F746ZGT6 - - 216 MHz - - 1024 Kb - - 320 Kb - - * - ``nucleo_f767zi`` - - `ST Nucleo F767ZI `_ - - STM32F746ZGT6 - - 216 MHz - - 2048 Kb - - 512 Kb - - * - ``nucleo_l011k4`` - - `ST Nucleo L011K4 `_ - - STM32L011K4T6 - - 32 MHz - - 16 Kb - - 2 Kb - - * - ``nucleo_l031k6`` - - `ST Nucleo L031K6 `_ - - STM32L031K6T6 - - 32 MHz - - 32 Kb - - 8 Kb - - * - ``nucleo_l053r8`` - - `ST Nucleo L053R8 `_ - - STM32L053R8T6 - - 48 MHz - - 64 Kb - - 8 Kb - - * - ``nucleo_l073rz`` - - `ST Nucleo L073RZ `_ - - STM32L073RZ - - 32 MHz - - 192 Kb - - 20 Kb - - * - ``nucleo_l152re`` - - `ST Nucleo L152RE `_ - - STM32L152RET6 - - 32 MHz - - 512 Kb - - 80 Kb - - * - ``nucleo_l432kc`` - - `ST Nucleo L432KC `_ - - STM32L432KCU6 - - 80 MHz - - 256 Kb - - 64 Kb - - * - ``nucleo_l476rg`` - - `ST Nucleo L476RG `_ - - STM32L476RGT6 - - 80 MHz - - 1024 Kb - - 128 Kb - -SeeedStudio -~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``seeedArchMax`` - - `Seeed Arch Max `_ - - STM32F407VET6 - - 168 MHz - - 512 Kb - - 192 Kb - -.. include:: ststm32_extra.rst diff --git a/docs/platforms/ststm32_extra.rst b/docs/platforms/ststm32_extra.rst deleted file mode 100644 index 077a5517..00000000 --- a/docs/platforms/ststm32_extra.rst +++ /dev/null @@ -1,29 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -Articles --------- - -* Nov 06, 2015 - **nocd5** - `PlatformIOでmbedをオフラインビルドしSTM32 Nucleoボードでmrubyを使う (Use mruby in the offline build for STM32 Nucleo board with mbed and PlatformIO, Japanese) `_ -* Oct 21, 2015 - **Vittorio Zaccaria** - `Using a cheap STM32 Nucleo to teach remote sensor monitoring `_ -* Aug 08, 2015 - **Josh Glendenning** - `Armstrap Eagle and PlatformIO `_ - -See more :ref:`articles`. - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for ST STM32 platform `_. - -* `CMSIS Blink `_ -* `libOpenCM3 Blink `_ -* `SPL Blink `_ diff --git a/docs/platforms/teensy.rst b/docs/platforms/teensy.rst deleted file mode 100644 index 3bc33388..00000000 --- a/docs/platforms/teensy.rst +++ /dev/null @@ -1,151 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _platform_teensy: - -Platform ``teensy`` -=================== -Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-arduinoteensy`` - - `Arduino Wiring-based Framework `_ - - * - ``framework-mbed`` - - `mbed Framework `_ - - * - ``tool-teensy`` - - `Teensy Loader `_ - - * - ``toolchain-atmelavr`` - - `avr-gcc `_, `GDB `_ - - * - ``toolchain-gccarmnoneeabi`` - - `gcc-arm-embedded `_, `GDB `_ - -.. warning:: - **Linux Users**: - - * Ubuntu/Debian users may need to add own "username" to the "dialout" - group if they are not "root", doing this issuing a - ``sudo usermod -a -G dialout yourusername``. - * Install "udev" rules file `99-platformio-udev.rules `_ - (an instruction is located in the file). - * Raspberry Pi users, please read this article - `Enable serial port on Raspberry Pi `__. - - - **Windows Users:** Teensy programming uses only Windows built-in HID - drivers. When Teensy is programmed to act as a USB Serial device, - Windows XP, Vista, 7 and 8 require `this serial driver - `_ - is needed to access the COM port your program uses. No special driver - installation is necessary on Windows 10. - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_arduino` - - Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences. - - * - :ref:`framework_mbed` - - The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -Teensy -~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``teensy20`` - - `Teensy 2.0 `_ - - ATMEGA32U4 - - 16 MHz - - 32 Kb - - 2.5 Kb - - * - ``teensy20pp`` - - `Teensy++ 2.0 `_ - - AT90USB1286 - - 16 MHz - - 128 Kb - - 8 Kb - - * - ``teensy30`` - - `Teensy 3.0 `_ - - MK20DX128 - - 48 MHz - - 128 Kb - - 16 Kb - - * - ``teensy31`` - - `Teensy 3.1 / 3.2 `_ - - MK20DX256 - - 72 MHz - - 256 Kb - - 64 Kb - - * - ``teensy35`` - - `Teensy 3.5 `_ - - MK64FX512 - - 120 MHz - - 512 Kb - - 192 Kb - - * - ``teensy36`` - - `Teensy 3.6 `_ - - MK66FX1M0 - - 180 MHz - - 1024 Kb - - 256 Kb - - * - ``teensylc`` - - `Teensy LC `_ - - MKL26Z64 - - 48 MHz - - 64 Kb - - 8 Kb - -.. include:: teensy_extra.rst diff --git a/docs/platforms/teensy_extra.rst b/docs/platforms/teensy_extra.rst deleted file mode 100644 index 7f7a1870..00000000 --- a/docs/platforms/teensy_extra.rst +++ /dev/null @@ -1,48 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -USB Features ------------- - -If you want to use Teensy USB Features, you need to add special -acros/define using :ref:`projectconf_build_flags`: - -* ``-D USB_AUDIO`` -* ``-D USB_HID`` -* ``-D USB_SERIAL_HID`` -* ``-D USB_DISK`` -* ``-D USB_DISK_SDFLASH`` -* ``-D USB_MIDI`` -* ``-D USB_RAWHID`` -* ``-D USB_FLIGHTSIM`` -* ``-D USB_DISABLED`` - -Example: - -.. code-block:: ini - - [env:teensy_hid_device] - platform = teensy - framework = arduino - board = teensy20 - build_flags = -D USB_RAWHID - -See `Teensy USB Examples `_. - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for Teensy platform `_. - -* `Wiring Blink `_ -* `HID Mouse `_ -* `Chat Server `_ diff --git a/docs/platforms/timsp430.rst b/docs/platforms/timsp430.rst deleted file mode 100644 index 9ff12fb1..00000000 --- a/docs/platforms/timsp430.rst +++ /dev/null @@ -1,158 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _platform_timsp430: - -Platform ``timsp430`` -===================== -MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-arduinomsp430`` - - `Arduino Wiring-based Framework (MSP430 Core) `_ - - * - ``framework-energiamsp430`` - - `Energia Wiring-based Framework (MSP430 Core) `_ - - * - ``tool-mspdebug`` - - `MSPDebug `_ - - * - ``toolchain-timsp430`` - - `msp-gcc `_, `GDB `_ - -.. warning:: - **Linux Users**: - - * Ubuntu/Debian users may need to add own "username" to the "dialout" - group if they are not "root", doing this issuing a - ``sudo usermod -a -G dialout yourusername``. - * Install "udev" rules file `99-platformio-udev.rules `_ - (an instruction is located in the file). - * Raspberry Pi users, please read this article - `Enable serial port on Raspberry Pi `__. - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_arduino` - - Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences. - - * - :ref:`framework_energia` - - Energia Wiring-based framework enables pretty much anyone to start easily creating microcontroller-based projects and applications. Its easy-to-use libraries and functions provide developers of all experience levels to start blinking LEDs, buzzing buzzers and sensing sensors more quickly than ever before. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -PanStamp -~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``panStampNRG`` - - `PanStamp NRG 1.1 `_ - - CC430F5137 - - 12 MHz - - 32 Kb - - 4 Kb - -TI -~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lpmsp430f5529`` - - `TI LaunchPad MSP-EXP430F5529LP `_ - - MSP430F5529 - - 16 MHz - - 128 Kb - - 8 Kb - - * - ``lpmsp430fr4133`` - - `TI LaunchPad MSP-EXP430FR4133LP `_ - - MSP430FR4133 - - 8 MHz - - 16 Kb - - 2 Kb - - * - ``lpmsp430fr5739`` - - `TI FraunchPad MSP-EXP430FR5739LP `_ - - MSP430FR5739 - - 16 MHz - - 16 Kb - - 0.5 Kb - - * - ``lpmsp430fr5969`` - - `TI LaunchPad MSP-EXP430FR5969LP `_ - - MSP430FR5969 - - 8 MHz - - 64 Kb - - 2 Kb - - * - ``lpmsp430fr6989`` - - `TI LaunchPad MSP-EXP430FR6989LP `_ - - MSP430FR6989 - - 8 MHz - - 128 Kb - - 2 Kb - - * - ``lpmsp430g2553`` - - `TI LaunchPad MSP-EXP430G2553LP `_ - - MSP430G2553 - - 16 MHz - - 16 Kb - - 0.5 Kb - -.. include:: timsp430_extra.rst diff --git a/docs/platforms/timsp430_extra.rst b/docs/platforms/timsp430_extra.rst deleted file mode 100644 index e30f5e3b..00000000 --- a/docs/platforms/timsp430_extra.rst +++ /dev/null @@ -1,28 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -Articles --------- - -* Dec 08, 2015 - **Piotr Król** - `Using PlatformIO with TI MSP430 LunchPads `_ - -See more :ref:`articles`. - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for TI MSP430 platform `_. - -* `Energia blink `_ -* `Native blink `_ -* `Wiring Blink `_ -* `PanStamp blink `_ diff --git a/docs/platforms/titiva.rst b/docs/platforms/titiva.rst deleted file mode 100644 index 7e5de303..00000000 --- a/docs/platforms/titiva.rst +++ /dev/null @@ -1,117 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _platform_titiva: - -Platform ``titiva`` -=================== -Texas Instruments TM4C12x MCUs offer the industrys most popular ARM Cortex-M4 core with scalable memory and package options, unparalleled connectivity peripherals, advanced application functions, industry-leading analog integration, and extensive software solutions. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``framework-energiativa`` - - `Energia Wiring-based Framework (LM4F Core) `_ - - * - ``framework-libopencm3`` - - `libOpenCM3 Framework `_ - - * - ``tool-lm4flash`` - - `Flash Programmer `_ - - * - ``toolchain-gccarmnoneeabi`` - - `gcc-arm-embedded `_, `GDB `_ - -.. warning:: - **Linux Users**: - - * Ubuntu/Debian users may need to add own "username" to the "dialout" - group if they are not "root", doing this issuing a - ``sudo usermod -a -G dialout yourusername``. - * Install "udev" rules file `99-platformio-udev.rules `_ - (an instruction is located in the file). - * Raspberry Pi users, please read this article - `Enable serial port on Raspberry Pi `__. - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - -Frameworks ----------- -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - :ref:`framework_energia` - - Energia Wiring-based framework enables pretty much anyone to start easily creating microcontroller-based projects and applications. Its easy-to-use libraries and functions provide developers of all experience levels to start blinking LEDs, buzzing buzzers and sensing sensors more quickly than ever before. - - * - :ref:`framework_libopencm3` - - The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others. - -Boards ------- - -.. note:: - * You can list pre-configured boards by :ref:`cmd_boards` command or - `PlatformIO Boards Explorer `_ - * For more detailed ``board`` information please scroll tables below by - horizontal. - -TI -~~ - -.. list-table:: - :header-rows: 1 - - * - ID - - Name - - Microcontroller - - Frequency - - Flash - - RAM - - * - ``lplm4f120h5qr`` - - `TI LaunchPad (Stellaris) w/ lm4f120 (80MHz) `_ - - LPLM4F120H5QR - - 80 MHz - - 256 Kb - - 32 Kb - - * - ``lptm4c1230c3pm`` - - `TI LaunchPad (Tiva C) w/ tm4c123 (80MHz) `_ - - LPTM4C1230C3PM - - 80 MHz - - 256 Kb - - 32 Kb - - * - ``lptm4c1294ncpdt`` - - `TI LaunchPad (Tiva C) w/ tm4c129 (120MHz) `_ - - LPTM4C1294NCPDT - - 120 MHz - - 1024 Kb - - 256 Kb - -.. include:: titiva_extra.rst diff --git a/docs/platforms/titiva_extra.rst b/docs/platforms/titiva_extra.rst deleted file mode 100644 index 5830ab70..00000000 --- a/docs/platforms/titiva_extra.rst +++ /dev/null @@ -1,27 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -Articles --------- - -* Mar 12, 2016 - **Richard Arthurs** - `Getting Started With PlatformIO `_ - -See more :ref:`articles`. - -Examples --------- - -All project examples are located in PlatformIO repository -`Examples for TI TIVA platform `_. - -* `Energia blink `_ -* `Native blink `_ -* `OpenCM3 Blink `_ diff --git a/docs/platforms/windows_x86.rst b/docs/platforms/windows_x86.rst deleted file mode 100644 index 690c955b..00000000 --- a/docs/platforms/windows_x86.rst +++ /dev/null @@ -1,32 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _platform_windows_x86: - -Platform ``windows_x86`` -======================== -Windows x86 (32-bit) is a metafamily of graphical operating systems developed and marketed by Microsoft. Using host OS (Windows, Linux 32/64 or Mac OS X) you can build native application for Windows x86 platform. - -For more detailed information please visit `vendor site `_. - -.. contents:: - -Packages --------- - -.. list-table:: - :header-rows: 1 - - * - Name - - Contents - - * - ``toolchain-gccmingw32`` - - `MinGW `_ \ No newline at end of file diff --git a/docs/plus/pio-remote.rst b/docs/plus/pio-remote.rst deleted file mode 100644 index 02e4ac54..00000000 --- a/docs/plus/pio-remote.rst +++ /dev/null @@ -1,113 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. |PIORemote| replace:: **PIO Remote™** -.. |PIOCloud| replace:: PlatformIO Cloud - -.. _pio_remote: - -PIO Remote™ -=========== - -**Your devices are always with you!** - -.. versionadded:: 3.2 (`PlatformIO Plus `__) - -|PIORemote| allows you to work remotely with devices from -*Anywhere In The World*. No matter where are you now! Run small and -cross-platform :ref:`cmd_remote_agent` on a host machine and you will be able to -list active devices (wireless + wired), to upload firmware **Over-The-Air (OTA)**, -to process remote unit tests, or to start remote debugging session via OTA -Serial Port Monitor. - -Using PIO Remote™ you can share your devices with friends or team. In -combination with Cloud IDE, you can create awesome things at any time when -inspiration comes to you. - -You should have :ref:`cmd_account` to work with |PIORemote|. -A registration is **FREE**. - -.. contents:: - -Features --------- - -* :ref:`ide_cloud` -* :ref:`OTA Device Manager ` -* :ref:`OTA Serial Port Monitor ` -* :ref:`OTA Firmware Updates ` -* |PIORemote| Share -* Continuous Deployment -* Continuous Delivery -* Remote Unit Testing - -Technology ----------- - -|PIORemote| is an own `PlatformIO Plus `__ technology for -**Over-The-Air (OTA)** remote operations without external dependencies to -operation system or its software based on `client-server architecture `_. -The Server component (|PIOCloud|) plays a role of coupling link between -:ref:`cmd_remote_agent` and client (end-developer, continuous integration -system, etc.). -When you start :ref:`cmd_remote_agent`, it connects over the Internet with -|PIOCloud| and listen for the actions/commands which you can send in Client -role from anywhere in the world. - -|PIORemote| is multi-agents and multi-clients system. A single agent can be -shared with multiple clients, where different clients can use the same agent. -This approach allows to work with distributed hardware located in the different -places, networks, etc. - -This technology allows to work with remote devices in generic form as you -do that with host devices using PlatformIO ecosystem. The only one difference -is a prefix "remote" before each generic PlatformIO command. For example, -listing of host and remote devices will look like :ref:`cmd_device_list` and -:ref:`cmd_remote_device_list`. - -Quick Start ------------ - -1. Start |PIORemote| Agent using :ref:`cmd_remote_agent_start` command on a - host machine where devices are connected physically or are visible - via network. |PIORemote| **Agent works on Windows, macOS, Linux and Linux ARMv6+**. - It means that you can use desktop machine, laptop or credit card sized PC - (RaspberryPi, BeagleBoard, etc). - - You can share own devices/hardware with friends, team or other developers - using :option:`platformio remote agent start --share` option. - -2. Using other machine or :ref:`ide_cloud` Terminal in the browser, please authorize - using :ref:`cmd_account_login` command with the same credentials that you - used on the previous step. Now, you can use :ref:`cmd_remote` commands to - work with remote devices Over-The-Air (OTA). - - You don't need to have network or other access to host machine where - |PIORemote| Agent is started. - -.. note:: - Please use local IP as "upload port" when device is not connected directly - to host machine where |PIORemote| Agent is started but supports natively - Over-the-Air (OTA) updates. For example, :ref:`platform_espressif8266` and - :ref:`platform_espressif_ota`. In this case, the final command for remote - OTA update will look as ``platformio remote run -t upload --upload-port 192.168.0.255`` - or ``platformio remote run -t upload --upload-port myesp8266.local``. - -User Guide (CLI) ----------------- - -.. toctree:: - :maxdepth: 3 - - platformio account <../userguide/account/index> - platformio remote <../userguide/remote/index> - - diff --git a/docs/plus/unit-testing.rst b/docs/plus/unit-testing.rst deleted file mode 100644 index 0bca9def..00000000 --- a/docs/plus/unit-testing.rst +++ /dev/null @@ -1,536 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. |PIOUTE| replace:: **PlatformIO Unit Testing Engine** -.. |PIOUTF| replace:: *PlatformIO Unit Testing Framework* - -.. _unit_testing: - -Unit Testing -============ - -.. versionadded:: 3.0 (`PlatformIO Plus `_) - -`Unit Testing (wiki) `_ -is a software testing method by which individual units of source code, sets -of one or more MCU program modules together with associated control data, -usage procedures, and operating procedures, are tested to determine whether -they are fit for use. Unit testing finds problems early in the development cycle. - -.. contents:: - -Demo ----- - -Demo of `Local & Embedded: Calculator `_. - -.. image:: ../_static/pioplus-unit-testing-demo.png - :target: https://youtu.be/bo3VVRZVKhA - -Test Types ----------- - -Desktop -~~~~~~~ - -PlatformIO wraps test and main program (from :ref:`projectconf_pio_src_dir`) -with own |PIOUTF|, builds final program using :ref:`platform_native` and run -test on a host machine (desktop). - -.. note:: - PlatformIO does not install any toolchains automatically for - :ref:`platform_native` and requires ``GCC`` toolchain to be installed - on your host machine. - Please open Terminal and check that ``gcc`` command is installed. - -Embedded -~~~~~~~~ - -PlatformIO wraps test and main firmware (from :ref:`projectconf_pio_src_dir`) -with own |PIOUTF|, builds special firmware for a target device and upload it. -After uploading, PlatformIO connects to embedded device (board) using -:ref:`projectconf_test_port` , starts test, collects results and shows test -results on the host machine. - -Currently, |PIOUTE| supports these embedded frameworks: - -* :ref:`framework_arduino` -* :ref:`framework_energia` -* :ref:`framework_mbed` - -.. note:: - Please note that |PIOUTF| uses Serial/UART as communication interface - between PlatformIO Unit Test Engine and target device. If you use - ``Serial`` in your project, please wrap/hide Serial-based blocks with - ``#ifndef UNIT_TEST`` macro. - -Test Runner ------------ - -Test Runner allows to process specific environments or to ignore some tests -using "Glob patterns". Also, you will be able to ignore some tests for -specific environment using :ref:`projectconf_test_ignore` option -from :ref:`projectconf`. - -Local -~~~~~ -Allows to run tests on host machine or on the target devices (boards) -that are directly connected to this machine. In this case, need to use -:ref:`cmd_test` command. - -Remote -~~~~~~ - -Allows to run tests on remote machine or remote target device (board) without -any dependencies to OS software, extra software, SSH, VPN or opening network -ports. Remote Unit Testing works in pair with :ref:`pio_remote`. In this case, -need to use special command :ref:`cmd_remote_test`. - -PlatformIO supports multiple :ref:`ci` systems where you can run unit tests -on each integration stage. See real -`PlatformIO Remote Unit Testing Example `__. - -.. _unit_testing_design: - -Design ------- - -|PIOUTE| design is based on a few isolated components: - -1. **Main Program**. Contains the independent modules, procedures, - functions or methods that will be the target candidates (TC) for testing. -2. **Unit Test**. This a small independent program that is intended to - re-use TC from the main program and apply tests for them. -3. **Test Processor**. The set of approaches and tools that will be used - to apply test for the environments from :ref:`projectconf`. - -Workflow --------- - -1. Create PlatformIO project using :ref:`cmd_init` command. For Desktop Unit - Testing (on the host machine), need to use :ref:`platform_native`. - - .. code-block:: ini - - ; PlatformIO Project Configuration File - ; - ; Build options: build flags, source filter, extra scripting - ; Upload options: custom port, speed and extra flags - ; Library options: dependencies, extra library storages - ; - ; Please visit documentation for the other options and examples - ; http://docs.platformio.org/en/stable/projectconf.html - - ; - ; Embedded platforms - ; - - [env:uno] - platform = atmelavr - framework = arduino - board = uno - - [env:nodemcu] - platform = espressif8266 - framework = arduino - board = nodemcuv2 - - ; - ; Desktop platforms (Win, Mac, Linux, Raspberry Pi, etc) - ; See http://platformio.org/platforms/native - ; - - [env:native] - platform = native - -2. Place source code of main program to ``src`` directory. -3. Wrap ``main()`` or ``setup()/loop()`` methods of main program in ``UNIT_TEST`` - guard: - - .. code-block:: c - - /** - * Arduino Wiring-based Framework - */ - #ifndef UNIT_TEST - #include - void setup () { - // some code... - } - - void loop () { - // some code... - } - #endif - - - .. code-block:: c - - /** - * Generic C/C++ - */ - #ifndef UNIT_TEST - int main(int argc, char **argv) { - // setup code... - - while (1) { - // loop code... - } - return 0 - } - #endif - -4. Create ``test`` directory in the root of project. See :ref:`projectconf_pio_test_dir`. -5. Write test using :ref:`unit_testing_api`. The each test is a small - independent program with own ``main()`` or ``setup()/loop()`` methods. Also, - test should start from ``UNITY_BEGIN()`` and finish with ``UNITY_END()``. -6. Place test to ``test`` directory. If you have more than one test, split them - into sub-folders. For example, ``test/test_1/*.[c,cpp,h]``, - ``test_N/*.[c,cpp,h]``, etc. If no such directory in ``test`` folder, then - |PIOUTE| will treat the source code of ``test`` folder - as SINGLE test. -7. Run tests using :ref:`cmd_test` command. - -.. _unit_testing_api: - -API ---- - -The summary of `Unity Test API `_: - -* `Running Tests `_ - - - ``RUN_TEST(func, linenum)`` - -* `Ignoring Tests `_ - - - ``TEST_IGNORE()`` - - ``TEST_IGNORE_MESSAGE (message)`` - -* `Aborting Tests `_ - - - ``TEST_PROTECT()`` - - ``TEST_ABORT()`` - -* `Basic Validity Tests `_ - - - ``TEST_ASSERT_TRUE(condition)`` - - ``TEST_ASSERT_FALSE(condition)`` - - ``TEST_ASSERT(condition)`` - - ``TEST_ASSERT_UNLESS(condition)`` - - ``TEST_FAIL()`` - - ``TEST_FAIL_MESSAGE(message)`` - -* `Numerical Assertions: Integers `_ - - - ``TEST_ASSERT_EQUAL_INT(expected, actual)`` - - ``TEST_ASSERT_EQUAL_INT8(expected, actual)`` - - ``TEST_ASSERT_EQUAL_INT16(expected, actual)`` - - ``TEST_ASSERT_EQUAL_INT32(expected, actual)`` - - ``TEST_ASSERT_EQUAL_INT64(expected, actual)`` - - - ``TEST_ASSERT_EQUAL_UINT(expected, actual)`` - - ``TEST_ASSERT_EQUAL_UINT8(expected, actual)`` - - ``TEST_ASSERT_EQUAL_UINT16(expected, actual)`` - - ``TEST_ASSERT_EQUAL_UINT32(expected, actual)`` - - ``TEST_ASSERT_EQUAL_UINT64(expected, actual)`` - - - ``TEST_ASSERT_EQUAL_HEX(expected, actual)`` - - ``TEST_ASSERT_EQUAL_HEX8(expected, actual)`` - - ``TEST_ASSERT_EQUAL_HEX16(expected, actual)`` - - ``TEST_ASSERT_EQUAL_HEX32(expected, actual)`` - - ``TEST_ASSERT_EQUAL_HEX64(expected, actual)`` - - ``TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, elements)`` - - - ``TEST_ASSERT_EQUAL(expected, actual)`` - - ``TEST_ASSERT_INT_WITHIN(delta, expected, actual)`` - -* `Numerical Assertions: Bitwise `_ - - - ``TEST_ASSERT_BITS(mask, expected, actual)`` - - ``TEST_ASSERT_BITS_HIGH(mask, actual)`` - - ``TEST_ASSERT_BITS_LOW(mask, actual)`` - - ``TEST_ASSERT_BIT_HIGH(mask, actual)`` - - ``TEST_ASSERT_BIT_LOW(mask, actual)`` - -* `Numerical Assertions: Floats `_ - - - ``TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual)`` - - ``TEST_ASSERT_EQUAL_FLOAT(expected, actual)`` - - ``TEST_ASSERT_EQUAL_DOUBLE(expected, actual)`` - -* `String Assertions `_ - - - ``TEST_ASSERT_EQUAL_STRING(expected, actual)`` - - ``TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len)`` - - ``TEST_ASSERT_EQUAL_STRING_MESSAGE(expected, actual, message)`` - - ``TEST_ASSERT_EQUAL_STRING_LEN_MESSAGE(expected, actual, len, message)`` - -* `Pointer Assertions `_ - - - ``TEST_ASSERT_NULL(pointer)`` - - ``TEST_ASSERT_NOT_NULL(pointer)`` - -* `Memory Assertions `_ - - - ``TEST_ASSERT_EQUAL_MEMORY(expected, actual, len)`` - - -User Guide (CLI) ----------------- - -.. toctree:: - :maxdepth: 3 - - platformio test <../userguide/cmd_test> - platformio remote test <../userguide/remote/cmd_test> - --------------- - - -Test "Blink" Project --------------------- - -1. Please follow to :ref:`quickstart` and create "Blink Project". According - to the Unit Testing :ref:`unit_testing_design` it is the **Main program**. -2. Create ``test`` directory in that project (on the same level as ``src``) - and place ``test_main.cpp`` file to it (the source code is located below). -3. Wrap ``setup()`` and ``loop()`` methods of main program in ``UNIT_TEST`` - guard. -4. Run tests using :ref:`cmd_test` command. - -Project structure -~~~~~~~~~~~~~~~~~ - -.. code-block:: bash - - project_dir - ├── lib - │   └── readme.txt - ├── platformio.ini - ├── src - │   └── main.cpp - └── test - └── test_main.cpp - -Source files -~~~~~~~~~~~~ - -* ``platformio.ini`` - - .. code-block:: ini - - ; PlatformIO Project Configuration File - ; - ; Build options: build flags, source filter, extra scripting - ; Upload options: custom port, speed and extra flags - ; Library options: dependencies, extra library storages - ; - ; Please visit documentation for the other options and examples - ; http://docs.platformio.org/en/stable/projectconf.html - - - [env:uno] - platform = atmelavr - framework = arduino - board = uno - - [env:nodemcu] - platform = espressif8266 - framework = arduino - board = nodemcu - - [env:teensy31] - platform = teensy - framework = arduino - board = teensy31 - -* ``src/main.cpp`` - - .. code-block:: cpp - - /* - * Blink - * Turns on an LED on for one second, - * then off for one second, repeatedly. - */ - - #include "Arduino.h" - - #ifndef UNIT_TEST // IMPORTANT LINE! - - void setup() - { - // initialize LED digital pin as an output. - pinMode(LED_BUILTIN, OUTPUT); - } - - void loop() - { - // turn the LED on (HIGH is the voltage level) - digitalWrite(LED_BUILTIN, HIGH); - // wait for a second - delay(1000); - // turn the LED off by making the voltage LOW - digitalWrite(LED_BUILTIN, LOW); - // wait for a second - delay(1000); - } - - #endif // IMPORTANT LINE! - -* ``test/test_main.cpp`` - - .. code-block:: cpp - - #include - #include - - #ifdef UNIT_TEST - - // void setUp(void) { - // // set stuff up here - // } - - // void tearDown(void) { - // // clean stuff up here - // } - - void test_led_builtin_pin_number(void) { - TEST_ASSERT_EQUAL(LED_BUILTIN, 13); - } - - void test_led_state_high(void) { - digitalWrite(LED_BUILTIN, HIGH); - TEST_ASSERT_EQUAL(digitalRead(LED_BUILTIN), HIGH); - } - - void test_led_state_low(void) { - digitalWrite(LED_BUILTIN, LOW); - TEST_ASSERT_EQUAL(digitalRead(LED_BUILTIN), LOW); - } - - void setup() { - UNITY_BEGIN(); // IMPORTANT LINE! - RUN_TEST(test_led_builtin_pin_number); - - pinMode(LED_BUILTIN, OUTPUT); - } - - uint8_t i = 0; - uint8_t max_blinks = 5; - - void loop() { - if (i < max_blinks) - { - RUN_TEST(test_led_state_high); - delay(500); - RUN_TEST(test_led_state_low); - delay(500); - i++; - } - else if (i == max_blinks) { - UNITY_END(); // stop unit testing - } - } - - #endif - -Test results -~~~~~~~~~~~~ - -.. code:: - - > platformio test -e nodemcu --verbose - - PlatformIO Plus (https://pioplus.com) v0.1.0 - Verbose mode can be enabled via `-v, --verbose` option - Collected 1 items - - ============================== [test::*] Building... (1/3) ============================== - [Wed Sep 7 15:16:55 2016] Processing nodemcu (platform: espressif8266, board: nodemcu, framework: arduino) - ---------------------------------------------------------------------------------------------------------------------------------------------------------------- - Verbose mode can be enabled via `-v, --verbose` option - Collected 34 compatible libraries - Looking for dependencies... - Project does not have dependencies - Compiling .pioenvs/nodemcu/src/main.o - Compiling .pioenvs/nodemcu/test/output_export.o - Compiling .pioenvs/nodemcu/test/test_main.o - Compiling .pioenvs/nodemcu/UnityTestLib/unity.o - Archiving .pioenvs/nodemcu/libFrameworkArduinoVariant.a - Indexing .pioenvs/nodemcu/libFrameworkArduinoVariant.a - Compiling .pioenvs/nodemcu/FrameworkArduino/Esp.o - Compiling .pioenvs/nodemcu/FrameworkArduino/FS.o - Compiling .pioenvs/nodemcu/FrameworkArduino/HardwareSerial.o - Compiling .pioenvs/nodemcu/FrameworkArduino/IPAddress.o - Archiving .pioenvs/nodemcu/libUnityTestLib.a - Indexing .pioenvs/nodemcu/libUnityTestLib.a - Compiling .pioenvs/nodemcu/FrameworkArduino/MD5Builder.o - ... - Compiling .pioenvs/nodemcu/FrameworkArduino/umm_malloc/umm_malloc.o - Archiving .pioenvs/nodemcu/libFrameworkArduino.a - Indexing .pioenvs/nodemcu/libFrameworkArduino.a - Linking .pioenvs/nodemcu/firmware.elf - Calculating size .pioenvs/nodemcu/firmware.elf - text data bss dec hex filename - 223500 2408 29536 255444 3e5d4 .pioenvs/nodemcu/firmware.elf - Building .pioenvs/nodemcu/firmware.bin - - ============================== [test::*] Uploading... (2/3) ============================== - [Wed Sep 7 15:17:01 2016] Processing nodemcu (platform: espressif8266, board: nodemcu, framework: arduino) - ---------------------------------------------------------------------------------------------------------------------------------------------------------------- - Verbose mode can be enabled via `-v, --verbose` option - Collected 34 compatible libraries - Looking for dependencies... - Project does not have dependencies - Linking .pioenvs/nodemcu/firmware.elf - Checking program size .pioenvs/nodemcu/firmware.elf - text data bss dec hex filename - 223500 2408 29536 255444 3e5d4 .pioenvs/nodemcu/firmware.elf - Calculating size .pioenvs/nodemcu/firmware.elf - text data bss dec hex filename - 223500 2408 29536 255444 3e5d4 .pioenvs/nodemcu/firmware.elf - Looking for upload port... - Auto-detected: /dev/cu.SLAB_USBtoUART - Uploading .pioenvs/nodemcu/firmware.bin - Uploading 230064 bytes from .pioenvs/nodemcu/firmware.bin to flash at 0x00000000 - ................................................................................ [ 35% ] - ................................................................................ [ 71% ] - ................................................................. [ 100% ] - - =============================== [test::*] Testing... (3/3) =============================== - If you don't see any output for the first 10 secs, please reset board (press reset button) - - test/test_main.cpp:41:test_led_state_high [PASSED] - test/test_main.cpp:43:test_led_state_low [PASSED] - test/test_main.cpp:41:test_led_state_high [PASSED] - test/test_main.cpp:43:test_led_state_low [PASSED] - test/test_main.cpp:41:test_led_state_high [PASSED] - test/test_main.cpp:43:test_led_state_low [PASSED] - test/test_main.cpp:41:test_led_state_high [PASSED] - test/test_main.cpp:43:test_led_state_low [PASSED] - ----------------------- - 11 Tests 1 Failures 0 Ignored - - ===================================== [TEST SUMMARY] ===================================== - test:*/env:nodemcu [PASSED] - ================================ [PASSED] Took 38.15 seconds ================================ - -Examples --------- - -* `PlatformIO Remote Unit Testing Example `__ -* `Embedded: Wiring Blink `_ -* `Local & Embedded: Calculator `_ - -For the other examples and source code please follow to -`PlatformIO Unit Testing Examples `_ repository. diff --git a/docs/projectconf.rst b/docs/projectconf.rst deleted file mode 100644 index 75a564ed..00000000 --- a/docs/projectconf.rst +++ /dev/null @@ -1,1127 +0,0 @@ -.. Copyright 2014-present PlatformIO - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -.. _projectconf: - -Project Configuration File ``platformio.ini`` -============================================= - -The Project configuration file is named ``platformio.ini``. This is a -`INI-style `_ file. - -``platformio.ini`` has sections (each denoted by a ``[header]``) and -key / value pairs within the sections. Lines beginning with ``;`` -are ignored and may be used to provide comments. - -There are 2 system reserved sections: - -* Base PlatformIO settings: :ref:`projectconf_section_platformio` -* Build Environment settings: :ref:`projectconf_section_env` - -The other sections can be used by users, for example, for -:ref:`projectconf_dynamic_vars`. The sections and their allowable values are -described below. - -.. contents:: - :depth: 2 - -.. _projectconf_dynamic_vars: - -Dynamic variables ------------------ - -.. versionadded:: 3.1 - -Dynamic variables/templates are useful when you have common configuration data -between build environments. For examples, common :ref:`projectconf_build_flags` -or project dependencies :ref:`projectconf_lib_deps`. - -Each variable should have a next format: ``${
.