Files
allwpilib/wpilibc/src/main/native/include/wpi/simulation/AnalogEncoderSim.hpp
2025-11-07 23:09:21 -08:00

46 lines
882 B
C++

// Copyright (c) FIRST and other WPILib contributors.
// Open Source Software; you can modify and/or share it under the terms of
// the WPILib BSD license file in the root directory of this project.
#pragma once
#include "wpi/hal/SimDevice.h"
#include "wpi/math/geometry/Rotation2d.hpp"
#include "wpi/units/angle.hpp"
namespace frc {
class AnalogEncoder;
namespace sim {
/**
* Class to control a simulated analog encoder.
*/
class AnalogEncoderSim {
public:
/**
* Constructs from an AnalogEncoder object.
*
* @param encoder AnalogEncoder to simulate
*/
explicit AnalogEncoderSim(const AnalogEncoder& encoder);
/**
* Set the position.
*
* @param value The position.
*/
void Set(double value);
/**
* Get the simulated position.
*/
double Get();
private:
hal::SimDouble m_positionSim;
};
} // namespace sim
} // namespace frc