31 public wpi::SendableHelper<CANdi>
41 hal::SimDevice m_simCANdi;
42 hal::SimDouble m_simSupplyVoltage;
43 hal::SimDouble m_simRequestedOutputCurrent;
44 hal::SimDouble m_simOutputCurrent;
46 hal::SimDevice m_simPwm1;
47 hal::SimDouble m_simPwm1Position;
48 hal::SimBoolean m_simPwm1Connected;
49 hal::SimDouble m_simPwm1Velocity;
50 hal::SimDouble m_simPwm1RiseRise;
51 hal::SimDouble m_simPwm1RiseFall;
53 hal::SimDevice m_simPwm2;
54 hal::SimDouble m_simPwm2Position;
55 hal::SimBoolean m_simPwm2Connected;
56 hal::SimDouble m_simPwm2Velocity;
57 hal::SimDouble m_simPwm2RiseRise;
58 hal::SimDouble m_simPwm2RiseFall;
60 hal::SimDevice m_simQuadrature;
61 hal::SimDouble m_simQuadPos;
62 hal::SimDouble m_simQuadRawPos;
63 hal::SimDouble m_simQuadVel;
65 hal::SimDevice m_simS1DIO;
66 hal::SimBoolean m_simS1Closed;
67 hal::SimEnum m_simS1State;
69 hal::SimDevice m_simS2DIO;
70 hal::SimBoolean m_simS2Closed;
71 hal::SimEnum m_simS2State;
73 int32_t m_simPeriodicUid{-1};
74 std::vector<int32_t> m_simValueChangedUids;
76 static void OnValueChanged(
77 const char *name,
void *param, HAL_SimValueHandle handle,
78 HAL_Bool readonly,
const struct HAL_Value *value
80 static void OnPeriodic(
void *param);
108 "Constructing devices with a CAN bus string is deprecated for removal "
109 "in the 2027 season. Construct devices using a CANBus instance instead."
111 CANdi(
int deviceId, std::string canbus);