[hamradio-commits] [dump1090] 86/373: Merge JungleJet Updates

Matthew Ernisse mernisse-guest at moszumanska.debian.org
Thu Oct 23 14:58:08 UTC 2014


This is an automated email from the git hooks/post-receive script.

mernisse-guest pushed a commit to branch backport
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