mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-31 18:44:27 +02:00
Merge branch 'release/v2.9.2'
This commit is contained in:
30
HISTORY.rst
30
HISTORY.rst
@@ -4,6 +4,34 @@ Release Notes
|
|||||||
PlatformIO 2.0
|
PlatformIO 2.0
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
|
2.9.2 (2016-06-02)
|
||||||
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
* Simplified `Continuous Integration with AppVeyor <http://docs.platformio.org/en/latest/ci/appveyor.html>`__
|
||||||
|
(`issue #671 <https://github.com/platformio/platformio/issues/671>`_)
|
||||||
|
* Automatically add source directory to ``CPPPATH`` of Build System
|
||||||
|
* Added support for Silicon Labs SLSTK3401A (Pearl Gecko) and
|
||||||
|
MultiTech mDot F411 ARM mbed based boards
|
||||||
|
* Added support for MightyCore ATmega8535 board
|
||||||
|
(`issue #585 <https://github.com/platformio/platformio/issues/585>`_)
|
||||||
|
* Added ``stlink`` as the default uploader for STM32 Discovery boards
|
||||||
|
(`issue #665 <https://github.com/platformio/platformio/issues/665>`_)
|
||||||
|
* Use HTTP mirror for Package Manager in a case with SSL errors
|
||||||
|
(`issue #645 <https://github.com/platformio/platformio/issues/645>`_)
|
||||||
|
* Improved firmware uploading to Arduino Leonardo/Due based boards
|
||||||
|
* Fixed bug with ``env_default`` when ``pio run -e`` is used
|
||||||
|
* Fixed issue with ``src_filter`` option for Windows OS
|
||||||
|
(`issue #652 <https://github.com/platformio/platformio/issues/652>`_)
|
||||||
|
* Fixed configuration data for TI LaunchPads based on msp430fr4133 and
|
||||||
|
msp430fr6989 MCUs
|
||||||
|
(`issue #676 <https://github.com/platformio/platformio/issues/676>`_)
|
||||||
|
* Fixed issue with ARM mbed framework and multiple definition errors
|
||||||
|
on FRDM-KL46Z board
|
||||||
|
(`issue #641 <https://github.com/platformio/platformio/issues/641>`_)
|
||||||
|
* Fixed issue with ARM mbed framework when abstract class breaks compile
|
||||||
|
for LPC1768
|
||||||
|
(`issue #666 <https://github.com/platformio/platformio/issues/666>`_)
|
||||||
|
|
||||||
2.9.1 (2016-04-30)
|
2.9.1 (2016-04-30)
|
||||||
~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
@@ -646,7 +674,7 @@ PlatformIO 1.0
|
|||||||
(`issue #183 <https://github.com/platformio/platformio/issues/183>`_)
|
(`issue #183 <https://github.com/platformio/platformio/issues/183>`_)
|
||||||
* Added GDB as alternative uploader to `ststm32 <http://docs.platformio.org/en/latest/platforms/ststm32.html>`__ platform
|
* Added GDB as alternative uploader to `ststm32 <http://docs.platformio.org/en/latest/platforms/ststm32.html>`__ platform
|
||||||
(`issue #175 <https://github.com/platformio/platformio/issues/174>`_)
|
(`issue #175 <https://github.com/platformio/platformio/issues/174>`_)
|
||||||
* Added `examples <https://github.com/platformio/platformio/tree/develop/examples>`__
|
* Added `examples <https://github.com/platformio/platformio-examples/tree/develop>`__
|
||||||
with preconfigured IDE projects
|
with preconfigured IDE projects
|
||||||
(`issue #154 <https://github.com/platformio/platformio/issues/154>`_)
|
(`issue #154 <https://github.com/platformio/platformio/issues/154>`_)
|
||||||
* Fixed firmware uploading under Linux OS for Arduino Leonardo board
|
* Fixed firmware uploading under Linux OS for Arduino Leonardo board
|
||||||
|
16
README.rst
16
README.rst
@@ -16,11 +16,8 @@ PlatformIO
|
|||||||
.. image:: https://img.shields.io/pypi/l/platformio.svg
|
.. image:: https://img.shields.io/pypi/l/platformio.svg
|
||||||
:target: https://pypi.python.org/pypi/platformio/
|
:target: https://pypi.python.org/pypi/platformio/
|
||||||
:alt: License
|
:alt: License
|
||||||
.. image:: https://img.shields.io/pypi/dm/platformio.svg
|
|
||||||
:target: https://pypi.python.org/pypi/platformio/
|
|
||||||
:alt: PyPi Downloads
|
|
||||||
.. image:: https://img.shields.io/community/PlatformIO.png
|
.. image:: https://img.shields.io/community/PlatformIO.png
|
||||||
:alt: Join the chat at https://gitter.im/platformio/platformio
|
:alt: Community Forums
|
||||||
:target: https://community.platformio.org
|
:target: https://community.platformio.org
|
||||||
.. image:: https://img.shields.io/donate/PlatformIO.png?color=yellow
|
.. image:: https://img.shields.io/donate/PlatformIO.png?color=yellow
|
||||||
:alt: Donate for PlatformIO.Org
|
:alt: Donate for PlatformIO.Org
|
||||||
@@ -29,7 +26,7 @@ PlatformIO
|
|||||||
|
|
||||||
`Home <http://platformio.org>`_ |
|
`Home <http://platformio.org>`_ |
|
||||||
`IDE <http://platformio.org/platformio-ide>`_ |
|
`IDE <http://platformio.org/platformio-ide>`_ |
|
||||||
`Project Examples <https://github.com/platformio/platformio/tree/develop/examples>`_ |
|
`Project Examples <https://github.com/platformio/platformio-examples/tree/develop>`_ |
|
||||||
`Docs <http://docs.platformio.org>`_ |
|
`Docs <http://docs.platformio.org>`_ |
|
||||||
`Twitter <https://twitter.com/PlatformIO_Org>`_ |
|
`Twitter <https://twitter.com/PlatformIO_Org>`_ |
|
||||||
`Facebook <https://www.facebook.com/platformio>`_ |
|
`Facebook <https://www.facebook.com/platformio>`_ |
|
||||||
@@ -62,9 +59,9 @@ IDE integration. Arduino and MBED compatible. Ready for Cloud compiling.
|
|||||||
platforms and frameworks; learn via examples; be up-to-date with the latest
|
platforms and frameworks; learn via examples; be up-to-date with the latest
|
||||||
version.
|
version.
|
||||||
|
|
||||||
*Atmel AVR & SAM, Espressif, Freescale Kinetis, Nordic nRF51, NXP LPC,
|
*Atmel AVR & SAM, Espressif, Freescale Kinetis, Intel ARC32, Lattice iCE40,
|
||||||
Silicon Labs EFM32, ST STM32, TI MSP430 & Tiva, Teensy, Arduino, mbed,
|
Microchip PIC32, Nordic nRF51, NXP LPC, Silicon Labs EFM32, ST STM32,
|
||||||
libOpenCM3, etc.*
|
TI MSP430 & Tiva, Teensy, Arduino, mbed, libOpenCM3, etc.*
|
||||||
|
|
||||||
.. image:: https://raw.githubusercontent.com/platformio/platformio/develop/docs/_static/platformio-demo-wiring.gif
|
.. image:: https://raw.githubusercontent.com/platformio/platformio/develop/docs/_static/platformio-demo-wiring.gif
|
||||||
:target: http://platformio.org
|
:target: http://platformio.org
|
||||||
@@ -161,6 +158,9 @@ It has support for the most popular embedded platforms:
|
|||||||
* `Atmel SAM <http://platformio.org/platforms/atmelsam>`_
|
* `Atmel SAM <http://platformio.org/platforms/atmelsam>`_
|
||||||
* `Espressif <http://platformio.org/platforms/espressif>`_
|
* `Espressif <http://platformio.org/platforms/espressif>`_
|
||||||
* `Freescale Kinetis <http://platformio.org/platforms/freescalekinetis>`_
|
* `Freescale Kinetis <http://platformio.org/platforms/freescalekinetis>`_
|
||||||
|
* `Intel ARC32 <http://platformio.org/platforms/intel_arc32>`_
|
||||||
|
* `Lattice iCE40 <http://platformio.org/platforms/lattice_ice40>`_
|
||||||
|
* `Microchip PIC32 <http://platformio.org/platforms/microchippic32>`_
|
||||||
* `Nordic nRF51 <http://platformio.org/platforms/nordicnrf51>`_
|
* `Nordic nRF51 <http://platformio.org/platforms/nordicnrf51>`_
|
||||||
* `NXP LPC <http://platformio.org/platforms/nxplpc>`_
|
* `NXP LPC <http://platformio.org/platforms/nxplpc>`_
|
||||||
* `ST STM32 <http://platformio.org/platforms/ststm32>`_
|
* `ST STM32 <http://platformio.org/platforms/ststm32>`_
|
||||||
|
24
appveyor.yml
24
appveyor.yml
@@ -1,27 +1,13 @@
|
|||||||
build: off
|
build: off
|
||||||
environment:
|
environment:
|
||||||
global:
|
|
||||||
WITH_COMPILER: "cmd /E:ON /V:ON /C .\\scripts\\appveyor\\run_with_compiler.cmd"
|
|
||||||
matrix:
|
matrix:
|
||||||
- TOXENV: "py27"
|
- TOXENV: "py27"
|
||||||
TOXPYTHON: "C:\\Python27-x64\\python.exe"
|
|
||||||
WINDOWS_SDK_VERSION: "v7.0"
|
|
||||||
PYTHON_HOME: "C:\\Python27-x64"
|
|
||||||
PYTHON_VERSION: "2.7"
|
|
||||||
PYTHON_ARCH: "64"
|
|
||||||
|
|
||||||
init:
|
|
||||||
- "ECHO %TOXENV%"
|
|
||||||
- ps: "ls C:\\Python*"
|
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- "git submodule update --init --recursive"
|
- cmd: git submodule update --init --recursive
|
||||||
- "powershell scripts\\appveyor\\install.ps1"
|
- cmd: SET PATH=%PATH%;C:\Python27\Scripts;C:\MinGW\bin
|
||||||
|
- cmd: pip install tox
|
||||||
before_test:
|
|
||||||
- cmd: SET PATH=%PATH%;C:\MinGW\bin
|
|
||||||
|
|
||||||
test_script:
|
test_script:
|
||||||
- "%PYTHON_HOME%\\Scripts\\tox --version"
|
- cmd: tox
|
||||||
- "%PYTHON_HOME%\\Scripts\\pip --version"
|
|
||||||
- "%WITH_COMPILER% %PYTHON_HOME%\\Scripts\\tox"
|
|
||||||
|
BIN
docs/_static/ide-eclipse-virtualiot.jpg
vendored
Normal file
BIN
docs/_static/ide-eclipse-virtualiot.jpg
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 140 KiB |
@@ -23,10 +23,22 @@ Here are recent articles about PlatformIO:
|
|||||||
2016
|
2016
|
||||||
^^^^
|
^^^^
|
||||||
|
|
||||||
|
* May 30, 2016 - **Ron Moerman** - `IoT Development with PlatformIO <https://electronicsworkbench.io/blog/platformio>`_
|
||||||
|
* May 29, 2016 - **Chris Synan** - `Reverse Engineer RF Remote Controller for IoT! <http://www.instructables.com/id/Reverse-Engineer-RF-Remote-Controller-for-IoT/?ALLSTEPS>`_
|
||||||
|
* May 26, 2016 - **Charlie Key** - `7 Best Developer Tools To Build Your NEXT Internet of Things Application <https://www.losant.com/blog/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) <http://pedrominatel.com.br/esp8266/estacao-meteorologica-com-esp8266/>`_
|
||||||
|
* May 16, 2016 - **Pedro Minatel** - `Controle remoto WiFi com ESP8266 (WiFi remote control using ESP8266, Portuguese) <http://pedrominatel.com.br/esp8266/controle-remoto-wifi-com-esp8266/>`_
|
||||||
|
* May 11, 2016 - **Jo Vandeginste** - `Using PlatformIO to compile for Jeelabs' Jeenode Micro <http://jovandeginste.github.io/2016/05/11/using-platformio-to-compile-for-jeelabs-jeenode-micro.html>`_
|
||||||
|
* May 08, 2016 - **Radoslaw Bob** - `Touch controlled buzzer (Nodemcu ESP8266) <https://gettoknowthebob.wordpress.com/2016/05/08/touch-controlled-buzzer-nodemcu-esp8266/>`_
|
||||||
|
* May 06, 2016 - **Jean Roux** - `The IoT building blocks I use for my home-automation projects <http://iotplay.blogspot.fr/2016/05/the-components-i-use-for-my-projects.html/>`_
|
||||||
|
* May 05, 2016 - **Ivan Kravets, Ph.D. / Eclipse Virtual IoT Meetup** - `PlatformIO: a cross-platform IoT solution to build them all! <http://www.meetup.com/Virtual-IoT/events/229964142/>`_
|
||||||
|
* May 01, 2016 - **Pedro Minatel** - `PlatformIO – Uma alternativa ao Arduino IDE (PlatformIO - An alternative to the Arduino IDE, Portuguese) <http://pedrominatel.com.br/ferramentas/platformio-uma-alternativa-ao-arduino-ide/>`_
|
||||||
* Apr 23, 2016 - **Al Williams** - `Hackaday: Atomic Arduino (and Other) Development <http://hackaday.com/2016/04/23/atomic-arduino-and-other-development/>`_
|
* Apr 23, 2016 - **Al Williams** - `Hackaday: Atomic Arduino (and Other) Development <http://hackaday.com/2016/04/23/atomic-arduino-and-other-development/>`_
|
||||||
* Apr 16, 2016 - **Sathittham Sangthong** - `[PlatformIO] มาลองเล่น PlatformIO แทน Arduino IDE กัน (Let's play together with PlatformIO IDE [alternative to Arduino IDE], Thai) <http://www.sathittham.com/platformio/platformio-ide/>`_
|
* Apr 16, 2016 - **Sathittham Sangthong** - `[PlatformIO] มาลองเล่น PlatformIO แทน Arduino IDE กัน (Let's play together with PlatformIO IDE [alternative to Arduino IDE], Thai) <http://www.sathittham.com/platformio/platformio-ide/>`_
|
||||||
|
* Apr 15, 2016 - **Daniel Eichhorn** - `ESP8266: Offline Debugging with the Platformio Environment <http://blog.squix.ch/2016/04/esp8266-offline-debugging-with.html>`_
|
||||||
* Apr 11, 2016 - **Matjaz Trcek** - `Top 5 Arduino integrated development environments <https://codeandunicorns.com/top-5-arduino-integrated-development-environments-ide/>`_
|
* Apr 11, 2016 - **Matjaz Trcek** - `Top 5 Arduino integrated development environments <https://codeandunicorns.com/top-5-arduino-integrated-development-environments-ide/>`_
|
||||||
* Apr 06, 2016 - **Aleks** - `PlatformIO ausprobiert (Tried PlatformIO, German) <http://5volt-junkie.net/platformio/>`_
|
* Apr 06, 2016 - **Aleks** - `PlatformIO ausprobiert (Tried PlatformIO, German) <http://5volt-junkie.net/platformio/>`_
|
||||||
|
* 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) <http://www.clubemaker.com.br/?rota=artigo/81>`_
|
||||||
* Mar 30, 2016 - **Brandon Cannaday** - `Getting Started with PlatformIO and ESP8266 NodeMcu <https://www.losant.com/blog/getting-started-with-platformio-esp8266-nodemcu>`_
|
* Mar 30, 2016 - **Brandon Cannaday** - `Getting Started with PlatformIO and ESP8266 NodeMcu <https://www.losant.com/blog/getting-started-with-platformio-esp8266-nodemcu>`_
|
||||||
* Mar 29, 2016 - **Pablo Peñalve** - `PlatformIO + Geany + Raspberry PI, Spanish <http://ret-catriel.blogspot.com/2016/03/framework-platformio-geany-raspberry-pi.html>`_
|
* Mar 29, 2016 - **Pablo Peñalve** - `PlatformIO + Geany + Raspberry PI, Spanish <http://ret-catriel.blogspot.com/2016/03/framework-platformio-geany-raspberry-pi.html>`_
|
||||||
* Mar 24, 2016 - **NAzT** - `PlatformIO และการปรับแต่ง เพื่อใช้สำหรับพัฒนา Arduino Library (PlatformIO and advanced development for Arduino Library, Thai) <https://cmmakerclub.com/tools-2/config-platformio-for-arduino-framework-developer/>`_
|
* Mar 24, 2016 - **NAzT** - `PlatformIO และการปรับแต่ง เพื่อใช้สำหรับพัฒนา Arduino Library (PlatformIO and advanced development for Arduino Library, Thai) <https://cmmakerclub.com/tools-2/config-platformio-for-arduino-framework-developer/>`_
|
||||||
|
@@ -44,143 +44,21 @@ Put ``appveyor.yml`` to the root directory of the GitHub repository.
|
|||||||
|
|
||||||
build: off
|
build: off
|
||||||
environment:
|
environment:
|
||||||
global:
|
|
||||||
WITH_COMPILER: "cmd /E:ON /V:ON /C .\\scripts\\appveyor\\run_with_compiler.cmd"
|
|
||||||
matrix:
|
matrix:
|
||||||
- PLATFORMIO_CI_SRC: "path\\to\\source\\file.c"
|
- PLATFORMIO_CI_SRC: "path\\to\\source\\file.c"
|
||||||
PLATFORMIO_CI_SRC: "path\\to\\source\\file.ino"
|
- PLATFORMIO_CI_SRC: "path\\to\\source\\file.ino"
|
||||||
PLATFORMIO_CI_SRC: "path\\to\\source\\directory"
|
- PLATFORMIO_CI_SRC: "path\\to\\source\\directory"
|
||||||
WINDOWS_SDK_VERSION: "v7.0"
|
|
||||||
PYTHON_HOME: "C:\\Python27-x64"
|
|
||||||
PYTHON_VERSION: "2.7"
|
|
||||||
PYTHON_ARCH: "64"
|
|
||||||
install:
|
install:
|
||||||
- "git submodule update --init --recursive"
|
- cmd: git submodule update --init --recursive
|
||||||
- "powershell scripts\\appveyor\\install.ps1"
|
- cmd: SET PATH=%PATH%;C:\Python27\Scripts
|
||||||
before_test:
|
- cmd: pip install -U platformio
|
||||||
- cmd: SET PATH=%PATH%;%PYTHON_HOME%;%PYTHON_HOME%\Scripts
|
|
||||||
test_script:
|
test_script:
|
||||||
- '%WITH_COMPILER% %PYTHON_HOME%\\Scripts\\platformio ci --board=TYPE_1 --board=TYPE_2 --board=TYPE_N'
|
- cmd: platformio ci --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
|
||||||
|
|
||||||
|
|
||||||
Then create ``scripts/appveyor`` folder and put these 2 scripts (they are the
|
|
||||||
same for the all projects, don't need to modify them):
|
|
||||||
|
|
||||||
1. ``scripts/appveyor/install.ps1``:
|
|
||||||
|
|
||||||
.. code-block:: PowerShell
|
|
||||||
|
|
||||||
$BASE_URL = "https://www.python.org/ftp/python/"
|
|
||||||
$GET_PIP_URL = "https://bootstrap.pypa.io/get-pip.py"
|
|
||||||
$GET_PIP_PATH = "C:\get-pip.py"
|
|
||||||
|
|
||||||
|
|
||||||
function DownloadPython ($python_version, $platform_suffix) {
|
|
||||||
$webclient = New-Object System.Net.WebClient
|
|
||||||
$filename = "python-" + $python_version + $platform_suffix + ".msi"
|
|
||||||
$url = $BASE_URL + $python_version + "/" + $filename
|
|
||||||
|
|
||||||
$basedir = $pwd.Path + "\"
|
|
||||||
$filepath = $basedir + $filename
|
|
||||||
if (Test-Path $filename) {
|
|
||||||
Write-Host "Reusing" $filepath
|
|
||||||
return $filepath
|
|
||||||
}
|
|
||||||
|
|
||||||
# Download and retry up to 5 times in case of network transient errors.
|
|
||||||
Write-Host "Downloading" $filename "from" $url
|
|
||||||
$retry_attempts = 3
|
|
||||||
for($i=0; $i -lt $retry_attempts; $i++){
|
|
||||||
try {
|
|
||||||
$webclient.DownloadFile($url, $filepath)
|
|
||||||
break
|
|
||||||
}
|
|
||||||
Catch [Exception]{
|
|
||||||
Start-Sleep 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Write-Host "File saved at" $filepath
|
|
||||||
return $filepath
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function InstallPython ($python_version, $architecture, $python_home) {
|
|
||||||
Write-Host "Installing Python" $python_version "for" $architecture "bit architecture to" $python_home
|
|
||||||
if (Test-Path $python_home) {
|
|
||||||
Write-Host $python_home "already exists, skipping."
|
|
||||||
return $false
|
|
||||||
}
|
|
||||||
if ($architecture -eq "32") {
|
|
||||||
$platform_suffix = ""
|
|
||||||
} else {
|
|
||||||
$platform_suffix = ".amd64"
|
|
||||||
}
|
|
||||||
$filepath = DownloadPython $python_version $platform_suffix
|
|
||||||
Write-Host "Installing" $filepath "to" $python_home
|
|
||||||
$args = "/qn /i $filepath TARGETDIR=$python_home"
|
|
||||||
Write-Host "msiexec.exe" $args
|
|
||||||
Start-Process -FilePath "msiexec.exe" -ArgumentList $args -Wait -Passthru
|
|
||||||
Write-Host "Python $python_version ($architecture) installation complete"
|
|
||||||
return $true
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function InstallPip ($python_home) {
|
|
||||||
$python_path = $python_home + "/python.exe"
|
|
||||||
Write-Host "Installing pip..."
|
|
||||||
$webclient = New-Object System.Net.WebClient
|
|
||||||
$webclient.DownloadFile($GET_PIP_URL, $GET_PIP_PATH)
|
|
||||||
Write-Host "Executing:" $python_path $GET_PIP_PATH
|
|
||||||
Start-Process -FilePath "$python_path" -ArgumentList "$GET_PIP_PATH" -Wait -Passthru
|
|
||||||
}
|
|
||||||
|
|
||||||
function InstallPackage ($python_home, $pkg) {
|
|
||||||
$pip_path = $python_home + "/Scripts/pip.exe"
|
|
||||||
& $pip_path install -U $pkg
|
|
||||||
}
|
|
||||||
|
|
||||||
function main () {
|
|
||||||
InstallPython $env:PYTHON_VERSION $env:PYTHON_ARCH $env:PYTHON_HOME
|
|
||||||
InstallPip $env:PYTHON_HOME
|
|
||||||
InstallPackage $env:PYTHON_HOME setuptools
|
|
||||||
InstallPackage $env:PYTHON_HOME platformio
|
|
||||||
}
|
|
||||||
|
|
||||||
main
|
|
||||||
|
|
||||||
2. ``scripts/appveyor/run_with_compiler.cmd``:
|
|
||||||
|
|
||||||
.. code-block:: guess
|
|
||||||
|
|
||||||
@ECHO OFF
|
|
||||||
|
|
||||||
SET COMMAND_TO_RUN=%*
|
|
||||||
SET WIN_SDK_ROOT=C:\Program Files\Microsoft SDKs\Windows
|
|
||||||
|
|
||||||
SET MAJOR_PYTHON_VERSION="%PYTHON_VERSION:~0,1%"
|
|
||||||
IF %MAJOR_PYTHON_VERSION% == "2" (
|
|
||||||
SET WINDOWS_SDK_VERSION="v7.0"
|
|
||||||
) ELSE IF %MAJOR_PYTHON_VERSION% == "3" (
|
|
||||||
SET WINDOWS_SDK_VERSION="v7.1"
|
|
||||||
) ELSE (
|
|
||||||
ECHO Unsupported Python version: "%MAJOR_PYTHON_VERSION%"
|
|
||||||
EXIT 1
|
|
||||||
)
|
|
||||||
|
|
||||||
IF "%PYTHON_ARCH%"=="64" (
|
|
||||||
ECHO Configuring Windows SDK %WINDOWS_SDK_VERSION% for Python %MAJOR_PYTHON_VERSION% on a 64 bit architecture
|
|
||||||
SET DISTUTILS_USE_SDK=1
|
|
||||||
SET MSSdk=1
|
|
||||||
"%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Setup\WindowsSdkVer.exe" -q -version:%WINDOWS_SDK_VERSION%
|
|
||||||
"%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Bin\SetEnv.cmd" /x64 /release
|
|
||||||
ECHO Executing: %COMMAND_TO_RUN%
|
|
||||||
call %COMMAND_TO_RUN% || EXIT 1
|
|
||||||
) ELSE (
|
|
||||||
ECHO Using default MSVC build environment for 32 bit architecture
|
|
||||||
ECHO Executing: %COMMAND_TO_RUN%
|
|
||||||
call %COMMAND_TO_RUN% || EXIT 1
|
|
||||||
)
|
|
||||||
|
|
||||||
For more details as for PlatformIO build process please look into :ref:`cmd_ci`
|
For more details as for PlatformIO build process please look into :ref:`cmd_ci`
|
||||||
command.
|
command.
|
||||||
|
|
||||||
@@ -194,20 +72,16 @@ Examples
|
|||||||
|
|
||||||
build: off
|
build: off
|
||||||
environment:
|
environment:
|
||||||
global:
|
|
||||||
WITH_COMPILER: "cmd /E:ON /V:ON /C .\\scripts\\appveyor\\run_with_compiler.cmd"
|
|
||||||
matrix:
|
matrix:
|
||||||
- PLATFORMIO_CI_SRC: "examples\\Bluetooth\\PS3SPP\\PS3SPP.ino"
|
- PLATFORMIO_CI_SRC: "examples\\Bluetooth\\PS3SPP\\PS3SPP.ino"
|
||||||
PLATFORMIO_CI_SRC: "examples\\pl2303\\pl2303_gps\\pl2303_gps.ino"
|
- PLATFORMIO_CI_SRC: "examples\\pl2303\\pl2303_gps\\pl2303_gps.ino"
|
||||||
WINDOWS_SDK_VERSION: "v7.0"
|
|
||||||
PYTHON_HOME: "C:\\Python27-x64"
|
|
||||||
PYTHON_VERSION: "2.7"
|
|
||||||
PYTHON_ARCH: "64"
|
|
||||||
install:
|
install:
|
||||||
- "git submodule update --init --recursive"
|
- cmd: git submodule update --init --recursive
|
||||||
- "powershell scripts\\appveyor\\install.ps1"
|
- cmd: SET PATH=%PATH%;C:\Python27\Scripts
|
||||||
before_test:
|
- cmd: pip install -U platformio
|
||||||
- cmd: SET PATH=%PATH%;%PYTHON_HOME%;%PYTHON_HOME%\Scripts
|
- cmd: git clone https://github.com/xxxajk/spi4teensy3.git C:\spi4teensy
|
||||||
- cmd: git clone https://github.com/xxxajk/spi4teensy3.git c:\spi4teensy
|
|
||||||
test_script:
|
test_script:
|
||||||
- '%WITH_COMPILER% %PYTHON_HOME%\\Scripts\\platformio ci --lib="." --lib="c:\spi4teensy" --board=uno --board=teensy31 --board=due'
|
- cmd: platformio ci --lib="." --lib="C:\\spi4teensy" --board=uno --board=teensy31 --board=due
|
||||||
|
@@ -19,7 +19,7 @@ Demo & Projects
|
|||||||
Project Examples
|
Project Examples
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
Preconfigured demo projects are located in `PlatformIO GitHub <https://github.com/platformio/platformio/tree/develop/examples>`_ repository.
|
Preconfigured demo projects are located in `PlatformIO GitHub <https://github.com/platformio/platformio-examples/tree/develop>`_ repository.
|
||||||
|
|
||||||
"Blink Project"
|
"Blink Project"
|
||||||
---------------
|
---------------
|
||||||
|
@@ -14,6 +14,10 @@
|
|||||||
Frequently Asked Questions
|
Frequently Asked Questions
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
We have a big database with `Frequently Asked Questions in our Community Forums <https://community.platformio.org/c/faq>`_.
|
||||||
|
Please have a look at it.
|
||||||
|
|
||||||
.. contents::
|
.. contents::
|
||||||
|
|
||||||
General
|
General
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
@@ -571,13 +571,6 @@ Digilent
|
|||||||
- 512 Kb
|
- 512 Kb
|
||||||
- 128 Kb
|
- 128 Kb
|
||||||
|
|
||||||
* - ``openbci``
|
|
||||||
- `Digilent OpenScope <http://store.digilentinc.com/>`_
|
|
||||||
- 32MX250F128B
|
|
||||||
- 40 MHz
|
|
||||||
- 128 Kb
|
|
||||||
- 32 Kb
|
|
||||||
|
|
||||||
* - ``openscope``
|
* - ``openscope``
|
||||||
- `Digilent OpenScope <http://store.digilentinc.com/>`_
|
- `Digilent OpenScope <http://store.digilentinc.com/>`_
|
||||||
- 32MZ2048EFG124
|
- 32MZ2048EFG124
|
||||||
@@ -1020,6 +1013,13 @@ Mcudude
|
|||||||
- 64 Kb
|
- 64 Kb
|
||||||
- 4 Kb
|
- 4 Kb
|
||||||
|
|
||||||
|
* - ``mightycore8535``
|
||||||
|
- `MightyCore ATmega8535 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
|
||||||
|
- ATMEGA16
|
||||||
|
- 16 MHz
|
||||||
|
- 8 Kb
|
||||||
|
- 0.5 Kb
|
||||||
|
|
||||||
Microduino
|
Microduino
|
||||||
~~~~~~~~~~
|
~~~~~~~~~~
|
||||||
|
|
||||||
@@ -1150,6 +1150,26 @@ Olimex
|
|||||||
- 256 Kb
|
- 256 Kb
|
||||||
- 32 Kb
|
- 32 Kb
|
||||||
|
|
||||||
|
OpenBCI
|
||||||
|
~~~~~~~
|
||||||
|
|
||||||
|
.. list-table::
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
* - Type ``board``
|
||||||
|
- Name
|
||||||
|
- Microcontroller
|
||||||
|
- Frequency
|
||||||
|
- Flash
|
||||||
|
- RAM
|
||||||
|
|
||||||
|
* - ``openbci``
|
||||||
|
- `OpenBCI 32bit <http://shop.openbci.com/>`_
|
||||||
|
- 32MX250F128B
|
||||||
|
- 40 MHz
|
||||||
|
- 128 Kb
|
||||||
|
- 32 Kb
|
||||||
|
|
||||||
PONTECH
|
PONTECH
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
@@ -77,7 +77,7 @@ TI
|
|||||||
|
|
||||||
* - ``lpmsp430fr4133``
|
* - ``lpmsp430fr4133``
|
||||||
- `TI LaunchPad w/ msp430fr4133 <http://www.ti.com/tool/msp-exp430fr4133>`_
|
- `TI LaunchPad w/ msp430fr4133 <http://www.ti.com/tool/msp-exp430fr4133>`_
|
||||||
- MSP430G2553
|
- MSP430FR4133
|
||||||
- 16 MHz
|
- 16 MHz
|
||||||
- 16 Kb
|
- 16 Kb
|
||||||
- 2 Kb
|
- 2 Kb
|
||||||
@@ -98,7 +98,7 @@ TI
|
|||||||
|
|
||||||
* - ``lpmsp430fr6989``
|
* - ``lpmsp430fr6989``
|
||||||
- `TI LaunchPad w/ msp430fr6989 <http://www.ti.com/tool/msp-exp430fr6989>`_
|
- `TI LaunchPad w/ msp430fr6989 <http://www.ti.com/tool/msp-exp430fr6989>`_
|
||||||
- MSP430G2553
|
- MSP430FR6989
|
||||||
- 16 MHz
|
- 16 MHz
|
||||||
- 128 Kb
|
- 128 Kb
|
||||||
- 2 Kb
|
- 2 Kb
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
@@ -286,6 +286,26 @@ JKSoft
|
|||||||
- 128 Kb
|
- 128 Kb
|
||||||
- 16 Kb
|
- 16 Kb
|
||||||
|
|
||||||
|
MultiTech
|
||||||
|
~~~~~~~~~
|
||||||
|
|
||||||
|
.. list-table::
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
* - Type ``board``
|
||||||
|
- Name
|
||||||
|
- Microcontroller
|
||||||
|
- Frequency
|
||||||
|
- Flash
|
||||||
|
- RAM
|
||||||
|
|
||||||
|
* - ``mts_mdot_f411re``
|
||||||
|
- `MultiTech mDot F411 <https://developer.mbed.org/platforms/MTS-mDot-F411/>`_
|
||||||
|
- STM32F411RET6
|
||||||
|
- 100 MHz
|
||||||
|
- 512 Kb
|
||||||
|
- 128 Kb
|
||||||
|
|
||||||
NGX Technologies
|
NGX Technologies
|
||||||
~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
@@ -705,6 +725,13 @@ Silicon Labs
|
|||||||
- 256 Kb
|
- 256 Kb
|
||||||
- 32 Kb
|
- 32 Kb
|
||||||
|
|
||||||
|
* - ``efm32pg_stk3401``
|
||||||
|
- `Silicon Labs SLSTK3401A (Pearl Gecko) <https://developer.mbed.org/platforms/EFM32-Pearl-Gecko/>`_
|
||||||
|
- EFM32PG1B200F256
|
||||||
|
- 40 MHz
|
||||||
|
- 256 Kb
|
||||||
|
- 32 Kb
|
||||||
|
|
||||||
* - ``efm32wg_stk3800``
|
* - ``efm32wg_stk3800``
|
||||||
- `Silicon Labs EFM32WG-STK3800 (Wonder Gecko) <https://developer.mbed.org/platforms/EFM32-Wonder-Gecko/>`_
|
- `Silicon Labs EFM32WG-STK3800 (Wonder Gecko) <https://developer.mbed.org/platforms/EFM32-Wonder-Gecko/>`_
|
||||||
- EFM32WG990F256
|
- EFM32WG990F256
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@@ -437,6 +437,19 @@ To force Smart Code Linter to use Arduino files as C++ please
|
|||||||
Frequently Asked Questions
|
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
|
Automatically save on build
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
@@ -458,10 +471,13 @@ package and `C/C++ Uncrustify Code Beautifier <http://sourceforge.net/projects/u
|
|||||||
Articles / Manuals
|
Articles / Manuals
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
|
* May 30, 2016 - **Ron Moerman** - `IoT Development with PlatformIO <https://electronicsworkbench.io/blog/platformio>`_
|
||||||
|
* May 01, 2016 - **Pedro Minatel** - `PlatformIO – Uma alternativa ao Arduino IDE (PlatformIO - An alternative to the Arduino IDE, Portuguese) <http://pedrominatel.com.br/ferramentas/platformio-uma-alternativa-ao-arduino-ide/>`_
|
||||||
* Apr 23, 2016 - **Al Williams** - `Hackaday: Atomic Arduino (and Other) Development <http://hackaday.com/2016/04/23/atomic-arduino-and-other-development/>`_
|
* Apr 23, 2016 - **Al Williams** - `Hackaday: Atomic Arduino (and Other) Development <http://hackaday.com/2016/04/23/atomic-arduino-and-other-development/>`_
|
||||||
* Apr 16, 2016 - **Sathittham Sangthong** - `[PlatformIO] มาลองเล่น PlatformIO แทน Arduino IDE กัน (Let's play together with PlatformIO IDE [alternative to Arduino IDE], Thai) <http://www.sathittham.com/platformio/platformio-ide/>`_
|
* Apr 16, 2016 - **Sathittham Sangthong** - `[PlatformIO] มาลองเล่น PlatformIO แทน Arduino IDE กัน (Let's play together with PlatformIO IDE [alternative to Arduino IDE], Thai) <http://www.sathittham.com/platformio/platformio-ide/>`_
|
||||||
* Apr 11, 2016 - **Matjaz Trcek** - `Top 5 Arduino integrated development environments <https://codeandunicorns.com/top-5-arduino-integrated-development-environments-ide/>`_
|
* Apr 11, 2016 - **Matjaz Trcek** - `Top 5 Arduino integrated development environments <https://codeandunicorns.com/top-5-arduino-integrated-development-environments-ide/>`_
|
||||||
* Apr 06, 2016 - **Aleks** - `PlatformIO ausprobiert (Tried PlatformIO, German) <http://5volt-junkie.net/platformio/>`_
|
* Apr 06, 2016 - **Aleks** - `PlatformIO ausprobiert (Tried PlatformIO, German) <http://5volt-junkie.net/platformio/>`_
|
||||||
|
* 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) <http://www.clubemaker.com.br/?rota=artigo/81>`_
|
||||||
* Mar 30, 2016 - **Brandon Cannaday** - `Getting Started with PlatformIO and ESP8266 NodeMcu <https://www.getstructure.io/blog/getting-started-with-platformio-esp8266-nodemcu>`_
|
* Mar 30, 2016 - **Brandon Cannaday** - `Getting Started with PlatformIO and ESP8266 NodeMcu <https://www.getstructure.io/blog/getting-started-with-platformio-esp8266-nodemcu>`_
|
||||||
* Mar 12, 2016 - **Peter Marks** - `PlatformIO, the Arduino IDE for programmers <http://blog.marxy.org/2016/03/platformio-arduino-ide-for-programmers.html>`_
|
* Mar 12, 2016 - **Peter Marks** - `PlatformIO, the Arduino IDE for programmers <http://blog.marxy.org/2016/03/platformio-arduino-ide-for-programmers.html>`_
|
||||||
* Mar 05, 2016 - **brichacek.net** - `PlatformIO – otevřený ekosystém pro vývoj IoT (PlatformIO – an open source ecosystem for IoT development, Czech) <http://blog.brichacek.net/platformio-otevreny-ekosystem-pro-vyvoj-iot/>`_
|
* Mar 05, 2016 - **brichacek.net** - `PlatformIO – otevřený ekosystém pro vývoj IoT (PlatformIO – an open source ecosystem for IoT development, Czech) <http://blog.brichacek.net/platformio-otevreny-ekosystem-pro-vyvoj-iot/>`_
|
||||||
|
@@ -71,9 +71,18 @@ If you have some problems with unresolved includes, defines, etc., then
|
|||||||
after generating process wont be reflected in IDE. To fix it you
|
after generating process wont be reflected in IDE. To fix it you
|
||||||
need to reinitialize project using :ref:`cmd_init` (repeat it).
|
need to reinitialize project using :ref:`cmd_init` (repeat it).
|
||||||
|
|
||||||
|
Live Integration
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Eclipse Virtual IoT Meetup: `PlatformIO: a cross-platform IoT solution to build them all! <http://www.meetup.com/Virtual-IoT/events/229964142/>`_
|
||||||
|
|
||||||
|
.. image:: ../_static/ide-eclipse-virtualiot.jpg
|
||||||
|
:target: https://www.youtube.com/watch?v=6t7UbX812Yw
|
||||||
|
|
||||||
Articles / Manuals
|
Articles / Manuals
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
|
* May 05, 2016 - **Ivan Kravets, Ph.D. / Eclipse Virtual IoT Meetup** - `PlatformIO: a cross-platform IoT solution to build them all! <http://www.meetup.com/Virtual-IoT/events/229964142/>`_
|
||||||
* Sep 01, 2015 - **Thomas P. Weldon, Ph.D.** - `Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation <http://thomasweldon.com/tpw/courses/embeddsp/p00pcFrdmK64_eclipsePlatformioSetup.html>`_
|
* Sep 01, 2015 - **Thomas P. Weldon, Ph.D.** - `Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation <http://thomasweldon.com/tpw/courses/embeddsp/p00pcFrdmK64_eclipsePlatformioSetup.html>`_
|
||||||
* Jul 11, 2015 - **TrojanC** - `Learning Arduino GitHub Repository <http://www.trojanc.co.za/2015/07/11/learning-arduino-github-repository/>`_
|
* Jul 11, 2015 - **TrojanC** - `Learning Arduino GitHub Repository <http://www.trojanc.co.za/2015/07/11/learning-arduino-github-repository/>`_
|
||||||
* June 20, 2014 - **Ivan Kravets, Ph.D.** - `Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO <http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio>`_
|
* June 20, 2014 - **Ivan Kravets, Ph.D.** - `Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO <http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio>`_
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
@@ -39,7 +39,7 @@ libOpenCM3, etc.*
|
|||||||
* :ref:`ide_atom`
|
* :ref:`ide_atom`
|
||||||
* `Web 2.0 Library Search <http://platformio.org/lib>`_ |
|
* `Web 2.0 Library Search <http://platformio.org/lib>`_ |
|
||||||
`Embedded Boards Explorer <http://platformio.org/boards>`_
|
`Embedded Boards Explorer <http://platformio.org/boards>`_
|
||||||
* `Project Examples <https://github.com/platformio/platformio/tree/develop/examples>`_
|
* `Project Examples <https://github.com/platformio/platformio-examples/tree/develop>`_
|
||||||
* `Source Code <https://github.com/platformio/platformio>`_ |
|
* `Source Code <https://github.com/platformio/platformio>`_ |
|
||||||
`Issues <https://github.com/platformio/platformio/issues>`_
|
`Issues <https://github.com/platformio/platformio/issues>`_
|
||||||
* `Blog <http://www.ikravets.com/category/computer-life/platformio>`_ |
|
* `Blog <http://www.ikravets.com/category/computer-life/platformio>`_ |
|
||||||
@@ -57,8 +57,7 @@ Embedded Development. *Easier Than Ever.*
|
|||||||
* Cloud compiling and :ref:`ci` with *AppVeyor, Circle CI, Drone, Shippable, Travis CI*
|
* Cloud compiling and :ref:`ci` with *AppVeyor, Circle CI, Drone, Shippable, Travis CI*
|
||||||
* Built-in :ref:`Serial Port Monitor <cmd_serialports_monitor>` and
|
* Built-in :ref:`Serial Port Monitor <cmd_serialports_monitor>` and
|
||||||
configurable build :ref:`-flags/-options <projectconf_build_flags>`
|
configurable build :ref:`-flags/-options <projectconf_build_flags>`
|
||||||
* Pre-built toolchains, :ref:`frameworks` for the
|
* Pre-built toolchains, :ref:`frameworks` for the :ref:`platforms`
|
||||||
:ref:`Development Platforms <platforms>`
|
|
||||||
|
|
||||||
Smart Build System. *Fast and Reliable.*
|
Smart Build System. *Fast and Reliable.*
|
||||||
----------------------------------------
|
----------------------------------------
|
||||||
@@ -108,8 +107,11 @@ Contents
|
|||||||
:caption: Instruments
|
:caption: Instruments
|
||||||
:maxdepth: 3
|
:maxdepth: 3
|
||||||
|
|
||||||
Platforms & Boards <platforms/index>
|
platforms/index
|
||||||
|
platforms/embedded_boards
|
||||||
frameworks/index
|
frameworks/index
|
||||||
|
platforms/creating_platform
|
||||||
|
platforms/creating_board
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:caption: Library Manager
|
:caption: Library Manager
|
||||||
|
@@ -141,7 +141,7 @@ Examples:
|
|||||||
The repository in which the source code can be found. The field consists for the
|
The repository in which the source code can be found. The field consists for the
|
||||||
next items:
|
next items:
|
||||||
|
|
||||||
* ``type``
|
* ``type`` the only "git", "hg" or "svn" are supported
|
||||||
* ``url``
|
* ``url``
|
||||||
* ``branch`` if is not specified, default branch will be used. This field will
|
* ``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`.
|
be ignored if tag/release exists with the value of :ref:`libjson_version`.
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
@@ -702,6 +702,13 @@ Mcudude
|
|||||||
- 64 Kb
|
- 64 Kb
|
||||||
- 4 Kb
|
- 4 Kb
|
||||||
|
|
||||||
|
* - ``mightycore8535``
|
||||||
|
- `MightyCore ATmega8535 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
|
||||||
|
- ATMEGA16
|
||||||
|
- 16 MHz
|
||||||
|
- 8 Kb
|
||||||
|
- 0.5 Kb
|
||||||
|
|
||||||
Microduino
|
Microduino
|
||||||
~~~~~~~~~~
|
~~~~~~~~~~
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
@@ -33,10 +33,9 @@ JSON Structure
|
|||||||
|
|
||||||
The key fields:
|
The key fields:
|
||||||
|
|
||||||
* ``build`` data will be used by :ref:`Platforms <platforms>` and
|
* ``build`` data will be used by :ref:`platforms` and :ref:`frameworks` builders
|
||||||
:ref:`frameworks` builders
|
|
||||||
* ``frameworks`` is the list with supported :ref:`frameworks`
|
* ``frameworks`` is the list with supported :ref:`frameworks`
|
||||||
* ``platform`` main type of :ref:`Platforms <platforms>`
|
* ``platform`` main type of :ref:`platforms`
|
||||||
* ``upload`` upload settings which depend on the ``platform``
|
* ``upload`` upload settings which depend on the ``platform``
|
||||||
|
|
||||||
.. code-block:: json
|
.. code-block:: json
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
@@ -27,7 +27,7 @@ different/own build scripts, uploader and etc.
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
If you want to change some build flags for the existing
|
If you want to change some build flags for the existing
|
||||||
:ref:`Platforms <platforms>`, you don't need to create (or duplicate) own
|
:ref:`platforms`, you don't need to create (or duplicate) own
|
||||||
development platforms! Please use :ref:`projectconf_build_flags` option.
|
development platforms! Please use :ref:`projectconf_build_flags` option.
|
||||||
|
|
||||||
**Step-by-Step Manual**
|
**Step-by-Step Manual**
|
||||||
|
2670
docs/platforms/embedded_boards.rst
Normal file
2670
docs/platforms/embedded_boards.rst
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@@ -240,6 +240,10 @@ Using Arduino Framework with Staging version
|
|||||||
Articles
|
Articles
|
||||||
--------
|
--------
|
||||||
|
|
||||||
|
* May 29, 2016 - **Chris Synan** - `Reverse Engineer RF Remote Controller for IoT! <http://www.instructables.com/id/Reverse-Engineer-RF-Remote-Controller-for-IoT/?ALLSTEPS>`_
|
||||||
|
* May 22, 2016 - **Pedro Minatel** - `Estação meteorológica com ESP8266 (Weather station with ESP8266, Portuguese) <http://pedrominatel.com.br/esp8266/estacao-meteorologica-com-esp8266/>`_
|
||||||
|
* May 16, 2016 - **Pedro Minatel** - `Controle remoto WiFi com ESP8266 (WiFi remote control using ESP8266, Portuguese) <http://pedrominatel.com.br/esp8266/controle-remoto-wifi-com-esp8266/>`_
|
||||||
|
* May 08, 2016 - **Radoslaw Bob** - `Touch controlled buzzer (Nodemcu ESP8266) <https://gettoknowthebob.wordpress.com/2016/05/08/touch-controlled-buzzer-nodemcu-esp8266/>`_
|
||||||
* Mar 07, 2016 - **Joran Jessurun** - `Nieuwe wereld met PlatformIO (New world with PlatformIO, Dutch) <http://blog.wisclub.nl/#post178>`_
|
* Mar 07, 2016 - **Joran Jessurun** - `Nieuwe wereld met PlatformIO (New world with PlatformIO, Dutch) <http://blog.wisclub.nl/#post178>`_
|
||||||
* Feb 25, 2016 - **NutDIY** - `PlatformIO Blink On Nodemcu Dev Kit V1.0 (ESP 12-E) <http://nutdiy.blogspot.com/2016/02/platformio-blink-on-nodemcu-dev-kit-v10.html>`_
|
* Feb 25, 2016 - **NutDIY** - `PlatformIO Blink On Nodemcu Dev Kit V1.0 (ESP 12-E) <http://nutdiy.blogspot.com/2016/02/platformio-blink-on-nodemcu-dev-kit-v10.html>`_
|
||||||
* Feb 23, 2016 - **Ptarmigan Labs** - `ESP8266 Over The Air updating – what are the options? <https://ptarmiganlabs.com/blog/2016/02/23/esp8266-over-the-air-updating-what-are-the-options/>`_
|
* Feb 23, 2016 - **Ptarmigan Labs** - `ESP8266 Over The Air updating – what are the options? <https://ptarmiganlabs.com/blog/2016/02/23/esp8266-over-the-air-updating-what-are-the-options/>`_
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
@@ -11,8 +11,8 @@
|
|||||||
|
|
||||||
.. _platforms:
|
.. _platforms:
|
||||||
|
|
||||||
Platforms & Embedded Boards
|
Development Platforms
|
||||||
===========================
|
=====================
|
||||||
|
|
||||||
*PlatformIO* has pre-built different development platforms for popular OS
|
*PlatformIO* has pre-built different development platforms for popular OS
|
||||||
(*Mac OS X, Linux (+ARM) and Windows*). Each of them include compiler,
|
(*Mac OS X, Linux (+ARM) and Windows*). Each of them include compiler,
|
||||||
@@ -54,12 +54,3 @@ Desktop
|
|||||||
linux_i686
|
linux_i686
|
||||||
linux_x86_64
|
linux_x86_64
|
||||||
windows_x86
|
windows_x86
|
||||||
|
|
||||||
Custom Platform & Board
|
|
||||||
-----------------------
|
|
||||||
|
|
||||||
.. toctree::
|
|
||||||
:maxdepth: 2
|
|
||||||
|
|
||||||
creating_platform
|
|
||||||
creating_board
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
@@ -177,13 +177,6 @@ Digilent
|
|||||||
- 512 Kb
|
- 512 Kb
|
||||||
- 128 Kb
|
- 128 Kb
|
||||||
|
|
||||||
* - ``openbci``
|
|
||||||
- `Digilent OpenScope <http://store.digilentinc.com/>`_
|
|
||||||
- 32MX250F128B
|
|
||||||
- 40 MHz
|
|
||||||
- 128 Kb
|
|
||||||
- 32 Kb
|
|
||||||
|
|
||||||
* - ``openscope``
|
* - ``openscope``
|
||||||
- `Digilent OpenScope <http://store.digilentinc.com/>`_
|
- `Digilent OpenScope <http://store.digilentinc.com/>`_
|
||||||
- 32MZ2048EFG124
|
- 32MZ2048EFG124
|
||||||
@@ -245,6 +238,26 @@ Olimex
|
|||||||
- 256 Kb
|
- 256 Kb
|
||||||
- 32 Kb
|
- 32 Kb
|
||||||
|
|
||||||
|
OpenBCI
|
||||||
|
~~~~~~~
|
||||||
|
|
||||||
|
.. list-table::
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
* - Type ``board``
|
||||||
|
- Name
|
||||||
|
- Microcontroller
|
||||||
|
- Frequency
|
||||||
|
- Flash
|
||||||
|
- RAM
|
||||||
|
|
||||||
|
* - ``openbci``
|
||||||
|
- `OpenBCI 32bit <http://shop.openbci.com/>`_
|
||||||
|
- 32MX250F128B
|
||||||
|
- 40 MHz
|
||||||
|
- 128 Kb
|
||||||
|
- 32 Kb
|
||||||
|
|
||||||
PONTECH
|
PONTECH
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
@@ -98,6 +98,13 @@ Silicon Labs
|
|||||||
- 256 Kb
|
- 256 Kb
|
||||||
- 32 Kb
|
- 32 Kb
|
||||||
|
|
||||||
|
* - ``efm32pg_stk3401``
|
||||||
|
- `Silicon Labs SLSTK3401A (Pearl Gecko) <https://developer.mbed.org/platforms/EFM32-Pearl-Gecko/>`_
|
||||||
|
- EFM32PG1B200F256
|
||||||
|
- 40 MHz
|
||||||
|
- 256 Kb
|
||||||
|
- 32 Kb
|
||||||
|
|
||||||
* - ``efm32wg_stk3800``
|
* - ``efm32wg_stk3800``
|
||||||
- `Silicon Labs EFM32WG-STK3800 (Wonder Gecko) <https://developer.mbed.org/platforms/EFM32-Wonder-Gecko/>`_
|
- `Silicon Labs EFM32WG-STK3800 (Wonder Gecko) <https://developer.mbed.org/platforms/EFM32-Wonder-Gecko/>`_
|
||||||
- EFM32WG990F256
|
- EFM32WG990F256
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
@@ -142,6 +142,26 @@ Armstrap
|
|||||||
- 512 Kb
|
- 512 Kb
|
||||||
- 192 Kb
|
- 192 Kb
|
||||||
|
|
||||||
|
MultiTech
|
||||||
|
~~~~~~~~~
|
||||||
|
|
||||||
|
.. list-table::
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
* - Type ``board``
|
||||||
|
- Name
|
||||||
|
- Microcontroller
|
||||||
|
- Frequency
|
||||||
|
- Flash
|
||||||
|
- RAM
|
||||||
|
|
||||||
|
* - ``mts_mdot_f411re``
|
||||||
|
- `MultiTech mDot F411 <https://developer.mbed.org/platforms/MTS-mDot-F411/>`_
|
||||||
|
- STM32F411RET6
|
||||||
|
- 100 MHz
|
||||||
|
- 512 Kb
|
||||||
|
- 128 Kb
|
||||||
|
|
||||||
ST
|
ST
|
||||||
~~
|
~~
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
@@ -122,7 +122,7 @@ TI
|
|||||||
|
|
||||||
* - ``lpmsp430fr4133``
|
* - ``lpmsp430fr4133``
|
||||||
- `TI LaunchPad w/ msp430fr4133 <http://www.ti.com/tool/msp-exp430fr4133>`_
|
- `TI LaunchPad w/ msp430fr4133 <http://www.ti.com/tool/msp-exp430fr4133>`_
|
||||||
- MSP430G2553
|
- MSP430FR4133
|
||||||
- 16 MHz
|
- 16 MHz
|
||||||
- 16 Kb
|
- 16 Kb
|
||||||
- 2 Kb
|
- 2 Kb
|
||||||
@@ -143,7 +143,7 @@ TI
|
|||||||
|
|
||||||
* - ``lpmsp430fr6989``
|
* - ``lpmsp430fr6989``
|
||||||
- `TI LaunchPad w/ msp430fr6989 <http://www.ti.com/tool/msp-exp430fr6989>`_
|
- `TI LaunchPad w/ msp430fr6989 <http://www.ti.com/tool/msp-exp430fr6989>`_
|
||||||
- MSP430G2553
|
- MSP430FR6989
|
||||||
- 16 MHz
|
- 16 MHz
|
||||||
- 128 Kb
|
- 128 Kb
|
||||||
- 2 Kb
|
- 2 Kb
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
@@ -194,7 +194,7 @@ General options
|
|||||||
``platform``
|
``platform``
|
||||||
^^^^^^^^^^^^
|
^^^^^^^^^^^^
|
||||||
|
|
||||||
:ref:`Platform <platforms>` type.
|
:ref:`platforms` type.
|
||||||
|
|
||||||
|
|
||||||
.. _projectconf_env_framework:
|
.. _projectconf_env_framework:
|
||||||
@@ -610,7 +610,7 @@ Examples
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
A full list with project examples can be found in
|
A full list with project examples can be found in
|
||||||
`PlatformIO Repository <https://github.com/platformio/platformio/tree/develop/examples>`_.
|
`PlatformIO Repository <https://github.com/platformio/platformio-examples/tree/develop>`_.
|
||||||
|
|
||||||
1. :ref:`platform_atmelavr`: Arduino UNO board with auto pre-configured
|
1. :ref:`platform_atmelavr`: Arduino UNO board with auto pre-configured
|
||||||
``board_*`` and ``upload_*`` options (use only ``board`` option) and Arduino
|
``board_*`` and ``upload_*`` options (use only ``board`` option) and Arduino
|
||||||
|
@@ -15,7 +15,7 @@ Quick Start
|
|||||||
===========
|
===========
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
If you are looking for a Qucik Start for PlatformIO IDE please follow to
|
If you are looking for a Quick Start for PlatformIO IDE please follow to
|
||||||
:ref:`PlatformIO IDE Quick Start <atom_ide_quickstart>` page.
|
:ref:`PlatformIO IDE Quick Start <atom_ide_quickstart>` page.
|
||||||
|
|
||||||
This tutorial introduces you to the basics of PlatformIO Command Line Interface
|
This tutorial introduces you to the basics of PlatformIO Command Line Interface
|
||||||
@@ -256,5 +256,5 @@ Arduino Uno:
|
|||||||
Further Reading
|
Further Reading
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
* `Project examples <https://github.com/platformio/platformio/tree/develop/examples>`_
|
* `Project examples <https://github.com/platformio/platformio-examples/tree/develop>`_
|
||||||
* :ref:`userguide` for PlatformIO CLI commands
|
* :ref:`userguide` for PlatformIO CLI commands
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
@@ -27,7 +27,7 @@ Usage
|
|||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
Check or update installed :ref:`Platforms <platforms>` and
|
Check or update installed :ref:`platforms` and
|
||||||
:ref:`Libraries <librarymanager>`
|
:ref:`Libraries <librarymanager>`
|
||||||
|
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
@@ -27,8 +27,7 @@ Usage
|
|||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
Install pre-built development :ref:`Platforms <platforms>` with related
|
Install pre-built development :ref:`platforms` with related packages.
|
||||||
packages.
|
|
||||||
|
|
||||||
There are several predefined aliases for packages, such as:
|
There are several predefined aliases for packages, such as:
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
@@ -27,7 +27,7 @@ Usage
|
|||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
List installed :ref:`Platforms <platforms>`
|
List installed :ref:`platforms`
|
||||||
|
|
||||||
Options
|
Options
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
@@ -27,7 +27,7 @@ Usage
|
|||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
Search for development :ref:`Platforms <platforms>`
|
Search for development :ref:`platforms`
|
||||||
|
|
||||||
Options
|
Options
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
@@ -27,7 +27,7 @@ Usage
|
|||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
Show details about the installed :ref:`Platforms <platforms>`
|
Show details about the installed :ref:`platforms`
|
||||||
|
|
||||||
|
|
||||||
Examples
|
Examples
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
@@ -27,7 +27,7 @@ Usage
|
|||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
Uninstall specified :ref:`Platforms <platforms>`
|
Uninstall specified :ref:`platforms`
|
||||||
|
|
||||||
|
|
||||||
Examples
|
Examples
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
.. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
@@ -27,7 +27,7 @@ Usage
|
|||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
Check or update installed :ref:`Platforms <platforms>`
|
Check or update installed :ref:`platforms`
|
||||||
|
|
||||||
|
|
||||||
Examples
|
Examples
|
||||||
|
2
examples
2
examples
Submodule examples updated: c06e843757...a5498135ba
@@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
VERSION = (2, 9, 1)
|
VERSION = (2, 9, 2)
|
||||||
__version__ = ".".join([str(s) for s in VERSION])
|
__version__ = ".".join([str(s) for s in VERSION])
|
||||||
|
|
||||||
__title__ = "platformio"
|
__title__ = "platformio"
|
||||||
|
@@ -561,7 +561,7 @@
|
|||||||
"variant": "OpenBCI"
|
"variant": "OpenBCI"
|
||||||
},
|
},
|
||||||
"frameworks": ["arduino"],
|
"frameworks": ["arduino"],
|
||||||
"name": "Digilent OpenScope",
|
"name": "OpenBCI 32bit",
|
||||||
"platform": "microchippic32",
|
"platform": "microchippic32",
|
||||||
"upload": {
|
"upload": {
|
||||||
"maximum_ram_size": 32768,
|
"maximum_ram_size": 32768,
|
||||||
@@ -571,7 +571,7 @@
|
|||||||
"speed": 115200,
|
"speed": 115200,
|
||||||
"wait_for_upload_port": true
|
"wait_for_upload_port": true
|
||||||
},
|
},
|
||||||
"url": "http://store.digilentinc.com/",
|
"url": "http://shop.openbci.com/",
|
||||||
"vendor": "Digilent"
|
"vendor": "OpenBCI"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -129,5 +129,27 @@
|
|||||||
},
|
},
|
||||||
"url": "https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board",
|
"url": "https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board",
|
||||||
"vendor": "Mcudude"
|
"vendor": "Mcudude"
|
||||||
|
},
|
||||||
|
|
||||||
|
"mightycore8535": {
|
||||||
|
"build": {
|
||||||
|
"core": "MightyCore",
|
||||||
|
"extra_flags": "-DARDUINO_ARCH_AVR -DARDUINO_AVR_ATmega8535",
|
||||||
|
"f_cpu": "16000000L",
|
||||||
|
"mcu": "atmega16",
|
||||||
|
"variant": "mightycore"
|
||||||
|
},
|
||||||
|
"frameworks": ["arduino"],
|
||||||
|
"name": "MightyCore ATmega8535",
|
||||||
|
"platform": "atmelavr",
|
||||||
|
"upload": {
|
||||||
|
"maximum_ram_size": 512,
|
||||||
|
"maximum_size": 7680,
|
||||||
|
"protocol": "arduino",
|
||||||
|
"require_upload_port" : true,
|
||||||
|
"speed": 115200
|
||||||
|
},
|
||||||
|
"url": "https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board",
|
||||||
|
"vendor": "Mcudude"
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -82,5 +82,22 @@
|
|||||||
},
|
},
|
||||||
"url": "https://developer.mbed.org/platforms/EFM32-Happy-Gecko/",
|
"url": "https://developer.mbed.org/platforms/EFM32-Happy-Gecko/",
|
||||||
"vendor": "Silicon Labs"
|
"vendor": "Silicon Labs"
|
||||||
|
},
|
||||||
|
|
||||||
|
"efm32pg_stk3401": {
|
||||||
|
"build": {
|
||||||
|
"f_cpu": "40000000L",
|
||||||
|
"cpu": "cortex-m4",
|
||||||
|
"mcu": "efm32pg1b200f256"
|
||||||
|
},
|
||||||
|
"frameworks": ["mbed"],
|
||||||
|
"name": "Silicon Labs SLSTK3401A (Pearl Gecko)",
|
||||||
|
"platform": "siliconlabsefm32",
|
||||||
|
"upload": {
|
||||||
|
"maximum_ram_size": 32768,
|
||||||
|
"maximum_size": 262144
|
||||||
|
},
|
||||||
|
"url": "https://developer.mbed.org/platforms/EFM32-Pearl-Gecko/",
|
||||||
|
"vendor": "Silicon Labs"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -14,7 +14,8 @@
|
|||||||
"platform": "ststm32",
|
"platform": "ststm32",
|
||||||
"upload": {
|
"upload": {
|
||||||
"maximum_ram_size": 131072,
|
"maximum_ram_size": 131072,
|
||||||
"maximum_size": 1048576
|
"maximum_size": 1048576,
|
||||||
|
"protocol": "stlink"
|
||||||
},
|
},
|
||||||
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF252419",
|
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF252419",
|
||||||
"vendor": "ST"
|
"vendor": "ST"
|
||||||
@@ -34,7 +35,8 @@
|
|||||||
"platform": "ststm32",
|
"platform": "ststm32",
|
||||||
"upload": {
|
"upload": {
|
||||||
"maximum_ram_size": 16384,
|
"maximum_ram_size": 16384,
|
||||||
"maximum_size": 131072
|
"maximum_size": 131072,
|
||||||
|
"protocol": "stlink"
|
||||||
},
|
},
|
||||||
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF258515",
|
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF258515",
|
||||||
"vendor": "ST"
|
"vendor": "ST"
|
||||||
@@ -54,7 +56,8 @@
|
|||||||
"platform": "ststm32",
|
"platform": "ststm32",
|
||||||
"upload": {
|
"upload": {
|
||||||
"maximum_ram_size": 49152,
|
"maximum_ram_size": 49152,
|
||||||
"maximum_size": 262144
|
"maximum_size": 262144,
|
||||||
|
"protocol": "stlink"
|
||||||
},
|
},
|
||||||
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF254044",
|
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF254044",
|
||||||
"vendor": "ST"
|
"vendor": "ST"
|
||||||
@@ -70,7 +73,8 @@
|
|||||||
"platform": "ststm32",
|
"platform": "ststm32",
|
||||||
"upload": {
|
"upload": {
|
||||||
"maximum_ram_size": 8192,
|
"maximum_ram_size": 8192,
|
||||||
"maximum_size": 131072
|
"maximum_size": 131072,
|
||||||
|
"protocol": "stlink"
|
||||||
},
|
},
|
||||||
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF250863",
|
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF250863",
|
||||||
"vendor": "ST"
|
"vendor": "ST"
|
||||||
@@ -86,7 +90,8 @@
|
|||||||
"platform": "ststm32",
|
"platform": "ststm32",
|
||||||
"upload": {
|
"upload": {
|
||||||
"maximum_ram_size": 8192,
|
"maximum_ram_size": 8192,
|
||||||
"maximum_size": 65536
|
"maximum_size": 65536,
|
||||||
|
"protocol": "stlink"
|
||||||
},
|
},
|
||||||
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF253215",
|
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF253215",
|
||||||
"vendor": "ST"
|
"vendor": "ST"
|
||||||
@@ -102,7 +107,8 @@
|
|||||||
"platform": "ststm32",
|
"platform": "ststm32",
|
||||||
"upload": {
|
"upload": {
|
||||||
"maximum_ram_size": 16384,
|
"maximum_ram_size": 16384,
|
||||||
"maximum_size": 65536
|
"maximum_size": 65536,
|
||||||
|
"protocol": "stlink"
|
||||||
},
|
},
|
||||||
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF260318",
|
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF260318",
|
||||||
"vendor": "ST"
|
"vendor": "ST"
|
||||||
@@ -118,7 +124,8 @@
|
|||||||
"platform": "ststm32",
|
"platform": "ststm32",
|
||||||
"upload": {
|
"upload": {
|
||||||
"maximum_ram_size": 65536,
|
"maximum_ram_size": 65536,
|
||||||
"maximum_size": 262144
|
"maximum_size": 262144,
|
||||||
|
"protocol": "stlink"
|
||||||
},
|
},
|
||||||
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF259098",
|
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF259098",
|
||||||
"vendor": "ST"
|
"vendor": "ST"
|
||||||
@@ -134,7 +141,8 @@
|
|||||||
"platform": "ststm32",
|
"platform": "ststm32",
|
||||||
"upload": {
|
"upload": {
|
||||||
"maximum_ram_size": 262144,
|
"maximum_ram_size": 262144,
|
||||||
"maximum_size": 2097152
|
"maximum_size": 2097152,
|
||||||
|
"protocol": "stlink"
|
||||||
},
|
},
|
||||||
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF259090",
|
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF259090",
|
||||||
"vendor": "ST"
|
"vendor": "ST"
|
||||||
@@ -425,7 +433,8 @@
|
|||||||
"platform": "ststm32",
|
"platform": "ststm32",
|
||||||
"upload": {
|
"upload": {
|
||||||
"maximum_ram_size": 8192,
|
"maximum_ram_size": 8192,
|
||||||
"maximum_size": 65536
|
"maximum_size": 65536,
|
||||||
|
"protocol": "stlink"
|
||||||
},
|
},
|
||||||
"url": "http://www.st.com/web/en/catalog/tools/PF260319",
|
"url": "http://www.st.com/web/en/catalog/tools/PF260319",
|
||||||
"vendor": "ST"
|
"vendor": "ST"
|
||||||
@@ -441,7 +450,8 @@
|
|||||||
"platform": "ststm32",
|
"platform": "ststm32",
|
||||||
"upload": {
|
"upload": {
|
||||||
"maximum_ram_size": 12288,
|
"maximum_ram_size": 12288,
|
||||||
"maximum_size": 65536
|
"maximum_size": 65536,
|
||||||
|
"protocol": "stlink"
|
||||||
},
|
},
|
||||||
"url": "http://www.st.com/web/en/catalog/tools/PF260318",
|
"url": "http://www.st.com/web/en/catalog/tools/PF260318",
|
||||||
"vendor": "ST"
|
"vendor": "ST"
|
||||||
@@ -457,7 +467,8 @@
|
|||||||
"platform": "ststm32",
|
"platform": "ststm32",
|
||||||
"upload": {
|
"upload": {
|
||||||
"maximum_ram_size": 393216,
|
"maximum_ram_size": 393216,
|
||||||
"maximum_size": 1048576
|
"maximum_size": 1048576,
|
||||||
|
"protocol": "stlink"
|
||||||
},
|
},
|
||||||
"url": "http://www.st.com/web/catalog/tools/FM116/CL1620/SC959/SS1532/LN1848/PF262395",
|
"url": "http://www.st.com/web/catalog/tools/FM116/CL1620/SC959/SS1532/LN1848/PF262395",
|
||||||
"vendor": "ST"
|
"vendor": "ST"
|
||||||
@@ -473,7 +484,8 @@
|
|||||||
"platform": "ststm32",
|
"platform": "ststm32",
|
||||||
"upload": {
|
"upload": {
|
||||||
"maximum_ram_size": 131072,
|
"maximum_ram_size": 131072,
|
||||||
"maximum_size": 1048576
|
"maximum_size": 1048576,
|
||||||
|
"protocol": "stlink"
|
||||||
},
|
},
|
||||||
"url": "http://www.st.com/web/catalog/tools/FM116/CL1620/SC959/SS1532/LN1848/PF261635",
|
"url": "http://www.st.com/web/catalog/tools/FM116/CL1620/SC959/SS1532/LN1848/PF261635",
|
||||||
"vendor": "ST"
|
"vendor": "ST"
|
||||||
@@ -605,5 +617,21 @@
|
|||||||
},
|
},
|
||||||
"url": "https://developer.mbed.org/platforms/ST-B96B-F446VE/",
|
"url": "https://developer.mbed.org/platforms/ST-B96B-F446VE/",
|
||||||
"vendor": "96Boards"
|
"vendor": "96Boards"
|
||||||
|
},
|
||||||
|
"mts_mdot_f411re": {
|
||||||
|
"build": {
|
||||||
|
"f_cpu": "100000000L",
|
||||||
|
"cpu": "cortex-m4",
|
||||||
|
"mcu": "stm32f411ret6"
|
||||||
|
},
|
||||||
|
"frameworks": ["mbed"],
|
||||||
|
"name": "MultiTech mDot F411",
|
||||||
|
"platform": "ststm32",
|
||||||
|
"upload": {
|
||||||
|
"maximum_ram_size": 131072,
|
||||||
|
"maximum_size": 524288
|
||||||
|
},
|
||||||
|
"url": "https://developer.mbed.org/platforms/MTS-mDot-F411/",
|
||||||
|
"vendor": "MultiTech"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -129,7 +129,7 @@
|
|||||||
"build": {
|
"build": {
|
||||||
"core": "msp430",
|
"core": "msp430",
|
||||||
"f_cpu": "16000000L",
|
"f_cpu": "16000000L",
|
||||||
"mcu": "msp430g2553",
|
"mcu": "msp430fr4133",
|
||||||
"variant": "launchpad_fr4133"
|
"variant": "launchpad_fr4133"
|
||||||
},
|
},
|
||||||
"frameworks": ["energia"],
|
"frameworks": ["energia"],
|
||||||
@@ -147,7 +147,7 @@
|
|||||||
"build": {
|
"build": {
|
||||||
"core": "msp430",
|
"core": "msp430",
|
||||||
"f_cpu": "16000000L",
|
"f_cpu": "16000000L",
|
||||||
"mcu": "msp430g2553",
|
"mcu": "msp430fr6989",
|
||||||
"variant": "launchpad_fr6989"
|
"variant": "launchpad_fr6989"
|
||||||
},
|
},
|
||||||
"frameworks": ["energia"],
|
"frameworks": ["energia"],
|
||||||
|
@@ -12,6 +12,7 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
import base64
|
||||||
import json
|
import json
|
||||||
import sys
|
import sys
|
||||||
from os import environ
|
from os import environ
|
||||||
@@ -99,6 +100,12 @@ DefaultEnvironment(
|
|||||||
)
|
)
|
||||||
|
|
||||||
env = DefaultEnvironment()
|
env = DefaultEnvironment()
|
||||||
|
|
||||||
|
# decode common variables
|
||||||
|
for k in commonvars.keys():
|
||||||
|
if k in env:
|
||||||
|
env[k] = base64.b64decode(env[k])
|
||||||
|
|
||||||
env.Prepend(LIBPATH=[join("$PIOPACKAGES_DIR", "ldscripts")])
|
env.Prepend(LIBPATH=[join("$PIOPACKAGES_DIR", "ldscripts")])
|
||||||
|
|
||||||
if "BOARD" in env:
|
if "BOARD" in env:
|
||||||
|
@@ -22,8 +22,6 @@ from time import sleep
|
|||||||
from SCons.Script import (COMMAND_LINE_TARGETS, AlwaysBuild, Default,
|
from SCons.Script import (COMMAND_LINE_TARGETS, AlwaysBuild, Default,
|
||||||
DefaultEnvironment, SConscript)
|
DefaultEnvironment, SConscript)
|
||||||
|
|
||||||
from platformio.util import get_serialports
|
|
||||||
|
|
||||||
|
|
||||||
def BeforeUpload(target, source, env): # pylint: disable=W0613,W0621
|
def BeforeUpload(target, source, env): # pylint: disable=W0613,W0621
|
||||||
|
|
||||||
@@ -65,13 +63,11 @@ def BeforeUpload(target, source, env): # pylint: disable=W0613,W0621
|
|||||||
if not upload_options.get("disable_flushing", False):
|
if not upload_options.get("disable_flushing", False):
|
||||||
env.FlushSerialBuffer("$UPLOAD_PORT")
|
env.FlushSerialBuffer("$UPLOAD_PORT")
|
||||||
|
|
||||||
before_ports = [i['port'] for i in get_serialports()]
|
|
||||||
|
|
||||||
if upload_options.get("use_1200bps_touch", False):
|
if upload_options.get("use_1200bps_touch", False):
|
||||||
env.TouchSerialPort("$UPLOAD_PORT", 1200)
|
env.TouchSerialPort("$UPLOAD_PORT", 1200)
|
||||||
|
|
||||||
if upload_options.get("wait_for_upload_port", False):
|
if upload_options.get("wait_for_upload_port", False):
|
||||||
env.Replace(UPLOAD_PORT=env.WaitForNewSerialPort(before_ports))
|
env.Replace(UPLOAD_PORT=env.WaitForNewSerialPort())
|
||||||
|
|
||||||
|
|
||||||
env = DefaultEnvironment()
|
env = DefaultEnvironment()
|
||||||
|
@@ -21,8 +21,6 @@ from os.path import basename, join
|
|||||||
from SCons.Script import (COMMAND_LINE_TARGETS, AlwaysBuild, Default,
|
from SCons.Script import (COMMAND_LINE_TARGETS, AlwaysBuild, Default,
|
||||||
DefaultEnvironment, SConscript)
|
DefaultEnvironment, SConscript)
|
||||||
|
|
||||||
from platformio.util import get_serialports
|
|
||||||
|
|
||||||
|
|
||||||
def BeforeUpload(target, source, env): # pylint: disable=W0613,W0621
|
def BeforeUpload(target, source, env): # pylint: disable=W0613,W0621
|
||||||
env.AutodetectUploadPort()
|
env.AutodetectUploadPort()
|
||||||
@@ -41,13 +39,11 @@ def BeforeUpload(target, source, env): # pylint: disable=W0613,W0621
|
|||||||
if not upload_options.get("disable_flushing", False):
|
if not upload_options.get("disable_flushing", False):
|
||||||
env.FlushSerialBuffer("$UPLOAD_PORT")
|
env.FlushSerialBuffer("$UPLOAD_PORT")
|
||||||
|
|
||||||
before_ports = [i['port'] for i in get_serialports()]
|
|
||||||
|
|
||||||
if upload_options.get("use_1200bps_touch", False):
|
if upload_options.get("use_1200bps_touch", False):
|
||||||
env.TouchSerialPort("$UPLOAD_PORT", 1200)
|
env.TouchSerialPort("$UPLOAD_PORT", 1200)
|
||||||
|
|
||||||
if upload_options.get("wait_for_upload_port", False):
|
if upload_options.get("wait_for_upload_port", False):
|
||||||
env.Replace(UPLOAD_PORT=env.WaitForNewSerialPort(before_ports))
|
env.Replace(UPLOAD_PORT=env.WaitForNewSerialPort())
|
||||||
|
|
||||||
# use only port name for BOSSA
|
# use only port name for BOSSA
|
||||||
if "/" in env.subst("$UPLOAD_PORT"):
|
if "/" in env.subst("$UPLOAD_PORT"):
|
||||||
@@ -111,8 +107,7 @@ env.Append(
|
|||||||
],
|
],
|
||||||
|
|
||||||
CPPDEFINES=[
|
CPPDEFINES=[
|
||||||
"USBCON",
|
"USBCON"
|
||||||
'USB_MANUFACTURER="PlatformIO"'
|
|
||||||
],
|
],
|
||||||
|
|
||||||
LINKFLAGS=[
|
LINKFLAGS=[
|
||||||
|
@@ -199,7 +199,7 @@ def get_build_flags(data):
|
|||||||
|
|
||||||
def _mbed_whole_archive_hook(libs_):
|
def _mbed_whole_archive_hook(libs_):
|
||||||
if (not isinstance(libs_, list) or
|
if (not isinstance(libs_, list) or
|
||||||
env.get("BOARD_OPTIONS", {}).get("platform") != "ststm32"):
|
env.get("BOARD_OPTIONS", {}).get("platform") == "nordicnrf51"):
|
||||||
return libs_
|
return libs_
|
||||||
|
|
||||||
_dynlibs = []
|
_dynlibs = []
|
||||||
|
@@ -47,11 +47,13 @@ def TouchSerialPort(env, port, baudrate):
|
|||||||
sleep(0.4)
|
sleep(0.4)
|
||||||
|
|
||||||
|
|
||||||
def WaitForNewSerialPort(env, before):
|
def WaitForNewSerialPort(env):
|
||||||
|
before = [i['port'] for i in get_serialports(use_grep=True)]
|
||||||
|
sleep(0.5)
|
||||||
new_port = None
|
new_port = None
|
||||||
elapsed = 0
|
elapsed = 0
|
||||||
while elapsed < 10:
|
while elapsed < 10:
|
||||||
now = [i['port'] for i in get_serialports()]
|
now = [i['port'] for i in get_serialports(use_grep=True)]
|
||||||
diff = list(set(now) - set(before))
|
diff = list(set(now) - set(before))
|
||||||
if diff:
|
if diff:
|
||||||
new_port = diff[0]
|
new_port = diff[0]
|
||||||
@@ -104,11 +106,13 @@ def AutodetectUploadPort(env):
|
|||||||
|
|
||||||
def UploadToDisk(_, target, source, env): # pylint: disable=W0613,W0621
|
def UploadToDisk(_, target, source, env): # pylint: disable=W0613,W0621
|
||||||
env.AutodetectUploadPort()
|
env.AutodetectUploadPort()
|
||||||
|
progname = env.subst("$PROGNAME")
|
||||||
for ext in ("bin", "hex"):
|
for ext in ("bin", "hex"):
|
||||||
fpath = join(env.subst("$BUILD_DIR"), "firmware.%s" % ext)
|
fpath = join(env.subst("$BUILD_DIR"), "%s.%s" % (progname, ext))
|
||||||
if not isfile(fpath):
|
if not isfile(fpath):
|
||||||
continue
|
continue
|
||||||
copyfile(fpath, join(env.subst("$UPLOAD_PORT"), "firmware.%s" % ext))
|
copyfile(fpath, join(
|
||||||
|
env.subst("$UPLOAD_PORT"), "%s.%s" % (progname, ext)))
|
||||||
print("Firmware has been successfully uploaded.\n"
|
print("Firmware has been successfully uploaded.\n"
|
||||||
"Please restart your board.")
|
"Please restart your board.")
|
||||||
|
|
||||||
|
@@ -80,6 +80,7 @@ def BuildProgram(env):
|
|||||||
env.Append(
|
env.Append(
|
||||||
CPPDEFINES=["PLATFORMIO={0:02d}{1:02d}{2:02d}".format(
|
CPPDEFINES=["PLATFORMIO={0:02d}{1:02d}{2:02d}".format(
|
||||||
*pioversion_to_intstr())],
|
*pioversion_to_intstr())],
|
||||||
|
CPPPATH=["$PROJECTSRC_DIR"],
|
||||||
LIBS=deplibs,
|
LIBS=deplibs,
|
||||||
LIBPATH=["$BUILD_DIR"]
|
LIBPATH=["$BUILD_DIR"]
|
||||||
)
|
)
|
||||||
|
@@ -81,7 +81,8 @@ def cli(ctx, environment, target, upload_port, # pylint: disable=R0913,R0914
|
|||||||
|
|
||||||
envname = section[4:]
|
envname = section[4:]
|
||||||
if ((environment and envname not in environment) or
|
if ((environment and envname not in environment) or
|
||||||
(env_default and envname not in env_default)):
|
(not environment and env_default and
|
||||||
|
envname not in env_default)):
|
||||||
# echo("Skipped %s environment" % style(envname, fg="yellow"))
|
# echo("Skipped %s environment" % style(envname, fg="yellow"))
|
||||||
continue
|
continue
|
||||||
|
|
||||||
@@ -163,14 +164,14 @@ class EnvironmentProcessor(object):
|
|||||||
return result
|
return result
|
||||||
|
|
||||||
def _get_build_variables(self):
|
def _get_build_variables(self):
|
||||||
variables = ["PIOENV=" + self.name]
|
variables = {"pioenv": self.name}
|
||||||
if self.upload_port:
|
if self.upload_port:
|
||||||
variables.append("UPLOAD_PORT=%s" % self.upload_port)
|
variables['upload_port'] = self.upload_port
|
||||||
for k, v in self.options.items():
|
for k, v in self.options.items():
|
||||||
k = k.upper()
|
k = k.lower()
|
||||||
if k == "TARGETS" or (k == "UPLOAD_PORT" and self.upload_port):
|
if k == "targets" or (k == "upload_port" and self.upload_port):
|
||||||
continue
|
continue
|
||||||
variables.append("%s=%s" % (k, v))
|
variables[k] = v
|
||||||
return variables
|
return variables
|
||||||
|
|
||||||
def _get_build_targets(self):
|
def _get_build_targets(self):
|
||||||
|
@@ -102,6 +102,7 @@ class PackageManager(object):
|
|||||||
dlpath = self.download(info['url'], pkg_dir, info['sha1'])
|
dlpath = self.download(info['url'], pkg_dir, info['sha1'])
|
||||||
except (requests.exceptions.ConnectionError,
|
except (requests.exceptions.ConnectionError,
|
||||||
requests.exceptions.ChunkedEncodingError,
|
requests.exceptions.ChunkedEncodingError,
|
||||||
|
requests.exceptions.SSLError,
|
||||||
exception.FDUnrecognizedStatusCode, StopIteration):
|
exception.FDUnrecognizedStatusCode, StopIteration):
|
||||||
if not info['url'].startswith("http://dl.platformio.org"):
|
if not info['url'].startswith("http://dl.platformio.org"):
|
||||||
dlpath = self.download(
|
dlpath = self.download(
|
||||||
|
@@ -12,6 +12,7 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
import base64
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
@@ -400,10 +401,10 @@ class BasePlatform(object):
|
|||||||
obsolated = pm.get_outdated()
|
obsolated = pm.get_outdated()
|
||||||
return not set(self.get_packages().keys()).isdisjoint(set(obsolated))
|
return not set(self.get_packages().keys()).isdisjoint(set(obsolated))
|
||||||
|
|
||||||
def configure_default_packages(self, envoptions, targets):
|
def configure_default_packages(self, variables, targets):
|
||||||
# enbale used frameworks
|
# enbale used frameworks
|
||||||
for pkg_name in self.pkg_aliases_to_names(["framework"]):
|
for pkg_name in self.pkg_aliases_to_names(["framework"]):
|
||||||
for framework in envoptions.get("framework", "").split(","):
|
for framework in variables.get("framework", "").split(","):
|
||||||
framework = framework.lower().strip()
|
framework = framework.lower().strip()
|
||||||
if not framework:
|
if not framework:
|
||||||
continue
|
continue
|
||||||
@@ -441,15 +442,10 @@ class BasePlatform(object):
|
|||||||
raise exception.PlatformNotInstalledYet(self.get_type())
|
raise exception.PlatformNotInstalledYet(self.get_type())
|
||||||
|
|
||||||
def run(self, variables, targets, verbose):
|
def run(self, variables, targets, verbose):
|
||||||
assert isinstance(variables, list)
|
assert isinstance(variables, dict)
|
||||||
assert isinstance(targets, list)
|
assert isinstance(targets, list)
|
||||||
|
|
||||||
envoptions = {}
|
self.configure_default_packages(variables, targets)
|
||||||
for v in variables:
|
|
||||||
_name, _value = v.split("=", 1)
|
|
||||||
envoptions[_name.lower()] = _value
|
|
||||||
|
|
||||||
self.configure_default_packages(envoptions, targets)
|
|
||||||
self._install_default_packages()
|
self._install_default_packages()
|
||||||
|
|
||||||
self._verbose_level = int(verbose)
|
self._verbose_level = int(verbose)
|
||||||
@@ -458,23 +454,17 @@ class BasePlatform(object):
|
|||||||
targets.remove("clean")
|
targets.remove("clean")
|
||||||
targets.append("-c")
|
targets.append("-c")
|
||||||
|
|
||||||
if "build_script" not in envoptions:
|
if "build_script" not in variables:
|
||||||
variables.append("BUILD_SCRIPT=%s" % self.get_build_script())
|
variables['build_script'] = self.get_build_script()
|
||||||
|
if not isfile(variables['build_script']):
|
||||||
for v in variables:
|
raise exception.BuildScriptNotFound(variables['build_script'])
|
||||||
if not v.startswith("BUILD_SCRIPT="):
|
|
||||||
continue
|
|
||||||
_, path = v.split("=", 1)
|
|
||||||
if not isfile(path):
|
|
||||||
raise exception.BuildScriptNotFound(path)
|
|
||||||
|
|
||||||
# append aliases of the installed packages
|
# append aliases of the installed packages
|
||||||
installed_packages = PackageManager.get_installed()
|
installed_packages = PackageManager.get_installed()
|
||||||
for name, options in self.get_packages().items():
|
for name, options in self.get_packages().items():
|
||||||
if "alias" not in options or name not in installed_packages:
|
if "alias" not in options or name not in installed_packages:
|
||||||
continue
|
continue
|
||||||
variables.append(
|
variables['piopackage_%s' % options['alias']] = name
|
||||||
"PIOPACKAGE_%s=%s" % (options['alias'].upper(), name))
|
|
||||||
|
|
||||||
self._found_error = False
|
self._found_error = False
|
||||||
result = self._run_scons(variables, targets)
|
result = self._run_scons(variables, targets)
|
||||||
@@ -498,8 +488,7 @@ class BasePlatform(object):
|
|||||||
_PYTHONPATH.append(p)
|
_PYTHONPATH.append(p)
|
||||||
os.environ['PYTHONPATH'] = os.pathsep.join(_PYTHONPATH)
|
os.environ['PYTHONPATH'] = os.pathsep.join(_PYTHONPATH)
|
||||||
|
|
||||||
result = util.exec_command(
|
cmd = [
|
||||||
[
|
|
||||||
os.path.normpath(sys.executable),
|
os.path.normpath(sys.executable),
|
||||||
join(util.get_home_dir(), "packages", "tool-scons",
|
join(util.get_home_dir(), "packages", "tool-scons",
|
||||||
"script", "scons"),
|
"script", "scons"),
|
||||||
@@ -507,7 +496,14 @@ class BasePlatform(object):
|
|||||||
"-j %d" % self.get_job_nums(),
|
"-j %d" % self.get_job_nums(),
|
||||||
"--warn=no-no-parallel-support",
|
"--warn=no-no-parallel-support",
|
||||||
"-f", join(util.get_source_dir(), "builder", "main.py")
|
"-f", join(util.get_source_dir(), "builder", "main.py")
|
||||||
] + variables + targets,
|
] + targets
|
||||||
|
|
||||||
|
# encode and append variables
|
||||||
|
for key, value in variables.items():
|
||||||
|
cmd.append("%s=%s" % (key.upper(), base64.b64encode(value)))
|
||||||
|
|
||||||
|
result = util.exec_command(
|
||||||
|
cmd,
|
||||||
stdout=util.AsyncPipe(self.on_run_out),
|
stdout=util.AsyncPipe(self.on_run_out),
|
||||||
stderr=util.AsyncPipe(self.on_run_err)
|
stderr=util.AsyncPipe(self.on_run_err)
|
||||||
)
|
)
|
||||||
|
@@ -280,7 +280,34 @@ def exec_command(*args, **kwargs):
|
|||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
def get_serialports():
|
def get_serialports(use_grep=False):
|
||||||
|
|
||||||
|
def _grep_serial_ports():
|
||||||
|
result = []
|
||||||
|
if system() == "Windows":
|
||||||
|
output = exec_command(["mode"]).get("out", "")
|
||||||
|
for line in output.split("\n"):
|
||||||
|
line = line.strip()
|
||||||
|
if "COM" in line:
|
||||||
|
result.append({"port": line[line.index("COM"):-1],
|
||||||
|
"description": "", "hwid": ""})
|
||||||
|
else:
|
||||||
|
if system() == "Linux":
|
||||||
|
patterns = ["/dev/%s*" % p for p in (
|
||||||
|
"ttyS", "ttyUSB", "ttyACM", "ttyAMA", "rfcomm", "ttyO")]
|
||||||
|
else:
|
||||||
|
patterns = ["/dev/tty.*", "/dev/cu.*"]
|
||||||
|
for pattern in patterns:
|
||||||
|
for port in glob(pattern):
|
||||||
|
result.append(
|
||||||
|
{"port": port, "description": "", "hwid": ""})
|
||||||
|
return result
|
||||||
|
|
||||||
|
if use_grep:
|
||||||
|
result = _grep_serial_ports()
|
||||||
|
if result:
|
||||||
|
return result
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from serial.tools.list_ports import comports
|
from serial.tools.list_ports import comports
|
||||||
except ImportError:
|
except ImportError:
|
||||||
@@ -290,7 +317,7 @@ def get_serialports():
|
|||||||
for p, d, h in comports():
|
for p, d, h in comports():
|
||||||
if not p:
|
if not p:
|
||||||
continue
|
continue
|
||||||
if "windows" in get_systype():
|
if system() == "Windows":
|
||||||
try:
|
try:
|
||||||
d = unicode(d, errors="ignore")
|
d = unicode(d, errors="ignore")
|
||||||
except TypeError:
|
except TypeError:
|
||||||
@@ -298,9 +325,9 @@ def get_serialports():
|
|||||||
result.append({"port": p, "description": d, "hwid": h})
|
result.append({"port": p, "description": d, "hwid": h})
|
||||||
|
|
||||||
# fix for PySerial
|
# fix for PySerial
|
||||||
if not result and system() == "Darwin":
|
if not result and not use_grep:
|
||||||
for p in glob("/dev/tty.*"):
|
result = _grep_serial_ports()
|
||||||
result.append({"port": p, "description": "", "hwid": ""})
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
@@ -308,7 +335,7 @@ def get_logicaldisks():
|
|||||||
disks = []
|
disks = []
|
||||||
if system() == "Windows":
|
if system() == "Windows":
|
||||||
result = exec_command(
|
result = exec_command(
|
||||||
["wmic", "logicaldisk", "get", "name,VolumeName"]).get("out")
|
["wmic", "logicaldisk", "get", "name,VolumeName"]).get("out", "")
|
||||||
disknamere = re.compile(r"^([A-Z]{1}\:)\s*(\S+)?")
|
disknamere = re.compile(r"^([A-Z]{1}\:)\s*(\S+)?")
|
||||||
for line in result.split("\n"):
|
for line in result.split("\n"):
|
||||||
match = disknamere.match(line.strip())
|
match = disknamere.match(line.strip())
|
||||||
|
@@ -1,82 +0,0 @@
|
|||||||
# https://packaging.python.org/en/latest/appveyor.html
|
|
||||||
# Sample script to install Python and pip under Windows
|
|
||||||
# Authors: Olivier Grisel and Kyle Kastner
|
|
||||||
# License: CC0 1.0 Universal: http://creativecommons.org/publicdomain/zero/1.0/
|
|
||||||
|
|
||||||
$BASE_URL = "https://www.python.org/ftp/python/"
|
|
||||||
$GET_PIP_URL = "https://bootstrap.pypa.io/get-pip.py"
|
|
||||||
$GET_PIP_PATH = "C:\get-pip.py"
|
|
||||||
|
|
||||||
|
|
||||||
function DownloadPython ($python_version, $platform_suffix) {
|
|
||||||
$webclient = New-Object System.Net.WebClient
|
|
||||||
$filename = "python-" + $python_version + $platform_suffix + ".msi"
|
|
||||||
$url = $BASE_URL + $python_version + "/" + $filename
|
|
||||||
|
|
||||||
$basedir = $pwd.Path + "\"
|
|
||||||
$filepath = $basedir + $filename
|
|
||||||
if (Test-Path $filename) {
|
|
||||||
Write-Host "Reusing" $filepath
|
|
||||||
return $filepath
|
|
||||||
}
|
|
||||||
|
|
||||||
# Download and retry up to 5 times in case of network transient errors.
|
|
||||||
Write-Host "Downloading" $filename "from" $url
|
|
||||||
$retry_attempts = 3
|
|
||||||
for($i=0; $i -lt $retry_attempts; $i++){
|
|
||||||
try {
|
|
||||||
$webclient.DownloadFile($url, $filepath)
|
|
||||||
break
|
|
||||||
}
|
|
||||||
Catch [Exception]{
|
|
||||||
Start-Sleep 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Write-Host "File saved at" $filepath
|
|
||||||
return $filepath
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function InstallPython ($python_version, $architecture, $python_home) {
|
|
||||||
Write-Host "Installing Python" $python_version "for" $architecture "bit architecture to" $python_home
|
|
||||||
if (Test-Path $python_home) {
|
|
||||||
Write-Host $python_home "already exists, skipping."
|
|
||||||
return $false
|
|
||||||
}
|
|
||||||
if ($architecture -eq "32") {
|
|
||||||
$platform_suffix = ""
|
|
||||||
} else {
|
|
||||||
$platform_suffix = ".amd64"
|
|
||||||
}
|
|
||||||
$filepath = DownloadPython $python_version $platform_suffix
|
|
||||||
Write-Host "Installing" $filepath "to" $python_home
|
|
||||||
$args = "/qn /i $filepath TARGETDIR=$python_home"
|
|
||||||
Write-Host "msiexec.exe" $args
|
|
||||||
Start-Process -FilePath "msiexec.exe" -ArgumentList $args -Wait -Passthru
|
|
||||||
Write-Host "Python $python_version ($architecture) installation complete"
|
|
||||||
return $true
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function InstallPip ($python_home) {
|
|
||||||
$python_path = $python_home + "/python.exe"
|
|
||||||
Write-Host "Installing pip..."
|
|
||||||
$webclient = New-Object System.Net.WebClient
|
|
||||||
$webclient.DownloadFile($GET_PIP_URL, $GET_PIP_PATH)
|
|
||||||
Write-Host "Executing:" $python_path $GET_PIP_PATH
|
|
||||||
Start-Process -FilePath "$python_path" -ArgumentList "$GET_PIP_PATH" -Wait -Passthru
|
|
||||||
}
|
|
||||||
|
|
||||||
function InstallPackage ($python_home, $pkg) {
|
|
||||||
$pip_path = $python_home + "/Scripts/pip.exe"
|
|
||||||
& $pip_path install -U $pkg
|
|
||||||
}
|
|
||||||
|
|
||||||
function main () {
|
|
||||||
InstallPython $env:PYTHON_VERSION $env:PYTHON_ARCH $env:PYTHON_HOME
|
|
||||||
InstallPip $env:PYTHON_HOME
|
|
||||||
InstallPackage $env:PYTHON_HOME setuptools
|
|
||||||
InstallPackage $env:PYTHON_HOME tox
|
|
||||||
}
|
|
||||||
|
|
||||||
main
|
|
@@ -1,48 +0,0 @@
|
|||||||
:: https://packaging.python.org/en/latest/appveyor.html
|
|
||||||
:: To build extensions for 64 bit Python 3, we need to configure environment
|
|
||||||
:: variables to use the MSVC 2010 C++ compilers from GRMSDKX_EN_DVD.iso of:
|
|
||||||
:: MS Windows SDK for Windows 7 and .NET Framework 4 (SDK v7.1)
|
|
||||||
::
|
|
||||||
:: To build extensions for 64 bit Python 2, we need to configure environment
|
|
||||||
:: variables to use the MSVC 2008 C++ compilers from GRMSDKX_EN_DVD.iso of:
|
|
||||||
:: MS Windows SDK for Windows 7 and .NET Framework 3.5 (SDK v7.0)
|
|
||||||
::
|
|
||||||
:: 32 bit builds do not require specific environment configurations.
|
|
||||||
::
|
|
||||||
:: Note: this script needs to be run with the /E:ON and /V:ON flags for the
|
|
||||||
:: cmd interpreter, at least for (SDK v7.0)
|
|
||||||
::
|
|
||||||
:: More details at:
|
|
||||||
:: https://github.com/cython/cython/wiki/64BitCythonExtensionsOnWindows
|
|
||||||
:: http://stackoverflow.com/a/13751649/163740
|
|
||||||
::
|
|
||||||
:: Author: Olivier Grisel
|
|
||||||
:: License: CC0 1.0 Universal: http://creativecommons.org/publicdomain/zero/1.0/
|
|
||||||
@ECHO OFF
|
|
||||||
|
|
||||||
SET COMMAND_TO_RUN=%*
|
|
||||||
SET WIN_SDK_ROOT=C:\Program Files\Microsoft SDKs\Windows
|
|
||||||
|
|
||||||
SET MAJOR_PYTHON_VERSION="%PYTHON_VERSION:~0,1%"
|
|
||||||
IF %MAJOR_PYTHON_VERSION% == "2" (
|
|
||||||
SET WINDOWS_SDK_VERSION="v7.0"
|
|
||||||
) ELSE IF %MAJOR_PYTHON_VERSION% == "3" (
|
|
||||||
SET WINDOWS_SDK_VERSION="v7.1"
|
|
||||||
) ELSE (
|
|
||||||
ECHO Unsupported Python version: "%MAJOR_PYTHON_VERSION%"
|
|
||||||
EXIT 1
|
|
||||||
)
|
|
||||||
|
|
||||||
IF "%PYTHON_ARCH%"=="64" (
|
|
||||||
ECHO Configuring Windows SDK %WINDOWS_SDK_VERSION% for Python %MAJOR_PYTHON_VERSION% on a 64 bit architecture
|
|
||||||
SET DISTUTILS_USE_SDK=1
|
|
||||||
SET MSSdk=1
|
|
||||||
"%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Setup\WindowsSdkVer.exe" -q -version:%WINDOWS_SDK_VERSION%
|
|
||||||
"%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Bin\SetEnv.cmd" /x64 /release
|
|
||||||
ECHO Executing: %COMMAND_TO_RUN%
|
|
||||||
call %COMMAND_TO_RUN% || EXIT 1
|
|
||||||
) ELSE (
|
|
||||||
ECHO Using default MSVC build environment for 32 bit architecture
|
|
||||||
ECHO Executing: %COMMAND_TO_RUN%
|
|
||||||
call %COMMAND_TO_RUN% || EXIT 1
|
|
||||||
)
|
|
@@ -1,4 +1,4 @@
|
|||||||
# Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
# Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
# you may not use this file except in compliance with the License.
|
# you may not use this file except in compliance with the License.
|
||||||
@@ -35,7 +35,7 @@ def generate_boards(boards):
|
|||||||
|
|
||||||
def _round_memory_size(size):
|
def _round_memory_size(size):
|
||||||
if size == 1:
|
if size == 1:
|
||||||
return 1;
|
return 1
|
||||||
|
|
||||||
size = ceil(size)
|
size = ceil(size)
|
||||||
for b in (64, 32, 16, 8, 4, 2, 1):
|
for b in (64, 32, 16, 8, 4, 2, 1):
|
||||||
@@ -134,7 +134,7 @@ def generate_platform(name):
|
|||||||
print "Processing platform: %s" % name
|
print "Processing platform: %s" % name
|
||||||
lines = []
|
lines = []
|
||||||
|
|
||||||
lines.append(""".. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
lines.append(""".. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
@@ -241,7 +241,7 @@ def generate_framework(type_, data):
|
|||||||
print "Processing framework: %s" % type_
|
print "Processing framework: %s" % type_
|
||||||
lines = []
|
lines = []
|
||||||
|
|
||||||
lines.append(""".. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
|
lines.append(""".. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
@@ -364,10 +364,65 @@ Packages
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def update_embedded_boards():
|
||||||
|
lines = []
|
||||||
|
|
||||||
|
lines.append(""".. Copyright 2014-present Ivan Kravets <me@ikravets.com>
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
""")
|
||||||
|
|
||||||
|
lines.append(".. _embedded_boards:")
|
||||||
|
lines.append("")
|
||||||
|
|
||||||
|
lines.append("Embedded Boards")
|
||||||
|
lines.append("===============")
|
||||||
|
|
||||||
|
lines.append("""
|
||||||
|
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 <http://platformio.org/boards>`_
|
||||||
|
* For more detailed ``board`` information please scroll tables below by
|
||||||
|
horizontal.
|
||||||
|
""")
|
||||||
|
|
||||||
|
lines.append(".. contents::")
|
||||||
|
lines.append("")
|
||||||
|
|
||||||
|
vendors = {}
|
||||||
|
for board, data in util.get_boards().items():
|
||||||
|
vendor = data['vendor']
|
||||||
|
if vendor in vendors:
|
||||||
|
vendors[vendor].append({board: data})
|
||||||
|
else:
|
||||||
|
vendors[vendor] = [{board: data}]
|
||||||
|
|
||||||
|
for vendor, boards in sorted(vendors.iteritems()):
|
||||||
|
lines.append(str(vendor))
|
||||||
|
lines.append("~" * len(vendor))
|
||||||
|
lines.append(generate_boards(boards))
|
||||||
|
|
||||||
|
emboards_rst = join(dirname(realpath(__file__)),
|
||||||
|
"..", "docs", "platforms", "embedded_boards.rst")
|
||||||
|
with open(emboards_rst, "w") as f:
|
||||||
|
f.write("\n".join(lines))
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
update_create_platform_doc()
|
update_create_platform_doc()
|
||||||
update_platform_docs()
|
update_platform_docs()
|
||||||
update_framework_docs()
|
update_framework_docs()
|
||||||
|
update_embedded_boards()
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
sys_exit(main())
|
sys_exit(main())
|
||||||
|
@@ -38,7 +38,7 @@ def validate_response(req):
|
|||||||
|
|
||||||
|
|
||||||
def test_package(package_data):
|
def test_package(package_data):
|
||||||
assert package_data['url'].endswith("%d.tar.gz" % package_data['version'])
|
assert package_data['url'].endswith(".tar.gz")
|
||||||
|
|
||||||
r = requests.head(package_data['url'], allow_redirects=True)
|
r = requests.head(package_data['url'], allow_redirects=True)
|
||||||
validate_response(r)
|
validate_response(r)
|
||||||
|
Reference in New Issue
Block a user