Skip to content

Commit

Permalink
Merge pull request #124 from valeros/develop
Browse files Browse the repository at this point in the history
Add support for "panStamp" boards // Resolve #117
  • Loading branch information
ivankravets committed Mar 16, 2015
2 parents 49ab5e7 + 9c5ef02 commit 744c6f1
Show file tree
Hide file tree
Showing 17 changed files with 222 additions and 24 deletions.
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
}
6 changes: 3 additions & 3 deletions examples/stm32/stm32-opencm3-blink/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -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
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
}
6 changes: 3 additions & 3 deletions examples/titiva/titiva-opencm3-blink/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -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
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"
}
}
6 changes: 3 additions & 3 deletions platformio/boards/ststm32.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"mcu": "stm32f407vgt6",
"variant": "stm32f4"
},
"frameworks": ["cmsis", "spl", "opencm3", "mbed"],
"frameworks": ["cmsis", "spl", "libopencm3", "mbed"],
"name": "STM32F4DISCOVERY",
"platform": "ststm32",
"upload": {
Expand All @@ -29,7 +29,7 @@
"mcu": "stm32l152rbt6",
"variant": "stm32l1"
},
"frameworks": ["cmsis","spl","opencm3"],
"frameworks": ["cmsis","spl","libopencm3"],
"name": "STM32LDISCOVERY",
"platform": "ststm32",
"upload": {
Expand All @@ -49,7 +49,7 @@
"mcu": "stm32f303vct6",
"variant": "stm32f3"
},
"frameworks": ["cmsis", "spl", "opencm3", "mbed"],
"frameworks": ["cmsis", "spl", "libopencm3", "mbed"],
"name": "STM32F3DISCOVERY",
"platform": "ststm32",
"upload": {
Expand Down
6 changes: 3 additions & 3 deletions platformio/boards/titiva.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"mcu": "lplm4f120h5qr",
"variant": "stellarpad"
},
"frameworks": ["energia", "opencm3"],
"frameworks": ["energia", "libopencm3"],
"name": "LaunchPad (Stellaris) w/ lm4f120 (80MHz)",
"platform": "titiva",
"upload": {
Expand All @@ -27,7 +27,7 @@
"mcu": "lptm4c1230c3pm",
"variant": "stellarpad"
},
"frameworks": ["energia", "opencm3"],
"frameworks": ["energia", "libopencm3"],
"name": "LaunchPad (Tiva C) w/ tm4c123 (80MHz)",
"platform": "titiva",
"upload": {
Expand All @@ -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": {
Expand Down
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
Original file line number Diff line number Diff line change
Expand Up @@ -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", {})
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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")
]
)

Expand All @@ -159,19 +159,19 @@ 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
)

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)
))

Expand Down
6 changes: 5 additions & 1 deletion 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 All @@ -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": [
Expand Down
2 changes: 1 addition & 1 deletion platformio/platforms/ststm32.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ class Ststm32Platform(BasePlatform):
"default": True
},

"framework-opencm3": {
"framework-libopencm3": {
"default": True
},

Expand Down
Loading

0 comments on commit 744c6f1

Please sign in to comment.