github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/pkg/dialects/common/enum_hil_sensor_updated_flags.go (about) 1 //autogenerated:yes 2 //nolint:revive,misspell,govet,lll,dupl,gocritic 3 package common 4 5 import ( 6 "fmt" 7 "strconv" 8 "strings" 9 ) 10 11 // Flags in the HIL_SENSOR message indicate which fields have updated since the last message 12 type HIL_SENSOR_UPDATED_FLAGS uint64 13 14 const ( 15 // None of the fields in HIL_SENSOR have been updated 16 HIL_SENSOR_UPDATED_NONE HIL_SENSOR_UPDATED_FLAGS = 0 17 // The value in the xacc field has been updated 18 HIL_SENSOR_UPDATED_XACC HIL_SENSOR_UPDATED_FLAGS = 1 19 // The value in the yacc field has been updated 20 HIL_SENSOR_UPDATED_YACC HIL_SENSOR_UPDATED_FLAGS = 2 21 // The value in the zacc field has been updated 22 HIL_SENSOR_UPDATED_ZACC HIL_SENSOR_UPDATED_FLAGS = 4 23 // The value in the xgyro field has been updated 24 HIL_SENSOR_UPDATED_XGYRO HIL_SENSOR_UPDATED_FLAGS = 8 25 // The value in the ygyro field has been updated 26 HIL_SENSOR_UPDATED_YGYRO HIL_SENSOR_UPDATED_FLAGS = 16 27 // The value in the zgyro field has been updated 28 HIL_SENSOR_UPDATED_ZGYRO HIL_SENSOR_UPDATED_FLAGS = 32 29 // The value in the xmag field has been updated 30 HIL_SENSOR_UPDATED_XMAG HIL_SENSOR_UPDATED_FLAGS = 64 31 // The value in the ymag field has been updated 32 HIL_SENSOR_UPDATED_YMAG HIL_SENSOR_UPDATED_FLAGS = 128 33 // The value in the zmag field has been updated 34 HIL_SENSOR_UPDATED_ZMAG HIL_SENSOR_UPDATED_FLAGS = 256 35 // The value in the abs_pressure field has been updated 36 HIL_SENSOR_UPDATED_ABS_PRESSURE HIL_SENSOR_UPDATED_FLAGS = 512 37 // The value in the diff_pressure field has been updated 38 HIL_SENSOR_UPDATED_DIFF_PRESSURE HIL_SENSOR_UPDATED_FLAGS = 1024 39 // The value in the pressure_alt field has been updated 40 HIL_SENSOR_UPDATED_PRESSURE_ALT HIL_SENSOR_UPDATED_FLAGS = 2048 41 // The value in the temperature field has been updated 42 HIL_SENSOR_UPDATED_TEMPERATURE HIL_SENSOR_UPDATED_FLAGS = 4096 43 // Full reset of attitude/position/velocities/etc was performed in sim (Bit 31). 44 HIL_SENSOR_UPDATED_RESET HIL_SENSOR_UPDATED_FLAGS = 2147483648 45 ) 46 47 var labels_HIL_SENSOR_UPDATED_FLAGS = map[HIL_SENSOR_UPDATED_FLAGS]string{ 48 HIL_SENSOR_UPDATED_NONE: "HIL_SENSOR_UPDATED_NONE", 49 HIL_SENSOR_UPDATED_XACC: "HIL_SENSOR_UPDATED_XACC", 50 HIL_SENSOR_UPDATED_YACC: "HIL_SENSOR_UPDATED_YACC", 51 HIL_SENSOR_UPDATED_ZACC: "HIL_SENSOR_UPDATED_ZACC", 52 HIL_SENSOR_UPDATED_XGYRO: "HIL_SENSOR_UPDATED_XGYRO", 53 HIL_SENSOR_UPDATED_YGYRO: "HIL_SENSOR_UPDATED_YGYRO", 54 HIL_SENSOR_UPDATED_ZGYRO: "HIL_SENSOR_UPDATED_ZGYRO", 55 HIL_SENSOR_UPDATED_XMAG: "HIL_SENSOR_UPDATED_XMAG", 56 HIL_SENSOR_UPDATED_YMAG: "HIL_SENSOR_UPDATED_YMAG", 57 HIL_SENSOR_UPDATED_ZMAG: "HIL_SENSOR_UPDATED_ZMAG", 58 HIL_SENSOR_UPDATED_ABS_PRESSURE: "HIL_SENSOR_UPDATED_ABS_PRESSURE", 59 HIL_SENSOR_UPDATED_DIFF_PRESSURE: "HIL_SENSOR_UPDATED_DIFF_PRESSURE", 60 HIL_SENSOR_UPDATED_PRESSURE_ALT: "HIL_SENSOR_UPDATED_PRESSURE_ALT", 61 HIL_SENSOR_UPDATED_TEMPERATURE: "HIL_SENSOR_UPDATED_TEMPERATURE", 62 HIL_SENSOR_UPDATED_RESET: "HIL_SENSOR_UPDATED_RESET", 63 } 64 65 var values_HIL_SENSOR_UPDATED_FLAGS = map[string]HIL_SENSOR_UPDATED_FLAGS{ 66 "HIL_SENSOR_UPDATED_NONE": HIL_SENSOR_UPDATED_NONE, 67 "HIL_SENSOR_UPDATED_XACC": HIL_SENSOR_UPDATED_XACC, 68 "HIL_SENSOR_UPDATED_YACC": HIL_SENSOR_UPDATED_YACC, 69 "HIL_SENSOR_UPDATED_ZACC": HIL_SENSOR_UPDATED_ZACC, 70 "HIL_SENSOR_UPDATED_XGYRO": HIL_SENSOR_UPDATED_XGYRO, 71 "HIL_SENSOR_UPDATED_YGYRO": HIL_SENSOR_UPDATED_YGYRO, 72 "HIL_SENSOR_UPDATED_ZGYRO": HIL_SENSOR_UPDATED_ZGYRO, 73 "HIL_SENSOR_UPDATED_XMAG": HIL_SENSOR_UPDATED_XMAG, 74 "HIL_SENSOR_UPDATED_YMAG": HIL_SENSOR_UPDATED_YMAG, 75 "HIL_SENSOR_UPDATED_ZMAG": HIL_SENSOR_UPDATED_ZMAG, 76 "HIL_SENSOR_UPDATED_ABS_PRESSURE": HIL_SENSOR_UPDATED_ABS_PRESSURE, 77 "HIL_SENSOR_UPDATED_DIFF_PRESSURE": HIL_SENSOR_UPDATED_DIFF_PRESSURE, 78 "HIL_SENSOR_UPDATED_PRESSURE_ALT": HIL_SENSOR_UPDATED_PRESSURE_ALT, 79 "HIL_SENSOR_UPDATED_TEMPERATURE": HIL_SENSOR_UPDATED_TEMPERATURE, 80 "HIL_SENSOR_UPDATED_RESET": HIL_SENSOR_UPDATED_RESET, 81 } 82 83 // MarshalText implements the encoding.TextMarshaler interface. 84 func (e HIL_SENSOR_UPDATED_FLAGS) MarshalText() ([]byte, error) { 85 if e == 0 { 86 return []byte("0"), nil 87 } 88 var names []string 89 for i := 0; i < 15; i++ { 90 mask := HIL_SENSOR_UPDATED_FLAGS(1 << i) 91 if e&mask == mask { 92 names = append(names, labels_HIL_SENSOR_UPDATED_FLAGS[mask]) 93 } 94 } 95 return []byte(strings.Join(names, " | ")), nil 96 } 97 98 // UnmarshalText implements the encoding.TextUnmarshaler interface. 99 func (e *HIL_SENSOR_UPDATED_FLAGS) UnmarshalText(text []byte) error { 100 labels := strings.Split(string(text), " | ") 101 var mask HIL_SENSOR_UPDATED_FLAGS 102 for _, label := range labels { 103 if value, ok := values_HIL_SENSOR_UPDATED_FLAGS[label]; ok { 104 mask |= value 105 } else if value, err := strconv.Atoi(label); err == nil { 106 mask |= HIL_SENSOR_UPDATED_FLAGS(value) 107 } else { 108 return fmt.Errorf("invalid label '%s'", label) 109 } 110 } 111 *e = mask 112 return nil 113 } 114 115 // String implements the fmt.Stringer interface. 116 func (e HIL_SENSOR_UPDATED_FLAGS) String() string { 117 val, _ := e.MarshalText() 118 return string(val) 119 }