gimbal: fix device flags for RC gimbals

This commit is contained in:
Julian Oes 2024-10-30 10:43:27 +13:00 committed by Beat Küng
parent e320593983
commit 6509e70306

View File

@ -96,10 +96,19 @@ void OutputRC::_stream_device_attitude_status()
attitude_status.timestamp = hrt_absolute_time();
attitude_status.target_system = 0;
attitude_status.target_component = 0;
attitude_status.device_flags = gimbal_device_attitude_status_s::DEVICE_FLAGS_NEUTRAL |
gimbal_device_attitude_status_s::DEVICE_FLAGS_ROLL_LOCK |
gimbal_device_attitude_status_s::DEVICE_FLAGS_PITCH_LOCK |
gimbal_device_attitude_status_s::DEVICE_FLAGS_YAW_LOCK;
attitude_status.device_flags = 0;
if (_absolute_angle[0]) {
attitude_status.device_flags |= gimbal_device_attitude_status_s::DEVICE_FLAGS_ROLL_LOCK;
}
if (_absolute_angle[1]) {
attitude_status.device_flags |= gimbal_device_attitude_status_s::DEVICE_FLAGS_PITCH_LOCK;
}
if (_absolute_angle[2]) {
attitude_status.device_flags |= gimbal_device_attitude_status_s::DEVICE_FLAGS_YAW_LOCK;
}
matrix::Eulerf euler(_angle_outputs[0], _angle_outputs[1], _angle_outputs[2]);
matrix::Quatf q(euler);