Browse Source

AP_Stats: added semaphore to flttime update

fixes #12948
zr-v5.1
Andrew Tridgell 5 years ago
parent
commit
0dd6415052
  1. 2
      libraries/AP_Stats/AP_Stats.cpp
  2. 2
      libraries/AP_Stats/AP_Stats.h

2
libraries/AP_Stats/AP_Stats.cpp

@ -76,6 +76,7 @@ void AP_Stats::flush() @@ -76,6 +76,7 @@ void AP_Stats::flush()
void AP_Stats::update_flighttime()
{
if (_flying_ms) {
WITH_SEMAPHORE(sem);
const uint32_t now = AP_HAL::millis();
const uint32_t delta = (now - _flying_ms)/1000;
flttime += delta;
@ -93,6 +94,7 @@ void AP_Stats::update_runtime() @@ -93,6 +94,7 @@ void AP_Stats::update_runtime()
void AP_Stats::update()
{
WITH_SEMAPHORE(sem);
const uint32_t now_ms = AP_HAL::millis();
if (now_ms - last_flush_ms > flush_interval_ms) {
update_flighttime();

2
libraries/AP_Stats/AP_Stats.h

@ -67,7 +67,7 @@ private: @@ -67,7 +67,7 @@ private:
void update_flighttime();
void update_runtime();
HAL_Semaphore_Recursive sem;
};
namespace AP {

Loading…
Cancel
Save