From 48385b82dcf00d0fbee11cce674a18d04ac28b13 Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Mon, 2 Nov 2020 12:46:43 +1100 Subject: [PATCH] AP_Logger: use instance number for Mag logging --- libraries/AP_Logger/AP_Logger.h | 4 +--- libraries/AP_Logger/LogFile.cpp | 19 ++++++------------- libraries/AP_Logger/LogStructure.h | 29 ++++++++++------------------- 3 files changed, 17 insertions(+), 35 deletions(-) diff --git a/libraries/AP_Logger/AP_Logger.h b/libraries/AP_Logger/AP_Logger.h index 9f7caf5f8c..63fa837f5c 100644 --- a/libraries/AP_Logger/AP_Logger.h +++ b/libraries/AP_Logger/AP_Logger.h @@ -460,9 +460,7 @@ private: void Write_Baro_instance(uint64_t time_us, uint8_t baro_instance); void Write_IMU_instance(uint64_t time_us, uint8_t imu_instance); - void Write_Compass_instance(uint64_t time_us, - uint8_t mag_instance, - enum LogMessages type); + void Write_Compass_instance(uint64_t time_us, uint8_t mag_instance); void Write_Current_instance(uint64_t time_us, uint8_t battery_instance); void backend_starting_new_log(const AP_Logger_Backend *backend); diff --git a/libraries/AP_Logger/LogFile.cpp b/libraries/AP_Logger/LogFile.cpp index 992afbcb47..febe02f56c 100644 --- a/libraries/AP_Logger/LogFile.cpp +++ b/libraries/AP_Logger/LogFile.cpp @@ -663,16 +663,17 @@ void AP_Logger::Write_Current() } } -void AP_Logger::Write_Compass_instance(const uint64_t time_us, const uint8_t mag_instance, const enum LogMessages type) +void AP_Logger::Write_Compass_instance(const uint64_t time_us, const uint8_t mag_instance) { const Compass &compass = AP::compass(); const Vector3f &mag_field = compass.get_field(mag_instance); const Vector3f &mag_offsets = compass.get_offsets(mag_instance); const Vector3f &mag_motor_offsets = compass.get_motor_offsets(mag_instance); - const struct log_Compass pkt{ - LOG_PACKET_HEADER_INIT(type), + const struct log_MAG pkt{ + LOG_PACKET_HEADER_INIT(LOG_MAG_MSG), time_us : time_us, + instance : mag_instance, mag_x : (int16_t)mag_field.x, mag_y : (int16_t)mag_field.y, mag_z : (int16_t)mag_field.z, @@ -695,16 +696,8 @@ void AP_Logger::Write_Compass(uint64_t time_us) time_us = AP_HAL::micros64(); } const Compass &compass = AP::compass(); - if (compass.get_count() > 0) { - Write_Compass_instance(time_us, 0, LOG_COMPASS_MSG); - } - - if (compass.get_count() > 1) { - Write_Compass_instance(time_us, 1, LOG_COMPASS2_MSG); - } - - if (compass.get_count() > 2) { - Write_Compass_instance(time_us, 2, LOG_COMPASS3_MSG); + for (uint8_t i=0; i