1
0
Fork 0
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:
Martin Budden 2017-12-15 10:07:19 +00:00
parent a0f6d10b72
commit 12640972a9
13 changed files with 59 additions and 31 deletions

View file

@ -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];

View file

@ -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);
}

View file

@ -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;