github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/pkg/dialects/ualberta/enum_ualberta_nav_mode.go (about) 1 //autogenerated:yes 2 //nolint:revive,misspell,govet,lll,dupl,gocritic 3 package ualberta 4 5 import ( 6 "fmt" 7 "strconv" 8 ) 9 10 // Navigation filter mode 11 type UALBERTA_NAV_MODE uint64 12 13 const ( 14 NAV_AHRS_INIT UALBERTA_NAV_MODE = 1 15 // AHRS mode 16 NAV_AHRS UALBERTA_NAV_MODE = 2 17 // INS/GPS initialization mode 18 NAV_INS_GPS_INIT UALBERTA_NAV_MODE = 3 19 // INS/GPS mode 20 NAV_INS_GPS UALBERTA_NAV_MODE = 4 21 ) 22 23 var labels_UALBERTA_NAV_MODE = map[UALBERTA_NAV_MODE]string{ 24 NAV_AHRS_INIT: "NAV_AHRS_INIT", 25 NAV_AHRS: "NAV_AHRS", 26 NAV_INS_GPS_INIT: "NAV_INS_GPS_INIT", 27 NAV_INS_GPS: "NAV_INS_GPS", 28 } 29 30 var values_UALBERTA_NAV_MODE = map[string]UALBERTA_NAV_MODE{ 31 "NAV_AHRS_INIT": NAV_AHRS_INIT, 32 "NAV_AHRS": NAV_AHRS, 33 "NAV_INS_GPS_INIT": NAV_INS_GPS_INIT, 34 "NAV_INS_GPS": NAV_INS_GPS, 35 } 36 37 // MarshalText implements the encoding.TextMarshaler interface. 38 func (e UALBERTA_NAV_MODE) MarshalText() ([]byte, error) { 39 if name, ok := labels_UALBERTA_NAV_MODE[e]; ok { 40 return []byte(name), nil 41 } 42 return []byte(strconv.Itoa(int(e))), nil 43 } 44 45 // UnmarshalText implements the encoding.TextUnmarshaler interface. 46 func (e *UALBERTA_NAV_MODE) UnmarshalText(text []byte) error { 47 if value, ok := values_UALBERTA_NAV_MODE[string(text)]; ok { 48 *e = value 49 } else if value, err := strconv.Atoi(string(text)); err == nil { 50 *e = UALBERTA_NAV_MODE(value) 51 } else { 52 return fmt.Errorf("invalid label '%s'", text) 53 } 54 return nil 55 } 56 57 // String implements the fmt.Stringer interface. 58 func (e UALBERTA_NAV_MODE) String() string { 59 val, _ := e.MarshalText() 60 return string(val) 61 }