2023-06-28 14:26:56 -04:00
|
|
|
; 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
|
|
|
|
|
2024-03-10 14:27:46 -04:00
|
|
|
[platformio]
|
|
|
|
default_envs = esp32
|
|
|
|
|
|
|
|
[env]
|
|
|
|
;-- platformio.ini custom options, reused by TFT_eSPI, SDL2 and in OMOTE code -
|
|
|
|
custom_screen_width = 240
|
|
|
|
custom_screen_heigth = 320
|
2023-06-28 14:26:56 -04:00
|
|
|
lib_deps =
|
2024-03-10 14:27:46 -04:00
|
|
|
lvgl/lvgl@^8.3.11
|
|
|
|
build_flags =
|
2024-03-10 09:41:50 -04:00
|
|
|
;-- OMOTE -----------------------------------------------------------------
|
|
|
|
-D ENABLE_WIFI_AND_MQTT=1
|
2024-03-12 15:26:55 -04:00
|
|
|
-D ENABLE_KEYBOARD_MQTT=0
|
2024-03-10 09:41:50 -04:00
|
|
|
-D ENABLE_BLUETOOTH=1
|
2024-03-10 14:27:46 -04:00
|
|
|
-D ENABLE_KEYBOARD_BLE=1
|
|
|
|
-D SCR_WIDTH=${env.custom_screen_width}
|
|
|
|
-D SCR_HEIGHT=${env.custom_screen_heigth}
|
2024-03-10 09:41:50 -04:00
|
|
|
;-- lvgl ------------------------------------------------------------------
|
|
|
|
; lvgl variant 1:
|
|
|
|
; Don't use lv_conf.h. Tweak params via platfom.ini. See lv_conf_internal.h line 31. Don't change this line.
|
|
|
|
-D LV_CONF_SKIP=1
|
2024-03-10 14:27:46 -04:00
|
|
|
; Set this in specific environments below. Will be different in Arduino and Windows/Linux
|
|
|
|
;-D LV_TICK_CUSTOM=1
|
2024-03-10 09:41:50 -04:00
|
|
|
; dynamic memory. Takes as much as it gets from heap (DRAM). Needs approx. 25%-30% more memory than static memory.
|
|
|
|
;-D LV_MEM_CUSTOM=1
|
2024-03-10 14:27:46 -04:00
|
|
|
; Set this in specific environments below. 32 bit and 64 bit need differenz sizes.
|
|
|
|
;-D LV_MEM_CUSTOM=0
|
|
|
|
;-D LV_MEM_SIZE="(32U * 1024U)"
|
2024-03-10 09:41:50 -04:00
|
|
|
; fonts and theme
|
|
|
|
-D LV_FONT_MONTSERRAT_10=1
|
|
|
|
-D LV_FONT_MONTSERRAT_12=1
|
|
|
|
-D LV_FONT_MONTSERRAT_16=1
|
|
|
|
-D LV_FONT_MONTSERRAT_24=1
|
|
|
|
-D LV_THEME_DEFAULT_DARK=1
|
|
|
|
; don't build examples
|
|
|
|
-D LV_BUILD_EXAMPLES=0
|
|
|
|
; Enable the log module
|
|
|
|
-D LV_USE_LOG=1
|
|
|
|
-D LV_LOG_PRINTF=1
|
|
|
|
;-D LV_LOG_LEVEL=LV_LOG_LEVEL_TRACE
|
|
|
|
;-D LV_LOG_LEVEL=LV_LOG_LEVEL_INFO
|
|
|
|
;-D LV_LOG_LEVEL=LV_LOG_LEVEL_WARN
|
|
|
|
-D LV_LOG_LEVEL=LV_LOG_LEVEL_ERROR
|
|
|
|
;-D LV_LOG_LEVEL=LV_LOG_LEVEL_USER
|
|
|
|
;-D LV_LOG_LEVEL=LV_LOG_LEVEL_NONE
|
|
|
|
; trace really gives a lot of messages ...
|
|
|
|
;-D LV_LOG_LEVEL=LV_LOG_LEVEL_TRACE
|
|
|
|
; ---
|
|
|
|
; Enable asserts if an operation is failed or an invalid data is found.
|
|
|
|
; If LV_USE_LOG is enabled an error message will be printed on failure*/
|
|
|
|
; /*Check if the styles are properly initialized. (Very fast, recommended)*/
|
|
|
|
-D LV_USE_ASSERT_STYLE=1
|
|
|
|
; /*Check the integrity of `lv_mem` after critical operations. (Slow)*/
|
|
|
|
;-D LV_USE_ASSERT_MEM_INTEGRITY=1
|
|
|
|
; /*Check the object's type and existence (e.g. not deleted). (Slow)*/
|
|
|
|
;-D LV_USE_ASSERT_OBJ=1
|
|
|
|
; ---------
|
|
|
|
; lvgl variant 2:
|
|
|
|
; or define where lv_conf.h is, relative to the `lvgl` folder
|
|
|
|
;-D LV_CONF_PATH=../../../../src/gui_general_and_keys/lv_conf.h
|
2024-03-10 14:27:46 -04:00
|
|
|
|
|
|
|
[env:esp32]
|
|
|
|
platform = espressif32
|
|
|
|
board = esp32dev
|
|
|
|
framework = arduino
|
|
|
|
monitor_speed = 115200
|
|
|
|
board_build.f_flash = 80000000L
|
|
|
|
board_build.f_cpu = 240000000L
|
|
|
|
board_build.partitions = huge_app.csv
|
|
|
|
upload_speed = 1000000
|
|
|
|
lib_deps =
|
|
|
|
${env.lib_deps}
|
|
|
|
bodmer/TFT_eSPI@^2.5.43
|
|
|
|
adafruit/Adafruit BusIO@^1.15.0
|
|
|
|
adafruit/Adafruit FT6206 Library@^1.1.0
|
|
|
|
sparkfun/SparkFun LIS3DH Arduino Library@^1.0.3
|
|
|
|
crankyoldgit/IRremoteESP8266@^2.8.6
|
|
|
|
knolleary/PubSubClient@^2.8
|
|
|
|
h2zero/NimBLE-Arduino@^1.4.1
|
|
|
|
;chris--a/Keypad@^3.1.1
|
|
|
|
;t-vk/ESP32 BLE Keyboard@^0.3.2
|
|
|
|
build_flags =
|
|
|
|
${env.build_flags}
|
|
|
|
;-- OMOTE -----------------------------------------------------------------
|
|
|
|
; 1: rev1 - Slowly charge the VSW voltage to prevent a brownout
|
2024-03-11 02:44:29 -04:00
|
|
|
; 2: rev2 - no special handling needed
|
|
|
|
; 3: rev3 - no special handling needed
|
2024-03-10 14:27:46 -04:00
|
|
|
-D OMOTE_HARDWARE_REV=3
|
|
|
|
;-- Arduino log -----------------------------------------------------------
|
|
|
|
;-D CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_NONE
|
|
|
|
;-D CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_ERROR
|
|
|
|
;-D CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_WARN
|
|
|
|
-D CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_INFO
|
|
|
|
;-D CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG
|
|
|
|
;-D CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_VERBOSE
|
|
|
|
;-- lvgl arduino ----------------------------------------------------------
|
|
|
|
; use millis() from "Arduino.h" to tell the elapsed time in milliseconds
|
|
|
|
-D LV_TICK_CUSTOM=1
|
|
|
|
; static memory, will be allocated in static DRAM
|
|
|
|
-D LV_MEM_CUSTOM=0
|
|
|
|
-D LV_MEM_SIZE="(32U * 1024U)"
|
2024-03-10 09:41:50 -04:00
|
|
|
;-- TFT_eSPI --------------------------------------------------------------
|
|
|
|
-D DISABLE_ALL_LIBRARY_WARNINGS=1
|
2023-06-28 14:26:56 -04:00
|
|
|
; The following lines replace the TFT_eSPI User_setup.h-file
|
|
|
|
-D USER_SETUP_LOADED=1
|
|
|
|
-D ILI9341_DRIVER=1
|
2024-03-10 14:27:46 -04:00
|
|
|
-D TFT_WIDTH=${env.custom_screen_width}
|
|
|
|
-D TFT_HEIGHT=${env.custom_screen_heigth}
|
|
|
|
;-D TFT_MISO not connected
|
2023-06-28 14:26:56 -04:00
|
|
|
-D TFT_MOSI=23
|
|
|
|
-D TFT_SCLK=18
|
|
|
|
-D TFT_CS=5
|
|
|
|
-D TFT_DC=9
|
|
|
|
-D TFT_RST=-1
|
2023-07-31 14:20:56 -04:00
|
|
|
-D SPI_FREQUENCY=40000000 ; 40MHz default, some displays might support 80MHz
|
2023-06-28 14:26:56 -04:00
|
|
|
; TFT_eSPI fonts are disabled by default
|
|
|
|
;-D LOAD_GLCD=1
|
|
|
|
;-D LOAD_FONT2=1
|
|
|
|
;-D LOAD_FONT4=1
|
|
|
|
;-D LOAD_FONT6=1
|
|
|
|
;-D LOAD_FONT7=1
|
|
|
|
;-D LOAD_FONT8=1
|
|
|
|
;-D LOAD_GFXFF=1
|
|
|
|
;-D SMOOTH_FONT=1
|
2024-03-10 14:27:46 -04:00
|
|
|
;-- for BLE Keyboard. Don't change this line! -----------------------------
|
2024-03-10 09:41:50 -04:00
|
|
|
-D USE_NIMBLE=1
|
2024-03-10 14:27:46 -04:00
|
|
|
;-- hardware abstraction, needed to find hardwareLayer.h ------------------
|
|
|
|
-I hardware
|
|
|
|
-I hardware/ESP32/lib/Keypad/src
|
|
|
|
;-I hardware/ESP32/lib/ESP32-BLE-Keyboard
|
|
|
|
build_src_filter =
|
|
|
|
+<*>
|
|
|
|
+<../hardware/ESP32/*>
|
|
|
|
;+<../hardware/ESP32/lib/ESP32-BLE-Keyboard/*>
|
|
|
|
|
|
|
|
; use this if you have a 64 bit compiler (Ubuntu, WSL2, Windows with MSYS2 MINGW64)
|
|
|
|
[env:windows_linux_64bit]
|
|
|
|
platform = native@^1.2.1
|
|
|
|
lib_deps =
|
|
|
|
${env.lib_deps}
|
|
|
|
;we need the master branch from github because of this commit https://github.com/lvgl/lv_drivers/commit/7b9dee11c93ad27e2591182457c1eba7677473be
|
|
|
|
lv_drivers=https://github.com/lvgl/lv_drivers
|
|
|
|
;lvgl/lv_drivers@^8.3.0
|
|
|
|
build_flags =
|
|
|
|
${env.build_flags}
|
|
|
|
;-- lvgl ------------------------------------------------------------------
|
|
|
|
; 64 bit needs a lot more static memory
|
|
|
|
-D LV_MEM_CUSTOM=0
|
|
|
|
-D LV_MEM_SIZE="(64U * 1024U)"
|
|
|
|
;SDL2 from msys64
|
|
|
|
-l SDL2
|
|
|
|
; settings for lv_drivers
|
|
|
|
-D LV_LVGL_H_INCLUDE_SIMPLE
|
|
|
|
-D LV_DRV_NO_CONF
|
|
|
|
-D USE_SDL
|
|
|
|
-D SDL_INCLUDE_PATH="\"SDL2/SDL.h\""
|
|
|
|
-D SDL_HOR_RES=${env.custom_screen_width}
|
|
|
|
-D SDL_VER_RES=${env.custom_screen_heigth}
|
|
|
|
-D SDL_ZOOM=2
|
|
|
|
;-- hardware abstraction, needed to find hardwareLayer.h ------------------
|
|
|
|
-I hardware
|
|
|
|
build_src_filter =
|
|
|
|
+<*>
|
|
|
|
+<../hardware/windows_linux/*>
|
|
|
|
|
|
|
|
; use this if you have a 32 bit compiler (Windows MSYS2 MINGW32)
|
|
|
|
[env:windows_linux_32bit]
|
|
|
|
extends = env:windows_linux_64bit
|
|
|
|
build_unflags =
|
|
|
|
${env:windows_linux_64bit.build_unflags}
|
|
|
|
;-- lvgl ------------------------------------------------------------------
|
|
|
|
-D LV_MEM_CUSTOM=0
|
|
|
|
-D LV_MEM_SIZE="(64U * 1024U)"
|
|
|
|
build_flags =
|
|
|
|
${env:windows_linux_64bit.build_flags}
|
|
|
|
;-- lvgl ------------------------------------------------------------------
|
|
|
|
; 32 bit needs exact the same lvgl memory as on ESP32
|
|
|
|
-D LV_MEM_CUSTOM=0
|
|
|
|
-D LV_MEM_SIZE="(32U * 1024U)"
|
|
|
|
; Take care. If you have a 64 bit compiler, this setting will tell the compiler to cross compile to 32 bit.
|
|
|
|
; Compiling is successfull, but linker fails. So use this env only with a 32 bit compiler.
|
|
|
|
; Probably a custom linker script would be needed for cross compiling to work.
|
|
|
|
; Ubuntu and WSL2 are using 64 bit compilers! So you can only build the 32 bit simulator with Windows MSYS2 MINGW32
|
|
|
|
-m32
|
|
|
|
;linker option
|
|
|
|
-Wl,-mi386pe
|