#ifndef EVSE_FSM_H #define EVSE_FSM_H #include #include #include "evse_api.h" #include "pilot.h" #include "freertos/FreeRTOS.h" #ifdef __cplusplus extern "C" { #endif /** * @brief Reinicia a máquina de estados do EVSE para o estado inicial (A). */ void evse_fsm_reset(void); /** * @brief Processa uma leitura do sinal de piloto e atualiza a máquina de estados do EVSE. * * Esta função deve ser chamada periodicamente pelo núcleo de controle para * avaliar mudanças no estado do conector, disponibilidade do carregador e * autorização do usuário. * * @param pilot_voltage Leitura atual da tensão do sinal piloto. * @param authorized Indica se o carregamento foi autorizado. * @param available Indica se o carregador está disponível (ex: sem falhas). * @param enabled Indica se o carregador está habilitado via software. */ void evse_fsm_process(pilot_voltage_t pilot_voltage, bool authorized, bool available, bool enabled); #ifdef __cplusplus } #endif #endif // EVSE_FSM_H