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  }