Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[platformio]
src_dir = firmware/src
lib_dir = firmware/lib
include_dir = firmware/include
test_dir = firmware/test
data_dir = firmware/data
; Note: change this to the target environment to get VSCode to handle code
; completion, etc, correctly.
default_envs = chainlink
[extra]
lib_deps =
Adafruit NeoPixel@1.7.0
; Note: the Arduino Uno builds are temporarily disabled (legacy .ino files are being cleaned up and only platformio will be supported going forward)
; Go back to 6c1e1913cbfc23ee90155410a65ac26e2389134f for the last stable version that supported them in the meantime.
;
; [env:uno-shift-register]
; platform = atmelavr
; board = uno
; framework = arduino
; monitor_speed = 38400
; monitor_echo = yes
; monitor_eol = LF
; lib_deps = ${extra.lib_deps}
; build_flags =
; -DSPI_IO=true
; -DREVERSE_MOTOR_DIRECTION=false
; -DNEOPIXEL_DEBUGGING_ENABLED=true
; -DINA219_POWER_SENSE=false
; -DSPLITFLAP_PIO_HARDWARE_CONFIG
; [env:uno-direct]
; platform = atmelavr
; board = uno
; framework = arduino
; monitor_speed = 38400
; monitor_echo = yes
; monitor_eol = LF
; lib_deps = ${extra.lib_deps}
; build_flags =
; -DNUM_MODULES=3
; -DSPI_IO=false
; -DREVERSE_MOTOR_DIRECTION=false
; -DNEOPIXEL_DEBUGGING_ENABLED=true
; -DINA219_POWER_SENSE=false
; -DSPLITFLAP_PIO_HARDWARE_CONFIG
[esp32base]
platform = espressif32@3.4
framework = arduino
board = esp32dev
upload_speed = 921600
monitor_speed = 230400
monitor_echo = yes
monitor_eol = LF
monitor_filters = esp32_exception_decoder
board_build.partitions = default_ffat.csv
extra_scripts =
pre:firmware/buildscript_build_info_macros.py
; This would be much cleaner if we didn't need to preserve Arduino IDE compatibility and the splitflap
; module driver could be pulled out to its own library and shared properly... Instead, we remove the
; .ino file (referred to as .ino.cpp during the build) and add additional source.
build_src_filter = +<*> -<.git/> -<.svn/> -<example/> -<examples/> -<test/> -<tests/> -<Splitflap.ino.cpp> +<../esp32/core> +<../esp32/splitflap> +<../esp32/proto_gen>
lib_deps =
bodmer/TFT_eSPI @ 2.4.25
knolleary/PubSubClient @ 2.8
bakercp/PacketSerial @ 1.4.0
nanopb/Nanopb @ 0.4.6 ; Ideally this would reference the nanopb submodule, but that would require
; everyone to check out submodules to just compile, so we use the library
; registry for the runtime. The submodule is available for manually updating
; the pre-compiled (checked in) .pb.h/c files when proto files change, but is
; otherwise not used during application firmware compilation.
build_flags =
-DSPI_IO=true
-DSPLITFLAP_PIO_HARDWARE_CONFIG
-DREVERSE_MOTOR_DIRECTION=false
; Set to true to enable MQTT support (see secrets.h.example for configuration)
-DMQTT=false
-DMQTT_MAX_PACKET_SIZE=512
; Set to true to enable HTTP support (see secrets.h.example for configuration)
-DHTTP=false
; Set to true to enable display support for T-Display (default)
-DENABLE_DISPLAY=true
-DUSER_SETUP_LOADED=1
-DST7789_DRIVER=1
-DCGRAM_OFFSET=1
-DTFT_WIDTH=135
-DTFT_HEIGHT=240
-DTFT_MISO=-1
-DTFT_MOSI=19
-DTFT_SCLK=18
-DTFT_CS=5
-DTFT_DC=16
-DTFT_RST=23
-DTFT_BL=4
-DLOAD_GLCD=1
-DLOAD_GFXFF=1
-DSPI_FREQUENCY=40000000
[env:chainlink]
extends=esp32base
build_flags =
${esp32base.build_flags}
-DCHAINLINK
-DNUM_MODULES=6
[env:chainlink_ota]
extends=env:chainlink
upload_protocol = espota
upload_port = splitflap.local ; Replace with your device's IP address
upload_flags =
--auth=replace_me!
--port=3232
--host_port=16106
--debug
--progress
--timeout=30
[env:advanced_chainlinkBase]
extends=esp32base
build_src_filter = ${esp32base.build_src_filter} +<../esp32/base>
build_flags =
${esp32base.build_flags}
-DCHAINLINK
-DCHAINLINK_BASE
-DNUM_MODULES=108
-DINA219_POWER_SENSE=true
lib_deps =
${esp32base.lib_deps}
adafruit/Adafruit MCP23017 Arduino Library @ 1.3.0
fastled/FastLED @ 3.9.7
adafruit/Adafruit BusIO @ 1.16.2
[env:advanced_chainlinkDriverTester]
extends=esp32base
build_src_filter = +<*> -<.git/> -<.svn/> -<example/> -<examples/> -<test/> -<tests/> -<Splitflap.ino.cpp> +<../esp32/core> +<../esp32/tester>
build_flags =
${esp32base.build_flags}
-DCHAINLINK
-DCHAINLINK_DRIVER_TESTER
-DNUM_MODULES=12
-DINA219_POWER_SENSE=true
lib_deps =
${esp32base.lib_deps}
adafruit/Adafruit MCP23017 Arduino Library @ 1.3.0
adafruit/Adafruit BusIO @ 1.16.2
build_type = debug
[env:advanced_esp32Custom]
; For non-chainlink custom ESP32-based advanced builds that use shift registers but omit the Chainlink design elements like loopbacks and LEDs.
; This is not the environment you want unless you have custom non-Chainlink hardware and really know the intricacies of the shift register arrangement.
extends=esp32base
build_flags =
${esp32base.build_flags}
-DNUM_MODULES=6
87b17c531This file is pinned to the selected release. Download the original to open it in your design tool.