[hamradio-commits] [dump1090] 120/373: Update displayModesMessage()

Matthew Ernisse mernisse-guest at moszumanska.debian.org
Thu Oct 23 14:58:11 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 e9b463d25c6db37e5c574899a66c83836fde657c
Author: Malcolm Robb <Support at ATTAvionics.com>
Date:   Mon Apr 29 18:39:40 2013 +0100

    Update displayModesMessage()
    
    Update displayModesMessage() to show additional ICAO defined DF types.
---
 dump1090.c | 46 ++++++++++++++++++++++++++++++----------------
 1 file changed, 30 insertions(+), 16 deletions(-)

diff --git a/dump1090.c b/dump1090.c
index 92a9a68..e13d3a0 100644
--- a/dump1090.c
+++ b/dump1090.c
@@ -1614,20 +1614,21 @@ void decodeModesMessage(struct modesMessage *mm, unsigned char *msg) {
     }
     mm->phase_corrected = 0; /* Set to 1 by the caller if needed. */
 }
-
-/* This function gets a decoded Mode S Message and prints it on the screen
- * in a human readable format. */
+//
+// This function gets a decoded Mode S Message and prints it on the screen
+// in a human readable format.
+//
 void displayModesMessage(struct modesMessage *mm) {
     int j;
     char * pTimeStamp;
 
-    /* Handle only addresses mode first. */
+    // Handle only addresses mode first.
     if (Modes.onlyaddr) {
         printf("%06x\n", mm->addr);
         return;
     }
 
-    /* Show the raw message. */
+    // Show the raw message.
     if (Modes.mlat) {
         printf("@");
         pTimeStamp = (char *) &mm->timestampMsg;
@@ -1651,12 +1652,12 @@ void displayModesMessage(struct modesMessage *mm) {
     if (mm->errorbit != -1)
         printf("Single bit error fixed, bit %d\n", mm->errorbit);
 
-    if (mm->msgtype == 0) {
-        /* DF 0 */
+    if (mm->msgtype == 0) { // DF 0
         printf("DF 0: Short Air-Air Surveillance.\n");
         printf("  Altitude       : %d %s\n", mm->altitude,
             (mm->unit == MODES_UNIT_METERS) ? "meters" : "feet");
         printf("  ICAO Address   : %06x\n", mm->addr);
+
     } else if (mm->msgtype == 4 || mm->msgtype == 20) {
         printf("DF %d: %s, Altitude Reply.\n", mm->msgtype,
             (mm->msgtype == 4) ? "Surveillance" : "Comm-B");
@@ -1670,6 +1671,7 @@ void displayModesMessage(struct modesMessage *mm) {
         if (mm->msgtype == 20) {
             /* TODO: 56 bits DF20 MB additional field. */
         }
+
     } else if (mm->msgtype == 5 || mm->msgtype == 21) {
         printf("DF %d: %s, Identity Reply.\n", mm->msgtype,
             (mm->msgtype == 5) ? "Surveillance" : "Comm-B");
@@ -1691,8 +1693,11 @@ void displayModesMessage(struct modesMessage *mm) {
             {printf("  IID         : SI-%02d\n", mm->iid-16);}
         else
             {printf("  IID         : II-%02d\n", mm->iid);}
-    } else if (mm->msgtype == 17) {
-        /* DF 17 */
+
+    } else if (mm->msgtype == 16) { // DF 16
+        printf("DF 16: Long Air to Air ACAS\n");
+
+    } else if (mm->msgtype == 17) { // DF 17
         printf("DF 17: ADS-B message.\n");
         printf("  Capability     : %d (%s)\n", mm->ca, ca_str[mm->ca]);
         printf("  ICAO Address   : %06x\n", mm->addr);
@@ -1701,7 +1706,7 @@ void displayModesMessage(struct modesMessage *mm) {
         printf("  Extended Squitter  Name: %s\n",
             getMEDescription(mm->metype,mm->mesub));
 
-        /* Decode the extended squitter message. */
+        // Decode the extended squitter message
         if (mm->metype >= 1 && mm->metype <= 4) {
             /* Aircraft identification. */
             char *ac_type_str[4] = {
@@ -1737,8 +1742,20 @@ void displayModesMessage(struct modesMessage *mm) {
             printf("    Unrecognized ME type: %d subtype: %d\n", 
                 mm->metype, mm->mesub);
         }
-    } else if (mm->msgtype == 32) {
-        // DF 32 is special code we use for Mode A/C
+
+    } else if (mm->msgtype == 18) { // DF 18 
+        printf("DF 18: Extended Squitter.\n");
+
+    } else if (mm->msgtype == 19) { // DF 19
+        printf("DF 19: Military Extended Squitter.\n");
+
+    } else if (mm->msgtype == 22) { // DF 22
+        printf("DF 22: Military Use.\n");
+
+    } else if (mm->msgtype == 24) { // DF 24
+        printf("DF 24: Comm D Extended Length Message.\n");
+
+    } else if (mm->msgtype == 32) { // DF 32 is special code we use for Mode A/C
         printf("SSR : Mode A/C Reply.\n");
         if (mm->fs & 0x0080) {
             printf("  Mode A : %04x IDENT\n", mm->modeA);
@@ -1750,10 +1767,7 @@ void displayModesMessage(struct modesMessage *mm) {
         }
 
     } else {
-        if (Modes.check_crc)
-            printf("DF %d with good CRC received "
-                   "(decoding still not implemented).\n",
-                mm->msgtype);
+        printf("DF %d: Unknown DF Format.\n", mm->msgtype);
     }
 }
 

-- 
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