2b0355a148
Nothing in this firmware ever mounted internal flash storage: apps, lib, settings and themes all live on the SD card. The Arduino default table still reserved 1408K for spiffs, so a custom table hands that to the OTA slots instead, taking each from 1280K to 1984K. The 64K tail the slots cannot use goes to coredump, which otherwise logs a missing-partition error on every boot. Changing the table shifts app0, so the next flash must be a full one. The ESP32 has no battery-backed clock, so time is 1970 on every power-up. net.cpp seeds it from the build timestamp -- the device cannot predate its own firmware, and certificate validity checks need a plausible clock before SNTP can answer -- then starts SNTP on each join and latches a synced flag from the notification callback. sntp_get_sync_status() only reports COMPLETED briefly before resetting for the next cycle, so polling it would make the clock flap. sys.clockSynced() is the only new binding a clock UI needs; Lua's os.date() already reads the same system clock. The launcher shows it, in UTC for now.
34 lines
656 B
INI
34 lines
656 B
INI
[env:esp32-32e]
|
|
platform = espressif32@6.10.0
|
|
board = esp32dev
|
|
framework = arduino
|
|
monitor_speed = 115200
|
|
upload_speed = 921600
|
|
|
|
board_build.partitions = partitions.csv
|
|
|
|
build_unflags = -w
|
|
build_flags =
|
|
-w
|
|
-DLUA_32BITS
|
|
; ST7796 and touch share HSPI; SD uses the separate VSPI bus
|
|
-DUSER_SETUP_LOADED
|
|
-DST7796_DRIVER
|
|
-DTFT_WIDTH=320
|
|
-DTFT_HEIGHT=480
|
|
-DUSE_HSPI_PORT
|
|
-DTFT_MOSI=13
|
|
-DTFT_MISO=12
|
|
-DTFT_SCLK=14
|
|
-DTFT_CS=15
|
|
-DTFT_DC=2
|
|
-DTFT_RST=-1
|
|
-DTFT_BL=27
|
|
-DSPI_FREQUENCY=40000000
|
|
-DSPI_TOUCH_FREQUENCY=2500000
|
|
-DLOAD_GLCD
|
|
|
|
lib_deps =
|
|
bodmer/TFT_eSPI@^2.5.43
|
|
https://github.com/PaulStoffregen/XPT2046_Touchscreen.git
|