github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/pkg/dialects/avssuas/enum_avss_m300_operation_mode.go (about)

     1  //autogenerated:yes
     2  //nolint:revive,misspell,govet,lll,dupl,gocritic
     3  package avssuas
     4  
     5  import (
     6  	"fmt"
     7  	"strconv"
     8  )
     9  
    10  type AVSS_M300_OPERATION_MODE uint64
    11  
    12  const (
    13  	// In manual control mode
    14  	MODE_M300_MANUAL_CTRL AVSS_M300_OPERATION_MODE = 0
    15  	// In attitude mode
    16  	MODE_M300_ATTITUDE AVSS_M300_OPERATION_MODE = 1
    17  	// In GPS mode
    18  	MODE_M300_P_GPS AVSS_M300_OPERATION_MODE = 6
    19  	// In hotpoint mode
    20  	MODE_M300_HOTPOINT_MODE AVSS_M300_OPERATION_MODE = 9
    21  	// In assisted takeoff mode
    22  	MODE_M300_ASSISTED_TAKEOFF AVSS_M300_OPERATION_MODE = 10
    23  	// In auto takeoff mode
    24  	MODE_M300_AUTO_TAKEOFF AVSS_M300_OPERATION_MODE = 11
    25  	// In auto landing mode
    26  	MODE_M300_AUTO_LANDING AVSS_M300_OPERATION_MODE = 12
    27  	// In go home mode
    28  	MODE_M300_NAVI_GO_HOME AVSS_M300_OPERATION_MODE = 15
    29  	// In sdk control mode
    30  	MODE_M300_NAVI_SDK_CTRL AVSS_M300_OPERATION_MODE = 17
    31  	// In sport mode
    32  	MODE_M300_S_SPORT AVSS_M300_OPERATION_MODE = 31
    33  	// In force auto landing mode
    34  	MODE_M300_FORCE_AUTO_LANDING AVSS_M300_OPERATION_MODE = 33
    35  	// In tripod mode
    36  	MODE_M300_T_TRIPOD AVSS_M300_OPERATION_MODE = 38
    37  	// In search mode
    38  	MODE_M300_SEARCH_MODE AVSS_M300_OPERATION_MODE = 40
    39  	// In engine mode
    40  	MODE_M300_ENGINE_START AVSS_M300_OPERATION_MODE = 41
    41  )
    42  
    43  var labels_AVSS_M300_OPERATION_MODE = map[AVSS_M300_OPERATION_MODE]string{
    44  	MODE_M300_MANUAL_CTRL:        "MODE_M300_MANUAL_CTRL",
    45  	MODE_M300_ATTITUDE:           "MODE_M300_ATTITUDE",
    46  	MODE_M300_P_GPS:              "MODE_M300_P_GPS",
    47  	MODE_M300_HOTPOINT_MODE:      "MODE_M300_HOTPOINT_MODE",
    48  	MODE_M300_ASSISTED_TAKEOFF:   "MODE_M300_ASSISTED_TAKEOFF",
    49  	MODE_M300_AUTO_TAKEOFF:       "MODE_M300_AUTO_TAKEOFF",
    50  	MODE_M300_AUTO_LANDING:       "MODE_M300_AUTO_LANDING",
    51  	MODE_M300_NAVI_GO_HOME:       "MODE_M300_NAVI_GO_HOME",
    52  	MODE_M300_NAVI_SDK_CTRL:      "MODE_M300_NAVI_SDK_CTRL",
    53  	MODE_M300_S_SPORT:            "MODE_M300_S_SPORT",
    54  	MODE_M300_FORCE_AUTO_LANDING: "MODE_M300_FORCE_AUTO_LANDING",
    55  	MODE_M300_T_TRIPOD:           "MODE_M300_T_TRIPOD",
    56  	MODE_M300_SEARCH_MODE:        "MODE_M300_SEARCH_MODE",
    57  	MODE_M300_ENGINE_START:       "MODE_M300_ENGINE_START",
    58  }
    59  
    60  var values_AVSS_M300_OPERATION_MODE = map[string]AVSS_M300_OPERATION_MODE{
    61  	"MODE_M300_MANUAL_CTRL":        MODE_M300_MANUAL_CTRL,
    62  	"MODE_M300_ATTITUDE":           MODE_M300_ATTITUDE,
    63  	"MODE_M300_P_GPS":              MODE_M300_P_GPS,
    64  	"MODE_M300_HOTPOINT_MODE":      MODE_M300_HOTPOINT_MODE,
    65  	"MODE_M300_ASSISTED_TAKEOFF":   MODE_M300_ASSISTED_TAKEOFF,
    66  	"MODE_M300_AUTO_TAKEOFF":       MODE_M300_AUTO_TAKEOFF,
    67  	"MODE_M300_AUTO_LANDING":       MODE_M300_AUTO_LANDING,
    68  	"MODE_M300_NAVI_GO_HOME":       MODE_M300_NAVI_GO_HOME,
    69  	"MODE_M300_NAVI_SDK_CTRL":      MODE_M300_NAVI_SDK_CTRL,
    70  	"MODE_M300_S_SPORT":            MODE_M300_S_SPORT,
    71  	"MODE_M300_FORCE_AUTO_LANDING": MODE_M300_FORCE_AUTO_LANDING,
    72  	"MODE_M300_T_TRIPOD":           MODE_M300_T_TRIPOD,
    73  	"MODE_M300_SEARCH_MODE":        MODE_M300_SEARCH_MODE,
    74  	"MODE_M300_ENGINE_START":       MODE_M300_ENGINE_START,
    75  }
    76  
    77  // MarshalText implements the encoding.TextMarshaler interface.
    78  func (e AVSS_M300_OPERATION_MODE) MarshalText() ([]byte, error) {
    79  	if name, ok := labels_AVSS_M300_OPERATION_MODE[e]; ok {
    80  		return []byte(name), nil
    81  	}
    82  	return []byte(strconv.Itoa(int(e))), nil
    83  }
    84  
    85  // UnmarshalText implements the encoding.TextUnmarshaler interface.
    86  func (e *AVSS_M300_OPERATION_MODE) UnmarshalText(text []byte) error {
    87  	if value, ok := values_AVSS_M300_OPERATION_MODE[string(text)]; ok {
    88  		*e = value
    89  	} else if value, err := strconv.Atoi(string(text)); err == nil {
    90  		*e = AVSS_M300_OPERATION_MODE(value)
    91  	} else {
    92  		return fmt.Errorf("invalid label '%s'", text)
    93  	}
    94  	return nil
    95  }
    96  
    97  // String implements the fmt.Stringer interface.
    98  func (e AVSS_M300_OPERATION_MODE) String() string {
    99  	val, _ := e.MarshalText()
   100  	return string(val)
   101  }