openHASP/platformio.ini
2021-06-12 00:50:14 +02:00

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