#ifndef EVSE_STATE_H #define EVSE_STATE_H #include // Estado do EVSE (pilot signal) typedef enum { EVSE_STATE_A, EVSE_STATE_B1, EVSE_STATE_B2, EVSE_STATE_C1, EVSE_STATE_C2, EVSE_STATE_D1, EVSE_STATE_D2, EVSE_STATE_E, EVSE_STATE_F } evse_state_t; // Funções públicas necessárias void evse_state_init(void); void evse_state_tick(void); void evse_state_set_authorized(bool authorized); bool evse_state_get_authorized(void); evse_state_t evse_get_state(void); void evse_set_state(evse_state_t state); // Converte o estado para string const char* evse_state_to_str(evse_state_t state); // Retorna true se o estado representa sessão ativa bool evse_state_is_session(evse_state_t state); // Retorna true se o estado representa carregamento ativo bool evse_state_is_charging(evse_state_t state); // Retorna true se o estado representa veículo conectado bool evse_state_is_plugged(evse_state_t state); #endif // EVSE_STATE_H