|
|
|
@ -110,6 +110,8 @@ MavlinkReceiver::MavlinkReceiver(Mavlink *parent) :
@@ -110,6 +110,8 @@ MavlinkReceiver::MavlinkReceiver(Mavlink *parent) :
|
|
|
|
|
_battery_pub(nullptr), |
|
|
|
|
_cmd_pub(nullptr), |
|
|
|
|
_flow_pub(nullptr), |
|
|
|
|
_hil_distance_sensor_pub(nullptr), |
|
|
|
|
_flow_distance_sensor_pub(nullptr), |
|
|
|
|
_distance_sensor_pub(nullptr), |
|
|
|
|
_offboard_control_mode_pub(nullptr), |
|
|
|
|
_actuator_controls_pub(nullptr), |
|
|
|
@ -462,15 +464,15 @@ MavlinkReceiver::handle_message_optical_flow_rad(mavlink_message_t *msg)
@@ -462,15 +464,15 @@ MavlinkReceiver::handle_message_optical_flow_rad(mavlink_message_t *msg)
|
|
|
|
|
d.max_distance = 5.0f; |
|
|
|
|
d.current_distance = flow.distance; /* both are in m */ |
|
|
|
|
d.type = 1; |
|
|
|
|
d.id = 0; |
|
|
|
|
d.id = MAV_DISTANCE_SENSOR_ULTRASOUND; |
|
|
|
|
d.orientation = 8; |
|
|
|
|
d.covariance = 0.0; |
|
|
|
|
|
|
|
|
|
if (_distance_sensor_pub == nullptr) { |
|
|
|
|
_distance_sensor_pub = orb_advertise_multi(ORB_ID(distance_sensor), &d, |
|
|
|
|
if (_flow_distance_sensor_pub == nullptr) { |
|
|
|
|
_flow_distance_sensor_pub = orb_advertise_multi(ORB_ID(distance_sensor), &d, |
|
|
|
|
&_orb_class_instance, ORB_PRIO_HIGH); |
|
|
|
|
} else { |
|
|
|
|
orb_publish(ORB_ID(distance_sensor), _distance_sensor_pub, &d); |
|
|
|
|
orb_publish(ORB_ID(distance_sensor), _flow_distance_sensor_pub, &d); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -517,11 +519,11 @@ MavlinkReceiver::handle_message_hil_optical_flow(mavlink_message_t *msg)
@@ -517,11 +519,11 @@ MavlinkReceiver::handle_message_hil_optical_flow(mavlink_message_t *msg)
|
|
|
|
|
d.orientation = 8; |
|
|
|
|
d.covariance = 0.0; |
|
|
|
|
|
|
|
|
|
if (_distance_sensor_pub == nullptr) { |
|
|
|
|
_distance_sensor_pub = orb_advertise_multi(ORB_ID(distance_sensor), &d, |
|
|
|
|
if (_hil_distance_sensor_pub == nullptr) { |
|
|
|
|
_hil_distance_sensor_pub = orb_advertise_multi(ORB_ID(distance_sensor), &d, |
|
|
|
|
&_orb_class_instance, ORB_PRIO_HIGH); |
|
|
|
|
} else { |
|
|
|
|
orb_publish(ORB_ID(distance_sensor), _distance_sensor_pub, &d); |
|
|
|
|
orb_publish(ORB_ID(distance_sensor), _hil_distance_sensor_pub, &d); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -574,7 +576,7 @@ MavlinkReceiver::handle_message_distance_sensor(mavlink_message_t *msg)
@@ -574,7 +576,7 @@ MavlinkReceiver::handle_message_distance_sensor(mavlink_message_t *msg)
|
|
|
|
|
d.max_distance = float(dist_sensor.max_distance) * 1e-2f; /* cm to m */ |
|
|
|
|
d.current_distance = float(dist_sensor.current_distance) * 1e-2f; /* cm to m */ |
|
|
|
|
d.type = dist_sensor.type; |
|
|
|
|
d.id = dist_sensor.id; |
|
|
|
|
d.id = MAV_DISTANCE_SENSOR_LASER; |
|
|
|
|
d.orientation = dist_sensor.orientation; |
|
|
|
|
d.covariance = dist_sensor.covariance; |
|
|
|
|
|
|
|
|
|