From e5ea748e7fb8b7b69bd916b155ed5637b4d5ddf2 Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Tue, 6 Aug 2019 17:09:08 +1000 Subject: [PATCH] Tracker: integrate AP_Stats library --- AntennaTracker/AntennaTracker.cpp | 10 ++++++++++ AntennaTracker/GCS_Mavlink.cpp | 1 + AntennaTracker/Parameters.cpp | 4 ++++ AntennaTracker/Parameters.h | 1 + AntennaTracker/Tracker.h | 4 ++++ AntennaTracker/system.cpp | 3 +++ AntennaTracker/wscript | 1 + 7 files changed, 24 insertions(+) diff --git a/AntennaTracker/AntennaTracker.cpp b/AntennaTracker/AntennaTracker.cpp index 73f456919d..21490bb96a 100644 --- a/AntennaTracker/AntennaTracker.cpp +++ b/AntennaTracker/AntennaTracker.cpp @@ -51,6 +51,7 @@ const AP_Scheduler::Task Tracker::scheduler_tasks[] = { SCHED_TASK_CLASS(AP_Notify, &tracker.notify, update, 50, 100), SCHED_TASK(one_second_loop, 1, 3900), SCHED_TASK_CLASS(Compass, &tracker.compass, cal_update, 50, 100), + SCHED_TASK(stats_update, 1, 200), SCHED_TASK(accel_cal_update, 10, 100) }; @@ -132,6 +133,15 @@ void Tracker::ten_hz_logging_loop() } } +/* + update AP_Stats +*/ +void Tracker::stats_update(void) +{ + stats.set_flying(hal.util->get_soft_armed()); + stats.update(); +} + const AP_HAL::HAL& hal = AP_HAL::get_HAL(); Tracker::Tracker(void) diff --git a/AntennaTracker/GCS_Mavlink.cpp b/AntennaTracker/GCS_Mavlink.cpp index 0a32fd6e6f..511660aeaa 100644 --- a/AntennaTracker/GCS_Mavlink.cpp +++ b/AntennaTracker/GCS_Mavlink.cpp @@ -267,6 +267,7 @@ static const ap_message STREAM_EXTRA3_msgs[] = { MSG_AHRS, MSG_HWSTATUS, MSG_SIMSTATE, + MSG_SYSTEM_TIME, MSG_AHRS2, MSG_AHRS3, MSG_MAG_CAL_REPORT, diff --git a/AntennaTracker/Parameters.cpp b/AntennaTracker/Parameters.cpp index 015aa6b4b0..a06d384b95 100644 --- a/AntennaTracker/Parameters.cpp +++ b/AntennaTracker/Parameters.cpp @@ -409,6 +409,10 @@ const AP_Param::Info Tracker::var_info[] = { // @User: Standard GSCALAR(disarm_pwm, "SAFE_DISARM_PWM", 0), + // @Group: STAT_ + // @Path: ../libraries/AP_Stats/AP_Stats.cpp + GOBJECT(stats, "STAT", AP_Stats), + AP_VAREND }; diff --git a/AntennaTracker/Parameters.h b/AntennaTracker/Parameters.h index ef68f3b092..0be41392a7 100644 --- a/AntennaTracker/Parameters.h +++ b/AntennaTracker/Parameters.h @@ -108,6 +108,7 @@ public: k_param_rc_channels, k_param_servo_channels, + k_param_stats = 218, k_param_scripting = 219, // diff --git a/AntennaTracker/Tracker.h b/AntennaTracker/Tracker.h index ca170c448b..6f51a9901a 100644 --- a/AntennaTracker/Tracker.h +++ b/AntennaTracker/Tracker.h @@ -51,6 +51,7 @@ #include #include #include +#include // statistics library #include // Notify library #include // Battery monitor library #include @@ -144,6 +145,8 @@ private: GCS_Tracker _gcs; // avoid using this; use gcs() GCS_Tracker &gcs() { return _gcs; } + AP_Stats stats; + AP_BoardConfig BoardConfig; #if HAL_WITH_UAVCAN @@ -208,6 +211,7 @@ private: // AntennaTracker.cpp void one_second_loop(); void ten_hz_logging_loop(); + void stats_update(); // control_auto.cpp void update_auto(void); diff --git a/AntennaTracker/system.cpp b/AntennaTracker/system.cpp index 2a39ec616b..38ece8855b 100644 --- a/AntennaTracker/system.cpp +++ b/AntennaTracker/system.cpp @@ -20,6 +20,9 @@ void Tracker::init_tracker() // Check the EEPROM format version before loading any parameters from EEPROM load_parameters(); + // initialise stats module + stats.init(); + mavlink_system.sysid = g.sysid_this_mav; // initialise serial ports diff --git a/AntennaTracker/wscript b/AntennaTracker/wscript index b4b4aaeb46..a8995253fe 100644 --- a/AntennaTracker/wscript +++ b/AntennaTracker/wscript @@ -10,6 +10,7 @@ def build(bld): 'AC_PID', 'AP_Beacon', 'AP_Arming', + 'AP_Stats', ], )