9#include <wpi/math/kinematics/SwerveModulePosition.hpp>
10#include <wpi/math/kinematics/SwerveModuleVelocity.hpp>
11#include <wpi/units/angle.hpp>
12#include <wpi/units/force.hpp>
135 wpi::units::newton_t feedforwardForce);
174 std::optional<telemetry::SwerveModuleTelemetry> m_swerveModuleTelemetry;
175 std::function<wpi::units::degree_t()> m_azimuthEncoderWithoutOffsets;
177 mutable std::optional<wpi::math::Rotation2d> m_lastAzimuthAngle;
178 mutable wpi::units::turn_t m_azimuthTravel{0};
181 wpi::units::meter_t GetCouplingDistance(wpi::units::turn_t azimuthAngle)
const;
183 double GetDriveRotorToMechanismRatio()
const;
Definition SwerveModuleConfig.hpp:30
Definition SwerveModule.hpp:81
wpi::math::SwerveModuleVelocity SetSwerveModuleState(wpi::math::SwerveModuleVelocity state)
motorcontrollers::SmartMotorController * m_azimuthMotorController
Definition SwerveModule.hpp:190
motorcontrollers::SmartMotorController * m_driveMotorController
Definition SwerveModule.hpp:189
void SetupTelemetry(const std::string &mechName)
wpi::math::SwerveModulePosition GetPosition() const
motorcontrollers::SmartMotorController * GetAzimuthMotorController() const
SwerveModule(config::SwerveModuleConfig *config)
SwerveModuleVelocityWithAzimuth GetState() const
wpi::math::SwerveModuleVelocity SetAzimuthAngle(wpi::math::Rotation2d angle)
wpi::units::meters_per_second_t GetCouplingVelocity() const
wpi::math::SwerveModuleVelocity SetSwerveModuleState(wpi::math::SwerveModuleVelocity state, wpi::units::newton_t feedforwardForce)
void SeedAzimuthEncoder()
const config::SwerveModuleConfig & GetConfig() const
config::SwerveModuleConfig & GetMutableConfig()
wpi::units::degree_t GetRawAbsoluteEncoderAngle() const
std::string GetName() const
motorcontrollers::SmartMotorController * GetDriveMotorController() const
Definition SmartMotorController.hpp:48
Definition MechanismTelemetry.hpp:34
Definition SwerveDrive.hpp:49
Definition SwerveModuleVelocityWithAzimuth.hpp:19