bds.h File Reference

Implementation of Mode-S transponder Binary Data Source (BDS) register. More...

#include <stddef.h>
#include <stdbool.h>
#include "platform.h"
Include dependency graph for bds.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ast_bds_t
 Binary Data Source (BDS) More...
 
struct  ast_bds_10_t
 BDS 1,0 - Data Link Capability Report. More...
 
struct  ast_bds_20_t
 BDS 2,0 - Aircraft Identification. More...
 
struct  ast_bds_30_t
 BDS 3,0 - TCAS/ACAS Active Resolution Advisory. More...
 
struct  ast_bds_40_t
 BDS 4,0 - Selected Vertical Intention. More...
 
struct  ast_bds_50_t
 BDS 5,0 - Track and Turn Report. More...
 
struct  ast_bds_60_t
 BDS 6,0 - Heading and Speed Report. More...
 

Macros

#define AST_MAP_BDS_TYPE(msb, lsb)   BDS ## msb ## lsb = 0x ## msb ## lsb,
 Macro used to map BDS type. More...
 
#define AST_MAX_BDS   8
 Max number of BDS in one data item. More...
 
#define AST_BDS_SIZE   7
 BDS bytes. More...
 
#define AST_BDS_DETAIL_HTML_PREFERED_CHARS   20480
 Prefered number of chars of BDS detail description HTML snippet. More...
 

Enumerations

enum  ast_bds_type_t {
  BDS00 = 0x00, BDS10 = 0x10, BDS17 = 0x17, BDS20 = 0x20,
  BDS30 = 0x30, BDS40 = 0x40, BDS50 = 0x50, BDS60 = 0x60,
  BDSE1 = 0xE1
}
 Definition of BDS type. More...
 
enum  ast_bds_uelm_capability_t {
  AST_BDS_UELM_CAP_NO = 0, AST_BDS_UELM_CAP_1S = 1, AST_BDS_UELM_CAP_500MS = 2, AST_BDS_UELM_CAP_250MS = 3,
  AST_BDS_UELM_CAP_125MS = 4, AST_BDS_UELM_CAP_60MS = 5, AST_BDS_UELM_CAP_30MS = 6, AST_BDS_UELM_CAP_UNASSIGNED = 7
}
 Uplink ELM Average Throughput Capability. More...
 
enum  ast_bds_delm_capability_t {
  AST_BDS_DELM_CAP_NO = 0, AST_BDS_DELM_CAP_4SEG_1S = 1, AST_BDS_DELM_CAP_8SEG_1S = 2, AST_BDS_DELM_CAP_16SEG_1S = 3,
  AST_BDS_DELM_CAP_16SEG_500MS = 4, AST_BDS_DELM_CAP_16SEG_250MS = 5, AST_BDS_DELM_CAP_16SEG_125MS = 6, AST_BDS_DELM_CAP_UNASSIGNED = 7
}
 Downlink ELM Throughput Capability. More...
 
enum  ast_bds_threat_type_t { AST_BDS_THREAT_TYPE_UNKNOWN = 0, AST_BDS_THREAT_TYPE_MODES = 1, AST_BDS_THREAT_TYPE_MODEAC = 2 }
 Threat Type. More...
 
enum  ast_bds_target_altitude_source_t { AST_BDS_TARGET_ALTITUDE_SOURCE_UNKNOWN = 0, AST_BDS_TARGET_ALTITUDE_SOURCE_AIRCRAFT = 1, AST_BDS_TARGET_ALTITUDE_SOURCE_MCP_SELECTED = 2, AST_BDS_TARGET_ALTITUDE_SOURCE_FMS_SELECTED = 3 }
 Target Altitude Source. More...
 

Functions

const char * ast_bds_type_to_str (const ast_bds_type_t type)
 Convert from ast_bds_type_t to C string. More...
 
const char * ast_bds_type_to_str_simple (const ast_bds_type_t type)
 Convert from ast_bds_type_t to C string simple version. More...
 
ast_bds_t ast_bds_decode (const unsigned char *buffer, const size_t bufsize, const ast_bds_type_t type)
 Decode BDS from binary data. More...
 
const char * ast_bds_get_name (const ast_bds_type_t type)
 Function to get name of one BDS. More...
 
void ast_bds_get_detail_html (char *detail, const size_t detail_size, const ast_bds_t bds)
 Function to get a html snippet of detailed description of dataitem. More...
 
void ast_bds_get_detail_html_dummy (char *detail, const size_t detail_size, const ast_bds_t bds)
 Dummy get detail function. More...
 
ast_bds_10_t ast_bds_10_decode (const ast_bds_t bds)
 Decode function. More...
 
void ast_bds_10_get_detail_html (char *detail, const size_t detail_size, const ast_bds_t bds)
 Get detail function. More...
 
ast_bds_20_t ast_bds_20_decode (const ast_bds_t bds)
 Decode function. More...
 
void ast_bds_20_get_detail_html (char *detail, const size_t detail_size, const ast_bds_t bds)
 Get detail function. More...
 
ast_bds_30_t ast_bds_30_decode (const ast_bds_t bds)
 Decode function. More...
 
void ast_bds_30_get_detail_html (char *detail, const size_t detail_size, const ast_bds_t bds)
 Get detail function. More...
 
ast_bds_40_t ast_bds_40_decode (const ast_bds_t bds)
 Decode function. More...
 
void ast_bds_40_get_detail_html (char *detail, const size_t detail_size, const ast_bds_t bds)
 Get detail function. More...
 
ast_bds_50_t ast_bds_50_decode (const ast_bds_t bds)
 Decode function. More...
 
void ast_bds_50_get_detail_html (char *detail, const size_t detail_size, const ast_bds_t bds)
 Get detail function. More...
 
ast_bds_60_t ast_bds_60_decode (const ast_bds_t bds)
 Decode function. More...
 
void ast_bds_60_get_detail_html (char *detail, const size_t detail_size, const ast_bds_t bds)
 Get detail function. More...
 

Detailed Description

Implementation of Mode-S transponder Binary Data Source (BDS) register.

Note
The current implementation is based on RTCA DO-181D.