#ifndef EVSE_MANAGER_H #define EVSE_MANAGER_H #ifdef __cplusplus extern "C" { #endif #include #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