mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-26 17:55:30 +03:00
Merge branch 'master' into development
This commit is contained in:
commit
09d16bd0cb
28 changed files with 482 additions and 145 deletions
|
@ -122,10 +122,9 @@ static uint32_t disarmAt; // Time of automatic disarm when "Don't spin the m
|
|||
|
||||
extern uint8_t PIDweight[3];
|
||||
|
||||
uint16_t filteredCycleTime;
|
||||
static bool isRXDataNew;
|
||||
static bool armingCalibrationWasInitialised;
|
||||
float setpointRate[3], ptermSetpointRate[3];
|
||||
float setpointRate[3];
|
||||
float rcInput[3];
|
||||
|
||||
extern pidControllerFuncPtr pid_controller;
|
||||
|
@ -203,19 +202,7 @@ void calculateSetpointRate(int axis, int16_t rc) {
|
|||
|
||||
if (currentControlRateProfile->rates[axis]) {
|
||||
rcSuperfactor = 1.0f / (constrainf(1.0f - (ABS(rcCommandf) * (currentControlRateProfile->rates[axis] / 100.0f)), 0.01f, 1.00f));
|
||||
if (currentProfile->pidProfile.pidController == PID_CONTROLLER_BETAFLIGHT) {
|
||||
ptermSetpointRate[axis] = constrainf(angleRate * rcSuperfactor, -1998.0f, 1998.0f);
|
||||
if (currentProfile->pidProfile.ptermSRateWeight < 100 && axis != YAW && !flightModeFlags) {
|
||||
const float pWeight = currentProfile->pidProfile.ptermSRateWeight / 100.0f;
|
||||
angleRate = angleRate + (pWeight * ptermSetpointRate[axis] - angleRate);
|
||||
} else {
|
||||
angleRate = ptermSetpointRate[axis];
|
||||
}
|
||||
} else {
|
||||
angleRate *= rcSuperfactor;
|
||||
}
|
||||
} else {
|
||||
if (currentProfile->pidProfile.pidController == PID_CONTROLLER_BETAFLIGHT) ptermSetpointRate[axis] = angleRate;
|
||||
angleRate *= rcSuperfactor;
|
||||
}
|
||||
|
||||
if (debugMode == DEBUG_ANGLERATE) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue