From e1da6ffc0221abf4d0fb3a8c3e6be0b90d69397a Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 18 May 2026 19:25:32 +0530 Subject: Implement full TollGate display UI - BOOT screen: centered title + WiFi status line - READY screen: QR cycling (WiFi/Portal), price, mint domain, wallet balance (color-coded), client count - PAYMENT screen: green banner 'ACCESS GRANTED', paid amount, time - ERROR screen: red banner 'NO UPSTREAM', guidance, AP reassurance - Enhanced display_update() API with mint_url, price, wifi_status - Extract domain helper for clean mint URL display - Render interval: 2s (reduced SPI load) - Color palette: cyan, yellow, orange, green, red, dim gray - WiFi events update display status and trigger ERROR state - Board C now on /dev/ttyACM3 --- main/tollgate_main.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'main/tollgate_main.c') diff --git a/main/tollgate_main.c b/main/tollgate_main.c index c0ff65f..7fd50ad 100644 --- a/main/tollgate_main.c +++ b/main/tollgate_main.c @@ -54,7 +54,11 @@ static void wifi_event_handler(void *arg, esp_event_base_t event_base, s_retry_count++; ESP_LOGW(TAG, "WiFi disconnected, retry %d/%d", s_retry_count, MAX_STA_RETRY); tollgate_client_on_sta_disconnected(); - if (s_services_running) stop_services(); + if (s_services_running) { + stop_services(); + display_set_state(DISPLAY_ERROR); + } + display_update(NULL, 0, 0, NULL, NULL, 0, "WiFi retry..."); if (s_retry_count < MAX_STA_RETRY) { esp_wifi_connect(); } else { @@ -173,7 +177,8 @@ static void start_services(void) display_set_state(DISPLAY_READY); char portal_url[128]; snprintf(portal_url, sizeof(portal_url), "http://%s/", cfg->ap_ip_str); - display_update(cfg->ap_ssid, 0, 0, portal_url); + display_update(cfg->ap_ssid, 0, 0, portal_url, + cfg->mint_url, cfg->price_per_step, NULL); } static void stop_services(void) -- cgit v1.2.3