EKF: Add methods to ring buffer to access specific indices

This commit is contained in:
Paul Riseborough 2016-04-22 08:21:36 +10:00
parent b295f9050c
commit 62c6d40f1f
1 changed files with 24 additions and 0 deletions

View File

@ -160,6 +160,30 @@ public:
return _buffer[index];
}
// return data at the specified index
data_type get_from_index(unsigned index)
{
if (index >= _size) {
index = _size-1;
}
return _buffer[index];
}
// push data to the specified index
void push_to_index(unsigned index, data_type sample)
{
if (index >= _size) {
index = _size-1;
}
_buffer[index] = sample;
}
// return the length of the buffer
unsigned get_length()
{
return _size;
}
private:
data_type *_buffer;
unsigned _head, _tail, _size;