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 }