Go to the source code of this file.
Classes | |
struct | errorinfo |
Macros | |
#define | NERRORINFO (MODES_LONG_MSG_BITS+MODES_LONG_MSG_BITS*(MODES_LONG_MSG_BITS-1)/2) |
Functions | |
void | addRecentlySeenICAOAddr (uint32_t addr) |
void | applyPhaseCorrection (uint16_t *pPayload) |
int | cmpErrorInfo (const void *p0, const void *p1) |
void | computeMagnitudeVector (void) |
double | cprDlonFunction (double lat, int fflag, int surface) |
int | cprModFunction (int a, int b) |
int | cprNFunction (double lat, int fflag) |
int | cprNLFunction (double lat) |
int | decodeAC12Field (int AC12Field, int *unit) |
int | decodeAC13Field (int AC13Field, int *unit) |
void | decodeCPR (struct aircraft *a, int fflag, int surface) |
int | decodeCPRrelative (struct aircraft *a, int fflag, int surface) |
int | decodeID13Field (int ID13Field) |
void | decodeModesMessage (struct modesMessage *mm, unsigned char *msg) |
int | decodeMovementField (int movement) |
void | detectModeS (uint16_t *m, uint32_t mlen) |
int | detectOutOfPhase (uint16_t *pPreamble) |
void | displayModesMessage (struct modesMessage *mm) |
void | dumpMagnitudeBar (int index, int magnitude) |
void | dumpMagnitudeVector (uint16_t *m, uint32_t offset) |
void | dumpRawMessage (char *descr, unsigned char *msg, uint16_t *m, uint32_t offset) |
void | dumpRawMessageJS (char *descr, unsigned char *msg, uint16_t *m, uint32_t offset, int fixable, char *bitpos) |
int | fixBitErrors (unsigned char *msg, int bits, int maxfix, char *fixedbits) |
char * | getMEDescription (int metype, int mesub) |
int | ICAOAddressWasRecentlySeen (uint32_t addr) |
uint32_t | ICAOCacheHashAddress (uint32_t a) |
uint32_t | modesChecksum (unsigned char *msg, int bits) |
void | modesInitErrorInfo () |
int | modesMessageLenByType (int type) |
void | useModesMessage (struct modesMessage *mm) |
Variables | |
struct errorinfo | bitErrorTable [((14 *8)+(14 *8)*((14 *8)-1)/2)] |
char * | ca_str [8] |
char * | cf_str [8] |
char * | fs_str [8] |
uint32_t | modes_checksum_table [112] |
#define NERRORINFO (MODES_LONG_MSG_BITS+MODES_LONG_MSG_BITS*(MODES_LONG_MSG_BITS-1)/2) |
Definition at line 214 of file mode_s.c.
Referenced by fixBitErrors(), and modesInitErrorInfo().
void addRecentlySeenICAOAddr | ( | uint32_t | addr | ) |
Definition at line 613 of file mode_s.c.
References ICAOCacheHashAddress(), and Modes.
Referenced by decodeModesMessage().
void applyPhaseCorrection | ( | uint16_t * | pPayload | ) |
Definition at line 1448 of file mode_s.c.
References MODES_LONG_MSG_SAMPLES.
Referenced by detectModeS().
int cmpErrorInfo | ( | const void * | p0, |
const void * | p1 | ||
) |
Definition at line 219 of file mode_s.c.
References errorinfo::syndrome.
Referenced by fixBitErrors(), and modesInitErrorInfo().
void computeMagnitudeVector | ( | void | ) |
Definition at line 1386 of file mode_s.c.
References utl::m, Modes, MODES_ASYNC_BUF_SAMPLES, MODES_LONG_MSG_SAMPLES, MODES_LONG_MSG_SIZE, MODES_PREAMBLE_SAMPLES, MODES_PREAMBLE_SIZE, and G4StationSimulatorOG::p.
Referenced by main().
double cprDlonFunction | ( | double | lat, |
int | fflag, | ||
int | surface | ||
) |
Definition at line 1941 of file mode_s.c.
References cprNFunction().
Referenced by decodeCPR(), and decodeCPRrelative().
int cprModFunction | ( | int | a, |
int | b | ||
) |
Definition at line 1858 of file mode_s.c.
References RdGeoCeLDFFitter::b.
Referenced by decodeCPR(), and decodeCPRrelative().
int cprNFunction | ( | double | lat, |
int | fflag | ||
) |
Definition at line 1933 of file mode_s.c.
References cprNLFunction(), and nl.
Referenced by cprDlonFunction(), and decodeCPR().
int cprNLFunction | ( | double | lat | ) |
Definition at line 1868 of file mode_s.c.
Referenced by cprNFunction(), and decodeCPR().
int decodeAC12Field | ( | int | AC12Field, |
int * | unit | ||
) |
N is the 11 bit integer resulting from the removal of bit Q at bit 4
Definition at line 704 of file mode_s.c.
References decodeID13Field(), ModeAToModeC(), and MODES_UNIT_FEET.
Referenced by decodeModesMessage().
int decodeAC13Field | ( | int | AC13Field, |
int * | unit | ||
) |
Definition at line 673 of file mode_s.c.
References decodeID13Field(), ModeAToModeC(), MODES_UNIT_FEET, and MODES_UNIT_METERS.
Referenced by decodeModesMessage().
void decodeCPR | ( | struct aircraft * | a, |
int | fflag, | ||
int | surface | ||
) |
Definition at line 1956 of file mode_s.c.
References aircraft::bFlags, cprDlonFunction(), cprModFunction(), cprNFunction(), cprNLFunction(), aircraft::even_cprlat, aircraft::even_cprlon, aircraft::lat, aircraft::lon, utl::m, Modes, MODES_ACFLAGS_LATLON_REL_OK, MODES_ACFLAGS_LATLON_VALID, MODES_USER_LATLON_VALID, aircraft::odd_cprlat, aircraft::odd_cprlon, aircraft::seen, aircraft::seenLatLon, aircraft::timestamp, and aircraft::timestampLatLon.
Referenced by interactiveReceiveData().
int decodeCPRrelative | ( | struct aircraft * | a, |
int | fflag, | ||
int | surface | ||
) |
Definition at line 2021 of file mode_s.c.
References aircraft::bFlags, cprDlonFunction(), cprModFunction(), aircraft::even_cprlat, aircraft::even_cprlon, aircraft::lat, aircraft::lon, utl::m, Modes, MODES_ACFLAGS_LATLON_REL_OK, MODES_ACFLAGS_LATLON_VALID, MODES_USER_LATLON_VALID, aircraft::odd_cprlat, aircraft::odd_cprlon, aircraft::seen, aircraft::seenLatLon, aircraft::timestamp, and aircraft::timestampLatLon.
Referenced by interactiveReceiveData().
int decodeID13Field | ( | int | ID13Field | ) |
Definition at line 648 of file mode_s.c.
Referenced by decodeAC12Field(), decodeAC13Field(), and decodeModesMessage().
void decodeModesMessage | ( | struct modesMessage * | mm, |
unsigned char * | msg | ||
) |
Definition at line 819 of file mode_s.c.
References modesMessage::addr, addRecentlySeenICAOAddr(), modesMessage::altitude, modesMessage::bFlags, modesMessage::ca, modesMessage::corrected, modesMessage::correctedbits, modesMessage::crc, modesMessage::crcok, decodeAC12Field(), decodeAC13Field(), decodeID13Field(), decodeMovementField(), modesMessage::ew_velocity, fixBitErrors(), modesMessage::flight, modesMessage::fs, modesMessage::heading, ICAOAddressWasRecentlySeen(), modesMessage::iid, modesMessage::mesub, modesMessage::metype, modesMessage::modeA, Modes, MODES_ACFLAGS_ALTITUDE_VALID, MODES_ACFLAGS_AOG, MODES_ACFLAGS_AOG_VALID, MODES_ACFLAGS_CALLSIGN_VALID, MODES_ACFLAGS_EWSPEED_VALID, MODES_ACFLAGS_FS_VALID, MODES_ACFLAGS_HEADING_VALID, MODES_ACFLAGS_LLEVEN_VALID, MODES_ACFLAGS_LLODD_VALID, MODES_ACFLAGS_NSEWSPD_VALID, MODES_ACFLAGS_NSSPEED_VALID, MODES_ACFLAGS_SPEED_VALID, MODES_ACFLAGS_SQUAWK_VALID, MODES_ACFLAGS_VERTRATE_VALID, MODES_LONG_MSG_BYTES, modesChecksum(), modesMessageLenByType(), modesMessage::msg, modesMessage::msgbits, modesMessage::msgtype, modesMessage::ns_velocity, modesMessage::raw_latitude, modesMessage::raw_longitude, sqrt(), modesMessage::unit, modesMessage::velocity, and modesMessage::vert_rate.
Referenced by decodeBinMessage(), decodeHexMessage(), and detectModeS().
int decodeMovementField | ( | int | movement | ) |
Definition at line 729 of file mode_s.c.
Referenced by decodeModesMessage().
void detectModeS | ( | uint16_t * | m, |
uint32_t | mlen | ||
) |
Definition at line 1466 of file mode_s.c.
References RdGeoCeLDFFitter::a, applyPhaseCorrection(), RdGeoCeLDFFitter::b, modesMessage::bFlags, modesMessage::correctedbits, modesMessage::crcok, decodeModeAMessage(), decodeModesMessage(), detectModeA(), detectOutOfPhase(), dumpRawMessage(), UnivRecNS::high, MODEAC_MSG_SAMPLES, Modes, MODES_DEBUG_BADCRC, MODES_DEBUG_DEMOD, MODES_DEBUG_DEMODERR, MODES_DEBUG_GOODCRC, MODES_DEBUG_NOPREAMBLE, MODES_DEBUG_NOPREAMBLE_LEVEL, MODES_LONG_MSG_BITS, MODES_LONG_MSG_BYTES, MODES_LONG_MSG_SAMPLES, MODES_MAX_BITERRORS, MODES_MSG_ENCODER_ERRS, MODES_MSG_SQUELCH_LEVEL, MODES_PREAMBLE_SAMPLES, MODES_PREAMBLE_US, MODES_SHORT_MSG_BITS, modesMessageLenByType(), modesSendAllClients(), modesMessage::msg, modesMessage::msgtype, modesMessage::phase_corrected, modesMessage::signalLevel, modesMessage::timestampMsg, and useModesMessage().
Referenced by main().
int detectOutOfPhase | ( | uint16_t * | pPreamble | ) |
Definition at line 1409 of file mode_s.c.
Referenced by detectModeS().
void displayModesMessage | ( | struct modesMessage * | mm | ) |
Definition at line 1097 of file mode_s.c.
References modesMessage::addr, aera, modesMessage::altitude, modesMessage::bFlags, modesMessage::ca, ca_str, cf_str, modesMessage::correctedbits, modesMessage::crc, modesMessage::crcok, modesMessage::ew_velocity, modesMessage::fLat, modesMessage::flight, modesMessage::fLon, modesMessage::fs, fs_str, getMEDescription(), modesMessage::heading, modesMessage::iid, modesMessage::mesub, modesMessage::metype, modesMessage::modeA, Modes, MODES_ACFLAGS_ALTITUDE_VALID, MODES_ACFLAGS_EWSPEED_VALID, MODES_ACFLAGS_HEADING_VALID, MODES_ACFLAGS_LATLON_VALID, MODES_ACFLAGS_NSSPEED_VALID, MODES_ACFLAGS_SPEED_VALID, MODES_ACFLAGS_VERTRATE_VALID, MODES_UNIT_METERS, modesMessage::msg, modesMessage::msgbits, modesMessage::msgtype, mstime(), modesMessage::ns_velocity, modesMessage::raw_latitude, modesMessage::raw_longitude, modesMessage::timestampMsg, modesMessage::unit, modesMessage::velocity, and modesMessage::vert_rate.
Referenced by useModesMessage().
void dumpMagnitudeBar | ( | int | index, |
int | magnitude | ||
) |
Definition at line 355 of file mode_s.c.
Referenced by dumpMagnitudeVector().
void dumpMagnitudeVector | ( | uint16_t * | m, |
uint32_t | offset | ||
) |
Definition at line 382 of file mode_s.c.
References dumpMagnitudeBar(), MODES_PREAMBLE_SAMPLES, and MODES_SHORT_MSG_SAMPLES.
Referenced by dumpRawMessage().
void dumpRawMessage | ( | char * | descr, |
unsigned char * | msg, | ||
uint16_t * | m, | ||
uint32_t | offset | ||
) |
Definition at line 440 of file mode_s.c.
References dumpMagnitudeVector(), dumpRawMessageJS(), fixBitErrors(), Modes, MODES_DEBUG_JS, MODES_LONG_MSG_BITS, MODES_LONG_MSG_BYTES, MODES_MAX_BITERRORS, and MODES_SHORT_MSG_BYTES.
Referenced by detectModeS().
void dumpRawMessageJS | ( | char * | descr, |
unsigned char * | msg, | ||
uint16_t * | m, | ||
uint32_t | offset, | ||
int | fixable, | ||
char * | bitpos | ||
) |
Definition at line 398 of file mode_s.c.
References exit, MODES_LONG_MSG_BYTES, MODES_LONG_MSG_SAMPLES, MODES_NOTUSED, MODES_PREAMBLE_SAMPLES, and modesMessageLenByType().
Referenced by dumpRawMessage().
int fixBitErrors | ( | unsigned char * | msg, |
int | bits, | ||
int | maxfix, | ||
char * | fixedbits | ||
) |
Definition at line 304 of file mode_s.c.
References bitErrorTable, errorinfo::bits, cmpErrorInfo(), MODES_LONG_MSG_BITS, modesChecksum(), NERRORINFO, errorinfo::pos, and errorinfo::syndrome.
Referenced by decodeModesMessage(), and dumpRawMessage().
char* getMEDescription | ( | int | metype, |
int | mesub | ||
) |
Definition at line 786 of file mode_s.c.
Referenced by displayModesMessage().
int ICAOAddressWasRecentlySeen | ( | uint32_t | addr | ) |
Definition at line 625 of file mode_s.c.
References RdGeoCeLDFFitter::a, ICAOCacheHashAddress(), Modes, and MODES_ICAO_CACHE_TTL.
Referenced by decodeModesMessage().
uint32_t ICAOCacheHashAddress | ( | uint32_t | a | ) |
Definition at line 598 of file mode_s.c.
References MODES_ICAO_CACHE_LEN.
Referenced by addRecentlySeenICAOAddr(), and ICAOAddressWasRecentlySeen().
uint32_t modesChecksum | ( | unsigned char * | msg, |
int | bits | ||
) |
Definition at line 71 of file mode_s.c.
References modes_checksum_table.
Referenced by decodeModesMessage(), fixBitErrors(), and modesInitErrorInfo().
void modesInitErrorInfo | ( | ) |
Definition at line 234 of file mode_s.c.
References bitErrorTable, errorinfo::bits, cmpErrorInfo(), Modes, MODES_LONG_MSG_BITS, MODES_LONG_MSG_BYTES, modesChecksum(), NERRORINFO, errorinfo::pos, and errorinfo::syndrome.
Referenced by modesInit(), ppup1090Init(), and view1090Init().
int modesMessageLenByType | ( | int | type | ) |
Definition at line 103 of file mode_s.c.
References MODES_LONG_MSG_BITS, and MODES_SHORT_MSG_BITS.
Referenced by decodeModesMessage(), detectModeS(), and dumpRawMessageJS().
void useModesMessage | ( | struct modesMessage * | mm | ) |
Definition at line 1838 of file mode_s.c.
References modesMessage::correctedbits, modesMessage::crcok, displayModesMessage(), interactiveReceiveData(), Modes, and modesQueueOutput().
Referenced by decodeBinMessage(), decodeHexMessage(), and detectModeS().
struct errorinfo bitErrorTable[((14 *8)+(14 *8)*((14 *8)-1)/2)] |
Definition at line 216 of file mode_s.c.
Referenced by fixBitErrors(), and modesInitErrorInfo().
char* ca_str[8] |
Definition at line 749 of file mode_s.c.
Referenced by displayModesMessage().
char* cf_str[8] |
Definition at line 761 of file mode_s.c.
Referenced by displayModesMessage().
char* fs_str[8] |
Definition at line 773 of file mode_s.c.
Referenced by displayModesMessage().
uint32_t modes_checksum_table[112] |
Definition at line 54 of file mode_s.c.
Referenced by modesChecksum().