From baf34b37d9788e45ec02cf089574d61400d31c71 Mon Sep 17 00:00:00 2001 From: Valeriy Koval Date: Thu, 19 Feb 2015 17:20:08 +0200 Subject: [PATCH] Add default framework per board --- platformio/boards/arduino.json | 30 ++++++++++++++++++++++++++++++ platformio/boards/digistump.json | 5 +++++ platformio/boards/engduino.json | 3 +++ platformio/boards/microduino.json | 9 +++++++++ platformio/boards/misc.json | 1 + platformio/boards/stm32.json | 3 +++ platformio/boards/teensy.json | 4 ++++ platformio/boards/timsp430.json | 7 +++++++ platformio/boards/titiva.json | 3 +++ platformio/commands/init.py | 9 +++------ 10 files changed, 68 insertions(+), 6 deletions(-) diff --git a/platformio/boards/arduino.json b/platformio/boards/arduino.json index 30c3a36d..142fdb6d 100644 --- a/platformio/boards/arduino.json +++ b/platformio/boards/arduino.json @@ -10,6 +10,7 @@ "variant": "leonardo", "vid": "0x1B4F" }, + "framework": "arduino", "name": "LilyPad Arduino USB", "platform": "atmelavr", "upload": { @@ -30,6 +31,7 @@ "mcu": "atmega168", "variant": "standard" }, + "framework": "arduino", "name": "Arduino NG or older ATmega168", "platform": "atmelavr", "upload": { @@ -47,6 +49,7 @@ "mcu": "atmega8", "variant": "standard" }, + "framework": "arduino", "name": "Arduino NG or older ATmega8", "platform": "atmelavr", "upload": { @@ -64,6 +67,7 @@ "mcu": "atmega168", "variant": "eightanaloginputs" }, + "framework": "arduino", "name": "Arduino BT ATmega168", "platform": "atmelavr", "upload": { @@ -82,6 +86,7 @@ "mcu": "atmega328p", "variant": "eightanaloginputs" }, + "framework": "arduino", "name": "Arduino BT ATmega328", "platform": "atmelavr", "upload": { @@ -100,6 +105,7 @@ "mcu": "atmega168", "variant": "standard" }, + "framework": "arduino", "name": "Arduino Duemilanove or Diecimila ATmega168", "platform": "atmelavr", "upload": { @@ -117,6 +123,7 @@ "mcu": "atmega328p", "variant": "standard" }, + "framework": "arduino", "name": "Arduino Duemilanove or Diecimila ATmega328", "platform": "atmelavr", "upload": { @@ -137,6 +144,7 @@ "variant": "leonardo", "vid": "0x2341" }, + "framework": "arduino", "name": "Arduino Esplora", "platform": "atmelavr", "upload": { @@ -157,6 +165,7 @@ "mcu": "atmega328p", "variant": "ethernet" }, + "framework": "arduino", "name": "Arduino Ethernet", "platform": "atmelavr", "upload": { @@ -174,6 +183,7 @@ "mcu": "atmega328p", "variant": "eightanaloginputs" }, + "framework": "arduino", "name": "Arduino Fio", "platform": "atmelavr", "upload": { @@ -194,6 +204,7 @@ "variant": "leonardo", "vid": "0x2341" }, + "framework": "arduino", "name": "Arduino Leonardo", "platform": "atmelavr", "upload": { @@ -214,6 +225,7 @@ "mcu": "atmega168", "variant": "standard" }, + "framework": "arduino", "name": "LilyPad Arduino ATmega168", "platform": "atmelavr", "upload": { @@ -231,6 +243,7 @@ "mcu": "atmega328p", "variant": "standard" }, + "framework": "arduino", "name": "LilyPad Arduino ATmega328", "platform": "atmelavr", "upload": { @@ -248,6 +261,7 @@ "mcu": "atmega2560", "variant": "mega" }, + "framework": "arduino", "name": "Arduino Mega ADK", "platform": "atmelavr", "upload": { @@ -265,6 +279,7 @@ "mcu": "atmega1280", "variant": "mega" }, + "framework": "arduino", "name": "Arduino Mega or Mega 2560 ATmega1280", "platform": "atmelavr", "upload": { @@ -282,6 +297,7 @@ "mcu": "atmega2560", "variant": "mega" }, + "framework": "arduino", "name": "Arduino Mega or Mega 2560 ATmega2560 (Mega 2560)", "platform": "atmelavr", "upload": { @@ -302,6 +318,7 @@ "variant": "micro", "vid": "0x2341" }, + "framework": "arduino", "name": "Arduino Micro", "platform": "atmelavr", "upload": { @@ -322,6 +339,7 @@ "mcu": "atmega168", "variant": "eightanaloginputs" }, + "framework": "arduino", "name": "Arduino Mini ATmega168", "platform": "atmelavr", "upload": { @@ -339,6 +357,7 @@ "mcu": "atmega328p", "variant": "eightanaloginputs" }, + "framework": "arduino", "name": "Arduino Mini ATmega328", "platform": "atmelavr", "upload": { @@ -356,6 +375,7 @@ "mcu": "atmega168", "variant": "eightanaloginputs" }, + "framework": "arduino", "name": "Arduino Nano ATmega168", "platform": "atmelavr", "upload": { @@ -373,6 +393,7 @@ "mcu": "atmega328p", "variant": "eightanaloginputs" }, + "framework": "arduino", "name": "Arduino Nano ATmega328", "platform": "atmelavr", "upload": { @@ -390,6 +411,7 @@ "mcu": "atmega168", "variant": "eightanaloginputs" }, + "framework": "arduino", "name": "Arduino Pro or Pro Mini ATmega168 (5V, 16 MHz)", "platform": "atmelavr", "upload": { @@ -407,6 +429,7 @@ "mcu": "atmega328p", "variant": "eightanaloginputs" }, + "framework": "arduino", "name": "Arduino Pro or Pro Mini ATmega328 (5V, 16 MHz)", "platform": "atmelavr", "upload": { @@ -424,6 +447,7 @@ "mcu": "atmega168", "variant": "eightanaloginputs" }, + "framework": "arduino", "name": "Arduino Pro or Pro Mini ATmega168 (3.3V, 8 MHz)", "platform": "atmelavr", "upload": { @@ -441,6 +465,7 @@ "mcu": "atmega328p", "variant": "eightanaloginputs" }, + "framework": "arduino", "name": "Arduino Pro or Pro Mini ATmega328 (3.3V, 8 MHz)", "platform": "atmelavr", "upload": { @@ -461,6 +486,7 @@ "variant": "robot_control", "vid": "0x2341" }, + "framework": "arduino", "name": "Arduino Robot Control", "platform": "atmelavr", "upload": { @@ -484,6 +510,7 @@ "variant": "robot_motor", "vid": "0x2341" }, + "framework": "arduino", "name": "Arduino Robot Motor", "platform": "atmelavr", "upload": { @@ -504,6 +531,7 @@ "mcu": "atmega328p", "variant": "standard" }, + "framework": "arduino", "name": "Arduino Uno", "platform": "atmelavr", "upload": { @@ -524,6 +552,7 @@ "variant": "yun", "vid": "0x2341" }, + "framework": "arduino", "name": "Arduino Yun", "platform": "atmelavr", "upload": { @@ -550,6 +579,7 @@ "vid": "0x2341", "ldscript": "sam3x8e.ld" }, + "framework": "arduino", "name": "Arduino Due (Programming Port)", "platform": "atmelsam", "upload": { diff --git a/platformio/boards/digistump.json b/platformio/boards/digistump.json index f9b66eac..141a7a50 100644 --- a/platformio/boards/digistump.json +++ b/platformio/boards/digistump.json @@ -7,6 +7,7 @@ "mcu": "attiny85", "variant": "digispark_tiny" }, + "framework": "arduino", "name": "Digispark (Default - 16.5mhz)", "platform": "digistump", "upload": { @@ -26,6 +27,7 @@ "mcu": "attiny167", "variant": "digispark_pro" }, + "framework": "arduino", "name": "Digispark Pro (Default 16 Mhz)", "platform": "digistump", "upload": { @@ -45,6 +47,7 @@ "mcu": "attiny167", "variant": "digispark_pro32" }, + "framework": "arduino", "name": "Digispark Pro (16 Mhz) (32 byte buffer)", "platform": "digistump", "upload": { @@ -64,6 +67,7 @@ "mcu": "attiny167", "variant": "digispark_pro64" }, + "framework": "arduino", "name": "Digispark Pro (16 Mhz) (64 byte buffer)", "platform": "digistump", "upload": { @@ -88,6 +92,7 @@ "variant": "digispark_digix", "vid": "0x16D0" }, + "framework": "arduino", "name": "Digistump DigiX", "platform": "digistump", "upload": { diff --git a/platformio/boards/engduino.json b/platformio/boards/engduino.json index 0d45a52c..4263e4b2 100644 --- a/platformio/boards/engduino.json +++ b/platformio/boards/engduino.json @@ -10,6 +10,7 @@ "variant": "engduinov1", "vid": "0x1B4F" }, + "framework": "arduino", "name": "Engduino 1", "platform": "atmelavr", "upload": { @@ -33,6 +34,7 @@ "variant": "engduinov2", "vid": "0x1B4F" }, + "framework": "arduino", "name": "Engduino 2", "platform": "atmelavr", "upload": { @@ -56,6 +58,7 @@ "variant": "engduinov3", "vid": "0x1B4F" }, + "framework": "arduino", "name": "Engduino 3", "platform": "atmelavr", "upload": { diff --git a/platformio/boards/microduino.json b/platformio/boards/microduino.json index 4799e105..a55e42e0 100644 --- a/platformio/boards/microduino.json +++ b/platformio/boards/microduino.json @@ -7,6 +7,7 @@ "mcu": "atmega1284p", "variant": "plus" }, + "framework": "arduino", "name": "Microduino Core+ (ATmega1284P@16M,5V)", "platform": "atmelavr", "upload": { @@ -24,6 +25,7 @@ "mcu": "atmega1284p", "variant": "plus" }, + "framework": "arduino", "name": "Microduino Core+ (ATmega1284P@8M,3.3V)", "platform": "atmelavr", "upload": { @@ -41,6 +43,7 @@ "mcu": "atmega168p", "variant": "standard" }, + "framework": "arduino", "name": "Microduino Core (Atmega168PA@16M,5V)", "platform": "atmelavr", "upload": { @@ -58,6 +61,7 @@ "mcu": "atmega168p", "variant": "standard" }, + "framework": "arduino", "name": "Microduino Core (Atmega168PA@8M,3.3V)", "platform": "atmelavr", "upload": { @@ -75,6 +79,7 @@ "mcu": "atmega328p", "variant": "standard" }, + "framework": "arduino", "name": "Microduino Core (Atmega328P@16M,5V)", "platform": "atmelavr", "upload": { @@ -92,6 +97,7 @@ "mcu": "atmega328p", "variant": "standard" }, + "framework": "arduino", "name": "Microduino Core (Atmega328P@8M,3.3V)", "platform": "atmelavr", "upload": { @@ -111,6 +117,7 @@ "variant": "32u4", "vid": "0x2341" }, + "framework": "arduino", "name": "Microduino Core USB (ATmega32U4@16M,5V)", "platform": "atmelavr", "upload": { @@ -131,6 +138,7 @@ "mcu": "atmega644p", "variant": "plus" }, + "framework": "arduino", "name": "Microduino Core+ (Atmega644PA@16M,5V)", "platform": "atmelavr", "upload": { @@ -148,6 +156,7 @@ "mcu": "atmega644p", "variant": "plus" }, + "framework": "arduino", "name": "Microduino Core+ (Atmega644PA@8M,3.3V)", "platform": "atmelavr", "upload": { diff --git a/platformio/boards/misc.json b/platformio/boards/misc.json index c9d378fa..acd14642 100644 --- a/platformio/boards/misc.json +++ b/platformio/boards/misc.json @@ -7,6 +7,7 @@ "mcu": "atmega328p", "variant": "standard" }, + "framework": "arduino", "name": "Raspduino", "platform": "atmelavr", "upload": { diff --git a/platformio/boards/stm32.json b/platformio/boards/stm32.json index e22cb946..2dae3544 100644 --- a/platformio/boards/stm32.json +++ b/platformio/boards/stm32.json @@ -9,6 +9,7 @@ "mcu": "stm32f407vgt6", "variant": "stm32f4" }, + "framework": "cmsis", "name": "STM32F4Discovery (168 MHz) with digital accelerometer, digital microphone, audio DAC", "platform": "stm32", "upload": { @@ -26,6 +27,7 @@ "mcu": "stm32l152rbt6", "variant": "stm32l1" }, + "framework": "cmsis", "name": "STM32LDiscovery (32 MHz) ultra low-power development kit", "platform": "stm32", "upload": { @@ -43,6 +45,7 @@ "mcu": "stm32f303vct6", "variant": "stm32f3" }, + "framework": "cmsis", "name": "STM32F3Discovery (72 MHz) with accelerometer, gyroscope and e-compass", "platform": "stm32", "upload": { diff --git a/platformio/boards/teensy.json b/platformio/boards/teensy.json index 78e6929d..49403ecb 100644 --- a/platformio/boards/teensy.json +++ b/platformio/boards/teensy.json @@ -5,6 +5,7 @@ "f_cpu": "16000000L", "mcu": "atmega32u4" }, + "framework": "arduino", "name": "Teensy 2.0", "platform": "teensy", "upload": { @@ -19,6 +20,7 @@ "f_cpu": "16000000L", "mcu": "at90usb1286" }, + "framework": "arduino", "name": "Teensy++ 2.0", "platform": "teensy", "upload": { @@ -36,6 +38,7 @@ "mcu": "mk20dx128", "cpu": "cortex-m4" }, + "framework": "arduino", "name": "Teensy 3.0", "platform": "teensy", "upload": { @@ -53,6 +56,7 @@ "mcu": "mk20dx256", "cpu": "cortex-m4" }, + "framework": "arduino", "name": "Teensy 3.1", "platform": "teensy", "upload": { diff --git a/platformio/boards/timsp430.json b/platformio/boards/timsp430.json index 87051331..a8d2b46f 100644 --- a/platformio/boards/timsp430.json +++ b/platformio/boards/timsp430.json @@ -6,6 +6,7 @@ "mcu": "msp430f5529", "variant": "launchpad_f5529" }, + "framework": "energia", "name": "LaunchPad w/ msp430f5529 (16MHz)", "platform": "timsp430", "upload": { @@ -21,6 +22,7 @@ "mcu": "msp430f5529", "variant": "launchpad_f5529" }, + "framework": "energia", "name": "LaunchPad w/ msp430f5529 (25MHz)", "platform": "timsp430", "upload": { @@ -36,6 +38,7 @@ "mcu": "msp430fr5739", "variant": "fraunchpad" }, + "framework": "energia", "name": "FraunchPad w/ msp430fr5739", "platform": "timsp430", "upload": { @@ -51,6 +54,7 @@ "mcu": "msp430fr5969", "variant": "launchpad_fr5969" }, + "framework": "energia", "name": "LaunchPad w/ msp430fr5969", "platform": "timsp430", "upload": { @@ -66,6 +70,7 @@ "mcu": "msp430g2231", "variant": "launchpad" }, + "framework": "energia", "name": "LaunchPad w/ msp430g2231 (1MHz)", "platform": "timsp430", "upload": { @@ -81,6 +86,7 @@ "mcu": "msp430g2452", "variant": "launchpad" }, + "framework": "energia", "name": "LaunchPad w/ msp430g2452 (16MHz)", "platform": "timsp430", "upload": { @@ -96,6 +102,7 @@ "mcu": "msp430g2553", "variant": "launchpad" }, + "framework": "energia", "name": "LaunchPad w/ msp430g2553 (16MHz)", "platform": "timsp430", "upload": { diff --git a/platformio/boards/titiva.json b/platformio/boards/titiva.json index 08bf7b00..757ee6fa 100644 --- a/platformio/boards/titiva.json +++ b/platformio/boards/titiva.json @@ -8,6 +8,7 @@ "mcu": "lplm4f120h5qr", "variant": "stellarpad" }, + "framework": "energia", "name": "LaunchPad (Stellaris) w/ lm4f120 (80MHz)", "platform": "titiva", "upload": { @@ -24,6 +25,7 @@ "mcu": "lptm4c1230c3pm", "variant": "stellarpad" }, + "framework": "energia", "name": "LaunchPad (Tiva C) w/ tm4c123 (80MHz)", "platform": "titiva", "upload": { @@ -40,6 +42,7 @@ "mcu": "lptm4c1294ncpdt", "variant": "launchpad_129" }, + "framework": "energia", "name": "LaunchPad (Tiva C) w/ tm4c129 (120MHz)", "platform": "titiva", "upload": { diff --git a/platformio/commands/init.py b/platformio/commands/init.py index 467a8e89..c5f58aaa 100644 --- a/platformio/commands/init.py +++ b/platformio/commands/init.py @@ -12,7 +12,7 @@ from platformio.util import get_boards, get_source_dir @click.command("init", short_help="Initialize new PlatformIO based project") -@click.option("--project-dir", "-d", default=getcwd(), +@click.option("--project-dir", "-d", default=getcwd, type=click.Path(exists=True, file_okay=False, dir_okay=True, writable=True, resolve_path=True)) @click.option("--board", "-b", multiple=True, metavar="TYPE") @@ -93,13 +93,10 @@ def fill_project_envs(project_file, board_types, disable_auto_uploading): content.append("") data = builtin_boards[type_] - framework = data.get("build", {}).get("core", None) - if framework in ("msp430", "lm4f"): - framework = "energia" - + # find default framework for board + framework = data.get("framework", None) content.append("[env:autogen_%s]" % type_) content.append("platform = %s" % data['platform']) - if framework: content.append("framework = %s" % framework) content.append("board = %s" % type_)