feat: relative mode stamps a sample from its position and the declared rate
This commit is contained in:
1 parent
b645859f64
commit
d11e7d48c4
2 files changed
+46
No files matched your search
@@ -90,6 +90,17 @@ class Acquisition {
|
||||
/// signal carrying volt-like values, others from the arrival clock -- which is a
|
||||
/// time base no reader can make sense of (see `build_stamps`).
|
||||
int time_source_ = 0;
|
||||
/// Relative-time mode's position counter: samples seen since the stream began, which is
|
||||
/// what the counter names. Advanced by `batch_` for every packet the counter reports
|
||||
/// missing (before the frame's own samples) and then by the frame's own `n`, so it is
|
||||
/// exactly `counter * batch + sample_index` for a constant batch and degrades gracefully
|
||||
/// when a frame's length disagrees.
|
||||
std::uint64_t slot_base_ = 0;
|
||||
/// Samples per DATA packet, fixed by the first frame. Only ever needed to size what is
|
||||
/// *absent*: a delivered frame carries its own length. 0 until the first frame.
|
||||
std::uint32_t batch_ = 0;
|
||||
/// Latches the one warning about a frame whose length disagrees with the stream's first.
|
||||
bool warned_batch_ = false;
|
||||
std::vector<double> stamps_;
|
||||
/// The decimation filter's state: a running sum per channel (and one for the shared
|
||||
/// clock) over the group of base samples that becomes one stored sample. A boxcar
|
||||
|
||||
Reference in new issue
Block a user