9#include <ctre/phoenix6/CANcoder.hpp>
14 namespace cancoder_config {
15 using CANcoder = ctre::phoenix6::hardware::CANcoder;
36 ctre::phoenix6::configs::CANcoderConfiguration config;
37 encoder.GetConfigurator().Refresh(config.MagnetSensor, configTimeout);
40 config.MagnetSensor.SensorDirection = T::direction;
43 config.MagnetSensor.AbsoluteSensorDiscontinuityPoint = T::absoluteSensorDiscontinuityPoint;
46 config.MagnetSensor.WithMagnetOffset = T::magOffset;
49 return ctre::phoenix::StatusCode::OK == encoder.GetConfigurator().Apply(config, configTimeout);
63 template <
typename CompetitionConfig,
typename PracticeConfig>
#define HAS_MEMBER(X)
Helper function generator to detect if a namespace has a member defined.
Definition compile_time_member_check.h:14
bool CanCoderConfig(CANcoder &encoder, units::millisecond_t configTimeout)
Configures a CTRE CanCoder with only the fields provided. All other fields are given the factory defa...
Definition cancoder_config.h:35
ctre::phoenix6::hardware::CANcoder CANcoder
Definition cancoder_config.h:15
Definition swap_controllers_command.h:12
RobotInstance
Differentiates between practice robot and competition robot.
Definition config_types.h:13
@ Competition
Competition robot.
@ Practice
Practice robot.
Definition custom_units.h:11
Definition cancoder_config.h:19
Definition cancoder_config.h:17
Definition cancoder_config.h:18