RS92: simple RAIM

dump
Zilog80 2016-10-27 11:18:54 +02:00
rodzic f0e4fc2b48
commit 3d295866bc
2 zmienionych plików z 64 dodań i 60 usunięć

Wyświetl plik

@ -1217,6 +1217,7 @@ int get_GPSkoord(int N) {
if (option_vergps == 8) {
fprintf(stdout, "bancroft[%2d] lat: %.6f , lon: %.6f , alt: %.2f ", N, lat, lon, alt);
fprintf(stdout, " (d:%.1f)", gpx.diter);
if (option_vel) {
fprintf(stdout, " vH: %4.1f D: %5.1f° vV: %3.1f ", vH, vD, vU);
}
@ -1286,7 +1287,7 @@ int rs92_ecc(int msglen) {
/* ------------------------------------------------------------------------------------ */
int print_position() { // GPS-Hoehe ueber Ellipsoid
int j, k, n;
int j, k, n = 0;
int err1, err2;
err1 = 0;
@ -1298,6 +1299,13 @@ int print_position() { // GPS-Hoehe ueber Ellipsoid
//err2 |= get_GPSweek();
err2 |= get_GPStime();
if (almanac || ephem) {
k = get_pseudorange();
if (k >= 4) {
n = get_GPSkoord(k);
}
}
if (!err1) {
//Gps2Date(gpx.week, gpx.gpssec, &gpx.jahr, &gpx.monat, &gpx.tag);
fprintf(stdout, "[%5d] ", gpx.frnr);
@ -1313,17 +1321,13 @@ int print_position() { // GPS-Hoehe ueber Ellipsoid
if (option_verbose) fprintf(stdout, " (W %d)", gpx.week);
*/
if (almanac || ephem) {
k = get_pseudorange();
if (k >= 4) {
n = get_GPSkoord(k);
if (n > 0) {
fprintf(stdout, " ");
if (almanac) fprintf(stdout, " lat: %.4f lon: %.4f alt: %.1f ", gpx.lat, gpx.lon, gpx.h);
else fprintf(stdout, " lat: %.5f lon: %.5f alt: %.1f ", gpx.lat, gpx.lon, gpx.h);
if (option_iter && (option_vergps == 8 || option_vergps == 2)) {
if (option_verbose && option_vergps != 8) {
fprintf(stdout, " (d:%.1f)", gpx.diter);
}
if (option_vel /*&& option_vergps >= 2*/) {
@ -1334,7 +1338,7 @@ int print_position() { // GPS-Hoehe ueber Ellipsoid
fprintf(stdout, " DOP[%02d,%02d,%02d,%02d] %.1f",
gpx.sats[0], gpx.sats[1], gpx.sats[2], gpx.sats[3], gpx.dop);
}
else {
else { // wenn option_vergps=2, dann n=N=k(-1)
fprintf(stdout, " DOP[");
for (j = 0; j < n; j++) {
fprintf(stdout, "%d", prn[j]);
@ -1343,8 +1347,6 @@ int print_position() { // GPS-Hoehe ueber Ellipsoid
}
}
}
}
}
get_Cal();

Wyświetl plik

@ -1187,6 +1187,7 @@ int get_GPSkoord(int N) {
if (option_vergps == 8) {
fprintf(stdout, "bancroft[%2d] lat: %.6f , lon: %.6f , alt: %.2f ", N, lat, lon, alt);
fprintf(stdout, " (d:%.1f)", gpx.diter);
if (option_vel) {
fprintf(stdout, " vH: %4.1f D: %5.1f° vV: %3.1f ", vH, vD, vU);
}
@ -1222,7 +1223,7 @@ int get_GPSkoord(int N) {
int print_position() { // GPS-Hoehe ueber Ellipsoid
int j, k, n;
int j, k, n = 0;
int err1, err2;
err1 = 0;
@ -1234,6 +1235,13 @@ int print_position() { // GPS-Hoehe ueber Ellipsoid
//err2 |= get_GPSweek();
err2 |= get_GPStime();
if (almanac || ephem) {
k = get_pseudorange();
if (k >= 4) {
n = get_GPSkoord(k);
}
}
if (!err1) {
//Gps2Date(gpx.week, gpx.gpssec, &gpx.jahr, &gpx.monat, &gpx.tag);
fprintf(stdout, "[%5d] ", gpx.frnr);
@ -1249,17 +1257,13 @@ int print_position() { // GPS-Hoehe ueber Ellipsoid
if (option_verbose) fprintf(stdout, " (W %d)", gpx.week);
*/
if (almanac || ephem) {
k = get_pseudorange();
if (k >= 4) {
n = get_GPSkoord(k);
if (n > 0) {
fprintf(stdout, " ");
if (almanac) fprintf(stdout, " lat: %.4f lon: %.4f alt: %.1f ", gpx.lat, gpx.lon, gpx.h);
else fprintf(stdout, " lat: %.5f lon: %.5f alt: %.1f ", gpx.lat, gpx.lon, gpx.h);
if (option_iter && (option_vergps == 8 || option_vergps == 2)) {
if (option_verbose && option_vergps != 8) {
fprintf(stdout, " (d:%.1f)", gpx.diter);
}
if (option_vel /*&& option_vergps >= 2*/) {
@ -1270,7 +1274,7 @@ int print_position() { // GPS-Hoehe ueber Ellipsoid
fprintf(stdout, " DOP[%02d,%02d,%02d,%02d] %.1f",
gpx.sats[0], gpx.sats[1], gpx.sats[2], gpx.sats[3], gpx.dop);
}
else {
else { // wenn option_vergps=2, dann n=N=k(-1)
fprintf(stdout, " DOP[");
for (j = 0; j < n; j++) {
fprintf(stdout, "%d", prn[j]);
@ -1279,8 +1283,6 @@ int print_position() { // GPS-Hoehe ueber Ellipsoid
}
}
}
}
}
get_Cal();