Add DMA lidar lite reader.
Change-Id: I8195ff2331029adcdb961b9925f43471cc6b08f9
diff --git a/frc971/wpilib/dma_edge_counting.cc b/frc971/wpilib/dma_edge_counting.cc
index 4cf4440..8ea3071 100644
--- a/frc971/wpilib/dma_edge_counting.cc
+++ b/frc971/wpilib/dma_edge_counting.cc
@@ -24,6 +24,14 @@
}
}
+void DMAPulseWidthReader::UpdateFromSample(const DMASample &sample) {
+ if (have_prev_sample_ && prev_sample_.Get(input_) && !sample.Get(input_)) {
+ last_width_ = sample.GetTimestamp() - prev_sample_.GetTimestamp();
+ }
+ have_prev_sample_ = true;
+ prev_sample_ = sample;
+}
+
void DMASynchronizer::CheckDMA() {
DMASample current_sample;
@@ -45,6 +53,7 @@
}
return;
}
+ break;
case DMA::STATUS_TIMEOUT:
return;
case DMA::STATUS_ERROR: