Closed samkys closed 4 years ago
The error occurs if you set the device_setup param to be false so you listen for existing streams and you try calling the dynamics_mode service.
device_setup
dynamics_mode
// Get vehicle dynamics mode bool Microstrain::get_dynamics_mode(std_srvs::Trigger::Request &req, std_srvs::Trigger::Response &res) { if (GX5_15 == true || GX5_25 == true) { ROS_INFO("Device does not support this feature"); res.success = false; return true; } readback_dynamics_mode = 0; while (mip_filter_vehicle_dynamics_mode(&device_interface_, MIP_FUNCTION_SELECTOR_READ, &readback_dynamics_mode) != MIP_INTERFACE_OK) {} ROS_INFO("Vehicle dynamics mode is: %d\n", dynamics_mode); res.success = true; return true; }
If device_setup is false, GX5_15 and GX5_25 are both false and the while loop does not have a timeout.
GX5_15
GX5_25
I can fix this quick and submit a PR .
Merged, thanks @samkys
The error occurs if you set the
device_setup
param to be false so you listen for existing streams and you try calling thedynamics_mode
service.If
device_setup
is false,GX5_15
andGX5_25
are both false and the while loop does not have a timeout.