Server: Frame.panel_type (new column + migration) is auto-derived from the device's reported board (X-Frame-Board), never user-set -- the panel is a property of the hardware, not a picker in the UI. image_pipeline's packing/render pipeline is parameterized by panel geometry instead of hardcoded 800x480 globals, with the real confirmed 13.3in geometry (1600x1200) registered alongside the original 7.3in panel. Existing 7.3in frames are unaffected (column default + board mapping both resolve to the original panel). Board identifiers are also renamed (devkit/xiao -> devkit_esp32c6/ xiao_esp32c6, plus new "ee02") since the EE02 board also carries a XIAO module -- "xiao" alone stopped disambiguating hardware. The server keeps accepting the legacy bare names indefinitely for already-flashed devices. Firmware: scaffolds a third build target (ee02, ESP32-S3 -- a real chip-target change, not just a same-chip Kconfig variant like xiao) and a new epd13in3e driver component skeleton. The actual panel init/LUT/ refresh register sequence isn't ported from vendor demo code yet (none was available), so that component deliberately fails to compile (#error) rather than risk sending unverified register values to real hardware -- devkit/xiao are unaffected and build identically to before. CI's ee02 build step is continue-on-error for the same reason.
35 lines
1.6 KiB
Plaintext
35 lines
1.6 KiB
Plaintext
# Board-specific overrides for the Seeed XIAO ESP32-C6, layered on top
|
|
# of sdkconfig.defaults (which targets the 8MB ESP32-C6-DevKitC-1 dev
|
|
# board) via SDKCONFIG_DEFAULTS -- see build_for_board.sh, which is the
|
|
# supported way to build with this file. Don't set this via a plain
|
|
# `idf.py menuconfig` on the default build; that writes straight into
|
|
# the shared sdkconfig, not this file.
|
|
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
|
|
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_xiao.csv"
|
|
CONFIG_PARTITION_TABLE_FILENAME="partitions_xiao.csv"
|
|
|
|
CONFIG_FRAME_BOARD_NAME="xiao_esp32c6"
|
|
|
|
# Powers the XIAO's RF switch and selects its onboard antenna -- without
|
|
# this the softAP/STA radio doesn't reliably reach the antenna at all.
|
|
# See the Kconfig help text (FRAME_XIAO_ANTENNA_INIT) for why.
|
|
CONFIG_FRAME_XIAO_ANTENNA_INIT=y
|
|
|
|
# EPD wiring: the dev-board defaults (DC=9, RST=10, BUSY=11) aren't
|
|
# physically exposed on the XIAO -- only GPIO 0,1,2,16,17,18,19,20,21,
|
|
# 22,23 are broken out, and 18/19/20 are already the panel's SPI pins
|
|
# (CS/MOSI/CLK) while 0/1/2 are the buttons. Remapped to three of the
|
|
# remaining free pins; see docs/hardware.md for the full XIAO wiring
|
|
# table.
|
|
CONFIG_EPD_PIN_DC=16
|
|
CONFIG_EPD_PIN_RST=17
|
|
CONFIG_EPD_PIN_BUSY=21
|
|
|
|
# Battery reporting: shares GPIO0/D0/A0 with the back button (a
|
|
# high-impedance divider coexists fine with the button's pull-up and
|
|
# deep-sleep wake -- the firmware time-shares the pin). Requires the
|
|
# 2x200k divider from BAT+ to GND, midpoint to this pin, described in
|
|
# docs/hardware.md. Off by default project-wide since most builds (the
|
|
# DevKitC-1 dev board) have no battery wired at all.
|
|
CONFIG_FRAME_BATTERY_ADC_GPIO=0
|