56 lines
1.3 KiB
C
Executable File
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();
|
|
}
|