menu "ESPresso Frame Configuration" config ESP_AP_SSID string "Provisioning softAP SSID prefix" default "ESPRESSO" help SSID prefix of the softAP the device brings up when it needs provisioning; the device appends "_XXXXXX" (last 3 bytes of its WiFi MAC) so multiple frames never collide on the same SSID. The password is generated randomly per device on first boot and shown on the e-ink panel both as a WiFi-join QR code and as plaintext underneath it, so it can be typed in by hand on a desktop/laptop that can't scan the QR. config ESP_MAX_STA_CONN int "Maximal STA connections" default 4 range 1 4 if IDF_TARGET_ESP32C2 range 1 15 help Maximum number of STAs allowed to connect to the soft-AP (wifi_config_t.ap.max_connection). Upper bound matches ESP_WIFI_MAX_CONN_NUM in esp_wifi_types_native.h: 1-4 on ESP32-C2, 1-15 on other Wi-Fi chips. Soft-AP and ESP-NOW share encryption keys; see Wi-Fi driver documentation if ESP-NOW is enabled. config ESP_ENABLE_DHCP_CAPTIVEPORTAL bool "DHCP Captive portal" default y help Enables more modern DHCP-based Option 114 to provide clients with the captive portal URI config FRAME_STA_CONNECT_MAX_RETRIES int "Home WiFi connect max retries before falling back to provisioning" default 3 help Number of failed connection attempts to the stored home WiFi network before the device gives up and re-enters provisioning (softAP) mode. config FRAME_STA_CONNECT_TIMEOUT_MS int "Home WiFi connect timeout per attempt (ms)" default 15000 help How long to wait for an IP address on each connection attempt to the stored home WiFi network before counting it as a failed retry. config FRAME_SERVER_CHECK_TIMEOUT_MS int "Tools server reachability check timeout (ms)" default 3000 help How long to wait for an HTTP response from the tools server when checking reachability on the post-connect status screen. config FRAME_FETCH_TIMEOUT_MS int "Image fetch HTTP timeout (ms)" default 15000 help How long to wait on the GET /frame/image request before giving up. The server does real work per request (Immich download + resize + dither), so this is longer than the reachability check's timeout. config FRAME_SLEEP_INTERVAL_S int "Deep sleep interval between refreshes (seconds)" default 3600 help How long the device deep-sleeps between successful fetch-and-display cycles. Lower this for bench testing so you don't have to wait an hour per iteration. config FRAME_RETRY_INTERVAL_S int "Deep sleep interval after a failed cycle (seconds)" default 300 help How long the device deep-sleeps before retrying after the server was unreachable or the fetch/display failed, instead of waiting the full FRAME_SLEEP_INTERVAL_S. endmenu