AK80-64 AK Series Actuator Driver Manual V1.0.8

Table Of Contents
https://www.cubemars.com/
33 / 52
CAN_PACKET_SET_CURRENT_BRAKE, // Current brake mode
CAN_PACKET_SET_RPM, //Velocity mode
CAN_PACKET_SET_POS, // Position mode
CAN_PACKET_SET_ORIGIN_HERE, //Set origin mode
CAN_PACKET_SET_POS_SPD, //Position velocity loop mode
} CAN_PACKET_ID;
void comm_can_transmit_eid(uint32_t id, const uint8_t *data, uint8_t len) {
uint8_t i=0;
if (len > 8) {
len = 8;
}
CanTxMsg TxMessage;
TxMessage.StdId = 0;
TxMessage.IDE = CAN_ID_EXT;
TxMessage.ExtId = id;
TxMessage.RTR = CAN_RTR_DATA;
TxMessage.DLC = len;
//memcpy(txmsg.data8, data, len);
for(i=0;i<len;i++)
TxMessage.Data[i]=data[i];
CAN_Transmit(CHASSIS_CAN, &TxMessage);
}
void buffer_append_int32(uint8_t* buffer, int32_t number, int32_t *index) {
buffer[(*index)++] = number >> 24;
buffer[(*index)++] = number >> 16;
buffer[(*index)++] = number >> 8;
buffer[(*index)++] = number;
}
void buffer_append_int16(uint8_t* buffer, int16_t number, int16_t *index) {
buffer[(*index)++] = number >> 8;
buffer[(*index)++] = number;
}