Extra list decoding for DF-0 and DF-16
Extra list decoding for DF-0 and DF-16 Tidy up a few things Change version number
This commit is contained in:
parent
64b24ebc29
commit
11502e9ec9
Binary file not shown.
|
@ -37,7 +37,7 @@
|
||||||
// MinorVer changes when additional features are added, but not for bug fixes (range 00-99)
|
// MinorVer changes when additional features are added, but not for bug fixes (range 00-99)
|
||||||
// DayDate & Year changes for all changes, including for bug fixes. It represent the release date of the update
|
// DayDate & Year changes for all changes, including for bug fixes. It represent the release date of the update
|
||||||
//
|
//
|
||||||
#define MODES_DUMP1090_VERSION "1.07.2909.13"
|
#define MODES_DUMP1090_VERSION "1.07.0410.13"
|
||||||
|
|
||||||
// ============================= Include files ==========================
|
// ============================= Include files ==========================
|
||||||
|
|
||||||
|
|
18
mode_s.c
18
mode_s.c
|
@ -362,9 +362,9 @@ void dumpMagnitudeBar(int index, int magnitude) {
|
||||||
buf[div+1] = '\0';
|
buf[div+1] = '\0';
|
||||||
|
|
||||||
if (index >= 0)
|
if (index >= 0)
|
||||||
printf("[%.3d] |%-66s %d\n", index, buf, magnitude);
|
printf("[%.3d] |%-66s 0x%04X\n", index, buf, magnitude);
|
||||||
else
|
else
|
||||||
printf("[%.2d] |%-66s %d\n", index, buf, magnitude);
|
printf("[%.2d] |%-66s 0x%04X\n", index, buf, magnitude);
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
//=========================================================================
|
//=========================================================================
|
||||||
|
@ -625,8 +625,9 @@ int ICAOAddressWasRecentlySeen(uint32_t addr) {
|
||||||
uint32_t h = ICAOCacheHashAddress(addr);
|
uint32_t h = ICAOCacheHashAddress(addr);
|
||||||
uint32_t a = Modes.icao_cache[h*2];
|
uint32_t a = Modes.icao_cache[h*2];
|
||||||
uint32_t t = Modes.icao_cache[h*2+1];
|
uint32_t t = Modes.icao_cache[h*2+1];
|
||||||
|
uint64_t tn = time(NULL);
|
||||||
|
|
||||||
return a && a == addr && time(NULL)-t <= MODES_ICAO_CACHE_TTL;
|
return ( (a) && (a == addr) && ( (tn - t) <= MODES_ICAO_CACHE_TTL) );
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
//=========================================================================
|
//=========================================================================
|
||||||
|
@ -750,7 +751,7 @@ char *ca_str[8] = {
|
||||||
/* 2 */ "Level 3 (DF0,4,5,11,20,21)",
|
/* 2 */ "Level 3 (DF0,4,5,11,20,21)",
|
||||||
/* 3 */ "Level 4 (DF0,4,5,11,20,21,24)",
|
/* 3 */ "Level 4 (DF0,4,5,11,20,21,24)",
|
||||||
/* 4 */ "Level 2+3+4 (DF0,4,5,11,20,21,24,code7 - is on ground)",
|
/* 4 */ "Level 2+3+4 (DF0,4,5,11,20,21,24,code7 - is on ground)",
|
||||||
/* 5 */ "Level 2+3+4 (DF0,4,5,11,20,21,24,code7 - is on airborne)",
|
/* 5 */ "Level 2+3+4 (DF0,4,5,11,20,21,24,code7 - is airborne)",
|
||||||
/* 6 */ "Level 2+3+4 (DF0,4,5,11,20,21,24,code7)",
|
/* 6 */ "Level 2+3+4 (DF0,4,5,11,20,21,24,code7)",
|
||||||
/* 7 */ "Level 7 ???"
|
/* 7 */ "Level 7 ???"
|
||||||
};
|
};
|
||||||
|
@ -1128,6 +1129,9 @@ void displayModesMessage(struct modesMessage *mm) {
|
||||||
|
|
||||||
if (mm->msgtype == 0) { // DF 0
|
if (mm->msgtype == 0) { // DF 0
|
||||||
printf("DF 0: Short Air-Air Surveillance.\n");
|
printf("DF 0: Short Air-Air Surveillance.\n");
|
||||||
|
printf(" VS : %s\n", (mm->msg[0] & 0x04) ? "Ground" : "Airborne");
|
||||||
|
printf(" CC : %d\n", ((mm->msg[0] & 0x02) >> 1));
|
||||||
|
printf(" SL : %d\n", ((mm->msg[1] & 0xE0) >> 5));
|
||||||
printf(" Altitude : %d %s\n", mm->altitude,
|
printf(" Altitude : %d %s\n", mm->altitude,
|
||||||
(mm->unit == MODES_UNIT_METERS) ? "meters" : "feet");
|
(mm->unit == MODES_UNIT_METERS) ? "meters" : "feet");
|
||||||
printf(" ICAO Address : %06x\n", mm->addr);
|
printf(" ICAO Address : %06x\n", mm->addr);
|
||||||
|
@ -1212,6 +1216,12 @@ void displayModesMessage(struct modesMessage *mm) {
|
||||||
|
|
||||||
} else if (mm->msgtype == 16) { // DF 16
|
} else if (mm->msgtype == 16) { // DF 16
|
||||||
printf("DF 16: Long Air to Air ACAS\n");
|
printf("DF 16: Long Air to Air ACAS\n");
|
||||||
|
printf(" VS : %s\n", (mm->msg[0] & 0x04) ? "Ground" : "Airborne");
|
||||||
|
printf(" CC : %d\n", ((mm->msg[0] & 0x02) >> 1));
|
||||||
|
printf(" SL : %d\n", ((mm->msg[1] & 0xE0) >> 5));
|
||||||
|
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 == 17) { // DF 17
|
} else if (mm->msgtype == 17) { // DF 17
|
||||||
printf("DF 17: ADS-B message.\n");
|
printf("DF 17: ADS-B message.\n");
|
||||||
|
|
Loading…
Reference in a new issue