missing mod. show dist/dir to fixed rxpos if not gps

pull/193/head
Hansi, dl9rdz 2021-09-26 14:42:21 +02:00
rodzic 2186482fb8
commit c6a7255d05
1 zmienionych plików z 3 dodań i 3 usunięć

Wyświetl plik

@ -1460,15 +1460,15 @@ void Display::calcGPS() {
} }
// distance // distance
if( valid && (sonde.si()->d.validPos&0x03)==0x03 && (layout->usegps&GPSUSE_DIST)) { if( valid && (sonde.si()->d.validPos&0x03)==0x03 && (layout->usegps&GPSUSE_DIST)) {
gpsDist = (int)calcLatLonDist(gpsPos.lat, gpsPos.lon, sonde.si()->d.lat, sonde.si()->d.lon); gpsDist = (int)calcLatLonDist(mylat, mylon, sonde.si()->d.lat, sonde.si()->d.lon);
} else { } else {
gpsDist = -1; gpsDist = -1;
} }
// bearing // bearing
if( valid && (sonde.si()->d.validPos&0x03)==0x03 && (layout->usegps&GPSUSE_BEARING)) { if( valid && (sonde.si()->d.validPos&0x03)==0x03 && (layout->usegps&GPSUSE_BEARING)) {
float lat1 = radians(gpsPos.lat); float lat1 = radians(mylat);
float lat2 = radians(sonde.si()->d.lat); float lat2 = radians(sonde.si()->d.lat);
float lon1 = radians(gpsPos.lon); float lon1 = radians(mylon);
float lon2 = radians(sonde.si()->d.lon); float lon2 = radians(sonde.si()->d.lon);
float y = sin(lon2-lon1)*cos(lat2); float y = sin(lon2-lon1)*cos(lat2);
float x = cos(lat1)*sin(lat2) - sin(lat1)*cos(lat2)*cos(lon2-lon1); float x = cos(lat1)*sin(lat2) - sin(lat1)*cos(lat2)*cos(lon2-lon1);