spaxel/firmware/sdkconfig.defaults
jedarden ee1caf6ed8 feat: dual-partition OTA rollback validation with 60s role timeout
Update partition layout to 4MB factory/ota_0/ota_1 partitions for larger
firmware images. Add a 60-second validation timer that starts after the
hello message is sent on boot from an OTA partition. The partition is only
marked valid (via esp_ota_mark_app_valid_cancel_rollback) after receiving
a role message from the mothership. If the timer expires without role
receipt, the partition stays unconfirmed and the bootloader rolls back to
the previous firmware on next reset.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 01:43:29 -04:00

56 lines
1.3 KiB
Text

# SPAXEL Firmware Configuration Defaults
# Target: ESP32-S3
# Chip target
CONFIG_IDF_TARGET="esp32s3"
# WiFi CSI Configuration
CONFIG_ESP_WIFI_RX_BCN_ADAPT=y
CONFIG_ESP_WIFI_RX_BCN_ADAPT_THRESHOLD=10
# Enable CSI
CONFIG_ESP_WIFI_CSI_ENABLED=y
# WiFi power save disabled for stable CSI
CONFIG_PM_ENABLE=n
# FreeRTOS configuration for dual-core
CONFIG_FREERTOS_UNICORE=n
# BLE configuration
CONFIG_BT_ENABLED=y
CONFIG_BT_BLUEDROID_ENABLED=y
CONFIG_BT_BLE_42_FEATURES_SUPPORTED=y
CONFIG_BT_BLE_RPA_SUPPORTED=y
CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y
CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n
CONFIG_BTDM_CTRL_MODE_BTDM=n
# Increase main task stack for WiFi/BLE operations
CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192
# WebSocket buffer sizes
CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=n
CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH=n
# Log levels
CONFIG_LOG_DEFAULT_LEVEL_INFO=y
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
# Watchdog configuration
CONFIG_ESP_TASK_WDT_INIT=n
# mDNS
CONFIG_MDNS_MAX_SERVICES=10
# NVS
CONFIG_NVS_ENCRYPTION=n
# OTA — dual-partition rollback support
CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE=y
CONFIG_BOOTLOADER_APP_ROLLBACK_COUNT=1
CONFIG_APP_ROLLBACK_ENABLE=y
# Increase partition sizes for OTA
CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"