Як творець PlatformIO, я б рекомендував вам розібратися в цьому. Це розробник коду між платформами та відсутній менеджер бібліотеки. Він може створити той самий код для багатьох популярних вбудованих платформ і плат.
PlatformIO можна інтегрувати з багатьма популярними системами безперервної інтеграції (CI) (або власною). Дивіться документацію з прикладами .
Давайте розглянемо .travis.yml
config / шаблон для Travis CI:
language: python
python:
- "2.7"
env:
- PLATFORMIO_CI_SRC=path/to/source/file.c
- PLATFORMIO_CI_SRC=path/to/source/file.ino
- PLATFORMIO_CI_SRC=path/to/source/directory
install:
- python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)"
script:
- platformio ci --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
Приклад
Інтеграція для USB_Host_Shield_2.0
проекту. Файл .travis.yml
конфігурації:
language: python
python:
- "2.7"
env:
- PLATFORMIO_CI_SRC=examples/acm/acm_terminal
- PLATFORMIO_CI_SRC=examples/Bluetooth/WiiIRCamera PLATFORMIO_BUILD_FLAGS="-DWIICAMERA"
- PLATFORMIO_CI_SRC=examples/ftdi/USBFTDILoopback
- PLATFORMIO_CI_SRC=examples/Xbox/XBOXUSB
# - ...
install:
- python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)"
# Libraries from PlatformIO Library Registry
# http://platformio.org/#!/lib/show/416/TinyGPS
# http://platformio.org/#!/lib/show/417/SPI4Teensy3
- platformio lib install 416 417
script:
- platformio ci --board=uno --board=teensy31 --board=due --lib="."
avr-size
?