github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/pkg/dialects/common/enum_preflight_storage_mission_action.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 // Actions for reading and writing plan information (mission, rally points, geofence) between persistent and volatile storage when using MAV_CMD_PREFLIGHT_STORAGE. 11 // (Commonly missions are loaded from persistent storage (flash/EEPROM) into volatile storage (RAM) on startup and written back when they are changed.) 12 type PREFLIGHT_STORAGE_MISSION_ACTION uint64 13 14 const ( 15 // Read current mission data from persistent storage 16 MISSION_READ_PERSISTENT PREFLIGHT_STORAGE_MISSION_ACTION = 0 17 // Write current mission data to persistent storage 18 MISSION_WRITE_PERSISTENT PREFLIGHT_STORAGE_MISSION_ACTION = 1 19 // Erase all mission data stored on the vehicle (both persistent and volatile storage) 20 MISSION_RESET_DEFAULT PREFLIGHT_STORAGE_MISSION_ACTION = 2 21 ) 22 23 var labels_PREFLIGHT_STORAGE_MISSION_ACTION = map[PREFLIGHT_STORAGE_MISSION_ACTION]string{ 24 MISSION_READ_PERSISTENT: "MISSION_READ_PERSISTENT", 25 MISSION_WRITE_PERSISTENT: "MISSION_WRITE_PERSISTENT", 26 MISSION_RESET_DEFAULT: "MISSION_RESET_DEFAULT", 27 } 28 29 var values_PREFLIGHT_STORAGE_MISSION_ACTION = map[string]PREFLIGHT_STORAGE_MISSION_ACTION{ 30 "MISSION_READ_PERSISTENT": MISSION_READ_PERSISTENT, 31 "MISSION_WRITE_PERSISTENT": MISSION_WRITE_PERSISTENT, 32 "MISSION_RESET_DEFAULT": MISSION_RESET_DEFAULT, 33 } 34 35 // MarshalText implements the encoding.TextMarshaler interface. 36 func (e PREFLIGHT_STORAGE_MISSION_ACTION) MarshalText() ([]byte, error) { 37 if name, ok := labels_PREFLIGHT_STORAGE_MISSION_ACTION[e]; ok { 38 return []byte(name), nil 39 } 40 return []byte(strconv.Itoa(int(e))), nil 41 } 42 43 // UnmarshalText implements the encoding.TextUnmarshaler interface. 44 func (e *PREFLIGHT_STORAGE_MISSION_ACTION) UnmarshalText(text []byte) error { 45 if value, ok := values_PREFLIGHT_STORAGE_MISSION_ACTION[string(text)]; ok { 46 *e = value 47 } else if value, err := strconv.Atoi(string(text)); err == nil { 48 *e = PREFLIGHT_STORAGE_MISSION_ACTION(value) 49 } else { 50 return fmt.Errorf("invalid label '%s'", text) 51 } 52 return nil 53 } 54 55 // String implements the fmt.Stringer interface. 56 func (e PREFLIGHT_STORAGE_MISSION_ACTION) String() string { 57 val, _ := e.MarshalText() 58 return string(val) 59 }