# Conflicts: # freeink-sdk # lib/I18n/translations/slovak.yaml # platformio.ini # src/components/icons/bookmark.h
178 lines
5.9 KiB
INI
178 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
|
|
-DFREEINK_DEVICE_X4=1
|
|
-DFREEINK_DEVICE_X3=1
|
|
-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
|