From 32ec29ccce52acc42a2509a484454e7ec43e89e3 Mon Sep 17 00:00:00 2001 From: borisbstyle Date: Sun, 23 Oct 2016 00:35:26 +0200 Subject: [PATCH] Fix unhandled SPI4 // Size reduction F1 --- src/main/common/filter.c | 2 +- src/main/common/filter.h | 8 ++++++-- src/main/drivers/bus_spi.c | 7 +++++++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/main/common/filter.c b/src/main/common/filter.c index e291ae25c9..420418e0d3 100644 --- a/src/main/common/filter.c +++ b/src/main/common/filter.c @@ -270,7 +270,7 @@ int16_t firFilterInt16Get(const firFilter_t *filter, int index) } void initFirFilter(firFilterState_t *filter, uint8_t gyroSoftLpfHz, uint16_t targetLooptime) { - filter->targetCount = constrain(lrintf((1.0f / (0.000001f * (float)targetLooptime)) / gyroSoftLpfHz), 1, MAX_DENOISE_WINDOW_SIZE); + filter->targetCount = constrain(lrintf((1.0f / (0.000001f * (float)targetLooptime)) / gyroSoftLpfHz), 1, MAX_FIR_WINDOW_SIZE); } /* prototype function for denoising of signal by dynamic moving average. Mainly for test purposes */ diff --git a/src/main/common/filter.h b/src/main/common/filter.h index 91057e3aa4..4db6999e1c 100644 --- a/src/main/common/filter.h +++ b/src/main/common/filter.h @@ -15,7 +15,11 @@ * along with Cleanflight. If not, see . */ -#define MAX_DENOISE_WINDOW_SIZE 120 +#ifdef STM32F10X +#define MAX_FIR_WINDOW_SIZE 60 +#else +#define MAX_FIR_WINDOW_SIZE 120 +#endif typedef struct pt1Filter_s { float state; @@ -34,7 +38,7 @@ typedef struct firFilterState_s { int targetCount; int index; float movingSum; - float state[MAX_DENOISE_WINDOW_SIZE]; + float state[MAX_FIR_WINDOW_SIZE]; } firFilterState_t; typedef enum { diff --git a/src/main/drivers/bus_spi.c b/src/main/drivers/bus_spi.c index aeff433585..8e62e09957 100644 --- a/src/main/drivers/bus_spi.c +++ b/src/main/drivers/bus_spi.c @@ -199,6 +199,13 @@ bool spiInit(SPIDevice device) return true; #else break; +#endif + case SPIDEV_4: +#if defined(USE_SPI_DEVICE_4) + spiInitDevice(device); + return true; +#else + break; #endif } return false;