Firmware: OTA client, dual-board build (devkit/XIAO), version reporting, XIAO fixes
Build and push server image / build-and-push (push) Successful in 36s
Build and push server image / build-and-push (push) Successful in 36s
- version.txt + esp_app_desc_t version reporting (X-Frame-Version header); new ota_update.c checks the server's advertised version against the running one and streams+applies an update via esp_https_ota, gated by bootloader rollback (marks the image valid only after a full successful cycle, so a bad update can't brick a wall-mounted frame). - Dual-OTA partition tables: partitions.csv (8MB dev board, 2MB slots) and new partitions_xiao.csv (4MB XIAO, 1.875MB slots -- the dev board's table doesn't fit the XIAO's flash). New build_for_board.sh gives each board its own build dir + generated sdkconfig via SDKCONFIG_DEFAULTS layering, so switching boards never clobbers the other's config. - fetch_photo_info()/fetch_face_labels() were using the short reachability-check timeout even though the manage-menu path can be the first (cold, TLS-handshake-paying) request of a wake cycle -- switched to the longer fetch timeout to stop spurious ESP_ERR_HTTP_CONNECT failures. - XIAO: the RF switch that selects onboard vs. external antenna (GPIO3/14) isn't initialized by plain ESP-IDF the way Seeed's Arduino package does it, leaving WiFi unable to reliably reach the antenna at all -- new board_antenna.c powers the switch and selects the onboard antenna, gated behind FRAME_XIAO_ANTENNA_INIT (on by default in sdkconfig.xiao). Also remaps the EPD DC/RST/BUSY pins, since the dev board's defaults (GPIO9/10/11) aren't physically exposed on the XIAO.
This commit is contained in:
@@ -1,5 +1,23 @@
|
||||
menu "ESPresso Frame Configuration"
|
||||
|
||||
config FRAME_XIAO_ANTENNA_INIT
|
||||
bool "Select onboard antenna on Seeed XIAO ESP32-C6 (RF switch init)"
|
||||
default n
|
||||
help
|
||||
The XIAO ESP32-C6 routes its antenna through an FM8625H RF
|
||||
switch (GPIO3 = switch power enable, GPIO14 = antenna
|
||||
select) so it can optionally use an external u.FL antenna
|
||||
instead of the onboard ceramic one. Seeed's own Arduino
|
||||
board package powers the switch and selects the onboard
|
||||
antenna automatically at boot; plain ESP-IDF (what this
|
||||
firmware uses) does not -- without this, the switch's
|
||||
GPIOs are left floating and the radio may not reliably
|
||||
reach the onboard antenna at all. Symptom: a softAP (or
|
||||
STA connection) that starts successfully in the log but
|
||||
is never actually visible/reachable over the air. Enabled
|
||||
by default in sdkconfig.xiao; leave off for the DevKitC-1
|
||||
dev board, which has no such switch.
|
||||
|
||||
config ESP_AP_SSID
|
||||
string "Provisioning softAP SSID prefix"
|
||||
default "ESPRESSO"
|
||||
|
||||
Reference in New Issue
Block a user