diff --git a/STM32/CM7/Core/Inc/ring_buffer.h b/STM32/CM7/Core/Inc/ring_buffer.h index 294462f..de92307 100644 --- a/STM32/CM7/Core/Inc/ring_buffer.h +++ b/STM32/CM7/Core/Inc/ring_buffer.h @@ -11,3 +11,5 @@ typedef struct ring_buffer_t { inline void ringBufferPush(ring_buffer_t *rb, uint32_t value); inline uint32_t ringBufferRead(ring_buffer_t *rb, uint8_t idx); + +inline void ringBufferRevert(ring_buffer_t *rb, uint8_t val); diff --git a/STM32/CM7/Core/Src/ring_buffer.c b/STM32/CM7/Core/Src/ring_buffer.c index eea6da1..c5d5a09 100644 --- a/STM32/CM7/Core/Src/ring_buffer.c +++ b/STM32/CM7/Core/Src/ring_buffer.c @@ -15,3 +15,8 @@ void ringBufferPush(ring_buffer_t *rb, uint32_t value) { uint32_t ringBufferRead(ring_buffer_t *rb, uint8_t idx) { return rb->buffer[rb->w_head - 1 - idx]; } + +void ringBufferRevert(ring_buffer_t *rb, uint8_t val) { + rb->w_head -= val; + return; +}