13 std::vector<std::string> param_ap_name, std::vector<int> param_ap_type) :
14 timeout_ms_(timeout_ms),
15 comm_exec_cmd_retries_(comm_exec_cmd_retries),
16 param_ap_name_(param_ap_name),
17 param_ap_type_(param_ap_type)
53 bool b_result =
false;
79 bool b_result =
false;
82 uint32_t rx_msg_id = 0;
83 uint8_t rx_msg_sz = 0;
95 tmcl_msg.
motor = motor;
96 tmcl_msg.
value[0] = (*val & 0xFF000000) >> 24;
97 tmcl_msg.
value[1] = (*val & 0x00FF0000) >> 16;
98 tmcl_msg.
value[2] = (*val & 0x0000FF00) >> 8;
99 tmcl_msg.
value[3] = (*val & 0x000000FF);
103 auto start_time = std::chrono::system_clock::now();
104 auto end_time = start_time;
106 while (0 < n_retries)
108 ROS_DEBUG(
"[%s] [T%d] before execute_cmd(), value=%d sending "
109 "[0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x]", __func__, n_retries, *val, tmcl_msg.
tx_id,
116 while(
timeout_ms_ > std::chrono::duration_cast<std::chrono::milliseconds>(end_time - start_time).count())
122 if((rx_msg_id == tmcl_msg.
rx_id) &&
124 (rx_msg[0] == tmcl_msg.
tx_id) &&
125 (rx_msg[2] == tmcl_msg.
cmd))
128 tmcl_msg.
value[0] = rx_msg[3];
129 tmcl_msg.
value[1] = rx_msg[4];
130 tmcl_msg.
value[2] = rx_msg[5];
131 tmcl_msg.
value[3] = rx_msg[6];
134 ROS_DEBUG(
"\n[%s] [T%d] execute_cmd() success, received "
135 "[0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x]\n", __func__, n_retries, tmcl_msg.
tx_id,
138 *val = (tmcl_msg.
value[0] << 24) + (tmcl_msg.
value[1] << 16) + (tmcl_msg.
value[2] << 8) +
144 end_time = std::chrono::system_clock::now();
175 bool b_result =
false;
176 uint8_t int_type = 0;
185 b_result =
executeCmd(cmd, int_type, motor, val);
189 ROS_DEBUG_STREAM(
"[" << __func__ <<
"] Instruction Type: " << type <<
" not found");
198 bool b_result =
false;