migration to pio v4

This commit is contained in:
Verkehrsrot 2019-06-29 15:03:55 +02:00
parent 27c8b13fff
commit ebeb44fe6c
2 changed files with 98 additions and 336 deletions

View File

@ -22,6 +22,17 @@ config.read("platformio.ini")
# get platformio source path # get platformio source path
srcdir = env.get("PROJECTSRC_DIR") srcdir = env.get("PROJECTSRC_DIR")
# get hal path
haldir = os.path.join (srcdir, "hal")
# check if hal file is present in source directory
halconfig = config.get("board", "halfile")
halconfigfile = os.path.join (haldir, halconfig)
if os.path.isfile(halconfigfile) and os.access(halconfigfile, os.R_OK):
print "Parsing hardware configuration from " + halconfigfile
else:
sys.exit("Missing file " + halconfigfile + ", please create it! Aborting.")
# check if lmic config file is present in source directory # check if lmic config file is present in source directory
lmicconfig = config.get("common", "lmicconfigfile") lmicconfig = config.get("common", "lmicconfigfile")
lmicconfigfile = os.path.join (srcdir, lmicconfig) lmicconfigfile = os.path.join (srcdir, lmicconfig)
@ -58,7 +69,7 @@ apitoken = mykeys["BINTRAY_API_TOKEN"]
# get bintray upload parameters from platformio environment # get bintray upload parameters from platformio environment
version = config.get("common", "release_version") version = config.get("common", "release_version")
package = str(env.get("PIOENV")) package, dummy = halconfig.partition(".")[::2]
# put bintray user credentials to platformio environment # put bintray user credentials to platformio environment
env.Replace(BINTRAY_USER=user) env.Replace(BINTRAY_USER=user)
@ -71,7 +82,7 @@ env.Append(BUILD_FLAGS=[
u'-DWIFI_PASS=\\"' + mykeys["OTA_WIFI_PASS"] + '\\"', u'-DWIFI_PASS=\\"' + mykeys["OTA_WIFI_PASS"] + '\\"',
u'-DBINTRAY_USER=\\"' + mykeys["BINTRAY_USER"] + '\\"', u'-DBINTRAY_USER=\\"' + mykeys["BINTRAY_USER"] + '\\"',
u'-DBINTRAY_REPO=\\"' + mykeys["BINTRAY_REPO"] + '\\"', u'-DBINTRAY_REPO=\\"' + mykeys["BINTRAY_REPO"] + '\\"',
u'-DBINTRAY_PACKAGE=\\"$PIOENV\\"', u'-DBINTRAY_PACKAGE=\\"' + package + '\\"',
u'-DARDUINO_LMIC_PROJECT_CONFIG_H=' + lmicconfig, u'-DARDUINO_LMIC_PROJECT_CONFIG_H=' + lmicconfig,
u'-I \"' + srcdir + '\"' u'-I \"' + srcdir + '\"'
]) ])

View File

