- t5s3-epaper: the board's 3.3V octal (AP_3v3) PSRAM is unreliable at the qio_opi
default of 80MHz (Total PSRAM reads 0, display dead / boot-loop); clock it at 40MHz.
- EInkParallelDisplay: skip EInk init and no-op display ops when the PSRAM framebuffer
is unavailable, so the node boots headless instead of hard-faulting on a NULL buffer.
- src/platform/esp32: weak software __atomic_*_{1,2,4} so esp32s3 links on toolchains
(e.g. macOS) that lack the sized libcalls GCC emits under -mdisable-hardware-atomics.
70 lines
2.1 KiB
INI
70 lines
2.1 KiB
INI
[t5s3_epaper_base]
|
|
extends = esp32s3_base
|
|
board = t5-epaper-s3
|
|
board_build.partitions = default_16MB.csv
|
|
board_check = true
|
|
upload_protocol = esptool
|
|
build_flags = -fno-strict-aliasing
|
|
${esp32s3_base.build_flags}
|
|
-I variants/esp32s3/t5s3_epaper
|
|
-D T5_S3_EPAPER_PRO
|
|
-D USE_EINK
|
|
-D USE_EINK_PARALLELDISPLAY
|
|
-D PRIVATE_HW
|
|
-D TOUCH_THRESHOLD_X=40
|
|
-D TOUCH_THRESHOLD_Y=40
|
|
-D TIME_LONG_PRESS=500
|
|
; -D EINK_LIMIT_GHOSTING_PX=5000
|
|
-D EPD_FULLSLOW_PERIOD=100
|
|
-D FAST_EPD_PARTIAL_UPDATE_BUG ; use rect area update instead of partial
|
|
|
|
build_src_filter =
|
|
${esp32s3_base.build_src_filter}
|
|
+<../variants/esp32s3/t5s3_epaper>
|
|
lib_deps =
|
|
${esp32s3_base.lib_deps}
|
|
# renovate: datasource=custom.pio depName=SensorLib packageName=lewisxhe/library/SensorLib
|
|
lewisxhe/SensorLib@0.3.4
|
|
https://github.com/mverch67/BQ27220/archive/07d92be846abd8a0258a50c23198dac0858b22ed.zip
|
|
https://github.com/mverch67/FastEPD/archive/0df1bff329b6fc782e062f611758880762340647.zip
|
|
|
|
; This board's 3.3V octal (AP_3v3) 8MB PSRAM is unreliable at the qio_opi default 80MHz
|
|
; (Total PSRAM reads 0); 40MHz makes it enumerate. Forces a from-source build as no
|
|
; precompiled 40MHz-octal libs exist; bandwidth is immaterial for an e-paper node.
|
|
custom_sdkconfig =
|
|
${esp32s3_base.custom_sdkconfig}
|
|
CONFIG_SPIRAM_SPEED_40M=y
|
|
CONFIG_SPIRAM_SPEED=40
|
|
|
|
[env:t5s3_epaper_inkhud]
|
|
extends = t5s3_epaper_base, inkhud
|
|
board_level = extra
|
|
board_check = true
|
|
build_flags =
|
|
${t5s3_epaper_base.build_flags}
|
|
${inkhud.build_flags}
|
|
-D SDCARD_USE_SPI1
|
|
-D T5_S3_EPAPER_PRO_V2
|
|
build_src_filter =
|
|
${t5s3_epaper_base.build_src_filter}
|
|
${inkhud.build_src_filter}
|
|
lib_deps =
|
|
${inkhud.lib_deps} ; InkHUD libs first, so we get GFXRoot instead of AdafruitGFX
|
|
${t5s3_epaper_base.lib_deps}
|
|
|
|
|
|
[env:t5s3-epaper-v1] ; H752
|
|
extends = t5s3_epaper_base
|
|
build_flags =
|
|
${t5s3_epaper_base.build_flags}
|
|
-D T5_S3_EPAPER_PRO_V1
|
|
-D GPS_DEFAULT_NOT_PRESENT=1
|
|
|
|
[env:t5s3-epaper-v2] ; H752-01
|
|
extends = t5s3_epaper_base
|
|
build_flags =
|
|
${t5s3_epaper_base.build_flags}
|
|
-D T5_S3_EPAPER_PRO_V2
|
|
-D SDCARD_USE_SPI1
|
|
-D GPS_POWER_TOGGLE
|