24 #ifndef LIBASTERIX_CAT048_H 25 #define LIBASTERIX_CAT048_H 48 #define ast_dataitem_048_010_get_size ast_dataitem_data_source_identifier_get_size 49 #define ast_dataitem_048_010_decode ast_dataitem_data_source_identifier_decode 50 #define ast_dataitem_048_010_encode ast_dataitem_data_source_identifier_encode 51 #define ast_dataitem_048_010_get_summary ast_dataitem_data_source_identifier_get_summary 52 #define ast_dataitem_048_010_get_detail_html ast_dataitem_data_source_identifier_get_detail_html 62 typedef enum _ast_radar_target_type_t
75 typedef enum _ast_radar_target_friend_t
85 typedef struct _ast_dataitem_048_020_t
101 #define ast_dataitem_048_020_get_size ast_dataitem_get_size_var_2_byte 123 #define AST_MAX_ERROR_CONDITION 23 126 typedef struct _ast_dataitem_048_030_t
135 #define ast_dataitem_048_030_get_size ast_dataitem_get_size_var_23_byte 154 typedef struct _ast_dataitem_048_040_t
167 #define ast_dataitem_048_040_get_size ast_dataitem_get_size_fixed_4_byte 189 typedef struct _ast_dataitem_048_042_t
199 #define ast_dataitem_048_042_get_size ast_dataitem_get_size_fixed_4_byte 219 #define ast_dataitem_048_070_get_size ast_dataitem_mode_3a_code_get_size 220 #define ast_dataitem_048_070_decode ast_dataitem_mode_3a_code_decode 221 #define ast_dataitem_048_070_encode ast_dataitem_mode_3a_code_encode 222 #define ast_dataitem_048_070_get_summary ast_dataitem_mode_3a_code_get_summary 223 #define ast_dataitem_048_070_get_detail_html ast_dataitem_mode_3a_code_get_detail_html 234 #define ast_dataitem_048_080_get_size ast_dataitem_mode_3a_confidence_get_size 235 #define ast_dataitem_048_080_decode ast_dataitem_mode_3a_confidence_decode 236 #define ast_dataitem_048_080_get_summary ast_dataitem_mode_3a_confidence_get_summary 237 #define ast_dataitem_048_080_get_detail_html ast_dataitem_mode_3a_confidence_get_detail_html 250 #define ast_dataitem_048_090_get_size ast_dataitem_mode_c_code_get_size 253 #define ast_dataitem_048_090_decode ast_dataitem_mode_c_code_decode 256 #define ast_dataitem_048_090_encode ast_dataitem_mode_c_code_encode 259 #define ast_dataitem_048_090_get_summary ast_dataitem_mode_c_code_get_summary 262 #define ast_dataitem_048_090_get_detail_html ast_dataitem_mode_c_code_get_detail_html 273 #define ast_dataitem_048_100_get_size ast_dataitem_mode_c_confidence_get_size 274 #define ast_dataitem_048_100_decode ast_dataitem_mode_c_confidence_decode 275 #define ast_dataitem_048_100_get_summary ast_dataitem_mode_c_confidence_get_summary 276 #define ast_dataitem_048_100_get_detail_html ast_dataitem_mode_c_confidence_get_detail_html 286 typedef struct _ast_dataitem_048_110_t
295 #define ast_dataitem_048_110_get_size ast_dataitem_get_size_fixed_2_byte 322 #define ast_dataitem_048_120_get_summary ast_dataitem_subfields_get_summary 325 #define ast_dataitem_048_120_get_detail_html ast_dataitem_subfields_get_detail_html 350 typedef struct _ast_dataitem_048_130_t
380 #define ast_dataitem_048_130_get_summary ast_dataitem_subfields_get_summary 383 #define ast_dataitem_048_130_get_detail_html ast_dataitem_subfields_get_detail_html 409 #define ast_dataitem_048_140_get_size ast_dataitem_time_of_day_get_size 410 #define ast_dataitem_048_140_decode ast_dataitem_time_of_day_decode 411 #define ast_dataitem_048_140_encode ast_dataitem_time_of_day_encode 412 #define ast_dataitem_048_140_get_summary ast_dataitem_time_of_day_get_summary 413 #define ast_dataitem_048_140_get_detail_html ast_dataitem_time_of_day_get_detail_html 424 #define ast_dataitem_048_161_get_size ast_dataitem_track_number_get_size 425 #define ast_dataitem_048_161_decode ast_dataitem_track_number_decode 428 #define ast_dataitem_048_161_encode ast_dataitem_track_number_encode 430 #define ast_dataitem_048_161_get_summary ast_dataitem_track_number_get_summary 431 #define ast_dataitem_048_161_get_detail_html ast_dataitem_track_number_get_detail_html 441 typedef enum _ast_radar_track_type_t
449 typedef enum _ast_radar_track_v_manoeuvre_t
458 typedef struct _ast_dataitem_048_170
470 #define ast_dataitem_048_170_get_size ast_dataitem_get_size_var_2_byte 493 #define ast_dataitem_048_200_get_size ast_dataitem_velocity_polar_get_size 496 #define ast_dataitem_048_200_decode ast_dataitem_velocity_polar_decode 499 #define ast_dataitem_048_200_encode ast_dataitem_velocity_polar_encode 502 #define ast_dataitem_048_200_get_summary ast_dataitem_velocity_polar_get_summary 505 #define ast_dataitem_048_200_get_detail_html ast_dataitem_velocity_polar_get_detail_html 516 #define ast_dataitem_048_220_get_size ast_dataitem_target_address_get_size 517 #define ast_dataitem_048_220_decode ast_dataitem_target_address_decode 518 #define ast_dataitem_048_220_encode ast_dataitem_target_address_encode 519 #define ast_dataitem_048_220_get_summary ast_dataitem_target_address_get_summary 520 #define ast_dataitem_048_220_get_detail_html ast_dataitem_target_address_get_detail_html 530 typedef enum _ast_radar_transponder_comm_t
540 typedef enum _ast_radar_flight_status_t
552 typedef struct _ast_dataitem_048_230_t
566 #define ast_dataitem_048_230_get_size ast_dataitem_get_size_fixed_2_byte 586 #define ast_dataitem_048_240_get_size ast_dataitem_aircraft_id_get_size 587 #define ast_dataitem_048_240_decode ast_dataitem_aircraft_id_decode 588 #define ast_dataitem_048_240_encode ast_dataitem_aircraft_id_encode 589 #define ast_dataitem_048_240_get_summary ast_dataitem_aircraft_id_get_summary 590 #define ast_dataitem_048_240_get_detail_html ast_dataitem_aircraft_id_get_detail_html 601 #define ast_dataitem_048_250_get_size ast_dataitem_modes_mb_get_size 602 #define ast_dataitem_048_250_decode ast_dataitem_modes_mb_decode 603 #define ast_dataitem_048_250_get_summary ast_dataitem_modes_mb_get_summary 604 #define ast_dataitem_048_250_get_detail_html ast_dataitem_modes_mb_get_detail_html 614 typedef struct _ast_dataitem_048_260_t
623 #define ast_dataitem_048_260_get_size ast_dataitem_get_size_fixed_7_byte 643 #define ast_dataitem_048_SPF_get_size ast_dataitem_special_purpose_field_get_size 650 #define ast_dataitem_048_SPF_get_summary ast_dataitem_special_purpose_field_get_summary 653 #define ast_dataitem_048_SPF_get_detail_html ast_dataitem_special_purpose_field_get_detail_html 681 #define ast_datarecord_048_get_coordinate 0 693 #define ast_datarecord_048_get_speed 0 700 typedef struct _ast_datarecord_048_t
742 #endif //LIBASTERIX_CAT048_H ast_dataitem_velocity_polar_t ast_dataitem_048_200_t
Data Item I048/200 - Calculated Track Track Velocity in Polar Co-ordinates.
Definition: cat048.h:490
ast_dataitem_048_020_t dataitem_048_020
Definition: cat048.h:706
Altitude.
Definition: type.h:111
Data Item I048/040 - Measured Position in Polar Co-ordinates.
Definition: cat048.h:155
int raw_rho
Raw format as defined in doc, resolution 1/256 nm.
Definition: cat048.h:159
ast_dataitem_mode_c_code_t ast_dataitem_048_090_t
Data Item I048/090 - Flight Level in Binary Representation.
Definition: cat048.h:247
bool spi
Definition: cat048.h:92
bool fixed_transponder
Definition: cat048.h:93
ast_callsign_t ast_datarecord_048_get_callsign(const ast_datarecord_t dr)
Get callsign function.
bool test
Definition: cat048.h:94
Extracted dataitem.
Definition: dataitem.h:433
Heading.
Definition: type.h:137
ast_dataitem_048_220_t dataitem_048_220
Definition: cat048.h:720
void ast_dataitem_048_020_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
const char * ast_subfield_048_120_get_name(const ast_subfield_type_t type)
Get name of subfield.
ast_subfield_type_t
Definition of subfield id in each dataitem.
Definition: subfield.h:52
void ast_dataitem_048_260_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
Implementation of Datarecord concept defined by ASTERIX.
ast_radar_target_friend_t target_friend
Definition: cat048.h:97
bool sam_existing
Definition: cat048.h:368
Data Source Identifier (aka SAC/SIC)
Definition: type.h:35
bool military_emergency
Definition: cat048.h:95
void ast_dataitem_048_260_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
void ast_dataitem_048_042_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
const char * ast_dataitem_048_get_name(const ast_dataitem_type_t type)
Get name function.
ast_dataitem_048_042_t dataitem_048_042
Definition: cat048.h:709
Data Item Itrack_number - Track Number.
Definition: cat_generic.h:727
bool valid
Definition: cat048.h:128
ast_dataitem_mode_3a_confidence_t ast_dataitem_048_080_t
Definition: cat048.h:233
void ast_dataitem_048_020_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
ast_dataitem_mode_c_confidence_t ast_dataitem_048_100_t
Definition: cat048.h:272
void ast_dataitem_048_110_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
double rho
Rho, in nm.
Definition: cat048.h:162
ast_dataitem_048_170_t ast_dataitem_048_170_decode(const ast_dataitem_t di)
Decode function.
Data Item - Data Source Identifier.
Definition: cat_generic.h:93
size_t ast_dataitem_048_130_get_size(const unsigned char *buffer, const size_t bufsize)
Get size of dataitem.
bool valid
Definition: cat048.h:617
ast_dataitem_048_140_t dataitem_048_140
Definition: cat048.h:716
ast_radar_track_v_manoeuvre_t v_manoeuvre
Definition: cat048.h:466
Data Item I048/020 - Target Report Descriptor.
Definition: cat048.h:85
bool valid
Definition: cat048.h:353
char bds_10_b_16
Definition: cat048.h:561
Data Item - Time of Day.
Definition: cat_generic.h:219
ast_dataitem_data_source_identifier_t ast_dataitem_048_010_t
Definition: cat048.h:47
bool valid
Definition: cat048.h:460
int chain
Definition: cat048.h:91
Binary Data Source (BDS)
Definition: bds.h:86
Data Item I048/130 - Radar Plot Characteristics.
Definition: cat048.h:351
bool valid
Definition: cat048.h:289
Data Item I048/042 - Calculated Position in Cartesian Co-ordinates.
Definition: cat048.h:190
void ast_dataitem_048_170_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
ast_dataitem_048_042_t ast_dataitem_048_042_decode(const ast_dataitem_t di)
Decode function.
Data Item - Mode-3/A Code Confidence Indicator.
Definition: cat_generic.h:524
ast_radar_track_type_t
Definition: cat048.h:441
ast_timeofday_t ast_datarecord_048_get_timeofday(const ast_datarecord_t dr)
Get time of day function.
Data Record I048 - Transmission of Monoradar Target Reports.
Definition: cat048.h:701
ast_dataitem_048_161_t dataitem_048_161
Definition: cat048.h:717
const char * ast_subfield_048_130_get_name(const ast_subfield_type_t type)
Get name of subfield.
This file includes the common used data items shares by different categories.
void ast_dataitem_048_170_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
ast_dataitem_048_130_t ast_dataitem_048_130_decode(const ast_dataitem_t di)
Decode function of dataitem.
ast_bds_t bds
Definition: cat048.h:619
Polar Coordinate.
Definition: type.h:129
ast_dataitem_mode_3a_code_t ast_dataitem_048_070_t
Definition: cat048.h:218
Data Item - Mode S MB Data.
Definition: cat_generic.h:965
unsigned int sam_amplitude
Definition: cat048.h:369
ast_dataitem_048_080_t dataitem_048_080
Definition: cat048.h:711
size_t ast_subfield_048_130_get_size(const unsigned char *buffer, const size_t bufsize, const ast_subfield_type_t type)
Get size of subfield.
bool alt_25ft_capability
Definition: cat048.h:559
ast_dataitem_048_070_t dataitem_048_070
Definition: cat048.h:710
char bds_10_b_37_40
Definition: cat048.h:562
ast_sacsic_t ast_datarecord_048_get_sacsic(const ast_datarecord_t dr)
Get SAC/SIC function.
void ast_subfield_048_120_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get summary of subfield.
Subfield struct.
Definition: subfield.h:292
Data Item - Mode-C Code.
Definition: cat_generic.h:562
ast_radar_target_type_t type
Definition: cat048.h:89
ast_radar_flight_status_t flight_status
Definition: cat048.h:557
void ast_dataitem_048_110_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
Data Item I048/110 - Height Measured by a 3D Radar.
Definition: cat048.h:287
ast_msgtype_t ast_datarecord_048_get_msgtype(const ast_datarecord_t dr)
Get message type function.
int raw_y
Raw format as defined in doc, resolution 1/128nm.
Definition: cat048.h:195
ast_datarecord_048_t ast_datarecord_048_disassemble(const ast_datarecord_t dr)
Disassemble function.
void ast_dataitem_048_040_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
ast_squawk_t ast_datarecord_048_get_squawk(const ast_datarecord_t dr)
Get Mode-3/A code function.
ast_radar_flight_status_t
Definition: cat048.h:540
const char * ast_subfield_048_130_get_id(const ast_subfield_type_t type)
Get id string of subfield.
ast_dataitem_048_250_t dataitem_048_250
Definition: cat048.h:723
ast_dataitem_048_110_t dataitem_048_110
Definition: cat048.h:714
size_t n_subfields
Definition: cat048.h:356
double theta
Theta, in degree.
Definition: cat048.h:163
size_t ast_subfield_048_120_get_size(const unsigned char *buffer, const size_t bufsize, const ast_subfield_type_t type)
Get size of subfield.
ast_dataitem_048_100_t dataitem_048_100
Definition: cat048.h:713
bool low_confidence
Definition: cat048.h:464
ast_radar_target_friend_t
Definition: cat048.h:75
void ast_dataitem_048_230_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
ast_dataitem_048_030_t dataitem_048_030
Definition: cat048.h:707
Squawk (aka Mode-3/A Code)
Definition: type.h:80
ast_heading_t ast_datarecord_048_get_heading(const ast_datarecord_t dr)
Get heading function.
bool srr_existing
SSR plot runlength, LSB=1deg.
Definition: cat048.h:364
Implementation of Dataitem concept defined by ASTERIX.
bool valid
Definition: cat048.h:703
ast_radar_track_v_manoeuvre_t
Definition: cat048.h:449
void ast_dataitem_048_030_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
Data Item I048/030 - Warning/Error Conditions.
Definition: cat048.h:126
Data Item I048/170 - Track Status.
Definition: cat048.h:458
Data Item - Target Address.
Definition: cat_generic.h:807
ast_radar_target_type_t
Definition: cat048.h:62
ast_dataitem_048_110_t ast_dataitem_048_110_decode(const ast_dataitem_t di)
Decode function.
ast_altitude_t ast_datarecord_048_get_flightlevel(const ast_datarecord_t dr)
Get flight level function.
bool valid
Definition: cat048.h:157
ast_dataitem_track_number_t ast_dataitem_048_161_t
Definition: cat048.h:423
unsigned int srl_raw_runlength
Definition: cat048.h:360
Data Item I048/260 - ACAS Resolution Advisory Report.
Definition: cat048.h:615
bool simulated
Definition: cat048.h:90
ast_radar_track_type_t type
Definition: cat048.h:463
Data Item - Calculated Track Track Velocity in Polar Co-ordinates.
Definition: cat_generic.h:765
Dataitem.
Definition: dataitem.h:422
ast_dataitem_aircraft_id_t ast_dataitem_048_240_t
Definition: cat048.h:585
bool aircraft_id_capability
Definition: cat048.h:560
void ast_subfield_048_130_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get summary of subfield.
const char * ast_subfield_048_120_get_id(const ast_subfield_type_t type)
Get id string of subfield.
Data Item - Mode-3/A Code in Octal Representation.
Definition: cat_generic.h:478
Data Item I048/230 - Communications / ACAS Capability and Flight Status.
Definition: cat048.h:552
Data Item - Mode-C Code and Code Confidence Indicator.
Definition: cat_generic.h:605
unsigned int srr_num_replies
Definition: cat048.h:365
ast_datarecord_t ast_datarecord_048_assemble(unsigned char *const buffer, const size_t bufsize, const ast_datarecord_048_t dr, const ast_uap_t uap)
Assemble function.
ast_icaoaddr_t ast_datarecord_048_get_icaoaddr(const ast_datarecord_t dr)
Get ICAO 24-bit address function.
double srl_runlength
Raw SSR plot runlength as defined in doc, LSB=360/2^13~=0.044deg.
Definition: cat048.h:361
Callsign.
Definition: type.h:89
ast_dataitem_type_t
Definition of data item id in each category.
Definition: dataitem.h:67
ast_dataitem_048_260_t dataitem_048_260
Definition: cat048.h:724
ast_dataitem_048_170_t dataitem_048_170
Definition: cat048.h:718
void ast_subfield_048_120_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get detail HTML snippet of subfield.
bool valid
Definition: cat048.h:192
bool tentative
Definition: cat048.h:462
ast_dataitem_048_020_t ast_dataitem_048_020_decode(const ast_dataitem_t di)
Decode function.
bool valid
Definition: cat048.h:554
void ast_dataitem_048_230_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
void ast_dataitem_048_042_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
int number
Definition: cat048.h:130
bool modes_capability
Definition: cat048.h:558
ast_polar_coordinate_t ast_datarecord_048_get_polarcoord(const ast_datarecord_t dr)
Get polar coordinate function.
ast_tracknum_t ast_datarecord_048_get_tracknum(const ast_datarecord_t dr)
Get track number function.
#define AST_MAX_SUBFIELDS
Definition: subfield.h:362
ast_radar_transponder_comm_t
Definition: cat048.h:530
Time of day.
Definition: type.h:43
ast_dataitem_048_240_t dataitem_048_240
Definition: cat048.h:722
ast_dataitem_modes_mb_t ast_dataitem_048_250_t
Definition: cat048.h:600
ast_dataitem_048_260_t ast_dataitem_048_260_decode(const ast_dataitem_t di)
Decode function.
ast_dataitem_048_200_t dataitem_048_200
Definition: cat048.h:719
Data Item - Target Identification.
Definition: cat_generic.h:846
bool h_manoeuvre
Definition: cat048.h:465
Datarecord.
Definition: datarecord.h:40
void ast_dataitem_048_040_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
int raw_theta
Raw format as defined in doc, resolution 360/2^16 degree.
Definition: cat048.h:160
#define AST_MAX_ERROR_CONDITION
Definition: cat048.h:123
bool srl_existing
Definition: cat048.h:359
void ast_dataitem_048_030_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
ast_dataitem_048_090_t dataitem_048_090
Definition: cat048.h:712
int height
3D height, unit 1 ft
Definition: cat048.h:291
bool military_identification
Definition: cat048.h:96
ast_dataitem_048_030_t ast_dataitem_048_030_decode(const ast_dataitem_t di)
Decode function.
ast_dataitem_time_of_day_t ast_dataitem_048_140_t
Definition: cat048.h:408
ast_dataitem_t ast_dataitem_048_020_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
void ast_subfield_048_130_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get detail HTML snippet of subfield.
int raw_x
Raw format as defined in doc, resolution 1/128nm.
Definition: cat048.h:194
ast_dataitem_048_040_t ast_dataitem_048_040_decode(const ast_dataitem_t di)
Decode function.
ast_dataitem_048_040_t dataitem_048_040
Definition: cat048.h:708
ast_dataitem_048_010_t dataitem_048_010
Definition: cat048.h:705
ast_dataitem_048_230_t dataitem_048_230
Definition: cat048.h:721
ast_dataitem_048_230_t ast_dataitem_048_230_decode(const ast_dataitem_t di)
Decode function.
ast_dataitem_048_130_t dataitem_048_130
Definition: cat048.h:715
ast_dataitem_t ast_dataitem_048_040_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
Implementation of Mode-S transponder Binary Data Source (BDS) register.
size_t ast_dataitem_048_120_get_size(const unsigned char *buffer, const size_t bufsize)
Get size of dataitem.
bool valid
Definition: cat048.h:87
Implementation of Subfield concept defined by ASTERIX.
ast_dataitem_target_address_t ast_dataitem_048_220_t
Definition: cat048.h:515
ICAO 24-bit Address.
Definition: type.h:96
ast_radar_transponder_comm_t comm_capability
Definition: cat048.h:556
Track Number.
Definition: type.h:73