From e06c900812579f1b1865e0ea7956873a6bd3657c Mon Sep 17 00:00:00 2001 From: stefanlynka Date: Thu, 12 May 2016 14:17:31 +0900 Subject: [PATCH] Tracker: add Vbar dataflash message --- AntennaTracker/Log.cpp | 24 ++++++++++++++++++++++++ AntennaTracker/Tracker.h | 1 + AntennaTracker/defines.h | 3 +++ AntennaTracker/tracking.cpp | 3 +++ 4 files changed, 31 insertions(+) diff --git a/AntennaTracker/Log.cpp b/AntennaTracker/Log.cpp index d0f7483323..3473888251 100644 --- a/AntennaTracker/Log.cpp +++ b/AntennaTracker/Log.cpp @@ -26,8 +26,32 @@ void Tracker::Log_Write_Baro(void) DataFlash.Log_Write_Baro(barometer); } +struct PACKED log_Vehicle_Baro { + LOG_PACKET_HEADER; + uint64_t time_us; + float press; + float alt_diff; +}; + +// Write a vehicle baro packet +void Tracker::Log_Write_Vehicle_Baro(float pressure, float altitude) +{ + + struct log_Vehicle_Baro pkt = { + LOG_PACKET_HEADER_INIT(LOG_V_BAR_MSG), + time_us : AP_HAL::micros64(), + press : pressure, + alt_diff : altitude + + }; + DataFlash.WriteBlock(&pkt, sizeof(pkt)); +} + + const struct LogStructure Tracker::log_structure[] = { LOG_COMMON_STRUCTURES, + {LOG_V_BAR_MSG, sizeof(log_Vehicle_Baro), + "VBAR", "Qff", "TimeUS,Press,AltDiff" }, }; void Tracker::Log_Write_Vehicle_Startup_Messages() diff --git a/AntennaTracker/Tracker.h b/AntennaTracker/Tracker.h index f861b1b1de..baae59dfb6 100644 --- a/AntennaTracker/Tracker.h +++ b/AntennaTracker/Tracker.h @@ -255,6 +255,7 @@ private: void compass_cal_update(); void Log_Write_Attitude(); void Log_Write_Baro(void); + void Log_Write_Vehicle_Baro(float pressure, float altitude); void Log_Write_Vehicle_Startup_Messages(); void start_logging(); void log_init(void); diff --git a/AntennaTracker/defines.h b/AntennaTracker/defines.h index 23bd462510..eee3025cc4 100644 --- a/AntennaTracker/defines.h +++ b/AntennaTracker/defines.h @@ -32,3 +32,6 @@ enum ServoType { #define MASK_LOG_RCOUT (1<<4) #define MASK_LOG_COMPASS (1<<5) #define MASK_LOG_ANY 0xFFFF + +// Logging messages +#define LOG_V_BAR_MSG 0x04 diff --git a/AntennaTracker/tracking.cpp b/AntennaTracker/tracking.cpp index 39c95acc5f..2796014d32 100644 --- a/AntennaTracker/tracking.cpp +++ b/AntennaTracker/tracking.cpp @@ -150,6 +150,9 @@ void Tracker::tracking_update_pressure(const mavlink_scaled_pressure_t &msg) nav_status.altitude_difference = 0; nav_status.need_altitude_calibration = false; } + + // log altitude difference + Log_Write_Vehicle_Baro(local_pressure, alt_diff); } /**