github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/pkg/dialects/development/enum_target_obs_frame.go (about) 1 //autogenerated:yes 2 //nolint:revive,misspell,govet,lll,dupl,gocritic 3 package development 4 5 import ( 6 "fmt" 7 "strconv" 8 ) 9 10 // The frame of a target observation from an onboard sensor. 11 type TARGET_OBS_FRAME uint64 12 13 const ( 14 // NED local tangent frame (x: North, y: East, z: Down) with origin fixed relative to earth. 15 TARGET_OBS_FRAME_LOCAL_NED TARGET_OBS_FRAME = 0 16 // FRD local frame aligned to the vehicle's attitude (x: Forward, y: Right, z: Down) with an origin that travels with vehicle. 17 TARGET_OBS_FRAME_BODY_FRD TARGET_OBS_FRAME = 1 18 // NED local tangent frame (x: North, y: East, z: Down) with an origin that travels with vehicle. 19 TARGET_OBS_FRAME_LOCAL_OFFSET_NED TARGET_OBS_FRAME = 2 20 // Other sensor frame for target observations neither in local NED nor in body FRD. 21 TARGET_OBS_FRAME_OTHER TARGET_OBS_FRAME = 3 22 ) 23 24 var labels_TARGET_OBS_FRAME = map[TARGET_OBS_FRAME]string{ 25 TARGET_OBS_FRAME_LOCAL_NED: "TARGET_OBS_FRAME_LOCAL_NED", 26 TARGET_OBS_FRAME_BODY_FRD: "TARGET_OBS_FRAME_BODY_FRD", 27 TARGET_OBS_FRAME_LOCAL_OFFSET_NED: "TARGET_OBS_FRAME_LOCAL_OFFSET_NED", 28 TARGET_OBS_FRAME_OTHER: "TARGET_OBS_FRAME_OTHER", 29 } 30 31 var values_TARGET_OBS_FRAME = map[string]TARGET_OBS_FRAME{ 32 "TARGET_OBS_FRAME_LOCAL_NED": TARGET_OBS_FRAME_LOCAL_NED, 33 "TARGET_OBS_FRAME_BODY_FRD": TARGET_OBS_FRAME_BODY_FRD, 34 "TARGET_OBS_FRAME_LOCAL_OFFSET_NED": TARGET_OBS_FRAME_LOCAL_OFFSET_NED, 35 "TARGET_OBS_FRAME_OTHER": TARGET_OBS_FRAME_OTHER, 36 } 37 38 // MarshalText implements the encoding.TextMarshaler interface. 39 func (e TARGET_OBS_FRAME) MarshalText() ([]byte, error) { 40 if name, ok := labels_TARGET_OBS_FRAME[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 *TARGET_OBS_FRAME) UnmarshalText(text []byte) error { 48 if value, ok := values_TARGET_OBS_FRAME[string(text)]; ok { 49 *e = value 50 } else if value, err := strconv.Atoi(string(text)); err == nil { 51 *e = TARGET_OBS_FRAME(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 TARGET_OBS_FRAME) String() string { 60 val, _ := e.MarshalText() 61 return string(val) 62 }