From 06796cd994aa6a2d06b9d890fcb2a22e29d47f82 Mon Sep 17 00:00:00 2001 From: Tom Pittenger Date: Tue, 5 May 2015 17:17:08 -0700 Subject: [PATCH] Rover: if receiving last mission item then log new mission to dataflash --- APMrover2/GCS_Mavlink.pde | 4 +++- APMrover2/Log.pde | 10 +++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/APMrover2/GCS_Mavlink.pde b/APMrover2/GCS_Mavlink.pde index 99cfe6a0de..83112c5ed5 100644 --- a/APMrover2/GCS_Mavlink.pde +++ b/APMrover2/GCS_Mavlink.pde @@ -1068,7 +1068,9 @@ void GCS_MAVLINK::handleMessage(mavlink_message_t* msg) // XXX receive a WP from GCS and store in EEPROM case MAVLINK_MSG_ID_MISSION_ITEM: { - handle_mission_item(msg, mission); + if (handle_mission_item(msg, mission)) { + Log_Write_EntireMission(); + } break; } diff --git a/APMrover2/Log.pde b/APMrover2/Log.pde index 932880eca0..e6bdd3086c 100644 --- a/APMrover2/Log.pde +++ b/APMrover2/Log.pde @@ -244,9 +244,16 @@ static void Log_Write_Startup(uint8_t type) DataFlash.WriteBlock(&pkt, sizeof(pkt)); // write all commands to the dataflash as well + Log_Write_EntireMission(); +} + +static void Log_Write_EntireMission() +{ + gcs_send_text_P(SEVERITY_LOW, PSTR("New mission")); + AP_Mission::Mission_Command cmd; for (uint16_t i = 0; i < mission.num_commands(); i++) { - if(mission.read_cmd_from_storage(i,cmd)) { + if (mission.read_cmd_from_storage(i,cmd)) { Log_Write_Cmd(cmd); } } @@ -430,6 +437,7 @@ static void start_logging() // dummy functions static void Log_Write_Startup(uint8_t type) {} +static void Log_Write_EntireMission() {} static void Log_Write_Current() {} static void Log_Write_Nav_Tuning() {} static void Log_Write_Performance() {}