mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-20 06:45:16 +03:00
Fixed CONFIG_FASTLOOP_PREFERRED_ACC related magic numbers
This commit is contained in:
parent
efda3d7b5b
commit
91e7c160a3
16 changed files with 37 additions and 39 deletions
|
@ -103,7 +103,6 @@ extern uint16_t cycleTime; // FIXME dependency on mw.c
|
|||
extern uint16_t rssi; // FIXME dependency on mw.c
|
||||
extern void resetPidProfile(pidProfile_t *pidProfile);
|
||||
|
||||
|
||||
void setGyroSamplingSpeed(uint16_t looptime) {
|
||||
uint16_t gyroSampleRate = 1000;
|
||||
uint8_t maxDivider = 1;
|
||||
|
@ -116,43 +115,44 @@ void setGyroSamplingSpeed(uint16_t looptime) {
|
|||
gyroSampleRate = 125;
|
||||
maxDivider = 8;
|
||||
masterConfig.pid_process_denom = 1;
|
||||
masterConfig.acc_hardware = 0;
|
||||
masterConfig.baro_hardware = 0;
|
||||
masterConfig.mag_hardware = 0;
|
||||
masterConfig.acc_hardware = ACC_DEFAULT;
|
||||
masterConfig.baro_hardware = BARO_DEFAULT;
|
||||
masterConfig.mag_hardware = MAG_DEFAULT;
|
||||
if (looptime < 250) {
|
||||
masterConfig.acc_hardware = 1;
|
||||
masterConfig.baro_hardware = 1;
|
||||
masterConfig.mag_hardware = 1;
|
||||
masterConfig.acc_hardware = ACC_NONE;
|
||||
masterConfig.baro_hardware = BARO_NONE;
|
||||
masterConfig.mag_hardware = MAG_NONE;
|
||||
masterConfig.pid_process_denom = 2;
|
||||
} else if (looptime < 375) {
|
||||
masterConfig.acc_hardware = CONFIG_FASTLOOP_PREFERRED_ACC;
|
||||
masterConfig.acc_hardware = 1;
|
||||
masterConfig.baro_hardware = 1;
|
||||
masterConfig.mag_hardware = 1;
|
||||
masterConfig.acc_hardware = CONFIG_FASTLOOP_PREFERRED_ACC;
|
||||
masterConfig.baro_hardware = BARO_NONE;
|
||||
masterConfig.mag_hardware = MAG_NONE;
|
||||
masterConfig.pid_process_denom = 2;
|
||||
}
|
||||
masterConfig.gyro_sync_denom = constrain(looptime / gyroSampleRate, 1, maxDivider);
|
||||
} else {
|
||||
masterConfig.gyro_lpf = 0;
|
||||
masterConfig.gyro_sync_denom = 8;
|
||||
masterConfig.acc_hardware = 0;
|
||||
masterConfig.baro_hardware = 0;
|
||||
masterConfig.mag_hardware = 0;
|
||||
masterConfig.acc_hardware = ACC_DEFAULT;
|
||||
masterConfig.baro_hardware = BARO_DEFAULT;
|
||||
masterConfig.mag_hardware = MAG_DEFAULT;
|
||||
}
|
||||
#else
|
||||
if (looptime < 1000) {
|
||||
masterConfig.gyro_lpf = 0;
|
||||
masterConfig.acc_hardware = 1;
|
||||
masterConfig.baro_hardware = 1;
|
||||
masterConfig.mag_hardware = 1;
|
||||
masterConfig.acc_hardware = ACC_NONE;
|
||||
masterConfig.baro_hardware = BARO_NONE;
|
||||
masterConfig.mag_hardware = MAG_NONE;
|
||||
gyroSampleRate = 125;
|
||||
maxDivider = 8;
|
||||
masterConfig.pid_process_denom = 1;
|
||||
if (currentProfile->pidProfile.pidController == 2) masterConfig.pid_process_denom = 2;
|
||||
if (currentProfile->pidProfile.pidController == PID_CONTROLLER_LUX_FLOAT) {
|
||||
masterConfig.pid_process_denom = 2;
|
||||
}
|
||||
if (looptime < 250) {
|
||||
masterConfig.pid_process_denom = 4;
|
||||
} else if (looptime < 375) {
|
||||
if (currentProfile->pidProfile.pidController == 2) {
|
||||
if (currentProfile->pidProfile.pidController == PID_CONTROLLER_LUX_FLOAT) {
|
||||
masterConfig.pid_process_denom = 3;
|
||||
} else {
|
||||
masterConfig.pid_process_denom = 2;
|
||||
|
@ -161,11 +161,10 @@ void setGyroSamplingSpeed(uint16_t looptime) {
|
|||
masterConfig.gyro_sync_denom = constrain(looptime / gyroSampleRate, 1, maxDivider);
|
||||
} else {
|
||||
masterConfig.gyro_lpf = 0;
|
||||
|
||||
masterConfig.gyro_sync_denom = 8;
|
||||
masterConfig.acc_hardware = 0;
|
||||
masterConfig.baro_hardware = 0;
|
||||
masterConfig.mag_hardware = 0;
|
||||
masterConfig.acc_hardware = ACC_DEFAULT;
|
||||
masterConfig.baro_hardware = BARO_DEFAULT;
|
||||
masterConfig.mag_hardware = MAG_DEFAULT;
|
||||
masterConfig.pid_process_denom = 1;
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue