#ifndef EVSE_HARDWARE_H #define EVSE_HARDWARE_H #ifdef __cplusplus extern "C" { #endif #include #include /** * @brief Inicializa todos os periféricos de hardware do EVSE (pilot, relé, trava, etc.) */ void evse_hardware_init(void); /** * @brief Executa atualizações periódicas no hardware (tick) */ void evse_hardware_tick(void); /** * @brief Verifica se o sinal piloto está em nível alto (12V) */ bool evse_hardware_is_pilot_high(void); /** * @brief Verifica se o veículo está fisicamente conectado via Proximity */ bool evse_hardware_is_vehicle_connected(void); /** * @brief Verifica se há consumo de energia (corrente detectada) */ bool evse_hardware_is_energy_detected(void); /** * @brief Liga o relé de fornecimento de energia */ void evse_hardware_relay_on(void); /** * @brief Desliga o relé de fornecimento de energia */ void evse_hardware_relay_off(void); /** * @brief Consulta o estado atual do relé * @return true se ligado, false se desligado */ bool evse_hardware_relay_status(void); /** * @brief Aciona a trava física do conector */ void evse_hardware_lock(void); /** * @brief Libera a trava física do conector */ void evse_hardware_unlock(void); /** * @brief Verifica se o conector está travado */ bool evse_hardware_is_locked(void); #ifdef __cplusplus } #endif #endif // EVSE_HARDWARE_H