64 lines
1.4 KiB
C
64 lines
1.4 KiB
C
#ifndef EVSE_MANAGER_H
|
|
#define EVSE_MANAGER_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <stdbool.h>
|
|
#include "evse_state.h"
|
|
#include "evse_error.h"
|
|
#include "evse_config.h"
|
|
|
|
/**
|
|
* @brief Inicializa todos os módulos do EVSE e inicia a tarefa de supervisão periódica.
|
|
*/
|
|
void evse_manager_init(void);
|
|
|
|
/**
|
|
* @brief Executa uma iteração do ciclo de controle do EVSE (chamada automaticamente pela task).
|
|
*
|
|
* Você normalmente não precisa chamar isso manualmente.
|
|
*/
|
|
void evse_manager_tick(void);
|
|
|
|
/**
|
|
* @brief Verifica se o EVSE está disponível para conexão (não bloqueado, sem falha crítica, etc).
|
|
*/
|
|
bool evse_manager_is_available(void);
|
|
|
|
/**
|
|
* @brief Define se o EVSE deve estar disponível.
|
|
*
|
|
* Pode ser usado, por exemplo, para bloquear carregamento via comando remoto.
|
|
*/
|
|
void evse_manager_set_available(bool available);
|
|
|
|
/**
|
|
* @brief Define se o EVSE está autorizado a iniciar carregamento (ex: após autenticação).
|
|
*/
|
|
void evse_manager_set_authorized(bool authorized);
|
|
|
|
/**
|
|
* @brief Verifica se o EVSE está em estado de carregamento ativo.
|
|
*/
|
|
bool evse_manager_is_charging(void);
|
|
|
|
/**
|
|
* @brief Ativa ou desativa o EVSE (liga/desliga logicamente o carregamento).
|
|
*/
|
|
void evse_manager_set_enabled(bool enabled);
|
|
|
|
/**
|
|
* @brief Verifica se o EVSE está ativado logicamente.
|
|
*/
|
|
bool evse_manager_is_enabled(void);
|
|
|
|
void evse_manager_task(void *arg);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // EVSE_MANAGER_H
|