/** * LED Manager - Status Indicators * Provides visual feedback for system status and operations */ #ifndef LED_MANAGER_H #define LED_MANAGER_H #include #include #ifdef __cplusplus extern "C" { #endif // LED GPIO Pins for ESP32-P4-NANO #define LED_STATUS_GPIO 8 // Blue LED #define LED_ERROR_GPIO 15 // Red LED // Additional indicator LEDs (optional, map to unused GPIOs if not present) #define LED_ETHERNET_GPIO 9 // Ethernet activity LED (optional) #define LED_WIFI_GPIO 10 // Wi-Fi activity LED (optional) #define LED_SCAN_GPIO 11 // Scan activity LED (optional) // LED basic states for blinking patterns typedef enum { LED_STATE_OFF = 0, LED_STATE_ON, LED_STATE_BLINK_SLOW, LED_STATE_BLINK_FAST, LED_STATE_PULSE } led_state_t; // Extended system status indicators (kept for backward compatibility) typedef enum { LED_STATUS_SYSTEM_READY = 0, LED_STATUS_SYSTEM_ERROR, LED_STATUS_ETHERNET_CONNECTED, LED_STATUS_ETHERNET_DISCONNECTED, LED_STATUS_WIFI_AP_ACTIVE, LED_STATUS_WIFI_CLIENT_CONNECTED, LED_STATUS_SCAN_ACTIVE, LED_STATUS_SCAN_COMPLETE, LED_STATUS_SD_CARD_ACCESS, LED_STATUS_OTA_UPDATE } led_status_t; /** * Initialize LED manager * @return ESP_OK on success */ esp_err_t led_manager_init(void); /** * Set LED status * @param status LED status to set * @return ESP_OK on success */ esp_err_t led_manager_set_status(led_status_t status); // Forward-compatibility: keep previous prototypes so existing source builds esp_err_t led_manager_set_state(int gpio_num, led_state_t state); void led_manager_update(void); void led_manager_set_ethernet_activity(bool active); void led_manager_set_wifi_activity(bool active); void led_manager_set_scan_activity(bool active); #ifdef __cplusplus } #endif #endif // LED_MANAGER_H