80 float qualityThreshold;
89 typedef void (*HistInitCallback)();
122 int calculateIndex(
const struct tm &tm, uint8_t rate)
const;
133 void markMissedEntries(int16_t *hist,
size_t size, time_t lastUpdate,
134 time_t timestamp, uint8_t rate);
155 UpdateResult updateHistoryBufferCore(int16_t *hist,
size_t size,
int idx, int16_t delta,
156 time_t t_delta, time_t timestamp, time_t lastUpdate,
176 void updateHistoryBuffer(int16_t *hist,
size_t size,
int idx, int16_t delta,
177 time_t t_delta, time_t timestamp, time_t lastUpdate,
187 virtual void hist_init(int16_t value = -1) = 0;
200 float sumHistory(
const History &h,
bool *valid =
nullptr,
int *nbins =
nullptr,
201 float *quality =
nullptr,
float scale = 1.0);
209 RollingCounter(
const float quality_threshold = DEFAULT_QUALITY_THRESHOLD) : qualityThreshold(quality_threshold),
211 updateRate(ROLLING_COUNTER_UPD_RATE) {};