github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/pkg/dialects/common/enum_mav_distance_sensor.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 // Enumeration of distance sensor types 11 type MAV_DISTANCE_SENSOR uint64 12 13 const ( 14 // Laser rangefinder, e.g. LightWare SF02/F or PulsedLight units 15 MAV_DISTANCE_SENSOR_LASER MAV_DISTANCE_SENSOR = 0 16 // Ultrasound rangefinder, e.g. MaxBotix units 17 MAV_DISTANCE_SENSOR_ULTRASOUND MAV_DISTANCE_SENSOR = 1 18 // Infrared rangefinder, e.g. Sharp units 19 MAV_DISTANCE_SENSOR_INFRARED MAV_DISTANCE_SENSOR = 2 20 // Radar type, e.g. uLanding units 21 MAV_DISTANCE_SENSOR_RADAR MAV_DISTANCE_SENSOR = 3 22 // Broken or unknown type, e.g. analog units 23 MAV_DISTANCE_SENSOR_UNKNOWN MAV_DISTANCE_SENSOR = 4 24 ) 25 26 var labels_MAV_DISTANCE_SENSOR = map[MAV_DISTANCE_SENSOR]string{ 27 MAV_DISTANCE_SENSOR_LASER: "MAV_DISTANCE_SENSOR_LASER", 28 MAV_DISTANCE_SENSOR_ULTRASOUND: "MAV_DISTANCE_SENSOR_ULTRASOUND", 29 MAV_DISTANCE_SENSOR_INFRARED: "MAV_DISTANCE_SENSOR_INFRARED", 30 MAV_DISTANCE_SENSOR_RADAR: "MAV_DISTANCE_SENSOR_RADAR", 31 MAV_DISTANCE_SENSOR_UNKNOWN: "MAV_DISTANCE_SENSOR_UNKNOWN", 32 } 33 34 var values_MAV_DISTANCE_SENSOR = map[string]MAV_DISTANCE_SENSOR{ 35 "MAV_DISTANCE_SENSOR_LASER": MAV_DISTANCE_SENSOR_LASER, 36 "MAV_DISTANCE_SENSOR_ULTRASOUND": MAV_DISTANCE_SENSOR_ULTRASOUND, 37 "MAV_DISTANCE_SENSOR_INFRARED": MAV_DISTANCE_SENSOR_INFRARED, 38 "MAV_DISTANCE_SENSOR_RADAR": MAV_DISTANCE_SENSOR_RADAR, 39 "MAV_DISTANCE_SENSOR_UNKNOWN": MAV_DISTANCE_SENSOR_UNKNOWN, 40 } 41 42 // MarshalText implements the encoding.TextMarshaler interface. 43 func (e MAV_DISTANCE_SENSOR) MarshalText() ([]byte, error) { 44 if name, ok := labels_MAV_DISTANCE_SENSOR[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 *MAV_DISTANCE_SENSOR) UnmarshalText(text []byte) error { 52 if value, ok := values_MAV_DISTANCE_SENSOR[string(text)]; ok { 53 *e = value 54 } else if value, err := strconv.Atoi(string(text)); err == nil { 55 *e = MAV_DISTANCE_SENSOR(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 MAV_DISTANCE_SENSOR) String() string { 64 val, _ := e.MarshalText() 65 return string(val) 66 }