4#include <archive_entry.h>
14#define PM_STATE_CHANGE 2
16#define MAX_TIMESTAMP_LENGTH 50
27 bool m_LoadChangeDetected;
28 bool m_EVChangeDetected;
29 bool m_BatteryChangeDetected;
61 float PercentVariation;
62 int StreamingWindowSize;
63 uint32_t NumTrainingSamples;
68 uint16_t FilterWindowSize;
69 uint16_t PatternWindowSize;
70 float PercentVariation;
71 uint32_t NumTrainingSamples;
72 float DetectionThreshold;
77 uint16_t NumTrainingSamples;
78 float ZValueThreshold;
82 uint32_t NumTrainingSamples;
105float GetBoonMetrologyVersion();
112const char* GetErrorString(
struct BoonMetrology* BM);
119struct BoonMetrology* ConstructBoonMetrology(uint16_t SamplesPerSecond);
126void FreeBoonMetrology(
struct BoonMetrology* BM);
158bool ConfigurePowerQualityMonitoring(
struct BoonMetrology* BM,
struct PowerQualitySettings* PQS);
179bool IncrementalSerialize(
struct BoonMetrology* BM,
const char* DirPath, ArchiveWriteCallbackType WriteCallbackFunction,
192bool IncrementalDeserialize(
struct BoonMetrology* BM,
const char* DirPath, ArchiveReadCallbackType ReadCallbackFunction,
203bool SerializeBoonMetrology(
struct BoonMetrology* BM, uint8_t** Buffer,
size_t* BufferLength);
212bool DeserializeBoonMetrology(
struct BoonMetrology* BM, uint8_t* Buffer,
size_t BufferLength);
219 char Time[MAX_TIMESTAMP_LENGTH];
220 float VoltageAverage;
222 float LineToLineVoltage;
244bool GetPVDisaggregationEstimate(
struct BoonMetrology* BM,
float* PVEstimate);
251const char* GetDisaggregation(
struct BoonMetrology* BM);
258void ResetPVDisaggregationEstimate(
struct BoonMetrology* BM);
268bool GetPowerQualityScore(
struct BoonMetrology* BM,
float* QualityScore);
278bool GetVoltageEstimatePQ(
struct BoonMetrology* BM,
float DeltaP,
float DeltaQ,
float* DeltaVEstimate);
287bool GetVoltageEstimateP(
struct BoonMetrology* BM,
float DeltaP,
float* DeltaVEstimate);
294const char* GetStatus(
struct BoonMetrology* BM);
301const char* GetStatusPowerQualityMonitoring(
struct BoonMetrology* BM);
308const char* GetStatusDynamicHostingCapacity(
struct BoonMetrology* BM);
315const char* GetStatusPVDisaggregation(
struct BoonMetrology* BM);
322const char* GetStatusLoadDisaggregation(
struct BoonMetrology* BM);
329const char* GetDiagnostics(
struct BoonMetrology* BM);
332#define DT_PVDisaggregation 0x0002
333#define DT_LoadDisaggregation 0x0004
334#define DT_PowerQualityMonitoring 0x0008
335#define DT_ALL_USE_CASES DT_DHC | DT_PVDisaggregation | DT_LoadDisaggregation | DT_PowerQualityMonitoring
337#define DT_ExcludeRecentSamples 0x2000
338#define DT_ClusterCountOnly 0x4000
339#define DT_ExcludeNano 0x8000
346const char* GetDiagnosticsByType(
struct BoonMetrology* BM, uint16_t ResultsList);
Structure to contain the settings that determine Boon Metrology model configuration when ConfigureBoo...
Definition boon_metrology.h:88
Definition boon_metrology.h:81
float MaxVal
Definition boon_metrology.h:40
float MinVal
Definition boon_metrology.h:39
A struct for an individual feature.
Definition boon_metrology.h:38
Definition serialize.h:15
struct for load change information to return
Definition boon_metrology.h:26
Definition boon_metrology.h:66
Initialize values not being used to 0.
Definition boon_metrology.h:218
The current metrology values used across at least one use case.
Definition boon_metrology.h:47
Definition boon_metrology.h:75
The settings that will be used to configure the power quality monitoring use case.
Definition boon_metrology.h:60