From 0cbe64bc5e46680f362b07e7ea3a852386f16f42 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Wed, 19 Feb 2014 07:38:20 +1100 Subject: [PATCH] Copter: use Log_Write_Baro() this gives the raw pressure and temperature, which is useful for analysis, plus allows for more accurate log replay --- ArduCopter/Log.pde | 6 ++++++ ArduCopter/sensors.pde | 3 +++ 2 files changed, 9 insertions(+) diff --git a/ArduCopter/Log.pde b/ArduCopter/Log.pde index 8395f7fc36..5eca0d7f1c 100644 --- a/ArduCopter/Log.pde +++ b/ArduCopter/Log.pde @@ -678,6 +678,11 @@ static void Log_Write_Error(uint8_t sub_system, uint8_t error_code) DataFlash.WriteBlock(&pkt, sizeof(pkt)); } +static void Log_Write_Baro(void) +{ + DataFlash.Log_Write_Baro(barometer); +} + static const struct LogStructure log_structure[] PROGMEM = { LOG_COMMON_STRUCTURES, #if AUTOTUNE == ENABLED @@ -799,6 +804,7 @@ static void Log_Write_Control_Tuning() {} static void Log_Write_Performance() {} static void Log_Write_Camera() {} static void Log_Write_Error(uint8_t sub_system, uint8_t error_code) {} +static void Log_Write_Baro(void); static int8_t process_logs(uint8_t argc, const Menu::arg *argv) { return 0; } diff --git a/ArduCopter/sensors.pde b/ArduCopter/sensors.pde index 6ce828fac3..4d7d9d0f55 100644 --- a/ArduCopter/sensors.pde +++ b/ArduCopter/sensors.pde @@ -26,6 +26,9 @@ static void init_barometer(bool full_calibration) static int32_t read_barometer(void) { barometer.read(); + if (g.log_bitmask & MASK_LOG_IMU) { + Log_Write_Baro(); + } return barometer.get_altitude() * 100.0f; }