APM:Libraries
DFMessageWriter.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "DataFlash_Backend.h"
4 
6 
8 public:
9 
10  virtual void reset() = 0;
11  virtual void process() = 0;
12  virtual bool finished() { return _finished; }
13 
14  virtual void set_dataflash_backend(class DataFlash_Backend *backend) {
15  _dataflash_backend = backend;
16  }
17 
18 protected:
19  bool _finished = false;
21 };
22 
23 
25 public:
26  DFMessageWriter_WriteSysInfo(const char *firmware_string) :
28  _firmware_string(firmware_string)
29  { }
30 
31  void reset();
32  void process();
33 
34 private:
39  ws_blockwriter_stage_system_id
40  };
41  write_sysinfo_blockwriter_stage stage = ws_blockwriter_stage_init;
42 
43  const char *_firmware_string;
44 };
45 
47 public:
48 
49  void reset();
50  void process();
51 
52  void set_mission(const AP_Mission *mission);
53 
54 private:
59  em_blockwriter_stage_done
60  };
61 
62  const AP_Mission *_mission = nullptr;
63  uint16_t _mission_number_to_send = 0;
64  entire_mission_blockwriter_stage stage = em_blockwriter_stage_init;
65 };
66 
68 public:
69  DFMessageWriter_DFLogStart(const char *firmware_string) :
70  _writesysinfo(firmware_string),
71  _writeentiremission()
72  {
73  }
74 
75  virtual void set_dataflash_backend(class DataFlash_Backend *backend) {
77  _writesysinfo.set_dataflash_backend(backend);
78  _writeentiremission.set_dataflash_backend(backend);
79  }
80 
81  void reset();
82  void process();
83  bool fmt_done() { return _fmt_done; }
84 
85  void set_mission(const AP_Mission *mission);
86 
87 private:
88 
100  };
101 
102  bool _fmt_done = false;
103 
104  log_start_blockwriter_stage stage = ls_blockwriter_stage_init;
105 
107 
111 
114  enum ap_var_type type;
115 
116 
119 };
virtual void reset()=0
ap_var_type
Definition: AP_Param.h:124
Object managing Mission.
Definition: AP_Mission.h:45
AP_Param::ParamToken token
virtual void process()=0
DFMessageWriter_DFLogStart(const char *firmware_string)
DFMessageWriter_WriteSysInfo _writesysinfo
virtual void set_dataflash_backend(class DataFlash_Backend *backend)
DFMessageWriter_WriteEntireMission _writeentiremission
Handles the MAVLINK command mission stack. Reads and writes mission to storage.
virtual void set_dataflash_backend(class DataFlash_Backend *backend)
DFMessageWriter_WriteSysInfo(const char *firmware_string)
virtual bool finished()
DataFlash_Backend * _dataflash_backend