Mutila: Mouse's Utilities for Arduino
Oft-used utilities: debouncing buttons, averaging samples, and so on.
BufferedVDivSampler.cpp
1 #include "BufferedVDivSampler.h"
2 #include "VIPCalculation.h"
3 
5  const uint16_t r1KOhm,
6  const uint16_t r2KOhm,
7  const float vRef,
8  const uint16_t periodMs,
9  const uint8_t samples) :
10  BufferedSampler(pin, periodMs, samples),
11  _r1KOhm(r1KOhm),
12  _r2KOhm(r2KOhm),
13  _vRef(vRef)
14 {
15 }
16 
18 {
19  return vDivVolts(average(), _r1KOhm, _r2KOhm, _vRef);
20 }
21 
23 {
24  return vDivVolts(last(), _r1KOhm, _r2KOhm, _vRef);
25 }
26 
27 
virtual int16_t last()
Get the most recent sample value.
virtual float averageVolts()
Get the mean value in the sample set.
virtual float lastVolts()
Get the most recent voltage value.
BufferedVDivSampler(const uint8_t pin, const uint16_t r1KOhm, const uint16_t r2KOhm, const float vRef=5.0, const uint16_t periodMs=10, const uint8_t samples=10)
Ringbuffer-based sampler for analog values.
virtual float average()
Get the mean value in the sample set.