Files
chargeflow/components/evse/evse_hardware.c
2025-06-14 10:27:29 +01:00

56 lines
1.3 KiB
C
Executable File

#include "evse_hardware.h"
#include "evse_pilot.h"
#include "ac_relay.h"
#include "socket_lock.h"
#include "proximity.h"
static const char *TAG = "evse_hardware";
void evse_hardware_init(void) {
pilot_init();
pilot_set_level(true); // Sinal piloto em 12V (inicial)
ac_relay_set_state(false); // Relé desligado
//socket_lock_set_locked(false); // Destrava o conector
}
void evse_hardware_tick(void) {
// Tick para atualizações de hardware com polling, se necessário
}
bool evse_hardware_is_pilot_high(void) {
return pilot_get_state(); // true se sinal piloto estiver em nível alto
}
bool evse_hardware_is_vehicle_connected(void) {
// Verifica se o veículo está conectado pelo resistor do pino PP
return proximity_get_max_current() > 0;
}
bool evse_hardware_is_energy_detected(void) {
return false;
}
void evse_hardware_relay_on(void) {
ac_relay_set_state(true);
}
void evse_hardware_relay_off(void) {
ac_relay_set_state(false);
}
bool evse_hardware_relay_status(void) {
return ac_relay_get_state();
}
void evse_hardware_lock(void) {
socket_lock_set_locked(true);
}
void evse_hardware_unlock(void) {
socket_lock_set_locked(false);
}
bool evse_hardware_is_locked(void) {
return socket_lock_is_locked_state();
}