mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-03 15:28:53 +08:00
mavlink: reorder streams to optimize latency
In particular this together with the previous commit reduces timesync round-trip time spikes by more than 10ms, and makes it generally more stable. Other streams are reordered according to onboard priority.
This commit is contained in:
@@ -1606,33 +1606,37 @@ Mavlink::configure_streams_to_default(const char *configure_single_stream)
|
||||
break;
|
||||
|
||||
case MAVLINK_MODE_ONBOARD:
|
||||
// Note: streams requiring low latency come first
|
||||
configure_stream_local("TIMESYNC", 10.0f);
|
||||
configure_stream_local("CAMERA_TRIGGER", unlimited_rate);
|
||||
configure_stream_local("HIGHRES_IMU", 50.0f);
|
||||
configure_stream_local("LOCAL_POSITION_NED", 30.0f);
|
||||
configure_stream_local("ATTITUDE", 100.0f);
|
||||
configure_stream_local("ALTITUDE", 10.0f);
|
||||
configure_stream_local("DISTANCE_SENSOR", 10.0f);
|
||||
configure_stream_local("MOUNT_ORIENTATION", 10.0f);
|
||||
configure_stream_local("OBSTACLE_DISTANCE", 10.0f);
|
||||
configure_stream_local("ODOMETRY", 30.0f);
|
||||
|
||||
configure_stream_local("ACTUATOR_CONTROL_TARGET0", 10.0f);
|
||||
configure_stream_local("ADSB_VEHICLE", unlimited_rate);
|
||||
configure_stream_local("ALTITUDE", 10.0f);
|
||||
configure_stream_local("ATTITUDE", 100.0f);
|
||||
configure_stream_local("ATTITUDE_QUATERNION", 50.0f);
|
||||
configure_stream_local("ATTITUDE_TARGET", 10.0f);
|
||||
configure_stream_local("BATTERY_STATUS", 0.5f);
|
||||
configure_stream_local("CAMERA_CAPTURE", 2.0f);
|
||||
configure_stream_local("CAMERA_IMAGE_CAPTURED", unlimited_rate);
|
||||
configure_stream_local("CAMERA_TRIGGER", unlimited_rate);
|
||||
configure_stream_local("COLLISION", unlimited_rate);
|
||||
configure_stream_local("DEBUG", 10.0f);
|
||||
configure_stream_local("DEBUG_FLOAT_ARRAY", 10.0f);
|
||||
configure_stream_local("DEBUG_VECT", 10.0f);
|
||||
configure_stream_local("DISTANCE_SENSOR", 10.0f);
|
||||
configure_stream_local("ESTIMATOR_STATUS", 1.0f);
|
||||
configure_stream_local("EXTENDED_SYS_STATE", 5.0f);
|
||||
configure_stream_local("GLOBAL_POSITION_INT", 50.0f);
|
||||
configure_stream_local("GPS2_RAW", unlimited_rate);
|
||||
configure_stream_local("GPS_RAW_INT", unlimited_rate);
|
||||
configure_stream_local("HIGHRES_IMU", 50.0f);
|
||||
configure_stream_local("HOME_POSITION", 0.5f);
|
||||
configure_stream_local("LOCAL_POSITION_NED", 30.0f);
|
||||
configure_stream_local("NAMED_VALUE_FLOAT", 10.0f);
|
||||
configure_stream_local("NAV_CONTROLLER_OUTPUT", 10.0f);
|
||||
configure_stream_local("OBSTACLE_DISTANCE", 10.0f);
|
||||
configure_stream_local("ODOMETRY", 30.0f);
|
||||
configure_stream_local("OPTICAL_FLOW_RAD", 10.0f);
|
||||
configure_stream_local("ORBIT_EXECUTION_STATUS", 5.0f);
|
||||
configure_stream_local("PING", 1.0f);
|
||||
@@ -1642,7 +1646,6 @@ Mavlink::configure_streams_to_default(const char *configure_single_stream)
|
||||
configure_stream_local("SERVO_OUTPUT_RAW_0", 10.0f);
|
||||
configure_stream_local("SYS_STATUS", 5.0f);
|
||||
configure_stream_local("SYSTEM_TIME", 1.0f);
|
||||
configure_stream_local("TIMESYNC", 10.0f);
|
||||
configure_stream_local("TRAJECTORY_REPRESENTATION_WAYPOINTS", 5.0f);
|
||||
configure_stream_local("UTM_GLOBAL_POSITION", 1.0f);
|
||||
configure_stream_local("VFR_HUD", 10.0f);
|
||||
@@ -1656,29 +1659,33 @@ Mavlink::configure_streams_to_default(const char *configure_single_stream)
|
||||
|
||||
// FALLTHROUGH
|
||||
case MAVLINK_MODE_EXTVISIONMIN:
|
||||
configure_stream_local("ADSB_VEHICLE", unlimited_rate);
|
||||
configure_stream_local("ALTITUDE", 10.0f);
|
||||
// Note: streams requiring low latency come first
|
||||
configure_stream_local("TIMESYNC", 10.0f);
|
||||
configure_stream_local("CAMERA_TRIGGER", unlimited_rate);
|
||||
configure_stream_local("LOCAL_POSITION_NED", 30.0f);
|
||||
configure_stream_local("ATTITUDE", 20.0f);
|
||||
configure_stream_local("ALTITUDE", 10.0f);
|
||||
configure_stream_local("DISTANCE_SENSOR", 10.0f);
|
||||
configure_stream_local("MOUNT_ORIENTATION", 10.0f);
|
||||
configure_stream_local("OBSTACLE_DISTANCE", 10.0f);
|
||||
configure_stream_local("ODOMETRY", 30.0f);
|
||||
|
||||
configure_stream_local("ADSB_VEHICLE", unlimited_rate);
|
||||
configure_stream_local("ATTITUDE_TARGET", 2.0f);
|
||||
configure_stream_local("BATTERY_STATUS", 0.5f);
|
||||
configure_stream_local("CAMERA_IMAGE_CAPTURED", unlimited_rate);
|
||||
configure_stream_local("CAMERA_TRIGGER", unlimited_rate);
|
||||
configure_stream_local("COLLISION", unlimited_rate);
|
||||
configure_stream_local("DEBUG", 1.0f);
|
||||
configure_stream_local("DEBUG_FLOAT_ARRAY", 1.0f);
|
||||
configure_stream_local("DEBUG_VECT", 1.0f);
|
||||
configure_stream_local("DISTANCE_SENSOR", 10.0f);
|
||||
configure_stream_local("ESTIMATOR_STATUS", 1.0f);
|
||||
configure_stream_local("EXTENDED_SYS_STATE", 1.0f);
|
||||
configure_stream_local("GLOBAL_POSITION_INT", 5.0f);
|
||||
configure_stream_local("GPS2_RAW", 1.0f);
|
||||
configure_stream_local("GPS_RAW_INT", 1.0f);
|
||||
configure_stream_local("HOME_POSITION", 0.5f);
|
||||
configure_stream_local("LOCAL_POSITION_NED", 30.0f);
|
||||
configure_stream_local("NAMED_VALUE_FLOAT", 1.0f);
|
||||
configure_stream_local("NAV_CONTROLLER_OUTPUT", 1.5f);
|
||||
configure_stream_local("OBSTACLE_DISTANCE", 10.0f);
|
||||
configure_stream_local("ODOMETRY", 30.0f);
|
||||
configure_stream_local("OPTICAL_FLOW_RAD", 1.0f);
|
||||
configure_stream_local("ORBIT_EXECUTION_STATUS", 5.0f);
|
||||
configure_stream_local("PING", 0.1f);
|
||||
@@ -1721,8 +1728,15 @@ Mavlink::configure_streams_to_default(const char *configure_single_stream)
|
||||
//stream nothing
|
||||
break;
|
||||
|
||||
case MAVLINK_MODE_CONFIG:
|
||||
// Enable a number of interesting streams we want via USB
|
||||
case MAVLINK_MODE_CONFIG: // USB
|
||||
// Note: streams requiring low latency come first
|
||||
configure_stream_local("TIMESYNC", 10.0f);
|
||||
configure_stream_local("CAMERA_TRIGGER", unlimited_rate);
|
||||
configure_stream_local("LOCAL_POSITION_NED", 30.0f);
|
||||
configure_stream_local("DISTANCE_SENSOR", 10.0f);
|
||||
configure_stream_local("MOUNT_ORIENTATION", 10.0f);
|
||||
configure_stream_local("ODOMETRY", 30.0f);
|
||||
|
||||
configure_stream_local("ACTUATOR_CONTROL_TARGET0", 30.0f);
|
||||
configure_stream_local("ADSB_VEHICLE", unlimited_rate);
|
||||
configure_stream_local("ALTITUDE", 10.0f);
|
||||
@@ -1731,12 +1745,10 @@ Mavlink::configure_streams_to_default(const char *configure_single_stream)
|
||||
configure_stream_local("ATTITUDE_TARGET", 8.0f);
|
||||
configure_stream_local("BATTERY_STATUS", 0.5f);
|
||||
configure_stream_local("CAMERA_IMAGE_CAPTURED", unlimited_rate);
|
||||
configure_stream_local("CAMERA_TRIGGER", unlimited_rate);
|
||||
configure_stream_local("COLLISION", unlimited_rate);
|
||||
configure_stream_local("DEBUG", 50.0f);
|
||||
configure_stream_local("DEBUG_FLOAT_ARRAY", 50.0f);
|
||||
configure_stream_local("DEBUG_VECT", 50.0f);
|
||||
configure_stream_local("DISTANCE_SENSOR", 10.0f);
|
||||
configure_stream_local("ESTIMATOR_STATUS", 5.0f);
|
||||
configure_stream_local("EXTENDED_SYS_STATE", 2.0f);
|
||||
configure_stream_local("GLOBAL_POSITION_INT", 10.0f);
|
||||
@@ -1744,11 +1756,9 @@ Mavlink::configure_streams_to_default(const char *configure_single_stream)
|
||||
configure_stream_local("GPS_RAW_INT", unlimited_rate);
|
||||
configure_stream_local("HIGHRES_IMU", 50.0f);
|
||||
configure_stream_local("HOME_POSITION", 0.5f);
|
||||
configure_stream_local("LOCAL_POSITION_NED", 30.0f);
|
||||
configure_stream_local("MANUAL_CONTROL", 5.0f);
|
||||
configure_stream_local("NAMED_VALUE_FLOAT", 50.0f);
|
||||
configure_stream_local("NAV_CONTROLLER_OUTPUT", 10.0f);
|
||||
configure_stream_local("ODOMETRY", 30.0f);
|
||||
configure_stream_local("OPTICAL_FLOW_RAD", 10.0f);
|
||||
configure_stream_local("ORBIT_EXECUTION_STATUS", 5.0f);
|
||||
configure_stream_local("PING", 1.0f);
|
||||
@@ -1761,7 +1771,6 @@ Mavlink::configure_streams_to_default(const char *configure_single_stream)
|
||||
configure_stream_local("SERVO_OUTPUT_RAW_1", 20.0f);
|
||||
configure_stream_local("SYS_STATUS", 1.0f);
|
||||
configure_stream_local("SYSTEM_TIME", 1.0f);
|
||||
configure_stream_local("TIMESYNC", 10.0f);
|
||||
configure_stream_local("UTM_GLOBAL_POSITION", 1.0f);
|
||||
configure_stream_local("VFR_HUD", 20.0f);
|
||||
configure_stream_local("VIBRATION", 2.5f);
|
||||
|
||||
Reference in New Issue
Block a user