github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/pkg/dialects/asluav/message_gimbal_device_attitude_status.go (about) 1 //autogenerated:yes 2 //nolint:revive,misspell,govet,lll 3 package asluav 4 5 import ( 6 "github.com/bluenviron/gomavlib/v2/pkg/dialects/common" 7 ) 8 9 // Message reporting the status of a gimbal device. 10 // This message should be broadcast by a gimbal device component at a low regular rate (e.g. 5 Hz). 11 // For the angles encoded in the quaternion and the angular velocities holds: 12 // If the flag GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME is set, then they are relative to the vehicle heading (vehicle frame). 13 // If the flag GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME is set, then they are relative to absolute North (earth frame). 14 // If neither of these flags are set, then (for backwards compatibility) it holds: 15 // If the flag GIMBAL_DEVICE_FLAGS_YAW_LOCK is set, then they are relative to absolute North (earth frame), 16 // else they are relative to the vehicle heading (vehicle frame). 17 // Other conditions of the flags are not allowed. 18 // The quaternion and angular velocities in the other frame can be calculated from delta_yaw and delta_yaw_velocity as 19 // q_earth = q_delta_yaw * q_vehicle and w_earth = w_delta_yaw_velocity + w_vehicle (if not NaN). 20 // If neither the GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME nor the GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME flag is set, 21 // then (for backwards compatibility) the data in the delta_yaw and delta_yaw_velocity fields are to be ignored. 22 // New implementations should always set either GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME or GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME, 23 // and always should set delta_yaw and delta_yaw_velocity either to the proper value or NaN. 24 type MessageGimbalDeviceAttitudeStatus = common.MessageGimbalDeviceAttitudeStatus