From 8b8f8d7a4038e9ca248a0ce232fb66ada1decb1a Mon Sep 17 00:00:00 2001 From: Oliver Jowett Date: Fri, 26 Aug 2016 21:38:06 +0100 Subject: [PATCH] Use INVALID_ALTITUDE in a few more places. --- dump1090.h | 2 ++ mode_ac.c | 16 +++++++++------- mode_s.c | 2 -- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/dump1090.h b/dump1090.h index d98353e..89ca13d 100644 --- a/dump1090.h +++ b/dump1090.h @@ -167,6 +167,8 @@ typedef struct rtlsdr_dev rtlsdr_dev_t; #define MODES_ACFLAGS_LLBOTH_VALID (MODES_ACFLAGS_LLEVEN_VALID | MODES_ACFLAGS_LLODD_VALID) #define MODES_ACFLAGS_AOG_GROUND (MODES_ACFLAGS_AOG_VALID | MODES_ACFLAGS_AOG) +#define INVALID_ALTITUDE (-9999) + #define MODES_NON_ICAO_ADDRESS (1<<24) // Set on addresses to indicate they are not ICAO addresses #define MODES_DEBUG_DEMOD (1<<0) diff --git a/mode_ac.c b/mode_ac.c index 0473014..02ad281 100644 --- a/mode_ac.c +++ b/mode_ac.c @@ -35,13 +35,14 @@ // Input format is : 00:A4:A2:A1:00:B4:B2:B1:00:C4:C2:C1:00:D4:D2:D1 // int ModeAToModeC(unsigned int ModeA) - { +{ unsigned int FiveHundreds = 0; unsigned int OneHundreds = 0; - if ( (ModeA & 0xFFFF8889) // check zero bits are zero, D1 set is illegal - || ((ModeA & 0x000000F0) == 0) ) // C1,,C4 cannot be Zero - {return -9999;} + if ((ModeA & 0xFFFF8889) != 0 || // check zero bits are zero, D1 set is illegal + (ModeA & 0x000000F0) == 0) { // C1,,C4 cannot be Zero + return INVALID_ALTITUDE; + } if (ModeA & 0x0010) {OneHundreds ^= 0x007;} // C1 if (ModeA & 0x0020) {OneHundreds ^= 0x003;} // C2 @@ -51,8 +52,9 @@ int ModeAToModeC(unsigned int ModeA) if ((OneHundreds & 5) == 5) {OneHundreds ^= 2;} // Check for invalid codes, only 1 to 5 are valid - if (OneHundreds > 5) - {return -9999;} + if (OneHundreds > 5) { + return INVALID_ALTITUDE; + } //if (ModeA & 0x0001) {FiveHundreds ^= 0x1FF;} // D1 never used for altitude if (ModeA & 0x0002) {FiveHundreds ^= 0x0FF;} // D2 @@ -70,7 +72,7 @@ int ModeAToModeC(unsigned int ModeA) if (FiveHundreds & 1) {OneHundreds = 6 - OneHundreds;} return ((FiveHundreds * 5) + OneHundreds - 13); - } +} // //========================================================================= // diff --git a/mode_s.c b/mode_s.c index 574cb0f..8e9e355 100644 --- a/mode_s.c +++ b/mode_s.c @@ -111,8 +111,6 @@ static int decodeID13Field(int ID13Field) { return (hexGillham); } -#define INVALID_ALTITUDE (-9999) - // //========================================================================= //