Skip to content

Commit

Permalink
Add support for "panStamp" boards // Resolve #117
Browse files Browse the repository at this point in the history
  • Loading branch information
valeros committed Mar 16, 2015
1 parent e76efef commit ccc411f
Show file tree
Hide file tree
Showing 10 changed files with 199 additions and 1 deletion.
21 changes: 21 additions & 0 deletions examples/atmelavr-and-arduino/panstamp-blink/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
How to buid PlatformIO based project
====================================

1. `Install PlatformIO <http://docs.platformio.org/en/latest/installation.html>`_
2. Download `source code with examples <https://github.com/ivankravets/platformio/archive/develop.zip>`_
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
23 changes: 23 additions & 0 deletions examples/atmelavr-and-arduino/panstamp-blink/platformio.ini
Original file line number Diff line number Diff line change
@@ -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
29 changes: 29 additions & 0 deletions examples/atmelavr-and-arduino/panstamp-blink/src/Blink.ino
Original file line number Diff line number Diff line change
@@ -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
}
21 changes: 21 additions & 0 deletions examples/timsp430/panstamp-blink/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
How to buid PlatformIO based project
====================================

1. `Install PlatformIO <http://docs.platformio.org/en/latest/installation.html>`_
2. Download `source code with examples <https://github.com/ivankravets/platformio/archive/develop.zip>`_
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
23 changes: 23 additions & 0 deletions examples/timsp430/panstamp-blink/platformio.ini
Original file line number Diff line number Diff line change
@@ -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
29 changes: 29 additions & 0 deletions examples/timsp430/panstamp-blink/src/Blink.ino
Original file line number Diff line number Diff line change
@@ -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
}
39 changes: 39 additions & 0 deletions platformio/boards/misc.json
Original file line number Diff line number Diff line change
Expand Up @@ -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"
}
}
7 changes: 6 additions & 1 deletion platformio/builder/scripts/frameworks/arduino.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down
4 changes: 4 additions & 0 deletions platformio/platforms/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -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/")
Expand Down
4 changes: 4 additions & 0 deletions platformio/platforms/timsp430.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,10 @@ class Timsp430Platform(BasePlatform):

"framework-energiamsp430": {
"default": True
},

"framework-arduinomsp430": {
"default": True
}
}

Expand Down

0 comments on commit ccc411f

Please sign in to comment.