Subversion Repositories NaviCtrl

Compare Revisions

Ignore whitespace Rev 575 → Rev 576

/trunk/main.h
14,7 → 14,7
 
#define VERSION_MAJOR 2
#define VERSION_MINOR 7
#define VERSION_PATCH 1
#define VERSION_PATCH 3
// 0 = A
// 1 = B
// 2 = C
/trunk/uart1.c
726,6 → 726,7
//$GPGGA,191410,4735.5634,N,00739.3538,E,1,04,4.4,351.5,M,48.0,M,,*45
//$GPGGA,092120.20,,,,,0,00,99.99,,,,,,*6C
//http://www.kowoma.de/gps/zusatzerklaerungen/NMEA.htm
 
void CreateNmeaGGA(void)
{
u8 array[200], i = 0, crc = 0, x;
750,10 → 751,10
tmp1 = abs(GPSData.Position.Latitude)%10000000L;
tmp1 *= 6; // in Minuten
tmp2 = tmp1 / 1000000L;
i += sprintf(&array[i],"%02d", (s16)tmp2);
i += sprintf(&array[i],"%02d", (u16)tmp2);
tmp2 = tmp1 % 1000000L;
tmp2 /= 10; // eine Stelle zu viel
i += sprintf(&array[i],".%05d,", (s16)tmp2);
tmp2 /= 100; // zwei Stellen zu viel
i += sprintf(&array[i],".%04d,", (u16)tmp2);
 
if(GPSData.Position.Latitude >= 0) i += sprintf(&array[i],"N,");
else i += sprintf(&array[i],"S,");
760,15 → 761,15
// +++++++++++++++++++++++++++++++++++++++++++
 
tmp1 = abs(GPSData.Position.Longitude)/10000000L;
i += sprintf(&array[i],"%03d", (s16)tmp1);
i += sprintf(&array[i],"%03d", (u16)tmp1);
 
tmp1 = abs(GPSData.Position.Longitude)%10000000L;
tmp1 *= 6; // in Minuten
tmp2 = tmp1 / 1000000L;
i += sprintf(&array[i],"%02d", (s16)tmp2);
i += sprintf(&array[i],"%02d", (u16)tmp2);
tmp2 = tmp1 % 1000000L;
tmp2 /= 10; // eine Stelle zu viel
i += sprintf(&array[i],".%05d,", (s16)tmp2);
tmp2 /= 100; // zwei Stellen zu viel
i += sprintf(&array[i],".%04d,", (u16)tmp2);
 
 
if(GPSData.Position.Longitude >= 0) i += sprintf(&array[i],"E,");
825,8 → 826,8
tmp2 = tmp1 / 1000000L;
i += sprintf(&array[i],"%02d", (s16)tmp2);
tmp2 = tmp1 % 1000000L;
tmp2 /= 10; // eine Stelle zu viel
i += sprintf(&array[i],".%05d,", (s16)tmp2);
tmp2 /= 100; // zwei Stellen zu viel
i += sprintf(&array[i],".%04d,", (s16)tmp2);
if(GPSData.Position.Latitude >= 0) i += sprintf(&array[i],"N,");
else i += sprintf(&array[i],"S,");
// +++++++++++++++++++++++++++++++++++++++++++
838,8 → 839,8
tmp2 = tmp1 / 1000000L;
i += sprintf(&array[i],"%02d", (s16)tmp2);
tmp2 = tmp1 % 1000000L;
tmp2 /= 10; // eine Stelle zu viel
i += sprintf(&array[i],".%05d,", (s16)tmp2);
tmp2 /= 100; // zwei Stellen zu viel
i += sprintf(&array[i],".%04d,", (s16)tmp2);
if(GPSData.Position.Longitude >= 0) i += sprintf(&array[i],"E,");
else i += sprintf(&array[i],"W,");
// +++++++++++++++++++++++++++++++++++++++++++
862,8 → 863,8
i += sprintf(&array[i],"%d.%1d,", abs(GeoMagDec)/10,abs(GeoMagDec)%10);
if(GeoMagDec < 0) i += sprintf(&array[i], "W,"); else i += sprintf(&array[i], "E,");
// +++++++++++++++++++++++++++++++++++++++++++
if(GPSData.Flags & FLAG_DIFFSOLN) i += sprintf(&array[i], "D,");
else i += sprintf(&array[i], "A,");
if(GPSData.Flags & FLAG_DIFFSOLN) i += sprintf(&array[i], "D*");
else i += sprintf(&array[i], "A*");
}
else // kein Satfix
{
/trunk/waypoints.c
777,10 → 777,9
WP.Index = 1;
WP.Type = POINT_TYPE_WP;
WP.WP_EventChannelValue = 0;
if(FC.StatusFlags & FC_STATUS_FLY && (FromFC_VarioCharacter != ' ')) // only in flight and if the Altitude control is enabled
if(FC.StatusFlags & FC_STATUS_FLY && ((FromFC_VarioCharacter != ' ') || (SimulationFlags & SIMULATION_ACTIVE))) // only in flight and if the Altitude control is enabled
{
WP.AltitudeRate = 255; // Auto
// WP.Position.Altitude = NaviData.Altimeter / 2;
WP.Position.Altitude = NaviData.SetpointAltitude / 2;
}
else