github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/pkg/dialects/storm32/enum_mav_qshot_mode.go (about) 1 //autogenerated:yes 2 //nolint:revive,misspell,govet,lll,dupl,gocritic 3 package storm32 4 5 import ( 6 "fmt" 7 "strconv" 8 ) 9 10 // Enumeration of possible shot modes. 11 type MAV_QSHOT_MODE uint64 12 13 const ( 14 // Undefined shot mode. Can be used to determine if qshots should be used or not. 15 MAV_QSHOT_MODE_UNDEFINED MAV_QSHOT_MODE = 0 16 // Start normal gimbal operation. Is usually used to return back from a shot. 17 MAV_QSHOT_MODE_DEFAULT MAV_QSHOT_MODE = 1 18 // Load and keep safe gimbal position and stop stabilization. 19 MAV_QSHOT_MODE_GIMBAL_RETRACT MAV_QSHOT_MODE = 2 20 // Load neutral gimbal position and keep it while stabilizing. 21 MAV_QSHOT_MODE_GIMBAL_NEUTRAL MAV_QSHOT_MODE = 3 22 // Start mission with gimbal control. 23 MAV_QSHOT_MODE_GIMBAL_MISSION MAV_QSHOT_MODE = 4 24 // Start RC gimbal control. 25 MAV_QSHOT_MODE_GIMBAL_RC_CONTROL MAV_QSHOT_MODE = 5 26 // Start gimbal tracking the point specified by Lat, Lon, Alt. 27 MAV_QSHOT_MODE_POI_TARGETING MAV_QSHOT_MODE = 6 28 // Start gimbal tracking the system with specified system ID. 29 MAV_QSHOT_MODE_SYSID_TARGETING MAV_QSHOT_MODE = 7 30 // Start 2-point cable cam quick shot. 31 MAV_QSHOT_MODE_CABLECAM_2POINT MAV_QSHOT_MODE = 8 32 // Start gimbal tracking the home location. 33 MAV_QSHOT_MODE_HOME_TARGETING MAV_QSHOT_MODE = 9 34 ) 35 36 var labels_MAV_QSHOT_MODE = map[MAV_QSHOT_MODE]string{ 37 MAV_QSHOT_MODE_UNDEFINED: "MAV_QSHOT_MODE_UNDEFINED", 38 MAV_QSHOT_MODE_DEFAULT: "MAV_QSHOT_MODE_DEFAULT", 39 MAV_QSHOT_MODE_GIMBAL_RETRACT: "MAV_QSHOT_MODE_GIMBAL_RETRACT", 40 MAV_QSHOT_MODE_GIMBAL_NEUTRAL: "MAV_QSHOT_MODE_GIMBAL_NEUTRAL", 41 MAV_QSHOT_MODE_GIMBAL_MISSION: "MAV_QSHOT_MODE_GIMBAL_MISSION", 42 MAV_QSHOT_MODE_GIMBAL_RC_CONTROL: "MAV_QSHOT_MODE_GIMBAL_RC_CONTROL", 43 MAV_QSHOT_MODE_POI_TARGETING: "MAV_QSHOT_MODE_POI_TARGETING", 44 MAV_QSHOT_MODE_SYSID_TARGETING: "MAV_QSHOT_MODE_SYSID_TARGETING", 45 MAV_QSHOT_MODE_CABLECAM_2POINT: "MAV_QSHOT_MODE_CABLECAM_2POINT", 46 MAV_QSHOT_MODE_HOME_TARGETING: "MAV_QSHOT_MODE_HOME_TARGETING", 47 } 48 49 var values_MAV_QSHOT_MODE = map[string]MAV_QSHOT_MODE{ 50 "MAV_QSHOT_MODE_UNDEFINED": MAV_QSHOT_MODE_UNDEFINED, 51 "MAV_QSHOT_MODE_DEFAULT": MAV_QSHOT_MODE_DEFAULT, 52 "MAV_QSHOT_MODE_GIMBAL_RETRACT": MAV_QSHOT_MODE_GIMBAL_RETRACT, 53 "MAV_QSHOT_MODE_GIMBAL_NEUTRAL": MAV_QSHOT_MODE_GIMBAL_NEUTRAL, 54 "MAV_QSHOT_MODE_GIMBAL_MISSION": MAV_QSHOT_MODE_GIMBAL_MISSION, 55 "MAV_QSHOT_MODE_GIMBAL_RC_CONTROL": MAV_QSHOT_MODE_GIMBAL_RC_CONTROL, 56 "MAV_QSHOT_MODE_POI_TARGETING": MAV_QSHOT_MODE_POI_TARGETING, 57 "MAV_QSHOT_MODE_SYSID_TARGETING": MAV_QSHOT_MODE_SYSID_TARGETING, 58 "MAV_QSHOT_MODE_CABLECAM_2POINT": MAV_QSHOT_MODE_CABLECAM_2POINT, 59 "MAV_QSHOT_MODE_HOME_TARGETING": MAV_QSHOT_MODE_HOME_TARGETING, 60 } 61 62 // MarshalText implements the encoding.TextMarshaler interface. 63 func (e MAV_QSHOT_MODE) MarshalText() ([]byte, error) { 64 if name, ok := labels_MAV_QSHOT_MODE[e]; ok { 65 return []byte(name), nil 66 } 67 return []byte(strconv.Itoa(int(e))), nil 68 } 69 70 // UnmarshalText implements the encoding.TextUnmarshaler interface. 71 func (e *MAV_QSHOT_MODE) UnmarshalText(text []byte) error { 72 if value, ok := values_MAV_QSHOT_MODE[string(text)]; ok { 73 *e = value 74 } else if value, err := strconv.Atoi(string(text)); err == nil { 75 *e = MAV_QSHOT_MODE(value) 76 } else { 77 return fmt.Errorf("invalid label '%s'", text) 78 } 79 return nil 80 } 81 82 // String implements the fmt.Stringer interface. 83 func (e MAV_QSHOT_MODE) String() string { 84 val, _ := e.MarshalText() 85 return string(val) 86 }