diff --git a/include/ugv_sdk/agilex_message.h b/include/ugv_sdk/agilex_message.h index 0c82ba4..557e6e0 100644 --- a/include/ugv_sdk/agilex_message.h +++ b/include/ugv_sdk/agilex_message.h @@ -123,7 +123,7 @@ typedef struct { int8_t var_a; } RcStateMessage; -// 0x251 - 0x254 +// 0x251 - 0x258 typedef struct { uint8_t motor_id; int16_t rpm; diff --git a/include/ugv_sdk/ranger_base.hpp b/include/ugv_sdk/ranger_base.hpp index b46a211..f4b7426 100644 --- a/include/ugv_sdk/ranger_base.hpp +++ b/include/ugv_sdk/ranger_base.hpp @@ -24,10 +24,12 @@ struct RangerState { MotionStateMessage motion_state; LightStateMessage light_state; + + RcStateMessage rc_state; - ActuatorHSStateMessage actuator_hs_state[4]; - ActuatorLSStateMessage actuator_ls_state[4]; + ActuatorHSStateMessage actuator_hs_state[8]; + ActuatorLSStateMessage actuator_ls_state[8]; // sensor data OdometryMessage odometry; diff --git a/src/agx_msg_parser.c b/src/agx_msg_parser.c index 395d8a4..406dd3d 100644 --- a/src/agx_msg_parser.c +++ b/src/agx_msg_parser.c @@ -145,7 +145,11 @@ bool DecodeCanFrame(const struct can_frame *rx_frame, AgxMessage *msg) { case CAN_MSG_ACTUATOR1_HS_STATE_ID: case CAN_MSG_ACTUATOR2_HS_STATE_ID: case CAN_MSG_ACTUATOR3_HS_STATE_ID: - case CAN_MSG_ACTUATOR4_HS_STATE_ID: { + case CAN_MSG_ACTUATOR4_HS_STATE_ID: + case CAN_MSG_ACTUATOR5_HS_STATE_ID: + case CAN_MSG_ACTUATOR6_HS_STATE_ID: + case CAN_MSG_ACTUATOR7_HS_STATE_ID: + case CAN_MSG_ACTUATOR8_HS_STATE_ID: { msg->type = AgxMsgActuatorHSState; ActuatorHSStateFrame *frame = (ActuatorHSStateFrame *)(rx_frame->data); msg->body.actuator_hs_state_msg.motor_id = @@ -167,7 +171,11 @@ bool DecodeCanFrame(const struct can_frame *rx_frame, AgxMessage *msg) { case CAN_MSG_ACTUATOR1_LS_STATE_ID: case CAN_MSG_ACTUATOR2_LS_STATE_ID: case CAN_MSG_ACTUATOR3_LS_STATE_ID: - case CAN_MSG_ACTUATOR4_LS_STATE_ID: { + case CAN_MSG_ACTUATOR4_LS_STATE_ID: + case CAN_MSG_ACTUATOR5_LS_STATE_ID: + case CAN_MSG_ACTUATOR6_LS_STATE_ID: + case CAN_MSG_ACTUATOR7_LS_STATE_ID: + case CAN_MSG_ACTUATOR8_LS_STATE_ID: { msg->type = AgxMsgActuatorLSState; ActuatorLSStateFrame *frame = (ActuatorLSStateFrame *)(rx_frame->data); msg->body.actuator_hs_state_msg.motor_id =