4#include "ctre/phoenix/CANBusAddressable.h"
5#include "ctre/phoenix/CustomParamConfiguration.h"
6#include "ctre/phoenix/ErrorCode.h"
7#include "ctre/phoenix/paramEnum.h"
8#include "ctre/phoenix/CANifierControlFrame.h"
9#include "ctre/phoenix/CANifierStatusFrame.h"
10#include "ctre/phoenix/CANifierStickyFaults.h"
11#include "ctre/phoenix/CANifierFaults.h"
12#include "ctre/phoenix/sensors/SensorVelocityMeasPeriod.h"
13#include "ctre/phoenix/CANifierVelocityMeasPeriod.h"
15namespace ctre {
namespace phoenix {
63 std::string
toString(std::string prependString) {
67 retstr += prependString +
".clearPositionOnLimitF = " + std::to_string(
clearPositionOnLimitF) +
";\n";
68 retstr += prependString +
".clearPositionOnLimitR = " + std::to_string(
clearPositionOnLimitR) +
";\n";
93 static bool ClearPositionOnLimitFDifferent (
const CANifierConfiguration & settings) {
return (!(settings.clearPositionOnLimitF == _default.
clearPositionOnLimitF)) || !settings.enableOptimizations; }
94 static bool ClearPositionOnLimitRDifferent (
const CANifierConfiguration & settings) {
return (!(settings.clearPositionOnLimitR == _default.
clearPositionOnLimitR)) || !settings.enableOptimizations; }
95 static bool ClearPositionOnQuadIdxDifferent (
const CANifierConfiguration & settings) {
return (!(settings.clearPositionOnQuadIdx == _default.
clearPositionOnQuadIdx)) || !settings.enableOptimizations; }
96 static bool CustomParam0Different (
const CANifierConfiguration & settings) {
return (!(settings.customParam0 == _default.
customParam0)) || !settings.enableOptimizations; }
97 static bool CustomParam1Different (
const CANifierConfiguration & settings) {
return (!(settings.customParam1 == _default.
customParam1)) || !settings.enableOptimizations; }
332 [[deprecated(
"Use the overload with SensorVelocityMeasPeriod instead")]]
468 uint8_t subValue,
int ordinal,
int timeoutMs = 0);
505 int32_t & valueReceived, uint8_t & subValue, int32_t ordinal,
520 uint8_t periodMs,
int timeoutMs = 0);
Definition: CANBusAddressable.h:8
Definition: CANifier.h:107
ErrorCode ConfigFactoryDefault(int timeoutMs=50)
GeneralPin
Definition: CANifier.h:157
@ SPI_MOSI_PWM1P
Definition: CANifier.h:197
@ LIMR
Definition: CANifier.h:173
@ QUAD_A
Definition: CANifier.h:169
@ LIMF
Definition: CANifier.h:177
@ SPI_CLK_PWM0P
Definition: CANifier.h:201
@ SPI_MISO_PWM2P
Definition: CANifier.h:193
@ SCL
Definition: CANifier.h:185
@ SDA
Definition: CANifier.h:181
@ SPI_CS
Definition: CANifier.h:189
@ QUAD_B
Definition: CANifier.h:165
@ QUAD_IDX
Definition: CANifier.h:161
bool GetGeneralInput(GeneralPin inputPin)
ErrorCode ConfigVelocityMeasurementWindow(int windowSize, int timeoutMs=0)
int GetStatusFramePeriod(CANifierStatusFrame frame, int timeoutMs=0)
ErrorCode GetFaults(CANifierFaults &toFill)
PWMChannel
Definition: CANifier.h:130
@ PWMChannel0
Definition: CANifier.h:134
@ PWMChannel3
Definition: CANifier.h:146
@ PWMChannel1
Definition: CANifier.h:138
@ PWMChannel2
Definition: CANifier.h:142
ctre::phoenix::ErrorCode ConfigAllSettings(const CANifierConfiguration &allConfigs, int timeoutMs=50)
ErrorCode ClearStickyFaults(int timeoutMs=0)
ErrorCode ConfigClearPositionOnQuadIdx(bool clearPositionOnQuadIdx, int timeoutMs=0)
ErrorCode ConfigSetParameter(ParamEnum param, double value, uint8_t subValue, int ordinal, int timeoutMs=0)
ErrorCode ConfigSetCustomParam(int newValue, int paramIndex, int timeoutMs=0)
CANifier(int deviceNumber)
ErrorCode ConfigClearPositionOnLimitR(bool clearPositionOnLimitR, int timeoutMs=0)
ErrorCode SetStatusFramePeriod(CANifierStatusFrame statusFrame, uint8_t periodMs, int timeoutMs=0)
double ConfigGetParameter(ParamEnum param, int ordinal, int timeoutMs=0)
LEDChannel
Definition: CANifier.h:112
@ LEDChannelC
Definition: CANifier.h:124
@ LEDChannelA
Definition: CANifier.h:116
@ LEDChannelB
Definition: CANifier.h:120
ErrorCode GetGeneralInputs(PinValues &allPins)
ErrorCode SetLEDOutput(double percentOutput, LEDChannel ledChannel)
const int PWMChannelCount
Definition: CANifier.h:152
ErrorCode SetPWMOutput(int pwmChannel, double dutyCycle)
ErrorCode SetGeneralOutput(GeneralPin outputPin, bool outputValue, bool outputEnable)
static void DestroyAllCANifiers()
ErrorCode ConfigClearPositionOnLimitF(bool clearPositionOnLimitF, int timeoutMs=0)
ErrorCode SetQuadraturePosition(int newPosition, int timeoutMs=0)
int ConfigGetCustomParam(int paramIndex, int timeoutMs=0)
ErrorCode SetGeneralOutputs(int outputBits, int isOutputBits)
int GetQuadraturePosition()
ErrorCode ConfigGetParameter(ParamEnum param, int32_t valueToSend, int32_t &valueReceived, uint8_t &subValue, int32_t ordinal, int32_t timeoutMs)
ErrorCode ConfigVelocityMeasurementPeriod(ctre::phoenix::sensors::SensorVelocityMeasPeriod period, int timeoutMs=0)
ErrorCode GetStickyFaults(CANifierStickyFaults &toFill)
ErrorCode GetPWMInput(PWMChannel pwmChannel, double pulseWidthAndPeriod[])
void GetAllConfigs(CANifierConfiguration &allConfigs, int timeoutMs=50)
ErrorCode SetControlFramePeriod(CANifierControlFrame frame, int periodMs)
int GetQuadratureVelocity()
ErrorCode EnablePWMOutput(int pwmChannel, bool bEnable)
static std::string toString(SensorVelocityMeasPeriod value)
Definition: SensorVelocityMeasPeriod.h:57
SensorVelocityMeasPeriod
Definition: SensorVelocityMeasPeriod.h:12
CANifierStatusFrame
Definition: CANifierStatusFrame.h:7
ParamEnum
Definition: paramEnum.h:12
ErrorCode
Definition: ErrorCode.h:12
CANifierVelocityMeasPeriod
Definition: CANifierVelocityMeasPeriod.h:11
@ Period_100Ms
Definition: CANifierVelocityMeasPeriod.h:43
CANifierControlFrame
Definition: CANifierControlFrame.h:7
Definition: ErrorCode.h:5
Definition: CANifier.h:207
bool SPI_MOSI_PWM1
Definition: CANifier.h:247
bool LIMR
Definition: CANifier.h:223
bool SPI_CS_PWM3
Definition: CANifier.h:239
bool QUAD_IDX
Definition: CANifier.h:211
bool SPI_MISO_PWM2
Definition: CANifier.h:243
bool QUAD_B
Definition: CANifier.h:215
bool SCL
Definition: CANifier.h:235
bool SPI_CLK_PWM0
Definition: CANifier.h:251
bool QUAD_A
Definition: CANifier.h:219
bool LIMF
Definition: CANifier.h:227
bool SDA
Definition: CANifier.h:231
Definition: CANifier.h:81
static bool VelocityMeasurementPeriodDifferent(const CANifierConfiguration &settings)
Definition: CANifier.h:91
Definition: CANifier.h:20
bool clearPositionOnLimitF
Definition: CANifier.h:32
bool clearPositionOnLimitR
Definition: CANifier.h:36
bool clearPositionOnQuadIdx
Definition: CANifier.h:40
ctre::phoenix::sensors::SensorVelocityMeasPeriod velocityMeasurementPeriod
Definition: CANifier.h:24
int velocityMeasurementWindow
Definition: CANifier.h:28
std::string toString()
Definition: CANifier.h:54
std::string toString(std::string prependString)
Definition: CANifier.h:63
Definition: CANifierFaults.h:9
Definition: CANifierStickyFaults.h:9
Definition: CustomParamConfiguration.h:10
int customParam1
Definition: CustomParamConfiguration.h:18
bool enableOptimizations
Definition: CustomParamConfiguration.h:22
int customParam0
Definition: CustomParamConfiguration.h:14
std::string toString()
Definition: CustomParamConfiguration.h:33