github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/pkg/dialects/ardupilotmega/enum_plane_mode.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 // A mapping of plane flight modes for custom_mode field of heartbeat. 11 type PLANE_MODE uint64 12 13 const ( 14 PLANE_MODE_MANUAL PLANE_MODE = 0 15 PLANE_MODE_CIRCLE PLANE_MODE = 1 16 PLANE_MODE_STABILIZE PLANE_MODE = 2 17 PLANE_MODE_TRAINING PLANE_MODE = 3 18 PLANE_MODE_ACRO PLANE_MODE = 4 19 PLANE_MODE_FLY_BY_WIRE_A PLANE_MODE = 5 20 PLANE_MODE_FLY_BY_WIRE_B PLANE_MODE = 6 21 PLANE_MODE_CRUISE PLANE_MODE = 7 22 PLANE_MODE_AUTOTUNE PLANE_MODE = 8 23 PLANE_MODE_AUTO PLANE_MODE = 10 24 PLANE_MODE_RTL PLANE_MODE = 11 25 PLANE_MODE_LOITER PLANE_MODE = 12 26 PLANE_MODE_TAKEOFF PLANE_MODE = 13 27 PLANE_MODE_AVOID_ADSB PLANE_MODE = 14 28 PLANE_MODE_GUIDED PLANE_MODE = 15 29 PLANE_MODE_INITIALIZING PLANE_MODE = 16 30 PLANE_MODE_QSTABILIZE PLANE_MODE = 17 31 PLANE_MODE_QHOVER PLANE_MODE = 18 32 PLANE_MODE_QLOITER PLANE_MODE = 19 33 PLANE_MODE_QLAND PLANE_MODE = 20 34 PLANE_MODE_QRTL PLANE_MODE = 21 35 PLANE_MODE_QAUTOTUNE PLANE_MODE = 22 36 PLANE_MODE_QACRO PLANE_MODE = 23 37 PLANE_MODE_THERMAL PLANE_MODE = 24 38 ) 39 40 var labels_PLANE_MODE = map[PLANE_MODE]string{ 41 PLANE_MODE_MANUAL: "PLANE_MODE_MANUAL", 42 PLANE_MODE_CIRCLE: "PLANE_MODE_CIRCLE", 43 PLANE_MODE_STABILIZE: "PLANE_MODE_STABILIZE", 44 PLANE_MODE_TRAINING: "PLANE_MODE_TRAINING", 45 PLANE_MODE_ACRO: "PLANE_MODE_ACRO", 46 PLANE_MODE_FLY_BY_WIRE_A: "PLANE_MODE_FLY_BY_WIRE_A", 47 PLANE_MODE_FLY_BY_WIRE_B: "PLANE_MODE_FLY_BY_WIRE_B", 48 PLANE_MODE_CRUISE: "PLANE_MODE_CRUISE", 49 PLANE_MODE_AUTOTUNE: "PLANE_MODE_AUTOTUNE", 50 PLANE_MODE_AUTO: "PLANE_MODE_AUTO", 51 PLANE_MODE_RTL: "PLANE_MODE_RTL", 52 PLANE_MODE_LOITER: "PLANE_MODE_LOITER", 53 PLANE_MODE_TAKEOFF: "PLANE_MODE_TAKEOFF", 54 PLANE_MODE_AVOID_ADSB: "PLANE_MODE_AVOID_ADSB", 55 PLANE_MODE_GUIDED: "PLANE_MODE_GUIDED", 56 PLANE_MODE_INITIALIZING: "PLANE_MODE_INITIALIZING", 57 PLANE_MODE_QSTABILIZE: "PLANE_MODE_QSTABILIZE", 58 PLANE_MODE_QHOVER: "PLANE_MODE_QHOVER", 59 PLANE_MODE_QLOITER: "PLANE_MODE_QLOITER", 60 PLANE_MODE_QLAND: "PLANE_MODE_QLAND", 61 PLANE_MODE_QRTL: "PLANE_MODE_QRTL", 62 PLANE_MODE_QAUTOTUNE: "PLANE_MODE_QAUTOTUNE", 63 PLANE_MODE_QACRO: "PLANE_MODE_QACRO", 64 PLANE_MODE_THERMAL: "PLANE_MODE_THERMAL", 65 } 66 67 var values_PLANE_MODE = map[string]PLANE_MODE{ 68 "PLANE_MODE_MANUAL": PLANE_MODE_MANUAL, 69 "PLANE_MODE_CIRCLE": PLANE_MODE_CIRCLE, 70 "PLANE_MODE_STABILIZE": PLANE_MODE_STABILIZE, 71 "PLANE_MODE_TRAINING": PLANE_MODE_TRAINING, 72 "PLANE_MODE_ACRO": PLANE_MODE_ACRO, 73 "PLANE_MODE_FLY_BY_WIRE_A": PLANE_MODE_FLY_BY_WIRE_A, 74 "PLANE_MODE_FLY_BY_WIRE_B": PLANE_MODE_FLY_BY_WIRE_B, 75 "PLANE_MODE_CRUISE": PLANE_MODE_CRUISE, 76 "PLANE_MODE_AUTOTUNE": PLANE_MODE_AUTOTUNE, 77 "PLANE_MODE_AUTO": PLANE_MODE_AUTO, 78 "PLANE_MODE_RTL": PLANE_MODE_RTL, 79 "PLANE_MODE_LOITER": PLANE_MODE_LOITER, 80 "PLANE_MODE_TAKEOFF": PLANE_MODE_TAKEOFF, 81 "PLANE_MODE_AVOID_ADSB": PLANE_MODE_AVOID_ADSB, 82 "PLANE_MODE_GUIDED": PLANE_MODE_GUIDED, 83 "PLANE_MODE_INITIALIZING": PLANE_MODE_INITIALIZING, 84 "PLANE_MODE_QSTABILIZE": PLANE_MODE_QSTABILIZE, 85 "PLANE_MODE_QHOVER": PLANE_MODE_QHOVER, 86 "PLANE_MODE_QLOITER": PLANE_MODE_QLOITER, 87 "PLANE_MODE_QLAND": PLANE_MODE_QLAND, 88 "PLANE_MODE_QRTL": PLANE_MODE_QRTL, 89 "PLANE_MODE_QAUTOTUNE": PLANE_MODE_QAUTOTUNE, 90 "PLANE_MODE_QACRO": PLANE_MODE_QACRO, 91 "PLANE_MODE_THERMAL": PLANE_MODE_THERMAL, 92 } 93 94 // MarshalText implements the encoding.TextMarshaler interface. 95 func (e PLANE_MODE) MarshalText() ([]byte, error) { 96 if name, ok := labels_PLANE_MODE[e]; ok { 97 return []byte(name), nil 98 } 99 return []byte(strconv.Itoa(int(e))), nil 100 } 101 102 // UnmarshalText implements the encoding.TextUnmarshaler interface. 103 func (e *PLANE_MODE) UnmarshalText(text []byte) error { 104 if value, ok := values_PLANE_MODE[string(text)]; ok { 105 *e = value 106 } else if value, err := strconv.Atoi(string(text)); err == nil { 107 *e = PLANE_MODE(value) 108 } else { 109 return fmt.Errorf("invalid label '%s'", text) 110 } 111 return nil 112 } 113 114 // String implements the fmt.Stringer interface. 115 func (e PLANE_MODE) String() string { 116 val, _ := e.MarshalText() 117 return string(val) 118 }