[hamradio-commits] [dump1090] 86/389: Merge JungleJet Updates
Matthew Ernisse
mernisse-guest at moszumanska.debian.org
Wed Nov 5 00:19:43 UTC 2014
This is an automated email from the git hooks/post-receive script.
mernisse-guest pushed a commit to branch master
in repository dump1090.
commit 09d72d2897e2a14a2f6668ab782d403496c5dc4d
Merge: d96f3a6 0c91c5f
Author: Malcolm Robb <Support at ATTAvionics.com>
Date: Sat Apr 13 01:37:02 2013 +0100
Merge JungleJet Updates
dump1090.c | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 63 insertions(+), 9 deletions(-)
diff --cc dump1090.c
index 2b7cc59,10c2046..364c16f
--- a/dump1090.c
+++ b/dump1090.c
@@@ -194,6 -184,8 +194,8 @@@ struct
int onlyaddr; /* Print only ICAO addresses. */
int metric; /* Use metric units. */
int aggressive; /* Aggressive detection algorithm. */
- int mlat; /* Use Beast ascii format for raw data output, i.e. @...; iso *...; */ //&&&
- int interactive_rtl1090; /* flight table in interactive mode is formatted like RTL1090 */ //&&&
++ int mlat; /* Use Beast ascii format for raw data output, i.e. @...; iso *...; */
++ int interactive_rtl1090; /* flight table in interactive mode is formatted like RTL1090 */
/* Interactive mode */
struct aircraft *aircrafts;
@@@ -310,6 -299,8 +312,8 @@@ void modesInitConfig(void)
Modes.interactive_ttl = MODES_INTERACTIVE_TTL;
Modes.quiet = 0;
Modes.aggressive = 0;
- Modes.mlat = 0; //&&&
- Modes.interactive_rtl1090 = 0; //&&&
++ Modes.mlat = 0;
++ Modes.interactive_rtl1090 = 0;
}
void modesInit(void) {
@@@ -1197,6 -1177,7 +1201,7 @@@ void decodeModesMessage(struct modesMes
* in a human readable format. */
void displayModesMessage(struct modesMessage *mm) {
int j;
- char * pTimeStamp; //&&&
++ char * pTimeStamp;
/* Handle only addresses mode first. */
if (Modes.onlyaddr) {
@@@ -1205,7 -1186,15 +1210,15 @@@
}
/* Show the raw message. */
- printf("*");
- if (Modes.mlat) { //&&&
- printf("@"); //&&&
- pTimeStamp = (char *) &mm->timestampMsg;
- for (j=5; j>=0;j--) {
- printf("%02X",pTimeStamp[j]);
- }
++ if (Modes.mlat) {
++ printf("@"); //&&&
++ pTimeStamp = (char *) &mm->timestampMsg;
++ for (j=5; j>=0;j--) {
++ printf("%02X",pTimeStamp[j]);
++ }
+ } else
- printf("*");
++ printf("*");
+
for (j = 0; j < mm->msgbits/8; j++) printf("%02x", mm->msg[j]);
printf(";\n");
@@@ -1912,12 -1872,18 +1925,18 @@@ void interactiveShowData(void)
char spinner[4] = "|/-\\";
progress = spinner[time(NULL)%4];
--
++
printf("\x1b[H\x1b[2J"); /* Clear the screen */
+
-//&&&
+ if (Modes.interactive_rtl1090 ==0) {
- printf (
- "Hex ModeA Flight Alt Speed Lat Lon Track Msgs Seen %c\n",progress);
++ printf (
++"Hex ModeA Flight Alt Speed Lat Lon Track Msgs Seen %c\n", progress);
+ } else {
- printf (
- "Hex Flight Alt V/S GS TT SSR G*456^ Msgs Seen %c\n",progress);
++ printf (
++"Hex Flight Alt V/S GS TT SSR G*456^ Msgs Seen %c\n", progress);
+ }
- printf("--------------------------------------------------------------------------------\n");
+ printf(
- "Hex ModeA Flight Alt Speed Lat Lon Track Msgs Seen %c\n"
- "--------------------------------------------------------------------------------\n",
- progress);
++"--------------------------------------------------------------------------------\n");
while(a && count < Modes.interactive_rows) {
int altitude = a->altitude, speed = a->speed, msgs = a->messages;
@@@ -1948,10 -1917,26 +1970,25 @@@
spacer = ' ';
}
- printf("%-6s %-4s %-8s %-7d %-7d %-7.03f %-7.03f %-3d %-6d %d%c sec\n",
-//&&&
+ if (Modes.interactive_rtl1090 != 0) {
- if (altitude>0) {
- altitude=altitude/100;
- sprintf(fl,"F%03d",altitude);
- }
- if (speed > 0) {
- sprintf (gs,"%3d",speed);
- }
- if (a->track > 0) {
- sprintf (tt,"%03d",a->track);
- }
- printf("%-6s %-8s %-4s %-3s %-3s %4s %6d %d %c \n",
- a->hexaddr, a->flight, fl, gs, tt, squawk, msgs, (int)(now - a->seen), spacer);
- } else {
- printf("%-6s %-4s %-8s %-7d %-7d %-7.03f %-7.03f %-3d %-6d %d%c sec\n",
- a->hexaddr, squawk, a->flight, altitude, speed,
- a->lat, a->lon, a->track, msgs, (int)(now - a->seen), spacer);
- }
- a = a->next;
++ if (altitude>0) {
++ altitude=altitude/100;
++ sprintf(fl,"F%03d",altitude);
++ }
++ if (speed > 0) {
++ sprintf (gs,"%3d",speed);
++ }
++ if (a->track > 0) {
++ sprintf (tt,"%03d",a->track);
++ }
++ printf("%-6s %-8s %-4s %-3s %-3s %4s %-6d %d %c \n",
++ a->hexaddr, a->flight, fl, gs, tt, squawk, msgs, (int)(now - a->seen), spacer);
++ } else {
++ printf("%-6s %-4s %-8s %-7d %-7d %-7.03f %-7.03f %-3d %-6d %d%c sec\n",
+ a->hexaddr, squawk, a->flight, altitude, speed,
+ a->lat, a->lon, a->track, msgs, (int)(now - a->seen), spacer);
++ }
+ a = a->next;
count++;
}
}
@@@ -2156,27 -2135,30 +2193,37 @@@ void modesSendBeastOutput(struct modesM
/* Write raw output to TCP clients. */
void modesSendRawOutput(struct modesMessage *mm) {
- char msg[128], *p = msg;
+ char *p = &Modes.rawOut[Modes.rawOutUsed];
+ int msgLen = mm->msgbits / 8;
int j;
+ char * pTimeStamp;
+
- if (Modes.mlat) { //&&&
- *p++ = '@';
- pTimeStamp = (char *) &mm->timestampMsg;
- for (j = 5; j >= 0; j--) {
- sprintf(p, "%02X", pTimeStamp[j]);
- p += 2;
- }
++ if (Modes.mlat) {
++ *p++ = '@';
++ pTimeStamp = (char *) &mm->timestampMsg;
++ for (j = 5; j >= 0; j--) {
++ sprintf(p, "%02X", pTimeStamp[j]);
++ p += 2;
++ }
+ } else
- *p++ = '*';
++ *p++ = '*';
- *p++ = '*';
- for (j = 0; j < mm->msgbits/8; j++) {
+ for (j = 0; j < msgLen; j++) {
sprintf(p, "%02X", mm->msg[j]);
p += 2;
}
+
*p++ = ';';
*p++ = '\n';
- modesSendAllClients(Modes.ros, msg, p-msg);
+
+ Modes.rawOutUsed += ((msgLen*2) + 3);
+ if (Modes.rawOutUsed >= MODES_RAWOUT_BUF_FLUSH)
+ {
+ modesSendAllClients(Modes.ros, Modes.rawOut, Modes.rawOutUsed);
+ Modes.rawOutUsed = 0;
+ }
}
-
/* Write SBS output to TCP clients. */
void modesSendSBSOutput(struct modesMessage *mm, struct aircraft *a) {
char msg[256], *p = msg;
@@@ -2552,6 -2512,7 +2599,7 @@@ void showHelp(void)
"--interactive Interactive mode refreshing data on screen.\n"
"--interactive-rows <num> Max number of rows in interactive mode (default: 15).\n"
"--interactive-ttl <sec> Remove from list if idle for <sec> (default: 60).\n"
-"--interactive-rtl1090 Display flight table in RTL1090 format.\n" //&&&
++"--interactive-rtl1090 Display flight table in RTL1090 format.\n"
"--raw Show only messages hex values.\n"
"--net Enable networking.\n"
"--net-beast TCP raw output in Beast binary format.\n"
@@@ -2563,6 -2524,7 +2611,7 @@@
"--no-fix Disable single-bits error correction using CRC.\n"
"--no-crc-check Disable messages with broken CRC (discouraged).\n"
"--aggressive More CPU for more messages (two bits fixes, ...).\n"
-"--mlat display raw messages in Beast ascii mode.\n" //&&&
++"--mlat display raw messages in Beast ascii mode.\n"
"--stats With --ifile print stats at exit. No other output.\n"
"--onlyaddr Show only ICAO addresses (testing purposes).\n"
"--metric Use metric units (meters, km/h, ...).\n"
@@@ -2686,6 -2648,11 +2735,11 @@@ int main(int argc, char **argv)
Modes.ppm_error = atoi(argv[++j]);
} else if (!strcmp(argv[j],"--quiet")) {
Modes.quiet = 1;
+ } else if (!strcmp(argv[j],"--mlat")) {
- Modes.mlat = 1; //&&&
++ Modes.mlat = 1;
+ } else if (!strcmp(argv[j],"--interactive-rtl1090")) {
- Modes.interactive = 1; //&&&
- Modes.interactive_rtl1090 = 1; //&&&
++ Modes.interactive = 1;
++ Modes.interactive_rtl1090 = 1;
} else {
fprintf(stderr,
"Unknown or not enough arguments for option '%s'.\n\n",
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-hamradio/dump1090.git
More information about the pkg-hamradio-commits
mailing list