Merge pull request #124 from valeros/develop

Add support for "panStamp" boards // Resolve #117
This commit is contained in:
Ivan Kravets
2015-03-16 23:03:16 +02:00
17 changed files with 222 additions and 24 deletions

View File

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

View File

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

View File

@ -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
}

View File

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

View File

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

View File

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

View File

@ -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
}

View File

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

View File

@ -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"
}
}

View File

@ -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": {

View File

@ -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": {

View File

@ -29,12 +29,17 @@ BOARD_BUILDOPTS = BOARD_OPTS.get("build", {})
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)

View File

@ -23,7 +23,7 @@ from platformio.util import exec_command
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 @@ if BOARD_BUILDOPTS.get("core") == "lm4f":
)
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 @@ ldscript_path = find_ldscript(root_dir)
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 @@ env.Replace(
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)
))

View File

@ -26,6 +26,10 @@ PLATFORM_PACKAGES = {
("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 @@ PLATFORM_PACKAGES = {
"http://www.st.com"
"/web/catalog/tools/FM147/CL1794/SC961/SS1743/PF257890")
],
"framework-opencm3": [
"framework-libopencm3": [
("libOpenCM3 Framework", "http://www.libopencm3.org/")
],
"framework-mbed": [

View File

@ -41,7 +41,7 @@ class Ststm32Platform(BasePlatform):
"default": True
},
"framework-opencm3": {
"framework-libopencm3": {
"default": True
},

View File

@ -29,6 +29,10 @@ class Timsp430Platform(BasePlatform):
"framework-energiamsp430": {
"default": True
},
"framework-arduinomsp430": {
"default": True
}
}

View File

@ -35,7 +35,7 @@ class TitivaPlatform(BasePlatform):
"default": True
},
"framework-opencm3": {
"framework-libopencm3": {
"default": True
}
}