From 7820837d79ebc8e00221b5206bdd8e3ca0ae4c15 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 18 May 2026 19:58:12 +0530 Subject: Sync display with live TollGate state - Periodic refresh: wallet balance + client count every 5s from main loop - display_notify_payment() API: passes payment amount and time allotment - tollgate_api.c: triggers PAYMENT_RECEIVED state after wallet receive - AP station events update client count in real-time - Config data (price, mint) passed to display during boot phase - Payment screen shows actual sats paid and time purchased - Updated DISPLAY_UI_PLAN.md with state-sync audit and checklist --- main/tollgate_main.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'main/tollgate_main.c') diff --git a/main/tollgate_main.c b/main/tollgate_main.c index 7fd50ad..345295a 100644 --- a/main/tollgate_main.c +++ b/main/tollgate_main.c @@ -77,11 +77,13 @@ static void wifi_event_handler(void *arg, esp_event_base_t event_base, ESP_LOGI(TAG, "Station connected: MAC=%02x:%02x:%02x:%02x:%02x:%02x", event->mac[0], event->mac[1], event->mac[2], event->mac[3], event->mac[4], event->mac[5]); + display_update(NULL, session_active_count(), 0, NULL, NULL, 0, NULL); } else if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_AP_STADISCONNECTED) { wifi_event_ap_stadisconnected_t *event = (wifi_event_ap_stadisconnected_t *)event_data; ESP_LOGI(TAG, "Station disconnected: MAC=%02x:%02x:%02x:%02x:%02x:%02x", event->mac[0], event->mac[1], event->mac[2], event->mac[3], event->mac[4], event->mac[5]); + display_update(NULL, session_active_count(), 0, NULL, NULL, 0, NULL); } } @@ -314,6 +316,9 @@ void app_main(void) ESP_LOGI(TAG, "WiFi AP+STA started, waiting for connection..."); + display_update(tcfg->ap_ssid, 0, 0, NULL, + tcfg->mint_url, tcfg->price_per_step, "connecting..."); + if (tollgate_config_get_wifi(&(wifi_config_t){0}) != ESP_OK) { ESP_LOGI(TAG, "No STA network configured, starting services immediately"); xTaskCreate(services_start_task, "svc_start", 32768, NULL, 5, NULL); @@ -324,5 +329,13 @@ void app_main(void) session_tick(); tollgate_client_tick(); lightning_payout_tick(); + + static int display_tick = 0; + if (++display_tick >= 5) { + display_tick = 0; + display_update(NULL, session_active_count(), + nucula_wallet_balance(), NULL, + NULL, 0, NULL); + } } } -- cgit v1.2.3