1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-23 08:15:30 +03:00

8khz Sampling option / preparation

This commit is contained in:
borisbstyle 2015-11-24 16:06:59 +01:00
parent e3b77b2ee5
commit b39beceb62
17 changed files with 39 additions and 75 deletions

View file

@ -41,15 +41,19 @@ bool gyroSyncCheckUpdate(void) {
return getMpuDataStatus(&gyro);
}
void gyroUpdateSampleRate(void) {
int gyroSamplePeriod;
int minLooptime;
void gyroUpdateSampleRate(uint8_t lpf) {
int gyroSamplePeriod, gyroSyncDenominator;
gyroSamplePeriod = 1000; // gyro sampling rate 1khz
minLooptime = 1000; // Full 1khz sampling
if (!lpf) {
gyroSamplePeriod = 125;
gyroSyncDenominator = 8; // Sample every 8th gyro measurement
} else {
gyroSamplePeriod = 1000;
gyroSyncDenominator = 1; // Full Sampling
}
// calculate gyro divider and targetLooptime (expected cycleTime)
mpuDividerDrops = (minLooptime + gyroSamplePeriod -1 ) / gyroSamplePeriod - 1;
mpuDividerDrops = gyroSyncDenominator - 1;
targetLooptime = (mpuDividerDrops + 1) * gyroSamplePeriod;
}