diff --git a/src/RpiTx.c b/src/RpiTx.c index c827a5c..b6d1c3e 100644 --- a/src/RpiTx.c +++ b/src/RpiTx.c @@ -547,14 +547,14 @@ inline uint32_t FrequencyAmplitudeToRegister2(double TuneFrequency,uint32_t Ampl int CompensateWait=(WaitNanoSecond-OverWaitNanoSecond); for(i=1;i=CompensateWait) + if(CalibrationTab[i]+DelayStep/2>=CompensateWait) //DelayStep on PI2 but not on other models ? { break; } } - OverWaitNanoSecond+=CalibrationTab[i]/*+DelayStep*/-WaitNanoSecond; - // printf("step %d Overwait=%d\n",i,OverWaitNanoSecond); + OverWaitNanoSecond+=CalibrationTab[i]+DelayStep/2-WaitNanoSecond; + //printf("step %d Overwait=%d\n",i,OverWaitNanoSecond); int PwmStepDMA=i; //Number step performs by DMA /* int DelayStep=CalibrationTab[i+1]-CalibrationTab[i]; @@ -1042,7 +1042,7 @@ int GetDMADelay(int Step) usleep(100); //Wait to be sure DMA is running stable int i; int SumDelay=0; - int NbLoopToAverage=1; + int NbLoopToAverage=2; for(i=0;i