blob: 8a94e155a630c68c502e57f8e565adf1d05628b0 [file] [log] [blame]
#include "frc971/wpilib/encoder_and_potentiometer.h"
#include "aos/logging/logging.h"
#include "aos/realtime.h"
namespace frc971::wpilib {
bool DMAEncoder::DoUpdateFromSample(const DMASample &sample) {
if (index_last_value_) {
// It was already true last time, so check if it's reset back to false yet.
index_last_value_ = sample.Get(index_.get());
} else if (sample.Get(index_.get())) {
// This sample is posedge, so record all the values.
index_last_value_ = true;
++index_posedge_count_;
last_encoder_value_ = sample.GetRaw(encoder_.get());
return true;
}
return false;
}
} // namespace frc971::wpilib