36#include <frc/motorcontrol/MotorController.h>
68 friend class ::ConfigBase;
88 [[deprecated(
"We recommend migrating to MAXMotion instead.")]] = 4,
95 [[deprecated(
"We recommend migrating to MAXMotion instead.")]] = 6,
408 double arbFeedforward = 0,
int arbFFUnits = 0);
Definition: SparkAbsoluteEncoder.h:44
Definition: SparkAbsoluteEncoderSim.h:43
Definition: SparkAnalogSensor.h:51
Definition: SparkAnalogSensorSim.h:43
Definition: SparkBase.h:58
Definition: SparkClosedLoopController.h:50
Definition: SparkExternalEncoderSim.h:42
Definition: SparkFlexExternalEncoder.h:42
Definition: SparkFlex.h:37
Definition: SparkLimitSwitch.h:48
Definition: SparkLimitSwitchSim.h:43
Definition: SparkLowLevel.h:48
PeriodicStatus8 GetPeriodicStatus8()
Definition: SparkLowLevel.cpp:290
static const uint8_t kAPIMinorVersion
Definition: SparkLowLevel.h:72
ParameterStatus
Definition: SparkLowLevel.h:100
@ kNotImplementedDeprecated
REVLibError SetpointCommand(double value, SparkLowLevel::ControlType ctrl=ControlType::kDutyCycle, ClosedLoopSlot pidSlot=ClosedLoopSlot::kSlot0, double arbFeedforward=0, int arbFFUnits=0)
Definition: SparkLowLevel.cpp:318
MotorType GetMotorType()
Definition: SparkLowLevel.cpp:121
MotorType
Definition: SparkLowLevel.h:76
SparkModel m_expectedSparkModel
Definition: SparkLowLevel.h:413
void SetControlFramePeriodMs(int periodMs)
Definition: SparkLowLevel.cpp:133
float GetSafeFloat(float f)
Definition: SparkLowLevel.cpp:329
MotorType m_motorType
Definition: SparkLowLevel.h:412
PeriodicStatus2 GetPeriodicStatus2()
Definition: SparkLowLevel.cpp:209
PeriodicStatus9 GetPeriodicStatus9()
Definition: SparkLowLevel.cpp:305
virtual ~SparkLowLevel()
Definition: SparkLowLevel.cpp:83
PeriodicStatus4 GetPeriodicStatus4()
Definition: SparkLowLevel.cpp:236
PeriodicStatus3 GetPeriodicStatus3()
Definition: SparkLowLevel.cpp:222
PeriodicStatus0 GetPeriodicStatus0()
Definition: SparkLowLevel.cpp:138
static const uint16_t kAPIMajorVersion
Definition: SparkLowLevel.h:71
void * m_sparkMaxHandle
Definition: SparkLowLevel.h:416
PeriodicStatus5 GetPeriodicStatus5()
Definition: SparkLowLevel.cpp:251
PeriodicStatus1 GetPeriodicStatus1()
Definition: SparkLowLevel.cpp:165
void SetPeriodicFrameTimeout(int timeoutMs)
Definition: SparkLowLevel.cpp:123
std::string GetFirmwareString()
Definition: SparkLowLevel.cpp:102
SparkModel
Definition: SparkLowLevel.h:222
std::vector< uint8_t > GetSerialNumber()
Definition: SparkLowLevel.cpp:117
PeriodicStatus6 GetPeriodicStatus6()
Definition: SparkLowLevel.cpp:264
static const uint32_t kAPIVersion
Definition: SparkLowLevel.h:74
void SetCANMaxRetries(int numRetries)
Definition: SparkLowLevel.cpp:128
void CreateSimFaultManager()
Definition: SparkLowLevel.cpp:334
static const uint8_t kAPIBuildVersion
Definition: SparkLowLevel.h:73
uint32_t GetFirmwareVersion()
Definition: SparkLowLevel.cpp:87
PeriodicFrame
Definition: SparkLowLevel.h:109
PeriodicStatus7 GetPeriodicStatus7()
Definition: SparkLowLevel.cpp:278
ControlType
Definition: SparkLowLevel.h:78
@ kMAXMotionPositionControl
@ kMAXMotionVelocityControl
int GetDeviceId() const
Definition: SparkLowLevel.cpp:119
Definition: SparkMaxAlternateEncoder.h:46
Definition: SparkMaxAlternateEncoderSim.h:42
Definition: SparkMax.h:37
Definition: SparkRelativeEncoder.h:46
Definition: SparkRelativeEncoderSim.h:43
Definition: SparkSimFaultManager.h:43
Definition: SparkLowLevel.cpp:40
ClosedLoopSlot
Definition: ClosedLoopTypes.h:35
@ kSlot0
Definition: ClosedLoopTypes.h:35
REVLibError
Definition: REVLibError.h:33
Definition: SparkLowLevel.h:122
bool inverted
Definition: SparkLowLevel.h:131
bool hardForwardLimitReached
Definition: SparkLowLevel.h:127
bool softForwardLimitReached
Definition: SparkLowLevel.h:129
uint64_t timestamp
Definition: SparkLowLevel.h:133
double current
Definition: SparkLowLevel.h:125
double appliedOutput
Definition: SparkLowLevel.h:123
double voltage
Definition: SparkLowLevel.h:124
bool primaryHeartbeatLock
Definition: SparkLowLevel.h:132
bool hardReverseLimitReached
Definition: SparkLowLevel.h:128
bool softReverseLimitReached
Definition: SparkLowLevel.h:130
uint8_t motorTemperature
Definition: SparkLowLevel.h:126
Definition: SparkLowLevel.h:136
bool extEepromWarning
Definition: SparkLowLevel.h:148
bool brownoutStickyWarning
Definition: SparkLowLevel.h:161
bool motorTypeStickyFault
Definition: SparkLowLevel.h:154
bool drvStickyFault
Definition: SparkLowLevel.h:158
bool isFollower
Definition: SparkLowLevel.h:169
bool escEepromStickyWarning
Definition: SparkLowLevel.h:163
bool firmwareFault
Definition: SparkLowLevel.h:144
bool sensorStickyFault
Definition: SparkLowLevel.h:155
bool sensorWarning
Definition: SparkLowLevel.h:149
uint64_t timestamp
Definition: SparkLowLevel.h:170
bool stallStickyWarning
Definition: SparkLowLevel.h:166
bool hasResetStickyWarning
Definition: SparkLowLevel.h:167
bool brownoutWarning
Definition: SparkLowLevel.h:145
bool firmwareStickyFault
Definition: SparkLowLevel.h:160
bool overcurrentWarning
Definition: SparkLowLevel.h:146
bool canFault
Definition: SparkLowLevel.h:140
bool stallWarning
Definition: SparkLowLevel.h:150
bool otherFault
Definition: SparkLowLevel.h:137
bool hasResetWarning
Definition: SparkLowLevel.h:151
bool sensorFault
Definition: SparkLowLevel.h:139
bool overcurrentStickyWarning
Definition: SparkLowLevel.h:162
bool canStickyFault
Definition: SparkLowLevel.h:156
bool drvFault
Definition: SparkLowLevel.h:142
bool otherStickyFault
Definition: SparkLowLevel.h:153
bool escEepromFault
Definition: SparkLowLevel.h:143
bool escEepromStickyFault
Definition: SparkLowLevel.h:159
bool escEepromWarning
Definition: SparkLowLevel.h:147
bool otherStickyWarning
Definition: SparkLowLevel.h:168
bool otherWarning
Definition: SparkLowLevel.h:152
bool extEepromStickyWarning
Definition: SparkLowLevel.h:164
bool sensorStickyWarning
Definition: SparkLowLevel.h:165
bool temperatureStickyFault
Definition: SparkLowLevel.h:157
bool temperatureFault
Definition: SparkLowLevel.h:141
bool motorTypeFault
Definition: SparkLowLevel.h:138
Definition: SparkLowLevel.h:173
double primaryEncoderPosition
Definition: SparkLowLevel.h:175
double primaryEncoderVelocity
Definition: SparkLowLevel.h:174
uint64_t timestamp
Definition: SparkLowLevel.h:176
Definition: SparkLowLevel.h:179
uint64_t timestamp
Definition: SparkLowLevel.h:183
double analogVoltage
Definition: SparkLowLevel.h:180
double analogVelocity
Definition: SparkLowLevel.h:181
double analogPosition
Definition: SparkLowLevel.h:182
Definition: SparkLowLevel.h:186
uint64_t timestamp
Definition: SparkLowLevel.h:189
double externalOrAltEncoderPosition
Definition: SparkLowLevel.h:188
double externalOrAltEncoderVelocity
Definition: SparkLowLevel.h:187
Definition: SparkLowLevel.h:192
double dutyCycleEncoderVelocity
Definition: SparkLowLevel.h:193
uint64_t timestamp
Definition: SparkLowLevel.h:195
double dutyCycleEncoderPosition
Definition: SparkLowLevel.h:194
Definition: SparkLowLevel.h:198
bool dutyCycleNoSignal
Definition: SparkLowLevel.h:201
uint64_t timestamp
Definition: SparkLowLevel.h:202
double dutyCyclePeriod
Definition: SparkLowLevel.h:200
double unadjustedDutyCycle
Definition: SparkLowLevel.h:199
Definition: SparkLowLevel.h:205
double iAccumulation
Definition: SparkLowLevel.h:206
uint64_t timestamp
Definition: SparkLowLevel.h:207
Definition: SparkLowLevel.h:210
bool isAtSetpoint
Definition: SparkLowLevel.h:212
double setpoint
Definition: SparkLowLevel.h:211
uint64_t timestamp
Definition: SparkLowLevel.h:214
ClosedLoopSlot selectedPidSlot
Definition: SparkLowLevel.h:213
Definition: SparkLowLevel.h:216
double maxMotionSetpointVelocity
Definition: SparkLowLevel.h:218
double maxMotionSetpointPosition
Definition: SparkLowLevel.h:217
uint64_t timestamp
Definition: SparkLowLevel.h:219