38 lines
1.0 KiB
C
Executable File
38 lines
1.0 KiB
C
Executable File
#ifndef EVSE_FSM_H
|
|
#define EVSE_FSM_H
|
|
|
|
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
#include "evse_api.h"
|
|
#include "evse_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
|