delat macros and crank miss filter
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
#include "cmsis_os2.h"
|
||||
#include "global_state.h"
|
||||
#include "macros.h"
|
||||
#include "main.h"
|
||||
#include "ring_buffer.h"
|
||||
@@ -16,6 +17,12 @@ void crankHandler(void *argument) {
|
||||
DEBUG_LOG("Crank pulse detected at: %lu\n\r",
|
||||
ringBufferRead(&state_g.crank_RB, 0));
|
||||
// FILTER
|
||||
float delta_percentage = ((float)(D1A - D1B)) / D1B;
|
||||
if ( delta_percentage> 0.4||delta_percentage < -0.4) {
|
||||
state_g.sync_state = SYNC_NOT_OK;
|
||||
state_g.crank_state = CYCLE_UNKNOWN;
|
||||
continue;
|
||||
}
|
||||
// INCREMENT SWITCH
|
||||
switch (state_g.crank_state) {
|
||||
case CYCLE_COMPRESSION: {
|
||||
|
||||
Reference in New Issue
Block a user