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