8#ifndef USEREXTENSIONS_SRC_RMDMOTORCAN_H_
9#define USEREXTENSIONS_SRC_RMDMOTORCAN_H_
21#define RMD_THREAD_MEM 256
22#define RMD_THREAD_PRIO 25
48 uint32_t
getCpr()
override;
56 void sendMsg(std::array<uint8_t,8> &
data,uint8_t len = 8);
CommandHandler(const char *clsname, uint16_t clsid, uint8_t instance=0)
static bool isCreatable()
const ClassIdentifier getInfo()
static bool isCreatable()
const ClassIdentifier getInfo()
bool hasIntegratedEncoder()
const uint32_t angleUpdateMs
bool requestConstantReportEnable
RmdMotorCAN(uint8_t instance)
void sendCmd(uint8_t cmd)
int32_t getPos() override
void sendMsg(std::array< uint8_t, 8 > &data, uint8_t len=8)
uint32_t getCpr() override
uint32_t lastTorqueStatusUpdate_us
void stopMotor() override
void canRxPendCallback(CANPort *port, CAN_rx_msg &msg) override
void turn(int16_t power) override
void saveFlash() override
void updateRequestMode(bool activerequests)
void errorCb(ErrorStatus &errors)
void setPos(int32_t pos) override
const ClassIdentifier getInfo()=0
void setTorque(int16_t torque)
void requestConstantReports(uint8_t cmd, bool enable, uint16_t interval_10ms)
void startMotor() override
CommandStatus command(const ParsedCommand &cmd, std::vector< CommandReply > &replies) override
Encoder * getEncoder() override
EncoderType getEncoderType() override
void restoreFlash() override
static struct @024127060247016123033304002117326322243354210111 data
uint16_t calibrationWriteErr