blob: 9b7ba9514f9df781ee7dbb8202fadecae2691653 [file] [log] [blame]
Brian Silvermana57b7012020-03-11 20:19:23 -07001#include "frc971/zeroing/zeroing.h"
2
3#include "frc971/control_loops/control_loops_generated.h"
4#include "frc971/control_loops/position_sensor_sim.h"
5#include "gtest/gtest.h"
6
7namespace frc971 {
8namespace zeroing {
9namespace testing {
10
11using control_loops::PositionSensorSimulator;
12using FBB = flatbuffers::FlatBufferBuilder;
13
14constexpr size_t kSampleSize = 30;
15constexpr double kAcceptableUnzeroedError = 0.2;
16constexpr double kIndexErrorFraction = 0.3;
17constexpr size_t kMovingBufferSize = 3;
18
19class ZeroingTest : public ::testing::Test {
20 protected:
21 template <typename T>
22 double GetEstimatorPosition(T *estimator) {
23 FBB fbb;
24 fbb.Finish(estimator->GetEstimatorState(&fbb));
25 return flatbuffers::GetRoot<typename T::State>(fbb.GetBufferPointer())
26 ->position();
27 }
28};
29
30} // namespace testing
31} // namespace zeroing
32} // namespace frc971