From 590eb86a45c8752abb7e974ac652a246bf8d903e Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Thu, 13 Dec 2018 12:36:18 +1100 Subject: [PATCH] DataFlash: use AP_Mission singleton --- libraries/DataFlash/DFMessageWriter.cpp | 18 ++++++------------ libraries/DataFlash/DFMessageWriter.h | 5 ----- libraries/DataFlash/DataFlash.cpp | 4 ---- libraries/DataFlash/DataFlash.h | 2 -- libraries/DataFlash/DataFlash_Backend.cpp | 4 ---- libraries/DataFlash/DataFlash_Backend.h | 2 -- libraries/DataFlash/LogFile.cpp | 1 - 7 files changed, 6 insertions(+), 30 deletions(-) diff --git a/libraries/DataFlash/DFMessageWriter.cpp b/libraries/DataFlash/DFMessageWriter.cpp index 95aeca36b3..a3e045a748 100644 --- a/libraries/DataFlash/DFMessageWriter.cpp +++ b/libraries/DataFlash/DFMessageWriter.cpp @@ -134,12 +134,6 @@ void DFMessageWriter_WriteSysInfo::reset() stage = ws_blockwriter_stage_init; } -void DFMessageWriter_DFLogStart::set_mission(const AP_Mission *mission) -{ - _writeentiremission.set_mission(mission); -} - - void DFMessageWriter_WriteSysInfo::process() { const AP_FWVersion &fwver = AP::fwversion(); @@ -188,6 +182,12 @@ void DFMessageWriter_WriteSysInfo::process() { } void DFMessageWriter_WriteEntireMission::process() { + const AP_Mission *_mission = AP::mission(); + if (_mission == nullptr) { + _finished = true; + return; + } + switch(stage) { case em_blockwriter_stage_init: @@ -234,9 +234,3 @@ void DFMessageWriter_WriteEntireMission::reset() stage = em_blockwriter_stage_init; _mission_number_to_send = 0; } - - -void DFMessageWriter_WriteEntireMission::set_mission(const AP_Mission *mission) -{ - _mission = mission; -} diff --git a/libraries/DataFlash/DFMessageWriter.h b/libraries/DataFlash/DFMessageWriter.h index 486cf0872c..490a5508e7 100644 --- a/libraries/DataFlash/DFMessageWriter.h +++ b/libraries/DataFlash/DFMessageWriter.h @@ -43,8 +43,6 @@ public: void reset() override; void process() override; - void set_mission(const AP_Mission *mission); - private: enum entire_mission_blockwriter_stage { em_blockwriter_stage_init, @@ -53,7 +51,6 @@ private: em_blockwriter_stage_done }; - const AP_Mission *_mission = nullptr; uint16_t _mission_number_to_send = 0; entire_mission_blockwriter_stage stage = em_blockwriter_stage_init; }; @@ -76,8 +73,6 @@ public: void process() override; bool fmt_done() { return _fmt_done; } - void set_mission(const AP_Mission *mission); - private: enum log_start_blockwriter_stage { diff --git a/libraries/DataFlash/DataFlash.cpp b/libraries/DataFlash/DataFlash.cpp index 02b781ebb0..69c10d58d3 100644 --- a/libraries/DataFlash/DataFlash.cpp +++ b/libraries/DataFlash/DataFlash.cpp @@ -514,10 +514,6 @@ void DataFlash_Class::set_vehicle_armed(const bool armed_state) } -void DataFlash_Class::set_mission(const AP_Mission *mission) { - FOR_EACH_BACKEND(set_mission(mission)); -} - // start functions pass straight through to backend: void DataFlash_Class::WriteBlock(const void *pBuffer, uint16_t size) { FOR_EACH_BACKEND(WriteBlock(pBuffer, size)); diff --git a/libraries/DataFlash/DataFlash.h b/libraries/DataFlash/DataFlash.h index 18c1ba4fbe..ea007e81e7 100644 --- a/libraries/DataFlash/DataFlash.h +++ b/libraries/DataFlash/DataFlash.h @@ -63,8 +63,6 @@ public: return _instance; } - void set_mission(const AP_Mission *mission); - // initialisation void Init(const struct LogStructure *structure, uint8_t num_types); void set_num_types(uint8_t num_types) { _num_types = num_types; } diff --git a/libraries/DataFlash/DataFlash_Backend.cpp b/libraries/DataFlash/DataFlash_Backend.cpp index 395c76140a..790e0acdde 100644 --- a/libraries/DataFlash/DataFlash_Backend.cpp +++ b/libraries/DataFlash/DataFlash_Backend.cpp @@ -83,10 +83,6 @@ void DataFlash_Backend::internal_error() { #endif } -void DataFlash_Backend::set_mission(const AP_Mission *mission) { - _startup_messagewriter->set_mission(mission); -} - // this method can be overridden to do extra things with your buffer. // for example, in DataFlash_MAVLink we may push messages into the UART. void DataFlash_Backend::push_log_blocks() { diff --git a/libraries/DataFlash/DataFlash_Backend.h b/libraries/DataFlash/DataFlash_Backend.h index 3eef39283c..fd30816e86 100644 --- a/libraries/DataFlash/DataFlash_Backend.h +++ b/libraries/DataFlash/DataFlash_Backend.h @@ -47,8 +47,6 @@ public: virtual void Init() { } - void set_mission(const AP_Mission *mission); - virtual uint32_t bufferspace_available() = 0; virtual void PrepForArming() { } diff --git a/libraries/DataFlash/LogFile.cpp b/libraries/DataFlash/LogFile.cpp index eceda6b298..f3dcd81a3c 100644 --- a/libraries/DataFlash/LogFile.cpp +++ b/libraries/DataFlash/LogFile.cpp @@ -436,7 +436,6 @@ void DataFlash_Backend::Log_Write_EntireMission(const AP_Mission &mission) { DFMessageWriter_WriteEntireMission writer; writer.set_dataflash_backend(this); - writer.set_mission(&mission); writer.process(); }