mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-25 17:25:20 +03:00
Preparation for using instruction cache on F7
This commit is contained in:
parent
a0f6d10b72
commit
12640972a9
13 changed files with 59 additions and 31 deletions
|
@ -20,6 +20,8 @@
|
|||
#include <math.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "platform.h"
|
||||
|
||||
#include "common/maths.h"
|
||||
#include "common/axis.h"
|
||||
|
||||
|
@ -68,7 +70,7 @@ static void alignBoard(int32_t *vec)
|
|||
vec[Z] = lrintf(boardRotation[0][Z] * x + boardRotation[1][Z] * y + boardRotation[2][Z] * z);
|
||||
}
|
||||
|
||||
void alignSensors(int32_t *dest, uint8_t rotation)
|
||||
FAST_CODE void alignSensors(int32_t *dest, uint8_t rotation)
|
||||
{
|
||||
const int32_t x = dest[X];
|
||||
const int32_t y = dest[Y];
|
||||
|
|
|
@ -518,12 +518,12 @@ void gyroInitFilters(void)
|
|||
gyroInitSensorFilters(&gyroSensor1);
|
||||
}
|
||||
|
||||
bool isGyroSensorCalibrationComplete(const gyroSensor_t *gyroSensor)
|
||||
FAST_CODE bool isGyroSensorCalibrationComplete(const gyroSensor_t *gyroSensor)
|
||||
{
|
||||
return gyroSensor->calibration.calibratingG == 0;
|
||||
}
|
||||
|
||||
bool isGyroCalibrationComplete(void)
|
||||
FAST_CODE bool isGyroCalibrationComplete(void)
|
||||
{
|
||||
return isGyroSensorCalibrationComplete(&gyroSensor1);
|
||||
}
|
||||
|
@ -604,7 +604,7 @@ STATIC_UNIT_TESTED void performGyroCalibration(gyroSensor_t *gyroSensor, uint8_t
|
|||
}
|
||||
|
||||
#if defined(USE_GYRO_SLEW_LIMITER)
|
||||
int32_t gyroSlewLimiter(gyroSensor_t *gyroSensor, int axis)
|
||||
FAST_CODE int32_t gyroSlewLimiter(gyroSensor_t *gyroSensor, int axis)
|
||||
{
|
||||
int32_t newRawGyro = (int32_t)gyroSensor->gyroDev.gyroADCRaw[axis];
|
||||
if (abs(newRawGyro - gyroSensor->gyroDev.gyroADCRawPrevious[axis]) > (1<<14)) {
|
||||
|
@ -616,7 +616,7 @@ int32_t gyroSlewLimiter(gyroSensor_t *gyroSensor, int axis)
|
|||
}
|
||||
#endif
|
||||
|
||||
static void gyroUpdateSensor(gyroSensor_t *gyroSensor, timeUs_t currentTimeUs)
|
||||
static FAST_CODE void gyroUpdateSensor(gyroSensor_t *gyroSensor, timeUs_t currentTimeUs)
|
||||
{
|
||||
if (!gyroSensor->gyroDev.readFn(&gyroSensor->gyroDev)) {
|
||||
return;
|
||||
|
@ -701,7 +701,7 @@ static void gyroUpdateSensor(gyroSensor_t *gyroSensor, timeUs_t currentTimeUs)
|
|||
}
|
||||
}
|
||||
|
||||
void gyroUpdate(timeUs_t currentTimeUs)
|
||||
FAST_CODE void gyroUpdate(timeUs_t currentTimeUs)
|
||||
{
|
||||
gyroUpdateSensor(&gyroSensor1, currentTimeUs);
|
||||
}
|
||||
|
|
|
@ -136,7 +136,7 @@ const gyroFftData_t *gyroFftData(int axis)
|
|||
return &fftResult[axis];
|
||||
}
|
||||
|
||||
bool isDynamicFilterActive(void)
|
||||
FAST_CODE bool isDynamicFilterActive(void)
|
||||
{
|
||||
return feature(FEATURE_DYNAMIC_FILTER);
|
||||
}
|
||||
|
@ -144,7 +144,7 @@ bool isDynamicFilterActive(void)
|
|||
/*
|
||||
* Collect gyro data, to be analysed in gyroDataAnalyseUpdate function
|
||||
*/
|
||||
void gyroDataAnalyse(const gyroDev_t *gyroDev, biquadFilter_t *notchFilterDyn)
|
||||
FAST_CODE void gyroDataAnalyse(const gyroDev_t *gyroDev, biquadFilter_t *notchFilterDyn)
|
||||
{
|
||||
if (!isDynamicFilterActive()) {
|
||||
return;
|
||||
|
@ -197,7 +197,7 @@ typedef enum {
|
|||
/*
|
||||
* Analyse last gyro data from the last FFT_WINDOW_SIZE milliseconds
|
||||
*/
|
||||
void gyroDataAnalyseUpdate(biquadFilter_t *notchFilterDyn)
|
||||
FAST_CODE void gyroDataAnalyseUpdate(biquadFilter_t *notchFilterDyn)
|
||||
{
|
||||
static int axis = 0;
|
||||
static int step = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue