PID added new dweight values

This commit is contained in:
johan9107 2016-10-28 08:39:05 +02:00
parent 3d3d16cead
commit 428a6140b4

View File

@ -265,7 +265,7 @@ void pidUAVcore(pidProfile_t *pidProfile, pidProfileBuff_t *pidProfileBuff,
/* -----calculate P component ---- */ /* -----calculate P component ---- */
float PTerm = PTERM_SCALE * rateError * pidProfile->P[axis] * pidProfile-> PIDweight[axis] / 100; float PTerm = PTERM_SCALE * rateError * (float)pidProfile->P[axis] * (float)pidProfile-> PIDweight[axis] / 100.0;
// Constrain YAW by yaw_p_limit value // Constrain YAW by yaw_p_limit value
if (axis == YAW) if (axis == YAW)
@ -328,7 +328,7 @@ void pidUAVcore(pidProfile_t *pidProfile, pidProfileBuff_t *pidProfileBuff,
delta = pt1FilterApply4(&pidProfileBuff->deltaFilter[axis], delta, pidProfile->dterm_lpf, pidProfileBuff->dT); delta = pt1FilterApply4(&pidProfileBuff->deltaFilter[axis], delta, pidProfile->dterm_lpf, pidProfileBuff->dT);
} }
DTerm = DTERM_SCALE * delta * pidProfile->D[axis] * pidProfile->PIDweight[axis] / 100; DTerm = DTERM_SCALE * delta * (float)pidProfile->D[axis] * (float)pidProfile->PIDweight[axis] / 100.0;
DTerm = constrainf(DTerm, -PID_MAX_D, PID_MAX_D); DTerm = constrainf(DTerm, -PID_MAX_D, PID_MAX_D);
} }
@ -520,6 +520,8 @@ void pidUAVInit(pidProfile_t *pidProfile, uint8_t ID)
PidProfile[ID].pidEnabled = true; PidProfile[ID].pidEnabled = true;
PidProfile[ID].dterm_lpf = 90; PidProfile[ID].dterm_lpf = 90;
PidProfile[ID].pid_out_limit = 1000; PidProfile[ID].pid_out_limit = 1000;
pidProfile[ID].PIDweight[ROLL] = 50;
pidProfile[ID].PIDweight[PITCH] = 50;
break; break;
case PID_ID_COMPASS: case PID_ID_COMPASS: