diff --git a/docs/frameworks/arduino.rst b/docs/frameworks/arduino.rst index db5b6d92..0e5b8b80 100644 --- a/docs/frameworks/arduino.rst +++ b/docs/frameworks/arduino.rst @@ -92,6 +92,13 @@ Adafruit - Flash - RAM + * - ``adafruit_feather_m0_usb`` + - `Adafruit Feather M0 `_ + - SAMD21G18A + - 48 MHz + - 256 Kb + - 32 Kb + * - ``bluefruitmicro`` - `Adafruit Bluefruit Micro `_ - ATMEGA32U4 @@ -377,6 +384,27 @@ Arduino - 32 Kb - 2 Kb + * - ``mkr1000USB`` + - `Arduino MKR1000 `_ + - SAMD21G18A + - 48 MHz + - 256 Kb + - 32 Kb + + * - ``mzeroUSB`` + - `Arduino M0 Pro (Native USB Port) `_ + - SAMD21G18A + - 48 MHz + - 256 Kb + - 32 Kb + + * - ``mzeropro`` + - `Arduino M0 Pro (Programming Port) `_ + - SAMD21G18A + - 48 MHz + - 256 Kb + - 32 Kb + * - ``nanoatmega168`` - `Arduino Nano ATmega168 `_ - ATMEGA168 @@ -433,6 +461,13 @@ Arduino - 32 Kb - 2.5 Kb + * - ``tian`` + - `Arduino Tian `_ + - SAMD21G18A + - 48 MHz + - 256 Kb + - 32 Kb + * - ``uno`` - `Arduino Uno `_ - ATMEGA328P @@ -802,6 +837,13 @@ Espressif - 4096 Kb - 80 Kb + * - ``esp8285`` + - `Generic ESP8285 Module `_ + - ESP8266 + - 80 MHz + - 448 Kb + - 80 Kb + * - ``esp_wroom_02`` - `ESP-WROOM-02 `_ - ESP8266 @@ -809,6 +851,27 @@ Espressif - 4096 Kb - 50 Kb + * - ``phoenix_v1`` + - `Phoenix 1.0 `_ + - ESP8266 + - 80 MHz + - 1024 Kb + - 80 Kb + + * - ``phoenix_v2`` + - `Phoenix 2.0 `_ + - ESP8266 + - 80 MHz + - 1024 Kb + - 80 Kb + + * - ``wifinfo`` + - `WifInfo `_ + - ESP8266 + - 80 MHz + - 448 Kb + - 80 Kb + Fubarino ~~~~~~~~ @@ -1563,6 +1626,20 @@ SparkFun - 32 Kb - 2 Kb + * - ``sparkfun_samd21_dev_usb`` + - `SparkFun SAMD21 Dev Breakout `_ + - SAMD21G18A + - 48 MHz + - 256 Kb + - 32 Kb + + * - ``sparkfun_samd21_mini_usb`` + - `SparkFun SAMD21 Mini Breakout `_ + - SAMD21G18A + - 48 MHz + - 256 Kb + - 32 Kb + * - ``thing`` - `SparkFun ESP8266 Thing `_ - ESP8266 diff --git a/docs/platforms/atmelavr.rst b/docs/platforms/atmelavr.rst index fb181900..f5ba50c1 100644 --- a/docs/platforms/atmelavr.rst +++ b/docs/platforms/atmelavr.rst @@ -43,16 +43,6 @@ Packages * - ``tool-micronucleus`` - `Micronucleus `_ -.. warning:: - **Linux Users:** Don't forget to install "udev" rules file - `99-platformio-udev.rules `_ (an instruction is located in the file). - - - **Windows Users:** Please check that you have correctly installed USB - driver from board manufacturer - - - Frameworks ---------- .. list-table:: diff --git a/docs/platforms/atmelsam.rst b/docs/platforms/atmelsam.rst index 3ff2a173..a90b15b6 100644 --- a/docs/platforms/atmelsam.rst +++ b/docs/platforms/atmelsam.rst @@ -28,23 +28,26 @@ Packages * - Name - Contents + * - ``framework-mbed`` + - `mbed Framework `_ + * - ``toolchain-gccarmnoneeabi`` - `gcc-arm-embedded `_, `GDB `_ * - ``framework-arduinosam`` - `Arduino Wiring-based Framework (SAM Core, 1.6) `_ + * - ``ldscripts`` + - `Linker Scripts `_ + * - ``framework-simba`` - `Simba Framework `_ * - ``tool-openocd`` - `OpenOCD `_ - * - ``framework-mbed`` - - `mbed Framework `_ - - * - ``ldscripts`` - - `Linker Scripts `_ + * - ``tool-avrdude`` + - `AVRDUDE `_ * - ``tool-bossac`` - `BOSSA CLI `_ @@ -85,6 +88,26 @@ Boards * For more detailed ``board`` information please scroll tables below by horizontal. +Adafruit +~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - Type ``board`` + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``adafruit_feather_m0_usb`` + - `Adafruit Feather M0 `_ + - SAMD21G18A + - 48 MHz + - 256 Kb + - 32 Kb + Arduino ~~~~~~~ @@ -112,6 +135,34 @@ Arduino - 512 Kb - 32 Kb + * - ``mkr1000USB`` + - `Arduino MKR1000 `_ + - SAMD21G18A + - 48 MHz + - 256 Kb + - 32 Kb + + * - ``mzeroUSB`` + - `Arduino M0 Pro (Native USB Port) `_ + - SAMD21G18A + - 48 MHz + - 256 Kb + - 32 Kb + + * - ``mzeropro`` + - `Arduino M0 Pro (Programming Port) `_ + - SAMD21G18A + - 48 MHz + - 256 Kb + - 32 Kb + + * - ``tian`` + - `Arduino Tian `_ + - SAMD21G18A + - 48 MHz + - 256 Kb + - 32 Kb + * - ``zero`` - `Arduino Zero (Programming Port) `_ - SAMD21G18A @@ -206,3 +257,30 @@ SainSmart - 84 MHz - 512 Kb - 32 Kb + +SparkFun +~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - Type ``board`` + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``sparkfun_samd21_dev_usb`` + - `SparkFun SAMD21 Dev Breakout `_ + - SAMD21G18A + - 48 MHz + - 256 Kb + - 32 Kb + + * - ``sparkfun_samd21_mini_usb`` + - `SparkFun SAMD21 Mini Breakout `_ + - SAMD21G18A + - 48 MHz + - 256 Kb + - 32 Kb diff --git a/docs/platforms/embedded_boards.rst b/docs/platforms/embedded_boards.rst index bd52ca0c..2b8cc1c4 100644 --- a/docs/platforms/embedded_boards.rst +++ b/docs/platforms/embedded_boards.rst @@ -78,6 +78,13 @@ Adafruit - Flash - RAM + * - ``adafruit_feather_m0_usb`` + - `Adafruit Feather M0 `_ + - SAMD21G18A + - 48 MHz + - 256 Kb + - 32 Kb + * - ``bluefruitmicro`` - `Adafruit Bluefruit Micro `_ - ATMEGA32U4 @@ -363,6 +370,27 @@ Arduino - 32 Kb - 2 Kb + * - ``mkr1000USB`` + - `Arduino MKR1000 `_ + - SAMD21G18A + - 48 MHz + - 256 Kb + - 32 Kb + + * - ``mzeroUSB`` + - `Arduino M0 Pro (Native USB Port) `_ + - SAMD21G18A + - 48 MHz + - 256 Kb + - 32 Kb + + * - ``mzeropro`` + - `Arduino M0 Pro (Programming Port) `_ + - SAMD21G18A + - 48 MHz + - 256 Kb + - 32 Kb + * - ``nanoatmega168`` - `Arduino Nano ATmega168 `_ - ATMEGA168 @@ -419,6 +447,13 @@ Arduino - 32 Kb - 2.5 Kb + * - ``tian`` + - `Arduino Tian `_ + - SAMD21G18A + - 48 MHz + - 256 Kb + - 32 Kb + * - ``uno`` - `Arduino Uno `_ - ATMEGA328P @@ -957,6 +992,13 @@ Espressif - 4096 Kb - 80 Kb + * - ``esp8285`` + - `Generic ESP8285 Module `_ + - ESP8266 + - 80 MHz + - 448 Kb + - 80 Kb + * - ``esp_wroom_02`` - `ESP-WROOM-02 `_ - ESP8266 @@ -964,6 +1006,27 @@ Espressif - 4096 Kb - 50 Kb + * - ``phoenix_v1`` + - `Phoenix 1.0 `_ + - ESP8266 + - 80 MHz + - 1024 Kb + - 80 Kb + + * - ``phoenix_v2`` + - `Phoenix 2.0 `_ + - ESP8266 + - 80 MHz + - 1024 Kb + - 80 Kb + + * - ``wifinfo`` + - `WifInfo `_ + - ESP8266 + - 80 MHz + - 448 Kb + - 80 Kb + Freescale ~~~~~~~~~ @@ -2322,6 +2385,20 @@ SparkFun - 32 Kb - 2 Kb + * - ``sparkfun_samd21_dev_usb`` + - `SparkFun SAMD21 Dev Breakout `_ + - SAMD21G18A + - 48 MHz + - 256 Kb + - 32 Kb + + * - ``sparkfun_samd21_mini_usb`` + - `SparkFun SAMD21 Mini Breakout `_ + - SAMD21G18A + - 48 MHz + - 256 Kb + - 32 Kb + * - ``thing`` - `SparkFun ESP8266 Thing `_ - ESP8266 diff --git a/docs/platforms/espressif.rst b/docs/platforms/espressif.rst index f8333846..56ffbc43 100644 --- a/docs/platforms/espressif.rst +++ b/docs/platforms/espressif.rst @@ -210,6 +210,13 @@ Espressif - 4096 Kb - 80 Kb + * - ``esp8285`` + - `Generic ESP8285 Module `_ + - ESP8266 + - 80 MHz + - 448 Kb + - 80 Kb + * - ``esp_wroom_02`` - `ESP-WROOM-02 `_ - ESP8266 @@ -217,6 +224,27 @@ Espressif - 4096 Kb - 50 Kb + * - ``phoenix_v1`` + - `Phoenix 1.0 `_ + - ESP8266 + - 80 MHz + - 1024 Kb + - 80 Kb + + * - ``phoenix_v2`` + - `Phoenix 2.0 `_ + - ESP8266 + - 80 MHz + - 1024 Kb + - 80 Kb + + * - ``wifinfo`` + - `WifInfo `_ + - ESP8266 + - 80 MHz + - 448 Kb + - 80 Kb + NodeMCU ~~~~~~~ diff --git a/platformio/platforms/atmelavr.py b/platformio/platforms/atmelavr.py index 62fef55d..4469b652 100644 --- a/platformio/platforms/atmelavr.py +++ b/platformio/platforms/atmelavr.py @@ -36,11 +36,9 @@ class AtmelavrPlatform(BasePlatform): }, "tool-avrdude": { - "alias": "uploader" }, "tool-micronucleus": { - "alias": "uploader" }, "framework-arduinoavr": { @@ -58,10 +56,10 @@ class AtmelavrPlatform(BasePlatform): def configure_default_packages(self, envoptions, targets): if envoptions.get("board"): board = get_boards(envoptions.get("board")) - disable_tool = "tool-micronucleus" if "digispark" in board['build']['core']: - disable_tool = "tool-avrdude" - del self.PACKAGES[disable_tool]['alias'] + self.PACKAGES['tool-micronucleus']['alias'] = "uploader" + else: + self.PACKAGES['tool-avrdude']['alias'] = "uploader" return BasePlatform.configure_default_packages( self, envoptions, targets) diff --git a/platformio/platforms/atmelsam.py b/platformio/platforms/atmelsam.py index 0e8d7da2..e12f02ba 100644 --- a/platformio/platforms/atmelsam.py +++ b/platformio/platforms/atmelsam.py @@ -13,6 +13,7 @@ # limitations under the License. from platformio.platforms.base import BasePlatform +from platformio.util import get_boards class AtmelsamPlatform(BasePlatform): @@ -49,13 +50,32 @@ class AtmelsamPlatform(BasePlatform): }, "tool-bossac": { - "alias": "uploader" }, "tool-openocd": { - "alias": "uploader" + }, + + "tool-avrdude": { } } def get_name(self): return "Atmel SAM" + + def configure_default_packages(self, envoptions, targets): + if envoptions.get("board"): + board = get_boards(envoptions.get("board")) + upload_protocol = board.get("upload", {}).get("protocol", None) + upload_tool = None + if upload_protocol == "openocd": + upload_tool = "tool-openocd" + elif upload_protocol == "sam-ba": + upload_tool = "tool-bossac" + elif upload_protocol == "stk500v2": + upload_tool = "tool-avrdude" + + if upload_tool: + self.PACKAGES[upload_tool]['alias'] = "uploader" + + return BasePlatform.configure_default_packages( + self, envoptions, targets)