diff --git a/examples/atmelavr-and-arduino/panstamp-blink/README.rst b/examples/atmelavr-and-arduino/panstamp-blink/README.rst new file mode 100644 index 0000000000..e0a3e32ab8 --- /dev/null +++ b/examples/atmelavr-and-arduino/panstamp-blink/README.rst @@ -0,0 +1,21 @@ +How to buid PlatformIO based project +==================================== + +1. `Install PlatformIO `_ +2. Download `source code with examples `_ +3. Extract ZIP archive +4. Run these commands: + +.. code-block:: bash + + # Change directory to example + > cd platformio-develop/examples/atmelavr-and-arduino/panstamp-blink + + # Process example project + > platformio run + + # Upload firmware + > platformio run --target upload + + # Clean build files + > platformio run --target clean diff --git a/examples/atmelavr-and-arduino/panstamp-blink/platformio.ini b/examples/atmelavr-and-arduino/panstamp-blink/platformio.ini new file mode 100644 index 0000000000..fa51205f5c --- /dev/null +++ b/examples/atmelavr-and-arduino/panstamp-blink/platformio.ini @@ -0,0 +1,23 @@ +# +# Project Configuration File +# +# A detailed documentation with the EXAMPLES is located here: +# http://docs.platformio.org/en/latest/projectconf.html +# + +# A sign `#` at the beginning of the line indicates a comment +# Comment lines are ignored. + +# Simple and base environment +# [env:mybaseenv] +# platform = %INSTALLED_PLATFORM_NAME_HERE% +# framework = +# board = +# +# Automatic targets - enable auto-uploading +# targets = upload + +[env:panStampAVR] +platform = atmelavr +framework = arduino +board = panStampAVR diff --git a/examples/atmelavr-and-arduino/panstamp-blink/src/Blink.ino b/examples/atmelavr-and-arduino/panstamp-blink/src/Blink.ino new file mode 100644 index 0000000000..b0db92b866 --- /dev/null +++ b/examples/atmelavr-and-arduino/panstamp-blink/src/Blink.ino @@ -0,0 +1,29 @@ +/* + Blink + Turns on an LED on for one second, then off for one second, repeatedly. + + Most Arduinos have an on-board LED you can control. On the Uno and + Leonardo, it is attached to digital pin 13. If you're unsure what + pin the on-board LED is connected to on your Arduino model, check + the documentation at http://arduino.cc + + This example code is in the public domain. + + modified 8 May 2014 + by Scott Fitzgerald + */ + + +// the setup function runs once when you press reset or power the board +void setup() { + // initialize digital pin 13 as an output. + pinMode(13, OUTPUT); +} + +// the loop function runs over and over again forever +void loop() { + digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level) + delay(1000); // wait for a second + digitalWrite(13, LOW); // turn the LED off by making the voltage LOW + delay(1000); // wait for a second +} diff --git a/examples/stm32/stm32-opencm3-blink/platformio.ini b/examples/stm32/stm32-opencm3-blink/platformio.ini index 4055d71f8f..2c04a6da0d 100644 --- a/examples/stm32/stm32-opencm3-blink/platformio.ini +++ b/examples/stm32/stm32-opencm3-blink/platformio.ini @@ -19,15 +19,15 @@ [env:disco_f407vg] platform = ststm32 -framework = opencm3 +framework = libopencm3 board = disco_f407vg [env:disco_l152rb] platform = ststm32 -framework = opencm3 +framework = libopencm3 board = disco_l152rb [env:disco_f303vc] platform = ststm32 -framework = opencm3 +framework = libopencm3 board = disco_f303vc diff --git a/examples/timsp430/panstamp-blink/README.rst b/examples/timsp430/panstamp-blink/README.rst new file mode 100644 index 0000000000..f812cba15a --- /dev/null +++ b/examples/timsp430/panstamp-blink/README.rst @@ -0,0 +1,21 @@ +How to buid PlatformIO based project +==================================== + +1. `Install PlatformIO `_ +2. Download `source code with examples `_ +3. Extract ZIP archive +4. Run these commands: + +.. code-block:: bash + + # Change directory to example + > cd platformio-develop/examples/timsp430/panstamp-blink + + # Process example project + > platformio run + + # Upload firmware + > platformio run --target upload + + # Clean build files + > platformio run --target clean diff --git a/examples/timsp430/panstamp-blink/platformio.ini b/examples/timsp430/panstamp-blink/platformio.ini new file mode 100644 index 0000000000..c273de4a4a --- /dev/null +++ b/examples/timsp430/panstamp-blink/platformio.ini @@ -0,0 +1,23 @@ +# +# Project Configuration File +# +# A detailed documentation with the EXAMPLES is located here: +# http://docs.platformio.org/en/latest/projectconf.html +# + +# A sign `#` at the beginning of the line indicates a comment +# Comment lines are ignored. + +# Simple and base environment +# [env:mybaseenv] +# platform = %INSTALLED_PLATFORM_NAME_HERE% +# framework = +# board = +# +# Automatic targets - enable auto-uploading +# targets = upload + +[env:panStampNRG] +platform = timsp430 +framework = arduino +board = panStampNRG diff --git a/examples/timsp430/panstamp-blink/src/Blink.ino b/examples/timsp430/panstamp-blink/src/Blink.ino new file mode 100644 index 0000000000..b0db92b866 --- /dev/null +++ b/examples/timsp430/panstamp-blink/src/Blink.ino @@ -0,0 +1,29 @@ +/* + Blink + Turns on an LED on for one second, then off for one second, repeatedly. + + Most Arduinos have an on-board LED you can control. On the Uno and + Leonardo, it is attached to digital pin 13. If you're unsure what + pin the on-board LED is connected to on your Arduino model, check + the documentation at http://arduino.cc + + This example code is in the public domain. + + modified 8 May 2014 + by Scott Fitzgerald + */ + + +// the setup function runs once when you press reset or power the board +void setup() { + // initialize digital pin 13 as an output. + pinMode(13, OUTPUT); +} + +// the loop function runs over and over again forever +void loop() { + digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level) + delay(1000); // wait for a second + digitalWrite(13, LOW); // turn the LED off by making the voltage LOW + delay(1000); // wait for a second +} diff --git a/examples/titiva/titiva-opencm3-blink/platformio.ini b/examples/titiva/titiva-opencm3-blink/platformio.ini index 67df2d057d..0e46c4a896 100644 --- a/examples/titiva/titiva-opencm3-blink/platformio.ini +++ b/examples/titiva/titiva-opencm3-blink/platformio.ini @@ -19,15 +19,15 @@ [env:LaunchPad_lm4f120h5qr] platform = titiva -framework = opencm3 +framework = libopencm3 board = lplm4f120h5qr [env:LaunchPad_tm4c1230c3pm] platform = titiva -framework = opencm3 +framework = libopencm3 board = lptm4c1230c3pm [env:LaunchPad_tm4c1294ncpdt] platform = titiva -framework = opencm3 +framework = libopencm3 board = lptm4c1294ncpdt diff --git a/platformio/boards/misc.json b/platformio/boards/misc.json index abb6d9a13f..ad93207785 100644 --- a/platformio/boards/misc.json +++ b/platformio/boards/misc.json @@ -75,5 +75,44 @@ }, "url": "http://www.sainsmart.com/arduino/control-boards/sainsmart-due-atmel-sam3x8e-arm-cortex-m3-board-black.html", "vendor": "SainSmart" + }, + "panStampAVR": { + "build": { + "core": "panstamp", + "extra_flags": "-DPANSTAMP_AVR", + "f_cpu": "8000000L", + "mcu": "atmega328p", + "variant": "panstamp" + }, + "frameworks": ["arduino"], + "name": "PanStamp AVR", + "platform": "atmelavr", + "upload": { + "maximum_ram_size": 2048, + "maximum_size": 32256, + "protocol": "arduino", + "require_upload_port" : true, + "speed": 57600 + }, + "url": "http://www.panstamp.com/product/panstamp-avr/", + "vendor": "PanStamp" + }, + "panStampNRG": { + "build": { + "core": "panstamp", + "f_cpu": "12000000L", + "mcu": "cc430f5137", + "variant": "panstamp_nrg_1.1" + }, + "frameworks": ["arduino"], + "name": "PanStamp NRG 1.1", + "platform": "timsp430", + "upload": { + "maximum_ram_size": 4096, + "maximum_size": 32640, + "protocol": "flash-bsl" + }, + "url": "http://www.panstamp.com/product/197/", + "vendor": "PanStamp" } } \ No newline at end of file diff --git a/platformio/boards/ststm32.json b/platformio/boards/ststm32.json index b1e29c7dd7..20b77108c1 100644 --- a/platformio/boards/ststm32.json +++ b/platformio/boards/ststm32.json @@ -9,7 +9,7 @@ "mcu": "stm32f407vgt6", "variant": "stm32f4" }, - "frameworks": ["cmsis", "spl", "opencm3", "mbed"], + "frameworks": ["cmsis", "spl", "libopencm3", "mbed"], "name": "STM32F4DISCOVERY", "platform": "ststm32", "upload": { @@ -29,7 +29,7 @@ "mcu": "stm32l152rbt6", "variant": "stm32l1" }, - "frameworks": ["cmsis","spl","opencm3"], + "frameworks": ["cmsis","spl","libopencm3"], "name": "STM32LDISCOVERY", "platform": "ststm32", "upload": { @@ -49,7 +49,7 @@ "mcu": "stm32f303vct6", "variant": "stm32f3" }, - "frameworks": ["cmsis", "spl", "opencm3", "mbed"], + "frameworks": ["cmsis", "spl", "libopencm3", "mbed"], "name": "STM32F3DISCOVERY", "platform": "ststm32", "upload": { diff --git a/platformio/boards/titiva.json b/platformio/boards/titiva.json index 6b90b01247..69a8d9be8a 100644 --- a/platformio/boards/titiva.json +++ b/platformio/boards/titiva.json @@ -8,7 +8,7 @@ "mcu": "lplm4f120h5qr", "variant": "stellarpad" }, - "frameworks": ["energia", "opencm3"], + "frameworks": ["energia", "libopencm3"], "name": "LaunchPad (Stellaris) w/ lm4f120 (80MHz)", "platform": "titiva", "upload": { @@ -27,7 +27,7 @@ "mcu": "lptm4c1230c3pm", "variant": "stellarpad" }, - "frameworks": ["energia", "opencm3"], + "frameworks": ["energia", "libopencm3"], "name": "LaunchPad (Tiva C) w/ tm4c123 (80MHz)", "platform": "titiva", "upload": { @@ -46,7 +46,7 @@ "mcu": "lptm4c1294ncpdt", "variant": "launchpad_129" }, - "frameworks": ["energia", "opencm3"], + "frameworks": ["energia", "libopencm3"], "name": "LaunchPad (Tiva C) w/ tm4c129 (120MHz)", "platform": "titiva", "upload": { diff --git a/platformio/builder/scripts/frameworks/arduino.py b/platformio/builder/scripts/frameworks/arduino.py index f9e5e741e8..f20846c801 100644 --- a/platformio/builder/scripts/frameworks/arduino.py +++ b/platformio/builder/scripts/frameworks/arduino.py @@ -29,12 +29,17 @@ PLATFORMFW_DIR = join("$PIOPACKAGES_DIR", "framework-arduino${PLATFORM.replace('atmel', '')}") -if env.get("PLATFORM") == "digistump": +if "digispark" in BOARD_BUILDOPTS.get("core"): PLATFORMFW_DIR = join( "$PIOPACKAGES_DIR", "framework-arduino%s" % ( "sam" if BOARD_BUILDOPTS.get("cpu") == "cortex-m3" else "avr") ) +elif env.get("PLATFORM") == "timsp430": + PLATFORMFW_DIR = join( + "$PIOPACKAGES_DIR", + "framework-arduinomsp430" + ) env.Replace(PLATFORMFW_DIR=PLATFORMFW_DIR) diff --git a/platformio/builder/scripts/frameworks/opencm3.py b/platformio/builder/scripts/frameworks/libopencm3.py similarity index 91% rename from platformio/builder/scripts/frameworks/opencm3.py rename to platformio/builder/scripts/frameworks/libopencm3.py index ebc23c4d4b..a0336e7721 100644 --- a/platformio/builder/scripts/frameworks/opencm3.py +++ b/platformio/builder/scripts/frameworks/libopencm3.py @@ -23,7 +23,7 @@ env = DefaultEnvironment() env.Replace( - PLATFORMFW_DIR=join("$PIOPACKAGES_DIR", "framework-opencm3") + PLATFORMFW_DIR=join("$PIOPACKAGES_DIR", "framework-libopencm3") ) BOARD_BUILDOPTS = env.get("BOARD_OPTIONS", {}).get("build", {}) @@ -103,7 +103,7 @@ def get_source_files(src_dir): for search_path in mkdata['vpath']: src_path = normpath(join(src_dir, search_path, src_file)) if isfile(src_path): - sources.append(join("$BUILD_DIR", "FrameworkOpenCM3", + sources.append(join("$BUILD_DIR", "FrameworkLibOpenCM3", src_path.replace(lib_root + sep, ""))) break return sources @@ -139,14 +139,14 @@ def _include_callback(match): ) env.VariantDir( - join("$BUILD_DIR", "FrameworkOpenCM3Variant"), + join("$BUILD_DIR", "FrameworkLibOpenCM3Variant"), join("$PLATFORMFW_DIR", "include") ) env.Append( CPPPATH=[ - join("$BUILD_DIR", "FrameworkOpenCM3"), - join("$BUILD_DIR", "FrameworkOpenCM3Variant") + join("$BUILD_DIR", "FrameworkLibOpenCM3"), + join("$BUILD_DIR", "FrameworkLibOpenCM3Variant") ] ) @@ -159,7 +159,7 @@ def _include_callback(match): merge_ld_scripts(ldscript_path) generate_nvic_files() -# override ldscript by opencm3 +# override ldscript by libopencm3 assert "LDSCRIPT_PATH" in env env.Replace( LDSCRIPT_PATH=ldscript_path @@ -167,11 +167,11 @@ def _include_callback(match): libs = [] env.VariantDir( - join("$BUILD_DIR", "FrameworkOpenCM3"), + join("$BUILD_DIR", "FrameworkLibOpenCM3"), "$PLATFORMFW_DIR" ) libs.append(env.Library( - join("$BUILD_DIR", "FrameworkOpenCM3"), + join("$BUILD_DIR", "FrameworkLibOpenCM3"), get_source_files(root_dir) )) diff --git a/platformio/platforms/base.py b/platformio/platforms/base.py index 0a5c4da665..72f7c77db2 100644 --- a/platformio/platforms/base.py +++ b/platformio/platforms/base.py @@ -26,6 +26,10 @@ ("Arduino Wiring-based Framework", "http://arduino.cc/en/Reference/HomePage") ], + "framework-arduinomsp430": [ + ("Arduino Wiring-based Framework (MSP430 Core)", + "http://arduino.cc/en/Reference/HomePage") + ], "framework-energiamsp430": [ ("Energia Wiring-based Framework (MSP430 Core)", "http://energia.nu/reference/") @@ -45,7 +49,7 @@ "http://www.st.com" "/web/catalog/tools/FM147/CL1794/SC961/SS1743/PF257890") ], - "framework-opencm3": [ + "framework-libopencm3": [ ("libOpenCM3 Framework", "http://www.libopencm3.org/") ], "framework-mbed": [ diff --git a/platformio/platforms/ststm32.py b/platformio/platforms/ststm32.py index 2f09fb21b9..45c029a9e9 100644 --- a/platformio/platforms/ststm32.py +++ b/platformio/platforms/ststm32.py @@ -41,7 +41,7 @@ class Ststm32Platform(BasePlatform): "default": True }, - "framework-opencm3": { + "framework-libopencm3": { "default": True }, diff --git a/platformio/platforms/timsp430.py b/platformio/platforms/timsp430.py index 48fe652e90..8973cded99 100644 --- a/platformio/platforms/timsp430.py +++ b/platformio/platforms/timsp430.py @@ -29,6 +29,10 @@ class Timsp430Platform(BasePlatform): "framework-energiamsp430": { "default": True + }, + + "framework-arduinomsp430": { + "default": True } } diff --git a/platformio/platforms/titiva.py b/platformio/platforms/titiva.py index defd67093b..ffb7e58b69 100644 --- a/platformio/platforms/titiva.py +++ b/platformio/platforms/titiva.py @@ -35,7 +35,7 @@ class TitivaPlatform(BasePlatform): "default": True }, - "framework-opencm3": { + "framework-libopencm3": { "default": True } }