@ -1,52 +1,100 @@
; PlatformIO Project Configuration File ; PlatformIO Project Configuration File
; NOTE: PlatformIO v4 is needed!
; ;
; Please visit documentation for the other options and examples ; Please visit documentation for the other options and examples
; http://docs.platformio.org/page/projectconf.html ; http://docs.platformio.org/page/projectconf.html
; ---> SELECT TARGET PLATFORM HERE! <--- ; ---> SELECT TARGET PLATFORM HERE! <---
[board]
;halfile = ebox.h
;board = esp32dev
;upload_speed = 115200
;halfile = eboxtube.h
;board = esp32dev
;upload_speed = 115200
;halfile = ecopower.h
;board = esp32dev
;halfile = heltec.h
;board = heltec_wifi_lora_32
;halfile = heltecv2.h
;board = heltec_wifi_lora_32_V2
;halfile = ttgov1.h
;board = ttgo-lora32-v1
;upload_speed = 115200
;halfile = ttgov2.h
;board = ttgo-lora32-v1
;halfile = ttgov21old.h
;board = esp32dev
;halfile = ttgov21new.h
;board = esp32dev
halfile = ttgofox.h
board = esp32dev
;halfile = ttgobeam.h
;board = ttgo-t-beam
;halfile = fipy.h
;board = esp32dev
;halfile = lopy.h
;board = lopy
;halfile = lopy4.h
;board = lopy4
;halfile = lolin32litelora.h
;board = lolin32
;halfile = lolin32lora.h
;board = lolin32
;halfile = lolin32lite.h
;board = lolin32
;halfile = wemos32oled.h
;board = lolin32
;halfile = octopus32.h
;board = featheresp32
;halfile = generic.h
;board = esp32dev
[platformio] [platformio]
default_envs = generic ; upload firmware to board with usb cable
;default_envs = ebox ;default_envs = usb
;default_envs = eboxtube
;default_envs = ecopower ; upload firmware to a jfrog bintray repository
;default_envs = heltec default_envs = ota
;default_envs = heltecv2
;default_envs = ttgov1
;default_envs = ttgov2
;default_envs = ttgov21old
;default_envs = ttgov21new
;default_envs = ttgobeam
;default_envs = ttgofox
;default_envs = lopy
;default_envs = lopy4
;default_envs = fipy
;default_envs = lolin32litelora
;default_envs = lolin32lora
;default_envs = lolin32lite
;default_envs = wemos32oled
;default_envs = octopus32
;default_envs = ecopower, eboxtube, heltec, ttgobeam, lopy4, lopy, ttgov21old, ttgov21new, ttgofox
;
description = Paxcounter is a proof-of-concept ESP32 device for metering passenger flows in realtime. It counts how many mobile devices are around. description = Paxcounter is a proof-of-concept ESP32 device for metering passenger flows in realtime. It counts how many mobile devices are around.
[common] [common]
; for release_version use max. 10 chars total, use any decimal format like "a.b.c" ; for release_version use max. 10 chars total, use any decimal format like "a.b.c"
release_version = 1.7.62 release_version = 1.7.71
; DEBUG LEVEL: For production run set to 0, otherwise device will leak RAM while running! ; DEBUG LEVEL: For production run set to 0, otherwise device will leak RAM while running!
; 0=None, 1=Error, 2=Warn, 3=Info, 4=Debug, 5=Verbose ; 0=None, 1=Error, 2=Warn, 3=Info, 4=Debug, 5=Verbose
debug_level = 3 debug_level = 3
; UPLOAD MODE: select esptool to flash via USB/UART, select custom to upload to cloud for OTA
upload_protocol = esptool
;upload_protocol = custom
extra_scripts = pre:build.py extra_scripts = pre:build.py
otakeyfile = ota.conf otakeyfile = ota.conf
lorakeyfile = loraconf.h lorakeyfile = loraconf.h
lmicconfigfile = lmic_config.h lmicconfigfile = lmic_config.h
platform_espressif32 = espressif32@1.8.0 platform_espressif32 = espressif32@1.9.0
;platform_espressif32 = https://github.com/platformio/platform-espressif32.git#develop ;platform_espressif32 = https://github.com/platformio/platform-espressif32.git#develop
board_build.partitions = min_spiffs.csv board_build.partitions = min_spiffs.csv
monitor_speed = 115200 monitor_speed = 115200
upload_speed = 921600
lib_deps_lora = lib_deps_lora =
;MCCI LoRaWAN LMIC library@2.3.2 ;MCCI LoRaWAN LMIC library@2.3.2
https://github.com/mcci-catena/arduino-lmic.git https://github.com/mcci-catena/arduino-lmic.git
@ -57,7 +105,7 @@ lib_deps_matrix_display =
lib_deps_rgbled = lib_deps_rgbled =
SmartLeds@>=1.1.5 SmartLeds@>=1.1.5
lib_deps_gps = lib_deps_gps =
TinyGPSPlus@>=1.0.2 1655@>=1.0.2 ;TinyGPSPlus by Mikal Hart
lib_deps_sensors = lib_deps_sensors =
Adafruit Unified Sensor@^1.0.3 Adafruit Unified Sensor@^1.0.3
Adafruit BME280 Library@1.0.8 Adafruit BME280 Library@1.0.8
@ -74,7 +122,7 @@ lib_deps_all =
${common.lib_deps_gps} ${common.lib_deps_gps}
${common.lib_deps_matrix_display} ${common.lib_deps_matrix_display}
build_flags_basic = build_flags_basic =
-include "src/hal/${PIOENV}.h" -include "src/hal/${board.halfile}"
-include "src/paxcounter.conf" -include "src/paxcounter.conf"
-w -w
'-DCORE_DEBUG_LEVEL=${common.debug_level}' '-DCORE_DEBUG_LEVEL=${common.debug_level}'
@ -86,319 +134,22 @@ build_flags_sensors =
build_flags_all = build_flags_all =
${common.build_flags_basic} ${common.build_flags_basic}
${common.build_flags_sensors} ${common.build_flags_sensors}
[env:ebox]
platform = ${common.platform_espressif32}
framework = arduino
board = esp32dev
board_build.partitions = ${common.board_build.partitions}
upload_speed = 115200
lib_deps =
${common.lib_deps_basic}
${common.lib_deps_lora}
build_flags =
${common.build_flags_basic}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}
[env:eboxtube]
platform = ${common.platform_espressif32}
framework = arduino
board = esp32dev
board_build.partitions = ${common.board_build.partitions}
upload_speed = 115200
lib_deps =
${common.lib_deps_basic}
${common.lib_deps_lora}
${common.lib_deps_rgbled}
build_flags =
${common.build_flags_basic}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}
[env:ecopower]
platform = ${common.platform_espressif32}
framework = arduino
board = esp32dev
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps =
${common.lib_deps_basic}
${common.lib_deps_lora}
${common.lib_deps_display}
build_flags =
${common.build_flags_basic}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}
[env:heltec]
platform = ${common.platform_espressif32}
framework = arduino
board = heltec_wifi_lora_32
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps =
${common.lib_deps_basic}
${common.lib_deps_lora}
${common.lib_deps_display}
build_flags =
${common.build_flags_basic}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}
[env:heltecv2]
platform = ${common.platform_espressif32}
framework = arduino
board = heltec_wifi_lora_32_V2
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps =
${common.lib_deps_basic}
${common.lib_deps_lora}
${common.lib_deps_display}
build_flags =
${common.build_flags_basic}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}
[env:ttgov1]
platform = ${common.platform_espressif32}
framework = arduino
board = ttgo-lora32-v1
board_build.partitions = ${common.board_build.partitions}
upload_speed = 115200
lib_deps =
${common.lib_deps_basic}
${common.lib_deps_lora}
${common.lib_deps_display}
build_flags =
${common.build_flags_basic}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}
[env:ttgov2]
platform = ${common.platform_espressif32}
framework = arduino
board = ttgo-lora32-v1
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps =
${common.lib_deps_basic}
${common.lib_deps_lora}
${common.lib_deps_display}
build_flags =
${common.build_flags_basic}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}
[env:ttgov21old]
platform = ${common.platform_espressif32}
framework = arduino
board = esp32dev
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps =
${common.lib_deps_basic}
${common.lib_deps_lora}
${common.lib_deps_display}
build_flags =
${common.build_flags_basic}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}
[env:ttgov21new]
platform = ${common.platform_espressif32}
framework = arduino
board = esp32dev
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps =
${common.lib_deps_basic}
${common.lib_deps_lora}
${common.lib_deps_display}
build_flags =
${common.build_flags_basic}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}
[env:ttgofox]
platform = ${common.platform_espressif32}
framework = arduino
board = esp32dev
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps =
${common.lib_deps_basic}
${common.lib_deps_lora}
${common.lib_deps_display}
build_flags =
${common.build_flags_basic}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}
[env:ttgobeam]
platform = ${common.platform_espressif32}
framework = arduino
board = ttgo-t-beam
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps =
${common.lib_deps_basic}
${common.lib_deps_lora}
${common.lib_deps_gps}
${common.lib_deps_display}
build_flags =
${common.build_flags_all}
-mfix-esp32-psram-cache-issue -mfix-esp32-psram-cache-issue
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}
[env:fipy] [env]
board = ${board.board}
upload_speed = ${board.upload_speed}
platform = ${common.platform_espressif32} platform = ${common.platform_espressif32}
framework = arduino framework = arduino
board = esp32dev
board_build.partitions = ${common.board_build.partitions} board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps =
${common.lib_deps_basic}
${common.lib_deps_lora}
${common.lib_deps_rgbled}
build_flags =
${common.build_flags_basic}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}
[env:lopy]
platform = ${common.platform_espressif32}
framework = arduino
board = lopy
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps =
${common.lib_deps_basic}
${common.lib_deps_lora}
${common.lib_deps_rgbled}
${common.lib_deps_gps}
build_flags =
${common.build_flags_basic}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}
[env:lopy4]
platform = ${common.platform_espressif32}
framework = arduino
board = lopy4
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps =
${common.lib_deps_basic}
${common.lib_deps_lora}
${common.lib_deps_rgbled}
${common.lib_deps_gps}
build_flags =
${common.build_flags_basic}
-mfix-esp32-psram-cache-issue
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}
[env:lolin32litelora]
platform = ${common.platform_espressif32}
framework = arduino
board = lolin32
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps =
${common.lib_deps_basic}
${common.lib_deps_lora}
${common.lib_deps_rgbled}
build_flags =
${common.build_flags_basic}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}
[env:lolin32lora]
platform = ${common.platform_espressif32}
framework = arduino
board = lolin32
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps =
${common.lib_deps_basic}
${common.lib_deps_lora}
${common.lib_deps_rgbled}
build_flags =
${common.build_flags_basic}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}
[env:lolin32lite]
platform = ${common.platform_espressif32}
framework = arduino
board = lolin32
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps =
${common.lib_deps_basic}
${common.lib_deps_rgbled}
${common.lib_deps_matrix_display}
build_flags =
${common.build_flags_basic}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}
[env:wemos32oled]
platform = ${common.platform_espressif32}
framework = arduino
board = lolin32
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps =
${common.lib_deps_basic}
${common.lib_deps_display}
${common.lib_deps_matrix_display}
build_flags =
${common.build_flags_all}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}
[env:octopus32]
platform = ${common.platform_espressif32}
framework = arduino
board = featheresp32
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps = ${common.lib_deps_all} lib_deps = ${common.lib_deps_all}
build_flags = ${common.build_flags_all} build_flags = ${common.build_flags_all}
upload_protocol = ${common.upload_protocol} upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts} extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed} monitor_speed = ${common.monitor_speed}
[env:generic] [env:ota]
platform = ${common.platform_espressif32} upload_protocol = custom
framework = arduino
board = esp32dev [env:usb]
board_build.partitions = ${common.board_build.partitions} upload_protocol = esptool
upload_speed = 921600
lib_deps = ${common.lib_deps_all}
build_flags = ${common.build_flags_all}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}