Add source & address type for Mode A/C
This commit is contained in:
parent
eece2a54a0
commit
85d3ecee62
|
@ -142,6 +142,7 @@ typedef struct rtlsdr_dev rtlsdr_dev_t;
|
||||||
/* Where did a bit of data arrive from? In order of increasing priority */
|
/* Where did a bit of data arrive from? In order of increasing priority */
|
||||||
typedef enum {
|
typedef enum {
|
||||||
SOURCE_INVALID, /* data is not valid */
|
SOURCE_INVALID, /* data is not valid */
|
||||||
|
SOURCE_MODE_AC, /* A/C message */
|
||||||
SOURCE_MLAT, /* derived from mlat */
|
SOURCE_MLAT, /* derived from mlat */
|
||||||
SOURCE_MODE_S, /* data from a Mode S message, no full CRC */
|
SOURCE_MODE_S, /* data from a Mode S message, no full CRC */
|
||||||
SOURCE_MODE_S_CHECKED, /* data from a Mode S message with full CRC */
|
SOURCE_MODE_S_CHECKED, /* data from a Mode S message with full CRC */
|
||||||
|
@ -163,6 +164,8 @@ typedef enum {
|
||||||
ADDR_TISB_TRACKFILE, /* TIS-B, Mode A code + track file number */
|
ADDR_TISB_TRACKFILE, /* TIS-B, Mode A code + track file number */
|
||||||
ADDR_TISB_OTHER, /* TIS-B, other address format */
|
ADDR_TISB_OTHER, /* TIS-B, other address format */
|
||||||
|
|
||||||
|
ADDR_MODE_A, /* Mode A */
|
||||||
|
|
||||||
ADDR_UNKNOWN /* unknown address format */
|
ADDR_UNKNOWN /* unknown address format */
|
||||||
} addrtype_t;
|
} addrtype_t;
|
||||||
|
|
||||||
|
|
|
@ -78,6 +78,8 @@ int ModeAToModeC(unsigned int ModeA)
|
||||||
//
|
//
|
||||||
void decodeModeAMessage(struct modesMessage *mm, int ModeA)
|
void decodeModeAMessage(struct modesMessage *mm, int ModeA)
|
||||||
{
|
{
|
||||||
|
mm->source = SOURCE_MODE_AC;
|
||||||
|
mm->addrtype = ADDR_MODE_A;
|
||||||
mm->msgtype = 32; // Valid Mode S DF's are DF-00 to DF-31.
|
mm->msgtype = 32; // Valid Mode S DF's are DF-00 to DF-31.
|
||||||
// so use 32 to indicate Mode A/C
|
// so use 32 to indicate Mode A/C
|
||||||
|
|
||||||
|
|
2
mode_s.c
2
mode_s.c
|
@ -1381,6 +1381,8 @@ static const char *addrtype_to_string(addrtype_t type) {
|
||||||
return "ADS-R";
|
return "ADS-R";
|
||||||
case ADDR_ADSR_OTHER:
|
case ADDR_ADSR_OTHER:
|
||||||
return "ADS-R, other addressing scheme";
|
return "ADS-R, other addressing scheme";
|
||||||
|
case ADDR_MODE_A:
|
||||||
|
return "Mode A";
|
||||||
default:
|
default:
|
||||||
return "unknown addressing scheme";
|
return "unknown addressing scheme";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue