From 34344e7b66ddaa72cfcf5bbdac545f0c7a4189b6 Mon Sep 17 00:00:00 2001 From: F5OEO Date: Wed, 17 May 2017 14:12:48 +0000 Subject: [PATCH] Set a /2 step delay in timing calculation --- src/RpiTx.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) 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