/** * @file localbtn.h * @brief Local GPIO0 BTN reading implementation using edge capture */ #ifndef LOCALBTN_H #define LOCALBTN_H #include #include #include "esp_err.h" /** * @brief Callback function type for mode changes * @param new_mode New animation mode (0-13) */ typedef void (*localbtn_mode_change_callback_t)(uint8_t new_mode); /** * @brief Initialize local btn reading * @return ESP_OK on success */ esp_err_t localbtn_init(); /** * @brief Deinitialize local btn reading */ void localbtn_deinit(void); /** * @brief Register callback for mode changes * @param callback Callback function */ void localbtn_register_callback(localbtn_mode_change_callback_t cb); #endif // LOCALBTN_H