mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-30 01:57:13 +02:00
Merge pull request #124 from valeros/develop
Add support for "panStamp" boards // Resolve #117
This commit is contained in:
21
examples/atmelavr-and-arduino/panstamp-blink/README.rst
Normal file
21
examples/atmelavr-and-arduino/panstamp-blink/README.rst
Normal 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
|
23
examples/atmelavr-and-arduino/panstamp-blink/platformio.ini
Normal file
23
examples/atmelavr-and-arduino/panstamp-blink/platformio.ini
Normal 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
|
29
examples/atmelavr-and-arduino/panstamp-blink/src/Blink.ino
Normal file
29
examples/atmelavr-and-arduino/panstamp-blink/src/Blink.ino
Normal 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
|
||||||
|
}
|
@ -19,15 +19,15 @@
|
|||||||
|
|
||||||
[env:disco_f407vg]
|
[env:disco_f407vg]
|
||||||
platform = ststm32
|
platform = ststm32
|
||||||
framework = opencm3
|
framework = libopencm3
|
||||||
board = disco_f407vg
|
board = disco_f407vg
|
||||||
|
|
||||||
[env:disco_l152rb]
|
[env:disco_l152rb]
|
||||||
platform = ststm32
|
platform = ststm32
|
||||||
framework = opencm3
|
framework = libopencm3
|
||||||
board = disco_l152rb
|
board = disco_l152rb
|
||||||
|
|
||||||
[env:disco_f303vc]
|
[env:disco_f303vc]
|
||||||
platform = ststm32
|
platform = ststm32
|
||||||
framework = opencm3
|
framework = libopencm3
|
||||||
board = disco_f303vc
|
board = disco_f303vc
|
||||||
|
21
examples/timsp430/panstamp-blink/README.rst
Normal file
21
examples/timsp430/panstamp-blink/README.rst
Normal 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
|
23
examples/timsp430/panstamp-blink/platformio.ini
Normal file
23
examples/timsp430/panstamp-blink/platformio.ini
Normal 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
|
29
examples/timsp430/panstamp-blink/src/Blink.ino
Normal file
29
examples/timsp430/panstamp-blink/src/Blink.ino
Normal 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
|
||||||
|
}
|
@ -19,15 +19,15 @@
|
|||||||
|
|
||||||
[env:LaunchPad_lm4f120h5qr]
|
[env:LaunchPad_lm4f120h5qr]
|
||||||
platform = titiva
|
platform = titiva
|
||||||
framework = opencm3
|
framework = libopencm3
|
||||||
board = lplm4f120h5qr
|
board = lplm4f120h5qr
|
||||||
|
|
||||||
[env:LaunchPad_tm4c1230c3pm]
|
[env:LaunchPad_tm4c1230c3pm]
|
||||||
platform = titiva
|
platform = titiva
|
||||||
framework = opencm3
|
framework = libopencm3
|
||||||
board = lptm4c1230c3pm
|
board = lptm4c1230c3pm
|
||||||
|
|
||||||
[env:LaunchPad_tm4c1294ncpdt]
|
[env:LaunchPad_tm4c1294ncpdt]
|
||||||
platform = titiva
|
platform = titiva
|
||||||
framework = opencm3
|
framework = libopencm3
|
||||||
board = lptm4c1294ncpdt
|
board = lptm4c1294ncpdt
|
||||||
|
@ -75,5 +75,44 @@
|
|||||||
},
|
},
|
||||||
"url": "http://www.sainsmart.com/arduino/control-boards/sainsmart-due-atmel-sam3x8e-arm-cortex-m3-board-black.html",
|
"url": "http://www.sainsmart.com/arduino/control-boards/sainsmart-due-atmel-sam3x8e-arm-cortex-m3-board-black.html",
|
||||||
"vendor": "SainSmart"
|
"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"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -9,7 +9,7 @@
|
|||||||
"mcu": "stm32f407vgt6",
|
"mcu": "stm32f407vgt6",
|
||||||
"variant": "stm32f4"
|
"variant": "stm32f4"
|
||||||
},
|
},
|
||||||
"frameworks": ["cmsis", "spl", "opencm3", "mbed"],
|
"frameworks": ["cmsis", "spl", "libopencm3", "mbed"],
|
||||||
"name": "STM32F4DISCOVERY",
|
"name": "STM32F4DISCOVERY",
|
||||||
"platform": "ststm32",
|
"platform": "ststm32",
|
||||||
"upload": {
|
"upload": {
|
||||||
@ -29,7 +29,7 @@
|
|||||||
"mcu": "stm32l152rbt6",
|
"mcu": "stm32l152rbt6",
|
||||||
"variant": "stm32l1"
|
"variant": "stm32l1"
|
||||||
},
|
},
|
||||||
"frameworks": ["cmsis","spl","opencm3"],
|
"frameworks": ["cmsis","spl","libopencm3"],
|
||||||
"name": "STM32LDISCOVERY",
|
"name": "STM32LDISCOVERY",
|
||||||
"platform": "ststm32",
|
"platform": "ststm32",
|
||||||
"upload": {
|
"upload": {
|
||||||
@ -49,7 +49,7 @@
|
|||||||
"mcu": "stm32f303vct6",
|
"mcu": "stm32f303vct6",
|
||||||
"variant": "stm32f3"
|
"variant": "stm32f3"
|
||||||
},
|
},
|
||||||
"frameworks": ["cmsis", "spl", "opencm3", "mbed"],
|
"frameworks": ["cmsis", "spl", "libopencm3", "mbed"],
|
||||||
"name": "STM32F3DISCOVERY",
|
"name": "STM32F3DISCOVERY",
|
||||||
"platform": "ststm32",
|
"platform": "ststm32",
|
||||||
"upload": {
|
"upload": {
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
"mcu": "lplm4f120h5qr",
|
"mcu": "lplm4f120h5qr",
|
||||||
"variant": "stellarpad"
|
"variant": "stellarpad"
|
||||||
},
|
},
|
||||||
"frameworks": ["energia", "opencm3"],
|
"frameworks": ["energia", "libopencm3"],
|
||||||
"name": "LaunchPad (Stellaris) w/ lm4f120 (80MHz)",
|
"name": "LaunchPad (Stellaris) w/ lm4f120 (80MHz)",
|
||||||
"platform": "titiva",
|
"platform": "titiva",
|
||||||
"upload": {
|
"upload": {
|
||||||
@ -27,7 +27,7 @@
|
|||||||
"mcu": "lptm4c1230c3pm",
|
"mcu": "lptm4c1230c3pm",
|
||||||
"variant": "stellarpad"
|
"variant": "stellarpad"
|
||||||
},
|
},
|
||||||
"frameworks": ["energia", "opencm3"],
|
"frameworks": ["energia", "libopencm3"],
|
||||||
"name": "LaunchPad (Tiva C) w/ tm4c123 (80MHz)",
|
"name": "LaunchPad (Tiva C) w/ tm4c123 (80MHz)",
|
||||||
"platform": "titiva",
|
"platform": "titiva",
|
||||||
"upload": {
|
"upload": {
|
||||||
@ -46,7 +46,7 @@
|
|||||||
"mcu": "lptm4c1294ncpdt",
|
"mcu": "lptm4c1294ncpdt",
|
||||||
"variant": "launchpad_129"
|
"variant": "launchpad_129"
|
||||||
},
|
},
|
||||||
"frameworks": ["energia", "opencm3"],
|
"frameworks": ["energia", "libopencm3"],
|
||||||
"name": "LaunchPad (Tiva C) w/ tm4c129 (120MHz)",
|
"name": "LaunchPad (Tiva C) w/ tm4c129 (120MHz)",
|
||||||
"platform": "titiva",
|
"platform": "titiva",
|
||||||
"upload": {
|
"upload": {
|
||||||
|
@ -29,12 +29,17 @@ BOARD_BUILDOPTS = BOARD_OPTS.get("build", {})
|
|||||||
PLATFORMFW_DIR = join("$PIOPACKAGES_DIR",
|
PLATFORMFW_DIR = join("$PIOPACKAGES_DIR",
|
||||||
"framework-arduino${PLATFORM.replace('atmel', '')}")
|
"framework-arduino${PLATFORM.replace('atmel', '')}")
|
||||||
|
|
||||||
if env.get("PLATFORM") == "digistump":
|
if "digispark" in BOARD_BUILDOPTS.get("core"):
|
||||||
PLATFORMFW_DIR = join(
|
PLATFORMFW_DIR = join(
|
||||||
"$PIOPACKAGES_DIR",
|
"$PIOPACKAGES_DIR",
|
||||||
"framework-arduino%s" % (
|
"framework-arduino%s" % (
|
||||||
"sam" if BOARD_BUILDOPTS.get("cpu") == "cortex-m3" else "avr")
|
"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)
|
env.Replace(PLATFORMFW_DIR=PLATFORMFW_DIR)
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ from platformio.util import exec_command
|
|||||||
env = DefaultEnvironment()
|
env = DefaultEnvironment()
|
||||||
|
|
||||||
env.Replace(
|
env.Replace(
|
||||||
PLATFORMFW_DIR=join("$PIOPACKAGES_DIR", "framework-opencm3")
|
PLATFORMFW_DIR=join("$PIOPACKAGES_DIR", "framework-libopencm3")
|
||||||
)
|
)
|
||||||
|
|
||||||
BOARD_BUILDOPTS = env.get("BOARD_OPTIONS", {}).get("build", {})
|
BOARD_BUILDOPTS = env.get("BOARD_OPTIONS", {}).get("build", {})
|
||||||
@ -103,7 +103,7 @@ def get_source_files(src_dir):
|
|||||||
for search_path in mkdata['vpath']:
|
for search_path in mkdata['vpath']:
|
||||||
src_path = normpath(join(src_dir, search_path, src_file))
|
src_path = normpath(join(src_dir, search_path, src_file))
|
||||||
if isfile(src_path):
|
if isfile(src_path):
|
||||||
sources.append(join("$BUILD_DIR", "FrameworkOpenCM3",
|
sources.append(join("$BUILD_DIR", "FrameworkLibOpenCM3",
|
||||||
src_path.replace(lib_root + sep, "")))
|
src_path.replace(lib_root + sep, "")))
|
||||||
break
|
break
|
||||||
return sources
|
return sources
|
||||||
@ -139,14 +139,14 @@ if BOARD_BUILDOPTS.get("core") == "lm4f":
|
|||||||
)
|
)
|
||||||
|
|
||||||
env.VariantDir(
|
env.VariantDir(
|
||||||
join("$BUILD_DIR", "FrameworkOpenCM3Variant"),
|
join("$BUILD_DIR", "FrameworkLibOpenCM3Variant"),
|
||||||
join("$PLATFORMFW_DIR", "include")
|
join("$PLATFORMFW_DIR", "include")
|
||||||
)
|
)
|
||||||
|
|
||||||
env.Append(
|
env.Append(
|
||||||
CPPPATH=[
|
CPPPATH=[
|
||||||
join("$BUILD_DIR", "FrameworkOpenCM3"),
|
join("$BUILD_DIR", "FrameworkLibOpenCM3"),
|
||||||
join("$BUILD_DIR", "FrameworkOpenCM3Variant")
|
join("$BUILD_DIR", "FrameworkLibOpenCM3Variant")
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -159,7 +159,7 @@ ldscript_path = find_ldscript(root_dir)
|
|||||||
merge_ld_scripts(ldscript_path)
|
merge_ld_scripts(ldscript_path)
|
||||||
generate_nvic_files()
|
generate_nvic_files()
|
||||||
|
|
||||||
# override ldscript by opencm3
|
# override ldscript by libopencm3
|
||||||
assert "LDSCRIPT_PATH" in env
|
assert "LDSCRIPT_PATH" in env
|
||||||
env.Replace(
|
env.Replace(
|
||||||
LDSCRIPT_PATH=ldscript_path
|
LDSCRIPT_PATH=ldscript_path
|
||||||
@ -167,11 +167,11 @@ env.Replace(
|
|||||||
|
|
||||||
libs = []
|
libs = []
|
||||||
env.VariantDir(
|
env.VariantDir(
|
||||||
join("$BUILD_DIR", "FrameworkOpenCM3"),
|
join("$BUILD_DIR", "FrameworkLibOpenCM3"),
|
||||||
"$PLATFORMFW_DIR"
|
"$PLATFORMFW_DIR"
|
||||||
)
|
)
|
||||||
libs.append(env.Library(
|
libs.append(env.Library(
|
||||||
join("$BUILD_DIR", "FrameworkOpenCM3"),
|
join("$BUILD_DIR", "FrameworkLibOpenCM3"),
|
||||||
get_source_files(root_dir)
|
get_source_files(root_dir)
|
||||||
))
|
))
|
||||||
|
|
@ -26,6 +26,10 @@ PLATFORM_PACKAGES = {
|
|||||||
("Arduino Wiring-based Framework",
|
("Arduino Wiring-based Framework",
|
||||||
"http://arduino.cc/en/Reference/HomePage")
|
"http://arduino.cc/en/Reference/HomePage")
|
||||||
],
|
],
|
||||||
|
"framework-arduinomsp430": [
|
||||||
|
("Arduino Wiring-based Framework (MSP430 Core)",
|
||||||
|
"http://arduino.cc/en/Reference/HomePage")
|
||||||
|
],
|
||||||
"framework-energiamsp430": [
|
"framework-energiamsp430": [
|
||||||
("Energia Wiring-based Framework (MSP430 Core)",
|
("Energia Wiring-based Framework (MSP430 Core)",
|
||||||
"http://energia.nu/reference/")
|
"http://energia.nu/reference/")
|
||||||
@ -45,7 +49,7 @@ PLATFORM_PACKAGES = {
|
|||||||
"http://www.st.com"
|
"http://www.st.com"
|
||||||
"/web/catalog/tools/FM147/CL1794/SC961/SS1743/PF257890")
|
"/web/catalog/tools/FM147/CL1794/SC961/SS1743/PF257890")
|
||||||
],
|
],
|
||||||
"framework-opencm3": [
|
"framework-libopencm3": [
|
||||||
("libOpenCM3 Framework", "http://www.libopencm3.org/")
|
("libOpenCM3 Framework", "http://www.libopencm3.org/")
|
||||||
],
|
],
|
||||||
"framework-mbed": [
|
"framework-mbed": [
|
||||||
|
@ -41,7 +41,7 @@ class Ststm32Platform(BasePlatform):
|
|||||||
"default": True
|
"default": True
|
||||||
},
|
},
|
||||||
|
|
||||||
"framework-opencm3": {
|
"framework-libopencm3": {
|
||||||
"default": True
|
"default": True
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -29,6 +29,10 @@ class Timsp430Platform(BasePlatform):
|
|||||||
|
|
||||||
"framework-energiamsp430": {
|
"framework-energiamsp430": {
|
||||||
"default": True
|
"default": True
|
||||||
|
},
|
||||||
|
|
||||||
|
"framework-arduinomsp430": {
|
||||||
|
"default": True
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@ class TitivaPlatform(BasePlatform):
|
|||||||
"default": True
|
"default": True
|
||||||
},
|
},
|
||||||
|
|
||||||
"framework-opencm3": {
|
"framework-libopencm3": {
|
||||||
"default": True
|
"default": True
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user