github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/pkg/dialects/common/enum_uavcan_node_mode.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 // Generalized UAVCAN node mode 11 type UAVCAN_NODE_MODE uint64 12 13 const ( 14 // The node is performing its primary functions. 15 UAVCAN_NODE_MODE_OPERATIONAL UAVCAN_NODE_MODE = 0 16 // The node is initializing; this mode is entered immediately after startup. 17 UAVCAN_NODE_MODE_INITIALIZATION UAVCAN_NODE_MODE = 1 18 // The node is under maintenance. 19 UAVCAN_NODE_MODE_MAINTENANCE UAVCAN_NODE_MODE = 2 20 // The node is in the process of updating its software. 21 UAVCAN_NODE_MODE_SOFTWARE_UPDATE UAVCAN_NODE_MODE = 3 22 // The node is no longer available online. 23 UAVCAN_NODE_MODE_OFFLINE UAVCAN_NODE_MODE = 7 24 ) 25 26 var labels_UAVCAN_NODE_MODE = map[UAVCAN_NODE_MODE]string{ 27 UAVCAN_NODE_MODE_OPERATIONAL: "UAVCAN_NODE_MODE_OPERATIONAL", 28 UAVCAN_NODE_MODE_INITIALIZATION: "UAVCAN_NODE_MODE_INITIALIZATION", 29 UAVCAN_NODE_MODE_MAINTENANCE: "UAVCAN_NODE_MODE_MAINTENANCE", 30 UAVCAN_NODE_MODE_SOFTWARE_UPDATE: "UAVCAN_NODE_MODE_SOFTWARE_UPDATE", 31 UAVCAN_NODE_MODE_OFFLINE: "UAVCAN_NODE_MODE_OFFLINE", 32 } 33 34 var values_UAVCAN_NODE_MODE = map[string]UAVCAN_NODE_MODE{ 35 "UAVCAN_NODE_MODE_OPERATIONAL": UAVCAN_NODE_MODE_OPERATIONAL, 36 "UAVCAN_NODE_MODE_INITIALIZATION": UAVCAN_NODE_MODE_INITIALIZATION, 37 "UAVCAN_NODE_MODE_MAINTENANCE": UAVCAN_NODE_MODE_MAINTENANCE, 38 "UAVCAN_NODE_MODE_SOFTWARE_UPDATE": UAVCAN_NODE_MODE_SOFTWARE_UPDATE, 39 "UAVCAN_NODE_MODE_OFFLINE": UAVCAN_NODE_MODE_OFFLINE, 40 } 41 42 // MarshalText implements the encoding.TextMarshaler interface. 43 func (e UAVCAN_NODE_MODE) MarshalText() ([]byte, error) { 44 if name, ok := labels_UAVCAN_NODE_MODE[e]; ok { 45 return []byte(name), nil 46 } 47 return []byte(strconv.Itoa(int(e))), nil 48 } 49 50 // UnmarshalText implements the encoding.TextUnmarshaler interface. 51 func (e *UAVCAN_NODE_MODE) UnmarshalText(text []byte) error { 52 if value, ok := values_UAVCAN_NODE_MODE[string(text)]; ok { 53 *e = value 54 } else if value, err := strconv.Atoi(string(text)); err == nil { 55 *e = UAVCAN_NODE_MODE(value) 56 } else { 57 return fmt.Errorf("invalid label '%s'", text) 58 } 59 return nil 60 } 61 62 // String implements the fmt.Stringer interface. 63 func (e UAVCAN_NODE_MODE) String() string { 64 val, _ := e.MarshalText() 65 return string(val) 66 }