mirror of https://github.com/F5OEO/rpitx
Add auto calibration - Fixe a timing in sstv
This commit is contained in:
parent
f9022c0ed8
commit
d1c4aae346
61
src/RpiTx.c
61
src/RpiTx.c
|
|
@ -91,7 +91,7 @@ float DelayStep=157;
|
|||
float DelayMini=1200;
|
||||
|
||||
int PWMF_MARGIN = 2496;//1120; //A Margin for now at 1us with PCM ->OK
|
||||
int globalppmpll=0;
|
||||
double globalppmpll=0;
|
||||
|
||||
|
||||
uint32_t *Shuffle[PWM_STEP_MAXI];
|
||||
|
|
@ -351,7 +351,15 @@ int SetupGpioClock(uint32_t SymbolRate,double TuningFrequency)
|
|||
|
||||
for (samplecnt = 0; samplecnt < NUM_SAMPLES ; samplecnt++)
|
||||
{
|
||||
|
||||
//At Same Time Init Samples
|
||||
if(UsePCMClk==0)
|
||||
{
|
||||
ctl->sample[samplecnt].Amplitude2=0x0;
|
||||
}
|
||||
else
|
||||
ctl->sample[samplecnt].Amplitude2=(Originfsel & ~(7 << 12)) | (0 << 12); //Pin is in
|
||||
ctl->sample[samplecnt].Amplitude1=0x5a000000 + (0&0x7) + (1<<4) + (0<<3);
|
||||
|
||||
|
||||
//@0
|
||||
//Set Amplitude by writing to PWM_SERIAL via PADS
|
||||
|
|
@ -577,13 +585,13 @@ inline uint32_t FrequencyAmplitudeToRegister2(double TuneFrequency,uint32_t Ampl
|
|||
uint32_t RegisterF1;
|
||||
uint32_t RegisterF2;
|
||||
|
||||
int NbF1DMA,NbF2DMA;
|
||||
int NbF1DMA;
|
||||
if(NbF2>DelayMiniStep)//NbF2 is the upper frequency which will be play longer due to delay
|
||||
{
|
||||
RegisterF1=0x5A000000 | (FreqDividerf1<<12) | (FreqFractionnalf1);
|
||||
RegisterF2=0x5A000000 | (FreqDividerf2<<12) | (FreqFractionnalf2);
|
||||
NbF1DMA=NbF1;
|
||||
NbF2DMA=NbF2-DelayMiniStep;
|
||||
//NbF2DMA=NbF2-DelayMiniStep;
|
||||
|
||||
}
|
||||
else // F1 and F2 Swap : NbF1 is now the lowest frequency which will play longer due to delay
|
||||
|
|
@ -591,7 +599,7 @@ inline uint32_t FrequencyAmplitudeToRegister2(double TuneFrequency,uint32_t Ampl
|
|||
RegisterF1=0x5A000000 | (FreqDividerf2<<12) | (FreqFractionnalf2);
|
||||
RegisterF2=0x5A000000 | (FreqDividerf1<<12) | (FreqFractionnalf1);
|
||||
NbF1DMA=NbF2;;
|
||||
NbF2DMA=NbF1-DelayMiniStep;
|
||||
//NbF2DMA=NbF1-DelayMiniStep;
|
||||
}
|
||||
|
||||
//printf("Ftune %f NbStepPWM=%d NbF1=%d NbF2=%d DelayMini=%d DelayStep=%d DelayMiniStep%d\n",FTunePercentage,NbStepPWM,NbF1,NbF2,DelayMini,DelayStep,DelayMiniStep);
|
||||
|
|
@ -1015,6 +1023,9 @@ int GetDMADelay(int Step)
|
|||
dma_reg[DMA_CONBLK_AD+DMA_CHANNEL*0x40]=mem_virt_to_phys((void*)cur_cb);
|
||||
//usleep(100);
|
||||
int samplecnt;
|
||||
|
||||
|
||||
|
||||
for (samplecnt = 0; samplecnt < NUM_SAMPLES ; samplecnt++)
|
||||
{
|
||||
|
||||
|
|
@ -1027,7 +1038,8 @@ int GetDMADelay(int Step)
|
|||
//usleep(500); //Wait to be sure DMA is running stable
|
||||
int i;
|
||||
int SumDelay=0;
|
||||
for(i=0;i<10;i++)
|
||||
int NbLoopToAverage=1;
|
||||
for(i=0;i<NbLoopToAverage;i++)
|
||||
{
|
||||
|
||||
|
||||
|
|
@ -1052,7 +1064,7 @@ int GetDMADelay(int Step)
|
|||
clock_gettime(CLOCK_REALTIME, &gettime_now);
|
||||
|
||||
}
|
||||
while(free_slots<=NUM_SAMPLES*0.6);
|
||||
while(free_slots<=NUM_SAMPLES*0.4);
|
||||
|
||||
|
||||
|
||||
|
|
@ -1072,10 +1084,10 @@ int GetDMADelay(int Step)
|
|||
dma_reg[DMA_CS+DMA_CHANNEL*0x40] |= DMA_CS_RESET; //BCM2708_DMA_ABORT|BCM2708_DMA_RESET;
|
||||
udelay(100);
|
||||
|
||||
return SumDelay/10;
|
||||
return SumDelay/NbLoopToAverage;
|
||||
}
|
||||
|
||||
int CalibrateSystem(int *ppm,int *BaseDelayDMA,float *StepDelayDMA)
|
||||
int CalibrateSystem(double *ppm,int *BaseDelayDMA,float *StepDelayDMA)
|
||||
{
|
||||
struct timex ntx;
|
||||
int status;
|
||||
|
|
@ -1085,7 +1097,7 @@ int CalibrateSystem(int *ppm,int *BaseDelayDMA,float *StepDelayDMA)
|
|||
ntx.modes = 0; /* only read */
|
||||
status = ntp_adjtime(&ntx);
|
||||
double clockppm;
|
||||
|
||||
|
||||
|
||||
switch(info.model)
|
||||
{
|
||||
|
|
@ -1119,20 +1131,22 @@ int CalibrateSystem(int *ppm,int *BaseDelayDMA,float *StepDelayDMA)
|
|||
REAL x[PWM_STEP_MAXI];
|
||||
REAL y[PWM_STEP_MAXI];
|
||||
|
||||
/*
|
||||
|
||||
int hFileCsv;
|
||||
hFileCsv=open("calib.csv",O_CREAT | O_WRONLY);
|
||||
|
||||
printf("Performs calibration ");
|
||||
for(i=1;i<PWM_STEP_MAXI;i+=1)
|
||||
{
|
||||
int Delay=GetDMADelay(i);
|
||||
printf("Step %d :%d \n",i,Delay);//,(GetDMADelay(i)-BaseDelay)/i);
|
||||
//printf("Step %d :%d \n",i,Delay);//,(GetDMADelay(i)-BaseDelay)/i);
|
||||
sprintf(csvline,"CalibrationTab[%d]=%d;\n",i,Delay);
|
||||
CalibrationTab[i]=Delay;
|
||||
write(hFileCsv,csvline,strlen(csvline));
|
||||
|
||||
}*/
|
||||
|
||||
if((i%10)==0)printf(".");fflush(stdout);
|
||||
}
|
||||
|
||||
printf("\n");
|
||||
REAL m,b,r;
|
||||
|
||||
for(i=1;i<PWM_STEP_MAXI;i++)
|
||||
|
|
@ -1158,7 +1172,7 @@ int CalibrateSystem(int *ppm,int *BaseDelayDMA,float *StepDelayDMA)
|
|||
DelayStep=Sum[0]/NumberToAverage;
|
||||
DelayMini=Sum[1]/NumberToAverage;
|
||||
|
||||
printf("DMA Delay Step =%f Delay =%f\n",DelayStep,DelayMini);
|
||||
//printf("DMA Delay Step =%f Delay =%f\n",DelayStep,DelayMini);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
@ -1186,13 +1200,13 @@ int pitx_init(int SampleRate, double TuningFrequency, int* skipSignals,int SetDm
|
|||
InitGpio();
|
||||
InitDma(terminate, skipSignals);
|
||||
if(SetDma) DMA_CHANNEL=SetDma;
|
||||
printf("---------------- Init %f\n",TuningFrequency);
|
||||
|
||||
SetupGpioClock(SampleRate,TuningFrequency);
|
||||
InitShuffle();
|
||||
//int FREQ_MINI_TIMING=157;
|
||||
//int PWMF_MARGIN = 1120; //A Margin for now at 1us with PCM ->OK
|
||||
|
||||
if(CalibrateSystem(&globalppmpll,&PWMF_MARGIN,&FREQ_MINI_TIMING)) printf("Calibrate : ppm=%d DMA %fns:%fns\n",globalppmpll,DelayStep,DelayMini);
|
||||
if(CalibrateSystem(&globalppmpll,&PWMF_MARGIN,&FREQ_MINI_TIMING)) printf("Calibrate : ppm=%f DMA %fns:%fns\n",globalppmpll,DelayStep,DelayMini);
|
||||
//printf("Timing : 1 cyle=%dns 1sample=%dns\n",NBSAMPLES_PWM_FREQ_MAX*400*3,(int)(1e9/(float)SampleRate));
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -1462,7 +1476,7 @@ int pitx_run(
|
|||
pitx_init(SampleRate, GlobalTuningFrequency/HarmonicNumber, skipSignals,SetDma);
|
||||
//Correct PLL Frequency
|
||||
|
||||
if(ppmpll==0) ppmpll=(float)-globalppmpll; // Use calibrate only if not setting by user
|
||||
if(ppmpll==0) ppmpll=-globalppmpll; // Use calibrate only if not setting by user
|
||||
|
||||
PllUsed+=(PllUsed * ppmpll) / 1000000.0;
|
||||
//printf("PLL ppm=%f -> PllUsed %u\n",ppmpll,PllUsed);
|
||||
|
|
@ -1774,13 +1788,14 @@ int pitx_run(
|
|||
//printf("TimeRemaining %d WaitSample %d\n",TimeRemaining,WaitSample);
|
||||
if(Mode==MODE_RF)
|
||||
{
|
||||
/*if(SampleRf.Frequency==0.0)
|
||||
//Need to fix : in FM need a constant carrier, in SSTV need sometimes to pause
|
||||
if(SampleRf.Frequency==0.0)
|
||||
{
|
||||
amp=0;
|
||||
SampleRf.Frequency=00.0;// TODO change that ugly frequency
|
||||
|
||||
}
|
||||
else*/
|
||||
else
|
||||
amp=32767;
|
||||
FrequencyAmplitudeToRegister2((SampleRf.Frequency/HarmonicNumber+GlobalTuningFrequency)/HarmonicNumber,amp,last_sample++,WaitSample,0,NoUsePwmFrequency,debug);
|
||||
}
|
||||
|
|
@ -1809,7 +1824,7 @@ int pitx_run(
|
|||
{
|
||||
|
||||
CompteSample++;
|
||||
if(CompteSample==327670) Up=0;
|
||||
// if(CompteSample==327670) Up=0;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -1819,7 +1834,7 @@ int pitx_run(
|
|||
debug=1;//(debug+1)%2;
|
||||
//OutputPower=((CompteSample/50)%2)*32767;
|
||||
|
||||
uint32_t RealWait=FrequencyAmplitudeToRegister2(GlobalTuningFrequency/HarmonicNumber+(CompteSample*0.05),OutputPower,last_sample++,20000,0,NoUsePwmFrequency,debug);
|
||||
uint32_t RealWait=FrequencyAmplitudeToRegister2(GlobalTuningFrequency/HarmonicNumber+(CompteSample*0.00),OutputPower,last_sample++,10000,0,NoUsePwmFrequency,debug);
|
||||
//printf("RealWait %d\n",(CompteSample/100)%15000+5000);
|
||||
free_slots--;
|
||||
//printf("%f \n",GlobalTuningFrequency+(((CompteSample/10)*1)%50000));
|
||||
|
|
|
|||
|
|
@ -1,202 +1,202 @@
|
|||
void InitCalibrationTabPi3(void)
|
||||
{
|
||||
CalibrationTab[1]=1280;
|
||||
CalibrationTab[2]=1533;
|
||||
CalibrationTab[3]=1786;
|
||||
CalibrationTab[4]=2028;
|
||||
CalibrationTab[5]=2289;
|
||||
CalibrationTab[6]=2527;
|
||||
CalibrationTab[7]=2739;
|
||||
CalibrationTab[8]=2957;
|
||||
CalibrationTab[9]=3158;
|
||||
CalibrationTab[10]=3367;
|
||||
CalibrationTab[11]=3556;
|
||||
CalibrationTab[12]=3772;
|
||||
CalibrationTab[13]=3941;
|
||||
CalibrationTab[14]=4160;
|
||||
CalibrationTab[15]=4348;
|
||||
CalibrationTab[16]=4556;
|
||||
CalibrationTab[17]=4760;
|
||||
CalibrationTab[18]=4927;
|
||||
CalibrationTab[19]=5097;
|
||||
CalibrationTab[20]=5272;
|
||||
CalibrationTab[21]=5391;
|
||||
CalibrationTab[22]=5567;
|
||||
CalibrationTab[23]=5752;
|
||||
CalibrationTab[24]=5871;
|
||||
CalibrationTab[25]=6039;
|
||||
CalibrationTab[26]=6201;
|
||||
CalibrationTab[27]=6340;
|
||||
CalibrationTab[28]=6495;
|
||||
CalibrationTab[29]=6672;
|
||||
CalibrationTab[30]=6835;
|
||||
CalibrationTab[31]=7029;
|
||||
CalibrationTab[32]=7117;
|
||||
CalibrationTab[33]=7298;
|
||||
CalibrationTab[34]=7462;
|
||||
CalibrationTab[35]=7638;
|
||||
CalibrationTab[36]=7798;
|
||||
CalibrationTab[37]=7914;
|
||||
CalibrationTab[38]=8038;
|
||||
CalibrationTab[39]=8227;
|
||||
CalibrationTab[40]=8399;
|
||||
CalibrationTab[41]=8550;
|
||||
CalibrationTab[42]=8721;
|
||||
CalibrationTab[43]=8894;
|
||||
CalibrationTab[44]=9050;
|
||||
CalibrationTab[45]=9162;
|
||||
CalibrationTab[46]=9331;
|
||||
CalibrationTab[47]=9504;
|
||||
CalibrationTab[48]=9663;
|
||||
CalibrationTab[49]=9812;
|
||||
CalibrationTab[50]=9976;
|
||||
CalibrationTab[51]=10135;
|
||||
CalibrationTab[52]=10307;
|
||||
CalibrationTab[53]=10538;
|
||||
CalibrationTab[54]=10576;
|
||||
CalibrationTab[55]=10737;
|
||||
CalibrationTab[56]=10914;
|
||||
CalibrationTab[57]=11077;
|
||||
CalibrationTab[58]=11237;
|
||||
CalibrationTab[59]=11412;
|
||||
CalibrationTab[60]=11544;
|
||||
CalibrationTab[61]=11697;
|
||||
CalibrationTab[62]=11859;
|
||||
CalibrationTab[63]=12008;
|
||||
CalibrationTab[64]=12183;
|
||||
CalibrationTab[65]=12347;
|
||||
CalibrationTab[66]=12534;
|
||||
CalibrationTab[67]=12670;
|
||||
CalibrationTab[68]=12762;
|
||||
CalibrationTab[69]=12949;
|
||||
CalibrationTab[70]=13116;
|
||||
CalibrationTab[71]=13277;
|
||||
CalibrationTab[72]=13444;
|
||||
CalibrationTab[73]=13592;
|
||||
CalibrationTab[74]=13757;
|
||||
CalibrationTab[75]=13929;
|
||||
CalibrationTab[76]=14084;
|
||||
CalibrationTab[77]=14196;
|
||||
CalibrationTab[78]=14381;
|
||||
CalibrationTab[79]=14558;
|
||||
CalibrationTab[80]=14682;
|
||||
CalibrationTab[81]=14862;
|
||||
CalibrationTab[82]=15009;
|
||||
CalibrationTab[83]=15188;
|
||||
CalibrationTab[84]=15344;
|
||||
CalibrationTab[85]=15537;
|
||||
CalibrationTab[86]=15722;
|
||||
CalibrationTab[87]=15831;
|
||||
CalibrationTab[88]=15875;
|
||||
CalibrationTab[89]=16074;
|
||||
CalibrationTab[90]=16248;
|
||||
CalibrationTab[91]=16427;
|
||||
CalibrationTab[92]=16575;
|
||||
CalibrationTab[93]=16751;
|
||||
CalibrationTab[94]=16908;
|
||||
CalibrationTab[95]=17068;
|
||||
CalibrationTab[96]=17234;
|
||||
CalibrationTab[97]=17351;
|
||||
CalibrationTab[98]=17523;
|
||||
CalibrationTab[99]=17700;
|
||||
CalibrationTab[100]=17863;
|
||||
CalibrationTab[101]=18061;
|
||||
CalibrationTab[102]=18130;
|
||||
CalibrationTab[103]=18308;
|
||||
CalibrationTab[104]=18486;
|
||||
CalibrationTab[105]=18646;
|
||||
CalibrationTab[106]=18800;
|
||||
CalibrationTab[107]=18998;
|
||||
CalibrationTab[108]=19093;
|
||||
CalibrationTab[109]=19265;
|
||||
CalibrationTab[110]=19454;
|
||||
CalibrationTab[111]=19557;
|
||||
CalibrationTab[112]=19719;
|
||||
CalibrationTab[113]=19895;
|
||||
CalibrationTab[114]=20049;
|
||||
CalibrationTab[115]=20217;
|
||||
CalibrationTab[116]=20374;
|
||||
CalibrationTab[117]=20540;
|
||||
CalibrationTab[118]=20718;
|
||||
CalibrationTab[119]=20926;
|
||||
CalibrationTab[120]=21103;
|
||||
CalibrationTab[121]=21150;
|
||||
CalibrationTab[122]=21212;
|
||||
CalibrationTab[123]=21447;
|
||||
CalibrationTab[124]=21614;
|
||||
CalibrationTab[125]=21776;
|
||||
CalibrationTab[126]=21939;
|
||||
CalibrationTab[127]=22096;
|
||||
CalibrationTab[128]=22260;
|
||||
CalibrationTab[129]=22418;
|
||||
CalibrationTab[130]=22586;
|
||||
CalibrationTab[131]=22737;
|
||||
CalibrationTab[132]=22908;
|
||||
CalibrationTab[133]=23056;
|
||||
CalibrationTab[134]=23206;
|
||||
CalibrationTab[135]=23361;
|
||||
CalibrationTab[136]=23522;
|
||||
CalibrationTab[137]=23725;
|
||||
CalibrationTab[138]=23792;
|
||||
CalibrationTab[139]=23973;
|
||||
CalibrationTab[140]=24146;
|
||||
CalibrationTab[141]=24311;
|
||||
CalibrationTab[142]=24449;
|
||||
CalibrationTab[143]=24616;
|
||||
CalibrationTab[144]=24782;
|
||||
CalibrationTab[145]=24942;
|
||||
CalibrationTab[146]=25115;
|
||||
CalibrationTab[147]=25330;
|
||||
CalibrationTab[148]=25383;
|
||||
CalibrationTab[149]=25526;
|
||||
CalibrationTab[150]=25712;
|
||||
CalibrationTab[151]=25881;
|
||||
CalibrationTab[152]=26043;
|
||||
CalibrationTab[153]=26201;
|
||||
CalibrationTab[154]=26375;
|
||||
CalibrationTab[155]=26496;
|
||||
CalibrationTab[156]=26672;
|
||||
CalibrationTab[157]=26842;
|
||||
CalibrationTab[158]=27017;
|
||||
CalibrationTab[159]=27165;
|
||||
CalibrationTab[160]=27287;
|
||||
CalibrationTab[161]=27433;
|
||||
CalibrationTab[162]=27597;
|
||||
CalibrationTab[163]=27764;
|
||||
CalibrationTab[164]=27939;
|
||||
CalibrationTab[165]=28094;
|
||||
CalibrationTab[166]=28212;
|
||||
CalibrationTab[167]=28385;
|
||||
CalibrationTab[168]=28560;
|
||||
CalibrationTab[169]=28717;
|
||||
CalibrationTab[170]=28856;
|
||||
CalibrationTab[171]=29027;
|
||||
CalibrationTab[172]=29213;
|
||||
CalibrationTab[173]=29322;
|
||||
CalibrationTab[174]=29509;
|
||||
CalibrationTab[175]=29651;
|
||||
CalibrationTab[176]=29834;
|
||||
CalibrationTab[177]=29963;
|
||||
CalibrationTab[178]=30142;
|
||||
CalibrationTab[179]=30297;
|
||||
CalibrationTab[180]=30470;
|
||||
CalibrationTab[181]=30609;
|
||||
CalibrationTab[182]=30792;
|
||||
CalibrationTab[183]=30953;
|
||||
CalibrationTab[184]=31129;
|
||||
CalibrationTab[185]=31322;
|
||||
CalibrationTab[186]=31598;
|
||||
CalibrationTab[187]=31656;
|
||||
CalibrationTab[188]=31707;
|
||||
CalibrationTab[189]=31777;
|
||||
CalibrationTab[190]=31917;
|
||||
CalibrationTab[191]=32145;
|
||||
CalibrationTab[192]=32335;
|
||||
CalibrationTab[193]=32465;
|
||||
CalibrationTab[194]=32648;
|
||||
CalibrationTab[195]=32803;
|
||||
CalibrationTab[196]=32980;
|
||||
CalibrationTab[197]=33105;
|
||||
CalibrationTab[198]=33288;
|
||||
CalibrationTab[199]=33439;}
|
||||
CalibrationTab[1]=1260;
|
||||
CalibrationTab[2]=1509;
|
||||
CalibrationTab[3]=1761;
|
||||
CalibrationTab[4]=1998;
|
||||
CalibrationTab[5]=2255;
|
||||
CalibrationTab[6]=2490;
|
||||
CalibrationTab[7]=2702;
|
||||
CalibrationTab[8]=2919;
|
||||
CalibrationTab[9]=3111;
|
||||
CalibrationTab[10]=3319;
|
||||
CalibrationTab[11]=3515;
|
||||
CalibrationTab[12]=3732;
|
||||
CalibrationTab[13]=3900;
|
||||
CalibrationTab[14]=4100;
|
||||
CalibrationTab[15]=4295;
|
||||
CalibrationTab[16]=4510;
|
||||
CalibrationTab[17]=4699;
|
||||
CalibrationTab[18]=4881;
|
||||
CalibrationTab[19]=5033;
|
||||
CalibrationTab[20]=5191;
|
||||
CalibrationTab[21]=5344;
|
||||
CalibrationTab[22]=5501;
|
||||
CalibrationTab[23]=5658;
|
||||
CalibrationTab[24]=5849;
|
||||
CalibrationTab[25]=5974;
|
||||
CalibrationTab[26]=6121;
|
||||
CalibrationTab[27]=6288;
|
||||
CalibrationTab[28]=6443;
|
||||
CalibrationTab[29]=6599;
|
||||
CalibrationTab[30]=6757;
|
||||
CalibrationTab[31]=6911;
|
||||
CalibrationTab[32]=7072;
|
||||
CalibrationTab[33]=7231;
|
||||
CalibrationTab[34]=7386;
|
||||
CalibrationTab[35]=7547;
|
||||
CalibrationTab[36]=7715;
|
||||
CalibrationTab[37]=7811;
|
||||
CalibrationTab[38]=7989;
|
||||
CalibrationTab[39]=8149;
|
||||
CalibrationTab[40]=8311;
|
||||
CalibrationTab[41]=8470;
|
||||
CalibrationTab[42]=8630;
|
||||
CalibrationTab[43]=8785;
|
||||
CalibrationTab[44]=8940;
|
||||
CalibrationTab[45]=9100;
|
||||
CalibrationTab[46]=9254;
|
||||
CalibrationTab[47]=9407;
|
||||
CalibrationTab[48]=9566;
|
||||
CalibrationTab[49]=9751;
|
||||
CalibrationTab[50]=9881;
|
||||
CalibrationTab[51]=10029;
|
||||
CalibrationTab[52]=10192;
|
||||
CalibrationTab[53]=10350;
|
||||
CalibrationTab[54]=10504;
|
||||
CalibrationTab[55]=10661;
|
||||
CalibrationTab[56]=10816;
|
||||
CalibrationTab[57]=10977;
|
||||
CalibrationTab[58]=11136;
|
||||
CalibrationTab[59]=11293;
|
||||
CalibrationTab[60]=11448;
|
||||
CalibrationTab[61]=11617;
|
||||
CalibrationTab[62]=11716;
|
||||
CalibrationTab[63]=11895;
|
||||
CalibrationTab[64]=12056;
|
||||
CalibrationTab[65]=12214;
|
||||
CalibrationTab[66]=12374;
|
||||
CalibrationTab[67]=12534;
|
||||
CalibrationTab[68]=12691;
|
||||
CalibrationTab[69]=12848;
|
||||
CalibrationTab[70]=13007;
|
||||
CalibrationTab[71]=13162;
|
||||
CalibrationTab[72]=13314;
|
||||
CalibrationTab[73]=13473;
|
||||
CalibrationTab[74]=13651;
|
||||
CalibrationTab[75]=13788;
|
||||
CalibrationTab[76]=13936;
|
||||
CalibrationTab[77]=14099;
|
||||
CalibrationTab[78]=14257;
|
||||
CalibrationTab[79]=14409;
|
||||
CalibrationTab[80]=14568;
|
||||
CalibrationTab[81]=14724;
|
||||
CalibrationTab[82]=14885;
|
||||
CalibrationTab[83]=15041;
|
||||
CalibrationTab[84]=15200;
|
||||
CalibrationTab[85]=15357;
|
||||
CalibrationTab[86]=15522;
|
||||
CalibrationTab[87]=15624;
|
||||
CalibrationTab[88]=15803;
|
||||
CalibrationTab[89]=15962;
|
||||
CalibrationTab[90]=16117;
|
||||
CalibrationTab[91]=16276;
|
||||
CalibrationTab[92]=16438;
|
||||
CalibrationTab[93]=16596;
|
||||
CalibrationTab[94]=16755;
|
||||
CalibrationTab[95]=16918;
|
||||
CalibrationTab[96]=17070;
|
||||
CalibrationTab[97]=17220;
|
||||
CalibrationTab[98]=17378;
|
||||
CalibrationTab[99]=17553;
|
||||
CalibrationTab[100]=17695;
|
||||
CalibrationTab[101]=17843;
|
||||
CalibrationTab[102]=18005;
|
||||
CalibrationTab[103]=18161;
|
||||
CalibrationTab[104]=18313;
|
||||
CalibrationTab[105]=18478;
|
||||
CalibrationTab[106]=18630;
|
||||
CalibrationTab[107]=18792;
|
||||
CalibrationTab[108]=18945;
|
||||
CalibrationTab[109]=19104;
|
||||
CalibrationTab[110]=19266;
|
||||
CalibrationTab[111]=19436;
|
||||
CalibrationTab[112]=19534;
|
||||
CalibrationTab[113]=19711;
|
||||
CalibrationTab[114]=19870;
|
||||
CalibrationTab[115]=20024;
|
||||
CalibrationTab[116]=20183;
|
||||
CalibrationTab[117]=20342;
|
||||
CalibrationTab[118]=20501;
|
||||
CalibrationTab[119]=20661;
|
||||
CalibrationTab[120]=20819;
|
||||
CalibrationTab[121]=20977;
|
||||
CalibrationTab[122]=21131;
|
||||
CalibrationTab[123]=21282;
|
||||
CalibrationTab[124]=21454;
|
||||
CalibrationTab[125]=21599;
|
||||
CalibrationTab[126]=21751;
|
||||
CalibrationTab[127]=21912;
|
||||
CalibrationTab[128]=22068;
|
||||
CalibrationTab[129]=22220;
|
||||
CalibrationTab[130]=22380;
|
||||
CalibrationTab[131]=22540;
|
||||
CalibrationTab[132]=22695;
|
||||
CalibrationTab[133]=22854;
|
||||
CalibrationTab[134]=23008;
|
||||
CalibrationTab[135]=23174;
|
||||
CalibrationTab[136]=23347;
|
||||
CalibrationTab[137]=23440;
|
||||
CalibrationTab[138]=23618;
|
||||
CalibrationTab[139]=23776;
|
||||
CalibrationTab[140]=23932;
|
||||
CalibrationTab[141]=24091;
|
||||
CalibrationTab[142]=24251;
|
||||
CalibrationTab[143]=24403;
|
||||
CalibrationTab[144]=24563;
|
||||
CalibrationTab[145]=24722;
|
||||
CalibrationTab[146]=24883;
|
||||
CalibrationTab[147]=25035;
|
||||
CalibrationTab[148]=25188;
|
||||
CalibrationTab[149]=25361;
|
||||
CalibrationTab[150]=25506;
|
||||
CalibrationTab[151]=25656;
|
||||
CalibrationTab[152]=25818;
|
||||
CalibrationTab[153]=25977;
|
||||
CalibrationTab[154]=26130;
|
||||
CalibrationTab[155]=26287;
|
||||
CalibrationTab[156]=26447;
|
||||
CalibrationTab[157]=26597;
|
||||
CalibrationTab[158]=26764;
|
||||
CalibrationTab[159]=26915;
|
||||
CalibrationTab[160]=27082;
|
||||
CalibrationTab[161]=27262;
|
||||
CalibrationTab[162]=27343;
|
||||
CalibrationTab[163]=27520;
|
||||
CalibrationTab[164]=27683;
|
||||
CalibrationTab[165]=27839;
|
||||
CalibrationTab[166]=28000;
|
||||
CalibrationTab[167]=28158;
|
||||
CalibrationTab[168]=28308;
|
||||
CalibrationTab[169]=28469;
|
||||
CalibrationTab[170]=28629;
|
||||
CalibrationTab[171]=28786;
|
||||
CalibrationTab[172]=28945;
|
||||
CalibrationTab[173]=29095;
|
||||
CalibrationTab[174]=29261;
|
||||
CalibrationTab[175]=29413;
|
||||
CalibrationTab[176]=29563;
|
||||
CalibrationTab[177]=29726;
|
||||
CalibrationTab[178]=29883;
|
||||
CalibrationTab[179]=30037;
|
||||
CalibrationTab[180]=30196;
|
||||
CalibrationTab[181]=30353;
|
||||
CalibrationTab[182]=30499;
|
||||
CalibrationTab[183]=30668;
|
||||
CalibrationTab[184]=30822;
|
||||
CalibrationTab[185]=30987;
|
||||
CalibrationTab[186]=31164;
|
||||
CalibrationTab[187]=31247;
|
||||
CalibrationTab[188]=31427;
|
||||
CalibrationTab[189]=31589;
|
||||
CalibrationTab[190]=31750;
|
||||
CalibrationTab[191]=31906;
|
||||
CalibrationTab[192]=32063;
|
||||
CalibrationTab[193]=32215;
|
||||
CalibrationTab[194]=32378;
|
||||
CalibrationTab[195]=32533;
|
||||
CalibrationTab[196]=32690;
|
||||
CalibrationTab[197]=32848;
|
||||
CalibrationTab[198]=33004;
|
||||
CalibrationTab[199]=33164;}
|
||||
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ void addvistrailer ()
|
|||
void ProcessMartin1()
|
||||
{
|
||||
static uint32_t FrequencyMartin1[3]={1200,1500,1500};
|
||||
static uint32_t TimingMartin1[3]={48720,5720,4576};
|
||||
static uint32_t TimingMartin1[3]={48620,5720,4576};
|
||||
|
||||
int EndOfPicture=0;
|
||||
int NbRead=0;
|
||||
|
|
@ -156,6 +156,12 @@ int main(int argc, char **argv)
|
|||
}
|
||||
|
||||
ProcessMartin1();
|
||||
/*int i;
|
||||
for(i=0;i<320*240;i++)
|
||||
{
|
||||
playtone(1200,5720);
|
||||
playtone(0,5720);
|
||||
}*/
|
||||
close(FilePicture);
|
||||
close(FileFreqTiming);
|
||||
return 0;
|
||||
|
|
|
|||
Binary file not shown.
Loading…
Reference in New Issue