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:
parent
e3b77b2ee5
commit
b39beceb62
17 changed files with 39 additions and 75 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue