Generate 16px variants for all icons and remove the old hardcoded bookmark icon in favor of using the generated icon system. This provides better consistency across icon sizes and simplifies icon management.
176 lines
5.9 KiB
INI
176 lines
5.9 KiB
INI
[platformio]
|
|
default_envs = default
|
|
build_cache_dir = .cache
|
|
extra_configs = platformio.local.ini
|
|
|
|
[crosspoint]
|
|
version = 1.4.1
|
|
|
|
[base]
|
|
platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.37/platform-espressif32.zip
|
|
board = esp32-c3-devkitm-1
|
|
framework = arduino
|
|
monitor_speed = 115200
|
|
upload_speed = 921600
|
|
check_tool = cppcheck
|
|
check_flags = --enable=all --suppress=missingIncludeSystem --suppress=unusedFunction --suppress=unmatchedSuppression --suppress=*:*/.pio/* --inline-suppr
|
|
check_skip_packages = yes
|
|
|
|
board_upload.flash_size = 16MB
|
|
board_upload.maximum_size = 16777216
|
|
board_upload.offset_address = 0x10000
|
|
|
|
build_flags =
|
|
-DARDUINO_USB_MODE=1
|
|
-DARDUINO_USB_CDC_ON_BOOT=1
|
|
-DEINK_DISPLAY_SINGLE_BUFFER_MODE=1
|
|
-DDISABLE_FS_H_WARNING=1
|
|
-DDESTRUCTOR_CLOSES_FILE=1
|
|
# https://libexpat.github.io/doc/api/latest/#XML_GE
|
|
-DXML_GE=0
|
|
-DXML_CONTEXT_BYTES=1024
|
|
-std=gnu++2a
|
|
# Enable UTF-8 long file names in SdFat
|
|
-DUSE_UTF8_LONG_NAMES=1
|
|
# Increase PNG scanline buffer to support up to 2048px wide images
|
|
# Default is (320*4+1)*2=2562, we need more for larger images
|
|
-DPNG_MAX_BUFFERED_PIXELS=16416
|
|
-Wno-bidi-chars
|
|
-Wl,--wrap=panic_print_backtrace,--wrap=panic_abort,--wrap=bootloader_common_check_efuse_blk_validity
|
|
-fno-exceptions
|
|
|
|
build_unflags =
|
|
-std=gnu++11
|
|
-fexceptions
|
|
|
|
; Board configuration
|
|
board_build.flash_mode = dio
|
|
board_build.flash_size = 16MB
|
|
board_build.partitions = partitions.csv
|
|
|
|
extra_scripts =
|
|
pre:scripts/build_html.py
|
|
pre:scripts/gen_i18n.py
|
|
pre:scripts/git_branch.py
|
|
pre:scripts/patch_jpegdec.py
|
|
post:scripts/register_unit_tests_target.py
|
|
|
|
; Libraries — FreeInk SDK (git submodule at ./freeink-sdk). The left-hand names
|
|
; are the include paths the firmware already uses (<EInkDisplay.h>, etc.); FreeInk's
|
|
; compat shim preserves them. BoardConfig + PowerManager are FreeInk-only and
|
|
; required (device profiles + the SoC-correct deep-sleep wakeup the HAL relies on).
|
|
lib_deps =
|
|
BatteryMonitor=symlink://freeink-sdk/libs/hardware/BatteryMonitor
|
|
InputManager=symlink://freeink-sdk/libs/hardware/InputManager
|
|
EInkDisplay=symlink://freeink-sdk/libs/display/FreeInkDisplay
|
|
SDCardManager=symlink://freeink-sdk/libs/hardware/SDCardManager
|
|
BoardConfig=symlink://freeink-sdk/libs/hardware/BoardConfig
|
|
PowerManager=symlink://freeink-sdk/libs/hardware/PowerManager
|
|
Rtc=symlink://freeink-sdk/libs/hardware/Rtc
|
|
Imu=symlink://freeink-sdk/libs/hardware/Imu
|
|
FreeInkUI=symlink://freeink-sdk/libs/ui/FreeInkUI
|
|
Icons=symlink://freeink-sdk/libs/assets/Icons
|
|
bblanchon/ArduinoJson @ 7.4.2
|
|
ricmoo/QRCode @ 0.0.1
|
|
bitbank2/PNGdec @ 1.1.6
|
|
https://github.com/bitbank2/JPEGDEC.git#86282979224c8a32fd51e091ed5a35b0c699a52b
|
|
links2004/WebSockets @ 2.7.3
|
|
|
|
; ESP32-C3 device set: X3 + X4 compiled into one binary, runtime-selected after
|
|
; the I2C fingerprint. FreeInk requires an explicit device selection, so the C3
|
|
; envs extend this instead of [base] directly. (M5Paper is a different MCU family
|
|
; and selects its own device below.)
|
|
[c3]
|
|
extends = base
|
|
build_flags =
|
|
${base.build_flags}
|
|
-DFREEINK_DEVICE_X3=1
|
|
-DFREEINK_DEVICE_X4=1
|
|
|
|
[env:default]
|
|
extends = c3
|
|
build_flags =
|
|
${c3.build_flags}
|
|
; CROSSPOINT_VERSION is set by scripts/git_branch.py (includes branch + short SHA)
|
|
-DENABLE_SERIAL_LOG
|
|
-DLOG_LEVEL=2 ; Set log level to debug for development builds
|
|
|
|
|
|
[env:gh_release]
|
|
extends = c3
|
|
build_flags =
|
|
${c3.build_flags}
|
|
-DCROSSPOINT_VERSION=\"${crosspoint.version}\"
|
|
-DENABLE_SERIAL_LOG
|
|
-DLOG_LEVEL=1 ; Set log level to info for release builds
|
|
|
|
[env:gh_release_rc]
|
|
extends = c3
|
|
build_flags =
|
|
${c3.build_flags}
|
|
-DCROSSPOINT_VERSION=\"${crosspoint.version}-rc+${sysenv.CROSSPOINT_RC_HASH}\"
|
|
-DENABLE_SERIAL_LOG
|
|
-DLOG_LEVEL=1 ; Set log level to info for release candidate builds
|
|
|
|
[env:slim]
|
|
extends = c3
|
|
build_flags =
|
|
${c3.build_flags}
|
|
-DCROSSPOINT_VERSION=\"${crosspoint.version}-slim\"
|
|
; serial output is disabled in slim builds to save space
|
|
-UENABLE_SERIAL_LOG
|
|
|
|
; --- LilyGo T5 S3 (ESP32-S3 N16R8, 4.7" ED047TC1 / raw-parallel EPD) ---------
|
|
; Uses FreeInk's LilyGo board-support library for the PCA9535/TPS65185 display
|
|
; power hooks and expander button.
|
|
; pio run -e lilygo_t5s3 -t upload --upload-port /dev/tty.usbmodemXXXX
|
|
[env:lilygo_t5s3]
|
|
extends = base
|
|
board = esp32-s3-devkitc1-n16r8
|
|
board_build.mcu = esp32s3
|
|
board_build.flash_mode = qio
|
|
board_build.arduino.memory_type = qio_opi
|
|
build_flags =
|
|
${base.build_flags}
|
|
-DBOARD_HAS_PSRAM
|
|
-DFREEINK_DEVICE_LILYGO=1
|
|
-DCROSSPOINT_VERSION=\"${crosspoint.version}-lilygo_t5s3\"
|
|
-DCROSSPOINT_SHOW_BUTTON_HINTS=0
|
|
-DENABLE_SERIAL_LOG
|
|
-DLOG_LEVEL=2
|
|
-DTOUCH_PROBE_DEBUG=1
|
|
lib_deps =
|
|
${base.lib_deps}
|
|
BoardT5S3=symlink://freeink-sdk/libs/hardware/BoardT5S3
|
|
m5stack/M5GFX @ 0.2.20
|
|
|
|
; --- M5Paper v1.1 (classic ESP32-D0WDQ6, 4.7" 540x960 / IT8951E) -------------
|
|
; Different MCU family than the C3 base: override board/mcu/flash, disable the
|
|
; C3-only native-USB CDC (logs over UART0), and select the M5Paper device.
|
|
; pio run -e m5paper_v11 -t upload --upload-port /dev/tty.usbserial-XXXX
|
|
[env:m5paper_v11]
|
|
extends = base
|
|
board = esp32dev
|
|
board_build.mcu = esp32
|
|
board_build.flash_mode = qio
|
|
; CP2104 bridge: 460800 is ~4x the 115200 fallback and reliable; drop if a flash
|
|
; stalls. (921600 usually works too.)
|
|
upload_speed = 460800
|
|
build_flags =
|
|
${base.build_flags}
|
|
-UARDUINO_USB_MODE
|
|
-UARDUINO_USB_CDC_ON_BOOT
|
|
-DBOARD_HAS_PSRAM
|
|
-DFREEINK_DEVICE_M5PAPER=1
|
|
; git_branch.py only injects CROSSPOINT_VERSION for the default env; set it here.
|
|
-DCROSSPOINT_VERSION=\"${crosspoint.version}-m5paper_v11\"
|
|
-DENABLE_SERIAL_LOG
|
|
-DLOG_LEVEL=2
|
|
; Touch + rotary: no physical button row, so hide on-screen button hints.
|
|
-DCROSSPOINT_SHOW_BUTTON_HINTS=0
|
|
; Archive-order workarounds for the classic-ESP32 link (see freeink-sdk
|
|
; platformio.crosspoint.sample.ini): force Arduino startup + the I2C HAL members.
|
|
-Wl,.pio/build/m5paper_v11/FrameworkArduino/main.cpp.o
|
|
-Wl,-u,i2cInit
|
|
-Wl,-u,i2cSlaveInit
|