github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/pkg/dialects/ardupilotmega/enum_camera_feedback_flags.go (about) 1 //autogenerated:yes 2 //nolint:revive,misspell,govet,lll,dupl,gocritic 3 package ardupilotmega 4 5 import ( 6 "fmt" 7 "strconv" 8 ) 9 10 type CAMERA_FEEDBACK_FLAGS uint64 11 12 const ( 13 // Shooting photos, not video. 14 CAMERA_FEEDBACK_PHOTO CAMERA_FEEDBACK_FLAGS = 0 15 // Shooting video, not stills. 16 CAMERA_FEEDBACK_VIDEO CAMERA_FEEDBACK_FLAGS = 1 17 // Unable to achieve requested exposure (e.g. shutter speed too low). 18 CAMERA_FEEDBACK_BADEXPOSURE CAMERA_FEEDBACK_FLAGS = 2 19 // Closed loop feedback from camera, we know for sure it has successfully taken a picture. 20 CAMERA_FEEDBACK_CLOSEDLOOP CAMERA_FEEDBACK_FLAGS = 3 21 // Open loop camera, an image trigger has been requested but we can't know for sure it has successfully taken a picture. 22 CAMERA_FEEDBACK_OPENLOOP CAMERA_FEEDBACK_FLAGS = 4 23 ) 24 25 var labels_CAMERA_FEEDBACK_FLAGS = map[CAMERA_FEEDBACK_FLAGS]string{ 26 CAMERA_FEEDBACK_PHOTO: "CAMERA_FEEDBACK_PHOTO", 27 CAMERA_FEEDBACK_VIDEO: "CAMERA_FEEDBACK_VIDEO", 28 CAMERA_FEEDBACK_BADEXPOSURE: "CAMERA_FEEDBACK_BADEXPOSURE", 29 CAMERA_FEEDBACK_CLOSEDLOOP: "CAMERA_FEEDBACK_CLOSEDLOOP", 30 CAMERA_FEEDBACK_OPENLOOP: "CAMERA_FEEDBACK_OPENLOOP", 31 } 32 33 var values_CAMERA_FEEDBACK_FLAGS = map[string]CAMERA_FEEDBACK_FLAGS{ 34 "CAMERA_FEEDBACK_PHOTO": CAMERA_FEEDBACK_PHOTO, 35 "CAMERA_FEEDBACK_VIDEO": CAMERA_FEEDBACK_VIDEO, 36 "CAMERA_FEEDBACK_BADEXPOSURE": CAMERA_FEEDBACK_BADEXPOSURE, 37 "CAMERA_FEEDBACK_CLOSEDLOOP": CAMERA_FEEDBACK_CLOSEDLOOP, 38 "CAMERA_FEEDBACK_OPENLOOP": CAMERA_FEEDBACK_OPENLOOP, 39 } 40 41 // MarshalText implements the encoding.TextMarshaler interface. 42 func (e CAMERA_FEEDBACK_FLAGS) MarshalText() ([]byte, error) { 43 if name, ok := labels_CAMERA_FEEDBACK_FLAGS[e]; ok { 44 return []byte(name), nil 45 } 46 return []byte(strconv.Itoa(int(e))), nil 47 } 48 49 // UnmarshalText implements the encoding.TextUnmarshaler interface. 50 func (e *CAMERA_FEEDBACK_FLAGS) UnmarshalText(text []byte) error { 51 if value, ok := values_CAMERA_FEEDBACK_FLAGS[string(text)]; ok { 52 *e = value 53 } else if value, err := strconv.Atoi(string(text)); err == nil { 54 *e = CAMERA_FEEDBACK_FLAGS(value) 55 } else { 56 return fmt.Errorf("invalid label '%s'", text) 57 } 58 return nil 59 } 60 61 // String implements the fmt.Stringer interface. 62 func (e CAMERA_FEEDBACK_FLAGS) String() string { 63 val, _ := e.MarshalText() 64 return string(val) 65 }