blob: 9b7ba9514f9df781ee7dbb8202fadecae2691653 [file] [log] [blame]
#include "frc971/zeroing/zeroing.h"
#include "frc971/control_loops/control_loops_generated.h"
#include "frc971/control_loops/position_sensor_sim.h"
#include "gtest/gtest.h"
namespace frc971 {
namespace zeroing {
namespace testing {
using control_loops::PositionSensorSimulator;
using FBB = flatbuffers::FlatBufferBuilder;
constexpr size_t kSampleSize = 30;
constexpr double kAcceptableUnzeroedError = 0.2;
constexpr double kIndexErrorFraction = 0.3;
constexpr size_t kMovingBufferSize = 3;
class ZeroingTest : public ::testing::Test {
protected:
template <typename T>
double GetEstimatorPosition(T *estimator) {
FBB fbb;
fbb.Finish(estimator->GetEstimatorState(&fbb));
return flatbuffers::GetRoot<typename T::State>(fbb.GetBufferPointer())
->position();
}
};
} // namespace testing
} // namespace zeroing
} // namespace frc971