github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/pkg/dialects/common/enum_uavcan_node_health.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 health 11 type UAVCAN_NODE_HEALTH uint64 12 13 const ( 14 // The node is functioning properly. 15 UAVCAN_NODE_HEALTH_OK UAVCAN_NODE_HEALTH = 0 16 // A critical parameter went out of range or the node has encountered a minor failure. 17 UAVCAN_NODE_HEALTH_WARNING UAVCAN_NODE_HEALTH = 1 18 // The node has encountered a major failure. 19 UAVCAN_NODE_HEALTH_ERROR UAVCAN_NODE_HEALTH = 2 20 // The node has suffered a fatal malfunction. 21 UAVCAN_NODE_HEALTH_CRITICAL UAVCAN_NODE_HEALTH = 3 22 ) 23 24 var labels_UAVCAN_NODE_HEALTH = map[UAVCAN_NODE_HEALTH]string{ 25 UAVCAN_NODE_HEALTH_OK: "UAVCAN_NODE_HEALTH_OK", 26 UAVCAN_NODE_HEALTH_WARNING: "UAVCAN_NODE_HEALTH_WARNING", 27 UAVCAN_NODE_HEALTH_ERROR: "UAVCAN_NODE_HEALTH_ERROR", 28 UAVCAN_NODE_HEALTH_CRITICAL: "UAVCAN_NODE_HEALTH_CRITICAL", 29 } 30 31 var values_UAVCAN_NODE_HEALTH = map[string]UAVCAN_NODE_HEALTH{ 32 "UAVCAN_NODE_HEALTH_OK": UAVCAN_NODE_HEALTH_OK, 33 "UAVCAN_NODE_HEALTH_WARNING": UAVCAN_NODE_HEALTH_WARNING, 34 "UAVCAN_NODE_HEALTH_ERROR": UAVCAN_NODE_HEALTH_ERROR, 35 "UAVCAN_NODE_HEALTH_CRITICAL": UAVCAN_NODE_HEALTH_CRITICAL, 36 } 37 38 // MarshalText implements the encoding.TextMarshaler interface. 39 func (e UAVCAN_NODE_HEALTH) MarshalText() ([]byte, error) { 40 if name, ok := labels_UAVCAN_NODE_HEALTH[e]; ok { 41 return []byte(name), nil 42 } 43 return []byte(strconv.Itoa(int(e))), nil 44 } 45 46 // UnmarshalText implements the encoding.TextUnmarshaler interface. 47 func (e *UAVCAN_NODE_HEALTH) UnmarshalText(text []byte) error { 48 if value, ok := values_UAVCAN_NODE_HEALTH[string(text)]; ok { 49 *e = value 50 } else if value, err := strconv.Atoi(string(text)); err == nil { 51 *e = UAVCAN_NODE_HEALTH(value) 52 } else { 53 return fmt.Errorf("invalid label '%s'", text) 54 } 55 return nil 56 } 57 58 // String implements the fmt.Stringer interface. 59 func (e UAVCAN_NODE_HEALTH) String() string { 60 val, _ := e.MarshalText() 61 return string(val) 62 }