github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/pkg/dialects/ardupilotmega/enum_mav_mode_gimbal.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  type MAV_MODE_GIMBAL uint64
    11  
    12  const (
    13  	// Gimbal is powered on but has not started initializing yet.
    14  	MAV_MODE_GIMBAL_UNINITIALIZED MAV_MODE_GIMBAL = 0
    15  	// Gimbal is currently running calibration on the pitch axis.
    16  	MAV_MODE_GIMBAL_CALIBRATING_PITCH MAV_MODE_GIMBAL = 1
    17  	// Gimbal is currently running calibration on the roll axis.
    18  	MAV_MODE_GIMBAL_CALIBRATING_ROLL MAV_MODE_GIMBAL = 2
    19  	// Gimbal is currently running calibration on the yaw axis.
    20  	MAV_MODE_GIMBAL_CALIBRATING_YAW MAV_MODE_GIMBAL = 3
    21  	// Gimbal has finished calibrating and initializing, but is relaxed pending reception of first rate command from copter.
    22  	MAV_MODE_GIMBAL_INITIALIZED MAV_MODE_GIMBAL = 4
    23  	// Gimbal is actively stabilizing.
    24  	MAV_MODE_GIMBAL_ACTIVE MAV_MODE_GIMBAL = 5
    25  	// Gimbal is relaxed because it missed more than 10 expected rate command messages in a row. Gimbal will move back to active mode when it receives a new rate command.
    26  	MAV_MODE_GIMBAL_RATE_CMD_TIMEOUT MAV_MODE_GIMBAL = 6
    27  )
    28  
    29  var labels_MAV_MODE_GIMBAL = map[MAV_MODE_GIMBAL]string{
    30  	MAV_MODE_GIMBAL_UNINITIALIZED:     "MAV_MODE_GIMBAL_UNINITIALIZED",
    31  	MAV_MODE_GIMBAL_CALIBRATING_PITCH: "MAV_MODE_GIMBAL_CALIBRATING_PITCH",
    32  	MAV_MODE_GIMBAL_CALIBRATING_ROLL:  "MAV_MODE_GIMBAL_CALIBRATING_ROLL",
    33  	MAV_MODE_GIMBAL_CALIBRATING_YAW:   "MAV_MODE_GIMBAL_CALIBRATING_YAW",
    34  	MAV_MODE_GIMBAL_INITIALIZED:       "MAV_MODE_GIMBAL_INITIALIZED",
    35  	MAV_MODE_GIMBAL_ACTIVE:            "MAV_MODE_GIMBAL_ACTIVE",
    36  	MAV_MODE_GIMBAL_RATE_CMD_TIMEOUT:  "MAV_MODE_GIMBAL_RATE_CMD_TIMEOUT",
    37  }
    38  
    39  var values_MAV_MODE_GIMBAL = map[string]MAV_MODE_GIMBAL{
    40  	"MAV_MODE_GIMBAL_UNINITIALIZED":     MAV_MODE_GIMBAL_UNINITIALIZED,
    41  	"MAV_MODE_GIMBAL_CALIBRATING_PITCH": MAV_MODE_GIMBAL_CALIBRATING_PITCH,
    42  	"MAV_MODE_GIMBAL_CALIBRATING_ROLL":  MAV_MODE_GIMBAL_CALIBRATING_ROLL,
    43  	"MAV_MODE_GIMBAL_CALIBRATING_YAW":   MAV_MODE_GIMBAL_CALIBRATING_YAW,
    44  	"MAV_MODE_GIMBAL_INITIALIZED":       MAV_MODE_GIMBAL_INITIALIZED,
    45  	"MAV_MODE_GIMBAL_ACTIVE":            MAV_MODE_GIMBAL_ACTIVE,
    46  	"MAV_MODE_GIMBAL_RATE_CMD_TIMEOUT":  MAV_MODE_GIMBAL_RATE_CMD_TIMEOUT,
    47  }
    48  
    49  // MarshalText implements the encoding.TextMarshaler interface.
    50  func (e MAV_MODE_GIMBAL) MarshalText() ([]byte, error) {
    51  	if name, ok := labels_MAV_MODE_GIMBAL[e]; ok {
    52  		return []byte(name), nil
    53  	}
    54  	return []byte(strconv.Itoa(int(e))), nil
    55  }
    56  
    57  // UnmarshalText implements the encoding.TextUnmarshaler interface.
    58  func (e *MAV_MODE_GIMBAL) UnmarshalText(text []byte) error {
    59  	if value, ok := values_MAV_MODE_GIMBAL[string(text)]; ok {
    60  		*e = value
    61  	} else if value, err := strconv.Atoi(string(text)); err == nil {
    62  		*e = MAV_MODE_GIMBAL(value)
    63  	} else {
    64  		return fmt.Errorf("invalid label '%s'", text)
    65  	}
    66  	return nil
    67  }
    68  
    69  // String implements the fmt.Stringer interface.
    70  func (e MAV_MODE_GIMBAL) String() string {
    71  	val, _ := e.MarshalText()
    72  	return string(val)
    73  }