changed formatting to show distance and heading:

Former-commit-id: 07647d5c845e043130c773bbfed1608a4df6c303
This commit is contained in:
Nathan 2017-09-07 11:00:01 -05:00
parent 8d37c6eb30
commit 6f237f7a8f
11 changed files with 97 additions and 50 deletions

Binary file not shown.

View file

@ -1 +1 @@
7b970ac76b375322e10d18752db2799393e60c0a a12e9b1c39fb3432f7175cecd1ca3d8fc490e2f5

BIN
dump1090/dump1090.o Normal file

Binary file not shown.

View file

@ -1 +0,0 @@
508f7b0c68cbd5c325be54851803e4b182bc5122

View file

@ -29,6 +29,8 @@
// //
#include "dump1090.h" #include "dump1090.h"
#include <math.h>
// //
// ============================= Utility functions ========================== // ============================= Utility functions ==========================
// //
@ -437,8 +439,9 @@ void interactiveShowData(void) {
//\xiB[30;47m //\xiB[30;47m
if (Modes.interactive_rtl1090 == 0) { if (Modes.interactive_rtl1090 == 0) {
printf ( printf (
//"Hex Mode Sqwk Flight Alt Spd Hdg Lat Long Sig Msgs Ti%c\n", progress); // original version "Hex Mode Sqwk Flight Alt Spd Hdg Lat Long Sig Msgs Ti%c\n", progress);
"\x1B[30;47m\e[1mFlight Alt Spd Lat Long \n", progress); // pitft version "\x1B[30;47m\e[1mFlight Alt Spd Lat Long \n", progress);
"\x1B[30;47m\e[1mFlight Alt Spd Dist Dir", progress);
} else { } else {
printf ( printf (
"Hex Flight Alt V/S GS TT SSR G*456^ Msgs Seen %c\n", progress); "Hex Flight Alt V/S GS TT SSR G*456^ Msgs Seen %c\n", progress);
@ -446,9 +449,8 @@ void interactiveShowData(void) {
// printf( // printf(
//"---------------------------------------"); //"---------------------------------------");
printf("\x1B[37;40m"); printf("\x1B[37;40m");
int numNoDir = 0;
while(a && (count < Modes.interactive_rows)) { while(a && (count < Modes.interactive_rows)) {
if ((now - a->seen) < Modes.interactive_display_ttl) if ((now - a->seen) < Modes.interactive_display_ttl)
{ {
int msgs = a->messages; int msgs = a->messages;
@ -465,10 +467,10 @@ void interactiveShowData(void) {
char strGs[5] = " "; char strGs[5] = " ";
// Convert units to metric if --metric was specified // Convert units to metric if --metric was specified
if (Modes.metric) { //if (Modes.metric) {
altitude = (int) (altitude / 3.2828); altitude = (int) (altitude / 3.2828);
speed = (int) (speed * 1.852); speed = (int) (speed * 1.852);
} //}
if (a->bFlags & MODES_ACFLAGS_SQUAWK_VALID) { if (a->bFlags & MODES_ACFLAGS_SQUAWK_VALID) {
snprintf(strSquawk,5,"%04x", a->modeA);} snprintf(strSquawk,5,"%04x", a->modeA);}
@ -482,22 +484,26 @@ void interactiveShowData(void) {
if (msgs > 99999) { if (msgs > 99999) {
msgs = 99999;} msgs = 99999;}
if (Modes.interactive_rtl1090) { // RTL1090 display mode // Dump1090 display mode
if (a->bFlags & MODES_ACFLAGS_ALTITUDE_VALID) {
snprintf(strFl,6,"F%03d",(altitude/100));
}
printf("%06x %-8s %-4s %-3s %-3s %4s %-6d %-2d\n",
a->addr, a->flight, strFl, strGs, strTt, strSquawk, msgs, (int)(now - a->seen));
} else { // Dump1090 display mode
char strMode[5] = " "; char strMode[5] = " ";
char strLat[8] = " "; char strLat[8] = " ";
char strLon[9] = " "; char strLon[9] = " ";
char strD[8] = " ";
char cLat = ' ';
char cLon = ' ';
unsigned char * pSig = a->signalLevel; unsigned char * pSig = a->signalLevel;
unsigned int signalAverage = (pSig[0] + pSig[1] + pSig[2] + pSig[3] + unsigned int signalAverage = (pSig[0] + pSig[1] + pSig[2] + pSig[3] +
pSig[4] + pSig[5] + pSig[6] + pSig[7] + 3) >> 3; pSig[4] + pSig[5] + pSig[6] + pSig[7] + 3) >> 3;
if (a->bFlags & MODES_ACFLAGS_AOG) {
snprintf(strFl, 6," grnd");
} else if (a->bFlags & MODES_ACFLAGS_ALTITUDE_VALID) {
snprintf(strFl, 6, "%5d", altitude);
}
if ((flags & MODEAC_MSG_FLAG) == 0) { if ((flags & MODEAC_MSG_FLAG) == 0) {
strMode[0] = 'S'; strMode[0] = 'S';
} else if (flags & MODEAC_MSG_MODEA_ONLY) { } else if (flags & MODEAC_MSG_MODEA_ONLY) {
@ -507,29 +513,71 @@ void interactiveShowData(void) {
if (flags & MODEAC_MSG_MODEC_HIT) {strMode[3] = 'c';} if (flags & MODEAC_MSG_MODEC_HIT) {strMode[3] = 'c';}
if (a->bFlags & MODES_ACFLAGS_LATLON_VALID) { if (a->bFlags & MODES_ACFLAGS_LATLON_VALID) {
snprintf(strLat, 8,"%7.03f", a->lat);
snprintf(strLon, 9,"%8.03f", a->lon); float dLon = a->lon+87.6651033;
float dLat = a->lat-41.9809263;
snprintf(strLat, 8,"%7.03f", dLat);
snprintf(strLon, 9,"%8.03f", dLon);
float x = dLon * cos(((a->lat+41.9809263)/2.0f) * M_PI / 180.0f);
float y = dLat;
float d = sqrt(x*x + y*y) * 6371.0f;
if(fabsf(dLon) < .01 && fabsf(dLat) > fabsf(dLon)) {
cLon = ' ';
} else {
if(a->lon < 0) {
cLon = 'W';
} else {
cLon = 'E';
}
} }
if (a->bFlags & MODES_ACFLAGS_AOG) {
snprintf(strFl, 6," grnd"); if(fabsf(dLat) < .01 && fabsf(dLon) > fabsf(dLat)) {
} else if (a->bFlags & MODES_ACFLAGS_ALTITUDE_VALID) { cLat = ' ';
snprintf(strFl, 6, "%5d", altitude); } else {
if(a->lat < 0) {
cLat = 'S';
} else {
cLat = 'N';
}
}
snprintf(strD, 8,"%7.03f", d);
printf("\n\x1B[%d;31m%-8s \x1B[%d;32m%5s \x1B[%d;33m%3s \x1B[%d;34m%8s \x1B[%d;36m%c%c",
count%2, a->flight,
count%2, strFl,
count%2, strGs,
count%2, strD,
count%2, cLat, cLon);
count++;
} else {
numNoDir++;
} }
//printf("%06X %-4s %-4s %-8s %5s %3s %3s %7s %8s %3d %5d %2d\n", //printf("%06X %-4s %-4s %-8s %5s %3s %3s %7s %8s %3d %5d %2d\n",
//a->addr, strMode, strSquawk, a->flight, strFl, strGs, strTt, //a->addr, strMode, strSquawk, a->flight, strFl, strGs, strTt,
//strLat, strLon, signalAverage, msgs, (int)(now - a->seen)); //strLat, strLon, signalAverage, msgs, (int)(now - a->seen));
printf("\n\x1B[%d;%dm%-8s %5s %3s %7s %8s",a->addr % 12 > 6, 31 + a->addr % 6, // printf("\n\x1B[%d;%dm%-8s %5s %3s %7s %8s",a->addr % 12 > 6, 31 + a->addr % 6,
a->flight, strFl, strGs, // a->flight, strFl, strGs,
strLat, strLon); // strLat, strLon);
}
count++;
} }
} }
a = a->next; a = a->next;
} }
while(count < 14) {
printf("\n");
count++;
}
printf("\x1B[30;47m\e[1m\n%+3d %c \x1B[37;40m",numNoDir,progress);
fflush(stdout);
} }
// //
//========================================================================= //=========================================================================

Binary file not shown.

Binary file not shown.

View file

@ -1 +1 @@
c51a44d899a4f6dbfb646f748cbef9f709ec0225 bdd60b55bc0624ff84544a794ae21d71eaf0adc8

Binary file not shown.

View file

@ -1 +1 @@
2b92bed76fda7eb7a675c76bdcb6f2ab32153345 8e54cfa965ac942c81c1742f1abe3a82b9a8412a

Binary file not shown.