Adicionar primeiro
This commit is contained in:
55
components/evse/evse_hardware.c
Normal file
55
components/evse/evse_hardware.c
Normal file
@@ -0,0 +1,55 @@
|
||||
#include "evse_hardware.h"
|
||||
#include "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_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) {
|
||||
// TODO: Substituir com medição real de corrente ou consumo
|
||||
return true;
|
||||
}
|
||||
|
||||
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_get_status() == SOCKED_LOCK_STATUS_IDLE;
|
||||
}
|
||||
Reference in New Issue
Block a user