6#include <everest/logging.hpp>
7#include <everest/timer.hpp>
8#include <ocpp/common/types.hpp>
9#include <ocpp/v2/ocpp_enums.hpp>
10#include <ocpp/v2/ocpp_types.hpp>
11#include <ocpp/v2/types.hpp>
12#include <ocpp/v2/utils.hpp>
30 struct MeterValueCalc {
34 struct MeterValueMeasurands {
35 MeasurandEnum measurand;
36 std::optional<PhaseEnum> phase;
37 std::optional<LocationEnum> location;
40 bool operator<(
const MeterValueMeasurands& other)
const {
42 return std::tie(measurand, location, phase) < std::tie(other.measurand, other.location, other.phase);
47 std::mutex avg_meter_value_mutex;
48 std::map<MeterValueMeasurands, MeterValueCalc> aligned_meter_values;
50 void average_meter_value();
Definition: average_meter_values.hpp:16
void clear_values()
Manually clear the local object meter values.
Definition: average_meter_values.cpp:12
void set_values(const MeterValue &meter_value)
Set the meter values into the local object for processing.
Definition: average_meter_values.cpp:18
MeterValue retrieve_processed_values()
retrive the processed values
Definition: average_meter_values.cpp:36
Definition: ocpp_types.hpp:436
Definition: ocpp_types.hpp:416