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 *
|
* BRIEF: Runs a certain PID Controller *
|
||||||
* INFORMATION: *
|
* 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[ROLL] = rc_input.Roll;
|
||||||
PidProfile[PID_ID_ACCELEROMETER].PID_Out[PITCH] = rc_input.Pitch;
|
PidProfile[PID_ID_ACCELEROMETER].PID_Out[PITCH] = rc_input.Pitch;
|
||||||
|
flagAccBuff = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
pidUAV(&PidProfile[PID_ID_ACCELEROMETER], &PidProfileBuff[PID_ID_ACCELEROMETER]);
|
pidAccelerometer();
|
||||||
|
flagAccBuff = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user