Deleted oscilation when enableing acc
This commit is contained in:
parent
3407813f1e
commit
03be1e6b40
@ -325,6 +325,27 @@ void pidUAV(pidProfile_t *pidProfile, pidProfileBuff_t *pidProfileBuff)
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t flagAccBuff = 0;
|
||||
|
||||
void pidAccelerometer(void)
|
||||
{
|
||||
static uint8_t counterAcc = 0;
|
||||
|
||||
counterAcc = ((flagAccBuff == 0))? 0: counterAcc;
|
||||
|
||||
pidUAV(&PidProfile[PID_ID_ACCELEROMETER], &PidProfileBuff[PID_ID_ACCELEROMETER]);
|
||||
|
||||
if (counterAcc > 50)
|
||||
{
|
||||
PidProfile[PID_ID_ACCELEROMETER].PID_Out[ROLL] = rc_input.Roll;
|
||||
PidProfile[PID_ID_ACCELEROMETER].PID_Out[PITCH] = rc_input.Pitch;
|
||||
}
|
||||
else
|
||||
{
|
||||
counterAcc +=1;
|
||||
}
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* BRIEF: Runs a certain PID Controller *
|
||||
* INFORMATION: *
|
||||
@ -354,10 +375,12 @@ void pidRun(uint8_t ID)
|
||||
{
|
||||
PidProfile[PID_ID_ACCELEROMETER].PID_Out[ROLL] = rc_input.Roll;
|
||||
PidProfile[PID_ID_ACCELEROMETER].PID_Out[PITCH] = rc_input.Pitch;
|
||||
flagAccBuff = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
pidUAV(&PidProfile[PID_ID_ACCELEROMETER], &PidProfileBuff[PID_ID_ACCELEROMETER]);
|
||||
pidAccelerometer();
|
||||
flagAccBuff = 1;
|
||||
}
|
||||
|
||||
break;
|
||||
|
Reference in New Issue
Block a user