github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/pkg/dialects/ardupilotmega/enum_gopro_burst_rate.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 GOPRO_BURST_RATE uint64
    11  
    12  const (
    13  	// 3 Shots / 1 Second.
    14  	GOPRO_BURST_RATE_3_IN_1_SECOND GOPRO_BURST_RATE = 0
    15  	// 5 Shots / 1 Second.
    16  	GOPRO_BURST_RATE_5_IN_1_SECOND GOPRO_BURST_RATE = 1
    17  	// 10 Shots / 1 Second.
    18  	GOPRO_BURST_RATE_10_IN_1_SECOND GOPRO_BURST_RATE = 2
    19  	// 10 Shots / 2 Second.
    20  	GOPRO_BURST_RATE_10_IN_2_SECOND GOPRO_BURST_RATE = 3
    21  	// 10 Shots / 3 Second (Hero 4 Only).
    22  	GOPRO_BURST_RATE_10_IN_3_SECOND GOPRO_BURST_RATE = 4
    23  	// 30 Shots / 1 Second.
    24  	GOPRO_BURST_RATE_30_IN_1_SECOND GOPRO_BURST_RATE = 5
    25  	// 30 Shots / 2 Second.
    26  	GOPRO_BURST_RATE_30_IN_2_SECOND GOPRO_BURST_RATE = 6
    27  	// 30 Shots / 3 Second.
    28  	GOPRO_BURST_RATE_30_IN_3_SECOND GOPRO_BURST_RATE = 7
    29  	// 30 Shots / 6 Second.
    30  	GOPRO_BURST_RATE_30_IN_6_SECOND GOPRO_BURST_RATE = 8
    31  )
    32  
    33  var labels_GOPRO_BURST_RATE = map[GOPRO_BURST_RATE]string{
    34  	GOPRO_BURST_RATE_3_IN_1_SECOND:  "GOPRO_BURST_RATE_3_IN_1_SECOND",
    35  	GOPRO_BURST_RATE_5_IN_1_SECOND:  "GOPRO_BURST_RATE_5_IN_1_SECOND",
    36  	GOPRO_BURST_RATE_10_IN_1_SECOND: "GOPRO_BURST_RATE_10_IN_1_SECOND",
    37  	GOPRO_BURST_RATE_10_IN_2_SECOND: "GOPRO_BURST_RATE_10_IN_2_SECOND",
    38  	GOPRO_BURST_RATE_10_IN_3_SECOND: "GOPRO_BURST_RATE_10_IN_3_SECOND",
    39  	GOPRO_BURST_RATE_30_IN_1_SECOND: "GOPRO_BURST_RATE_30_IN_1_SECOND",
    40  	GOPRO_BURST_RATE_30_IN_2_SECOND: "GOPRO_BURST_RATE_30_IN_2_SECOND",
    41  	GOPRO_BURST_RATE_30_IN_3_SECOND: "GOPRO_BURST_RATE_30_IN_3_SECOND",
    42  	GOPRO_BURST_RATE_30_IN_6_SECOND: "GOPRO_BURST_RATE_30_IN_6_SECOND",
    43  }
    44  
    45  var values_GOPRO_BURST_RATE = map[string]GOPRO_BURST_RATE{
    46  	"GOPRO_BURST_RATE_3_IN_1_SECOND":  GOPRO_BURST_RATE_3_IN_1_SECOND,
    47  	"GOPRO_BURST_RATE_5_IN_1_SECOND":  GOPRO_BURST_RATE_5_IN_1_SECOND,
    48  	"GOPRO_BURST_RATE_10_IN_1_SECOND": GOPRO_BURST_RATE_10_IN_1_SECOND,
    49  	"GOPRO_BURST_RATE_10_IN_2_SECOND": GOPRO_BURST_RATE_10_IN_2_SECOND,
    50  	"GOPRO_BURST_RATE_10_IN_3_SECOND": GOPRO_BURST_RATE_10_IN_3_SECOND,
    51  	"GOPRO_BURST_RATE_30_IN_1_SECOND": GOPRO_BURST_RATE_30_IN_1_SECOND,
    52  	"GOPRO_BURST_RATE_30_IN_2_SECOND": GOPRO_BURST_RATE_30_IN_2_SECOND,
    53  	"GOPRO_BURST_RATE_30_IN_3_SECOND": GOPRO_BURST_RATE_30_IN_3_SECOND,
    54  	"GOPRO_BURST_RATE_30_IN_6_SECOND": GOPRO_BURST_RATE_30_IN_6_SECOND,
    55  }
    56  
    57  // MarshalText implements the encoding.TextMarshaler interface.
    58  func (e GOPRO_BURST_RATE) MarshalText() ([]byte, error) {
    59  	if name, ok := labels_GOPRO_BURST_RATE[e]; ok {
    60  		return []byte(name), nil
    61  	}
    62  	return []byte(strconv.Itoa(int(e))), nil
    63  }
    64  
    65  // UnmarshalText implements the encoding.TextUnmarshaler interface.
    66  func (e *GOPRO_BURST_RATE) UnmarshalText(text []byte) error {
    67  	if value, ok := values_GOPRO_BURST_RATE[string(text)]; ok {
    68  		*e = value
    69  	} else if value, err := strconv.Atoi(string(text)); err == nil {
    70  		*e = GOPRO_BURST_RATE(value)
    71  	} else {
    72  		return fmt.Errorf("invalid label '%s'", text)
    73  	}
    74  	return nil
    75  }
    76  
    77  // String implements the fmt.Stringer interface.
    78  func (e GOPRO_BURST_RATE) String() string {
    79  	val, _ := e.MarshalText()
    80  	return string(val)
    81  }