github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/pkg/dialects/common/enum_highres_imu_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 HIGHRES_IMU message indicate which fields have updated since the last message 12 type HIGHRES_IMU_UPDATED_FLAGS uint64 13 14 const ( 15 // None of the fields in HIGHRES_IMU have been updated 16 HIGHRES_IMU_UPDATED_NONE HIGHRES_IMU_UPDATED_FLAGS = 0 17 // The value in the xacc field has been updated 18 HIGHRES_IMU_UPDATED_XACC HIGHRES_IMU_UPDATED_FLAGS = 1 19 // The value in the yacc field has been updated 20 HIGHRES_IMU_UPDATED_YACC HIGHRES_IMU_UPDATED_FLAGS = 2 21 // The value in the zacc field has been updated since 22 HIGHRES_IMU_UPDATED_ZACC HIGHRES_IMU_UPDATED_FLAGS = 4 23 // The value in the xgyro field has been updated 24 HIGHRES_IMU_UPDATED_XGYRO HIGHRES_IMU_UPDATED_FLAGS = 8 25 // The value in the ygyro field has been updated 26 HIGHRES_IMU_UPDATED_YGYRO HIGHRES_IMU_UPDATED_FLAGS = 16 27 // The value in the zgyro field has been updated 28 HIGHRES_IMU_UPDATED_ZGYRO HIGHRES_IMU_UPDATED_FLAGS = 32 29 // The value in the xmag field has been updated 30 HIGHRES_IMU_UPDATED_XMAG HIGHRES_IMU_UPDATED_FLAGS = 64 31 // The value in the ymag field has been updated 32 HIGHRES_IMU_UPDATED_YMAG HIGHRES_IMU_UPDATED_FLAGS = 128 33 // The value in the zmag field has been updated 34 HIGHRES_IMU_UPDATED_ZMAG HIGHRES_IMU_UPDATED_FLAGS = 256 35 // The value in the abs_pressure field has been updated 36 HIGHRES_IMU_UPDATED_ABS_PRESSURE HIGHRES_IMU_UPDATED_FLAGS = 512 37 // The value in the diff_pressure field has been updated 38 HIGHRES_IMU_UPDATED_DIFF_PRESSURE HIGHRES_IMU_UPDATED_FLAGS = 1024 39 // The value in the pressure_alt field has been updated 40 HIGHRES_IMU_UPDATED_PRESSURE_ALT HIGHRES_IMU_UPDATED_FLAGS = 2048 41 // The value in the temperature field has been updated 42 HIGHRES_IMU_UPDATED_TEMPERATURE HIGHRES_IMU_UPDATED_FLAGS = 4096 43 // All fields in HIGHRES_IMU have been updated. 44 HIGHRES_IMU_UPDATED_ALL HIGHRES_IMU_UPDATED_FLAGS = 65535 45 ) 46 47 var labels_HIGHRES_IMU_UPDATED_FLAGS = map[HIGHRES_IMU_UPDATED_FLAGS]string{ 48 HIGHRES_IMU_UPDATED_NONE: "HIGHRES_IMU_UPDATED_NONE", 49 HIGHRES_IMU_UPDATED_XACC: "HIGHRES_IMU_UPDATED_XACC", 50 HIGHRES_IMU_UPDATED_YACC: "HIGHRES_IMU_UPDATED_YACC", 51 HIGHRES_IMU_UPDATED_ZACC: "HIGHRES_IMU_UPDATED_ZACC", 52 HIGHRES_IMU_UPDATED_XGYRO: "HIGHRES_IMU_UPDATED_XGYRO", 53 HIGHRES_IMU_UPDATED_YGYRO: "HIGHRES_IMU_UPDATED_YGYRO", 54 HIGHRES_IMU_UPDATED_ZGYRO: "HIGHRES_IMU_UPDATED_ZGYRO", 55 HIGHRES_IMU_UPDATED_XMAG: "HIGHRES_IMU_UPDATED_XMAG", 56 HIGHRES_IMU_UPDATED_YMAG: "HIGHRES_IMU_UPDATED_YMAG", 57 HIGHRES_IMU_UPDATED_ZMAG: "HIGHRES_IMU_UPDATED_ZMAG", 58 HIGHRES_IMU_UPDATED_ABS_PRESSURE: "HIGHRES_IMU_UPDATED_ABS_PRESSURE", 59 HIGHRES_IMU_UPDATED_DIFF_PRESSURE: "HIGHRES_IMU_UPDATED_DIFF_PRESSURE", 60 HIGHRES_IMU_UPDATED_PRESSURE_ALT: "HIGHRES_IMU_UPDATED_PRESSURE_ALT", 61 HIGHRES_IMU_UPDATED_TEMPERATURE: "HIGHRES_IMU_UPDATED_TEMPERATURE", 62 HIGHRES_IMU_UPDATED_ALL: "HIGHRES_IMU_UPDATED_ALL", 63 } 64 65 var values_HIGHRES_IMU_UPDATED_FLAGS = map[string]HIGHRES_IMU_UPDATED_FLAGS{ 66 "HIGHRES_IMU_UPDATED_NONE": HIGHRES_IMU_UPDATED_NONE, 67 "HIGHRES_IMU_UPDATED_XACC": HIGHRES_IMU_UPDATED_XACC, 68 "HIGHRES_IMU_UPDATED_YACC": HIGHRES_IMU_UPDATED_YACC, 69 "HIGHRES_IMU_UPDATED_ZACC": HIGHRES_IMU_UPDATED_ZACC, 70 "HIGHRES_IMU_UPDATED_XGYRO": HIGHRES_IMU_UPDATED_XGYRO, 71 "HIGHRES_IMU_UPDATED_YGYRO": HIGHRES_IMU_UPDATED_YGYRO, 72 "HIGHRES_IMU_UPDATED_ZGYRO": HIGHRES_IMU_UPDATED_ZGYRO, 73 "HIGHRES_IMU_UPDATED_XMAG": HIGHRES_IMU_UPDATED_XMAG, 74 "HIGHRES_IMU_UPDATED_YMAG": HIGHRES_IMU_UPDATED_YMAG, 75 "HIGHRES_IMU_UPDATED_ZMAG": HIGHRES_IMU_UPDATED_ZMAG, 76 "HIGHRES_IMU_UPDATED_ABS_PRESSURE": HIGHRES_IMU_UPDATED_ABS_PRESSURE, 77 "HIGHRES_IMU_UPDATED_DIFF_PRESSURE": HIGHRES_IMU_UPDATED_DIFF_PRESSURE, 78 "HIGHRES_IMU_UPDATED_PRESSURE_ALT": HIGHRES_IMU_UPDATED_PRESSURE_ALT, 79 "HIGHRES_IMU_UPDATED_TEMPERATURE": HIGHRES_IMU_UPDATED_TEMPERATURE, 80 "HIGHRES_IMU_UPDATED_ALL": HIGHRES_IMU_UPDATED_ALL, 81 } 82 83 // MarshalText implements the encoding.TextMarshaler interface. 84 func (e HIGHRES_IMU_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 := HIGHRES_IMU_UPDATED_FLAGS(1 << i) 91 if e&mask == mask { 92 names = append(names, labels_HIGHRES_IMU_UPDATED_FLAGS[mask]) 93 } 94 } 95 return []byte(strings.Join(names, " | ")), nil 96 } 97 98 // UnmarshalText implements the encoding.TextUnmarshaler interface. 99 func (e *HIGHRES_IMU_UPDATED_FLAGS) UnmarshalText(text []byte) error { 100 labels := strings.Split(string(text), " | ") 101 var mask HIGHRES_IMU_UPDATED_FLAGS 102 for _, label := range labels { 103 if value, ok := values_HIGHRES_IMU_UPDATED_FLAGS[label]; ok { 104 mask |= value 105 } else if value, err := strconv.Atoi(label); err == nil { 106 mask |= HIGHRES_IMU_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 HIGHRES_IMU_UPDATED_FLAGS) String() string { 117 val, _ := e.MarshalText() 118 return string(val) 119 }