Browse Source

Rover: use simple log entry numbers to download logs

master
Peter Barker 9 years ago committed by Andrew Tridgell
parent
commit
5db4549d79
  1. 10
      APMrover2/Log.cpp

10
APMrover2/Log.cpp

@ -62,11 +62,9 @@ int8_t Rover::dump_log(uint8_t argc, const Menu::arg *argv) @@ -62,11 +62,9 @@ int8_t Rover::dump_log(uint8_t argc, const Menu::arg *argv)
int16_t dump_log_num;
uint16_t dump_log_start;
uint16_t dump_log_end;
uint16_t last_log_num;
// check that the requested log number can be read
dump_log_num = argv[1].i;
last_log_num = DataFlash.find_last_log();
if (dump_log_num == -2) {
DataFlash.DumpPageInfo(cliSerial);
@ -75,9 +73,7 @@ int8_t Rover::dump_log(uint8_t argc, const Menu::arg *argv) @@ -75,9 +73,7 @@ int8_t Rover::dump_log(uint8_t argc, const Menu::arg *argv)
cliSerial->printf_P(PSTR("dumping all\n"));
Log_Read(0, 1, 0);
return(-1);
} else if ((argc != 2)
|| ((uint16_t)dump_log_num > last_log_num))
{
} else if ((argc != 2) || ((uint16_t)dump_log_num > DataFlash.get_num_logs())) {
cliSerial->printf_P(PSTR("bad log number\n"));
return(-1);
}
@ -413,7 +409,7 @@ void Rover::log_init(void) @@ -413,7 +409,7 @@ void Rover::log_init(void)
#if CLI_ENABLED == ENABLED
// Read the DataFlash log memory : Packet Parser
void Rover::Log_Read(uint16_t log_num, uint16_t start_page, uint16_t end_page)
void Rover::Log_Read(uint16_t list_entry, uint16_t start_page, uint16_t end_page)
{
cliSerial->printf_P(PSTR("\n" FIRMWARE_STRING
"\nFree RAM: %u\n"),
@ -421,7 +417,7 @@ void Rover::Log_Read(uint16_t log_num, uint16_t start_page, uint16_t end_page) @@ -421,7 +417,7 @@ void Rover::Log_Read(uint16_t log_num, uint16_t start_page, uint16_t end_page)
cliSerial->println_P(PSTR(HAL_BOARD_NAME));
DataFlash.LogReadProcess(log_num, start_page, end_page,
DataFlash.LogReadProcess(list_entry, start_page, end_page,
FUNCTOR_BIND_MEMBER(&Rover::print_mode, void, AP_HAL::BetterStream *, uint8_t),
cliSerial);
}

Loading…
Cancel
Save