cat048.h
Go to the documentation of this file.
1 /*
2  * libasterix
3  * Copyright [2020] SinoATC (http://www.sinoatc.com/).
4  * Copyright [2013-2020] Aerosys Corporation (http://www.aerosys.cn/).
5  * All Rights Reserved.
6  *
7  * NOTICE: All information contained herein is, and remains
8  * the property of SinoATC and its suppliers, if any.
9  * The intellectual and technical concepts contained herein
10  * are proprietary to Aerosys Corporation and its suppliers and may be
11  * covered by U.S. and Foreign Patents, patents in process,
12  * and are protected by trade secret or copyright law.
13  * Dissemination of this information or reproduction of this material
14  * is strictly forbidden unless prior written permission is obtained
15  * from SinoATC.
16  */
17 
25 #ifndef LIBASTERIX_CAT048_H
26 #define LIBASTERIX_CAT048_H
27 
28 #include "dataitem.h"
29 #include "datarecord.h"
30 #include "cat_generic.h"
31 #include "subfield.h"
32 #include "bds.h"
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
38 // Data Item
39 
42 
49 #define ast_dataitem_048_010_get_size ast_dataitem_data_source_identifier_get_size
50 #define ast_dataitem_048_010_decode ast_dataitem_data_source_identifier_decode
51 #define ast_dataitem_048_010_encode ast_dataitem_data_source_identifier_encode
52 #define ast_dataitem_048_010_get_summary ast_dataitem_data_source_identifier_get_summary
53 #define ast_dataitem_048_010_get_detail_html ast_dataitem_data_source_identifier_get_detail_html
54 
63 typedef enum _ast_radar_target_type_t
64 {
74 
75 
76 typedef enum _ast_radar_target_friend_t
77 {
83 
84 
86 typedef struct _ast_dataitem_048_020_t
87 {
88  bool valid;
89 
91  bool simulated;
92  int chain;
93  bool spi;
95  bool test;
100 
102 #define ast_dataitem_048_020_get_size ast_dataitem_get_size_var_2_byte
103 
106 
108 AST_API ast_dataitem_t ast_dataitem_048_020_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
109 
111 AST_API void ast_dataitem_048_020_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
112 
114 AST_API void ast_dataitem_048_020_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
115 
124 #define AST_MAX_ERROR_CONDITION 23
125 
127 typedef struct _ast_dataitem_048_030_t
128 {
129  bool valid;
130 
131  int number;
134 
136 #define ast_dataitem_048_030_get_size ast_dataitem_get_size_var_23_byte
137 
140 
142 AST_API void ast_dataitem_048_030_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
143 
145 AST_API void ast_dataitem_048_030_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
146 
155 typedef struct _ast_dataitem_048_040_t
157 {
158  bool valid;
159 
160  int raw_rho;
161  int raw_theta;
162 
163  double rho;
164  double theta;
166 
168 #define ast_dataitem_048_040_get_size ast_dataitem_get_size_fixed_4_byte
169 
172 
174 AST_API ast_dataitem_t ast_dataitem_048_040_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
175 
177 AST_API void ast_dataitem_048_040_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
178 
180 AST_API void ast_dataitem_048_040_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
181 
190 typedef struct _ast_dataitem_048_042_t
192 {
193  bool valid;
194 
195  int raw_x;
196  int raw_y;
198 
200 #define ast_dataitem_048_042_get_size ast_dataitem_get_size_fixed_4_byte
201 
204 
206 AST_API void ast_dataitem_048_042_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
207 
209 AST_API void ast_dataitem_048_042_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
210 
220 #define ast_dataitem_048_070_get_size ast_dataitem_mode_3a_code_get_size
221 #define ast_dataitem_048_070_decode ast_dataitem_mode_3a_code_decode
222 #define ast_dataitem_048_070_encode ast_dataitem_mode_3a_code_encode
223 #define ast_dataitem_048_070_get_summary ast_dataitem_mode_3a_code_get_summary
224 #define ast_dataitem_048_070_get_detail_html ast_dataitem_mode_3a_code_get_detail_html
225 
235 #define ast_dataitem_048_080_get_size ast_dataitem_mode_3a_confidence_get_size
236 #define ast_dataitem_048_080_decode ast_dataitem_mode_3a_confidence_decode
237 #define ast_dataitem_048_080_get_summary ast_dataitem_mode_3a_confidence_get_summary
238 #define ast_dataitem_048_080_get_detail_html ast_dataitem_mode_3a_confidence_get_detail_html
239 
249 
251 #define ast_dataitem_048_090_get_size ast_dataitem_mode_c_code_get_size
252 
254 #define ast_dataitem_048_090_decode ast_dataitem_mode_c_code_decode
255 
257 #define ast_dataitem_048_090_encode ast_dataitem_mode_c_code_encode
258 
260 #define ast_dataitem_048_090_get_summary ast_dataitem_mode_c_code_get_summary
261 
263 #define ast_dataitem_048_090_get_detail_html ast_dataitem_mode_c_code_get_detail_html
264 
274 #define ast_dataitem_048_100_get_size ast_dataitem_mode_c_confidence_get_size
275 #define ast_dataitem_048_100_decode ast_dataitem_mode_c_confidence_decode
276 #define ast_dataitem_048_100_get_summary ast_dataitem_mode_c_confidence_get_summary
277 #define ast_dataitem_048_100_get_detail_html ast_dataitem_mode_c_confidence_get_detail_html
278 
287 typedef struct _ast_dataitem_048_110_t
289 {
290  bool valid;
291 
292  int height;
294 
296 #define ast_dataitem_048_110_get_size ast_dataitem_get_size_fixed_2_byte
297 
300 
302 AST_API void ast_dataitem_048_110_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
303 
305 AST_API void ast_dataitem_048_110_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
306 
307 
316 size_t ast_dataitem_048_120_get_size(const unsigned char *buffer, const size_t bufsize);
318 
320 //ast_dataitem_048_120_t ast_dataitem_048_120_decode(const ast_dataitem_t di);
321 
323 #define ast_dataitem_048_120_get_summary ast_dataitem_subfields_get_summary
324 
326 #define ast_dataitem_048_120_get_detail_html ast_dataitem_subfields_get_detail_html
327 
329 AST_API size_t ast_subfield_048_120_get_size(const unsigned char* buffer, const size_t bufsize, const ast_subfield_type_t type);
330 
333 
336 
338 AST_API 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);
339 
341 AST_API 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);
342 
351 typedef struct _ast_dataitem_048_130_t
353 {
354  bool valid;
355 
357  size_t n_subfields;
358 
359  //subfield #1
361  unsigned int srl_raw_runlength;
362  double srl_runlength;
363 
364  //subfield #2
366  unsigned int srr_num_replies;
367 
368  //subfield #3
370  unsigned int sam_amplitude;
371 
373 
375 AST_API size_t ast_dataitem_048_130_get_size(const unsigned char *buffer, const size_t bufsize);
376 
379 
381 #define ast_dataitem_048_130_get_summary ast_dataitem_subfields_get_summary
382 
384 #define ast_dataitem_048_130_get_detail_html ast_dataitem_subfields_get_detail_html
385 
387 AST_API size_t ast_subfield_048_130_get_size(const unsigned char* buffer, const size_t bufsize, const ast_subfield_type_t type);
388 
391 
394 
396 AST_API 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);
397 
399 AST_API 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);
400 
410 #define ast_dataitem_048_140_get_size ast_dataitem_time_of_day_get_size
411 #define ast_dataitem_048_140_decode ast_dataitem_time_of_day_decode
412 #define ast_dataitem_048_140_encode ast_dataitem_time_of_day_encode
413 #define ast_dataitem_048_140_get_summary ast_dataitem_time_of_day_get_summary
414 #define ast_dataitem_048_140_get_detail_html ast_dataitem_time_of_day_get_detail_html
415 
425 #define ast_dataitem_048_161_get_size ast_dataitem_track_number_get_size
426 #define ast_dataitem_048_161_decode ast_dataitem_track_number_decode
427 
429 #define ast_dataitem_048_161_encode ast_dataitem_track_number_encode
430 
431 #define ast_dataitem_048_161_get_summary ast_dataitem_track_number_get_summary
432 #define ast_dataitem_048_161_get_detail_html ast_dataitem_track_number_get_detail_html
433 
442 typedef enum _ast_radar_track_type_t
443 {
449 
450 typedef enum _ast_radar_track_v_manoeuvre_t
451 {
457 
459 typedef struct _ast_dataitem_048_170
460 {
461  bool valid;
462 
463  bool tentative;
469 
471 #define ast_dataitem_048_170_get_size ast_dataitem_get_size_var_2_byte
472 
475 
477 AST_API void ast_dataitem_048_170_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
478 
480 AST_API void ast_dataitem_048_170_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
481 
492 
494 #define ast_dataitem_048_200_get_size ast_dataitem_velocity_polar_get_size
495 
497 #define ast_dataitem_048_200_decode ast_dataitem_velocity_polar_decode
498 
500 #define ast_dataitem_048_200_encode ast_dataitem_velocity_polar_encode
501 
503 #define ast_dataitem_048_200_get_summary ast_dataitem_velocity_polar_get_summary
504 
506 #define ast_dataitem_048_200_get_detail_html ast_dataitem_velocity_polar_get_detail_html
507 
517 #define ast_dataitem_048_220_get_size ast_dataitem_target_address_get_size
518 #define ast_dataitem_048_220_decode ast_dataitem_target_address_decode
519 #define ast_dataitem_048_220_encode ast_dataitem_target_address_encode
520 #define ast_dataitem_048_220_get_summary ast_dataitem_target_address_get_summary
521 #define ast_dataitem_048_220_get_detail_html ast_dataitem_target_address_get_detail_html
522 
531 typedef enum _ast_radar_transponder_comm_t
532 {
540 
541 typedef enum _ast_radar_flight_status_t
542 {
551 
553 typedef struct _ast_dataitem_048_230_t
554 {
555  bool valid;
556 
565 
567 #define ast_dataitem_048_230_get_size ast_dataitem_get_size_fixed_2_byte
568 
571 
573 AST_API void ast_dataitem_048_230_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
574 
576 AST_API void ast_dataitem_048_230_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
577 
587 #define ast_dataitem_048_240_get_size ast_dataitem_aircraft_id_get_size
588 #define ast_dataitem_048_240_decode ast_dataitem_aircraft_id_decode
589 #define ast_dataitem_048_240_encode ast_dataitem_aircraft_id_encode
590 #define ast_dataitem_048_240_get_summary ast_dataitem_aircraft_id_get_summary
591 #define ast_dataitem_048_240_get_detail_html ast_dataitem_aircraft_id_get_detail_html
592 
602 #define ast_dataitem_048_250_get_size ast_dataitem_modes_mb_get_size
603 #define ast_dataitem_048_250_decode ast_dataitem_modes_mb_decode
604 #define ast_dataitem_048_250_get_summary ast_dataitem_modes_mb_get_summary
605 #define ast_dataitem_048_250_get_detail_html ast_dataitem_modes_mb_get_detail_html
606 
615 typedef struct _ast_dataitem_048_260_t
617 {
618  bool valid;
619 
622 
624 #define ast_dataitem_048_260_get_size ast_dataitem_get_size_fixed_7_byte
625 
628 
630 AST_API void ast_dataitem_048_260_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
631 
633 AST_API void ast_dataitem_048_260_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
634 
644 #define ast_dataitem_048_SPF_get_size ast_dataitem_special_purpose_field_get_size
646 
648 //ast_dataitem_048_998_t ast_dataitem_048_998_decode(const ast_dataitem_t di);
649 
651 #define ast_dataitem_048_SPF_get_summary ast_dataitem_special_purpose_field_get_summary
652 
654 #define ast_dataitem_048_SPF_get_detail_html ast_dataitem_special_purpose_field_get_detail_html
655 
658 // Data Record
659 
662 
665 
668 
671 
674 
677 
680 
682 #define ast_datarecord_048_get_coordinate 0
683 
686 
689 
692 
694 #define ast_datarecord_048_get_speed 0
695 
701 typedef struct _ast_datarecord_048_t
703 {
704  bool valid;
705 
726 
728 
731 
733 AST_API 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);
734 
735 
739 #ifdef __cplusplus
740  }
741 #endif // extern "C"
742 
743 #endif //LIBASTERIX_CAT048_H
744 
745 // vim:set ft=c.doxygen sw=2 sts=2 fenc=utf8:
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:491
ast_dataitem_048_020_t dataitem_048_020
Definition: cat048.h:707
Altitude.
Definition: type.h:111
Data Item I048/040 - Measured Position in Polar Co-ordinates.
Definition: cat048.h:156
Definition: cat048.h:78
Definition: cat048.h:65
Definition: cat048.h:543
int raw_rho
Raw format as defined in doc, resolution 1/256 nm.
Definition: cat048.h:160
ast_dataitem_mode_c_code_t ast_dataitem_048_090_t
Data Item I048/090 - Flight Level in Binary Representation.
Definition: cat048.h:248
bool spi
Definition: cat048.h:93
bool fixed_transponder
Definition: cat048.h:94
ast_callsign_t ast_datarecord_048_get_callsign(const ast_datarecord_t dr)
Get callsign function.
bool test
Definition: cat048.h:95
Extracted dataitem.
Definition: dataitem.h:432
Heading.
Definition: type.h:137
Definition: cat048.h:547
ast_dataitem_048_220_t dataitem_048_220
Definition: cat048.h:721
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.
Definition: cat048.h:66
ast_subfield_type_t
Definition of subfield id in each dataitem.
Definition: subfield.h:53
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:98
bool sam_existing
Definition: cat048.h:369
Data Source Identifier (aka SAC/SIC)
Definition: type.h:35
bool military_emergency
Definition: cat048.h:96
void ast_dataitem_048_260_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
Definition: uap.h:37
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.
Definition: cat048.h:445
ast_dataitem_048_042_t dataitem_048_042
Definition: cat048.h:710
Data Item Itrack_number - Track Number.
Definition: cat_generic.h:719
bool valid
Definition: cat048.h:129
ast_dataitem_mode_3a_confidence_t ast_dataitem_048_080_t
Definition: cat048.h:234
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:273
Definition: cat048.h:447
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:163
#define AST_API
Definition: platform.h:63
Definition: cat048.h:452
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:94
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:618
ast_dataitem_048_140_t dataitem_048_140
Definition: cat048.h:717
ast_radar_track_v_manoeuvre_t v_manoeuvre
Definition: cat048.h:467
Data Item I048/020 - Target Report Descriptor.
Definition: cat048.h:86
Definition: cat048.h:548
bool valid
Definition: cat048.h:354
char bds_10_b_16
Definition: cat048.h:562
Data Item - Time of Day.
Definition: cat_generic.h:217
ast_dataitem_data_source_identifier_t ast_dataitem_048_010_t
Definition: cat048.h:48
bool valid
Definition: cat048.h:461
Definition: cat048.h:453
int chain
Definition: cat048.h:92
Binary Data Source (BDS)
Definition: bds.h:86
Data Item I048/130 - Radar Plot Characteristics.
Definition: cat048.h:352
bool valid
Definition: cat048.h:290
Data Item I048/042 - Calculated Position in Cartesian Co-ordinates.
Definition: cat048.h:191
void ast_dataitem_048_170_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
Definition: cat048.h:68
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:521
ast_radar_track_type_t
Definition: cat048.h:442
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:702
ast_dataitem_048_161_t dataitem_048_161
Definition: cat048.h:718
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:620
Polar Coordinate.
Definition: type.h:129
ast_dataitem_mode_3a_code_t ast_dataitem_048_070_t
Definition: cat048.h:219
Data Item - Mode S MB Data.
Definition: cat_generic.h:957
unsigned int sam_amplitude
Definition: cat048.h:370
Definition: type.h:66
ast_dataitem_048_080_t dataitem_048_080
Definition: cat048.h:712
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:560
ast_dataitem_048_070_t dataitem_048_070
Definition: cat048.h:711
char bds_10_b_37_40
Definition: cat048.h:563
ast_sacsic_t ast_datarecord_048_get_sacsic(const ast_datarecord_t dr)
Get SAC/SIC function.
Definition: cat048.h:444
Definition: cat048.h:546
Definition: cat048.h:535
Definition: cat048.h:538
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:293
Data Item - Mode-C Code.
Definition: cat_generic.h:559
ast_radar_target_type_t type
Definition: cat048.h:90
ast_radar_flight_status_t flight_status
Definition: cat048.h:558
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:288
ast_msgtype_t ast_datarecord_048_get_msgtype(const ast_datarecord_t dr)
Get message type function.
Definition: cat048.h:534
Definition: cat048.h:79
int raw_y
Raw format as defined in doc, resolution 1/128nm.
Definition: cat048.h:196
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:541
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:724
ast_dataitem_048_110_t dataitem_048_110
Definition: cat048.h:715
size_t n_subfields
Definition: cat048.h:357
double theta
Theta, in degree.
Definition: cat048.h:164
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:714
bool low_confidence
Definition: cat048.h:465
ast_radar_target_friend_t
Definition: cat048.h:76
Definition: cat048.h:454
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:708
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:365
Implementation of Dataitem concept defined by ASTERIX.
Definition: cat048.h:533
bool valid
Definition: cat048.h:704
ast_radar_track_v_manoeuvre_t
Definition: cat048.h:450
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:127
Data Item I048/170 - Track Status.
Definition: cat048.h:459
Data Item - Target Address.
Definition: cat_generic.h:799
ast_radar_target_type_t
Definition: cat048.h:63
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:158
ast_dataitem_track_number_t ast_dataitem_048_161_t
Definition: cat048.h:424
unsigned int srl_raw_runlength
Definition: cat048.h:361
Data Item I048/260 - ACAS Resolution Advisory Report.
Definition: cat048.h:616
bool simulated
Definition: cat048.h:91
ast_radar_track_type_t type
Definition: cat048.h:464
Data Item - Calculated Track Track Velocity in Polar Co-ordinates.
Definition: cat_generic.h:757
Dataitem.
Definition: dataitem.h:421
ast_dataitem_aircraft_id_t ast_dataitem_048_240_t
Definition: cat048.h:586
Definition: cat048.h:80
bool aircraft_id_capability
Definition: cat048.h:561
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:475
Data Item I048/230 - Communications / ACAS Capability and Flight Status.
Definition: cat048.h:553
Data Item - Mode-C Code and Code Confidence Indicator.
Definition: cat_generic.h:602
Definition: cat048.h:67
unsigned int srr_num_replies
Definition: cat048.h:366
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:362
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:725
ast_dataitem_048_170_t dataitem_048_170
Definition: cat048.h:719
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:193
bool tentative
Definition: cat048.h:463
ast_dataitem_048_020_t ast_dataitem_048_020_decode(const ast_dataitem_t di)
Decode function.
bool valid
Definition: cat048.h:555
void ast_dataitem_048_230_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
Definition: cat048.h:455
void ast_dataitem_048_042_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
Definition: cat048.h:537
int number
Definition: cat048.h:131
bool modes_capability
Definition: cat048.h:559
ast_polar_coordinate_t ast_datarecord_048_get_polarcoord(const ast_datarecord_t dr)
Get polar coordinate function.
Definition: cat048.h:81
ast_tracknum_t ast_datarecord_048_get_tracknum(const ast_datarecord_t dr)
Get track number function.
#define AST_MAX_SUBFIELDS
Definition: subfield.h:363
ast_radar_transponder_comm_t
Definition: cat048.h:531
Time of day.
Definition: type.h:43
ast_dataitem_048_240_t dataitem_048_240
Definition: cat048.h:723
ast_dataitem_modes_mb_t ast_dataitem_048_250_t
Definition: cat048.h:601
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:720
Data Item - Target Identification.
Definition: cat_generic.h:838
bool h_manoeuvre
Definition: cat048.h:466
Datarecord.
Definition: datarecord.h:41
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:161
#define AST_MAX_ERROR_CONDITION
Definition: cat048.h:124
Definition: cat048.h:549
Definition: cat048.h:545
bool srl_existing
Definition: cat048.h:360
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:713
int height
3D height, unit 1 ft
Definition: cat048.h:292
bool military_identification
Definition: cat048.h:97
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:409
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:195
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:709
ast_dataitem_048_010_t dataitem_048_010
Definition: cat048.h:706
ast_dataitem_048_230_t dataitem_048_230
Definition: cat048.h:722
Definition: cat048.h:446
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:716
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:88
Implementation of Subfield concept defined by ASTERIX.
ast_dataitem_target_address_t ast_dataitem_048_220_t
Definition: cat048.h:516
ICAO 24-bit Address.
Definition: type.h:96
ast_radar_transponder_comm_t comm_capability
Definition: cat048.h:557
Track Number.
Definition: type.h:73
Definition: cat048.h:544