github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/pkg/dialects/ardupilotmega/enum_copter_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 copter flight modes for custom_mode field of heartbeat.
    11  type COPTER_MODE uint64
    12  
    13  const (
    14  	COPTER_MODE_STABILIZE    COPTER_MODE = 0
    15  	COPTER_MODE_ACRO         COPTER_MODE = 1
    16  	COPTER_MODE_ALT_HOLD     COPTER_MODE = 2
    17  	COPTER_MODE_AUTO         COPTER_MODE = 3
    18  	COPTER_MODE_GUIDED       COPTER_MODE = 4
    19  	COPTER_MODE_LOITER       COPTER_MODE = 5
    20  	COPTER_MODE_RTL          COPTER_MODE = 6
    21  	COPTER_MODE_CIRCLE       COPTER_MODE = 7
    22  	COPTER_MODE_LAND         COPTER_MODE = 9
    23  	COPTER_MODE_DRIFT        COPTER_MODE = 11
    24  	COPTER_MODE_SPORT        COPTER_MODE = 13
    25  	COPTER_MODE_FLIP         COPTER_MODE = 14
    26  	COPTER_MODE_AUTOTUNE     COPTER_MODE = 15
    27  	COPTER_MODE_POSHOLD      COPTER_MODE = 16
    28  	COPTER_MODE_BRAKE        COPTER_MODE = 17
    29  	COPTER_MODE_THROW        COPTER_MODE = 18
    30  	COPTER_MODE_AVOID_ADSB   COPTER_MODE = 19
    31  	COPTER_MODE_GUIDED_NOGPS COPTER_MODE = 20
    32  	COPTER_MODE_SMART_RTL    COPTER_MODE = 21
    33  	COPTER_MODE_FLOWHOLD     COPTER_MODE = 22
    34  	COPTER_MODE_FOLLOW       COPTER_MODE = 23
    35  	COPTER_MODE_ZIGZAG       COPTER_MODE = 24
    36  	COPTER_MODE_SYSTEMID     COPTER_MODE = 25
    37  	COPTER_MODE_AUTOROTATE   COPTER_MODE = 26
    38  	COPTER_MODE_AUTO_RTL     COPTER_MODE = 27
    39  )
    40  
    41  var labels_COPTER_MODE = map[COPTER_MODE]string{
    42  	COPTER_MODE_STABILIZE:    "COPTER_MODE_STABILIZE",
    43  	COPTER_MODE_ACRO:         "COPTER_MODE_ACRO",
    44  	COPTER_MODE_ALT_HOLD:     "COPTER_MODE_ALT_HOLD",
    45  	COPTER_MODE_AUTO:         "COPTER_MODE_AUTO",
    46  	COPTER_MODE_GUIDED:       "COPTER_MODE_GUIDED",
    47  	COPTER_MODE_LOITER:       "COPTER_MODE_LOITER",
    48  	COPTER_MODE_RTL:          "COPTER_MODE_RTL",
    49  	COPTER_MODE_CIRCLE:       "COPTER_MODE_CIRCLE",
    50  	COPTER_MODE_LAND:         "COPTER_MODE_LAND",
    51  	COPTER_MODE_DRIFT:        "COPTER_MODE_DRIFT",
    52  	COPTER_MODE_SPORT:        "COPTER_MODE_SPORT",
    53  	COPTER_MODE_FLIP:         "COPTER_MODE_FLIP",
    54  	COPTER_MODE_AUTOTUNE:     "COPTER_MODE_AUTOTUNE",
    55  	COPTER_MODE_POSHOLD:      "COPTER_MODE_POSHOLD",
    56  	COPTER_MODE_BRAKE:        "COPTER_MODE_BRAKE",
    57  	COPTER_MODE_THROW:        "COPTER_MODE_THROW",
    58  	COPTER_MODE_AVOID_ADSB:   "COPTER_MODE_AVOID_ADSB",
    59  	COPTER_MODE_GUIDED_NOGPS: "COPTER_MODE_GUIDED_NOGPS",
    60  	COPTER_MODE_SMART_RTL:    "COPTER_MODE_SMART_RTL",
    61  	COPTER_MODE_FLOWHOLD:     "COPTER_MODE_FLOWHOLD",
    62  	COPTER_MODE_FOLLOW:       "COPTER_MODE_FOLLOW",
    63  	COPTER_MODE_ZIGZAG:       "COPTER_MODE_ZIGZAG",
    64  	COPTER_MODE_SYSTEMID:     "COPTER_MODE_SYSTEMID",
    65  	COPTER_MODE_AUTOROTATE:   "COPTER_MODE_AUTOROTATE",
    66  	COPTER_MODE_AUTO_RTL:     "COPTER_MODE_AUTO_RTL",
    67  }
    68  
    69  var values_COPTER_MODE = map[string]COPTER_MODE{
    70  	"COPTER_MODE_STABILIZE":    COPTER_MODE_STABILIZE,
    71  	"COPTER_MODE_ACRO":         COPTER_MODE_ACRO,
    72  	"COPTER_MODE_ALT_HOLD":     COPTER_MODE_ALT_HOLD,
    73  	"COPTER_MODE_AUTO":         COPTER_MODE_AUTO,
    74  	"COPTER_MODE_GUIDED":       COPTER_MODE_GUIDED,
    75  	"COPTER_MODE_LOITER":       COPTER_MODE_LOITER,
    76  	"COPTER_MODE_RTL":          COPTER_MODE_RTL,
    77  	"COPTER_MODE_CIRCLE":       COPTER_MODE_CIRCLE,
    78  	"COPTER_MODE_LAND":         COPTER_MODE_LAND,
    79  	"COPTER_MODE_DRIFT":        COPTER_MODE_DRIFT,
    80  	"COPTER_MODE_SPORT":        COPTER_MODE_SPORT,
    81  	"COPTER_MODE_FLIP":         COPTER_MODE_FLIP,
    82  	"COPTER_MODE_AUTOTUNE":     COPTER_MODE_AUTOTUNE,
    83  	"COPTER_MODE_POSHOLD":      COPTER_MODE_POSHOLD,
    84  	"COPTER_MODE_BRAKE":        COPTER_MODE_BRAKE,
    85  	"COPTER_MODE_THROW":        COPTER_MODE_THROW,
    86  	"COPTER_MODE_AVOID_ADSB":   COPTER_MODE_AVOID_ADSB,
    87  	"COPTER_MODE_GUIDED_NOGPS": COPTER_MODE_GUIDED_NOGPS,
    88  	"COPTER_MODE_SMART_RTL":    COPTER_MODE_SMART_RTL,
    89  	"COPTER_MODE_FLOWHOLD":     COPTER_MODE_FLOWHOLD,
    90  	"COPTER_MODE_FOLLOW":       COPTER_MODE_FOLLOW,
    91  	"COPTER_MODE_ZIGZAG":       COPTER_MODE_ZIGZAG,
    92  	"COPTER_MODE_SYSTEMID":     COPTER_MODE_SYSTEMID,
    93  	"COPTER_MODE_AUTOROTATE":   COPTER_MODE_AUTOROTATE,
    94  	"COPTER_MODE_AUTO_RTL":     COPTER_MODE_AUTO_RTL,
    95  }
    96  
    97  // MarshalText implements the encoding.TextMarshaler interface.
    98  func (e COPTER_MODE) MarshalText() ([]byte, error) {
    99  	if name, ok := labels_COPTER_MODE[e]; ok {
   100  		return []byte(name), nil
   101  	}
   102  	return []byte(strconv.Itoa(int(e))), nil
   103  }
   104  
   105  // UnmarshalText implements the encoding.TextUnmarshaler interface.
   106  func (e *COPTER_MODE) UnmarshalText(text []byte) error {
   107  	if value, ok := values_COPTER_MODE[string(text)]; ok {
   108  		*e = value
   109  	} else if value, err := strconv.Atoi(string(text)); err == nil {
   110  		*e = COPTER_MODE(value)
   111  	} else {
   112  		return fmt.Errorf("invalid label '%s'", text)
   113  	}
   114  	return nil
   115  }
   116  
   117  // String implements the fmt.Stringer interface.
   118  func (e COPTER_MODE) String() string {
   119  	val, _ := e.MarshalText()
   120  	return string(val)
   121  }