From f668ea5aa628466e1c49f6142f7eba64d8c1b21f Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Thu, 2 Feb 2023 10:16:21 -0500 Subject: [PATCH] ekf2: RingBuffer add reset method --- src/modules/ekf2/EKF/RingBuffer.h | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/modules/ekf2/EKF/RingBuffer.h b/src/modules/ekf2/EKF/RingBuffer.h index e11a1f95c2..aeb4471ad5 100644 --- a/src/modules/ekf2/EKF/RingBuffer.h +++ b/src/modules/ekf2/EKF/RingBuffer.h @@ -81,10 +81,7 @@ public: _size = size; - _head = 0; - _tail = 0; - - _first_write = true; + reset(); return true; } @@ -171,6 +168,19 @@ public: return count; } + void reset() + { + if (_buffer) { + for (uint8_t i = 0; i < _size; i++) { + _buffer[i] = {}; + } + + _head = 0; + _tail = 0; + _first_write = true; + } + } + private: data_type *_buffer{nullptr};