else if(DIFFLONGm>=0 && DIFFLATm<=0)
{CTS = 90 - 180/pi * atan (DIFFLATm/DIFFLONGm);}
else if(DIFFLONGm<=0 && DIFFLATm>=0)
{CTS = 360 + 180/pi * atan (DIFFLONGm/DIFFLATm);}
else
{CTS = 180 + 180/pi * atan (DIFFLATm/DIFFLONGm);}
printf("cts = %f\n",CTS);
/*Apply magnetic dev and var corrections and determine velocity and time average hdg.*/
HDGTRU = HDGMAG + DEV + VAR;
if (SOG > 1) Speed = SOG;
else Speed = 0;
if (fabs(AVGCSE - HDGTRU) >= 20) AVGCSE = HDGTRU;
AVGCSE = (AVGCSE + HDGTRU + Speed*COG)/(2+Speed);
ABSDIFF = fabs(AVGCSE-CTS);
DIFF =(AVGCSE-CTS);
//for (i = 1; i <= 100000; i++);
/*Test output.*/
printf("hdgtru = %f\n",HDGTRU);
// printf("AVGCSE = %f\n",AVGCSE);
printf("absdiff = %f\n",ABSDIFF);
printf("diff = %f\n",DIFF);
}
else{
/*********************************************************************/
/*Function to read in Heading data and convert.*/
/*********************************************************************/
Komentarze do niniejszej Instrukcji