#ifndef EVSE_LIMITS_H #define EVSE_LIMITS_H #include #include #include "evse_state.h" #ifdef __cplusplus extern "C" { #endif /// Estado dos limites void evse_set_limit_reached(uint8_t value); bool evse_is_limit_reached(void); /// Verifica e aplica lógica de limites com base no estado atual do EVSE void evse_limits_check(evse_state_t state); /// Limites ativos (runtime) uint32_t evse_get_consumption_limit(void); void evse_set_consumption_limit(uint32_t value); uint32_t evse_get_charging_time_limit(void); void evse_set_charging_time_limit(uint32_t value); uint16_t evse_get_under_power_limit(void); void evse_set_under_power_limit(uint16_t value); /// Limites padrão (persistentes) uint32_t evse_get_default_consumption_limit(void); void evse_set_default_consumption_limit(uint32_t value); uint32_t evse_get_default_charging_time_limit(void); void evse_set_default_charging_time_limit(uint32_t value); uint16_t evse_get_default_under_power_limit(void); void evse_set_default_under_power_limit(uint16_t value); #ifdef __cplusplus } #endif #endif // EVSE_LIMITS_H