github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/pkg/dialects/ardupilotmega/enum_mav_mode_gimbal.go (about) 1 //autogenerated:yes 2 //nolint:revive,misspell,govet,lll,dupl,gocritic 3 package ardupilotmega 4 5 import ( 6 "fmt" 7 "strconv" 8 ) 9 10 type MAV_MODE_GIMBAL uint64 11 12 const ( 13 // Gimbal is powered on but has not started initializing yet. 14 MAV_MODE_GIMBAL_UNINITIALIZED MAV_MODE_GIMBAL = 0 15 // Gimbal is currently running calibration on the pitch axis. 16 MAV_MODE_GIMBAL_CALIBRATING_PITCH MAV_MODE_GIMBAL = 1 17 // Gimbal is currently running calibration on the roll axis. 18 MAV_MODE_GIMBAL_CALIBRATING_ROLL MAV_MODE_GIMBAL = 2 19 // Gimbal is currently running calibration on the yaw axis. 20 MAV_MODE_GIMBAL_CALIBRATING_YAW MAV_MODE_GIMBAL = 3 21 // Gimbal has finished calibrating and initializing, but is relaxed pending reception of first rate command from copter. 22 MAV_MODE_GIMBAL_INITIALIZED MAV_MODE_GIMBAL = 4 23 // Gimbal is actively stabilizing. 24 MAV_MODE_GIMBAL_ACTIVE MAV_MODE_GIMBAL = 5 25 // Gimbal is relaxed because it missed more than 10 expected rate command messages in a row. Gimbal will move back to active mode when it receives a new rate command. 26 MAV_MODE_GIMBAL_RATE_CMD_TIMEOUT MAV_MODE_GIMBAL = 6 27 ) 28 29 var labels_MAV_MODE_GIMBAL = map[MAV_MODE_GIMBAL]string{ 30 MAV_MODE_GIMBAL_UNINITIALIZED: "MAV_MODE_GIMBAL_UNINITIALIZED", 31 MAV_MODE_GIMBAL_CALIBRATING_PITCH: "MAV_MODE_GIMBAL_CALIBRATING_PITCH", 32 MAV_MODE_GIMBAL_CALIBRATING_ROLL: "MAV_MODE_GIMBAL_CALIBRATING_ROLL", 33 MAV_MODE_GIMBAL_CALIBRATING_YAW: "MAV_MODE_GIMBAL_CALIBRATING_YAW", 34 MAV_MODE_GIMBAL_INITIALIZED: "MAV_MODE_GIMBAL_INITIALIZED", 35 MAV_MODE_GIMBAL_ACTIVE: "MAV_MODE_GIMBAL_ACTIVE", 36 MAV_MODE_GIMBAL_RATE_CMD_TIMEOUT: "MAV_MODE_GIMBAL_RATE_CMD_TIMEOUT", 37 } 38 39 var values_MAV_MODE_GIMBAL = map[string]MAV_MODE_GIMBAL{ 40 "MAV_MODE_GIMBAL_UNINITIALIZED": MAV_MODE_GIMBAL_UNINITIALIZED, 41 "MAV_MODE_GIMBAL_CALIBRATING_PITCH": MAV_MODE_GIMBAL_CALIBRATING_PITCH, 42 "MAV_MODE_GIMBAL_CALIBRATING_ROLL": MAV_MODE_GIMBAL_CALIBRATING_ROLL, 43 "MAV_MODE_GIMBAL_CALIBRATING_YAW": MAV_MODE_GIMBAL_CALIBRATING_YAW, 44 "MAV_MODE_GIMBAL_INITIALIZED": MAV_MODE_GIMBAL_INITIALIZED, 45 "MAV_MODE_GIMBAL_ACTIVE": MAV_MODE_GIMBAL_ACTIVE, 46 "MAV_MODE_GIMBAL_RATE_CMD_TIMEOUT": MAV_MODE_GIMBAL_RATE_CMD_TIMEOUT, 47 } 48 49 // MarshalText implements the encoding.TextMarshaler interface. 50 func (e MAV_MODE_GIMBAL) MarshalText() ([]byte, error) { 51 if name, ok := labels_MAV_MODE_GIMBAL[e]; ok { 52 return []byte(name), nil 53 } 54 return []byte(strconv.Itoa(int(e))), nil 55 } 56 57 // UnmarshalText implements the encoding.TextUnmarshaler interface. 58 func (e *MAV_MODE_GIMBAL) UnmarshalText(text []byte) error { 59 if value, ok := values_MAV_MODE_GIMBAL[string(text)]; ok { 60 *e = value 61 } else if value, err := strconv.Atoi(string(text)); err == nil { 62 *e = MAV_MODE_GIMBAL(value) 63 } else { 64 return fmt.Errorf("invalid label '%s'", text) 65 } 66 return nil 67 } 68 69 // String implements the fmt.Stringer interface. 70 func (e MAV_MODE_GIMBAL) String() string { 71 val, _ := e.MarshalText() 72 return string(val) 73 }