add SetBrakeMode function

This commit is contained in:
zhoups
2021-07-29 18:06:01 +08:00
parent 740de6aeba
commit d519f158bb
10 changed files with 65 additions and 0 deletions

View File

@@ -38,6 +38,11 @@ void HunterRobot::SetMotionCommand(double linear_vel, double angular_vel) {
hunter->SetMotionCommand(linear_vel, angular_vel);
}
void HunterRobot::SetBrakeMode(BrakeMode mode) {
auto hunter = dynamic_cast<HunterInterface*>(robot_);
hunter->SetBrakeMode(mode);
}
HunterCoreState HunterRobot::GetRobotState() {
auto hunter = dynamic_cast<HunterInterface*>(robot_);
return hunter->GetRobotState();

View File

@@ -563,6 +563,21 @@ bool EncodeCanFrameV2(const AgxMessage *msg, struct can_frame *tx_frame) {
memcpy(tx_frame->data, (uint8_t *)(&frame), tx_frame->can_dlc);
break;
}
case AgxMsgBrakeModeConfig: {
tx_frame->can_id = CAN_MSG_BRAKING_COMMAND_ID;
tx_frame->can_dlc = 8;
BrakeModeConfigFrame frame;
frame.mode = msg->body.control_mode_config_msg.mode;
frame.reserved0 = 0;
frame.reserved1 = 0;
frame.reserved2 = 0;
frame.reserved3 = 0;
frame.reserved4 = 0;
frame.reserved5 = 0;
frame.reserved6 = 0;
memcpy(tx_frame->data, (uint8_t *)(&frame), tx_frame->can_dlc);
break;
}
case AgxMsgSteerNeutralRequest: {
tx_frame->can_id = CAN_MSG_STEER_NEUTRAL_REQUEST_ID;
tx_frame->can_dlc = 8;

View File

@@ -360,6 +360,17 @@ typedef struct {
uint8_t reserved6;
} ControlModeConfigFrame;
typedef struct {
uint8_t mode;
uint8_t reserved0;
uint8_t reserved1;
uint8_t reserved2;
uint8_t reserved3;
uint8_t reserved4;
uint8_t reserved5;
uint8_t reserved6;
} BrakeModeConfigFrame;
typedef struct {
uint8_t set_as_neutral;
uint8_t reserved0;