diff --git a/STM32/CM7/Core/Inc/global_state.h b/STM32/CM7/Core/Inc/global_state.h index 0840d00..d7bd3d6 100644 --- a/STM32/CM7/Core/Inc/global_state.h +++ b/STM32/CM7/Core/Inc/global_state.h @@ -7,7 +7,7 @@ #include #define MAX_CAM_MISS 2 -#define SPARK_ADVANCE 20 +#define SPARK_ADVANCE 40 #define INJECTION_PHASE 0 typedef enum { SYNC_OK = 0, SYNC_PENDING = 1, SYNC_NOT_OK = 2 } sync_state_t; diff --git a/STM32/CM7/Core/Src/ring_buffer.c b/STM32/CM7/Core/Src/ring_buffer.c index f42d79a..e8e3127 100644 --- a/STM32/CM7/Core/Src/ring_buffer.c +++ b/STM32/CM7/Core/Src/ring_buffer.c @@ -5,6 +5,7 @@ #include #include #include +#include void ringBufferPush(volatile ring_buffer_t *rb, uint32_t value) { rb->buffer[rb->w_head] = value; @@ -13,7 +14,8 @@ void ringBufferPush(volatile ring_buffer_t *rb, uint32_t value) { } uint32_t ringBufferRead(volatile ring_buffer_t *rb, uint8_t neg_idx) { - return rb->buffer[rb->w_head - 1 - neg_idx]; + uint8_t idx = (uint8_t)(rb->w_head - 1u - neg_idx); + return rb->buffer[idx]; } void ringBufferRevert(volatile ring_buffer_t *rb, uint8_t val) {