github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/pkg/dialects/ardupilotmega/enum_gopro_model.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_MODEL uint64 11 12 const ( 13 // Unknown gopro model. 14 GOPRO_MODEL_UNKNOWN GOPRO_MODEL = 0 15 // Hero 3+ Silver (HeroBus not supported by GoPro). 16 GOPRO_MODEL_HERO_3_PLUS_SILVER GOPRO_MODEL = 1 17 // Hero 3+ Black. 18 GOPRO_MODEL_HERO_3_PLUS_BLACK GOPRO_MODEL = 2 19 // Hero 4 Silver. 20 GOPRO_MODEL_HERO_4_SILVER GOPRO_MODEL = 3 21 // Hero 4 Black. 22 GOPRO_MODEL_HERO_4_BLACK GOPRO_MODEL = 4 23 ) 24 25 var labels_GOPRO_MODEL = map[GOPRO_MODEL]string{ 26 GOPRO_MODEL_UNKNOWN: "GOPRO_MODEL_UNKNOWN", 27 GOPRO_MODEL_HERO_3_PLUS_SILVER: "GOPRO_MODEL_HERO_3_PLUS_SILVER", 28 GOPRO_MODEL_HERO_3_PLUS_BLACK: "GOPRO_MODEL_HERO_3_PLUS_BLACK", 29 GOPRO_MODEL_HERO_4_SILVER: "GOPRO_MODEL_HERO_4_SILVER", 30 GOPRO_MODEL_HERO_4_BLACK: "GOPRO_MODEL_HERO_4_BLACK", 31 } 32 33 var values_GOPRO_MODEL = map[string]GOPRO_MODEL{ 34 "GOPRO_MODEL_UNKNOWN": GOPRO_MODEL_UNKNOWN, 35 "GOPRO_MODEL_HERO_3_PLUS_SILVER": GOPRO_MODEL_HERO_3_PLUS_SILVER, 36 "GOPRO_MODEL_HERO_3_PLUS_BLACK": GOPRO_MODEL_HERO_3_PLUS_BLACK, 37 "GOPRO_MODEL_HERO_4_SILVER": GOPRO_MODEL_HERO_4_SILVER, 38 "GOPRO_MODEL_HERO_4_BLACK": GOPRO_MODEL_HERO_4_BLACK, 39 } 40 41 // MarshalText implements the encoding.TextMarshaler interface. 42 func (e GOPRO_MODEL) MarshalText() ([]byte, error) { 43 if name, ok := labels_GOPRO_MODEL[e]; ok { 44 return []byte(name), nil 45 } 46 return []byte(strconv.Itoa(int(e))), nil 47 } 48 49 // UnmarshalText implements the encoding.TextUnmarshaler interface. 50 func (e *GOPRO_MODEL) UnmarshalText(text []byte) error { 51 if value, ok := values_GOPRO_MODEL[string(text)]; ok { 52 *e = value 53 } else if value, err := strconv.Atoi(string(text)); err == nil { 54 *e = GOPRO_MODEL(value) 55 } else { 56 return fmt.Errorf("invalid label '%s'", text) 57 } 58 return nil 59 } 60 61 // String implements the fmt.Stringer interface. 62 func (e GOPRO_MODEL) String() string { 63 val, _ := e.MarshalText() 64 return string(val) 65 }