github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/pkg/dialects/common/enum_ais_nav_status.go (about) 1 //autogenerated:yes 2 //nolint:revive,misspell,govet,lll,dupl,gocritic 3 package common 4 5 import ( 6 "fmt" 7 "strconv" 8 ) 9 10 // Navigational status of AIS vessel, enum duplicated from AIS standard, https://gpsd.gitlab.io/gpsd/AIVDM.html 11 type AIS_NAV_STATUS uint64 12 13 const ( 14 // Under way using engine. 15 UNDER_WAY AIS_NAV_STATUS = 0 16 AIS_NAV_ANCHORED AIS_NAV_STATUS = 1 17 AIS_NAV_UN_COMMANDED AIS_NAV_STATUS = 2 18 AIS_NAV_RESTRICTED_MANOEUVERABILITY AIS_NAV_STATUS = 3 19 AIS_NAV_DRAUGHT_CONSTRAINED AIS_NAV_STATUS = 4 20 AIS_NAV_MOORED AIS_NAV_STATUS = 5 21 AIS_NAV_AGROUND AIS_NAV_STATUS = 6 22 AIS_NAV_FISHING AIS_NAV_STATUS = 7 23 AIS_NAV_SAILING AIS_NAV_STATUS = 8 24 AIS_NAV_RESERVED_HSC AIS_NAV_STATUS = 9 25 AIS_NAV_RESERVED_WIG AIS_NAV_STATUS = 10 26 AIS_NAV_RESERVED_1 AIS_NAV_STATUS = 11 27 AIS_NAV_RESERVED_2 AIS_NAV_STATUS = 12 28 AIS_NAV_RESERVED_3 AIS_NAV_STATUS = 13 29 // Search And Rescue Transponder. 30 AIS_NAV_AIS_SART AIS_NAV_STATUS = 14 31 // Not available (default). 32 AIS_NAV_UNKNOWN AIS_NAV_STATUS = 15 33 ) 34 35 var labels_AIS_NAV_STATUS = map[AIS_NAV_STATUS]string{ 36 UNDER_WAY: "UNDER_WAY", 37 AIS_NAV_ANCHORED: "AIS_NAV_ANCHORED", 38 AIS_NAV_UN_COMMANDED: "AIS_NAV_UN_COMMANDED", 39 AIS_NAV_RESTRICTED_MANOEUVERABILITY: "AIS_NAV_RESTRICTED_MANOEUVERABILITY", 40 AIS_NAV_DRAUGHT_CONSTRAINED: "AIS_NAV_DRAUGHT_CONSTRAINED", 41 AIS_NAV_MOORED: "AIS_NAV_MOORED", 42 AIS_NAV_AGROUND: "AIS_NAV_AGROUND", 43 AIS_NAV_FISHING: "AIS_NAV_FISHING", 44 AIS_NAV_SAILING: "AIS_NAV_SAILING", 45 AIS_NAV_RESERVED_HSC: "AIS_NAV_RESERVED_HSC", 46 AIS_NAV_RESERVED_WIG: "AIS_NAV_RESERVED_WIG", 47 AIS_NAV_RESERVED_1: "AIS_NAV_RESERVED_1", 48 AIS_NAV_RESERVED_2: "AIS_NAV_RESERVED_2", 49 AIS_NAV_RESERVED_3: "AIS_NAV_RESERVED_3", 50 AIS_NAV_AIS_SART: "AIS_NAV_AIS_SART", 51 AIS_NAV_UNKNOWN: "AIS_NAV_UNKNOWN", 52 } 53 54 var values_AIS_NAV_STATUS = map[string]AIS_NAV_STATUS{ 55 "UNDER_WAY": UNDER_WAY, 56 "AIS_NAV_ANCHORED": AIS_NAV_ANCHORED, 57 "AIS_NAV_UN_COMMANDED": AIS_NAV_UN_COMMANDED, 58 "AIS_NAV_RESTRICTED_MANOEUVERABILITY": AIS_NAV_RESTRICTED_MANOEUVERABILITY, 59 "AIS_NAV_DRAUGHT_CONSTRAINED": AIS_NAV_DRAUGHT_CONSTRAINED, 60 "AIS_NAV_MOORED": AIS_NAV_MOORED, 61 "AIS_NAV_AGROUND": AIS_NAV_AGROUND, 62 "AIS_NAV_FISHING": AIS_NAV_FISHING, 63 "AIS_NAV_SAILING": AIS_NAV_SAILING, 64 "AIS_NAV_RESERVED_HSC": AIS_NAV_RESERVED_HSC, 65 "AIS_NAV_RESERVED_WIG": AIS_NAV_RESERVED_WIG, 66 "AIS_NAV_RESERVED_1": AIS_NAV_RESERVED_1, 67 "AIS_NAV_RESERVED_2": AIS_NAV_RESERVED_2, 68 "AIS_NAV_RESERVED_3": AIS_NAV_RESERVED_3, 69 "AIS_NAV_AIS_SART": AIS_NAV_AIS_SART, 70 "AIS_NAV_UNKNOWN": AIS_NAV_UNKNOWN, 71 } 72 73 // MarshalText implements the encoding.TextMarshaler interface. 74 func (e AIS_NAV_STATUS) MarshalText() ([]byte, error) { 75 if name, ok := labels_AIS_NAV_STATUS[e]; ok { 76 return []byte(name), nil 77 } 78 return []byte(strconv.Itoa(int(e))), nil 79 } 80 81 // UnmarshalText implements the encoding.TextUnmarshaler interface. 82 func (e *AIS_NAV_STATUS) UnmarshalText(text []byte) error { 83 if value, ok := values_AIS_NAV_STATUS[string(text)]; ok { 84 *e = value 85 } else if value, err := strconv.Atoi(string(text)); err == nil { 86 *e = AIS_NAV_STATUS(value) 87 } else { 88 return fmt.Errorf("invalid label '%s'", text) 89 } 90 return nil 91 } 92 93 // String implements the fmt.Stringer interface. 94 func (e AIS_NAV_STATUS) String() string { 95 val, _ := e.MarshalText() 96 return string(val) 97 }