mirror of
https://github.com/HASwitchPlate/openHASP.git
synced 2025-04-19 12:57:19 +00:00
249 lines
8.3 KiB
INI
249 lines
8.3 KiB
INI
; MIT License - Copyright (c) 2020 Francis Van Roie
|
|
; For full license information read the LICENSE file in the project folder
|
|
;
|
|
; PlatformIO Project Configuration File
|
|
;
|
|
; Please visit documentation for the other options and examples
|
|
; http://docs.platformio.org/page/projectconf.html
|
|
|
|
|
|
;**************************************************************
|
|
; Common project settings
|
|
;**************************************************************
|
|
[platformio]
|
|
extra_configs =
|
|
user_setups/lcd_config.ini
|
|
; -- Put active [env] files in this dir to be included in the build menu
|
|
user_setups/active/*.ini
|
|
; -- Add customizations to this file only:
|
|
platformio_override.ini
|
|
|
|
default_envs =
|
|
; Uncomment the needed environments in platformio_override.ini
|
|
; You can also create new environments in in platformio_override.ini
|
|
${override.extra_default_envs}
|
|
|
|
[override]
|
|
; -- By default there are no ${override.build_flags} set
|
|
; -- to use it, copy the platformio_override.ini file from the template
|
|
build_flags =
|
|
extra_default_envs =
|
|
|
|
|
|
;***************************************************
|
|
; Common environment settings
|
|
;***************************************************
|
|
[env]
|
|
upload_speed = 921600
|
|
monitor_speed = 115200
|
|
|
|
build_flags =
|
|
-D PIOENV=\"${PIOENV}\"
|
|
-Os ; Code Size Optimization
|
|
;-Og ; Code Debug Optimization
|
|
;-w ; Suppress warnings
|
|
-D CORE_DEBUG_LEVEL=0 ; 0=Silent, 1=Errors, 2=Warnings
|
|
-I include ; include lv_conf.h and hasp_conf.h
|
|
; -- littlevgl build options ------------------------------
|
|
-D LV_CONF_INCLUDE_SIMPLE ; for lvgl
|
|
-D LV_LVGL_H_INCLUDE_SIMPLE ; for lv_drivers
|
|
-D LV_COMP_CONF_INCLUDE_SIMPLE ; for components
|
|
-D LV_SYMBOL_DEF_H ; don't load default symbol defines
|
|
; -- ESP build options ------------------------------------
|
|
-D SPIFFS_TEMPORAL_FD_CACHE ; speedup opening recent files
|
|
; -- ArduinoJson build options ----------------------------
|
|
-D ARDUINOJSON_DECODE_UNICODE=1 ; for utf-8 symbols
|
|
|
|
; -- StreamUtils build options ----------------------------
|
|
-D STREAMUTILS_ENABLE_EEPROM=1 ; for STM32, it also supports EEPROM
|
|
|
|
; -- Hasp build options ----------------------------
|
|
-D HASP_VER_MAJ=0
|
|
-D HASP_VER_MIN=6
|
|
-D HASP_VER_REV=1
|
|
${override.build_flags}
|
|
|
|
; -- Shared library dependencies in all environments
|
|
; Warning : don't put comments after github links => causes infinite download loop
|
|
lib_deps =
|
|
bxparks/AceButton@^1.8.3 ; GPIO button library
|
|
bblanchon/ArduinoJson@^6.18.0 ; Json(l) parser
|
|
bblanchon/StreamUtils@1.6.1 ; for EEPromStream
|
|
knolleary/PubSubClient@^2.8.0 ; MQTT client
|
|
git+https://github.com/fvanroie/ConsoleInput.git
|
|
;git+https://github.com/andrethomas/TasmotaSlave.git
|
|
;git+https://github.com/lvgl/lvgl.git
|
|
;Needed for touch rotation:
|
|
git+https://github.com/lvgl/lvgl.git#release/v7
|
|
;lvgl/lvgl@^7.11.0 ; from PIO library
|
|
bodmer/TFT_eSPI@^2.3.70
|
|
;git+https://github.com/Bodmer/TFT_eSPI.git
|
|
; ------ Unused / Test libraries
|
|
;https://github.com/netwizeBE/TFT_eSPI.git
|
|
;Syslog@^2.0.0 ; Obsoleted
|
|
;AsyncTCP
|
|
;https://github.com/me-no-dev/ESPAsyncWebServer/archive/master.zip
|
|
;https://github.com/me-no-dev/ESPAsyncTCP/archive/master.zip
|
|
|
|
src_filter = +<*> -<.git/> -<examples/> -<test/> -<tests/> -<stm32f4/> -<lv_font_montserrat_*.c>
|
|
|
|
|
|
; -- Platform specific build flags
|
|
[esp32]
|
|
framework = arduino
|
|
platform = espressif32@^3.2.1
|
|
|
|
board_upload.flash_size=4MB
|
|
board_upload.maximum_size = 4194304
|
|
board_build.partitions = user_setups/esp32/partitions_4MB.csv
|
|
board_build.filesystem = littlefs
|
|
board_build.embed_files =
|
|
data/edit.htm.gz
|
|
|
|
; ----- crash reporter
|
|
monitor_filters = esp32_exception_decoder
|
|
|
|
; ----- debugger
|
|
check_tool = cppcheck
|
|
check_flags = --enable=all
|
|
debug_tool = esp-prog
|
|
debug_init_break = tbreak setup
|
|
|
|
build_flags =
|
|
${env.build_flags}
|
|
-D HTTP_UPLOAD_BUFLEN=1024 ; lower http upload buffer
|
|
-D MQTT_MAX_PACKET_SIZE=2048 ; longer PubSubClient messages
|
|
-D HASP_CONSOLE_BUFFER=256 ; maximum length of a console/telnet command
|
|
-D NO_GLOBAL_HTTPUPDATE ; dont instantiate httpUpdate
|
|
; -- lvgl build options -----------------------------
|
|
-D LV_MEM_SIZE=49152U ; 48 kB lvgl memory
|
|
-D LV_ATTRIBUTE_FAST_MEM=IRAM_ATTR
|
|
-D LV_ATTRIBUTE_TASK_HANDLER=IRAM_ATTR
|
|
;-D LV_FS_PC_PATH="//littlefs" ; this needs to match the vfs mount pount
|
|
-D LODEPNG_NO_COMPILE_ALLOCATORS ; use PSram functions
|
|
; -- ArduinoJson build options ----------------------------
|
|
-D ARDUINOJSON_ENABLE_PROGMEM=1 ; for PROGMEM arguments
|
|
; -- tft_espi build options ------------------------
|
|
;-D USE_DMA_TO_TFT
|
|
; -- openHASP build options ------------------------
|
|
-D HASP_ATTRIBUTE_FAST_MEM=IRAM_ATTR
|
|
-D HASP_USE_TELNET=1
|
|
;-D HASP_USE_SPIFFS=1
|
|
-D HASP_USE_LITTLEFS=1
|
|
;-D HASP_USE_EEPROM=1
|
|
-D HASP_USE_CONFIG=1 ; Native application, not library
|
|
-D LV_LOG_TRACE_TIMER=1
|
|
-D HASP_USE_PNGDECODE=1
|
|
; -- LittleFS build options ------------------------
|
|
;-D CONFIG_LITTLEFS_FOR_IDF_3_2 ; obsolete in IDF 3.3
|
|
|
|
lib_ignore =
|
|
GxTFT
|
|
XPT2046_Touchscreen
|
|
Adafruit TouchScreen
|
|
Adafruit BusIO
|
|
Adafruit GFX Library
|
|
sstaub/Ticker
|
|
lv_drv_fsmc_ili9341
|
|
lv_drivers
|
|
AXP192
|
|
|
|
lib_deps =
|
|
LittleFS_esp32
|
|
git+https://github.com/lvgl/lv_lib_png.git#release/v7
|
|
|
|
ps_ram =
|
|
-DBOARD_HAS_PSRAM
|
|
-mfix-esp32-psram-cache-issue
|
|
|
|
extra_scripts =
|
|
tools/littlefsbuilder.py
|
|
tools/esp_merge_bin.py
|
|
tools/analyze_elf.py
|
|
; ${env.extra_scripts}
|
|
; tools/copy_partitions.py
|
|
|
|
; -- The ESP32 has 2 SPI Hardware Busses available to use:
|
|
vspi =
|
|
-D TFT_MISO=19
|
|
-D TFT_MOSI=23
|
|
-D TFT_SCLK=18
|
|
hspi =
|
|
-D TFT_MISO=12
|
|
-D TFT_MOSI=13
|
|
-D TFT_SCLK=14
|
|
|
|
[esp8266]
|
|
framework = arduino
|
|
platform = espressif8266
|
|
|
|
board_build.f_flash = 40000000L
|
|
board_build.flash_mode = dout
|
|
board_build.ldscript = eagle.flash.4m2m.ld ; 2Mb Spiffs
|
|
board_build.f_cpu = 160000000L ; set frequency to 160MHz
|
|
|
|
; ----- crash reporter
|
|
monitor_filters = esp8266_exception_decoder
|
|
|
|
build_flags=
|
|
-D HTTP_UPLOAD_BUFLEN=512 ; lower http upload buffer
|
|
-D MQTT_MAX_PACKET_SIZE=1024 ; longer PubSubClient messages
|
|
-D HASP_CONSOLE_BUFFER=160 ; maximum length of a console/telnet command
|
|
-D ATOMIC_FS_UPDATE ; enabled compressed ota updates
|
|
-D NO_GLOBAL_HTTPUPDATE ; dont instantiate httpUpdate
|
|
; -- lwIP Variant -----------------------------------
|
|
;-D PIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH
|
|
-D PIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY
|
|
; -- lvgl build options -----------------------------
|
|
-D LV_MEM_SIZE=12288U ; 12kB lvgl memory
|
|
-D LV_ATTRIBUTE_FAST_MEM=
|
|
-D LV_ATTRIBUTE_TASK_HANDLER=
|
|
; -- ArduinoJson build options ----------------------------
|
|
-D ARDUINOJSON_ENABLE_PROGMEM=1 ; for PROGMEM arguments
|
|
-D ARDUINOJSON_ENABLE_STD_STRING=1 ; for std::string
|
|
; -- openHASP build options -------------------------
|
|
-D HASP_ATTRIBUTE_FAST_MEM=
|
|
-D HASP_USE_TELNET=1
|
|
;-D HASP_USE_SPIFFS=1
|
|
-D HASP_USE_LITTLEFS=1
|
|
-D HASP_USE_EEPROM=1
|
|
-D HASP_USE_ETHERNET=0
|
|
-D HASP_USE_CONFIG=1 ; Native application, not library
|
|
|
|
extra_scripts = tools/copy_fw.py ; tools/pre:extra_script.py
|
|
|
|
lib_ignore =
|
|
ESP32 BLE Arduino
|
|
GxTFT
|
|
sstaub/Ticker
|
|
lv_drv_fsmc_ili9341
|
|
AXP192
|
|
|
|
lib_deps =
|
|
|
|
|
|
[stm32f4]
|
|
framework = arduino
|
|
platform = ststm32
|
|
build_flags=
|
|
-I include/stm32f4
|
|
-D MQTT_MAX_PACKET_SIZE=2048 ; longer PubSubClient messages
|
|
-D HASP_CONSOLE_BUFFER=220 ; maximum length of a console/telnet command
|
|
-D IRAM_ATTR= ; No IRAM_ATTR available on STM32
|
|
-D ICACHE_RAM_ATTR=
|
|
-D STM32
|
|
-D ARDUINOJSON_DECODE_UNICODE=1 ; for utf-8 symbols
|
|
-D ARDUINOJSON_ENABLE_PROGMEM=1 ; for PROGMEM arguments
|
|
-D STREAMUTILS_USE_EEPROM_UPDATE=1 ; update cell only when changed
|
|
; -- lvgl build options -----------------------------
|
|
-D LV_MEM_SIZE=20480U ; 20kB lvgl memory
|
|
-D HASP_USE_SYSLOG=0 ; Needs UDP
|
|
-D HASP_USE_SPIFFS=0
|
|
-D HASP_USE_LITTLEFS=0
|
|
-D HASP_USE_CONFIG=1 ; Native application, not library
|
|
|
|
lib_deps =
|
|
; sstaub/Ticker @ ^3.2.0
|
|
stm32duino/STM32duino LwIP @ ^2.1.2
|
|
;https://github.com/stm32duino/LwIP.git
|